Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/gallery.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Paroz <github@oparoz.com>2015-08-19 02:52:12 +0300
committerOlivier Paroz <github@oparoz.com>2015-08-19 02:52:13 +0300
commit7d393650e7e231a68038ccb9fd069cd95746806b (patch)
tree1ff0b8eab9bc03c84d995269b00afd40d928e0d8
parent8a002c4633c896c531d60d4042fe5276172bb157 (diff)
Add download API
-rw-r--r--appinfo/application.php6
-rw-r--r--appinfo/routes.php25
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_3476ab6d8d8e2b493e4ec95785943936.datbin9933 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_350a0c08c3377ad19201dfc0fc5f6473.datbin52881 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_411c466861b73ebb2bf2ff54a681f720.datbin4123 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-23/phpdoc-cache-file_e1b15e88afed87f9c3281c683fd9bab8.datbin34912 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-25/phpdoc-cache-file_dbd57f179135ac897439ce577e0be467.datbin6214 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-26/phpdoc-cache-file_81da563b51cdf6c43913f8bef9e41574.datbin7017 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-28/phpdoc-cache-file_29b5cf85aa7a8f1d08963402e357b689.datbin16929 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-2a/phpdoc-cache-file_deb4c73674117d49dc3f2fca9f90d705.datbin10818 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-2e/phpdoc-cache-settings.datbin113 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-38/phpdoc-cache-file_aa6ed79081b43f7d3dc149671f91df8b.datbin6172 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-42/phpdoc-cache-file_66d4db56b10593258e31420a45a55d8e.datbin8407 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-57/phpdoc-cache-file_f968717855614b873cfbbceec04d8d04.datbin4117 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-61/phpdoc-cache-file_36b67f3177c9ae70b4e213abef535301.datbin21014 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-66/phpdoc-cache-file_0d8adb0a49878ce1ad5e7c53a29fbfde.datbin41388 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-78/phpdoc-cache-file_9408c95818cf78fa445b98c159658df7.datbin21690 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_607547fe031895fa95d40a956c03eacb.datbin45342 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_ebbf4d20f82d02db9b814976aef54c29.datbin44943 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-a3/phpdoc-cache-file_9ca667cac53731526d8c0dd25c5d4ac0.datbin75599 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-bc/phpdoc-cache-file_e5f25840eb9c9f1744f456616df37f37.datbin8621 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-c3/phpdoc-cache-file_e74e4d5e9a43ec7403ccec477e89a6ea.datbin50337 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-c4/phpdoc-cache-file_6254afe5f6cfbefa094d9a3c8b7e107a.datbin21704 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-c9/phpdoc-cache-file_f5475468b7c6ebdf05639060d22b13de.datbin27455 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-d1/phpdoc-cache-file_ed37aeacf1669d569f7875502ad0260b.datbin7552 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_4341567e46f57d3a6bc76a6c90bc9cc9.datbin7562 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_baa89daddc45c3a4175f5beb2f61d5c6.datbin73372 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-d9/phpdoc-cache-file_079bbe455bfa9aeaf363ae1bc6415ba0.datbin5138 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-db/phpdoc-cache-file_5923a4a6f5a28fe61e0e5dc2d55cae1d.datbin58545 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-dc/phpdoc-cache-file_96f8e0097b917a6cc65c87561bd6889e.datbin8764 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-e8/phpdoc-cache-file_5bfbbad83d051b2294e9d8996e5f24bd.datbin66397 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-ea/phpdoc-cache-file_98f41e4acfeac80f65d6397314947e94.datbin18605 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-ef/phpdoc-cache-file_5710016683fd2fd8ba4b04f1e15033c5.datbin11231 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-f1/phpdoc-cache-file_0e033fd8797499a87a6bf2ffccef5c3c.datbin4926 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-f3/phpdoc-cache-file_30f80a45a0568ee5353b7f108c62ba70.datbin4115 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-f8/phpdoc-cache-file_96293627148fd7f969d728e65a03b077.datbin39483 -> 0 bytes
-rw-r--r--build/documentation/api/_structure/phpdoc-cache-fe/phpdoc-cache-file_a8d3ad1f02ffca9503fa85aff518fc1d.datbin46505 -> 0 bytes
-rw-r--r--build/documentation/api/classes/OCA.Gallery.AppInfo.Application.html229
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.ConfigController.html431
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.FilesController.html567
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.JsonHttpError.html224
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.PageController.html736
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.PathManipulation.html230
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.PreviewController.html877
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.PublicConfigController.html432
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.PublicFilesController.html568
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Controller.PublicPreviewController.html878
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Environment.Environment.html1140
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Environment.EnvironmentException.html229
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Environment.NotFoundEnvException.html229
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Http.ImageResponse.html295
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Middleware.CheckException.html233
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Middleware.CheckMiddleware.html650
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html1296
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html796
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Preview.Preview.html904
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.Base64Encode.html224
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.ConfigParser.html545
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.ConfigService.html1284
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.DownloadService.html521
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.FilesService.html879
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.ForbiddenServiceException.html229
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.NotFoundServiceException.html229
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.PreviewService.html957
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.SearchFolderService.html1074
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.SearchMediaService.html1284
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.Service.html449
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.ServiceException.html229
-rw-r--r--build/documentation/api/classes/OCA.Gallery.Service.ThumbnailService.html286
-rw-r--r--build/documentation/api/css/bootstrap-responsive.css567
-rw-r--r--build/documentation/api/css/bootstrap-responsive.min.css3
-rw-r--r--build/documentation/api/css/bootstrap.css3370
-rw-r--r--build/documentation/api/css/bootstrap.min.css611
-rw-r--r--build/documentation/api/css/jquery.iviewer.css91
-rw-r--r--build/documentation/api/css/prettify.css1
-rw-r--r--build/documentation/api/css/template.css530
-rw-r--r--build/documentation/api/deprecated.html128
-rw-r--r--build/documentation/api/errors.html1187
-rw-r--r--build/documentation/api/graph_class.html129
-rw-r--r--build/documentation/api/img/apple-touch-icon-114x114.pngbin28338 -> 0 bytes
-rw-r--r--build/documentation/api/img/apple-touch-icon-72x72.pngbin12751 -> 0 bytes
-rw-r--r--build/documentation/api/img/apple-touch-icon.pngbin8358 -> 0 bytes
-rw-r--r--build/documentation/api/img/favicon.icobin1150 -> 0 bytes
-rw-r--r--build/documentation/api/img/glyphicons-halflings-white.pngbin4352 -> 0 bytes
-rw-r--r--build/documentation/api/img/glyphicons-halflings.pngbin4352 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/arrow_down.pngbin606 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/arrow_right.pngbin628 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/class.pngbin395 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/constant.pngbin496 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/favicon.icobin1150 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/file-php.pngbin4017 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/file.gifbin110 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/folder.gifbin106 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/function.pngbin338 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/icon-folder-open-big.pngbin232 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/icon-th-big.pngbin106 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/icon_template.svg93
-rw-r--r--build/documentation/api/img/icons/interface.pngbin281 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/method.pngbin377 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/ok.pngbin3685 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/property.pngbin360 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/search.gifbin152 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/variable.pngbin829 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/view_source.pngbin603 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/visibility_private.pngbin3433 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/visibility_protected.pngbin764 -> 0 bytes
-rw-r--r--build/documentation/api/img/icons/visibility_public.pngbin3451 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/grab.curbin1150 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/hand.curbin1150 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.rotate_left.pngbin1493 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.rotate_right.pngbin1482 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_fit.pngbin1252 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_fit2.gifbin95 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_in.pngbin1420 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_in2.gifbin90 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_out.pngbin1416 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_out2.gifbin69 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_zero.pngbin1091 -> 0 bytes
-rw-r--r--build/documentation/api/img/iviewer/iviewer.zoom_zero2.gifbin98 -> 0 bytes
-rw-r--r--build/documentation/api/img/loader.gifbin4726 -> 0 bytes
-rw-r--r--build/documentation/api/index.html164
-rw-r--r--build/documentation/api/js/SVGPan.js232
-rw-r--r--build/documentation/api/js/bootstrap.js1722
-rw-r--r--build/documentation/api/js/bootstrap.min.js1
-rw-r--r--build/documentation/api/js/jqplot/MIT-LICENSE.txt21
-rw-r--r--build/documentation/api/js/jqplot/README.txt77
-rw-r--r--build/documentation/api/js/jqplot/changes.txt458
-rw-r--r--build/documentation/api/js/jqplot/copyright.txt56
-rw-r--r--build/documentation/api/js/jqplot/excanvas.min.js3
-rw-r--r--build/documentation/api/js/jqplot/gpl-2.0.txt280
-rw-r--r--build/documentation/api/js/jqplot/jquery.jqplot.min.css1
-rw-r--r--build/documentation/api/js/jqplot/jquery.jqplot.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.barRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.blockRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.bubbleRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.canvasOverlay.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.ciParser.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.cursor.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.donutRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.dragable.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.funnelRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.highlighter.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.json2.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.logAxisRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.mekkoRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.mobile.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.ohlcRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.pieRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.pointLabels.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.pyramidRenderer.min.js3
-rw-r--r--build/documentation/api/js/jqplot/plugins/jqplot.trendline.min.js3
-rw-r--r--build/documentation/api/js/jquery-1.4.2.min.js154
-rw-r--r--build/documentation/api/js/jquery-1.7.1.min.js9270
-rw-r--r--build/documentation/api/js/jquery-ui-1.8.2.custom.min.js1012
-rw-r--r--build/documentation/api/js/jquery.cookie.js104
-rw-r--r--build/documentation/api/js/jquery.iviewer.js1045
-rw-r--r--build/documentation/api/js/jquery.iviewer.min.js42
-rw-r--r--build/documentation/api/js/jquery.mousewheel.min.js13
-rw-r--r--build/documentation/api/js/jquery.panzoom.js467
-rw-r--r--build/documentation/api/js/jquery.splitter.js228
-rw-r--r--build/documentation/api/js/jquery.tools.min.js115
-rw-r--r--build/documentation/api/js/jquery.treeview.js256
-rw-r--r--build/documentation/api/js/jquery.xml2json.js193
-rw-r--r--build/documentation/api/js/menu.js31
-rw-r--r--build/documentation/api/js/prettify/lang-apollo.js2
-rw-r--r--build/documentation/api/js/prettify/lang-clj.js18
-rw-r--r--build/documentation/api/js/prettify/lang-css.js2
-rw-r--r--build/documentation/api/js/prettify/lang-go.js1
-rw-r--r--build/documentation/api/js/prettify/lang-hs.js2
-rw-r--r--build/documentation/api/js/prettify/lang-lisp.js3
-rw-r--r--build/documentation/api/js/prettify/lang-lua.js2
-rw-r--r--build/documentation/api/js/prettify/lang-ml.js2
-rw-r--r--build/documentation/api/js/prettify/lang-n.js4
-rw-r--r--build/documentation/api/js/prettify/lang-proto.js1
-rw-r--r--build/documentation/api/js/prettify/lang-scala.js2
-rw-r--r--build/documentation/api/js/prettify/lang-sql.js2
-rw-r--r--build/documentation/api/js/prettify/lang-tex.js1
-rw-r--r--build/documentation/api/js/prettify/lang-vb.js2
-rw-r--r--build/documentation/api/js/prettify/lang-vhdl.js3
-rw-r--r--build/documentation/api/js/prettify/lang-wiki.js2
-rw-r--r--build/documentation/api/js/prettify/lang-xq.js3
-rw-r--r--build/documentation/api/js/prettify/lang-yaml.js2
-rw-r--r--build/documentation/api/js/prettify/prettify.min.js28
-rw-r--r--build/documentation/api/js/sidebar.js45
-rw-r--r--build/documentation/api/js/template.js248
-rw-r--r--build/documentation/api/markers.html264
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.AppInfo.html177
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.Controller.html246
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.Environment.html193
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.Http.html177
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.Middleware.html203
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.Preview.html177
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.Service.html274
-rw-r--r--build/documentation/api/namespaces/OCA.Gallery.html697
-rw-r--r--build/documentation/api/namespaces/OCA.html709
-rw-r--r--build/documentation/api/namespaces/default.html721
-rw-r--r--build/documentation/api/packages/Default.html797
-rw-r--r--build/documentation/api/packages/OCA.Gallery.AppInfo.html176
-rw-r--r--build/documentation/api/packages/OCA.Gallery.Controller.html237
-rw-r--r--build/documentation/api/packages/OCA.Gallery.Environment.html176
-rw-r--r--build/documentation/api/packages/OCA.Gallery.Http.html176
-rw-r--r--build/documentation/api/packages/OCA.Gallery.Middleware.html192
-rw-r--r--build/documentation/api/packages/OCA.Gallery.Preview.html176
-rw-r--r--build/documentation/api/packages/OCA.Gallery.Service.html240
-rw-r--r--build/documentation/api/packages/OCA.Gallery.SharingCheckMiddleware.html176
-rw-r--r--build/documentation/api/packages/OCA.Gallery.html688
-rw-r--r--build/documentation/api/packages/OCA.html710
-rw-r--r--controller/files.php49
-rw-r--r--controller/filesapicontroller.php44
-rw-r--r--controller/filescontroller.php42
-rw-r--r--controller/filespubliccontroller.php14
-rw-r--r--controller/pagecontroller.php45
-rw-r--r--controller/preview.php54
-rw-r--r--controller/previewapicontroller.php20
-rw-r--r--controller/previewcontroller.php21
-rw-r--r--controller/previewpubliccontroller.php5
-rw-r--r--http/imageresponse.php6
-rw-r--r--js/gallery.js9
-rw-r--r--js/galleryfileaction.js7
-rw-r--r--tests/_support/ApiTester.php30
-rw-r--r--tests/_support/Helper/Api.php14
-rw-r--r--tests/_support/Helper/DataSetup.php10
-rw-r--r--tests/_support/Step/Api/TokenUser.php33
-rw-r--r--tests/_support/_generated/AcceptanceTesterActions.php17
-rw-r--r--tests/_support/_generated/ApiTesterActions.php33
-rw-r--r--tests/_support/_generated/IntegrationTesterActions.php17
-rw-r--r--tests/api/DownloadCest.php66
-rw-r--r--tests/api/DownloadWithTokenCest.php74
-rw-r--r--tests/api/GetPreviewCest.php13
-rw-r--r--tests/integration/GalleryIntegrationTest.php4
-rw-r--r--tests/integration/environment/EnvironmentTest.php2
-rw-r--r--tests/unit/controller/FilesApiControllerTest.php38
-rw-r--r--tests/unit/controller/FilesControllerTest.php202
-rw-r--r--tests/unit/controller/FilesPublicControllerTest.php37
245 files changed, 781 insertions, 49995 deletions
diff --git a/appinfo/application.php b/appinfo/application.php
index e28112d1..cb3c8bfe 100644
--- a/appinfo/application.php
+++ b/appinfo/application.php
@@ -121,9 +121,11 @@ class Application extends App {
return new FilesController(
$c->query('AppName'),
$c->query('Request'),
+ $c->query('OCP\IURLGenerator'),
$c->query('SearchFolderService'),
$c->query('ConfigService'),
$c->query('SearchMediaService'),
+ $c->query('DownloadService'),
$c->query('Logger')
);
}
@@ -133,9 +135,11 @@ class Application extends App {
return new FilesPublicController(
$c->query('AppName'),
$c->query('Request'),
+ $c->query('OCP\IURLGenerator'),
$c->query('SearchFolderService'),
$c->query('ConfigService'),
$c->query('SearchMediaService'),
+ $c->query('DownloadService'),
$c->query('Logger')
);
}
@@ -145,9 +149,11 @@ class Application extends App {
return new FilesApiController(
$c->query('AppName'),
$c->query('Request'),
+ $c->query('OCP\IURLGenerator'),
$c->query('SearchFolderService'),
$c->query('ConfigService'),
$c->query('SearchMediaService'),
+ $c->query('DownloadService'),
$c->query('Logger')
);
}
diff --git a/appinfo/routes.php b/appinfo/routes.php
index 4e00d5b3..b9506521 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -71,12 +71,19 @@ return [
'url' => '/config',
'verb' => 'GET'
],
- // All the images of which a preview can be generated
+ // The list of images of which previews can be generated
[
'name' => 'files#get_list',
- 'url' => '/files',
+ 'url' => '/files/list',
'verb' => 'GET'
],
+ // File download
+ [
+ 'name' => 'files#download',
+ 'url' => '/files/download/{fileId}',
+ 'verb' => 'GET',
+ 'defaults' => ['fileId' => null]
+ ],
// Batch creation of thumbnails
[
'name' => 'preview#get_thumbnails',
@@ -99,10 +106,16 @@ return [
],
[
'name' => 'files_public#get_lists',
- 'url' => '/files.public',
+ 'url' => '/files.public/list',
'verb' => 'GET'
],
[
+ 'name' => 'files_public#download',
+ 'url' => '/files.public/download/{fileId}',
+ 'verb' => 'GET',
+ 'defaults' => ['fileId' => null]
+ ],
+ [
'name' => 'public_preview#get_thumbnails',
'url' => '/thumbnails.public',
'verb' => 'GET'
@@ -116,9 +129,9 @@ return [
* API
*/
[
- 'name' => 'config_api#preflighted_cors', // Valid for all API end points
- 'url' => '/api/{path}',
- 'verb' => 'OPTIONS',
+ 'name' => 'config_api#preflighted_cors', // Valid for all API end points
+ 'url' => '/api/{path}',
+ 'verb' => 'OPTIONS',
'requirements' => ['path' => '.+']
],
[
diff --git a/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_3476ab6d8d8e2b493e4ec95785943936.dat b/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_3476ab6d8d8e2b493e4ec95785943936.dat
deleted file mode 100644
index 7369fb3c..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_3476ab6d8d8e2b493e4ec95785943936.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_350a0c08c3377ad19201dfc0fc5f6473.dat b/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_350a0c08c3377ad19201dfc0fc5f6473.dat
deleted file mode 100644
index f7c618e4..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_350a0c08c3377ad19201dfc0fc5f6473.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_411c466861b73ebb2bf2ff54a681f720.dat b/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_411c466861b73ebb2bf2ff54a681f720.dat
deleted file mode 100644
index 8e2e362c..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-13/phpdoc-cache-file_411c466861b73ebb2bf2ff54a681f720.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-23/phpdoc-cache-file_e1b15e88afed87f9c3281c683fd9bab8.dat b/build/documentation/api/_structure/phpdoc-cache-23/phpdoc-cache-file_e1b15e88afed87f9c3281c683fd9bab8.dat
deleted file mode 100644
index 720a78d1..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-23/phpdoc-cache-file_e1b15e88afed87f9c3281c683fd9bab8.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-25/phpdoc-cache-file_dbd57f179135ac897439ce577e0be467.dat b/build/documentation/api/_structure/phpdoc-cache-25/phpdoc-cache-file_dbd57f179135ac897439ce577e0be467.dat
deleted file mode 100644
index 92d089a7..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-25/phpdoc-cache-file_dbd57f179135ac897439ce577e0be467.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-26/phpdoc-cache-file_81da563b51cdf6c43913f8bef9e41574.dat b/build/documentation/api/_structure/phpdoc-cache-26/phpdoc-cache-file_81da563b51cdf6c43913f8bef9e41574.dat
deleted file mode 100644
index c4280455..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-26/phpdoc-cache-file_81da563b51cdf6c43913f8bef9e41574.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-28/phpdoc-cache-file_29b5cf85aa7a8f1d08963402e357b689.dat b/build/documentation/api/_structure/phpdoc-cache-28/phpdoc-cache-file_29b5cf85aa7a8f1d08963402e357b689.dat
deleted file mode 100644
index acb2bf9c..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-28/phpdoc-cache-file_29b5cf85aa7a8f1d08963402e357b689.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-2a/phpdoc-cache-file_deb4c73674117d49dc3f2fca9f90d705.dat b/build/documentation/api/_structure/phpdoc-cache-2a/phpdoc-cache-file_deb4c73674117d49dc3f2fca9f90d705.dat
deleted file mode 100644
index d69e1968..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-2a/phpdoc-cache-file_deb4c73674117d49dc3f2fca9f90d705.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-2e/phpdoc-cache-settings.dat b/build/documentation/api/_structure/phpdoc-cache-2e/phpdoc-cache-settings.dat
deleted file mode 100644
index 27a65842..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-2e/phpdoc-cache-settings.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-38/phpdoc-cache-file_aa6ed79081b43f7d3dc149671f91df8b.dat b/build/documentation/api/_structure/phpdoc-cache-38/phpdoc-cache-file_aa6ed79081b43f7d3dc149671f91df8b.dat
deleted file mode 100644
index ee4e6fbf..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-38/phpdoc-cache-file_aa6ed79081b43f7d3dc149671f91df8b.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-42/phpdoc-cache-file_66d4db56b10593258e31420a45a55d8e.dat b/build/documentation/api/_structure/phpdoc-cache-42/phpdoc-cache-file_66d4db56b10593258e31420a45a55d8e.dat
deleted file mode 100644
index 29f19ea1..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-42/phpdoc-cache-file_66d4db56b10593258e31420a45a55d8e.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-57/phpdoc-cache-file_f968717855614b873cfbbceec04d8d04.dat b/build/documentation/api/_structure/phpdoc-cache-57/phpdoc-cache-file_f968717855614b873cfbbceec04d8d04.dat
deleted file mode 100644
index eb0aefa3..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-57/phpdoc-cache-file_f968717855614b873cfbbceec04d8d04.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-61/phpdoc-cache-file_36b67f3177c9ae70b4e213abef535301.dat b/build/documentation/api/_structure/phpdoc-cache-61/phpdoc-cache-file_36b67f3177c9ae70b4e213abef535301.dat
deleted file mode 100644
index 713a09ab..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-61/phpdoc-cache-file_36b67f3177c9ae70b4e213abef535301.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-66/phpdoc-cache-file_0d8adb0a49878ce1ad5e7c53a29fbfde.dat b/build/documentation/api/_structure/phpdoc-cache-66/phpdoc-cache-file_0d8adb0a49878ce1ad5e7c53a29fbfde.dat
deleted file mode 100644
index d954497c..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-66/phpdoc-cache-file_0d8adb0a49878ce1ad5e7c53a29fbfde.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-78/phpdoc-cache-file_9408c95818cf78fa445b98c159658df7.dat b/build/documentation/api/_structure/phpdoc-cache-78/phpdoc-cache-file_9408c95818cf78fa445b98c159658df7.dat
deleted file mode 100644
index a8caa53e..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-78/phpdoc-cache-file_9408c95818cf78fa445b98c159658df7.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_607547fe031895fa95d40a956c03eacb.dat b/build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_607547fe031895fa95d40a956c03eacb.dat
deleted file mode 100644
index 73bc04a9..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_607547fe031895fa95d40a956c03eacb.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_ebbf4d20f82d02db9b814976aef54c29.dat b/build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_ebbf4d20f82d02db9b814976aef54c29.dat
deleted file mode 100644
index 07643e93..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-9e/phpdoc-cache-file_ebbf4d20f82d02db9b814976aef54c29.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-a3/phpdoc-cache-file_9ca667cac53731526d8c0dd25c5d4ac0.dat b/build/documentation/api/_structure/phpdoc-cache-a3/phpdoc-cache-file_9ca667cac53731526d8c0dd25c5d4ac0.dat
deleted file mode 100644
index 6bda90ac..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-a3/phpdoc-cache-file_9ca667cac53731526d8c0dd25c5d4ac0.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-bc/phpdoc-cache-file_e5f25840eb9c9f1744f456616df37f37.dat b/build/documentation/api/_structure/phpdoc-cache-bc/phpdoc-cache-file_e5f25840eb9c9f1744f456616df37f37.dat
deleted file mode 100644
index 5f0b8856..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-bc/phpdoc-cache-file_e5f25840eb9c9f1744f456616df37f37.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-c3/phpdoc-cache-file_e74e4d5e9a43ec7403ccec477e89a6ea.dat b/build/documentation/api/_structure/phpdoc-cache-c3/phpdoc-cache-file_e74e4d5e9a43ec7403ccec477e89a6ea.dat
deleted file mode 100644
index ed833fb3..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-c3/phpdoc-cache-file_e74e4d5e9a43ec7403ccec477e89a6ea.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-c4/phpdoc-cache-file_6254afe5f6cfbefa094d9a3c8b7e107a.dat b/build/documentation/api/_structure/phpdoc-cache-c4/phpdoc-cache-file_6254afe5f6cfbefa094d9a3c8b7e107a.dat
deleted file mode 100644
index 152a34ca..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-c4/phpdoc-cache-file_6254afe5f6cfbefa094d9a3c8b7e107a.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-c9/phpdoc-cache-file_f5475468b7c6ebdf05639060d22b13de.dat b/build/documentation/api/_structure/phpdoc-cache-c9/phpdoc-cache-file_f5475468b7c6ebdf05639060d22b13de.dat
deleted file mode 100644
index ab093600..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-c9/phpdoc-cache-file_f5475468b7c6ebdf05639060d22b13de.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-d1/phpdoc-cache-file_ed37aeacf1669d569f7875502ad0260b.dat b/build/documentation/api/_structure/phpdoc-cache-d1/phpdoc-cache-file_ed37aeacf1669d569f7875502ad0260b.dat
deleted file mode 100644
index b6e10547..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-d1/phpdoc-cache-file_ed37aeacf1669d569f7875502ad0260b.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_4341567e46f57d3a6bc76a6c90bc9cc9.dat b/build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_4341567e46f57d3a6bc76a6c90bc9cc9.dat
deleted file mode 100644
index dd4061a1..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_4341567e46f57d3a6bc76a6c90bc9cc9.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_baa89daddc45c3a4175f5beb2f61d5c6.dat b/build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_baa89daddc45c3a4175f5beb2f61d5c6.dat
deleted file mode 100644
index f270d4ac..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-d4/phpdoc-cache-file_baa89daddc45c3a4175f5beb2f61d5c6.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-d9/phpdoc-cache-file_079bbe455bfa9aeaf363ae1bc6415ba0.dat b/build/documentation/api/_structure/phpdoc-cache-d9/phpdoc-cache-file_079bbe455bfa9aeaf363ae1bc6415ba0.dat
deleted file mode 100644
index 3f7d8376..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-d9/phpdoc-cache-file_079bbe455bfa9aeaf363ae1bc6415ba0.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-db/phpdoc-cache-file_5923a4a6f5a28fe61e0e5dc2d55cae1d.dat b/build/documentation/api/_structure/phpdoc-cache-db/phpdoc-cache-file_5923a4a6f5a28fe61e0e5dc2d55cae1d.dat
deleted file mode 100644
index 03ba8686..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-db/phpdoc-cache-file_5923a4a6f5a28fe61e0e5dc2d55cae1d.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-dc/phpdoc-cache-file_96f8e0097b917a6cc65c87561bd6889e.dat b/build/documentation/api/_structure/phpdoc-cache-dc/phpdoc-cache-file_96f8e0097b917a6cc65c87561bd6889e.dat
deleted file mode 100644
index 7d928a76..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-dc/phpdoc-cache-file_96f8e0097b917a6cc65c87561bd6889e.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-e8/phpdoc-cache-file_5bfbbad83d051b2294e9d8996e5f24bd.dat b/build/documentation/api/_structure/phpdoc-cache-e8/phpdoc-cache-file_5bfbbad83d051b2294e9d8996e5f24bd.dat
deleted file mode 100644
index b9c5a24d..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-e8/phpdoc-cache-file_5bfbbad83d051b2294e9d8996e5f24bd.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-ea/phpdoc-cache-file_98f41e4acfeac80f65d6397314947e94.dat b/build/documentation/api/_structure/phpdoc-cache-ea/phpdoc-cache-file_98f41e4acfeac80f65d6397314947e94.dat
deleted file mode 100644
index 7037391e..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-ea/phpdoc-cache-file_98f41e4acfeac80f65d6397314947e94.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-ef/phpdoc-cache-file_5710016683fd2fd8ba4b04f1e15033c5.dat b/build/documentation/api/_structure/phpdoc-cache-ef/phpdoc-cache-file_5710016683fd2fd8ba4b04f1e15033c5.dat
deleted file mode 100644
index 83afac80..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-ef/phpdoc-cache-file_5710016683fd2fd8ba4b04f1e15033c5.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-f1/phpdoc-cache-file_0e033fd8797499a87a6bf2ffccef5c3c.dat b/build/documentation/api/_structure/phpdoc-cache-f1/phpdoc-cache-file_0e033fd8797499a87a6bf2ffccef5c3c.dat
deleted file mode 100644
index 3eff02f4..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-f1/phpdoc-cache-file_0e033fd8797499a87a6bf2ffccef5c3c.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-f3/phpdoc-cache-file_30f80a45a0568ee5353b7f108c62ba70.dat b/build/documentation/api/_structure/phpdoc-cache-f3/phpdoc-cache-file_30f80a45a0568ee5353b7f108c62ba70.dat
deleted file mode 100644
index f887879e..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-f3/phpdoc-cache-file_30f80a45a0568ee5353b7f108c62ba70.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-f8/phpdoc-cache-file_96293627148fd7f969d728e65a03b077.dat b/build/documentation/api/_structure/phpdoc-cache-f8/phpdoc-cache-file_96293627148fd7f969d728e65a03b077.dat
deleted file mode 100644
index 420ad199..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-f8/phpdoc-cache-file_96293627148fd7f969d728e65a03b077.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/_structure/phpdoc-cache-fe/phpdoc-cache-file_a8d3ad1f02ffca9503fa85aff518fc1d.dat b/build/documentation/api/_structure/phpdoc-cache-fe/phpdoc-cache-file_a8d3ad1f02ffca9503fa85aff518fc1d.dat
deleted file mode 100644
index a816d3a8..00000000
--- a/build/documentation/api/_structure/phpdoc-cache-fe/phpdoc-cache-file_a8d3ad1f02ffca9503fa85aff518fc1d.dat
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/classes/OCA.Gallery.AppInfo.Application.html b/build/documentation/api/classes/OCA.Gallery.AppInfo.Application.html
deleted file mode 100644
index 690f1af7..00000000
--- a/build/documentation/api/classes/OCA.Gallery.AppInfo.Application.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\AppInfo\Application
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>Application</h1>
- <small style="display: block; text-align: right">
- Extends \OCP\AppFramework\App
- </small>
- <p class="short_description">Class Application</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\AppInfo</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(array $urlParams = array()) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$urlParams</h4>
- <code>array</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\AppInfo\Application"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.AppInfo.html">AppInfo</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.AppInfo.Application.html">Application</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.ConfigController.html b/build/documentation/api/classes/OCA.Gallery.Controller.ConfigController.html
deleted file mode 100644
index 554f7c40..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.ConfigController.html
+++ /dev/null
@@ -1,431 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\ConfigController
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_error" title="error :: ">
- <span class="description"></span><pre>error</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getConfig" title="getConfig :: ">
- <span class="description"></span><pre>getConfig</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_isNativeSvgActivated" title="isNativeSvgActivated :: Determines if the native SVG feature has been activated">
- <span class="description">Determines if the native SVG feature has been activated</span><pre>isNativeSvgActivated</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>ConfigController</h1>
- <small style="display: block; text-align: right">
- Extends \OCP\AppFramework\Controller
- </small>
- <p class="short_description">Class ConfigController</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCP\IRequest $request, \OCA\Gallery\Service\ConfigService $configService, \OCA\Gallery\Service\PreviewService $previewService, \OCP\ILogger $logger) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configService</h4>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewService</h4>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_error"></a>
- <div class="element clickable method public method_error inherited" data-toggle="collapse" data-target=".method_error .collapse">
- <h2>error</h2>
- <pre>error(\Exception $exception) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p><p>the message that is returned taken from the exception</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getConfig"></a>
- <div class="element clickable method public method_getConfig" data-toggle="collapse" data-target=".method_getConfig .collapse">
- <h2>getConfig</h2>
- <pre>getConfig(boolean $slideshow = false) : \OCA\Gallery\Controller\array&lt;string,null|\OCA\Gallery\Controller\array&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Returns an app configuration array</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$slideshow</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,null|\OCA\Gallery\Controller\array></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isNativeSvgActivated"></a>
- <div class="element clickable method private method_isNativeSvgActivated" data-toggle="collapse" data-target=".method_isNativeSvgActivated .collapse">
- <h2>Determines if the native SVG feature has been activated</h2>
- <pre>isNativeSvgActivated(array $features) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$features</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_configService"> </a>
- <div class="element clickable property private property_configService" data-toggle="collapse" data-target=".property_configService .collapse">
- <h2>configService</h2>
- <pre>configService : \OCA\Gallery\Service\ConfigService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code>
- </div>
- </div>
- </div>
- <a id="property_previewService"> </a>
- <div class="element clickable property private property_previewService" data-toggle="collapse" data-target=".property_previewService .collapse">
- <h2>previewService</h2>
- <pre>previewService : \OCA\Gallery\Service\PreviewService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\ConfigController"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.ConfigController.html">ConfigController</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.FilesController.html b/build/documentation/api/classes/OCA.Gallery.Controller.FilesController.html
deleted file mode 100644
index f72641b7..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.FilesController.html
+++ /dev/null
@@ -1,567 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\FilesController
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_error" title="error :: ">
- <span class="description"></span><pre>error</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getFiles" title="getFiles :: ">
- <span class="description"></span><pre>getFiles</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getReducedPath" title="getReducedPath :: Returns a shortened path for the gallery view">
- <span class="description">Returns a shortened path for the gallery view</span><pre>getReducedPath</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_fixPaths" title="fixPaths :: Generates shortened paths to the media files">
- <span class="description">Generates shortened paths to the media files</span><pre>fixPaths</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_formatResults" title="formatResults :: Simply builds and returns an array containing the list of files, the album information and
-whether the location has changed or not">
- <span class="description">Simply builds and returns an array containing the list of files, the album information and
-whether the location has changed or not</span><pre>formatResults</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>FilesController</h1>
- <small style="display: block; text-align: right">
- Extends \OCP\AppFramework\Controller
- </small>
- <p class="short_description">Class FilesController</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCP\IRequest $request, \OCA\Gallery\Service\SearchFolderService $searchFolderService, \OCA\Gallery\Service\ConfigService $configService, \OCA\Gallery\Service\SearchMediaService $searchMediaService, \OCP\ILogger $logger) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$searchFolderService</h4>
- <code><a href="OCA.Gallery.Service.SearchFolderService.html">\OCA\Gallery\Service\SearchFolderService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configService</h4>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$searchMediaService</h4>
- <code><a href="OCA.Gallery.Service.SearchMediaService.html">\OCA\Gallery\Service\SearchMediaService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_error"></a>
- <div class="element clickable method public method_error inherited" data-toggle="collapse" data-target=".method_error .collapse">
- <h2>error</h2>
- <pre>error(\Exception $exception) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p><p>the message that is returned taken from the exception</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_fixPaths"></a>
- <div class="element clickable method private method_fixPaths" data-toggle="collapse" data-target=".method_fixPaths .collapse">
- <h2>Generates shortened paths to the media files</h2>
- <pre>fixPaths( $files, $folderPathFromRoot) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>We only want to keep one folder between the current folder and the found media file
-/root/folder/sub1/sub2/file.ext
-becomes
-/root/folder/file.ext</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$files</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$folderPathFromRoot</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_formatResults"></a>
- <div class="element clickable method private method_formatResults" data-toggle="collapse" data-target=".method_formatResults .collapse">
- <h2>Simply builds and returns an array containing the list of files, the album information and
-whether the location has changed or not</h2>
- <pre>formatResults( $files, array $albumInfo, boolean $locationHasChanged) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$files</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$albumInfo</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$locationHasChanged</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getFiles"></a>
- <div class="element clickable method public method_getFiles" data-toggle="collapse" data-target=".method_getFiles .collapse">
- <h2>getFiles</h2>
- <pre>getFiles(string $location, string $features, string $etag) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Returns a list of all media files available to the authenticated user</p>
-<ul>
-<li>Authentication can be via a login/password or a token/(password)</li>
-<li>For private galleries, it returns all media files, with the full path from the root
-folder For public galleries, the path starts from the folder the link gives access to
-(virtual root)</li>
-<li>An exception is only caught in case something really wrong happens. As we don't test
-files before including them in the list, we may return some bad apples</li>
-</ul>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$location</h4>
- <code>string</code><p><p>a path representing the current album in the app</p></p>
- </div>
- <div class="subelement argument">
- <h4>$features</h4>
- <code>string</code><p><p>the list of supported features</p></p>
- </div>
- <div class="subelement argument">
- <h4>$etag</h4>
- <code>string</code><p><p>the last known etag in the client</p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p><p>&lt;string,array&lt;string,string|int&gt;&gt;|Http\JSONResponse</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getReducedPath"></a>
- <div class="element clickable method public method_getReducedPath inherited" data-toggle="collapse" data-target=".method_getReducedPath .collapse">
- <h2>Returns a shortened path for the gallery view</h2>
- <pre>getReducedPath(string $path, string $currFolderPath) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>We only want to keep one folder between the current folder and the found media file
-/root/folder/sub1/sub2/file.ext
-becomes
-/root/folder/file.ext</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$path</h4>
- <code>string</code><p><p>the full path to a file, which never starts with a slash</p></p>
- </div>
- <div class="subelement argument">
- <h4>$currFolderPath</h4>
- <code>string</code><p><p>the current folder, which never starts with a slash</p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_searchFolderService"> </a>
- <div class="element clickable property private property_searchFolderService" data-toggle="collapse" data-target=".property_searchFolderService .collapse">
- <h2>searchFolderService</h2>
- <pre>searchFolderService : \OCA\Gallery\Service\SearchFolderService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.SearchFolderService.html">\OCA\Gallery\Service\SearchFolderService</a></code>
- </div>
- </div>
- </div>
- <a id="property_configService"> </a>
- <div class="element clickable property private property_configService" data-toggle="collapse" data-target=".property_configService .collapse">
- <h2>configService</h2>
- <pre>configService : \OCA\Gallery\Service\ConfigService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code>
- </div>
- </div>
- </div>
- <a id="property_searchMediaService"> </a>
- <div class="element clickable property private property_searchMediaService" data-toggle="collapse" data-target=".property_searchMediaService .collapse">
- <h2>searchMediaService</h2>
- <pre>searchMediaService : \OCA\Gallery\Service\SearchMediaService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.SearchMediaService.html">\OCA\Gallery\Service\SearchMediaService</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\FilesController"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.FilesController.html">FilesController</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.JsonHttpError.html b/build/documentation/api/classes/OCA.Gallery.Controller.JsonHttpError.html
deleted file mode 100644
index 31584693..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.JsonHttpError.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\JsonHttpError
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method_error" title="error :: ">
- <span class="description"></span><pre>error</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>JsonHttpError</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method_error"></a>
- <div class="element clickable method public method_error" data-toggle="collapse" data-target=".method_error .collapse">
- <h2>error</h2>
- <pre>error(\Exception $exception) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p><p>the message that is returned taken from the exception</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\JsonHttpError"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">JsonHttpError</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.PageController.html b/build/documentation/api/classes/OCA.Gallery.Controller.PageController.html
deleted file mode 100644
index 630e354c..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.PageController.html
+++ /dev/null
@@ -1,736 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\PageController
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_errorPage" title="errorPage :: ">
- <span class="description"></span><pre>errorPage</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_index" title="index :: ">
- <span class="description"></span><pre>index</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_publicIndex" title="publicIndex :: ">
- <span class="description"></span><pre>publicIndex</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_slideshow" title="slideshow :: ">
- <span class="description"></span><pre>slideshow</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_addContentSecurityToResponse" title="addContentSecurityToResponse :: Adds the domain &quot;data:&quot; to the allowed image domains
-this function is called by reference">
- <span class="description">Adds the domain &quot;data:&quot; to the allowed image domains
-this function is called by reference</span><pre>addContentSecurityToResponse</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_downloadFile" title="downloadFile :: Downloads the file associated with a token">
- <span class="description">Downloads the file associated with a token</span><pre>downloadFile</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getServer2ServerProperties" title="getServer2ServerProperties :: Determines if we can add external shared to this instance">
- <span class="description">Determines if we can add external shared to this instance</span><pre>getServer2ServerProperties</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_showPublicPage" title="showPublicPage :: Shows the albums and pictures the token gives access to">
- <span class="description">Shows the albums and pictures the token gives access to</span><pre>showPublicPage</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>PageController</h1>
- <small style="display: block; text-align: right">
- Extends \OCP\AppFramework\Controller
- </small>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCP\IRequest $request, \OCA\Gallery\Environment\Environment $environment, \OCP\IURLGenerator $urlGenerator, \OCA\Gallery\Service\DownloadService $downloadService, \OCP\IConfig $appConfig) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$urlGenerator</h4>
- <code>\OCP\IURLGenerator</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$downloadService</h4>
- <code><a href="OCA.Gallery.Service.DownloadService.html">\OCA\Gallery\Service\DownloadService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$appConfig</h4>
- <code>\OCP\IConfig</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_addContentSecurityToResponse"></a>
- <div class="element clickable method private method_addContentSecurityToResponse" data-toggle="collapse" data-target=".method_addContentSecurityToResponse .collapse">
- <h2>Adds the domain &quot;data:&quot; to the allowed image domains
-this function is called by reference</h2>
- <pre>addContentSecurityToResponse(\OCP\AppFramework\Http\TemplateResponse $response) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$response</h4>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_downloadFile"></a>
- <div class="element clickable method private method_downloadFile" data-toggle="collapse" data-target=".method_downloadFile .collapse">
- <h2>Downloads the file associated with a token</h2>
- <pre>downloadFile(\OCP\Files\File $file, string|null $filename) : \OCA\Gallery\Http\ImageResponse|\OCP\AppFramework\Http\RedirectResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$filename</h4>
- <code>string|null</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code><a href="OCA.Gallery.Http.ImageResponse.html">\OCA\Gallery\Http\ImageResponse</a>|\OCP\AppFramework\Http\RedirectResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_errorPage"></a>
- <div class="element clickable method public method_errorPage" data-toggle="collapse" data-target=".method_errorPage .collapse">
- <h2>errorPage</h2>
- <pre>errorPage(string $message, integer $code) : \OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- PublicPage
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
- NoCSRFRequired
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
- Guest
- </th>
- <td>
-
- <p>Generates an error page based on the error code</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getServer2ServerProperties"></a>
- <div class="element clickable method private method_getServer2ServerProperties" data-toggle="collapse" data-target=".method_getServer2ServerProperties .collapse">
- <h2>Determines if we can add external shared to this instance</h2>
- <pre>getServer2ServerProperties() : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_index"></a>
- <div class="element clickable method public method_index" data-toggle="collapse" data-target=".method_index .collapse">
- <h2>index</h2>
- <pre>index() : \OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
- NoCSRFRequired
- </th>
- <td>
-
- <p>Shows the albums and pictures at the root folder or a message if
-there are no pictures.</p>
-<p>This is the entry page for logged-in users accessing the app from
-within ownCloud.
-A TemplateResponse response uses a template from the templates folder
-and parameters provided here to build the page users will see</p>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_publicIndex"></a>
- <div class="element clickable method public method_publicIndex" data-toggle="collapse" data-target=".method_publicIndex .collapse">
- <h2>publicIndex</h2>
- <pre>publicIndex(string $token, null|string $filename) : \OCP\AppFramework\Http\TemplateResponse|\OCA\Gallery\Http\ImageResponse|\OCP\AppFramework\Http\RedirectResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- PublicPage
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
- NoCSRFRequired
- </th>
- <td>
-
- <p>Shows the albums and pictures or download the single file the token gives access to</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$token</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$filename</h4>
- <code>null|string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse|<a href="OCA.Gallery.Http.ImageResponse.html">\OCA\Gallery\Http\ImageResponse</a>|\OCP\AppFramework\Http\RedirectResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_showPublicPage"></a>
- <div class="element clickable method private method_showPublicPage" data-toggle="collapse" data-target=".method_showPublicPage .collapse">
- <h2>Shows the albums and pictures the token gives access to</h2>
- <pre>showPublicPage( $token) : \OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$token</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_slideshow"></a>
- <div class="element clickable method public method_slideshow" data-toggle="collapse" data-target=".method_slideshow .collapse">
- <h2>slideshow</h2>
- <pre>slideshow() : \OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- PublicPage
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
- NoCSRFRequired
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
- Guest
- </th>
- <td>
-
- <p>Returns the slideshow template</p>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_environment"> </a>
- <div class="element clickable property private property_environment" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_urlGenerator"> </a>
- <div class="element clickable property private property_urlGenerator" data-toggle="collapse" data-target=".property_urlGenerator .collapse">
- <h2>urlGenerator</h2>
- <pre>urlGenerator : \OCP\IURLGenerator</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IURLGenerator</code>
- </div>
- </div>
- </div>
- <a id="property_downloadService"> </a>
- <div class="element clickable property private property_downloadService" data-toggle="collapse" data-target=".property_downloadService .collapse">
- <h2>downloadService</h2>
- <pre>downloadService : \OCA\Gallery\Service\DownloadService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.DownloadService.html">\OCA\Gallery\Service\DownloadService</a></code>
- </div>
- </div>
- </div>
- <a id="property_appConfig"> </a>
- <div class="element clickable property private property_appConfig" data-toggle="collapse" data-target=".property_appConfig .collapse">
- <h2>appConfig</h2>
- <pre>appConfig : \OCP\IConfig</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IConfig</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\PageController"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.PageController.html">PageController</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.PathManipulation.html b/build/documentation/api/classes/OCA.Gallery.Controller.PathManipulation.html
deleted file mode 100644
index 24caad53..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.PathManipulation.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\PathManipulation
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method_getReducedPath" title="getReducedPath :: Returns a shortened path for the gallery view">
- <span class="description">Returns a shortened path for the gallery view</span><pre>getReducedPath</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>PathManipulation</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description"></p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method_getReducedPath"></a>
- <div class="element clickable method public method_getReducedPath" data-toggle="collapse" data-target=".method_getReducedPath .collapse">
- <h2>Returns a shortened path for the gallery view</h2>
- <pre>getReducedPath(string $path, string $currFolderPath) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>We only want to keep one folder between the current folder and the found media file
-/root/folder/sub1/sub2/file.ext
-becomes
-/root/folder/file.ext</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$path</h4>
- <code>string</code><p><p>the full path to a file, which never starts with a slash</p></p>
- </div>
- <div class="subelement argument">
- <h4>$currFolderPath</h4>
- <code>string</code><p><p>the current folder, which never starts with a slash</p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\PathManipulation"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.PathManipulation.html">PathManipulation</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.PreviewController.html b/build/documentation/api/classes/OCA.Gallery.Controller.PreviewController.html
deleted file mode 100644
index 4f2c0d9c..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.PreviewController.html
+++ /dev/null
@@ -1,877 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\PreviewController
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_error" title="error :: ">
- <span class="description"></span><pre>error</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getPreview" title="getPreview :: ">
- <span class="description"></span><pre>getPreview</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getThumbnails" title="getThumbnails :: ">
- <span class="description"></span><pre>getThumbnails</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_getData" title="getData :: Returns either a generated preview, the file as-is or an empty object">
- <span class="description">Returns either a generated preview, the file as-is or an empty object</span><pre>getData</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getErrorData" title="getErrorData :: Returns an error array">
- <span class="description">Returns an error array</span><pre>getErrorData</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getErrorUrl" title="getErrorUrl :: Returns an URL based on the HTTP status code">
- <span class="description">Returns an URL based on the HTTP status code</span><pre>getErrorUrl</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getExceptionData" title="getExceptionData :: Returns an error array">
- <span class="description">Returns an error array</span><pre>getExceptionData</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getPreviewData" title="getPreviewData :: ">
- <span class="description"></span><pre>getPreviewData</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getThumbnail" title="getThumbnail :: Retrieves the thumbnail to send back to the browser">
- <span class="description">Retrieves the thumbnail to send back to the browser</span><pre>getThumbnail</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isPreviewRequired" title="isPreviewRequired :: Returns true if we need to generate a preview for that file">
- <span class="description">Returns true if we need to generate a preview for that file</span><pre>isPreviewRequired</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>PreviewController</h1>
- <small style="display: block; text-align: right">
- Extends \OCP\AppFramework\Controller
- </small>
- <p class="short_description">Class PreviewController</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCP\IRequest $request, \OCP\IURLGenerator $urlGenerator, \OCA\Gallery\Service\ThumbnailService $thumbnailService, \OCA\Gallery\Service\PreviewService $previewService, \OCA\Gallery\Service\DownloadService $downloadService, \OCP\IEventSource $eventSource, \OCP\ILogger $logger) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$urlGenerator</h4>
- <code>\OCP\IURLGenerator</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$thumbnailService</h4>
- <code><a href="OCA.Gallery.Service.ThumbnailService.html">\OCA\Gallery\Service\ThumbnailService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewService</h4>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$downloadService</h4>
- <code><a href="OCA.Gallery.Service.DownloadService.html">\OCA\Gallery\Service\DownloadService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$eventSource</h4>
- <code>\OCP\IEventSource</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_error"></a>
- <div class="element clickable method public method_error inherited" data-toggle="collapse" data-target=".method_error .collapse">
- <h2>error</h2>
- <pre>error(\Exception $exception) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p><p>the message that is returned taken from the exception</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getData"></a>
- <div class="element clickable method private method_getData" data-toggle="collapse" data-target=".method_getData .collapse">
- <h2>Returns either a generated preview, the file as-is or an empty object</h2>
- <pre>getData(integer $fileId, integer $width, integer $height, boolean $keepAspect = true, boolean $animatedPreview = true, boolean $base64Encode = false) : \OCA\Gallery\Controller\array&lt;string,\OC_Image|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fileId</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$width</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$height</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$keepAspect</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$animatedPreview</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$base64Encode</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,\OC_Image|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getErrorData"></a>
- <div class="element clickable method private method_getErrorData" data-toggle="collapse" data-target=".method_getErrorData .collapse">
- <h2>Returns an error array</h2>
- <pre>getErrorData( $status) : \OCA\Gallery\Controller\array&lt;null|integer|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$status</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<null|integer|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getErrorUrl"></a>
- <div class="element clickable method private method_getErrorUrl" data-toggle="collapse" data-target=".method_getErrorUrl .collapse">
- <h2>Returns an URL based on the HTTP status code</h2>
- <pre>getErrorUrl( $status) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$status</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getExceptionData"></a>
- <div class="element clickable method private method_getExceptionData" data-toggle="collapse" data-target=".method_getExceptionData .collapse">
- <h2>Returns an error array</h2>
- <pre>getExceptionData( $exception) : \OCA\Gallery\Controller\array&lt;null|integer|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<null|integer|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getPreview"></a>
- <div class="element clickable method public method_getPreview" data-toggle="collapse" data-target=".method_getPreview .collapse">
- <h2>getPreview</h2>
- <pre>getPreview(integer $fileId, integer $width, integer $height, string|null $download) : \OCA\Gallery\Http\ImageResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Sends either a large preview of the requested file or the
-original file itself</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fileId</h4>
- <code>integer</code><p><p>the ID of the file of which we need a large preview of</p></p>
- </div>
- <div class="subelement argument">
- <h4>$width</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$height</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$download</h4>
- <code>string|null</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code><a href="OCA.Gallery.Http.ImageResponse.html">\OCA\Gallery\Http\ImageResponse</a>|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getPreviewData"></a>
- <div class="element clickable method private method_getPreviewData" data-toggle="collapse" data-target=".method_getPreviewData .collapse">
- <h2>getPreviewData</h2>
- <pre>getPreviewData( $file, $previewRequired, $width, $height, $keepAspect, $base64Encode) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewRequired</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$width</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$height</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$keepAspect</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$base64Encode</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getThumbnail"></a>
- <div class="element clickable method private method_getThumbnail" data-toggle="collapse" data-target=".method_getThumbnail .collapse">
- <h2>Retrieves the thumbnail to send back to the browser</h2>
- <pre>getThumbnail(integer $fileId, boolean $square, double $scale) : \OCA\Gallery\Controller\array&lt;string,array|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>The thumbnail is either a resized preview of the file or the original file
-Thumbnails are base64encoded before getting sent back</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fileId</h4>
- <code>integer</code><p><p>the ID of the file of which we need a thumbnail preview of</p></p>
- </div>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p><p>whether the thumbnail should be square</p></p>
- </div>
- <div class="subelement argument">
- <h4>$scale</h4>
- <code>double</code><p><p>whether we're allowed to scale the preview up</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,array|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getThumbnails"></a>
- <div class="element clickable method public method_getThumbnails" data-toggle="collapse" data-target=".method_getThumbnails .collapse">
- <h2>getThumbnails</h2>
- <pre>getThumbnails(string $ids, boolean $square, double $scale) : \OCA\Gallery\Controller\array&lt;string,array|string|\OCA\Gallery\Controller\null&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Generates thumbnails</p>
-<p>Uses EventSource to send thumbnails back as soon as they're created</p>
-<p>FIXME: @LukasReschke says: The exit is required here because
-otherwise the AppFramework is trying to add headers as well after
-dispatching the request which results in a &quot;Cannot modify header
-information&quot; notice.</p>
-<p>WARNING: Returning a JSON response does not get rid of the problem</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$ids</h4>
- <code>string</code><p><p>the ID of the files of which we need thumbnail previews of</p></p>
- </div>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$scale</h4>
- <code>double</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,array|string|\OCA\Gallery\Controller\null></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isPreviewRequired"></a>
- <div class="element clickable method private method_isPreviewRequired" data-toggle="collapse" data-target=".method_isPreviewRequired .collapse">
- <h2>Returns true if we need to generate a preview for that file</h2>
- <pre>isPreviewRequired( $file, boolean $animatedPreview) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$animatedPreview</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_urlGenerator"> </a>
- <div class="element clickable property private property_urlGenerator" data-toggle="collapse" data-target=".property_urlGenerator .collapse">
- <h2>urlGenerator</h2>
- <pre>urlGenerator : \OCP\IURLGenerator</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IURLGenerator</code>
- </div>
- </div>
- </div>
- <a id="property_thumbnailService"> </a>
- <div class="element clickable property private property_thumbnailService" data-toggle="collapse" data-target=".property_thumbnailService .collapse">
- <h2>thumbnailService</h2>
- <pre>thumbnailService : \OCA\Gallery\Service\ThumbnailService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.ThumbnailService.html">\OCA\Gallery\Service\ThumbnailService</a></code>
- </div>
- </div>
- </div>
- <a id="property_previewService"> </a>
- <div class="element clickable property private property_previewService" data-toggle="collapse" data-target=".property_previewService .collapse">
- <h2>previewService</h2>
- <pre>previewService : \OCA\Gallery\Service\PreviewService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code>
- </div>
- </div>
- </div>
- <a id="property_downloadService"> </a>
- <div class="element clickable property private property_downloadService" data-toggle="collapse" data-target=".property_downloadService .collapse">
- <h2>downloadService</h2>
- <pre>downloadService : \OCA\Gallery\Service\DownloadService</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.DownloadService.html">\OCA\Gallery\Service\DownloadService</a></code>
- </div>
- </div>
- </div>
- <a id="property_eventSource"> </a>
- <div class="element clickable property private property_eventSource" data-toggle="collapse" data-target=".property_eventSource .collapse">
- <h2>eventSource</h2>
- <pre>eventSource : \OCP\IEventSource</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IEventSource</code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- <a id="property_download"> </a>
- <div class="element clickable property private property_download" data-toggle="collapse" data-target=".property_download .collapse">
- <h2>download</h2>
- <pre>download : </pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- type
- </th>
- <td>
- <p>bool</p>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code></code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\PreviewController"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.PreviewController.html">PreviewController</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.PublicConfigController.html b/build/documentation/api/classes/OCA.Gallery.Controller.PublicConfigController.html
deleted file mode 100644
index c698a850..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.PublicConfigController.html
+++ /dev/null
@@ -1,432 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\PublicConfigController
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_error" title="error :: ">
- <span class="description"></span><pre>error</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getConfig" title="getConfig :: ">
- <span class="description"></span><pre>getConfig</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private inherited">
- <a href="#method_isNativeSvgActivated" title="isNativeSvgActivated :: Determines if the native SVG feature has been activated">
- <span class="description">Determines if the native SVG feature has been activated</span><pre>isNativeSvgActivated</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>PublicConfigController</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Controller.ConfigController.html">\OCA\Gallery\Controller\ConfigController</a>
- </small>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details">
- <div class="long_description">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCP\IRequest $request, \OCA\Gallery\Service\ConfigService $configService, \OCA\Gallery\Service\PreviewService $previewService, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configService</h4>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewService</h4>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_error"></a>
- <div class="element clickable method public method_error inherited" data-toggle="collapse" data-target=".method_error .collapse">
- <h2>error</h2>
- <pre>error(\Exception $exception) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p><p>the message that is returned taken from the exception</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getConfig"></a>
- <div class="element clickable method public method_getConfig inherited" data-toggle="collapse" data-target=".method_getConfig .collapse">
- <h2>getConfig</h2>
- <pre>getConfig(boolean $slideshow = false) : \OCA\Gallery\Controller\array&lt;string,null|\OCA\Gallery\Controller\array&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Returns an app configuration array</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$slideshow</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,null|\OCA\Gallery\Controller\array></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isNativeSvgActivated"></a>
- <div class="element clickable method private method_isNativeSvgActivated inherited" data-toggle="collapse" data-target=".method_isNativeSvgActivated .collapse">
- <h2>Determines if the native SVG feature has been activated</h2>
- <pre>isNativeSvgActivated(array $features) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$features</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_configService"> </a>
- <div class="element clickable property private property_configService inherited" data-toggle="collapse" data-target=".property_configService .collapse">
- <h2>configService</h2>
- <pre>configService : \OCA\Gallery\Service\ConfigService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code>
- </div>
- </div>
- </div>
- <a id="property_previewService"> </a>
- <div class="element clickable property private property_previewService inherited" data-toggle="collapse" data-target=".property_previewService .collapse">
- <h2>previewService</h2>
- <pre>previewService : \OCA\Gallery\Service\PreviewService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\PublicConfigController"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">PublicConfigController</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.PublicFilesController.html b/build/documentation/api/classes/OCA.Gallery.Controller.PublicFilesController.html
deleted file mode 100644
index d42ac1fb..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.PublicFilesController.html
+++ /dev/null
@@ -1,568 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\PublicFilesController
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_error" title="error :: ">
- <span class="description"></span><pre>error</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getFiles" title="getFiles :: ">
- <span class="description"></span><pre>getFiles</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getReducedPath" title="getReducedPath :: Returns a shortened path for the gallery view">
- <span class="description">Returns a shortened path for the gallery view</span><pre>getReducedPath</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private inherited">
- <a href="#method_fixPaths" title="fixPaths :: Generates shortened paths to the media files">
- <span class="description">Generates shortened paths to the media files</span><pre>fixPaths</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_formatResults" title="formatResults :: Simply builds and returns an array containing the list of files, the album information and
-whether the location has changed or not">
- <span class="description">Simply builds and returns an array containing the list of files, the album information and
-whether the location has changed or not</span><pre>formatResults</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>PublicFilesController</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Controller.FilesController.html">\OCA\Gallery\Controller\FilesController</a>
- </small>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details">
- <div class="long_description">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCP\IRequest $request, \OCA\Gallery\Service\SearchFolderService $searchFolderService, \OCA\Gallery\Service\ConfigService $configService, \OCA\Gallery\Service\SearchMediaService $searchMediaService, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$searchFolderService</h4>
- <code><a href="OCA.Gallery.Service.SearchFolderService.html">\OCA\Gallery\Service\SearchFolderService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configService</h4>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$searchMediaService</h4>
- <code><a href="OCA.Gallery.Service.SearchMediaService.html">\OCA\Gallery\Service\SearchMediaService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_error"></a>
- <div class="element clickable method public method_error inherited" data-toggle="collapse" data-target=".method_error .collapse">
- <h2>error</h2>
- <pre>error(\Exception $exception) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p><p>the message that is returned taken from the exception</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_fixPaths"></a>
- <div class="element clickable method private method_fixPaths inherited" data-toggle="collapse" data-target=".method_fixPaths .collapse">
- <h2>Generates shortened paths to the media files</h2>
- <pre>fixPaths( $files, $folderPathFromRoot) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>We only want to keep one folder between the current folder and the found media file
-/root/folder/sub1/sub2/file.ext
-becomes
-/root/folder/file.ext</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$files</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$folderPathFromRoot</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_formatResults"></a>
- <div class="element clickable method private method_formatResults inherited" data-toggle="collapse" data-target=".method_formatResults .collapse">
- <h2>Simply builds and returns an array containing the list of files, the album information and
-whether the location has changed or not</h2>
- <pre>formatResults( $files, array $albumInfo, boolean $locationHasChanged) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$files</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$albumInfo</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$locationHasChanged</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getFiles"></a>
- <div class="element clickable method public method_getFiles inherited" data-toggle="collapse" data-target=".method_getFiles .collapse">
- <h2>getFiles</h2>
- <pre>getFiles(string $location, string $features, string $etag) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Returns a list of all media files available to the authenticated user</p>
-<ul>
-<li>Authentication can be via a login/password or a token/(password)</li>
-<li>For private galleries, it returns all media files, with the full path from the root
-folder For public galleries, the path starts from the folder the link gives access to
-(virtual root)</li>
-<li>An exception is only caught in case something really wrong happens. As we don't test
-files before including them in the list, we may return some bad apples</li>
-</ul>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$location</h4>
- <code>string</code><p><p>a path representing the current album in the app</p></p>
- </div>
- <div class="subelement argument">
- <h4>$features</h4>
- <code>string</code><p><p>the list of supported features</p></p>
- </div>
- <div class="subelement argument">
- <h4>$etag</h4>
- <code>string</code><p><p>the last known etag in the client</p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p><p>&lt;string,array&lt;string,string|int&gt;&gt;|Http\JSONResponse</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getReducedPath"></a>
- <div class="element clickable method public method_getReducedPath inherited" data-toggle="collapse" data-target=".method_getReducedPath .collapse">
- <h2>Returns a shortened path for the gallery view</h2>
- <pre>getReducedPath(string $path, string $currFolderPath) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>We only want to keep one folder between the current folder and the found media file
-/root/folder/sub1/sub2/file.ext
-becomes
-/root/folder/file.ext</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$path</h4>
- <code>string</code><p><p>the full path to a file, which never starts with a slash</p></p>
- </div>
- <div class="subelement argument">
- <h4>$currFolderPath</h4>
- <code>string</code><p><p>the current folder, which never starts with a slash</p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_searchFolderService"> </a>
- <div class="element clickable property private property_searchFolderService inherited" data-toggle="collapse" data-target=".property_searchFolderService .collapse">
- <h2>searchFolderService</h2>
- <pre>searchFolderService : \OCA\Gallery\Service\SearchFolderService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.SearchFolderService.html">\OCA\Gallery\Service\SearchFolderService</a></code>
- </div>
- </div>
- </div>
- <a id="property_configService"> </a>
- <div class="element clickable property private property_configService inherited" data-toggle="collapse" data-target=".property_configService .collapse">
- <h2>configService</h2>
- <pre>configService : \OCA\Gallery\Service\ConfigService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.ConfigService.html">\OCA\Gallery\Service\ConfigService</a></code>
- </div>
- </div>
- </div>
- <a id="property_searchMediaService"> </a>
- <div class="element clickable property private property_searchMediaService inherited" data-toggle="collapse" data-target=".property_searchMediaService .collapse">
- <h2>searchMediaService</h2>
- <pre>searchMediaService : \OCA\Gallery\Service\SearchMediaService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.SearchMediaService.html">\OCA\Gallery\Service\SearchMediaService</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\PublicFilesController"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">PublicFilesController</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Controller.PublicPreviewController.html b/build/documentation/api/classes/OCA.Gallery.Controller.PublicPreviewController.html
deleted file mode 100644
index b9b799d8..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Controller.PublicPreviewController.html
+++ /dev/null
@@ -1,878 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Controller\PublicPreviewController
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_error" title="error :: ">
- <span class="description"></span><pre>error</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getPreview" title="getPreview :: ">
- <span class="description"></span><pre>getPreview</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getThumbnails" title="getThumbnails :: ">
- <span class="description"></span><pre>getThumbnails</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private inherited">
- <a href="#method_getData" title="getData :: Returns either a generated preview, the file as-is or an empty object">
- <span class="description">Returns either a generated preview, the file as-is or an empty object</span><pre>getData</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_getErrorData" title="getErrorData :: Returns an error array">
- <span class="description">Returns an error array</span><pre>getErrorData</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_getErrorUrl" title="getErrorUrl :: Returns an URL based on the HTTP status code">
- <span class="description">Returns an URL based on the HTTP status code</span><pre>getErrorUrl</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_getExceptionData" title="getExceptionData :: Returns an error array">
- <span class="description">Returns an error array</span><pre>getExceptionData</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_getPreviewData" title="getPreviewData :: ">
- <span class="description"></span><pre>getPreviewData</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_getThumbnail" title="getThumbnail :: Retrieves the thumbnail to send back to the browser">
- <span class="description">Retrieves the thumbnail to send back to the browser</span><pre>getThumbnail</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isPreviewRequired" title="isPreviewRequired :: Returns true if we need to generate a preview for that file">
- <span class="description">Returns true if we need to generate a preview for that file</span><pre>isPreviewRequired</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>PublicPreviewController</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Controller.PreviewController.html">\OCA\Gallery\Controller\PreviewController</a>
- </small>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details">
- <div class="long_description">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Controller</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCP\IRequest $request, \OCP\IURLGenerator $urlGenerator, \OCA\Gallery\Service\ThumbnailService $thumbnailService, \OCA\Gallery\Service\PreviewService $previewService, \OCA\Gallery\Service\DownloadService $downloadService, \OCP\IEventSource $eventSource, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$urlGenerator</h4>
- <code>\OCP\IURLGenerator</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$thumbnailService</h4>
- <code><a href="OCA.Gallery.Service.ThumbnailService.html">\OCA\Gallery\Service\ThumbnailService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewService</h4>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$downloadService</h4>
- <code><a href="OCA.Gallery.Service.DownloadService.html">\OCA\Gallery\Service\DownloadService</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$eventSource</h4>
- <code>\OCP\IEventSource</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_error"></a>
- <div class="element clickable method public method_error inherited" data-toggle="collapse" data-target=".method_error .collapse">
- <h2>error</h2>
- <pre>error(\Exception $exception) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p><p>the message that is returned taken from the exception</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getData"></a>
- <div class="element clickable method private method_getData inherited" data-toggle="collapse" data-target=".method_getData .collapse">
- <h2>Returns either a generated preview, the file as-is or an empty object</h2>
- <pre>getData(integer $fileId, integer $width, integer $height, boolean $keepAspect = true, boolean $animatedPreview = true, boolean $base64Encode = false) : \OCA\Gallery\Controller\array&lt;string,\OC_Image|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fileId</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$width</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$height</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$keepAspect</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$animatedPreview</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$base64Encode</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,\OC_Image|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getErrorData"></a>
- <div class="element clickable method private method_getErrorData inherited" data-toggle="collapse" data-target=".method_getErrorData .collapse">
- <h2>Returns an error array</h2>
- <pre>getErrorData( $status) : \OCA\Gallery\Controller\array&lt;null|integer|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$status</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<null|integer|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getErrorUrl"></a>
- <div class="element clickable method private method_getErrorUrl inherited" data-toggle="collapse" data-target=".method_getErrorUrl .collapse">
- <h2>Returns an URL based on the HTTP status code</h2>
- <pre>getErrorUrl( $status) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$status</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getExceptionData"></a>
- <div class="element clickable method private method_getExceptionData inherited" data-toggle="collapse" data-target=".method_getExceptionData .collapse">
- <h2>Returns an error array</h2>
- <pre>getExceptionData( $exception) : \OCA\Gallery\Controller\array&lt;null|integer|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<null|integer|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getPreview"></a>
- <div class="element clickable method public method_getPreview inherited" data-toggle="collapse" data-target=".method_getPreview .collapse">
- <h2>getPreview</h2>
- <pre>getPreview(integer $fileId, integer $width, integer $height, string|null $download) : \OCA\Gallery\Http\ImageResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Sends either a large preview of the requested file or the
-original file itself</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fileId</h4>
- <code>integer</code><p><p>the ID of the file of which we need a large preview of</p></p>
- </div>
- <div class="subelement argument">
- <h4>$width</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$height</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$download</h4>
- <code>string|null</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code><a href="OCA.Gallery.Http.ImageResponse.html">\OCA\Gallery\Http\ImageResponse</a>|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getPreviewData"></a>
- <div class="element clickable method private method_getPreviewData inherited" data-toggle="collapse" data-target=".method_getPreviewData .collapse">
- <h2>getPreviewData</h2>
- <pre>getPreviewData( $file, $previewRequired, $width, $height, $keepAspect, $base64Encode) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewRequired</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$width</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$height</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$keepAspect</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$base64Encode</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getThumbnail"></a>
- <div class="element clickable method private method_getThumbnail inherited" data-toggle="collapse" data-target=".method_getThumbnail .collapse">
- <h2>Retrieves the thumbnail to send back to the browser</h2>
- <pre>getThumbnail(integer $fileId, boolean $square, double $scale) : \OCA\Gallery\Controller\array&lt;string,array|\OCA\Gallery\Controller\string&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>The thumbnail is either a resized preview of the file or the original file
-Thumbnails are base64encoded before getting sent back</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fileId</h4>
- <code>integer</code><p><p>the ID of the file of which we need a thumbnail preview of</p></p>
- </div>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p><p>whether the thumbnail should be square</p></p>
- </div>
- <div class="subelement argument">
- <h4>$scale</h4>
- <code>double</code><p><p>whether we're allowed to scale the preview up</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,array|\OCA\Gallery\Controller\string></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getThumbnails"></a>
- <div class="element clickable method public method_getThumbnails inherited" data-toggle="collapse" data-target=".method_getThumbnails .collapse">
- <h2>getThumbnails</h2>
- <pre>getThumbnails(string $ids, boolean $square, double $scale) : \OCA\Gallery\Controller\array&lt;string,array|string|\OCA\Gallery\Controller\null&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- NoAdminRequired
- </th>
- <td>
-
- <p>Generates thumbnails</p>
-<p>Uses EventSource to send thumbnails back as soon as they're created</p>
-<p>FIXME: @LukasReschke says: The exit is required here because
-otherwise the AppFramework is trying to add headers as well after
-dispatching the request which results in a &quot;Cannot modify header
-information&quot; notice.</p>
-<p>WARNING: Returning a JSON response does not get rid of the problem</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$ids</h4>
- <code>string</code><p><p>the ID of the files of which we need thumbnail previews of</p></p>
- </div>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$scale</h4>
- <code>double</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Controller\array<string,array|string|\OCA\Gallery\Controller\null></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isPreviewRequired"></a>
- <div class="element clickable method private method_isPreviewRequired inherited" data-toggle="collapse" data-target=".method_isPreviewRequired .collapse">
- <h2>Returns true if we need to generate a preview for that file</h2>
- <pre>isPreviewRequired( $file, boolean $animatedPreview) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$animatedPreview</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_urlGenerator"> </a>
- <div class="element clickable property private property_urlGenerator inherited" data-toggle="collapse" data-target=".property_urlGenerator .collapse">
- <h2>urlGenerator</h2>
- <pre>urlGenerator : \OCP\IURLGenerator</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IURLGenerator</code>
- </div>
- </div>
- </div>
- <a id="property_thumbnailService"> </a>
- <div class="element clickable property private property_thumbnailService inherited" data-toggle="collapse" data-target=".property_thumbnailService .collapse">
- <h2>thumbnailService</h2>
- <pre>thumbnailService : \OCA\Gallery\Service\ThumbnailService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.ThumbnailService.html">\OCA\Gallery\Service\ThumbnailService</a></code>
- </div>
- </div>
- </div>
- <a id="property_previewService"> </a>
- <div class="element clickable property private property_previewService inherited" data-toggle="collapse" data-target=".property_previewService .collapse">
- <h2>previewService</h2>
- <pre>previewService : \OCA\Gallery\Service\PreviewService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.PreviewService.html">\OCA\Gallery\Service\PreviewService</a></code>
- </div>
- </div>
- </div>
- <a id="property_downloadService"> </a>
- <div class="element clickable property private property_downloadService inherited" data-toggle="collapse" data-target=".property_downloadService .collapse">
- <h2>downloadService</h2>
- <pre>downloadService : \OCA\Gallery\Service\DownloadService</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.DownloadService.html">\OCA\Gallery\Service\DownloadService</a></code>
- </div>
- </div>
- </div>
- <a id="property_eventSource"> </a>
- <div class="element clickable property private property_eventSource inherited" data-toggle="collapse" data-target=".property_eventSource .collapse">
- <h2>eventSource</h2>
- <pre>eventSource : \OCP\IEventSource</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IEventSource</code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- <a id="property_download"> </a>
- <div class="element clickable property private property_download inherited" data-toggle="collapse" data-target=".property_download .collapse">
- <h2>download</h2>
- <pre>download : </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- type
- </th>
- <td>
- <p>bool</p>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code></code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Controller\PublicPreviewController"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">PublicPreviewController</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Environment.Environment.html b/build/documentation/api/classes/OCA.Gallery.Environment.Environment.html
deleted file mode 100644
index 922f1af6..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Environment.Environment.html
+++ /dev/null
@@ -1,1140 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Environment\Environment
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: ">
- <span class="description"></span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getDisplayName" title="getDisplayName :: Returns the name of the user sharing files publicly">
- <span class="description">Returns the name of the user sharing files publicly</span><pre>getDisplayName</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getNodeFromUserFolder" title="getNodeFromUserFolder :: Returns the Node based on a path starting from the files&#039; owner user folder">
- <span class="description">Returns the Node based on a path starting from the files&#039; owner user folder</span><pre>getNodeFromUserFolder</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getNodeFromVirtualRoot" title="getNodeFromVirtualRoot :: Returns the Node based on a path starting from the virtual root">
- <span class="description">Returns the Node based on a path starting from the virtual root</span><pre>getNodeFromVirtualRoot</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getPathFromUserFolder" title="getPathFromUserFolder :: Returns the path which goes from the file, up to the user folder, based on a node:
-parent_folder/current_folder/my_file">
- <span class="description">Returns the path which goes from the file, up to the user folder, based on a node:
-parent_folder/current_folder/my_file</span><pre>getPathFromUserFolder</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getPathFromVirtualRoot" title="getPathFromVirtualRoot :: Returns the path which goes from the file, up to the root folder of the Gallery:
-current_folder/my_file">
- <span class="description">Returns the path which goes from the file, up to the root folder of the Gallery:
-current_folder/my_file</span><pre>getPathFromVirtualRoot</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the resource identified by the given ID">
- <span class="description">Returns the resource identified by the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getSharedFolderName" title="getSharedFolderName :: Returns the name of shared folder">
- <span class="description">Returns the name of shared folder</span><pre>getSharedFolderName</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getSharedNode" title="getSharedNode :: Returns the shared node">
- <span class="description">Returns the shared node</span><pre>getSharedNode</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getSharePassword" title="getSharePassword :: Returns the password for the share, if there is one">
- <span class="description">Returns the password for the share, if there is one</span><pre>getSharePassword</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getUserId" title="getUserId :: Returns the userId of the currently logged-in user or the sharer">
- <span class="description">Returns the userId of the currently logged-in user or the sharer</span><pre>getUserId</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getVirtualRootFolder" title="getVirtualRootFolder :: Returns the virtual root where the user lands after logging in or when following a link">
- <span class="description">Returns the virtual root where the user lands after logging in or when following a link</span><pre>getVirtualRootFolder</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_setStandardEnv" title="setStandardEnv :: Creates the environment for a logged-in user">
- <span class="description">Creates the environment for a logged-in user</span><pre>setStandardEnv</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_setTokenBasedEnv" title="setTokenBasedEnv :: Creates the environment based on the linkItem the token links to">
- <span class="description">Creates the environment based on the linkItem the token links to</span><pre>setTokenBasedEnv</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_buildFromRootToFolder" title="buildFromRootToFolder :: Returns the path from the shared folder to the root folder in the original
-owner&#039;s filesystem: /userId/files/parent_folder/shared_folder">
- <span class="description">Returns the path from the shared folder to the root folder in the original
-owner&#039;s filesystem: /userId/files/parent_folder/shared_folder</span><pre>buildFromRootToFolder</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getRelativePath" title="getRelativePath :: Returns the path which goes from the file, up to the user folder, based on a path:
-parent_folder/current_folder/my_file">
- <span class="description">Returns the path which goes from the file, up to the user folder, based on a path:
-parent_folder/current_folder/my_file</span><pre>getRelativePath</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises an exception">
- <span class="description">Logs the error and raises an exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>Environment</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>remove the serverContainer once OCP\IUserManager has a getUserFolder() method</p>
- </td>
- </tr>
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Environment</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>__construct</h2>
- <pre>__construct( $appName, $userId, $userFolder, \OCP\IUserManager $userManager, \OCP\IServerContainer $serverContainer, \OCP\ILogger $logger) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$userId</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$userFolder</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$userManager</h4>
- <code>\OCP\IUserManager</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$serverContainer</h4>
- <code>\OCP\IServerContainer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_buildFromRootToFolder"></a>
- <div class="element clickable method private method_buildFromRootToFolder" data-toggle="collapse" data-target=".method_buildFromRootToFolder .collapse">
- <h2>Returns the path from the shared folder to the root folder in the original
-owner&#039;s filesystem: /userId/files/parent_folder/shared_folder</h2>
- <pre>buildFromRootToFolder(string $fileSource) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>This cannot be calculated with paths and IDs, the linkitem's file source is required</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fileSource</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getDisplayName"></a>
- <div class="element clickable method public method_getDisplayName" data-toggle="collapse" data-target=".method_getDisplayName .collapse">
- <h2>Returns the name of the user sharing files publicly</h2>
- <pre>getDisplayName() : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodeFromUserFolder"></a>
- <div class="element clickable method public method_getNodeFromUserFolder" data-toggle="collapse" data-target=".method_getNodeFromUserFolder .collapse">
- <h2>Returns the Node based on a path starting from the files&#039; owner user folder</h2>
- <pre>getNodeFromUserFolder(string $path) : \OCP\Files\File|\OCP\Files\Folder</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>When logged in, this is the current user's user folder
-When visiting a link, this is the sharer's user folder</p></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$path</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\File|\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodeFromVirtualRoot"></a>
- <div class="element clickable method public method_getNodeFromVirtualRoot" data-toggle="collapse" data-target=".method_getNodeFromVirtualRoot .collapse">
- <h2>Returns the Node based on a path starting from the virtual root</h2>
- <pre>getNodeFromVirtualRoot(string $subPath) : \OCP\Files\File|\OCP\Files\Folder</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subPath</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\File|\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getPathFromUserFolder"></a>
- <div class="element clickable method public method_getPathFromUserFolder" data-toggle="collapse" data-target=".method_getPathFromUserFolder .collapse">
- <h2>Returns the path which goes from the file, up to the user folder, based on a node:
-parent_folder/current_folder/my_file</h2>
- <pre>getPathFromUserFolder(\OCP\Files\Node $file) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>This is used for the preview system, which needs a full path</p>
-<p>getPath() on the file produces a path like:
-'/userId/files/my_folder/my_sub_folder/my_file'</p>
-<p>So we substract the path to the folder, giving us a relative path
-'my_folder/my_sub_folder/my_file'</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getPathFromVirtualRoot"></a>
- <div class="element clickable method public method_getPathFromVirtualRoot" data-toggle="collapse" data-target=".method_getPathFromVirtualRoot .collapse">
- <h2>Returns the path which goes from the file, up to the root folder of the Gallery:
-current_folder/my_file</h2>
- <pre>getPathFromVirtualRoot(\OCP\Files\File|\OCP\Files\Folder $node) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>That root folder changes when folders are shared publicly</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\File|\OCP\Files\Folder</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getRelativePath"></a>
- <div class="element clickable method private method_getRelativePath" data-toggle="collapse" data-target=".method_getRelativePath .collapse">
- <h2>Returns the path which goes from the file, up to the user folder, based on a path:
-parent_folder/current_folder/my_file</h2>
- <pre>getRelativePath(string $fullPath) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>getPath() on the file produces a path like:
-'/userId/files/my_folder/my_sub_folder/my_file'</p>
-<p>So we substract the path to the user folder, giving us a relative path
-'my_folder/my_sub_folder'</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fullPath</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the resource identified by the given ID</h2>
- <pre>getResourceFromId(integer $resourceId) : \OCP\Files\Node</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$resourceId</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getSharedFolderName"></a>
- <div class="element clickable method public method_getSharedFolderName" data-toggle="collapse" data-target=".method_getSharedFolderName .collapse">
- <h2>Returns the name of shared folder</h2>
- <pre>getSharedFolderName() : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getSharedNode"></a>
- <div class="element clickable method public method_getSharedNode" data-toggle="collapse" data-target=".method_getSharedNode .collapse">
- <h2>Returns the shared node</h2>
- <pre>getSharedNode() : \OCP\Files\File|\OCP\Files\Folder</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>\OCP\Files\File|\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getSharePassword"></a>
- <div class="element clickable method public method_getSharePassword" data-toggle="collapse" data-target=".method_getSharePassword .collapse">
- <h2>Returns the password for the share, if there is one</h2>
- <pre>getSharePassword() : string|null</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>string|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getUserId"></a>
- <div class="element clickable method public method_getUserId" data-toggle="collapse" data-target=".method_getUserId .collapse">
- <h2>Returns the userId of the currently logged-in user or the sharer</h2>
- <pre>getUserId() : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getVirtualRootFolder"></a>
- <div class="element clickable method public method_getVirtualRootFolder" data-toggle="collapse" data-target=".method_getVirtualRootFolder .collapse">
- <h2>Returns the virtual root where the user lands after logging in or when following a link</h2>
- <pre>getVirtualRootFolder() : \OCP\Files\Folder</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method private method_logAndThrowNotFound" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises an exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_setStandardEnv"></a>
- <div class="element clickable method public method_setStandardEnv" data-toggle="collapse" data-target=".method_setStandardEnv .collapse">
- <h2>Creates the environment for a logged-in user</h2>
- <pre>setStandardEnv() </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>userId and userFolder are already known, we define fromRootToFolder
-so that the services can use one method to have access to resources
-without having to know whether they're private or public</p></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- </div>
- </div>
-
- </div>
- <a id="method_setTokenBasedEnv"></a>
- <div class="element clickable method public method_setTokenBasedEnv" data-toggle="collapse" data-target=".method_setTokenBasedEnv .collapse">
- <h2>Creates the environment based on the linkItem the token links to</h2>
- <pre>setTokenBasedEnv(array $linkItem) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_appName"> </a>
- <div class="element clickable property private property_appName" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_userId"> </a>
- <div class="element clickable property private property_userId" data-toggle="collapse" data-target=".property_userId .collapse">
- <h2>The userId of the logged-in user or the person sharing a folder publicly</h2>
- <pre>userId : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_userFolder"> </a>
- <div class="element clickable property private property_userFolder" data-toggle="collapse" data-target=".property_userFolder .collapse">
- <h2>The userFolder of the logged-in user or the ORIGINAL owner of the files which are shared
-publicly</h2>
- <pre>userFolder : \OCP\Files\Folder|null</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>A share needs to be tracked back to its original owner in order to be able to access the
-resource</p></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\Files\Folder|null</code>
- </div>
- </div>
- </div>
- <a id="property_userManager"> </a>
- <div class="element clickable property private property_userManager" data-toggle="collapse" data-target=".property_userManager .collapse">
- <h2>userManager</h2>
- <pre>userManager : \OCP\IUserManager</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IUserManager</code>
- </div>
- </div>
- </div>
- <a id="property_sharedNodeId"> </a>
- <div class="element clickable property private property_sharedNodeId" data-toggle="collapse" data-target=".property_sharedNodeId .collapse">
- <h2>sharedNodeId</h2>
- <pre>sharedNodeId : integer</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>integer</code>
- </div>
- </div>
- </div>
- <a id="property_serverContainer"> </a>
- <div class="element clickable property private property_serverContainer" data-toggle="collapse" data-target=".property_serverContainer .collapse">
- <h2>serverContainer</h2>
- <pre>serverContainer : \OCP\IServerContainer</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IServerContainer</code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- <a id="property_fromRootToFolder"> </a>
- <div class="element clickable property private property_fromRootToFolder" data-toggle="collapse" data-target=".property_fromRootToFolder .collapse">
- <h2>The path to the userFolder for users with accounts: /userId/files</h2>
- <pre>fromRootToFolder : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>For public folders, it's the path from the shared folder to the root folder in the original
-owner's filesystem: /userId/files/parent_folder/shared_folder</p></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_folderName"> </a>
- <div class="element clickable property private property_folderName" data-toggle="collapse" data-target=".property_folderName .collapse">
- <h2>The name of the shared folder</h2>
- <pre>folderName : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_sharePassword"> </a>
- <div class="element clickable property private property_sharePassword" data-toggle="collapse" data-target=".property_sharePassword .collapse">
- <h2>sharePassword</h2>
- <pre>sharePassword : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Environment\Environment"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Environment.html">Environment</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Environment.Environment.html">Environment</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Environment.EnvironmentException.html b/build/documentation/api/classes/OCA.Gallery.Environment.EnvironmentException.html
deleted file mode 100644
index e6b1a561..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Environment.EnvironmentException.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Environment\EnvironmentException
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>EnvironmentException</h1>
- <small style="display: block; text-align: right">
- Extends \Exception
- </small>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>Default</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $msg) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$msg</h4>
- <code>string</code><p><p>the message contained in the exception</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Environment\EnvironmentException"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Environment.html">Environment</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Environment.EnvironmentException.html">EnvironmentException</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Environment.NotFoundEnvException.html b/build/documentation/api/classes/OCA.Gallery.Environment.NotFoundEnvException.html
deleted file mode 100644
index 6f5c068a..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Environment.NotFoundEnvException.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Environment\NotFoundEnvException
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>NotFoundEnvException</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Environment.EnvironmentException.html">\OCA\Gallery\Environment\EnvironmentException</a>
- </small>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>Default</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $msg) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$msg</h4>
- <code>string</code><p><p>the message contained in the exception</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Environment\NotFoundEnvException"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Environment.html">Environment</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html">NotFoundEnvException</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Http.ImageResponse.html b/build/documentation/api/classes/OCA.Gallery.Http.ImageResponse.html
deleted file mode 100644
index 911ffd46..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Http.ImageResponse.html
+++ /dev/null
@@ -1,295 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Http\ImageResponse
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_render" title="render :: Returns the rendered image">
- <span class="description">Returns the rendered image</span><pre>render</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>ImageResponse</h1>
- <small style="display: block; text-align: right">
- Extends \OCP\AppFramework\Http\Response
- </small>
- <p class="short_description">A renderer for images</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Http</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(array $image, integer $statusCode = \OCP\AppFramework\Http::STATUS_OK) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$image</h4>
- <code>array</code><p><p>image meta data</p></p>
- </div>
- <div class="subelement argument">
- <h4>$statusCode</h4>
- <code>integer</code><p><p>the HTTP status code, defaults to 200</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_render"></a>
- <div class="element clickable method public method_render" data-toggle="collapse" data-target=".method_render .collapse">
- <h2>Returns the rendered image</h2>
- <pre>render() : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>string</code><p><p>the file</p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_preview"> </a>
- <div class="element clickable property private property_preview" data-toggle="collapse" data-target=".property_preview .collapse">
- <h2>preview</h2>
- <pre>preview : \OC_Image|string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OC_Image|string</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Http\ImageResponse"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Http.html">Http</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Http.ImageResponse.html">ImageResponse</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Middleware.CheckException.html b/build/documentation/api/classes/OCA.Gallery.Middleware.CheckException.html
deleted file mode 100644
index ddf6e7f1..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Middleware.CheckException.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Middleware\CheckException
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>CheckException</h1>
- <small style="display: block; text-align: right">
- Extends \Exception
- </small>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Middleware</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $msg, integer $code) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$msg</h4>
- <code>string</code><p><p>the message contained in the exception</p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p><p>the HTTP status code</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Middleware\CheckException"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Middleware.html">Middleware</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Middleware.CheckException.html">CheckException</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Middleware.CheckMiddleware.html b/build/documentation/api/classes/OCA.Gallery.Middleware.CheckMiddleware.html
deleted file mode 100644
index 3c3b3701..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Middleware.CheckMiddleware.html
+++ /dev/null
@@ -1,650 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Middleware\CheckMiddleware
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: ">
- <span class="description"></span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_afterException" title="afterException :: If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page">
- <span class="description">If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page</span><pre>afterException</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected">
- <a href="#method_logAndThrow" title="logAndThrow :: Logs the error and raises an exception">
- <span class="description">Logs the error and raises an exception</span><pre>logAndThrow</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_computeResponse" title="computeResponse :: Decides which type of response to send">
- <span class="description">Decides which type of response to send</span><pre>computeResponse</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_redirectToErrorPage" title="redirectToErrorPage :: Redirects the client to an error page">
- <span class="description">Redirects the client to an error page</span><pre>redirectToErrorPage</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_sendHtml401" title="sendHtml401 :: Shows an authentication form">
- <span class="description">Shows an authentication form</span><pre>sendHtml401</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_sendHtmlResponse" title="sendHtmlResponse :: Redirects the client to an error page or shows an authentication form">
- <span class="description">Redirects the client to an error page or shows an authentication form</span><pre>sendHtmlResponse</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_sendJsonResponse" title="sendJsonResponse :: Returns a JSON response to the client">
- <span class="description">Returns a JSON response to the client</span><pre>sendJsonResponse</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>CheckMiddleware</h1>
- <small style="display: block; text-align: right">
- Extends \OCP\AppFramework\Middleware
- </small>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Middleware</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>__construct</h2>
- <pre>__construct( $appName, \OCP\IRequest $request, \OCP\IURLGenerator $urlGenerator, \OCP\ILogger $logger) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$urlGenerator</h4>
- <code>\OCP\IURLGenerator</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_afterException"></a>
- <div class="element clickable method public method_afterException" data-toggle="collapse" data-target=".method_afterException .collapse">
- <h2>If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page</h2>
- <pre>afterException( $controller, $methodName, \Exception $exception) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- inheritDoc
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$controller</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$methodName</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_computeResponse"></a>
- <div class="element clickable method private method_computeResponse" data-toggle="collapse" data-target=".method_computeResponse .collapse">
- <h2>Decides which type of response to send</h2>
- <pre>computeResponse(string $message, integer $code) : \OCP\AppFramework\Http\JSONResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrow"></a>
- <div class="element clickable method protected method_logAndThrow" data-toggle="collapse" data-target=".method_logAndThrow .collapse">
- <h2>Logs the error and raises an exception</h2>
- <pre>logAndThrow(string $message, integer $code) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_redirectToErrorPage"></a>
- <div class="element clickable method private method_redirectToErrorPage" data-toggle="collapse" data-target=".method_redirectToErrorPage .collapse">
- <h2>Redirects the client to an error page</h2>
- <pre>redirectToErrorPage(string $message, integer $code) : \OCP\AppFramework\Http\RedirectResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\RedirectResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendHtml401"></a>
- <div class="element clickable method private method_sendHtml401" data-toggle="collapse" data-target=".method_sendHtml401 .collapse">
- <h2>Shows an authentication form</h2>
- <pre>sendHtml401() : \OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendHtmlResponse"></a>
- <div class="element clickable method private method_sendHtmlResponse" data-toggle="collapse" data-target=".method_sendHtmlResponse .collapse">
- <h2>Redirects the client to an error page or shows an authentication form</h2>
- <pre>sendHtmlResponse(string $message, integer $code) : \OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendJsonResponse"></a>
- <div class="element clickable method private method_sendJsonResponse" data-toggle="collapse" data-target=".method_sendJsonResponse .collapse">
- <h2>Returns a JSON response to the client</h2>
- <pre>sendJsonResponse(string $message, integer $code) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_request"> </a>
- <div class="element clickable property protected property_request" data-toggle="collapse" data-target=".property_request .collapse">
- <h2>request</h2>
- <pre>request : \OCP\IRequest</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IRequest</code>
- </div>
- </div>
- </div>
- <a id="property_urlGenerator"> </a>
- <div class="element clickable property private property_urlGenerator" data-toggle="collapse" data-target=".property_urlGenerator .collapse">
- <h2>urlGenerator</h2>
- <pre>urlGenerator : \OCP\IURLGenerator</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IURLGenerator</code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Middleware\CheckMiddleware"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Middleware.html">Middleware</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">CheckMiddleware</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html b/build/documentation/api/classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html
deleted file mode 100644
index 2b7eb192..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html
+++ /dev/null
@@ -1,1296 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Middleware\EnvCheckMiddleware
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: ">
- <span class="description"></span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_afterException" title="afterException :: If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page">
- <span class="description">If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page</span><pre>afterException</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_beforeController" title="beforeController :: Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it">
- <span class="description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</span><pre>beforeController</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected inherited">
- <a href="#method_logAndThrow" title="logAndThrow :: Logs the error and raises an exception">
- <span class="description">Logs the error and raises an exception</span><pre>logAndThrow</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_authenticate" title="authenticate :: Authenticate link item with the given password
-or with the session if no password was given.">
- <span class="description">Authenticate link item with the given password
-or with the session if no password was given.</span><pre>authenticate</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_checkAuthorisation" title="checkAuthorisation :: Checks if a password is required or if the one supplied is working">
- <span class="description">Checks if a password is required or if the one supplied is working</span><pre>checkAuthorisation</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_checkItemType" title="checkItemType :: Makes sure an item type was set for that token">
- <span class="description">Makes sure an item type was set for that token</span><pre>checkItemType</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_checkLinkItemExists" title="checkLinkItemExists :: Makes sure that the token exists">
- <span class="description">Makes sure that the token exists</span><pre>checkLinkItemExists</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_checkLinkItemIsValid" title="checkLinkItemIsValid :: Makes sure that the token contains all the information that we need">
- <span class="description">Makes sure that the token contains all the information that we need</span><pre>checkLinkItemIsValid</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_checkPassword" title="checkPassword :: Validates the given password">
- <span class="description">Validates the given password</span><pre>checkPassword</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_checkSession" title="checkSession :: Makes sure the user is already properly authenticated when a password is required and none
-was provided">
- <span class="description">Makes sure the user is already properly authenticated when a password is required and none
-was provided</span><pre>checkSession</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_computeResponse" title="computeResponse :: Decides which type of response to send">
- <span class="description">Decides which type of response to send</span><pre>computeResponse</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getLinkItem" title="getLinkItem :: Validates a token to make sure its linked to a valid resource">
- <span class="description">Validates a token to make sure its linked to a valid resource</span><pre>getLinkItem</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_noTokenFound" title="noTokenFound :: Throws an exception because no token was provided">
- <span class="description">Throws an exception because no token was provided</span><pre>noTokenFound</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_redirectToErrorPage" title="redirectToErrorPage :: Redirects the client to an error page">
- <span class="description">Redirects the client to an error page</span><pre>redirectToErrorPage</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_sendHtml401" title="sendHtml401 :: Shows an authentication form">
- <span class="description">Shows an authentication form</span><pre>sendHtml401</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_sendHtmlResponse" title="sendHtmlResponse :: Redirects the client to an error page or shows an authentication form">
- <span class="description">Redirects the client to an error page or shows an authentication form</span><pre>sendHtmlResponse</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_sendJsonResponse" title="sendJsonResponse :: Returns a JSON response to the client">
- <span class="description">Returns a JSON response to the client</span><pre>sendJsonResponse</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_validateAndSetTokenBasedEnv" title="validateAndSetTokenBasedEnv :: Checks that we have a token and an optional password giving access to a
-valid resource. Sets the token based environment after that">
- <span class="description">Checks that we have a token and an optional password giving access to a
-valid resource. Sets the token based environment after that</span><pre>validateAndSetTokenBasedEnv</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>EnvCheckMiddleware</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Middleware.CheckMiddleware.html">\OCA\Gallery\Middleware\CheckMiddleware</a>
- </small>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details">
- <div class="long_description">
- <p>Once all checks have been passed, the environment is ready to use</p>
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Middleware</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>__construct</h2>
- <pre>__construct( $appName, \OCP\IRequest $request, \OCP\IURLGenerator $urlGenerator, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$urlGenerator</h4>
- <code>\OCP\IURLGenerator</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_afterException"></a>
- <div class="element clickable method public method_afterException inherited" data-toggle="collapse" data-target=".method_afterException .collapse">
- <h2>If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page</h2>
- <pre>afterException( $controller, $methodName, \Exception $exception) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- inheritDoc
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$controller</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$methodName</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_authenticate"></a>
- <div class="element clickable method private method_authenticate" data-toggle="collapse" data-target=".method_authenticate .collapse">
- <h2>Authenticate link item with the given password
-or with the session if no password was given.</h2>
- <pre>authenticate(array|boolean $linkItem, string $password) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- fixme
- </th>
- <td>
-
- <p>@LukasReschke says: Migrate old hashes to new hash format
-Due to the fact that there is no reasonable functionality to update the password
-of an existing share no migration is yet performed there.
-The only possibility is to update the existing share which will result in a new
-share ID and is a major hack.</p>
-<p>In the future the migration should be performed once there is a proper method
-to update the share's password. (for example <code>$share-&gt;updatePassword($password)</code></p>
- </td>
- </tr>
- <tr>
- <th>
- link
- </th>
- <td>
-
- <p><a href="https://github.com/owncloud/core/issues/10671">https://github.com/owncloud/core/issues/10671</a></p>
- </td>
- </tr>
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array|boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$password</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p><p>true if authorized, an exception is raised otherwise</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_beforeController"></a>
- <div class="element clickable method public method_beforeController" data-toggle="collapse" data-target=".method_beforeController .collapse">
- <h2>Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</h2>
- <pre>beforeController( $controller, $methodName) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>Inspects the controller method annotations and if PublicPage is found
-it checks that we have a token and an optional password giving access to a valid resource.
-Once that's done, the environment is setup so that our services can find the resources they
-need.</p>
-<p>The checks are not performed on &quot;guest&quot; pages and the environment is not setup. Typical
-guest pages are anonymous error ages</p></div>
-
- <table class="table">
- <tr>
- <th>
- inheritDoc
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$controller</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$methodName</h4>
- <code></code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_checkAuthorisation"></a>
- <div class="element clickable method private method_checkAuthorisation" data-toggle="collapse" data-target=".method_checkAuthorisation .collapse">
- <h2>Checks if a password is required or if the one supplied is working</h2>
- <pre>checkAuthorisation(array|boolean $linkItem, string|null $password) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array|boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$password</h4>
- <code>string|null</code><p><p>optional password</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_checkItemType"></a>
- <div class="element clickable method private method_checkItemType" data-toggle="collapse" data-target=".method_checkItemType .collapse">
- <h2>Makes sure an item type was set for that token</h2>
- <pre>checkItemType(array|boolean $linkItem) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array|boolean</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_checkLinkItemExists"></a>
- <div class="element clickable method private method_checkLinkItemExists" data-toggle="collapse" data-target=".method_checkLinkItemExists .collapse">
- <h2>Makes sure that the token exists</h2>
- <pre>checkLinkItemExists(array|boolean $linkItem) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array|boolean</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_checkLinkItemIsValid"></a>
- <div class="element clickable method private method_checkLinkItemIsValid" data-toggle="collapse" data-target=".method_checkLinkItemIsValid .collapse">
- <h2>Makes sure that the token contains all the information that we need</h2>
- <pre>checkLinkItemIsValid(array|boolean $linkItem, string $token) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array|boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$token</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_checkPassword"></a>
- <div class="element clickable method private method_checkPassword" data-toggle="collapse" data-target=".method_checkPassword .collapse">
- <h2>Validates the given password</h2>
- <pre>checkPassword(array|boolean $linkItem, string $password) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array|boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$password</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_checkSession"></a>
- <div class="element clickable method private method_checkSession" data-toggle="collapse" data-target=".method_checkSession .collapse">
- <h2>Makes sure the user is already properly authenticated when a password is required and none
-was provided</h2>
- <pre>checkSession(array|boolean $linkItem) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$linkItem</h4>
- <code>array|boolean</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_computeResponse"></a>
- <div class="element clickable method private method_computeResponse inherited" data-toggle="collapse" data-target=".method_computeResponse .collapse">
- <h2>Decides which type of response to send</h2>
- <pre>computeResponse(string $message, integer $code) : \OCP\AppFramework\Http\JSONResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getLinkItem"></a>
- <div class="element clickable method private method_getLinkItem" data-toggle="collapse" data-target=".method_getLinkItem .collapse">
- <h2>Validates a token to make sure its linked to a valid resource</h2>
- <pre>getLinkItem(string $token) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>Logic mostly duplicated from @see \OCA\Files_Sharing\Helper</p></div>
-
- <table class="table">
- <tr>
- <th>
- fixme
- </th>
- <td>
-
- <p>setIncognitoMode in 8.1 <a href="https://github.com/owncloud/core/pull/12912">https://github.com/owncloud/core/pull/12912</a></p>
- </td>
- </tr>
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$token</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrow"></a>
- <div class="element clickable method protected method_logAndThrow inherited" data-toggle="collapse" data-target=".method_logAndThrow .collapse">
- <h2>Logs the error and raises an exception</h2>
- <pre>logAndThrow(string $message, integer $code) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_noTokenFound"></a>
- <div class="element clickable method private method_noTokenFound" data-toggle="collapse" data-target=".method_noTokenFound .collapse">
- <h2>Throws an exception because no token was provided</h2>
- <pre>noTokenFound() </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- </div>
- </div>
-
- </div>
- <a id="method_redirectToErrorPage"></a>
- <div class="element clickable method private method_redirectToErrorPage inherited" data-toggle="collapse" data-target=".method_redirectToErrorPage .collapse">
- <h2>Redirects the client to an error page</h2>
- <pre>redirectToErrorPage(string $message, integer $code) : \OCP\AppFramework\Http\RedirectResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\RedirectResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendHtml401"></a>
- <div class="element clickable method private method_sendHtml401 inherited" data-toggle="collapse" data-target=".method_sendHtml401 .collapse">
- <h2>Shows an authentication form</h2>
- <pre>sendHtml401() : \OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendHtmlResponse"></a>
- <div class="element clickable method private method_sendHtmlResponse inherited" data-toggle="collapse" data-target=".method_sendHtmlResponse .collapse">
- <h2>Redirects the client to an error page or shows an authentication form</h2>
- <pre>sendHtmlResponse(string $message, integer $code) : \OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendJsonResponse"></a>
- <div class="element clickable method private method_sendJsonResponse inherited" data-toggle="collapse" data-target=".method_sendJsonResponse .collapse">
- <h2>Returns a JSON response to the client</h2>
- <pre>sendJsonResponse(string $message, integer $code) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_validateAndSetTokenBasedEnv"></a>
- <div class="element clickable method private method_validateAndSetTokenBasedEnv" data-toggle="collapse" data-target=".method_validateAndSetTokenBasedEnv .collapse">
- <h2>Checks that we have a token and an optional password giving access to a
-valid resource. Sets the token based environment after that</h2>
- <pre>validateAndSetTokenBasedEnv() </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_hasher"> </a>
- <div class="element clickable property private property_hasher" data-toggle="collapse" data-target=".property_hasher .collapse">
- <h2>hasher</h2>
- <pre>hasher : \OCP\Security\IHasher</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\Security\IHasher</code>
- </div>
- </div>
- </div>
- <a id="property_session"> </a>
- <div class="element clickable property private property_session" data-toggle="collapse" data-target=".property_session .collapse">
- <h2>session</h2>
- <pre>session : \OCP\ISession</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ISession</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property private property_environment" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_reflector"> </a>
- <div class="element clickable property protected property_reflector" data-toggle="collapse" data-target=".property_reflector .collapse">
- <h2>reflector</h2>
- <pre>reflector : \OCP\AppFramework\Utility\IControllerMethodReflector</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\AppFramework\Utility\IControllerMethodReflector</code>
- </div>
- </div>
- </div>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_request"> </a>
- <div class="element clickable property protected property_request inherited" data-toggle="collapse" data-target=".property_request .collapse">
- <h2>request</h2>
- <pre>request : \OCP\IRequest</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IRequest</code>
- </div>
- </div>
- </div>
- <a id="property_urlGenerator"> </a>
- <div class="element clickable property private property_urlGenerator inherited" data-toggle="collapse" data-target=".property_urlGenerator .collapse">
- <h2>urlGenerator</h2>
- <pre>urlGenerator : \OCP\IURLGenerator</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IURLGenerator</code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Middleware\EnvCheckMiddleware"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Middleware.html">Middleware</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">EnvCheckMiddleware</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html b/build/documentation/api/classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html
deleted file mode 100644
index af59bb2a..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html
+++ /dev/null
@@ -1,796 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Middleware\SharingCheckMiddleware
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: ">
- <span class="description"></span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_afterException" title="afterException :: If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page">
- <span class="description">If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page</span><pre>afterException</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_beforeController" title="beforeController :: Check if sharing is enabled before the controllers is executed">
- <span class="description">Check if sharing is enabled before the controllers is executed</span><pre>beforeController</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected inherited">
- <a href="#method_logAndThrow" title="logAndThrow :: Logs the error and raises an exception">
- <span class="description">Logs the error and raises an exception</span><pre>logAndThrow</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private inherited">
- <a href="#method_computeResponse" title="computeResponse :: Decides which type of response to send">
- <span class="description">Decides which type of response to send</span><pre>computeResponse</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isSharingEnabled" title="isSharingEnabled :: Checks whether public sharing (via links) is enabled">
- <span class="description">Checks whether public sharing (via links) is enabled</span><pre>isSharingEnabled</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_redirectToErrorPage" title="redirectToErrorPage :: Redirects the client to an error page">
- <span class="description">Redirects the client to an error page</span><pre>redirectToErrorPage</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_sendHtml401" title="sendHtml401 :: Shows an authentication form">
- <span class="description">Shows an authentication form</span><pre>sendHtml401</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_sendHtmlResponse" title="sendHtmlResponse :: Redirects the client to an error page or shows an authentication form">
- <span class="description">Redirects the client to an error page or shows an authentication form</span><pre>sendHtmlResponse</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_sendJsonResponse" title="sendJsonResponse :: Returns a JSON response to the client">
- <span class="description">Returns a JSON response to the client</span><pre>sendJsonResponse</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>SharingCheckMiddleware</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Middleware.CheckMiddleware.html">\OCA\Gallery\Middleware\CheckMiddleware</a>
- </small>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\SharingCheckMiddleware</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>__construct</h2>
- <pre>__construct( $appName, \OCP\IRequest $request, \OCP\IURLGenerator $urlGenerator, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$request</h4>
- <code>\OCP\IRequest</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$urlGenerator</h4>
- <code>\OCP\IURLGenerator</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_afterException"></a>
- <div class="element clickable method public method_afterException inherited" data-toggle="collapse" data-target=".method_afterException .collapse">
- <h2>If a CheckException is being caught, clients who sent an ajax requests
-get a JSON error response while the others are redirected to an error
-page</h2>
- <pre>afterException( $controller, $methodName, \Exception $exception) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- inheritDoc
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$controller</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$methodName</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_beforeController"></a>
- <div class="element clickable method public method_beforeController" data-toggle="collapse" data-target=".method_beforeController .collapse">
- <h2>Check if sharing is enabled before the controllers is executed</h2>
- <pre>beforeController( $controller, $methodName) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>Inspects the controller method annotations and if PublicPage is found
-it makes sure that sharing is enabled in the configuration settings</p>
-<p>The check is not performed on &quot;guest&quot; pages which don't require sharing
-to be enabled</p></div>
-
- <table class="table">
- <tr>
- <th>
- inheritDoc
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$controller</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$methodName</h4>
- <code></code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_computeResponse"></a>
- <div class="element clickable method private method_computeResponse inherited" data-toggle="collapse" data-target=".method_computeResponse .collapse">
- <h2>Decides which type of response to send</h2>
- <pre>computeResponse(string $message, integer $code) : \OCP\AppFramework\Http\JSONResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse|\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isSharingEnabled"></a>
- <div class="element clickable method private method_isSharingEnabled" data-toggle="collapse" data-target=".method_isSharingEnabled .collapse">
- <h2>Checks whether public sharing (via links) is enabled</h2>
- <pre>isSharingEnabled() : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrow"></a>
- <div class="element clickable method protected method_logAndThrow inherited" data-toggle="collapse" data-target=".method_logAndThrow .collapse">
- <h2>Logs the error and raises an exception</h2>
- <pre>logAndThrow(string $message, integer $code) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_redirectToErrorPage"></a>
- <div class="element clickable method private method_redirectToErrorPage inherited" data-toggle="collapse" data-target=".method_redirectToErrorPage .collapse">
- <h2>Redirects the client to an error page</h2>
- <pre>redirectToErrorPage(string $message, integer $code) : \OCP\AppFramework\Http\RedirectResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\RedirectResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendHtml401"></a>
- <div class="element clickable method private method_sendHtml401 inherited" data-toggle="collapse" data-target=".method_sendHtml401 .collapse">
- <h2>Shows an authentication form</h2>
- <pre>sendHtml401() : \OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendHtmlResponse"></a>
- <div class="element clickable method private method_sendHtmlResponse inherited" data-toggle="collapse" data-target=".method_sendHtmlResponse .collapse">
- <h2>Redirects the client to an error page or shows an authentication form</h2>
- <pre>sendHtmlResponse(string $message, integer $code) : \OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\RedirectResponse|\OCP\AppFramework\Http\TemplateResponse</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendJsonResponse"></a>
- <div class="element clickable method private method_sendJsonResponse inherited" data-toggle="collapse" data-target=".method_sendJsonResponse .collapse">
- <h2>Returns a JSON response to the client</h2>
- <pre>sendJsonResponse(string $message, integer $code) : \OCP\AppFramework\Http\JSONResponse</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$code</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\AppFramework\Http\JSONResponse</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_config"> </a>
- <div class="element clickable property private property_config" data-toggle="collapse" data-target=".property_config .collapse">
- <h2>config</h2>
- <pre>config : \OCP\IConfig</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IConfig</code>
- </div>
- </div>
- </div>
- <a id="property_reflector"> </a>
- <div class="element clickable property protected property_reflector" data-toggle="collapse" data-target=".property_reflector .collapse">
- <h2>reflector</h2>
- <pre>reflector : \OCP\AppFramework\Utility\IControllerMethodReflector</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\AppFramework\Utility\IControllerMethodReflector</code>
- </div>
- </div>
- </div>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_request"> </a>
- <div class="element clickable property protected property_request inherited" data-toggle="collapse" data-target=".property_request .collapse">
- <h2>request</h2>
- <pre>request : \OCP\IRequest</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IRequest</code>
- </div>
- </div>
- </div>
- <a id="property_urlGenerator"> </a>
- <div class="element clickable property private property_urlGenerator inherited" data-toggle="collapse" data-target=".property_urlGenerator .collapse">
- <h2>urlGenerator</h2>
- <pre>urlGenerator : \OCP\IURLGenerator</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\IURLGenerator</code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Middleware\SharingCheckMiddleware"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Middleware.html">Middleware</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">SharingCheckMiddleware</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Preview.Preview.html b/build/documentation/api/classes/OCA.Gallery.Preview.Preview.html
deleted file mode 100644
index 8a3a5ba5..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Preview.Preview.html
+++ /dev/null
@@ -1,904 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Preview\Preview
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_isMimeSupported" title="isMimeSupported :: Returns true if the passed mime type is supported">
- <span class="description">Returns true if the passed mime type is supported</span><pre>isMimeSupported</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_preparePreview" title="preparePreview :: Returns a preview based on OC&#039;s preview class and our custom methods">
- <span class="description">Returns a preview based on OC&#039;s preview class and our custom methods</span><pre>preparePreview</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_previewValidator" title="previewValidator :: Makes sure we return previews of the asked dimensions and fix the cache
-if necessary">
- <span class="description">Makes sure we return previews of the asked dimensions and fix the cache
-if necessary</span><pre>previewValidator</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_setupView" title="setupView :: Initialises the view which will be used to access files and generate previews">
- <span class="description">Initialises the view which will be used to access files and generate previews</span><pre>setupView</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_calculateNewDimensions" title="calculateNewDimensions :: Calculates the new dimensions so that it fits in the dimensions requested by the client">
- <span class="description">Calculates the new dimensions so that it fits in the dimensions requested by the client</span><pre>calculateNewDimensions</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_fixPreview" title="fixPreview :: Makes a preview fit in the asked dimension and, if required, fills the empty space">
- <span class="description">Makes a preview fit in the asked dimension and, if required, fills the empty space</span><pre>fixPreview</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_fixPreviewCache" title="fixPreviewCache :: Fixes the preview cache by replacing the broken thumbnail with ours">
- <span class="description">Fixes the preview cache by replacing the broken thumbnail with ours</span><pre>fixPreviewCache</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getPreviewFromCore" title="getPreviewFromCore :: Asks core for a preview based on our criteria">
- <span class="description">Asks core for a preview based on our criteria</span><pre>getPreviewFromCore</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_processPreview" title="processPreview :: Mixes a transparent background with a resized foreground preview">
- <span class="description">Mixes a transparent background with a resized foreground preview</span><pre>processPreview</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_resize" title="resize :: Makes a preview fit in the asked dimension and, if required, fills the empty space">
- <span class="description">Makes a preview fit in the asked dimension and, if required, fills the empty space</span><pre>resize</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>Preview</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description">Generates previews</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>On OC8.2, replace \OC\Preview with IPreview</p>
- </td>
- </tr>
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Preview</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(\OCP\IConfig $config, \OCP\IPreview $previewManager, \OCP\ILogger $logger) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$config</h4>
- <code>\OCP\IConfig</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewManager</h4>
- <code>\OCP\IPreview</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_calculateNewDimensions"></a>
- <div class="element clickable method private method_calculateNewDimensions" data-toggle="collapse" data-target=".method_calculateNewDimensions .collapse">
- <h2>Calculates the new dimensions so that it fits in the dimensions requested by the client</h2>
- <pre>calculateNewDimensions(integer $previewWidth, integer $previewHeight, integer $maxWidth, integer $maxHeight) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- link
- </th>
- <td>
-
- <p><a href="https://stackoverflow.com/questions/3050952/resize-an-image-and-fill-gaps-of-proportions-with-a-color">https://stackoverflow.com/questions/3050952/resize-an-image-and-fill-gaps-of-proportions-with-a-color</a></p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$previewWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxHeight</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_fixPreview"></a>
- <div class="element clickable method private method_fixPreview" data-toggle="collapse" data-target=".method_fixPreview .collapse">
- <h2>Makes a preview fit in the asked dimension and, if required, fills the empty space</h2>
- <pre>fixPreview(\OC_Image $previewData, integer $previewWidth, integer $previewHeight, integer $maxWidth, integer $maxHeight, boolean $square) : \OC_Image</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$previewData</h4>
- <code>\OC_Image</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OC_Image</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_fixPreviewCache"></a>
- <div class="element clickable method private method_fixPreviewCache" data-toggle="collapse" data-target=".method_fixPreviewCache .collapse">
- <h2>Fixes the preview cache by replacing the broken thumbnail with ours</h2>
- <pre>fixPreviewCache(resource $fixedPreview) : \OC_Image</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>WARNING: Will break if the thumbnail folder ever moves or if encryption is turned on for
-thumbnails</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$fixedPreview</h4>
- <code>resource</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OC_Image</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getPreviewFromCore"></a>
- <div class="element clickable method private method_getPreviewFromCore" data-toggle="collapse" data-target=".method_getPreviewFromCore .collapse">
- <h2>Asks core for a preview based on our criteria</h2>
- <pre>getPreviewFromCore(boolean $keepAspect) : \OC_Image</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>Need to read scaling setting from settings</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$keepAspect</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OC_Image</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isMimeSupported"></a>
- <div class="element clickable method public method_isMimeSupported" data-toggle="collapse" data-target=".method_isMimeSupported .collapse">
- <h2>Returns true if the passed mime type is supported</h2>
- <pre>isMimeSupported(string $mimeType = &#039;*&#039;) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$mimeType</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_preparePreview"></a>
- <div class="element clickable method public method_preparePreview" data-toggle="collapse" data-target=".method_preparePreview .collapse">
- <h2>Returns a preview based on OC&#039;s preview class and our custom methods</h2>
- <pre>preparePreview(integer $maxWidth, integer $maxHeight, boolean $keepAspect) : \OCA\Gallery\Preview\array&lt;string,string|\OC_Image&gt;|false</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>We check that the preview returned by the Preview class can be used by
-the browser. If not, we send the mime icon and change the status code so
-that the client knows that the process has failed.</p></div>
-
- <table class="table">
- <tr>
- <th>
- fixme
- </th>
- <td>
-
- <p>setKeepAspect is missing from public interface.
-<a href="https://github.com/owncloud/core/issues/12772">https://github.com/owncloud/core/issues/12772</a></p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$maxWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$keepAspect</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Preview\array<string,string|\OC_Image>|false</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_previewValidator"></a>
- <div class="element clickable method public method_previewValidator" data-toggle="collapse" data-target=".method_previewValidator .collapse">
- <h2>Makes sure we return previews of the asked dimensions and fix the cache
-if necessary</h2>
- <pre>previewValidator(boolean $square) : \OC_Image</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>The Preview class sometimes return previews which are either wider or
-smaller than the asked dimensions. This happens when one of the original
-dimension is smaller than what is asked for</p>
-<p>For square previews, we also need to make sure the entire surface is filled in order to make
-it easier to work with when building albums</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OC_Image</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_processPreview"></a>
- <div class="element clickable method private method_processPreview" data-toggle="collapse" data-target=".method_processPreview .collapse">
- <h2>Mixes a transparent background with a resized foreground preview</h2>
- <pre>processPreview(\OC_Image $previewData, integer $previewWidth, integer $previewHeight, integer $newWidth, integer $newHeight, integer $maxWidth, integer $maxHeight, integer $newX, integer $newY) : resource</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$previewData</h4>
- <code>\OC_Image</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$newWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$newHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$newX</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$newY</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>resource</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_resize"></a>
- <div class="element clickable method private method_resize" data-toggle="collapse" data-target=".method_resize .collapse">
- <h2>Makes a preview fit in the asked dimension and, if required, fills the empty space</h2>
- <pre>resize(\OC_Image $previewData, integer $previewWidth, integer $previewHeight, integer $maxWidth, integer $maxHeight, boolean $fill) : resource</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$previewData</h4>
- <code>\OC_Image</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$previewHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxWidth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxHeight</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$fill</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>resource</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_setupView"></a>
- <div class="element clickable method public method_setupView" data-toggle="collapse" data-target=".method_setupView .collapse">
- <h2>Initialises the view which will be used to access files and generate previews</h2>
- <pre>setupView(string $userId, \OCP\Files\File $file, string $imagePathFromFolder) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- fixme
- </th>
- <td>
-
- <p>Private API, but can't use the PreviewManager yet as it's incomplete</p>
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$userId</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$imagePathFromFolder</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_dataDir"> </a>
- <div class="element clickable property private property_dataDir" data-toggle="collapse" data-target=".property_dataDir .collapse">
- <h2>dataDir</h2>
- <pre>dataDir : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_previewManager"> </a>
- <div class="element clickable property private property_previewManager" data-toggle="collapse" data-target=".property_previewManager .collapse">
- <h2>previewManager</h2>
- <pre>previewManager : mixed</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>mixed</code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property private property_logger" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- <a id="property_userId"> </a>
- <div class="element clickable property private property_userId" data-toggle="collapse" data-target=".property_userId .collapse">
- <h2>userId</h2>
- <pre>userId : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_preview"> </a>
- <div class="element clickable property private property_preview" data-toggle="collapse" data-target=".property_preview .collapse">
- <h2>preview</h2>
- <pre>preview : \OC\Preview</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OC\Preview</code>
- </div>
- </div>
- </div>
- <a id="property_file"> </a>
- <div class="element clickable property private property_file" data-toggle="collapse" data-target=".property_file .collapse">
- <h2>file</h2>
- <pre>file : \OCP\Files\File</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\Files\File</code>
- </div>
- </div>
- </div>
- <a id="property_dims"> </a>
- <div class="element clickable property private property_dims" data-toggle="collapse" data-target=".property_dims .collapse">
- <h2>dims</h2>
- <pre>dims : array&lt;mixed,integer&gt;</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,integer&gt;</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Preview\Preview"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Preview.html">Preview</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Preview.Preview.html">Preview</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.Base64Encode.html b/build/documentation/api/classes/OCA.Gallery.Service.Base64Encode.html
deleted file mode 100644
index df8a278b..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.Base64Encode.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\Base64Encode
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected">
- <a href="#method_encode" title="encode :: Returns base64 encoded data of a preview">
- <span class="description">Returns base64 encoded data of a preview</span><pre>encode</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>Base64Encode</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method_encode"></a>
- <div class="element clickable method protected method_encode" data-toggle="collapse" data-target=".method_encode .collapse">
- <h2>Returns base64 encoded data of a preview</h2>
- <pre>encode(\OC_Image|string $previewData) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>Using base64_encode for files which are downloaded
-(cached Thumbnails, SVG, GIFs) and using __toStrings
-for the previews which are instances of \OC_Image</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$previewData</h4>
- <code>\OC_Image|string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Service\Base64Encode"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.Base64Encode.html">Base64Encode</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.ConfigParser.html b/build/documentation/api/classes/OCA.Gallery.Service.ConfigParser.html
deleted file mode 100644
index 50a796c6..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.ConfigParser.html
+++ /dev/null
@@ -1,545 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\ConfigParser
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method_getFeaturesList" title="getFeaturesList :: Returns a parsed global configuration if one was found in the root folder">
- <span class="description">Returns a parsed global configuration if one was found in the root folder</span><pre>getFeaturesList</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getFolderConfig" title="getFolderConfig :: Returns a parsed configuration if one was found in the current folder">
- <span class="description">Returns a parsed configuration if one was found in the current folder</span><pre>getFolderConfig</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_addConfigItem" title="addConfigItem :: Adds a config sub-section to the global config">
- <span class="description">Adds a config sub-section to the global config</span><pre>addConfigItem</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_bomFixer" title="bomFixer :: Removes the BOM from a file">
- <span class="description">Removes the BOM from a file</span><pre>bomFixer</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_buildAlbumConfig" title="buildAlbumConfig :: Returns either the local config or one merged with a config containing sorting information">
- <span class="description">Returns either the local config or one merged with a config containing sorting information</span><pre>buildAlbumConfig</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isConfigInheritable" title="isConfigInheritable :: Determines if we can use a configuration sub-section found in parent folders">
- <span class="description">Determines if we can use a configuration sub-section found in parent folders</span><pre>isConfigInheritable</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isConfigItemComplete" title="isConfigItemComplete :: Determines if we already have everything we need for this configuration sub-section">
- <span class="description">Determines if we already have everything we need for this configuration sub-section</span><pre>isConfigItemComplete</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isConfigUsable" title="isConfigUsable :: Determines if we can use this configuration sub-section">
- <span class="description">Determines if we can use this configuration sub-section</span><pre>isConfigUsable</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_parseConfig" title="parseConfig :: Returns a parsed configuration">
- <span class="description">Returns a parsed configuration</span><pre>parseConfig</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>ConfigParser</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description">Parses configuration files</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method_addConfigItem"></a>
- <div class="element clickable method private method_addConfigItem" data-toggle="collapse" data-target=".method_addConfigItem .collapse">
- <h2>Adds a config sub-section to the global config</h2>
- <pre>addConfigItem(string $key, array $parsedConfigItem, integer $level) : \OCA\Gallery\Service\array&lt;null|\OCA\Gallery\Service\array&lt;string,string&gt;,bool&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$key</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$parsedConfigItem</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Service\array<null|\OCA\Gallery\Service\array<string,string>,bool></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_bomFixer"></a>
- <div class="element clickable method private method_bomFixer" data-toggle="collapse" data-target=".method_bomFixer .collapse">
- <h2>Removes the BOM from a file</h2>
- <pre>bomFixer(string $file) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p><a href="http://us.php.net/manual/en/function.pack.php#104151">http://us.php.net/manual/en/function.pack.php#104151</a></p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_buildAlbumConfig"></a>
- <div class="element clickable method private method_buildAlbumConfig" data-toggle="collapse" data-target=".method_buildAlbumConfig .collapse">
- <h2>Returns either the local config or one merged with a config containing sorting information</h2>
- <pre>buildAlbumConfig(array $currentConfig, array $parsedConfig, $configItems, integer $level) : \OCA\Gallery\Service\array&lt;null|\OCA\Gallery\Service\array,array&lt;string,bool&gt;&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$currentConfig</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$parsedConfig</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configItems</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Service\array<null|\OCA\Gallery\Service\array,array<string,bool>></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getFeaturesList"></a>
- <div class="element clickable method public method_getFeaturesList" data-toggle="collapse" data-target=".method_getFeaturesList .collapse">
- <h2>Returns a parsed global configuration if one was found in the root folder</h2>
- <pre>getFeaturesList(\OCP\Files\Folder $folder, string $configName) : null|array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configName</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>null|array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getFolderConfig"></a>
- <div class="element clickable method public method_getFolderConfig" data-toggle="collapse" data-target=".method_getFolderConfig .collapse">
- <h2>Returns a parsed configuration if one was found in the current folder</h2>
- <pre>getFolderConfig(\OCP\Files\Folder $folder, string $configName, array $currentConfig, $configItems, integer $level) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$currentConfig</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configItems</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p><p>&lt;null|array,array&lt;string,bool&gt;&gt;</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isConfigInheritable"></a>
- <div class="element clickable method private method_isConfigInheritable" data-toggle="collapse" data-target=".method_isConfigInheritable .collapse">
- <h2>Determines if we can use a configuration sub-section found in parent folders</h2>
- <pre>isConfigInheritable(array $parsedConfigItem) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$parsedConfigItem</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isConfigItemComplete"></a>
- <div class="element clickable method private method_isConfigItemComplete" data-toggle="collapse" data-target=".method_isConfigItemComplete .collapse">
- <h2>Determines if we already have everything we need for this configuration sub-section</h2>
- <pre>isConfigItemComplete(string $key, array $parsedConfig, boolean $complete) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$key</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$parsedConfig</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$complete</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isConfigUsable"></a>
- <div class="element clickable method private method_isConfigUsable" data-toggle="collapse" data-target=".method_isConfigUsable .collapse">
- <h2>Determines if we can use this configuration sub-section</h2>
- <pre>isConfigUsable(array $parsedConfigItem, integer $level) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$parsedConfigItem</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_parseConfig"></a>
- <div class="element clickable method private method_parseConfig" data-toggle="collapse" data-target=".method_parseConfig .collapse">
- <h2>Returns a parsed configuration</h2>
- <pre>parseConfig(\OCP\Files\Folder $folder, string $configName) : array|array&lt;mixed,string&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configName</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array|array&lt;mixed,string&gt;</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Service\ConfigParser"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.ConfigParser.html">ConfigParser</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.ConfigService.html b/build/documentation/api/classes/OCA.Gallery.Service.ConfigService.html
deleted file mode 100644
index dfa47e92..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.ConfigService.html
+++ /dev/null
@@ -1,1284 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\ConfigService
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getAlbumInfo" title="getAlbumInfo :: Returns information about the currently selected folder">
- <span class="description">Returns information about the currently selected folder</span><pre>getAlbumInfo</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getFeaturesList" title="getFeaturesList :: Returns a list of supported features">
- <span class="description">Returns a list of supported features</span><pre>getFeaturesList</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the node matching the given ID">
- <span class="description">Returns the node matching the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected inherited">
- <a href="#method_getAllowedSubFolder" title="getAllowedSubFolder :: Returns the node if it&#039;s a folder we have access to">
- <span class="description">Returns the node if it&#039;s a folder we have access to</span><pre>getAllowedSubFolder</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_getNodes" title="getNodes :: Retrieves all files and sub-folders contained in a folder">
- <span class="description">Retrieves all files and sub-folders contained in a folder</span><pre>getNodes</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_getNodeType" title="getNodeType :: Returns the node type, either &#039;dir&#039; or &#039;file&#039;">
- <span class="description">Returns the node type, either &#039;dir&#039; or &#039;file&#039;</span><pre>getNodeType</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_isAllowedAndAvailable" title="isAllowedAndAvailable :: Determines if the files are hosted locally (shared or not) and can be used by the preview
-system">
- <span class="description">Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</span><pre>isAllowedAndAvailable</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_isRootFolder" title="isRootFolder :: Determines if we&#039;ve reached the root folder">
- <span class="description">Determines if we&#039;ve reached the root folder</span><pre>isRootFolder</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowForbidden" title="logAndThrowForbidden :: Logs the error and raises a &quot;Forbidden&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Forbidden&quot; type exception</span><pre>logAndThrowForbidden</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises a &quot;Not found&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Not found&quot; type exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_buildFolderConfig" title="buildFolderConfig :: Returns a parsed configuration if one was found in the current folder or generates an error
-message to send back">
- <span class="description">Returns a parsed configuration if one was found in the current folder or generates an error
-message to send back</span><pre>buildFolderConfig</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_configExists" title="configExists :: Determines if we have a configuration file to work with">
- <span class="description">Determines if we have a configuration file to work with</span><pre>configExists</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getAlbumConfig" title="getAlbumConfig :: Returns an album configuration array">
- <span class="description">Returns an album configuration array</span><pre>getAlbumConfig</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_getParentConfig" title="getParentConfig :: Looks for an album configuration in the parent folder">
- <span class="description">Looks for an album configuration in the parent folder</span><pre>getParentConfig</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isAllowed" title="isAllowed :: Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned">
- <span class="description">Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</span><pre>isAllowed</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isAvailable" title="isAvailable :: Determines if the node is available, as in readable">
- <span class="description">Determines if the node is available, as in readable</span><pre>isAvailable</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isExternalShare" title="isExternalShare :: Determines if the node is a share which is hosted externally">
- <span class="description">Determines if the node is a share which is hosted externally</span><pre>isExternalShare</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isExternalShareAllowed" title="isExternalShareAllowed :: Determines if the user has allowed the use of external shares">
- <span class="description">Determines if the user has allowed the use of external shares</span><pre>isExternalShareAllowed</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_recoverFromGetNodesError" title="recoverFromGetNodesError :: Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder">
- <span class="description">Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</span><pre>recoverFromGetNodesError</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_validatesInfoConfig" title="validatesInfoConfig :: Removes links if they were collected outside of the virtual root">
- <span class="description">Removes links if they were collected outside of the virtual root</span><pre>validatesInfoConfig</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>ConfigService</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.FilesService.html">\OCA\Gallery\Service\FilesService</a>
- </small>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details">
- <div class="long_description">
- <p>Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</p>
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCA\Gallery\Environment\Environment $environment, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_buildFolderConfig"></a>
- <div class="element clickable method private method_buildFolderConfig" data-toggle="collapse" data-target=".method_buildFolderConfig .collapse">
- <h2>Returns a parsed configuration if one was found in the current folder or generates an error
-message to send back</h2>
- <pre>buildFolderConfig(\OCP\Files\Folder $folder, string $configName, array $config, integer $level) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$config</h4>
- <code>array</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_configExists"></a>
- <div class="element clickable method private method_configExists" data-toggle="collapse" data-target=".method_configExists .collapse">
- <h2>Determines if we have a configuration file to work with</h2>
- <pre>configExists(\OCP\Files\Folder $rootFolder) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$rootFolder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getAlbumConfig"></a>
- <div class="element clickable method private method_getAlbumConfig" data-toggle="collapse" data-target=".method_getAlbumConfig .collapse">
- <h2>Returns an album configuration array</h2>
- <pre>getAlbumConfig(\OCP\Files\Folder $folder, string $privacyChecker, string $configName, integer $level, array $config = array()) : \OCA\Gallery\Service\array&lt;null|\OCA\Gallery\Service\array,bool&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>Goes through all the parent folders until either we're told the album is private or we've
-reached the root folder</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$privacyChecker</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$config</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Service\array<null|\OCA\Gallery\Service\array,bool></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getAlbumInfo"></a>
- <div class="element clickable method public method_getAlbumInfo" data-toggle="collapse" data-target=".method_getAlbumInfo .collapse">
- <h2>Returns information about the currently selected folder</h2>
- <pre>getAlbumInfo(\OCP\Files\Folder $folderNode, string $folderPathFromRoot, array $features) : array|null</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><ul>
-<li>privacy setting
-<ul>
-<li>special configuration</li>
-<li>permissions</li>
-<li>ID</li>
-</ul></li>
-</ul></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folderNode</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$folderPathFromRoot</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$features</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getAllowedSubFolder"></a>
- <div class="element clickable method protected method_getAllowedSubFolder inherited" data-toggle="collapse" data-target=".method_getAllowedSubFolder .collapse">
- <h2>Returns the node if it&#039;s a folder we have access to</h2>
- <pre>getAllowedSubFolder(\OCP\Files\Folder $node, string $nodeType) : array|\OCP\Files\Folder</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$nodeType</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array|\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getFeaturesList"></a>
- <div class="element clickable method public method_getFeaturesList" data-toggle="collapse" data-target=".method_getFeaturesList .collapse">
- <h2>Returns a list of supported features</h2>
- <pre>getFeaturesList() : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodes"></a>
- <div class="element clickable method protected method_getNodes inherited" data-toggle="collapse" data-target=".method_getNodes .collapse">
- <h2>Retrieves all files and sub-folders contained in a folder</h2>
- <pre>getNodes(\OCP\Files\Folder $folder, integer $subDepth) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If we can't find anything in the current folder, we throw an exception as there is no point
-in doing any more work, but if we're looking at a sub-folder, we return an empty array so
-that it can be simply ignored</p></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodeType"></a>
- <div class="element clickable method protected method_getNodeType inherited" data-toggle="collapse" data-target=".method_getNodeType .collapse">
- <h2>Returns the node type, either &#039;dir&#039; or &#039;file&#039;</h2>
- <pre>getNodeType(\OCP\Files\Node $node) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If there is a problem, we return an empty string so that the node can be ignored</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getParentConfig"></a>
- <div class="element clickable method private method_getParentConfig" data-toggle="collapse" data-target=".method_getParentConfig .collapse">
- <h2>Looks for an album configuration in the parent folder</h2>
- <pre>getParentConfig(\OCP\Files\Folder $folder, string $privacyChecker, string $configName, integer $level, array $config) : \OCA\Gallery\Service\array&lt;null|\OCA\Gallery\Service\array,bool&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>We will look up to the real root folder, not the virtual root of a shared folder</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$privacyChecker</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$configName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$config</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Service\array<null|\OCA\Gallery\Service\array,bool></code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId inherited" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the node matching the given ID</h2>
- <pre>getResourceFromId(integer $nodeId) : \OCP\Files\Node|null</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$nodeId</h4>
- <code>integer</code><p><p>ID of the resource to locate</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowed"></a>
- <div class="element clickable method private method_isAllowed inherited" data-toggle="collapse" data-target=".method_isAllowed .collapse">
- <h2>Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</h2>
- <pre>isAllowed(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowedAndAvailable"></a>
- <div class="element clickable method protected method_isAllowedAndAvailable inherited" data-toggle="collapse" data-target=".method_isAllowedAndAvailable .collapse">
- <h2>Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</h2>
- <pre>isAllowedAndAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>isMounted() doesn't include externally hosted shares, so we need to exclude those from the
-non-mounted nodes</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAvailable"></a>
- <div class="element clickable method private method_isAvailable inherited" data-toggle="collapse" data-target=".method_isAvailable .collapse">
- <h2>Determines if the node is available, as in readable</h2>
- <pre>isAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>Test to see by how much using file_exists slows things down</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShare"></a>
- <div class="element clickable method private method_isExternalShare inherited" data-toggle="collapse" data-target=".method_isExternalShare .collapse">
- <h2>Determines if the node is a share which is hosted externally</h2>
- <pre>isExternalShare(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShareAllowed"></a>
- <div class="element clickable method private method_isExternalShareAllowed inherited" data-toggle="collapse" data-target=".method_isExternalShareAllowed .collapse">
- <h2>Determines if the user has allowed the use of external shares</h2>
- <pre>isExternalShareAllowed() : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isRootFolder"></a>
- <div class="element clickable method protected method_isRootFolder inherited" data-toggle="collapse" data-target=".method_isRootFolder .collapse">
- <h2>Determines if we&#039;ve reached the root folder</h2>
- <pre>isRootFolder(\OCP\Files\Folder $folder, integer $level) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowForbidden"></a>
- <div class="element clickable method protected method_logAndThrowForbidden inherited" data-toggle="collapse" data-target=".method_logAndThrowForbidden .collapse">
- <h2>Logs the error and raises a &quot;Forbidden&quot; type exception</h2>
- <pre>logAndThrowForbidden(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method protected method_logAndThrowNotFound inherited" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises a &quot;Not found&quot; type exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_recoverFromGetNodesError"></a>
- <div class="element clickable method private method_recoverFromGetNodesError inherited" data-toggle="collapse" data-target=".method_recoverFromGetNodesError .collapse">
- <h2>Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</h2>
- <pre>recoverFromGetNodesError(integer $subDepth, \Exception $exception) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_validatesInfoConfig"></a>
- <div class="element clickable method private method_validatesInfoConfig" data-toggle="collapse" data-target=".method_validatesInfoConfig .collapse">
- <h2>Removes links if they were collected outside of the virtual root</h2>
- <pre>validatesInfoConfig(array $albumConfig) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>This is for shared folders which have a virtual root</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$albumConfig</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_configName"> </a>
- <div class="element clickable property private property_configName" data-toggle="collapse" data-target=".property_configName .collapse">
- <h2>configName</h2>
- <pre>configName : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_privacyChecker"> </a>
- <div class="element clickable property private property_privacyChecker" data-toggle="collapse" data-target=".property_privacyChecker .collapse">
- <h2>privacyChecker</h2>
- <pre>privacyChecker : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_configItems"> </a>
- <div class="element clickable property private property_configItems" data-toggle="collapse" data-target=".property_configItems .collapse">
- <h2>&lt;string,bool&gt;</h2>
- <pre>configItems : array</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
- <p>&lt;string,bool&gt;</p>
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array</code>
- </div>
- </div>
- </div>
- <a id="property_configParser"> </a>
- <div class="element clickable property private property_configParser" data-toggle="collapse" data-target=".property_configParser .collapse">
- <h2>configParser</h2>
- <pre>configParser : \OCA\Gallery\Service\ConfigParser</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Service.ConfigParser.html">\OCA\Gallery\Service\ConfigParser</a></code>
- </div>
- </div>
- </div>
- <a id="property_virtualRootLevel"> </a>
- <div class="element clickable property protected property_virtualRootLevel inherited" data-toggle="collapse" data-target=".property_virtualRootLevel .collapse">
- <h2>virtualRootLevel</h2>
- <pre>virtualRootLevel : integer</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>integer</code>
- </div>
- </div>
- </div>
- <a id="property_features"> </a>
- <div class="element clickable property protected property_features inherited" data-toggle="collapse" data-target=".property_features .collapse">
- <h2>features</h2>
- <pre>features : array&lt;mixed,string&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,string&gt;</code>
- </div>
- </div>
- </div>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property protected property_environment inherited" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\ConfigService"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.ConfigService.html">ConfigService</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.DownloadService.html b/build/documentation/api/classes/OCA.Gallery.Service.DownloadService.html
deleted file mode 100644
index bd40ed37..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.DownloadService.html
+++ /dev/null
@@ -1,521 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\DownloadService
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_downloadFile" title="downloadFile :: Downloads the requested file">
- <span class="description">Downloads the requested file</span><pre>downloadFile</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the node matching the given ID">
- <span class="description">Returns the node matching the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected inherited">
- <a href="#method_encode" title="encode :: Returns base64 encoded data of a preview">
- <span class="description">Returns base64 encoded data of a preview</span><pre>encode</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowForbidden" title="logAndThrowForbidden :: Logs the error and raises a &quot;Forbidden&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Forbidden&quot; type exception</span><pre>logAndThrowForbidden</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises a &quot;Not found&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Not found&quot; type exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>DownloadService</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.Service.html">\OCA\Gallery\Service\Service</a>
- </small>
- <p class="short_description">Prepares the file to download</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCA\Gallery\Environment\Environment $environment, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_downloadFile"></a>
- <div class="element clickable method public method_downloadFile" data-toggle="collapse" data-target=".method_downloadFile .collapse">
- <h2>Downloads the requested file</h2>
- <pre>downloadFile(\OCP\Files\File $file, boolean $base64Encode = false) : false|array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$base64Encode</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>false|array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_encode"></a>
- <div class="element clickable method protected method_encode inherited" data-toggle="collapse" data-target=".method_encode .collapse">
- <h2>Returns base64 encoded data of a preview</h2>
- <pre>encode(\OC_Image|string $previewData) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>Using base64_encode for files which are downloaded
-(cached Thumbnails, SVG, GIFs) and using __toStrings
-for the previews which are instances of \OC_Image</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$previewData</h4>
- <code>\OC_Image|string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId inherited" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the node matching the given ID</h2>
- <pre>getResourceFromId(integer $nodeId) : \OCP\Files\Node|null</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$nodeId</h4>
- <code>integer</code><p><p>ID of the resource to locate</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowForbidden"></a>
- <div class="element clickable method protected method_logAndThrowForbidden inherited" data-toggle="collapse" data-target=".method_logAndThrowForbidden .collapse">
- <h2>Logs the error and raises a &quot;Forbidden&quot; type exception</h2>
- <pre>logAndThrowForbidden(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method protected method_logAndThrowNotFound inherited" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises a &quot;Not found&quot; type exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property protected property_environment inherited" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\DownloadService"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.DownloadService.html">DownloadService</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.FilesService.html b/build/documentation/api/classes/OCA.Gallery.Service.FilesService.html
deleted file mode 100644
index 7eb3abee..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.FilesService.html
+++ /dev/null
@@ -1,879 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\FilesService
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the node matching the given ID">
- <span class="description">Returns the node matching the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected">
- <a href="#method_getAllowedSubFolder" title="getAllowedSubFolder :: Returns the node if it&#039;s a folder we have access to">
- <span class="description">Returns the node if it&#039;s a folder we have access to</span><pre>getAllowedSubFolder</pre>
- </a>
- </li>
- <li class="method protected">
- <a href="#method_getNodes" title="getNodes :: Retrieves all files and sub-folders contained in a folder">
- <span class="description">Retrieves all files and sub-folders contained in a folder</span><pre>getNodes</pre>
- </a>
- </li>
- <li class="method protected">
- <a href="#method_getNodeType" title="getNodeType :: Returns the node type, either &#039;dir&#039; or &#039;file&#039;">
- <span class="description">Returns the node type, either &#039;dir&#039; or &#039;file&#039;</span><pre>getNodeType</pre>
- </a>
- </li>
- <li class="method protected">
- <a href="#method_isAllowedAndAvailable" title="isAllowedAndAvailable :: Determines if the files are hosted locally (shared or not) and can be used by the preview
-system">
- <span class="description">Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</span><pre>isAllowedAndAvailable</pre>
- </a>
- </li>
- <li class="method protected">
- <a href="#method_isRootFolder" title="isRootFolder :: Determines if we&#039;ve reached the root folder">
- <span class="description">Determines if we&#039;ve reached the root folder</span><pre>isRootFolder</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowForbidden" title="logAndThrowForbidden :: Logs the error and raises a &quot;Forbidden&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Forbidden&quot; type exception</span><pre>logAndThrowForbidden</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises a &quot;Not found&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Not found&quot; type exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_isAllowed" title="isAllowed :: Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned">
- <span class="description">Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</span><pre>isAllowed</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isAvailable" title="isAvailable :: Determines if the node is available, as in readable">
- <span class="description">Determines if the node is available, as in readable</span><pre>isAvailable</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isExternalShare" title="isExternalShare :: Determines if the node is a share which is hosted externally">
- <span class="description">Determines if the node is a share which is hosted externally</span><pre>isExternalShare</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isExternalShareAllowed" title="isExternalShareAllowed :: Determines if the user has allowed the use of external shares">
- <span class="description">Determines if the user has allowed the use of external shares</span><pre>isExternalShareAllowed</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_recoverFromGetNodesError" title="recoverFromGetNodesError :: Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder">
- <span class="description">Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</span><pre>recoverFromGetNodesError</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>FilesService</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.Service.html">\OCA\Gallery\Service\Service</a>
- </small>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCA\Gallery\Environment\Environment $environment, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_getAllowedSubFolder"></a>
- <div class="element clickable method protected method_getAllowedSubFolder" data-toggle="collapse" data-target=".method_getAllowedSubFolder .collapse">
- <h2>Returns the node if it&#039;s a folder we have access to</h2>
- <pre>getAllowedSubFolder(\OCP\Files\Folder $node, string $nodeType) : array|\OCP\Files\Folder</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$nodeType</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array|\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodes"></a>
- <div class="element clickable method protected method_getNodes" data-toggle="collapse" data-target=".method_getNodes .collapse">
- <h2>Retrieves all files and sub-folders contained in a folder</h2>
- <pre>getNodes(\OCP\Files\Folder $folder, integer $subDepth) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If we can't find anything in the current folder, we throw an exception as there is no point
-in doing any more work, but if we're looking at a sub-folder, we return an empty array so
-that it can be simply ignored</p></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodeType"></a>
- <div class="element clickable method protected method_getNodeType" data-toggle="collapse" data-target=".method_getNodeType .collapse">
- <h2>Returns the node type, either &#039;dir&#039; or &#039;file&#039;</h2>
- <pre>getNodeType(\OCP\Files\Node $node) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If there is a problem, we return an empty string so that the node can be ignored</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId inherited" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the node matching the given ID</h2>
- <pre>getResourceFromId(integer $nodeId) : \OCP\Files\Node|null</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$nodeId</h4>
- <code>integer</code><p><p>ID of the resource to locate</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowed"></a>
- <div class="element clickable method private method_isAllowed" data-toggle="collapse" data-target=".method_isAllowed .collapse">
- <h2>Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</h2>
- <pre>isAllowed(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowedAndAvailable"></a>
- <div class="element clickable method protected method_isAllowedAndAvailable" data-toggle="collapse" data-target=".method_isAllowedAndAvailable .collapse">
- <h2>Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</h2>
- <pre>isAllowedAndAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>isMounted() doesn't include externally hosted shares, so we need to exclude those from the
-non-mounted nodes</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAvailable"></a>
- <div class="element clickable method private method_isAvailable" data-toggle="collapse" data-target=".method_isAvailable .collapse">
- <h2>Determines if the node is available, as in readable</h2>
- <pre>isAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>Test to see by how much using file_exists slows things down</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShare"></a>
- <div class="element clickable method private method_isExternalShare" data-toggle="collapse" data-target=".method_isExternalShare .collapse">
- <h2>Determines if the node is a share which is hosted externally</h2>
- <pre>isExternalShare(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShareAllowed"></a>
- <div class="element clickable method private method_isExternalShareAllowed" data-toggle="collapse" data-target=".method_isExternalShareAllowed .collapse">
- <h2>Determines if the user has allowed the use of external shares</h2>
- <pre>isExternalShareAllowed() : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isRootFolder"></a>
- <div class="element clickable method protected method_isRootFolder" data-toggle="collapse" data-target=".method_isRootFolder .collapse">
- <h2>Determines if we&#039;ve reached the root folder</h2>
- <pre>isRootFolder(\OCP\Files\Folder $folder, integer $level) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowForbidden"></a>
- <div class="element clickable method protected method_logAndThrowForbidden inherited" data-toggle="collapse" data-target=".method_logAndThrowForbidden .collapse">
- <h2>Logs the error and raises a &quot;Forbidden&quot; type exception</h2>
- <pre>logAndThrowForbidden(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method protected method_logAndThrowNotFound inherited" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises a &quot;Not found&quot; type exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_recoverFromGetNodesError"></a>
- <div class="element clickable method private method_recoverFromGetNodesError" data-toggle="collapse" data-target=".method_recoverFromGetNodesError .collapse">
- <h2>Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</h2>
- <pre>recoverFromGetNodesError(integer $subDepth, \Exception $exception) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_virtualRootLevel"> </a>
- <div class="element clickable property protected property_virtualRootLevel" data-toggle="collapse" data-target=".property_virtualRootLevel .collapse">
- <h2>virtualRootLevel</h2>
- <pre>virtualRootLevel : integer</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>integer</code>
- </div>
- </div>
- </div>
- <a id="property_features"> </a>
- <div class="element clickable property protected property_features" data-toggle="collapse" data-target=".property_features .collapse">
- <h2>features</h2>
- <pre>features : array&lt;mixed,string&gt;</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,string&gt;</code>
- </div>
- </div>
- </div>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property protected property_environment inherited" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\FilesService"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.FilesService.html">FilesService</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.ForbiddenServiceException.html b/build/documentation/api/classes/OCA.Gallery.Service.ForbiddenServiceException.html
deleted file mode 100644
index 8175ece7..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.ForbiddenServiceException.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\ForbiddenServiceException
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>ForbiddenServiceException</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.ServiceException.html">\OCA\Gallery\Service\ServiceException</a>
- </small>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>Default</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $msg) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$msg</h4>
- <code>string</code><p><p>the message contained in the exception</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Service\ForbiddenServiceException"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html">ForbiddenServiceException</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.NotFoundServiceException.html b/build/documentation/api/classes/OCA.Gallery.Service.NotFoundServiceException.html
deleted file mode 100644
index 43c9eeaa..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.NotFoundServiceException.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\NotFoundServiceException
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>NotFoundServiceException</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.ServiceException.html">\OCA\Gallery\Service\ServiceException</a>
- </small>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>Default</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $msg) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$msg</h4>
- <code>string</code><p><p>the message contained in the exception</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Service\NotFoundServiceException"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html">NotFoundServiceException</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.PreviewService.html b/build/documentation/api/classes/OCA.Gallery.Service.PreviewService.html
deleted file mode 100644
index 88699639..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.PreviewService.html
+++ /dev/null
@@ -1,957 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\PreviewService
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_createPreview" title="createPreview :: Returns an array containing everything needed by the client to be able to display a preview">
- <span class="description">Returns an array containing everything needed by the client to be able to display a preview</span><pre>createPreview</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the node matching the given ID">
- <span class="description">Returns the node matching the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getSupportedMediaTypes" title="getSupportedMediaTypes :: This builds and returns a list of all supported media types">
- <span class="description">This builds and returns a list of all supported media types</span><pre>getSupportedMediaTypes</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_isPreviewRequired" title="isPreviewRequired :: Decides if we should download the file instead of generating a preview">
- <span class="description">Decides if we should download the file instead of generating a preview</span><pre>isPreviewRequired</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_previewValidator" title="previewValidator :: Makes sure we return previews of the asked dimensions and fix the cache
-if necessary">
- <span class="description">Makes sure we return previews of the asked dimensions and fix the cache
-if necessary</span><pre>previewValidator</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected inherited">
- <a href="#method_encode" title="encode :: Returns base64 encoded data of a preview">
- <span class="description">Returns base64 encoded data of a preview</span><pre>encode</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowForbidden" title="logAndThrowForbidden :: Logs the error and raises a &quot;Forbidden&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Forbidden&quot; type exception</span><pre>logAndThrowForbidden</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises a &quot;Not found&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Not found&quot; type exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_addSvgSupport" title="addSvgSupport :: Adds the SVG media type if it&#039;s not already there">
- <span class="description">Adds the SVG media type if it&#039;s not already there</span><pre>addSvgSupport</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isGifAnimated" title="isGifAnimated :: Tests if a GIF is animated">
- <span class="description">Tests if a GIF is animated</span><pre>isGifAnimated</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isGifPreviewRequired" title="isGifPreviewRequired :: Decides if we should download the GIF or generate a preview">
- <span class="description">Decides if we should download the GIF or generate a preview</span><pre>isGifPreviewRequired</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isMimeSupported" title="isMimeSupported :: Returns true if the passed mime type is supported">
- <span class="description">Returns true if the passed mime type is supported</span><pre>isMimeSupported</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isSvgPreviewRequired" title="isSvgPreviewRequired :: Decides if we should download the SVG or generate a preview">
- <span class="description">Decides if we should download the SVG or generate a preview</span><pre>isSvgPreviewRequired</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>PreviewService</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.Service.html">\OCA\Gallery\Service\Service</a>
- </small>
- <p class="short_description">Generates previews</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCA\Gallery\Environment\Environment $environment, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_addSvgSupport"></a>
- <div class="element clickable method private method_addSvgSupport" data-toggle="collapse" data-target=".method_addSvgSupport .collapse">
- <h2>Adds the SVG media type if it&#039;s not already there</h2>
- <pre>addSvgSupport(array&lt;mixed,string&gt; $supportedMimes, boolean $nativeSvgSupport) : array&lt;mixed,\string&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If it's enabled, but doesn't work, an exception will be raised when trying to generate a
-preview. If it's disabled, we support it via the browser's native support</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$supportedMimes</h4>
- <code>array&lt;mixed,string&gt;</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$nativeSvgSupport</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array&lt;mixed,\string&gt;</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_createPreview"></a>
- <div class="element clickable method public method_createPreview" data-toggle="collapse" data-target=".method_createPreview .collapse">
- <h2>Returns an array containing everything needed by the client to be able to display a preview</h2>
- <pre>createPreview(\OCP\Files\File $file, integer $maxX, integer $maxY, boolean $keepAspect = true, boolean $base64Encode = false) : \OCA\Gallery\Service\array&lt;string,\OC_Image|\OCA\Gallery\Service\string&gt;|false</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><ul>
-<li>fileid: the file's ID
-<ul>
-<li>mimetype: the file's media type</li>
-<li>preview: the preview's content</li>
-</ul></li>
-</ul>
-<p>Example logger
-$this-&gt;logger-&gt;debug(
-&quot;[PreviewService] Path : {path} / mime: {mimetype} / fileid: {fileid}&quot;,
-[
-'path' =&gt; $preview['data']['path'],
-'mimetype' =&gt; $preview['data']['mimetype'],
-'fileid' =&gt; $preview['fileid']
-]
-);</p></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>Get the max size from the settings</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxX</h4>
- <code>integer</code><p><p>asked width for the preview</p></p>
- </div>
- <div class="subelement argument">
- <h4>$maxY</h4>
- <code>integer</code><p><p>asked height for the preview</p></p>
- </div>
- <div class="subelement argument">
- <h4>$keepAspect</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$base64Encode</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Service\array<string,\OC_Image|\OCA\Gallery\Service\string>|false</code><p><p>preview data</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_encode"></a>
- <div class="element clickable method protected method_encode inherited" data-toggle="collapse" data-target=".method_encode .collapse">
- <h2>Returns base64 encoded data of a preview</h2>
- <pre>encode(\OC_Image|string $previewData) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>Using base64_encode for files which are downloaded
-(cached Thumbnails, SVG, GIFs) and using __toStrings
-for the previews which are instances of \OC_Image</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$previewData</h4>
- <code>\OC_Image|string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId inherited" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the node matching the given ID</h2>
- <pre>getResourceFromId(integer $nodeId) : \OCP\Files\Node|null</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$nodeId</h4>
- <code>integer</code><p><p>ID of the resource to locate</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getSupportedMediaTypes"></a>
- <div class="element clickable method public method_getSupportedMediaTypes" data-toggle="collapse" data-target=".method_getSupportedMediaTypes .collapse">
- <h2>This builds and returns a list of all supported media types</h2>
- <pre>getSupportedMediaTypes(boolean $slideshow, boolean $nativeSvgSupport) : array&lt;mixed,\string&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>Native SVG could be disabled via admin settings</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$slideshow</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$nativeSvgSupport</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array&lt;mixed,\string&gt;</code><p><p>all supported media types</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isGifAnimated"></a>
- <div class="element clickable method private method_isGifAnimated" data-toggle="collapse" data-target=".method_isGifAnimated .collapse">
- <h2>Tests if a GIF is animated</h2>
- <pre>isGifAnimated(\OCP\Files\File $file) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>An animated gif contains multiple &quot;frames&quot;, with each frame having a
-header made up of:</p>
-<ul>
-<li>a static 4-byte sequence (\x00\x21\xF9\x04)</li>
-<li>4 variable bytes</li>
-<li>a static 2-byte sequence (\x00\x2C) (Photoshop uses \x00\x21)</li>
-</ul>
-<p>We read through the file until we reach the end of the file, or we've
-found at least 2 frame headers</p></div>
-
- <table class="table">
- <tr>
- <th>
- link
- </th>
- <td>
-
- <p><a href="http://php.net/manual/en/function.imagecreatefromgif.php#104473">http://php.net/manual/en/function.imagecreatefromgif.php#104473</a></p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isGifPreviewRequired"></a>
- <div class="element clickable method private method_isGifPreviewRequired" data-toggle="collapse" data-target=".method_isGifPreviewRequired .collapse">
- <h2>Decides if we should download the GIF or generate a preview</h2>
- <pre>isGifPreviewRequired(\OCP\Files\File $file, boolean $animatedPreview) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>GIFs are downloaded if they're animated and we want to show
-animations</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$animatedPreview</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isMimeSupported"></a>
- <div class="element clickable method private method_isMimeSupported" data-toggle="collapse" data-target=".method_isMimeSupported .collapse">
- <h2>Returns true if the passed mime type is supported</h2>
- <pre>isMimeSupported(string $mimeType = &#039;*&#039;) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>In case of a failure, we just return that the media type is not supported</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$mimeType</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isPreviewRequired"></a>
- <div class="element clickable method public method_isPreviewRequired" data-toggle="collapse" data-target=".method_isPreviewRequired .collapse">
- <h2>Decides if we should download the file instead of generating a preview</h2>
- <pre>isPreviewRequired(\OCP\Files\File $file, boolean $animatedPreview) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$animatedPreview</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isSvgPreviewRequired"></a>
- <div class="element clickable method private method_isSvgPreviewRequired" data-toggle="collapse" data-target=".method_isSvgPreviewRequired .collapse">
- <h2>Decides if we should download the SVG or generate a preview</h2>
- <pre>isSvgPreviewRequired() : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>SVGs are downloaded if the SVG converter is disabled
-Files of any media type are downloaded if requested by the client</p></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowForbidden"></a>
- <div class="element clickable method protected method_logAndThrowForbidden inherited" data-toggle="collapse" data-target=".method_logAndThrowForbidden .collapse">
- <h2>Logs the error and raises a &quot;Forbidden&quot; type exception</h2>
- <pre>logAndThrowForbidden(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method protected method_logAndThrowNotFound inherited" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises a &quot;Not found&quot; type exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_previewValidator"></a>
- <div class="element clickable method public method_previewValidator" data-toggle="collapse" data-target=".method_previewValidator .collapse">
- <h2>Makes sure we return previews of the asked dimensions and fix the cache
-if necessary</h2>
- <pre>previewValidator(boolean $square, boolean $base64Encode) : \OC_Image|string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$base64Encode</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OC_Image|string</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_previewManager"> </a>
- <div class="element clickable property private property_previewManager" data-toggle="collapse" data-target=".property_previewManager .collapse">
- <h2>previewManager</h2>
- <pre>previewManager : \OCA\Gallery\Preview\Preview</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Preview.Preview.html">\OCA\Gallery\Preview\Preview</a></code>
- </div>
- </div>
- </div>
- <a id="property_baseMimeTypes"> </a>
- <div class="element clickable property private property_baseMimeTypes" data-toggle="collapse" data-target=".property_baseMimeTypes .collapse">
- <h2>baseMimeTypes</h2>
- <pre>baseMimeTypes : array&lt;mixed,string&gt;</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
- <p>This hard-coded array could be replaced by admin settings</p>
- </td>
- </tr>
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,string&gt;</code>
- </div>
- </div>
- </div>
- <a id="property_slideshowMimeTypes"> </a>
- <div class="element clickable property private property_slideshowMimeTypes" data-toggle="collapse" data-target=".property_slideshowMimeTypes .collapse">
- <h2>These types are useful for files preview in the files app, but
-not for the gallery side</h2>
- <pre>slideshowMimeTypes : array&lt;mixed,string&gt;</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,string&gt;</code>
- </div>
- </div>
- </div>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property protected property_environment inherited" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\PreviewService"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.PreviewService.html">PreviewService</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.SearchFolderService.html b/build/documentation/api/classes/OCA.Gallery.Service.SearchFolderService.html
deleted file mode 100644
index 79d071cc..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.SearchFolderService.html
+++ /dev/null
@@ -1,1074 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\SearchFolderService
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getCurrentFolder" title="getCurrentFolder :: This returns what we think is the current folder node based on a given path">
- <span class="description">This returns what we think is the current folder node based on a given path</span><pre>getCurrentFolder</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the node matching the given ID">
- <span class="description">Returns the node matching the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected inherited">
- <a href="#method_getAllowedSubFolder" title="getAllowedSubFolder :: Returns the node if it&#039;s a folder we have access to">
- <span class="description">Returns the node if it&#039;s a folder we have access to</span><pre>getAllowedSubFolder</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_getNodes" title="getNodes :: Retrieves all files and sub-folders contained in a folder">
- <span class="description">Retrieves all files and sub-folders contained in a folder</span><pre>getNodes</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_getNodeType" title="getNodeType :: Returns the node type, either &#039;dir&#039; or &#039;file&#039;">
- <span class="description">Returns the node type, either &#039;dir&#039; or &#039;file&#039;</span><pre>getNodeType</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_isAllowedAndAvailable" title="isAllowedAndAvailable :: Determines if the files are hosted locally (shared or not) and can be used by the preview
-system">
- <span class="description">Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</span><pre>isAllowedAndAvailable</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_isRootFolder" title="isRootFolder :: Determines if we&#039;ve reached the root folder">
- <span class="description">Determines if we&#039;ve reached the root folder</span><pre>isRootFolder</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowForbidden" title="logAndThrowForbidden :: Logs the error and raises a &quot;Forbidden&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Forbidden&quot; type exception</span><pre>logAndThrowForbidden</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises a &quot;Not found&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Not found&quot; type exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_findFolder" title="findFolder :: This returns the current folder node based on a path">
- <span class="description">This returns the current folder node based on a path</span><pre>findFolder</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_hasLocationChanged" title="hasLocationChanged :: ">
- <span class="description"></span><pre>hasLocationChanged</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isAllowed" title="isAllowed :: Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned">
- <span class="description">Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</span><pre>isAllowed</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isAvailable" title="isAvailable :: Determines if the node is available, as in readable">
- <span class="description">Determines if the node is available, as in readable</span><pre>isAvailable</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isExternalShare" title="isExternalShare :: Determines if the node is a share which is hosted externally">
- <span class="description">Determines if the node is a share which is hosted externally</span><pre>isExternalShare</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isExternalShareAllowed" title="isExternalShareAllowed :: Determines if the user has allowed the use of external shares">
- <span class="description">Determines if the user has allowed the use of external shares</span><pre>isExternalShareAllowed</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_recoverFromGetNodesError" title="recoverFromGetNodesError :: Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder">
- <span class="description">Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</span><pre>recoverFromGetNodesError</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_sendFolder" title="sendFolder :: Makes sure that the folder is not empty, does meet our requirements in terms of location and
-returns details about it">
- <span class="description">Makes sure that the folder is not empty, does meet our requirements in terms of location and
-returns details about it</span><pre>sendFolder</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_validateLocation" title="validateLocation :: Makes sure we don&#039;t go too far up before giving up">
- <span class="description">Makes sure we don&#039;t go too far up before giving up</span><pre>validateLocation</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>SearchFolderService</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.FilesService.html">\OCA\Gallery\Service\FilesService</a>
- </small>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCA\Gallery\Environment\Environment $environment, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_findFolder"></a>
- <div class="element clickable method private method_findFolder" data-toggle="collapse" data-target=".method_findFolder .collapse">
- <h2>This returns the current folder node based on a path</h2>
- <pre>findFolder(string $location, integer $depth) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If the path leads to a file, we'll return the node of the containing folder</p>
-<p>If we can't find anything, we try with the parent folder, up to the root or until we reach
-our recursive limit</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$location</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$depth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p><p>&lt;string,Folder,bool&gt;</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getAllowedSubFolder"></a>
- <div class="element clickable method protected method_getAllowedSubFolder inherited" data-toggle="collapse" data-target=".method_getAllowedSubFolder .collapse">
- <h2>Returns the node if it&#039;s a folder we have access to</h2>
- <pre>getAllowedSubFolder(\OCP\Files\Folder $node, string $nodeType) : array|\OCP\Files\Folder</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$nodeType</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array|\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getCurrentFolder"></a>
- <div class="element clickable method public method_getCurrentFolder" data-toggle="collapse" data-target=".method_getCurrentFolder .collapse">
- <h2>This returns what we think is the current folder node based on a given path</h2>
- <pre>getCurrentFolder(string $location, array&lt;mixed,string&gt; $features) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$location</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$features</h4>
- <code>array&lt;mixed,string&gt;</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p><p>&lt;string,Folder,bool&gt;</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodes"></a>
- <div class="element clickable method protected method_getNodes inherited" data-toggle="collapse" data-target=".method_getNodes .collapse">
- <h2>Retrieves all files and sub-folders contained in a folder</h2>
- <pre>getNodes(\OCP\Files\Folder $folder, integer $subDepth) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If we can't find anything in the current folder, we throw an exception as there is no point
-in doing any more work, but if we're looking at a sub-folder, we return an empty array so
-that it can be simply ignored</p></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodeType"></a>
- <div class="element clickable method protected method_getNodeType inherited" data-toggle="collapse" data-target=".method_getNodeType .collapse">
- <h2>Returns the node type, either &#039;dir&#039; or &#039;file&#039;</h2>
- <pre>getNodeType(\OCP\Files\Node $node) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If there is a problem, we return an empty string so that the node can be ignored</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId inherited" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the node matching the given ID</h2>
- <pre>getResourceFromId(integer $nodeId) : \OCP\Files\Node|null</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$nodeId</h4>
- <code>integer</code><p><p>ID of the resource to locate</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_hasLocationChanged"></a>
- <div class="element clickable method private method_hasLocationChanged" data-toggle="collapse" data-target=".method_hasLocationChanged .collapse">
- <h2>hasLocationChanged</h2>
- <pre>hasLocationChanged( $depth) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$depth</h4>
- <code></code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowed"></a>
- <div class="element clickable method private method_isAllowed inherited" data-toggle="collapse" data-target=".method_isAllowed .collapse">
- <h2>Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</h2>
- <pre>isAllowed(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowedAndAvailable"></a>
- <div class="element clickable method protected method_isAllowedAndAvailable inherited" data-toggle="collapse" data-target=".method_isAllowedAndAvailable .collapse">
- <h2>Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</h2>
- <pre>isAllowedAndAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>isMounted() doesn't include externally hosted shares, so we need to exclude those from the
-non-mounted nodes</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAvailable"></a>
- <div class="element clickable method private method_isAvailable inherited" data-toggle="collapse" data-target=".method_isAvailable .collapse">
- <h2>Determines if the node is available, as in readable</h2>
- <pre>isAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>Test to see by how much using file_exists slows things down</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShare"></a>
- <div class="element clickable method private method_isExternalShare inherited" data-toggle="collapse" data-target=".method_isExternalShare .collapse">
- <h2>Determines if the node is a share which is hosted externally</h2>
- <pre>isExternalShare(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShareAllowed"></a>
- <div class="element clickable method private method_isExternalShareAllowed inherited" data-toggle="collapse" data-target=".method_isExternalShareAllowed .collapse">
- <h2>Determines if the user has allowed the use of external shares</h2>
- <pre>isExternalShareAllowed() : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isRootFolder"></a>
- <div class="element clickable method protected method_isRootFolder inherited" data-toggle="collapse" data-target=".method_isRootFolder .collapse">
- <h2>Determines if we&#039;ve reached the root folder</h2>
- <pre>isRootFolder(\OCP\Files\Folder $folder, integer $level) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowForbidden"></a>
- <div class="element clickable method protected method_logAndThrowForbidden inherited" data-toggle="collapse" data-target=".method_logAndThrowForbidden .collapse">
- <h2>Logs the error and raises a &quot;Forbidden&quot; type exception</h2>
- <pre>logAndThrowForbidden(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method protected method_logAndThrowNotFound inherited" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises a &quot;Not found&quot; type exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_recoverFromGetNodesError"></a>
- <div class="element clickable method private method_recoverFromGetNodesError inherited" data-toggle="collapse" data-target=".method_recoverFromGetNodesError .collapse">
- <h2>Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</h2>
- <pre>recoverFromGetNodesError(integer $subDepth, \Exception $exception) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_sendFolder"></a>
- <div class="element clickable method private method_sendFolder" data-toggle="collapse" data-target=".method_sendFolder .collapse">
- <h2>Makes sure that the folder is not empty, does meet our requirements in terms of location and
-returns details about it</h2>
- <pre>sendFolder(string $path, \OCP\Files\Folder $node, boolean $locationHasChanged) : array</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$path</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$locationHasChanged</h4>
- <code>boolean</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p><p>&lt;string,Folder,bool&gt;</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_validateLocation"></a>
- <div class="element clickable method private method_validateLocation" data-toggle="collapse" data-target=".method_validateLocation .collapse">
- <h2>Makes sure we don&#039;t go too far up before giving up</h2>
- <pre>validateLocation(string $location, integer $depth) : string</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$location</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$depth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_virtualRootLevel"> </a>
- <div class="element clickable property protected property_virtualRootLevel inherited" data-toggle="collapse" data-target=".property_virtualRootLevel .collapse">
- <h2>virtualRootLevel</h2>
- <pre>virtualRootLevel : integer</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>integer</code>
- </div>
- </div>
- </div>
- <a id="property_features"> </a>
- <div class="element clickable property protected property_features inherited" data-toggle="collapse" data-target=".property_features .collapse">
- <h2>features</h2>
- <pre>features : array&lt;mixed,string&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,string&gt;</code>
- </div>
- </div>
- </div>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property protected property_environment inherited" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\SearchFolderService"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.SearchFolderService.html">SearchFolderService</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.SearchMediaService.html b/build/documentation/api/classes/OCA.Gallery.Service.SearchMediaService.html
deleted file mode 100644
index 01ea3b14..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.SearchMediaService.html
+++ /dev/null
@@ -1,1284 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\SearchMediaService
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public inherited">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getMediaFiles" title="getMediaFiles :: This returns the list of all media files which can be shown starting from the given folder">
- <span class="description">This returns the list of all media files which can be shown starting from the given folder</span><pre>getMediaFiles</pre>
- </a>
- </li>
-
- <li class="method public inherited">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the node matching the given ID">
- <span class="description">Returns the node matching the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected inherited">
- <a href="#method_getAllowedSubFolder" title="getAllowedSubFolder :: Returns the node if it&#039;s a folder we have access to">
- <span class="description">Returns the node if it&#039;s a folder we have access to</span><pre>getAllowedSubFolder</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_getNodes" title="getNodes :: Retrieves all files and sub-folders contained in a folder">
- <span class="description">Retrieves all files and sub-folders contained in a folder</span><pre>getNodes</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_getNodeType" title="getNodeType :: Returns the node type, either &#039;dir&#039; or &#039;file&#039;">
- <span class="description">Returns the node type, either &#039;dir&#039; or &#039;file&#039;</span><pre>getNodeType</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_isAllowedAndAvailable" title="isAllowedAndAvailable :: Determines if the files are hosted locally (shared or not) and can be used by the preview
-system">
- <span class="description">Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</span><pre>isAllowedAndAvailable</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_isRootFolder" title="isRootFolder :: Determines if we&#039;ve reached the root folder">
- <span class="description">Determines if we&#039;ve reached the root folder</span><pre>isRootFolder</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowForbidden" title="logAndThrowForbidden :: Logs the error and raises a &quot;Forbidden&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Forbidden&quot; type exception</span><pre>logAndThrowForbidden</pre>
- </a>
- </li>
- <li class="method protected inherited">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises a &quot;Not found&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Not found&quot; type exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- <li class="method private">
- <a href="#method_abortSearch" title="abortSearch :: Returns true if there is no need to check any other sub-folder at the same depth level">
- <span class="description">Returns true if there is no need to check any other sub-folder at the same depth level</span><pre>abortSearch</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_addFileToResults" title="addFileToResults :: Adds various information about a file to the list of results">
- <span class="description">Adds various information about a file to the list of results</span><pre>addFileToResults</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_addMediaFile" title="addMediaFile :: Adds the node to the list of images if it&#039;s a file and we can generate a preview of it">
- <span class="description">Adds the node to the list of images if it&#039;s a file and we can generate a preview of it</span><pre>addMediaFile</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_folderNeedsToBeSearched" title="folderNeedsToBeSearched :: Checks if we need to look for media files in the specified folder">
- <span class="description">Checks if we need to look for media files in the specified folder</span><pre>folderNeedsToBeSearched</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_haveEnoughPictures" title="haveEnoughPictures :: Checks if we&#039;ve collected enough pictures to be able to build the view">
- <span class="description">Checks if we&#039;ve collected enough pictures to be able to build the view</span><pre>haveEnoughPictures</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isAllowed" title="isAllowed :: Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned">
- <span class="description">Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</span><pre>isAllowed</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isAvailable" title="isAvailable :: Determines if the node is available, as in readable">
- <span class="description">Determines if the node is available, as in readable</span><pre>isAvailable</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isExternalShare" title="isExternalShare :: Determines if the node is a share which is hosted externally">
- <span class="description">Determines if the node is a share which is hosted externally</span><pre>isExternalShare</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_isExternalShareAllowed" title="isExternalShareAllowed :: Determines if the user has allowed the use of external shares">
- <span class="description">Determines if the user has allowed the use of external shares</span><pre>isExternalShareAllowed</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_isPreviewAvailable" title="isPreviewAvailable :: Returns true if the file is of a supported media type and adds it to the array of items to
-return">
- <span class="description">Returns true if the file is of a supported media type and adds it to the array of items to
-return</span><pre>isPreviewAvailable</pre>
- </a>
- </li>
- <li class="method private inherited">
- <a href="#method_recoverFromGetNodesError" title="recoverFromGetNodesError :: Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder">
- <span class="description">Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</span><pre>recoverFromGetNodesError</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_searchFolder" title="searchFolder :: Look for media files and folders in the given folder">
- <span class="description">Look for media files and folders in the given folder</span><pre>searchFolder</pre>
- </a>
- </li>
- <li class="method private">
- <a href="#method_searchSubFolders" title="searchSubFolders :: Looks for pictures in sub-folders">
- <span class="description">Looks for pictures in sub-folders</span><pre>searchSubFolders</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>SearchMediaService</h1>
- <small style="display: block; text-align: right">
- Extends <a href="OCA.Gallery.Service.FilesService.html">\OCA\Gallery\Service\FilesService</a>
- </small>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct inherited" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCA\Gallery\Environment\Environment $environment, \OCP\ILogger $logger) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_abortSearch"></a>
- <div class="element clickable method private method_abortSearch" data-toggle="collapse" data-target=".method_abortSearch .collapse">
- <h2>Returns true if there is no need to check any other sub-folder at the same depth level</h2>
- <pre>abortSearch(integer $subDepth, integer $count) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$count</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_addFileToResults"></a>
- <div class="element clickable method private method_addFileToResults" data-toggle="collapse" data-target=".method_addFileToResults .collapse">
- <h2>Adds various information about a file to the list of results</h2>
- <pre>addFileToResults(\OCP\Files\File $file) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_addMediaFile"></a>
- <div class="element clickable method private method_addMediaFile" data-toggle="collapse" data-target=".method_addMediaFile .collapse">
- <h2>Adds the node to the list of images if it&#039;s a file and we can generate a preview of it</h2>
- <pre>addMediaFile(\OCP\Files\File|\OCP\Files\Folder $node, string $nodeType, integer $albumImageCounter) : integer</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\File|\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$nodeType</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$albumImageCounter</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>integer</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_folderNeedsToBeSearched"></a>
- <div class="element clickable method private method_folderNeedsToBeSearched" data-toggle="collapse" data-target=".method_folderNeedsToBeSearched .collapse">
- <h2>Checks if we need to look for media files in the specified folder</h2>
- <pre>folderNeedsToBeSearched( $subFolders, integer $subDepth, integer $albumImageCounter) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subFolders</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$albumImageCounter</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getAllowedSubFolder"></a>
- <div class="element clickable method protected method_getAllowedSubFolder inherited" data-toggle="collapse" data-target=".method_getAllowedSubFolder .collapse">
- <h2>Returns the node if it&#039;s a folder we have access to</h2>
- <pre>getAllowedSubFolder(\OCP\Files\Folder $node, string $nodeType) : array|\OCP\Files\Folder</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$nodeType</h4>
- <code>string</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array|\OCP\Files\Folder</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getMediaFiles"></a>
- <div class="element clickable method public method_getMediaFiles" data-toggle="collapse" data-target=".method_getMediaFiles .collapse">
- <h2>This returns the list of all media files which can be shown starting from the given folder</h2>
- <pre>getMediaFiles(\OCP\Files\Folder $folder, array&lt;mixed,string&gt; $supportedMediaTypes, array $features) : \OCA\Gallery\Service\array&lt;string,string|\OCA\Gallery\Service\int&gt;|null</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$supportedMediaTypes</h4>
- <code>array&lt;mixed,string&gt;</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$features</h4>
- <code>array</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Service\array<string,string|\OCA\Gallery\Service\int>|null</code><p><p>all the images we could find</p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodes"></a>
- <div class="element clickable method protected method_getNodes inherited" data-toggle="collapse" data-target=".method_getNodes .collapse">
- <h2>Retrieves all files and sub-folders contained in a folder</h2>
- <pre>getNodes(\OCP\Files\Folder $folder, integer $subDepth) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If we can't find anything in the current folder, we throw an exception as there is no point
-in doing any more work, but if we're looking at a sub-folder, we return an empty array so
-that it can be simply ignored</p></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getNodeType"></a>
- <div class="element clickable method protected method_getNodeType inherited" data-toggle="collapse" data-target=".method_getNodeType .collapse">
- <h2>Returns the node type, either &#039;dir&#039; or &#039;file&#039;</h2>
- <pre>getNodeType(\OCP\Files\Node $node) : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If there is a problem, we return an empty string so that the node can be ignored</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>string</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId inherited" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the node matching the given ID</h2>
- <pre>getResourceFromId(integer $nodeId) : \OCP\Files\Node|null</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$nodeId</h4>
- <code>integer</code><p><p>ID of the resource to locate</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_haveEnoughPictures"></a>
- <div class="element clickable method private method_haveEnoughPictures" data-toggle="collapse" data-target=".method_haveEnoughPictures .collapse">
- <h2>Checks if we&#039;ve collected enough pictures to be able to build the view</h2>
- <pre>haveEnoughPictures(integer $albumImageCounter, integer $subDepth) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>An album is full when we find max 4 pictures at the same level</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$albumImageCounter</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowed"></a>
- <div class="element clickable method private method_isAllowed inherited" data-toggle="collapse" data-target=".method_isAllowed .collapse">
- <h2>Determines if we can consider the node mounted locally or if it&#039;s been authorised to be
-scanned</h2>
- <pre>isAllowed(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAllowedAndAvailable"></a>
- <div class="element clickable method protected method_isAllowedAndAvailable inherited" data-toggle="collapse" data-target=".method_isAllowedAndAvailable .collapse">
- <h2>Determines if the files are hosted locally (shared or not) and can be used by the preview
-system</h2>
- <pre>isAllowedAndAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>isMounted() doesn't include externally hosted shares, so we need to exclude those from the
-non-mounted nodes</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isAvailable"></a>
- <div class="element clickable method private method_isAvailable inherited" data-toggle="collapse" data-target=".method_isAvailable .collapse">
- <h2>Determines if the node is available, as in readable</h2>
- <pre>isAvailable(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>Test to see by how much using file_exists slows things down</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShare"></a>
- <div class="element clickable method private method_isExternalShare inherited" data-toggle="collapse" data-target=".method_isExternalShare .collapse">
- <h2>Determines if the node is a share which is hosted externally</h2>
- <pre>isExternalShare(\OCP\Files\Node $node) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$node</h4>
- <code>\OCP\Files\Node</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isExternalShareAllowed"></a>
- <div class="element clickable method private method_isExternalShareAllowed inherited" data-toggle="collapse" data-target=".method_isExternalShareAllowed .collapse">
- <h2>Determines if the user has allowed the use of external shares</h2>
- <pre>isExternalShareAllowed() : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isPreviewAvailable"></a>
- <div class="element clickable method private method_isPreviewAvailable" data-toggle="collapse" data-target=".method_isPreviewAvailable .collapse">
- <h2>Returns true if the file is of a supported media type and adds it to the array of items to
-return</h2>
- <pre>isPreviewAvailable(\OCP\Files\File $file) : boolean</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- todo
- </th>
- <td>
-
- <p>We could potentially check if the file is readable ($file-&gt;stat() maybe) in order to
-only return valid files, but this may slow down operations</p>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$file</h4>
- <code>\OCP\Files\File</code><p><p>the file to test</p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_isRootFolder"></a>
- <div class="element clickable method protected method_isRootFolder inherited" data-toggle="collapse" data-target=".method_isRootFolder .collapse">
- <h2>Determines if we&#039;ve reached the root folder</h2>
- <pre>isRootFolder(\OCP\Files\Folder $folder, integer $level) : boolean</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$level</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>boolean</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowForbidden"></a>
- <div class="element clickable method protected method_logAndThrowForbidden inherited" data-toggle="collapse" data-target=".method_logAndThrowForbidden .collapse">
- <h2>Logs the error and raises a &quot;Forbidden&quot; type exception</h2>
- <pre>logAndThrowForbidden(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method protected method_logAndThrowNotFound inherited" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises a &quot;Not found&quot; type exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_recoverFromGetNodesError"></a>
- <div class="element clickable method private method_recoverFromGetNodesError inherited" data-toggle="collapse" data-target=".method_recoverFromGetNodesError .collapse">
- <h2>Throws an exception if this problem occurs in the current folder, otherwise just ignores the
-sub-folder</h2>
- <pre>recoverFromGetNodesError(integer $subDepth, \Exception $exception) : array</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$exception</h4>
- <code>\Exception</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>array</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_searchFolder"></a>
- <div class="element clickable method private method_searchFolder" data-toggle="collapse" data-target=".method_searchFolder .collapse">
- <h2>Look for media files and folders in the given folder</h2>
- <pre>searchFolder(\OCP\Files\Folder $folder, integer $subDepth) : integer</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$folder</h4>
- <code>\OCP\Files\Folder</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>integer</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_searchSubFolders"></a>
- <div class="element clickable method private method_searchSubFolders" data-toggle="collapse" data-target=".method_searchSubFolders .collapse">
- <h2>Looks for pictures in sub-folders</h2>
- <pre>searchSubFolders( $subFolders, integer $subDepth, integer $albumImageCounter) : integer</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><p>If we're at level 0, we need to look for pictures in sub-folders no matter what
-If we're at deeper levels, we only need to go further if we haven't managed to find one
-picture in the current folder</p></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$subFolders</h4>
- <code></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$subDepth</h4>
- <code>integer</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$albumImageCounter</h4>
- <code>integer</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>integer</code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_images"> </a>
- <div class="element clickable property private property_images" data-toggle="collapse" data-target=".property_images .collapse">
- <h2>images</h2>
- <pre>images : null|\OCA\Gallery\Service\array&lt;string,string|\OCA\Gallery\Service\int&gt;</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>null|\OCA\Gallery\Service\array<string,string|\OCA\Gallery\Service\int></code>
- </div>
- </div>
- </div>
- <a id="property_supportedMediaTypes"> </a>
- <div class="element clickable property private property_supportedMediaTypes" data-toggle="collapse" data-target=".property_supportedMediaTypes .collapse">
- <h2>supportedMediaTypes</h2>
- <pre>supportedMediaTypes : array&lt;mixed,string&gt;</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,string&gt;</code>
- </div>
- </div>
- </div>
- <a id="property_virtualRootLevel"> </a>
- <div class="element clickable property protected property_virtualRootLevel inherited" data-toggle="collapse" data-target=".property_virtualRootLevel .collapse">
- <h2>virtualRootLevel</h2>
- <pre>virtualRootLevel : integer</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>integer</code>
- </div>
- </div>
- </div>
- <a id="property_features"> </a>
- <div class="element clickable property protected property_features inherited" data-toggle="collapse" data-target=".property_features .collapse">
- <h2>features</h2>
- <pre>features : array&lt;mixed,string&gt;</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>array&lt;mixed,string&gt;</code>
- </div>
- </div>
- </div>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName inherited" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property protected property_environment inherited" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger inherited" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- <span class="label">inherited</span> </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\SearchMediaService"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.SearchMediaService.html">SearchMediaService</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.Service.html b/build/documentation/api/classes/OCA.Gallery.Service.Service.html
deleted file mode 100644
index 43dce8cd..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.Service.html
+++ /dev/null
@@ -1,449 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\Service
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- <li class="method public">
- <a href="#method_getResourceFromId" title="getResourceFromId :: Returns the node matching the given ID">
- <span class="description">Returns the node matching the given ID</span><pre>getResourceFromId</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- <li class="method protected">
- <a href="#method_logAndThrowForbidden" title="logAndThrowForbidden :: Logs the error and raises a &quot;Forbidden&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Forbidden&quot; type exception</span><pre>logAndThrowForbidden</pre>
- </a>
- </li>
- <li class="method protected">
- <a href="#method_logAndThrowNotFound" title="logAndThrowNotFound :: Logs the error and raises a &quot;Not found&quot; type exception">
- <span class="description">Logs the error and raises a &quot;Not found&quot; type exception</span><pre>logAndThrowNotFound</pre>
- </a>
- </li>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>Service</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $appName, \OCA\Gallery\Environment\Environment $environment, \OCP\ILogger $logger) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$appName</h4>
- <code>string</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$environment</h4>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$logger</h4>
- <code>\OCP\ILogger</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_getResourceFromId"></a>
- <div class="element clickable method public method_getResourceFromId" data-toggle="collapse" data-target=".method_getResourceFromId .collapse">
- <h2>Returns the node matching the given ID</h2>
- <pre>getResourceFromId(integer $nodeId) : \OCP\Files\Node|null</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$nodeId</h4>
- <code>integer</code><p><p>ID of the resource to locate</p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCP\Files\Node|null</code><p></p>
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowForbidden"></a>
- <div class="element clickable method protected method_logAndThrowForbidden" data-toggle="collapse" data-target=".method_logAndThrowForbidden .collapse">
- <h2>Logs the error and raises a &quot;Forbidden&quot; type exception</h2>
- <pre>logAndThrowForbidden(string $message) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
- <a id="method_logAndThrowNotFound"></a>
- <div class="element clickable method protected method_logAndThrowNotFound" data-toggle="collapse" data-target=".method_logAndThrowNotFound .collapse">
- <h2>Logs the error and raises a &quot;Not found&quot; type exception</h2>
- <pre>logAndThrowNotFound(string $message) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- throws
- </th>
- <td>
-
-
- </td>
- </tr>
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$message</h4>
- <code>string</code><p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_appName"> </a>
- <div class="element clickable property protected property_appName" data-toggle="collapse" data-target=".property_appName .collapse">
- <h2>appName</h2>
- <pre>appName : string</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>string</code>
- </div>
- </div>
- </div>
- <a id="property_environment"> </a>
- <div class="element clickable property protected property_environment" data-toggle="collapse" data-target=".property_environment .collapse">
- <h2>environment</h2>
- <pre>environment : \OCA\Gallery\Environment\Environment</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code><a href="OCA.Gallery.Environment.Environment.html">\OCA\Gallery\Environment\Environment</a></code>
- </div>
- </div>
- </div>
- <a id="property_logger"> </a>
- <div class="element clickable property protected property_logger" data-toggle="collapse" data-target=".property_logger .collapse">
- <h2>logger</h2>
- <pre>logger : \OCP\ILogger</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>\OCP\ILogger</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\Service"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.Service.html">Service</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.ServiceException.html b/build/documentation/api/classes/OCA.Gallery.Service.ServiceException.html
deleted file mode 100644
index f041b932..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.ServiceException.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\ServiceException
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method___construct" title="__construct :: Constructor">
- <span class="description">Constructor</span><pre>__construct</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>ServiceException</h1>
- <small style="display: block; text-align: right">
- Extends \Exception
- </small>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>Default</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method___construct"></a>
- <div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
- <h2>Constructor</h2>
- <pre>__construct(string $msg) </pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
-
- </th>
- <td>
- </td>
- </tr>
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$msg</h4>
- <code>string</code><p><p>the message contained in the exception</p></p>
- </div>
-
- </div>
- </div>
-
- </div>
-
-
- </div>
- </div>
- <a id="\OCA\Gallery\Service\ServiceException"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.ServiceException.html">ServiceException</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/classes/OCA.Gallery.Service.ThumbnailService.html b/build/documentation/api/classes/OCA.Gallery.Service.ThumbnailService.html
deleted file mode 100644
index 7b275ef7..00000000
--- a/build/documentation/api/classes/OCA.Gallery.Service.ThumbnailService.html
+++ /dev/null
@@ -1,286 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> Gallery PHP code documentation &raquo; \OCA\Gallery\Service\ThumbnailService
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <style>
- .deprecated h2 {
- text-decoration: line-through;
- }
- </style>
- <div class="row">
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button>
- <button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
- </div>
- <div class="btn-group visibility" data-toggle="buttons-checkbox">
- <button class="btn public active" title="Show public elements">Public</button>
- <button class="btn protected" title="Show protected elements">Protected</button>
- <button class="btn private" title="Show private elements">Private</button>
- <button class="btn inherited active" title="Show inherited elements">Inherited</button>
- </div>
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-custom icon-method"></i> Methods
- <ul>
- <li class="method public">
- <a href="#method_getThumbnailSpecs" title="getThumbnailSpecs :: Returns thumbnail specs">
- <span class="description">Returns thumbnail specs</span><pre>getThumbnailSpecs</pre>
- </a>
- </li>
-
- </ul>
- </li>
- <li class="nav-header protected">» Protected
- <ul>
- </ul>
- </li>
- <li class="nav-header private">» Private
- <ul>
- </ul>
- </li>
- <li class="nav-header">
- <i class="icon-custom icon-constant"></i> Constants
- <ul>
- </ul>
- </li>
- </ul>
-
-
- </div>
-
- <div class="span8">
- <div class="element class">
- <h1>ThumbnailService</h1>
- <small style="display: block; text-align: right">
- </small>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details">
- <div class="long_description">
-
- </div>
- <table class="table table-bordered">
- <tr>
- <th>
- package
- </th>
- <td>
-
- <p>OCA\Gallery\Service</p>
- </td>
- </tr>
- </table>
-
- <h3><i class="icon-custom icon-method"></i> Methods</h3>
- <a id="method_getThumbnailSpecs"></a>
- <div class="element clickable method public method_getThumbnailSpecs" data-toggle="collapse" data-target=".method_getThumbnailSpecs .collapse">
- <h2>Returns thumbnail specs</h2>
- <pre>getThumbnailSpecs(boolean $square, double $scale) : \OCA\Gallery\Service\array&lt;int|double|\OCA\Gallery\Service\boolean&gt;</pre>
- <div class="labels">
- </div>
-
-
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"><ul>
-<li>Album thumbnails need to be 200x200 and some will be resized by the
-browser to 200x100 or 100x100.
-<ul>
-<li>Standard thumbnails are 400x200.</li>
-</ul></li>
-</ul></div>
-
- <table class="table">
- </table>
-
- <h3>Arguments</h3>
- <div class="subelement argument">
- <h4>$square</h4>
- <code>boolean</code><p></p>
- </div>
- <div class="subelement argument">
- <h4>$scale</h4>
- <code>double</code><p></p>
- </div>
-
- <h3>Response</h3>
- <code>\OCA\Gallery\Service\array<int|double|\OCA\Gallery\Service\boolean></code><p></p>
- </div>
- </div>
-
- </div>
-
-
- <h3><i class="icon-custom icon-property"></i> Properties</h3>
- <a id="property_animatedPreview"> </a>
- <div class="element clickable property private property_animatedPreview" data-toggle="collapse" data-target=".property_animatedPreview .collapse">
- <h2>animatedPreview</h2>
- <pre>animatedPreview : boolean</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>boolean</code>
- </div>
- </div>
- </div>
- <a id="property_base64Encode"> </a>
- <div class="element clickable property private property_base64Encode" data-toggle="collapse" data-target=".property_base64Encode .collapse">
- <h2>base64Encode</h2>
- <pre>base64Encode : boolean</pre>
- <div class="labels">
- </div>
- <div class="row collapse">
- <div class="detail-description">
- <div class="long_description"></div>
-
- <table class="table">
- <tr>
- <th>
- var
- </th>
- <td>
-
- </td>
- </tr>
- </table>
-
- <h3>Type(s)</h3>
- <code>boolean</code>
- </div>
- </div>
- </div>
- </div>
- </div>
- <a id="\OCA\Gallery\Service\ThumbnailService"></a>
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-custom icon-class"></i></a></li>
-
-
- <li><span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a></li>
-
- <li class="active"><span class="divider">\</span><a href="../classes/OCA.Gallery.Service.ThumbnailService.html">ThumbnailService</a></li>
- </ul>
- </div>
- </div>
-
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/css/bootstrap-responsive.css b/build/documentation/api/css/bootstrap-responsive.css
deleted file mode 100644
index 4b032cdb..00000000
--- a/build/documentation/api/css/bootstrap-responsive.css
+++ /dev/null
@@ -1,567 +0,0 @@
-/*!
- * Bootstrap Responsive v2.0.0
- *
- * 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.
- */
-.hidden {
- display: none;
- visibility: hidden;
-}
-@media (max-width: 480px) {
- .nav-collapse {
- -webkit-transform: translate3d(0, 0, 0);
- }
- .page-header h1 small {
- display: block;
- line-height: 18px;
- }
- input[class*="span"],
- select[class*="span"],
- textarea[class*="span"],
- .uneditable-input {
- display: block;
- width: 100%;
- 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;
- /* Older Webkit */
-
- -moz-box-sizing: border-box;
- /* Older FF */
-
- -ms-box-sizing: border-box;
- /* IE8 */
-
- box-sizing: border-box;
- /* CSS3 spec*/
-
- }
- .input-prepend input[class*="span"], .input-append input[class*="span"] {
- width: auto;
- }
- 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: 768px) {
- .container {
- width: auto;
- padding: 0 20px;
- }
- .row-fluid {
- width: 100%;
- }
- .row {
- margin-left: 0;
- }
- .row > [class*="span"], .row-fluid > [class*="span"] {
- float: none;
- display: block;
- width: auto;
- margin: 0;
- }
-}
-@media (min-width: 768px) and (max-width: 980px) {
- .row {
- margin-left: -20px;
- *zoom: 1;
- }
- .row:before, .row:after {
- display: table;
- content: "";
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- margin-left: 20px;
- }
- .span1 {
- width: 42px;
- }
- .span2 {
- width: 104px;
- }
- .span3 {
- width: 166px;
- }
- .span4 {
- width: 228px;
- }
- .span5 {
- width: 290px;
- }
- .span6 {
- width: 352px;
- }
- .span7 {
- width: 414px;
- }
- .span8 {
- width: 476px;
- }
- .span9 {
- width: 538px;
- }
- .span10 {
- width: 600px;
- }
- .span11 {
- width: 662px;
- }
- .span12, .container {
- width: 724px;
- }
- .offset1 {
- margin-left: 82px;
- }
- .offset2 {
- margin-left: 144px;
- }
- .offset3 {
- margin-left: 206px;
- }
- .offset4 {
- margin-left: 268px;
- }
- .offset5 {
- margin-left: 330px;
- }
- .offset6 {
- margin-left: 392px;
- }
- .offset7 {
- margin-left: 454px;
- }
- .offset8 {
- margin-left: 516px;
- }
- .offset9 {
- margin-left: 578px;
- }
- .offset10 {
- margin-left: 640px;
- }
- .offset11 {
- margin-left: 702px;
- }
- .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 .span1 {
- width: 5.801104972%;
- }
- .row-fluid .span2 {
- width: 14.364640883%;
- }
- .row-fluid .span3 {
- width: 22.928176794%;
- }
- .row-fluid .span4 {
- width: 31.491712705%;
- }
- .row-fluid .span5 {
- width: 40.055248616%;
- }
- .row-fluid .span6 {
- width: 48.618784527%;
- }
- .row-fluid .span7 {
- width: 57.182320438000005%;
- }
- .row-fluid .span8 {
- width: 65.74585634900001%;
- }
- .row-fluid .span9 {
- width: 74.30939226%;
- }
- .row-fluid .span10 {
- width: 82.87292817100001%;
- }
- .row-fluid .span11 {
- width: 91.436464082%;
- }
- .row-fluid .span12 {
- width: 99.999999993%;
- }
- input.span1, textarea.span1, .uneditable-input.span1 {
- width: 32px;
- }
- input.span2, textarea.span2, .uneditable-input.span2 {
- width: 94px;
- }
- input.span3, textarea.span3, .uneditable-input.span3 {
- width: 156px;
- }
- input.span4, textarea.span4, .uneditable-input.span4 {
- width: 218px;
- }
- input.span5, textarea.span5, .uneditable-input.span5 {
- width: 280px;
- }
- input.span6, textarea.span6, .uneditable-input.span6 {
- width: 342px;
- }
- input.span7, textarea.span7, .uneditable-input.span7 {
- width: 404px;
- }
- input.span8, textarea.span8, .uneditable-input.span8 {
- width: 466px;
- }
- input.span9, textarea.span9, .uneditable-input.span9 {
- width: 528px;
- }
- input.span10, textarea.span10, .uneditable-input.span10 {
- width: 590px;
- }
- input.span11, textarea.span11, .uneditable-input.span11 {
- width: 652px;
- }
- input.span12, textarea.span12, .uneditable-input.span12 {
- width: 714px;
- }
-}
-@media (max-width: 980px) {
- 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 > 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;
- }
-}
-@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;
- }
- .span1 {
- width: 70px;
- }
- .span2 {
- width: 170px;
- }
- .span3 {
- width: 270px;
- }
- .span4 {
- width: 370px;
- }
- .span5 {
- width: 470px;
- }
- .span6 {
- width: 570px;
- }
- .span7 {
- width: 670px;
- }
- .span8 {
- width: 770px;
- }
- .span9 {
- width: 870px;
- }
- .span10 {
- width: 970px;
- }
- .span11 {
- width: 1070px;
- }
- .span12, .container {
- width: 1170px;
- }
- .offset1 {
- margin-left: 130px;
- }
- .offset2 {
- margin-left: 230px;
- }
- .offset3 {
- margin-left: 330px;
- }
- .offset4 {
- margin-left: 430px;
- }
- .offset5 {
- margin-left: 530px;
- }
- .offset6 {
- margin-left: 630px;
- }
- .offset7 {
- margin-left: 730px;
- }
- .offset8 {
- margin-left: 830px;
- }
- .offset9 {
- margin-left: 930px;
- }
- .offset10 {
- margin-left: 1030px;
- }
- .offset11 {
- margin-left: 1130px;
- }
- .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 .span1 {
- width: 5.982905983%;
- }
- .row-fluid .span2 {
- width: 14.529914530000001%;
- }
- .row-fluid .span3 {
- width: 23.076923077%;
- }
- .row-fluid .span4 {
- width: 31.623931624%;
- }
- .row-fluid .span5 {
- width: 40.170940171000005%;
- }
- .row-fluid .span6 {
- width: 48.717948718%;
- }
- .row-fluid .span7 {
- width: 57.264957265%;
- }
- .row-fluid .span8 {
- width: 65.81196581200001%;
- }
- .row-fluid .span9 {
- width: 74.358974359%;
- }
- .row-fluid .span10 {
- width: 82.905982906%;
- }
- .row-fluid .span11 {
- width: 91.45299145300001%;
- }
- .row-fluid .span12 {
- width: 100%;
- }
- input.span1, textarea.span1, .uneditable-input.span1 {
- width: 60px;
- }
- input.span2, textarea.span2, .uneditable-input.span2 {
- width: 160px;
- }
- input.span3, textarea.span3, .uneditable-input.span3 {
- width: 260px;
- }
- input.span4, textarea.span4, .uneditable-input.span4 {
- width: 360px;
- }
- input.span5, textarea.span5, .uneditable-input.span5 {
- width: 460px;
- }
- input.span6, textarea.span6, .uneditable-input.span6 {
- width: 560px;
- }
- input.span7, textarea.span7, .uneditable-input.span7 {
- width: 660px;
- }
- input.span8, textarea.span8, .uneditable-input.span8 {
- width: 760px;
- }
- input.span9, textarea.span9, .uneditable-input.span9 {
- width: 860px;
- }
- input.span10, textarea.span10, .uneditable-input.span10 {
- width: 960px;
- }
- input.span11, textarea.span11, .uneditable-input.span11 {
- width: 1060px;
- }
- input.span12, textarea.span12, .uneditable-input.span12 {
- width: 1160px;
- }
- .thumbnails {
- margin-left: -30px;
- }
- .thumbnails > li {
- margin-left: 30px;
- }
-}
diff --git a/build/documentation/api/css/bootstrap-responsive.min.css b/build/documentation/api/css/bootstrap-responsive.min.css
deleted file mode 100644
index bc3f2ab7..00000000
--- a/build/documentation/api/css/bootstrap-responsive.min.css
+++ /dev/null
@@ -1,3 +0,0 @@
-
-.hidden{display:none;visibility:hidden;}
-@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:18px;} input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;height:28px;-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;} 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:768px){.container{width:auto;padding:0 20px;} .row-fluid{width:100%;} .row{margin-left:0;} .row>[class*="span"],.row-fluid>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:980px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";} .row:after{clear:both;} [class*="span"]{float:left;margin-left:20px;} .span1{width:42px;} .span2{width:104px;} .span3{width:166px;} .span4{width:228px;} .span5{width:290px;} .span6{width:352px;} .span7{width:414px;} .span8{width:476px;} .span9{width:538px;} .span10{width:600px;} .span11{width:662px;} .span12,.container{width:724px;} .offset1{margin-left:82px;} .offset2{margin-left:144px;} .offset3{margin-left:206px;} .offset4{margin-left:268px;} .offset5{margin-left:330px;} .offset6{margin-left:392px;} .offset7{margin-left:454px;} .offset8{margin-left:516px;} .offset9{margin-left:578px;} .offset10{margin-left:640px;} .offset11{margin-left:702px;} .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 .span1{width:5.801104972%;} .row-fluid .span2{width:14.364640883%;} .row-fluid .span3{width:22.928176794%;} .row-fluid .span4{width:31.491712705%;} .row-fluid .span5{width:40.055248616%;} .row-fluid .span6{width:48.618784527%;} .row-fluid .span7{width:57.182320438000005%;} .row-fluid .span8{width:65.74585634900001%;} .row-fluid .span9{width:74.30939226%;} .row-fluid .span10{width:82.87292817100001%;} .row-fluid .span11{width:91.436464082%;} .row-fluid .span12{width:99.999999993%;} input.span1,textarea.span1,.uneditable-input.span1{width:32px;} input.span2,textarea.span2,.uneditable-input.span2{width:94px;} input.span3,textarea.span3,.uneditable-input.span3{width:156px;} input.span4,textarea.span4,.uneditable-input.span4{width:218px;} input.span5,textarea.span5,.uneditable-input.span5{width:280px;} input.span6,textarea.span6,.uneditable-input.span6{width:342px;} input.span7,textarea.span7,.uneditable-input.span7{width:404px;} input.span8,textarea.span8,.uneditable-input.span8{width:466px;} input.span9,textarea.span9,.uneditable-input.span9{width:528px;} input.span10,textarea.span10,.uneditable-input.span10{width:590px;} input.span11,textarea.span11,.uneditable-input.span11{width:652px;} input.span12,textarea.span12,.uneditable-input.span12{width:714px;}}@media (max-width:980px){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>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;}}@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;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12,.container{width:1170px;} .offset1{margin-left:130px;} .offset2{margin-left:230px;} .offset3{margin-left:330px;} .offset4{margin-left:430px;} .offset5{margin-left:530px;} .offset6{margin-left:630px;} .offset7{margin-left:730px;} .offset8{margin-left:830px;} .offset9{margin-left:930px;} .offset10{margin-left:1030px;} .offset11{margin-left:1130px;} .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 .span1{width:5.982905983%;} .row-fluid .span2{width:14.529914530000001%;} .row-fluid .span3{width:23.076923077%;} .row-fluid .span4{width:31.623931624%;} .row-fluid .span5{width:40.170940171000005%;} .row-fluid .span6{width:48.717948718%;} .row-fluid .span7{width:57.264957265%;} .row-fluid .span8{width:65.81196581200001%;} .row-fluid .span9{width:74.358974359%;} .row-fluid .span10{width:82.905982906%;} .row-fluid .span11{width:91.45299145300001%;} .row-fluid .span12{width:100%;} input.span1,textarea.span1,.uneditable-input.span1{width:60px;} input.span2,textarea.span2,.uneditable-input.span2{width:160px;} input.span3,textarea.span3,.uneditable-input.span3{width:260px;} input.span4,textarea.span4,.uneditable-input.span4{width:360px;} input.span5,textarea.span5,.uneditable-input.span5{width:460px;} input.span6,textarea.span6,.uneditable-input.span6{width:560px;} input.span7,textarea.span7,.uneditable-input.span7{width:660px;} input.span8,textarea.span8,.uneditable-input.span8{width:760px;} input.span9,textarea.span9,.uneditable-input.span9{width:860px;} input.span10,textarea.span10,.uneditable-input.span10{width:960px;} input.span11,textarea.span11,.uneditable-input.span11{width:1060px;} input.span12,textarea.span12,.uneditable-input.span12{width:1160px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;}}
diff --git a/build/documentation/api/css/bootstrap.css b/build/documentation/api/css/bootstrap.css
deleted file mode 100644
index 563050c0..00000000
--- a/build/documentation/api/css/bootstrap.css
+++ /dev/null
@@ -1,3370 +0,0 @@
-/*!
- * Bootstrap v2.0.0
- *
- * 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;
- 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 {
- max-width: 100%;
- height: auto;
- border: 0;
- -ms-interpolation-mode: bicubic;
-}
-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;
-}
-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;
-}
-.span1 {
- width: 60px;
-}
-.span2 {
- width: 140px;
-}
-.span3 {
- width: 220px;
-}
-.span4 {
- width: 300px;
-}
-.span5 {
- width: 380px;
-}
-.span6 {
- width: 460px;
-}
-.span7 {
- width: 540px;
-}
-.span8 {
- width: 620px;
-}
-.span9 {
- width: 700px;
-}
-.span10 {
- width: 780px;
-}
-.span11 {
- width: 860px;
-}
-.span12, .container {
- width: 940px;
-}
-.offset1 {
- margin-left: 100px;
-}
-.offset2 {
- margin-left: 180px;
-}
-.offset3 {
- margin-left: 260px;
-}
-.offset4 {
- margin-left: 340px;
-}
-.offset5 {
- margin-left: 420px;
-}
-.offset6 {
- margin-left: 500px;
-}
-.offset7 {
- margin-left: 580px;
-}
-.offset8 {
- margin-left: 660px;
-}
-.offset9 {
- margin-left: 740px;
-}
-.offset10 {
- margin-left: 820px;
-}
-.offset11 {
- margin-left: 900px;
-}
-.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 .span1 {
- width: 6.382978723%;
-}
-.row-fluid .span2 {
- width: 14.89361702%;
-}
-.row-fluid .span3 {
- width: 23.404255317%;
-}
-.row-fluid .span4 {
- width: 31.914893614%;
-}
-.row-fluid .span5 {
- width: 40.425531911%;
-}
-.row-fluid .span6 {
- width: 48.93617020799999%;
-}
-.row-fluid .span7 {
- width: 57.446808505%;
-}
-.row-fluid .span8 {
- width: 65.95744680199999%;
-}
-.row-fluid .span9 {
- width: 74.468085099%;
-}
-.row-fluid .span10 {
- width: 82.97872339599999%;
-}
-.row-fluid .span11 {
- width: 91.489361693%;
-}
-.row-fluid .span12 {
- width: 99.99999998999999%;
-}
-.container {
- width: 940px;
- 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-weight: bold;
- color: #333333;
- 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 {
- margin-left: 0;
- list-style: none;
-}
-dl {
- margin-bottom: 18px;
-}
-dt, dd {
- line-height: 18px;
-}
-dt {
- font-weight: bold;
-}
-dd {
- margin-left: 9px;
-}
-hr {
- margin: 18px 0;
- border: 0;
- border-top: 1px solid #e5e5e5;
- border-bottom: 1px solid #ffffff;
-}
-strong {
- font-weight: bold;
-}
-em {
- font-style: italic;
-}
-.muted {
- color: #999999;
-}
-abbr {
- font-size: 90%;
- text-transform: uppercase;
- border-bottom: 1px dotted #ddd;
- cursor: help;
-}
-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: 3px 4px;
- color: #d14;
- background-color: #f7f7f9;
- border: 1px solid #e1e1e8;
-}
-pre {
- display: block;
- padding: 8.5px;
- margin: 0 0 9px;
- font-size: 12px;
- 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;
-}
-pre.prettyprint {
- margin-bottom: 18px;
-}
-pre code {
- padding: 0;
- background-color: transparent;
-}
-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;
-}
-label,
-input,
-button,
-select,
-textarea {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 13px;
- font-weight: normal;
- line-height: 18px;
-}
-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 #ccc;
- -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;
- border: 0;
- cursor: pointer;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-input[type="file"] {
- 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;
-}
-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;
- margin-bottom: 0;
- vertical-align: middle;
-}
-.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {
- margin-left: 10px;
-}
-.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child {
- padding-top: 0;
-}
-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-8 */
-
-}
-input[type="file"]:focus, input[type="checkbox"]:focus, select:focus {
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- outline: thin dotted;
- 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.span1, textarea.span1, .uneditable-input.span1 {
- width: 50px;
-}
-input.span2, textarea.span2, .uneditable-input.span2 {
- width: 130px;
-}
-input.span3, textarea.span3, .uneditable-input.span3 {
- width: 210px;
-}
-input.span4, textarea.span4, .uneditable-input.span4 {
- width: 290px;
-}
-input.span5, textarea.span5, .uneditable-input.span5 {
- width: 370px;
-}
-input.span6, textarea.span6, .uneditable-input.span6 {
- width: 450px;
-}
-input.span7, textarea.span7, .uneditable-input.span7 {
- width: 530px;
-}
-input.span8, textarea.span8, .uneditable-input.span8 {
- width: 610px;
-}
-input.span9, textarea.span9, .uneditable-input.span9 {
- width: 690px;
-}
-input.span10, textarea.span10, .uneditable-input.span10 {
- width: 770px;
-}
-input.span11, textarea.span11, .uneditable-input.span11 {
- width: 850px;
-}
-input.span12, textarea.span12, .uneditable-input.span12 {
- width: 930px;
-}
-input[disabled],
-select[disabled],
-textarea[disabled],
-input[readonly],
-select[readonly],
-textarea[readonly] {
- background-color: #f5f5f5;
- 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: #f5f5f5;
- border-top: 1px solid #ddd;
-}
-.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 {
- margin-top: 5px;
- margin-bottom: 0;
- color: #999999;
-}
-.help-inline {
- display: inline-block;
- *display: inline;
- /* IE7 inline-block hack */
-
- *zoom: 1;
- margin-bottom: 9px;
- vertical-align: middle;
- padding-left: 5px;
-}
-.input-prepend, .input-append {
- margin-bottom: 5px;
- *zoom: 1;
-}
-.input-prepend:before,
-.input-append:before,
-.input-prepend:after,
-.input-append:after {
- display: table;
- content: "";
-}
-.input-prepend:after, .input-append:after {
- clear: both;
-}
-.input-prepend input,
-.input-append input,
-.input-prepend .uneditable-input,
-.input-append .uneditable-input {
- -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 .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 {
- float: left;
- display: block;
- width: auto;
- min-width: 16px;
- height: 18px;
- margin-right: -1px;
- padding: 4px 5px;
- font-weight: normal;
- line-height: 18px;
- color: #999999;
- text-align: center;
- text-shadow: 0 1px 0 #ffffff;
- background-color: #f5f5f5;
- border: 1px solid #ccc;
- -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 {
- *margin-top: 1px;
- /* IE6-7 */
-
-}
-.input-append input, .input-append .uneditable-input {
- float: left;
- -webkit-border-radius: 3px 0 0 3px;
- -moz-border-radius: 3px 0 0 3px;
- border-radius: 3px 0 0 3px;
-}
-.input-append .uneditable-input {
- border-right-color: #ccc;
-}
-.input-append .add-on {
- margin-right: 0;
- margin-left: -1px;
- -webkit-border-radius: 0 3px 3px 0;
- -moz-border-radius: 0 3px 3px 0;
- border-radius: 0 3px 3px 0;
-}
-.input-append input:first-child {
- *margin-left: -160px;
-}
-.input-append input:first-child + .add-on {
- *margin-left: -21px;
-}
-.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 {
- display: inline-block;
- margin-bottom: 0;
-}
-.form-search label,
-.form-inline label,
-.form-search .input-append,
-.form-inline .input-append,
-.form-search .input-prepend,
-.form-inline .input-prepend {
- display: inline-block;
-}
-.form-search .input-append .add-on,
-.form-inline .input-prepend .add-on,
-.form-search .input-append .add-on,
-.form-inline .input-prepend .add-on {
- vertical-align: middle;
-}
-.control-group {
- margin-bottom: 9px;
-}
-.form-horizontal 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-group > label {
- float: left;
- width: 140px;
- padding-top: 5px;
- text-align: right;
-}
-.form-horizontal .controls {
- margin-left: 160px;
-}
-.form-horizontal .form-actions {
- padding-left: 160px;
-}
-table {
- max-width: 100%;
- border-collapse: collapse;
- border-spacing: 0;
-}
-.table {
- width: 100%;
- margin-bottom: 18px;
-}
-.table th, .table td {
- padding: 8px;
- line-height: 18px;
- text-align: left;
- border-top: 1px solid #ddd;
-}
-.table th {
- font-weight: bold;
- vertical-align: bottom;
-}
-.table td {
- vertical-align: top;
-}
-.table thead:first-child tr th, .table thead:first-child tr td {
- border-top: 0;
-}
-.table tbody + tbody {
- border-top: 2px solid #ddd;
-}
-.table-condensed th, .table-condensed td {
- padding: 4px 5px;
-}
-.table-bordered {
- border: 1px solid #ddd;
- border-collapse: separate;
- *border-collapse: collapsed;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-.table-bordered th + th,
-.table-bordered td + td,
-.table-bordered th + td,
-.table-bordered td + th {
- border-left: 1px solid #ddd;
-}
-.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 .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;
-}
-[class^="icon-"] {
- display: inline-block;
- width: 14px;
- 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 {
- *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;
- text-indent: -99999px;
- *text-indent: 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: "\2193";
-}
-.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;
- max-width: 220px;
- _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.bottom-up {
- top: auto;
- bottom: 100%;
- margin-bottom: 2px;
-}
-.dropdown-menu .divider {
- height: 1px;
- margin: 5px 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: #555555;
- 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;
-}
-.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);
-}
-.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;
- padding: 4px 10px 4px;
- font-size: 13px;
- line-height: 18px;
- color: #333333;
- text-align: center;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
- background-color: #fafafa;
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
- background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
- background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
- border: 1px solid #ccc;
- border-bottom-color: #bbb;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- cursor: pointer;
- *margin-left: .3em;
-}
-.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;
- 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;
- color: rgba(0, 0, 0, 0.5);
- 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 .icon {
- margin-top: 1px;
-}
-.btn-small {
- padding: 5px 9px;
- font-size: 11px;
- line-height: 16px;
-}
-.btn-small .icon {
- margin-top: -1px;
-}
-.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 {
- 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 {
- color: rgba(255, 255, 255, 0.75);
-}
-.btn-primary {
- background-color: #006dcc;
- background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
- background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
- background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
- background-image: -o-linear-gradient(top, #0088cc, #0044cc);
- background-image: linear-gradient(top, #0088cc, #0044cc);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
- border-color: #0044cc #0044cc #002a80;
- 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: #0044cc;
-}
-.btn-primary:active, .btn-primary.active {
- background-color: #003399 \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;
-}
-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.large, input[type="submit"].btn.large {
- *padding-top: 7px;
- *padding-bottom: 7px;
-}
-button.btn.small, input[type="submit"].btn.small {
- *padding-top: 3px;
- *padding-bottom: 3px;
-}
-.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: 5px;
- *padding-bottom: 5px;
-}
-.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-primary .caret,
-.btn-danger .caret,
-.btn-info .caret,
-.btn-success .caret {
- border-top-color: #ffffff;
- opacity: 0.75;
- filter: alpha(opacity=75);
-}
-.btn-small .caret {
- margin-top: 4px;
-}
-.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;
-}
-.alert, .alert-heading {
- color: #c09853;
-}
-.alert .close {
- position: relative;
- top: -2px;
- right: -21px;
- line-height: 18px;
-}
-.alert-success {
- background-color: #dff0d8;
- border-color: #d6e9c6;
-}
-.alert-success, .alert-success .alert-heading {
- color: #468847;
-}
-.alert-danger, .alert-error {
- background-color: #f2dede;
- border-color: #eed3d7;
-}
-.alert-danger,
-.alert-error,
-.alert-danger .alert-heading,
-.alert-error .alert-heading {
- color: #b94a48;
-}
-.alert-info {
- background-color: #d9edf7;
- border-color: #bce8f1;
-}
-.alert-info, .alert-info .alert-heading {
- 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-list {
- padding-left: 14px;
- padding-right: 14px;
- margin-bottom: 0;
-}
-.nav-list > li > a, .nav-list .nav-header {
- display: block;
- padding: 3px 15px;
- margin-left: -15px;
- margin-right: -15px;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-}
-.nav-list .nav-header {
- font-size: 11px;
- font-weight: bold;
- line-height: 18px;
- color: #999999;
- text-transform: uppercase;
-}
-
-.nav-list .nav-header * {
- text-transform:none;
-}
-
-.nav-list > li + .nav-header {
- margin-top: 9px;
-}
-.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-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: 9px;
- padding-bottom: 9px;
- 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;
- margin-top: 6px;
-}
-.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret {
- border-top-color: #005580;
-}
-.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret {
- border-top-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;
- 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;
-}
-.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 {
- 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);
-}
-.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 .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;
- color: #999999;
-}
-.navbar .navbar-text a:hover {
- color: #ffffff;
- background-color: transparent;
-}
-.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 {
- display: inline-block;
- margin-top: 5px;
- margin-bottom: 0;
-}
-.navbar-form .radio, .navbar-form .checkbox {
- margin-top: 5px;
-}
-.navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] {
- margin-top: 3px;
-}
-.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;
- color: rgba(255, 255, 255, 0.75);
- background: #666;
- background: rgba(255, 255, 255, 0.3);
- border: 1px solid #111;
- -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: #eeeeee;
-}
-.navbar-search .search-query::-webkit-input-placeholder {
- color: #eeeeee;
-}
-.navbar-search .search-query:hover {
- color: #ffffff;
- background-color: #999999;
- background-color: rgba(255, 255, 255, 0.5);
-}
-.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 {
- position: fixed;
- top: 0;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-.navbar-fixed-top .navbar-inner {
- padding-left: 0;
- padding-right: 0;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 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;
- background-color: rgba(0, 0, 0, 0.5);
-}
-.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 .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
- border-top-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 {
- left: auto;
- right: 0;
-}
-.navbar .nav.pull-right .dropdown-menu:before {
- left: auto;
- right: 12px;
-}
-.navbar .nav.pull-right .dropdown-menu:after {
- left: auto;
- right: 13px;
-}
-.breadcrumb {
- padding: 7px 14px;
- margin: 0 0 18px;
- 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;
- 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 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;
-}
-.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;
- max-height: 500px;
- overflow: auto;
- width: 560px;
- margin: -250px 0 0 -280px;
- background-color: #ffffff;
- border: 1px solid #999;
- border: 1px solid rgba(0, 0, 0, 0.3);
- *border: 1px solid #999;
- /* 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 {
- padding: 15px;
-}
-.modal-footer {
- padding: 14px 15px 15px;
- margin-bottom: 0;
- 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 {
- float: right;
- margin-left: 5px;
- margin-bottom: 0;
-}
-.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 3px 2px;
- font-size: 9.75px;
- font-weight: bold;
- color: #ffffff;
- text-transform: uppercase;
- background-color: #999999;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-.label-important {
- background-color: #b94a48;
-}
-.label-warning {
- background-color: #f89406;
-}
-.label-success {
- background-color: #468847;
-}
-.label-info {
- background-color: #3a87ad;
-}
-@-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;
- }
-}
-@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;
- 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: #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);
- -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);
-}
-.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: #f5f5f5;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-.hero-unit h1 {
- margin-bottom: 0;
- font-size: 60px;
- line-height: 1;
- letter-spacing: -1px;
-}
-.hero-unit p {
- font-size: 18px;
- font-weight: 200;
- line-height: 27px;
-}
-.pull-right {
- float: right;
-}
-.pull-left {
- float: left;
-}
-.hide {
- display: none;
-}
-.show {
- display: block;
-}
-.invisible {
- visibility: hidden;
-}
diff --git a/build/documentation/api/css/bootstrap.min.css b/build/documentation/api/css/bootstrap.min.css
deleted file mode 100644
index d5221249..00000000
--- a/build/documentation/api/css/bootstrap.min.css
+++ /dev/null
@@ -1,611 +0,0 @@
-article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
-audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
-audio:not([controls]){display:none;}
-html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
-a:focus{outline:thin dotted;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{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic;}
-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;}
-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;}
-.span1{width:60px;}
-.span2{width:140px;}
-.span3{width:220px;}
-.span4{width:300px;}
-.span5{width:380px;}
-.span6{width:460px;}
-.span7{width:540px;}
-.span8{width:620px;}
-.span9{width:700px;}
-.span10{width:780px;}
-.span11{width:860px;}
-.span12,.container{width:940px;}
-.offset1{margin-left:100px;}
-.offset2{margin-left:180px;}
-.offset3{margin-left:260px;}
-.offset4{margin-left:340px;}
-.offset5{margin-left:420px;}
-.offset6{margin-left:500px;}
-.offset7{margin-left:580px;}
-.offset8{margin-left:660px;}
-.offset9{margin-left:740px;}
-.offset10{margin-left:820px;}
-.offset11{margin-left:900px;}
-.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 .span1{width:6.382978723%;}
-.row-fluid .span2{width:14.89361702%;}
-.row-fluid .span3{width:23.404255317%;}
-.row-fluid .span4{width:31.914893614%;}
-.row-fluid .span5{width:40.425531911%;}
-.row-fluid .span6{width:48.93617020799999%;}
-.row-fluid .span7{width:57.446808505%;}
-.row-fluid .span8{width:65.95744680199999%;}
-.row-fluid .span9{width:74.468085099%;}
-.row-fluid .span10{width:82.97872339599999%;}
-.row-fluid .span11{width:91.489361693%;}
-.row-fluid .span12{width:99.99999998999999%;}
-.container{width:940px;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-weight:bold;color:#333333;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{margin-left:0;list-style:none;}
-dl{margin-bottom:18px;}
-dt,dd{line-height:18px;}
-dt{font-weight:bold;}
-dd{margin-left:9px;}
-hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #ffffff;}
-strong{font-weight:bold;}
-em{font-style:italic;}
-.muted{color:#999999;}
-abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-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:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
-pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;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;}pre.prettyprint{margin-bottom:18px;}
-pre code{padding:0;background-color:transparent;}
-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;}
-label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
-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 #ccc;-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;line-height:normal;border:0;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
-input[type="file"]{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;*margin-top:4px;line-height:28px;}
-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;margin-bottom:0;vertical-align:middle;}
-.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
-.controls>.radio.inline:first-child,.controls>.checkbox.inline:first-child{padding-top:0;}
-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;}
-input[type="file"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted;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.span1,textarea.span1,.uneditable-input.span1{width:50px;}
-input.span2,textarea.span2,.uneditable-input.span2{width:130px;}
-input.span3,textarea.span3,.uneditable-input.span3{width:210px;}
-input.span4,textarea.span4,.uneditable-input.span4{width:290px;}
-input.span5,textarea.span5,.uneditable-input.span5{width:370px;}
-input.span6,textarea.span6,.uneditable-input.span6{width:450px;}
-input.span7,textarea.span7,.uneditable-input.span7{width:530px;}
-input.span8,textarea.span8,.uneditable-input.span8{width:610px;}
-input.span9,textarea.span9,.uneditable-input.span9{width:690px;}
-input.span10,textarea.span10,.uneditable-input.span10{width:770px;}
-input.span11,textarea.span11,.uneditable-input.span11{width:850px;}
-input.span12,textarea.span12,.uneditable-input.span12{width:930px;}
-input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;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:#f5f5f5;border-top:1px solid #ddd;}
-.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{margin-top:5px;margin-bottom:0;color:#999999;}
-.help-inline{display:inline-block;*display:inline;*zoom:1;margin-bottom:9px;vertical-align:middle;padding-left:5px;}
-.input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
-.input-prepend:after,.input-append:after{clear:both;}
-.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-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 .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{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-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{*margin-top:1px;}
-.input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-append .uneditable-input{border-right-color:#ccc;}
-.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-append input:first-child{*margin-left:-160px;}.input-append input:first-child+.add-on{*margin-left:-21px;}
-.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{display:inline-block;margin-bottom:0;}
-.form-search label,.form-inline label,.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{display:inline-block;}
-.form-search .input-append .add-on,.form-inline .input-prepend .add-on,.form-search .input-append .add-on,.form-inline .input-prepend .add-on{vertical-align:middle;}
-.control-group{margin-bottom:9px;}
-.form-horizontal 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-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
-.form-horizontal .controls{margin-left:160px;}
-.form-horizontal .form-actions{padding-left:160px;}
-table{max-width:100%;border-collapse:collapse;border-spacing:0;}
-.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
-.table th{font-weight:bold;vertical-align:bottom;}
-.table td{vertical-align:top;}
-.table thead:first-child tr th,.table thead:first-child tr td{border-top:0;}
-.table tbody+tbody{border-top:2px solid #ddd;}
-.table-condensed th,.table-condensed td{padding:4px 5px;}
-.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
-.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 .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;}
-[class^="icon-"]{display:inline-block;width:14px;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{*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;text-indent:-99999px;*text-indent: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:"\2193";}
-.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;max-width:220px;_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.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
-.dropdown-menu .divider{height:1px;margin:5px 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:#555555;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;}
-.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);}
-.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;padding:4px 10px 4px;font-size:13px;line-height:18px;color:#333333;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);cursor:pointer;*margin-left:.3em;}.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;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;color:rgba(0, 0, 0, 0.5);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 .icon{margin-top:1px;}
-.btn-small{padding:5px 9px;font-size:11px;line-height:16px;}
-.btn-small .icon{margin-top:-1px;}
-.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{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{color:rgba(255, 255, 255, 0.75);}
-.btn-primary{background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-ms-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(top, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;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:#0044cc;}
-.btn-primary:active,.btn-primary.active{background-color:#003399 \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;}
-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.large,input[type="submit"].btn.large{*padding-top:7px;*padding-bottom:7px;}
-button.btn.small,input[type="submit"].btn.small{*padding-top:3px;*padding-bottom:3px;}
-.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;*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:5px;*padding-bottom:5px;}
-.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-primary .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);}
-.btn-small .caret{margin-top:4px;}
-.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;}
-.alert,.alert-heading{color:#c09853;}
-.alert .close{position:relative;top:-2px;right:-21px;line-height:18px;}
-.alert-success{background-color:#dff0d8;border-color:#d6e9c6;}
-.alert-success,.alert-success .alert-heading{color:#468847;}
-.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;}
-.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#b94a48;}
-.alert-info{background-color:#d9edf7;border-color:#bce8f1;}
-.alert-info,.alert-info .alert-heading{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-list{padding-left:14px;padding-right:14px;margin-bottom:0;}
-.nav-list>li>a,.nav-list .nav-header{display:block;padding:3px 15px;margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
-.nav-list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-transform:uppercase;}
-.nav-list .nav-header *{text-transform:none;}
-.nav-list>li+.nav-header{margin-top:9px;}
-.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-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:9px;padding-bottom:9px;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;margin-top:6px;}
-.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
-.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-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;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;}
-.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{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);}
-.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 .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;color:#999999;}.navbar .navbar-text a:hover{color:#ffffff;background-color:transparent;}
-.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{display:inline-block;margin-top:5px;margin-bottom:0;}
-.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;}
-.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;}
-.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;color:rgba(255, 255, 255, 0.75);background:#666;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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:#eeeeee;}
-.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
-.navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
-.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{position:fixed;top:0;right:0;left:0;z-index:1030;}
-.navbar-fixed-top .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius: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;background-color:rgba(0, 0, 0, 0.5);}
-.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 .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-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{left:auto;right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
-.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
-.breadcrumb{padding:7px 14px;margin:0 0 18px;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;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;*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 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;}
-.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;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal.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{padding:15px;}
-.modal-footer{padding:14px 15px 15px;margin-bottom:0;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{float:right;margin-left:5px;margin-bottom:0;}
-.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 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-.label-important{background-color:#b94a48;}
-.label-warning{background-color:#f89406;}
-.label-success{background-color:#468847;}
-.label-info{background-color:#3a87ad;}
-@-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;}}@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;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:#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);-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);}
-.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:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
-.hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
-.pull-right{float:right;}
-.pull-left{float:left;}
-.hide{display:none;}
-.show{display:block;}
-.invisible{visibility:hidden;}
diff --git a/build/documentation/api/css/jquery.iviewer.css b/build/documentation/api/css/jquery.iviewer.css
deleted file mode 100644
index d68c6422..00000000
--- a/build/documentation/api/css/jquery.iviewer.css
+++ /dev/null
@@ -1,91 +0,0 @@
-.iviewer_common {
- position:absolute;
- bottom:10px;
- border: 1px solid #000;
- height: 28px;
- z-index: 5000;
-}
-
-.iviewer_cursor {
- cursor: url(../img/iviewer/hand.cur) 6 8, pointer;
-}
-
-.iviewer_drag_cursor {
- cursor: url(../img/iviewer/grab.cur) 6 8, pointer;
-}
-
-.iviewer_button {
- width: 28px;
- cursor: pointer;
- background-position: center center;
- background-repeat: no-repeat;
-}
-
-.iviewer_zoom_in {
- left: 20px;
- background: url(../img/iviewer/iviewer.zoom_in.png);
-}
-
-.iviewer_zoom_out {
- left: 55px;
- background: url(../img/iviewer/iviewer.zoom_out.png);
-}
-
-.iviewer_zoom_zero {
- left: 90px;
- background: url(../img/iviewer/iviewer.zoom_zero.png);
-}
-
-.iviewer_zoom_fit {
- left: 125px;
- background: url(../img/iviewer/iviewer.zoom_fit.png);
-}
-
-.iviewer_zoom_status {
- left: 160px;
- font: 1em/28px Sans;
- color: #000;
- background-color: #fff;
- text-align: center;
- width: 60px;
-}
-
-.iviewer_rotate_left {
- left: 227px;
- background: #fff url(../img/iviewer/iviewer.rotate_left.png) center center no-repeat;
-}
-
-.iviewer_rotate_right {
- left: 262px;
- background: #fff url(../img/iviewer/iviewer.rotate_right.png) center center no-repeat;
-}
-
-.viewer
-{
- width: 100%;
- height: 500px;
- position: relative;
- background: transparent url('../img/loader.gif') no-repeat center center;
-}
-
-.viewer img
-{
- max-width: none;
-}
-
-.wrapper
-{
- overflow: hidden;
-}
-
-.iviewer_common
-{
- border: 0;
- bottom: auto;
- top: 10px;
-}
-
-.iviewer_zoom_status
-{
- border: 1px solid black;
-}
diff --git a/build/documentation/api/css/prettify.css b/build/documentation/api/css/prettify.css
deleted file mode 100644
index d44b3a22..00000000
--- a/build/documentation/api/css/prettify.css
+++ /dev/null
@@ -1 +0,0 @@
-.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} \ No newline at end of file
diff --git a/build/documentation/api/css/template.css b/build/documentation/api/css/template.css
deleted file mode 100644
index 12a7a693..00000000
--- a/build/documentation/api/css/template.css
+++ /dev/null
@@ -1,530 +0,0 @@
-@import url(bootstrap.min.css);
-@import url(bootstrap-responsive.css);
-@import url(prettify.css);
-@import url(jquery.iviewer.css);
-@import url(https://fonts.googleapis.com/css?family=Forum);
-
-body
-{
- padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
- background: #f9f9f9;
- color: #444;
-}
-
-a
-{
- color: #55A72F;
-}
-
-td p:last-of-type {
- margin: 0;
-}
-
-li.l0, li.l1, li.l2, li.l3, li.l5, li.l6, li.l7, li.l8
-{
- list-style-type: decimal;
-}
-
-a.brand, h2, .hero-unit h1
-{
- font-family: 'Forum', "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-
-.element .span4
-{
- width: 275px;
-}
-
-.namespace-contents hr, .package-contents hr
-{
- border-top: 3px dotted silver;
-}
-
-.namespace-indent, .package-indent
-{
- padding-left: 10px; border-left: 1px dashed #f0f0f0;
-}
-
-.element h3 i, .namespace-contents h3 i, .package-contents h3 i
-{
- margin-top: 2px;
- margin-right: 5px;
-}
-
-.element h3, .namespace-contents h3, .package-contents h3
-{
- margin-top: 25px;
- margin-bottom: 20px;
- border-bottom: 1px solid silver;
-}
-
-.element h3:first-of-type, .namespace-contents h3:first-of-type,
-.package-contents h3:first-of-type
-{
- margin-top: 30px;
-}
-
-.element h2
-{
- font-family: inherit;
- font-size: 1.2em;
- color: black;
-}
-
-.element .type
-{
- font-weight: bold;
-}
-
-#search-query
-{
- height: auto;
-}
-
-.hero-unit, div.element, .well
-{
- border: 1px solid #e0e0e0;
- background: white;
-}
-
-.dropdown-menu a{
- overflow: hidden;
- text-overflow: ellipsis;
-}
-h2
-{
- border-bottom: 1px dashed #55A72F;
- margin-bottom: 10px;
- padding-bottom: 0;
- padding-left: 5px;
- color: #e9e9e9;
- font-weight: normal;
- margin-top: 40px;
-}
-
-h2:first-of-type
-{
- margin-top: 0;
-}
-
-.hero-unit
-{
- background: #75a70d; /* Old browsers */
- background: -moz-radial-gradient(center, ellipse cover, #bfd255 0%, #8eb92a 72%, #72aa00 96%, #9ecb2d 100%); /* FF3.6+ */
- background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#bfd255), color-stop(72%,#8eb92a), color-stop(96%,#72aa00), color-stop(100%,#9ecb2d)); /* Chrome,Safari4+ */
- background: -webkit-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Chrome10+,Safari5.1+ */
- background: -o-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Opera 12+ */
- background: -ms-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* IE10+ */
- background: radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* W3C */
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bfd255', endColorstr='#9ecb2d',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
-
- padding: 40px 0 15px 0;
- box-shadow: inset 0 0 10px gray;
-}
-
-.hero-unit h1
-{
- font-weight: normal;
- text-align: center;
- color: white;
- text-shadow: black 0 0 15px;
-}
-
-.hero-unit h2
-{
- border: none;
- color: white;
- background: rgba(48, 48, 48, 0.5);
- padding: 0;
- margin: 0;
- margin-top: 15px;
- text-align: center;
-}
-
-.namespace-contents h2, .package-contents h2
-{
- padding-left: 44px;
- background: transparent url('../img/icons/icon-th-big.png') no-repeat 3px center;
-}
-
-.package-contents h2
-{
- background-image: url('../img/icons/icon-folder-open-big.png');
-}
-
-.namespace-contents .element h2, .package-contents .element h2
-{
- padding-left: 0;
- background: none;
-}
-
-div.element
-{
- border-left: 10px solid #55A72F;
- border-radius: 5px;
- padding: 7px 7px 2px 7px;
- margin-bottom: 15px;
- margin-left: 0;
-}
-
-div.element.protected
-{
- border-left-color: orange;
-}
-
-div.element.private
-{
- border-left-color: red;
-}
-
-div.element.class, div.element.interface, div.element.trait
-{
- border-left-color: #e0e0e0;
-}
-
-div.element.class.abstract h1, div.element.interface.abstract h1
-{
- font-style: italic;
-}
-
-div.element h1
-{
- font-size: 1.2em;
- line-height: 1.5em;
- margin-bottom: 10px;
- padding-left: 22px;
- background: transparent no-repeat left 2px;
- word-wrap: break-word;
-}
-
-div.element h1 a
-{
- color: transparent;
- margin-left: 10px;
-}
-
-div.element h1:hover a
-{
- color: silver;
-}
-
-div.element h1 a:hover
-{
- color: navy;
-}
-
-div.element a.more:hover
-{
- background: #f0f0f0;
- color: #444;
- text-decoration: none;
-}
-
-div.element a.more
-{
- font-weight: bold;
- text-align: center;
- color: gray;
- border-top: 1px dashed silver;
- display: block;
- margin-top: 5px;
- padding: 5px 0;
- border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
-}
-
-div.element p
-{
- font-size: 0.9em;
-}
-
-div.element .table
-{
- font-size: 0.9em;
-}
-
-div.element .table th
-{
- text-transform: capitalize;
-}
-
-div.detail-description
-{
- padding-left: 30px;
-}
-
-div.detail-description table th {
- vertical-align: top;
-}
-
-body.invert
-{
- background: white;
-}
-
-body.invert div.element
-{
- background: #f9f9f9;
-}
-
-ul.side-nav
-{
- clear: both;
-}
-
-ul.side-nav li
-{
- word-wrap: break-word;
- padding-left: 10px;
- text-indent: -10px;
-}
-
-ul.side-nav li a
-{
- background: transparent no-repeat 5px 3px;
- padding-bottom: 10px;
- font-style: italic;
-}
-
-ul.side-nav li pre
-{
- font-size: 0.8em;
- margin: 5px 15px 0 15px;
- padding: 2px 5px;
- background-color: #f8f8f8;
- color: gray;
- font-style: normal;
- word-wrap: break-word;
- text-indent: 0;
-}
-
-ul.side-nav li.view-simple span.description
-{
- display: none;
-}
-
-ul.side-nav li.view-simple pre
-{
- font-size: inherit;
- margin: inherit;
- padding: inherit;
- background-color: inherit;
- border: none;
- color: inherit;
- font-family: inherit;
- font-style: inherit;
- padding-bottom: 0;
- padding-left: 5px;
-}
-
-ul.side-nav li.view-simple a
-{
- padding-bottom: 0;
-}
-
-i.icon-custom
-{
- width: 16px;
- height: 16px;
- background-position: 0;
-}
-
-.table.markers
-{
- background: white;
-}
-
-/* JS only functionality; disable by default */
-.btn-group.visibility, .btn-group.view, .btn-group.type-filter
-{
- display: none;
-}
-
-.visibility button
-{
- height: 24px;
-}
-
-div.element.constant h1,
-i.icon-constant { background-image: url('../img/icons/constant.png'); }
-
-div.element.function h1,
-i.icon-function { background-image: url('../img/icons/function.png'); }
-
-div.element.method h1,
-i.icon-method { background-image: url('../img/icons/method.png'); }
-
-div.element.class h1,
-i.icon-class { background-image: url('../img/icons/class.png'); }
-
-div.element.interface h1,
-i.icon-interface { background-image: url('../img/icons/interface.png'); }
-
-div.element.trait h1,
-i.icon-trait { background-image: url('../img/icons/trait.png'); }
-
-div.element.property h1,
-i.icon-property { background-image: url('../img/icons/property.png'); }
-
-span.empty-namespace
-{
- color: silver;
-}
-
-footer
-{
- text-align: right;
- font-size: 0.8em;
- opacity: 0.5;
-}
-
-#mapHolder
-{
- border: 4px solid #555;
- padding: 0 !important;
- overflow: hidden
-}
-
-div.element div.subelement
-{
- margin-left: 10px;
- padding-bottom: 5px;
- clear: both;
-}
-
-pre code
-{
- border: none;
-}
-
-div.element div.subelement > code
-{
- font-size: 0.8em;
- float: left;
- margin-right: 10px;
- padding: 0 5px;
- line-height: 16px;
-}
-
-div.element div.subelement > p
-{
- margin-left: 20px;
- margin-right: 50px;
-}
-
-div.element div.subelement h4
-{
- color: #666;
- margin-bottom: 5px;
-}
-
-div.element div.subelement.response
-{
- padding-bottom: 15px;
- margin-right: 50px;
-}
-
-div.labels
-{
- text-align: right;
-}
-
-.nav-list .nav-header
-{
- font-size: 13px;
-}
-
-.nav-list .nav-header .side-nav-header
-{
- font-weight: bold;
- line-height: 18px;
- color: #999999;
- text-transform: uppercase;
-}
-
-.detail-description code {
- white-space: pre;
- display: inline-block;
- padding: 10px;
-}
-
-.go_to_top
-{
- float: right;
- margin-right: 20px;
- background: #2C2C2C;
- color: #999;
- padding: 3px 10px;
- border-bottom-right-radius: 5px;
- border-bottom-left-radius: 5px;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- line-height: 19px;
-}
-
-.visibility .btn {
- text-transform: uppercase;
- font-size: 0.7em;
- font-weight: bold;
-}
-
-.iviewer_common
-{
- z-index: 100;
-}
-
-@media (min-width: 980px)
-{
- a[name]
- {
- margin-top: -50px;
- position: absolute;
- }
-}
-
-@media (min-width: 1200px)
-{
- .method .span4
- {
- width: 345px;
- }
-}
-
-/* redefined because twitter bootstrap assumes that bootstrap-responsive.css */
-@media (max-width: 980px)
-{
- body
- {
- padding-top: 0;
- }
-
- .go_to_top
- {
- display: none;
- }
-
- .btn-group.visibility
- {
- font-size: 0.80em;
- margin-bottom: 7px;
- display: inline-block;
- float: right;
- }
-}
-
-@media (max-width: 768px)
-{
- .hero-unit h1 {
- font-size: 30px;
- }
- .hero-unit h2 {
- font-size: 19px;
- }
-
-}
-@media (min-width: 768px) and (max-width: 980px)
-{
- .method .span4
- {
- width: 203px;
- }
-}
diff --git a/build/documentation/api/deprecated.html b/build/documentation/api/deprecated.html
deleted file mode 100644
index a38c6ead..00000000
--- a/build/documentation/api/deprecated.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; Deprecated elements
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="js/bootstrap.js" type="text/javascript"></script>
- <script src="js/template.js" type="text/javascript"></script>
- <script src="js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="img/favicon.ico"/>
- <link rel="apple-touch-icon" href="img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <div class="row">
-
- <div class="span4">
- <ul class="side-nav nav nav-list">
- <li class="nav-header">Navigation</li>
- </ul>
- </div>
-
- <div class="span8">
- <ul class="breadcrumb">
- <li><a href="?"><i class="icon-stop"></i></a><span class="divider">\</span></li>
- <li>Deprecated elements</li>
- </ul>
-
- <div id="marker-accordion">
- <div class="alert alert-info">No deprecated elements have been found in this project.</div>
- </div>
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/errors.html b/build/documentation/api/errors.html
deleted file mode 100644
index c232e08d..00000000
--- a/build/documentation/api/errors.html
+++ /dev/null
@@ -1,1187 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; Compilation errors
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="js/bootstrap.js" type="text/javascript"></script>
- <script src="js/template.js" type="text/javascript"></script>
- <script src="js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="img/favicon.ico"/>
- <link rel="apple-touch-icon" href="img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <div class="row">
- <div class="span4">
-
- <ul class="side-nav nav nav-list">
- <li class="nav-header">Filter type</li>
- <li>
- <div class="btn-group type-filter" data-toggle="buttons-checkbox">
- <button class="btn critical">Critical</button>
- <button class="btn error">Error</button>
- <button class="btn notice">Notice</button>
- </div>
- </li>
- <li class="nav-header">Navigation</li>
- <li><a href="#controller/publicfilescontroller.php"><i class="icon-file"></i> controller/publicfilescontroller.php</a></li>
- <li><a href="#service/previewservice.php"><i class="icon-file"></i> service/previewservice.php</a></li>
- <li><a href="#controller/filescontroller.php"><i class="icon-file"></i> controller/filescontroller.php</a></li>
- <li><a href="#controller/publicpreviewcontroller.php"><i class="icon-file"></i> controller/publicpreviewcontroller.php</a></li>
- <li><a href="#http/imageresponse.php"><i class="icon-file"></i> http/imageresponse.php</a></li>
- <li><a href="#middleware/sharingcheckmiddleware.php"><i class="icon-file"></i> middleware/sharingcheckmiddleware.php</a></li>
- <li><a href="#middleware/checkmiddleware.php"><i class="icon-file"></i> middleware/checkmiddleware.php</a></li>
- <li><a href="#controller/configcontroller.php"><i class="icon-file"></i> controller/configcontroller.php</a></li>
- <li><a href="#service/searchmediaservice.php"><i class="icon-file"></i> service/searchmediaservice.php</a></li>
- <li><a href="#preview/preview.php"><i class="icon-file"></i> preview/preview.php</a></li>
- <li><a href="#controller/jsonhttperror.php"><i class="icon-file"></i> controller/jsonhttperror.php</a></li>
- <li><a href="#service/configservice.php"><i class="icon-file"></i> service/configservice.php</a></li>
- <li><a href="#service/service.php"><i class="icon-file"></i> service/service.php</a></li>
- <li><a href="#service/searchfolderservice.php"><i class="icon-file"></i> service/searchfolderservice.php</a></li>
- <li><a href="#controller/publicconfigcontroller.php"><i class="icon-file"></i> controller/publicconfigcontroller.php</a></li>
- <li><a href="#controller/previewcontroller.php"><i class="icon-file"></i> controller/previewcontroller.php</a></li>
- <li><a href="#middleware/envcheckmiddleware.php"><i class="icon-file"></i> middleware/envcheckmiddleware.php</a></li>
- <li><a href="#controller/pathmanipulation.php"><i class="icon-file"></i> controller/pathmanipulation.php</a></li>
- <li><a href="#environment/environment.php"><i class="icon-file"></i> environment/environment.php</a></li>
- <li><a href="#service/thumbnailservice.php"><i class="icon-file"></i> service/thumbnailservice.php</a></li>
- <li><a href="#service/filesservice.php"><i class="icon-file"></i> service/filesservice.php</a></li>
- <li><a href="#controller/pagecontroller.php"><i class="icon-file"></i> controller/pagecontroller.php</a></li>
- </ul>
- </div>
-
- <div class="span8">
- <ul class="breadcrumb">
- <li><a href="?"><i class="icon-remove-sign"></i></a><span class="divider">\</span></li>
- <li>Compilation Errors</li>
- </ul>
-
-
- <div class="package-contents">
- <a name="controller/publicfilescontroller.php" id="controller/publicfilescontroller.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/publicfilescontroller.php
- <span class="pull-right badge badge-info">1</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>36</td>
- <td>No summary for method getFiles()</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="service/previewservice.php" id="service/previewservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/previewservice.php
- <span class="pull-right badge badge-info">2</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>34</td>
- <td>No summary for property $previewManager</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>40</td>
- <td>No summary for property $baseMimeTypes</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="controller/filescontroller.php" id="controller/filescontroller.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/filescontroller.php
- <span class="pull-right badge badge-info">5</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>99</td>
- <td>No summary for method getFiles()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>41</td>
- <td>No summary for property $searchFolderService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>45</td>
- <td>No summary for property $configService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>49</td>
- <td>No summary for property $searchMediaService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>53</td>
- <td>No summary for property $logger</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="controller/publicpreviewcontroller.php" id="controller/publicpreviewcontroller.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/publicpreviewcontroller.php
- <span class="pull-right badge badge-info">2</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>40</td>
- <td>No summary for method getThumbnails()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>60</td>
- <td>No summary for method getPreview()</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="http/imageresponse.php" id="http/imageresponse.php"></a>
- <h3>
- <i class="icon-file"></i>
- http/imageresponse.php
- <span class="pull-right badge badge-info">1</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>28</td>
- <td>No summary for property $preview</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="middleware/sharingcheckmiddleware.php" id="middleware/sharingcheckmiddleware.php"></a>
- <h3>
- <i class="icon-file"></i>
- middleware/sharingcheckmiddleware.php
- <span class="pull-right badge badge-info">11</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>Argument $appName is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>Argument $request is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>Argument $appConfig is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>Argument $reflector is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>Argument $urlGenerator is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>Argument $logger is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>No summary for method __construct()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>81</td>
- <td>Argument $controller is missing from the Docblock of beforeController</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>81</td>
- <td>Argument $methodName is missing from the Docblock of beforeController</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>35</td>
- <td>No summary for property $config</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>39</td>
- <td>No summary for property $reflector</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="middleware/checkmiddleware.php" id="middleware/checkmiddleware.php"></a>
- <h3>
- <i class="icon-file"></i>
- middleware/checkmiddleware.php
- <span class="pull-right badge badge-info">12</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>59</td>
- <td>Argument $appName is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>59</td>
- <td>Argument $request is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>59</td>
- <td>Argument $urlGenerator is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>59</td>
- <td>Argument $logger is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>59</td>
- <td>No summary for method __construct()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>78</td>
- <td>Argument $controller is missing from the Docblock of afterException</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>78</td>
- <td>Argument $methodName is missing from the Docblock of afterException</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>78</td>
- <td>Argument $exception is missing from the Docblock of afterException</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>37</td>
- <td>No summary for property $appName</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>41</td>
- <td>No summary for property $request</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>45</td>
- <td>No summary for property $urlGenerator</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>49</td>
- <td>No summary for property $logger</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="controller/configcontroller.php" id="controller/configcontroller.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/configcontroller.php
- <span class="pull-right badge badge-info">4</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>78</td>
- <td>No summary for method getConfig()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>36</td>
- <td>No summary for property $configService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>40</td>
- <td>No summary for property $previewService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>44</td>
- <td>No summary for property $logger</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="service/searchmediaservice.php" id="service/searchmediaservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/searchmediaservice.php
- <span class="pull-right badge badge-info">2</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>28</td>
- <td>No summary for property $images</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>32</td>
- <td>No summary for property $supportedMediaTypes</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="preview/preview.php" id="preview/preview.php"></a>
- <h3>
- <i class="icon-file"></i>
- preview/preview.php
- <span class="pull-right badge badge-info">7</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>33</td>
- <td>No summary for property $dataDir</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>37</td>
- <td>No summary for property $previewManager</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>41</td>
- <td>No summary for property $logger</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>45</td>
- <td>No summary for property $userId</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>49</td>
- <td>No summary for property $preview</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>53</td>
- <td>No summary for property $file</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>57</td>
- <td>No summary for property $dims</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="controller/jsonhttperror.php" id="controller/jsonhttperror.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/jsonhttperror.php
- <span class="pull-right badge badge-info">1</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>39</td>
- <td>No summary for method error()</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="service/configservice.php" id="service/configservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/configservice.php
- <span class="pull-right badge badge-info">3</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>33</td>
- <td>No summary for property $configName</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>37</td>
- <td>No summary for property $privacyChecker</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>45</td>
- <td>No summary for property $configParser</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="service/service.php" id="service/service.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/service.php
- <span class="pull-right badge badge-info">3</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>30</td>
- <td>No summary for property $appName</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>34</td>
- <td>No summary for property $environment</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>38</td>
- <td>No summary for property $logger</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="service/searchfolderservice.php" id="service/searchfolderservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/searchfolderservice.php
- <span class="pull-right badge badge-info">3</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>105</td>
- <td>No summary for method hasLocationChanged()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>28</td>
- <td>No summary for property $virtualRootLevel</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>33</td>
- <td>No summary for property $features</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="controller/publicconfigcontroller.php" id="controller/publicconfigcontroller.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/publicconfigcontroller.php
- <span class="pull-right badge badge-info">1</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>34</td>
- <td>No summary for method getConfig()</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="controller/previewcontroller.php" id="controller/previewcontroller.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/previewcontroller.php
- <span class="pull-right badge badge-info">10</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>125</td>
- <td>No summary for method getThumbnails()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>154</td>
- <td>No summary for method getPreview()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>278</td>
- <td>No summary for method getPreviewData()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>47</td>
- <td>No summary for property $urlGenerator</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>No summary for property $thumbnailService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>55</td>
- <td>No summary for property $previewService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>59</td>
- <td>No summary for property $downloadService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>63</td>
- <td>No summary for property $eventSource</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>67</td>
- <td>No summary for property $logger</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>No summary for property $download</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="middleware/envcheckmiddleware.php" id="middleware/envcheckmiddleware.php"></a>
- <h3>
- <i class="icon-file"></i>
- middleware/envcheckmiddleware.php
- <span class="pull-right badge badge-info">15</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $appName is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $request is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $hasher is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $session is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $environment is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $reflector is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $urlGenerator is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>Argument $logger is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>71</td>
- <td>No summary for method __construct()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>108</td>
- <td>Argument $controller is missing from the Docblock of beforeController</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>108</td>
- <td>Argument $methodName is missing from the Docblock of beforeController</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>45</td>
- <td>No summary for property $hasher</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>49</td>
- <td>No summary for property $session</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>53</td>
- <td>No summary for property $environment</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>57</td>
- <td>No summary for property $reflector</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="controller/pathmanipulation.php" id="controller/pathmanipulation.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/pathmanipulation.php
- <span class="pull-right badge badge-info">1</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>18</td>
- <td>No summary for trait &quot;&quot;</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="environment/environment.php" id="environment/environment.php"></a>
- <h3>
- <i class="icon-file"></i>
- environment/environment.php
- <span class="pull-right badge badge-info">13</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>101</td>
- <td>Argument $appName is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>101</td>
- <td>Argument $userId is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>101</td>
- <td>Argument $userFolder is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>101</td>
- <td>Argument $userManager is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>101</td>
- <td>Argument $serverContainer is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>101</td>
- <td>Argument $logger is missing from the Docblock of __construct</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>101</td>
- <td>No summary for method __construct()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>38</td>
- <td>No summary for property $appName</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>58</td>
- <td>No summary for property $userManager</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>62</td>
- <td>No summary for property $sharedNodeId</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>66</td>
- <td>No summary for property $serverContainer</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>70</td>
- <td>No summary for property $logger</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>89</td>
- <td>No summary for property $sharePassword</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="service/thumbnailservice.php" id="service/thumbnailservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/thumbnailservice.php
- <span class="pull-right badge badge-info">2</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>25</td>
- <td>No summary for property $animatedPreview</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>29</td>
- <td>No summary for property $base64Encode</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- </div>
- <div class="package-contents">
- <a name="service/filesservice.php" id="service/filesservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/filesservice.php
- <span class="pull-right badge badge-info">2</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>27</td>
- <td>No summary for property $virtualRootLevel</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>32</td>
- <td>No summary for property $features</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="controller/pagecontroller.php" id="controller/pagecontroller.php"></a>
- <h3>
- <i class="icon-file"></i>
- controller/pagecontroller.php
- <span class="pull-right badge badge-info">8</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <thead>
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr class="error">
- <td>error</td>
- <td>97</td>
- <td>No summary for method index()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>121</td>
- <td>No summary for method publicIndex()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>142</td>
- <td>No summary for method errorPage()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>178</td>
- <td>No summary for method slideshow()</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>43</td>
- <td>No summary for property $environment</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>47</td>
- <td>No summary for property $urlGenerator</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>51</td>
- <td>No summary for property $downloadService</td>
- </tr>
- <tr class="error">
- <td>error</td>
- <td>55</td>
- <td>No summary for property $appConfig</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/graph_class.html b/build/documentation/api/graph_class.html
deleted file mode 100644
index 9c940ae6..00000000
--- a/build/documentation/api/graph_class.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title>Gallery PHP code documentation</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="js/bootstrap.js" type="text/javascript"></script>
- <script src="js/template.js" type="text/javascript"></script>
- <script src="js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="img/favicon.ico"/>
- <link rel="apple-touch-icon" href="img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <div class="row">
- <div class="span12">
- <div class="well wrapper">
- <div id="viewer" class="viewer"></div>
- </div>
- </div>
- </div>
-
- <script src="js/jquery.iviewer.min.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(window).resize(function(){
- $("#viewer").height($(window).height() - 260);
- });
-
- $(document).ready(function() {
- $("#viewer").iviewer({src: 'classes.svg', zoom_animation: false});
- $('#viewer img').bind('dragstart', function(event){
- event.preventDefault();
- });
- });
- </script>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/img/apple-touch-icon-114x114.png b/build/documentation/api/img/apple-touch-icon-114x114.png
deleted file mode 100644
index 1506f6a6..00000000
--- a/build/documentation/api/img/apple-touch-icon-114x114.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/apple-touch-icon-72x72.png b/build/documentation/api/img/apple-touch-icon-72x72.png
deleted file mode 100644
index d813259b..00000000
--- a/build/documentation/api/img/apple-touch-icon-72x72.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/apple-touch-icon.png b/build/documentation/api/img/apple-touch-icon.png
deleted file mode 100644
index 2d320cb5..00000000
--- a/build/documentation/api/img/apple-touch-icon.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/favicon.ico b/build/documentation/api/img/favicon.ico
deleted file mode 100644
index 9575ac8f..00000000
--- a/build/documentation/api/img/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/glyphicons-halflings-white.png b/build/documentation/api/img/glyphicons-halflings-white.png
deleted file mode 100644
index a20760bf..00000000
--- a/build/documentation/api/img/glyphicons-halflings-white.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/glyphicons-halflings.png b/build/documentation/api/img/glyphicons-halflings.png
deleted file mode 100644
index 92d4445d..00000000
--- a/build/documentation/api/img/glyphicons-halflings.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/arrow_down.png b/build/documentation/api/img/icons/arrow_down.png
deleted file mode 100644
index 61505adc..00000000
--- a/build/documentation/api/img/icons/arrow_down.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/arrow_right.png b/build/documentation/api/img/icons/arrow_right.png
deleted file mode 100644
index 60c5927e..00000000
--- a/build/documentation/api/img/icons/arrow_right.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/class.png b/build/documentation/api/img/icons/class.png
deleted file mode 100644
index 87c21074..00000000
--- a/build/documentation/api/img/icons/class.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/constant.png b/build/documentation/api/img/icons/constant.png
deleted file mode 100644
index f5f180d5..00000000
--- a/build/documentation/api/img/icons/constant.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/favicon.ico b/build/documentation/api/img/icons/favicon.ico
deleted file mode 100644
index df28db3d..00000000
--- a/build/documentation/api/img/icons/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/file-php.png b/build/documentation/api/img/icons/file-php.png
deleted file mode 100644
index c323f09f..00000000
--- a/build/documentation/api/img/icons/file-php.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/file.gif b/build/documentation/api/img/icons/file.gif
deleted file mode 100644
index 7e621679..00000000
--- a/build/documentation/api/img/icons/file.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/folder.gif b/build/documentation/api/img/icons/folder.gif
deleted file mode 100644
index 2b31631c..00000000
--- a/build/documentation/api/img/icons/folder.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/function.png b/build/documentation/api/img/icons/function.png
deleted file mode 100644
index c4309023..00000000
--- a/build/documentation/api/img/icons/function.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/icon-folder-open-big.png b/build/documentation/api/img/icons/icon-folder-open-big.png
deleted file mode 100644
index fae384ef..00000000
--- a/build/documentation/api/img/icons/icon-folder-open-big.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/icon-th-big.png b/build/documentation/api/img/icons/icon-th-big.png
deleted file mode 100644
index 04b0ad87..00000000
--- a/build/documentation/api/img/icons/icon-th-big.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/icon_template.svg b/build/documentation/api/img/icons/icon_template.svg
deleted file mode 100644
index b0428aa4..00000000
--- a/build/documentation/api/img/icons/icon_template.svg
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="16"
- height="16"
- id="svg2"
- version="1.1"
- inkscape:version="0.48.2 r9819"
- inkscape:export-filename="/home/mvriel/Dropbox/Projects/phpDocumentor/Template/responsive/img/icons/constant.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- sodipodi:docname="icon_template.svg">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="38.375"
- inkscape:cx="8"
- inkscape:cy="8"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:showpageshadow="false"
- inkscape:window-width="1440"
- inkscape:window-height="846"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="1">
- <inkscape:grid
- type="xygrid"
- id="grid2990"
- empspacing="5"
- visible="true"
- enabled="true"
- snapvisiblegridlinesonly="true" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-1036.3622)">
- <path
- style="stroke:none"
- d="m 0,1038.3622 10.909091,0 2.090909,6 -2.090909,6 -10.909091,0 z"
- id="rect3764"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccc" />
- <path
- style="stroke:none"
- d="m 12,1038.3622 2,0 2,6 -2,6 -2,0 2,-6 z"
- id="rect3764-6"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccc" />
- <text
- xml:space="preserve"
- style="font-size:8.49677849px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
- x="1.2488016"
- y="1074.2206"
- id="text3785"
- sodipodi:linespacing="125%"
- transform="scale(1.0256589,0.974983)"><tspan
- sodipodi:role="line"
- id="tspan3787"
- x="1.2488016"
- y="1074.2206"
- style="font-weight:bold">Co</tspan></text>
- </g>
-</svg>
diff --git a/build/documentation/api/img/icons/interface.png b/build/documentation/api/img/icons/interface.png
deleted file mode 100644
index 51a3a176..00000000
--- a/build/documentation/api/img/icons/interface.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/method.png b/build/documentation/api/img/icons/method.png
deleted file mode 100644
index a7cc0040..00000000
--- a/build/documentation/api/img/icons/method.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/ok.png b/build/documentation/api/img/icons/ok.png
deleted file mode 100644
index 39f287ab..00000000
--- a/build/documentation/api/img/icons/ok.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/property.png b/build/documentation/api/img/icons/property.png
deleted file mode 100644
index e76d52bc..00000000
--- a/build/documentation/api/img/icons/property.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/search.gif b/build/documentation/api/img/icons/search.gif
deleted file mode 100644
index eef46fc9..00000000
--- a/build/documentation/api/img/icons/search.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/variable.png b/build/documentation/api/img/icons/variable.png
deleted file mode 100644
index a39bc19d..00000000
--- a/build/documentation/api/img/icons/variable.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/view_source.png b/build/documentation/api/img/icons/view_source.png
deleted file mode 100644
index 0c76bd12..00000000
--- a/build/documentation/api/img/icons/view_source.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/visibility_private.png b/build/documentation/api/img/icons/visibility_private.png
deleted file mode 100644
index 386dc2d8..00000000
--- a/build/documentation/api/img/icons/visibility_private.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/visibility_protected.png b/build/documentation/api/img/icons/visibility_protected.png
deleted file mode 100644
index d3bd8e7f..00000000
--- a/build/documentation/api/img/icons/visibility_protected.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/icons/visibility_public.png b/build/documentation/api/img/icons/visibility_public.png
deleted file mode 100644
index 4e100637..00000000
--- a/build/documentation/api/img/icons/visibility_public.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/grab.cur b/build/documentation/api/img/iviewer/grab.cur
deleted file mode 100644
index ef540be0..00000000
--- a/build/documentation/api/img/iviewer/grab.cur
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/hand.cur b/build/documentation/api/img/iviewer/hand.cur
deleted file mode 100644
index 1a5bafb5..00000000
--- a/build/documentation/api/img/iviewer/hand.cur
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.rotate_left.png b/build/documentation/api/img/iviewer/iviewer.rotate_left.png
deleted file mode 100644
index df0956de..00000000
--- a/build/documentation/api/img/iviewer/iviewer.rotate_left.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.rotate_right.png b/build/documentation/api/img/iviewer/iviewer.rotate_right.png
deleted file mode 100644
index 7a6c8298..00000000
--- a/build/documentation/api/img/iviewer/iviewer.rotate_right.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_fit.png b/build/documentation/api/img/iviewer/iviewer.zoom_fit.png
deleted file mode 100644
index 364e01d9..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_fit.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_fit2.gif b/build/documentation/api/img/iviewer/iviewer.zoom_fit2.gif
deleted file mode 100644
index 3199a1e3..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_fit2.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_in.png b/build/documentation/api/img/iviewer/iviewer.zoom_in.png
deleted file mode 100644
index 78993327..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_in.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_in2.gif b/build/documentation/api/img/iviewer/iviewer.zoom_in2.gif
deleted file mode 100644
index 5d596181..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_in2.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_out.png b/build/documentation/api/img/iviewer/iviewer.zoom_out.png
deleted file mode 100644
index 893f3502..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_out.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_out2.gif b/build/documentation/api/img/iviewer/iviewer.zoom_out2.gif
deleted file mode 100644
index 77ec19af..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_out2.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_zero.png b/build/documentation/api/img/iviewer/iviewer.zoom_zero.png
deleted file mode 100644
index c981db6d..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_zero.png
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/iviewer/iviewer.zoom_zero2.gif b/build/documentation/api/img/iviewer/iviewer.zoom_zero2.gif
deleted file mode 100644
index e56c670f..00000000
--- a/build/documentation/api/img/iviewer/iviewer.zoom_zero2.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/img/loader.gif b/build/documentation/api/img/loader.gif
deleted file mode 100644
index 1209425b..00000000
--- a/build/documentation/api/img/loader.gif
+++ /dev/null
Binary files differ
diff --git a/build/documentation/api/index.html b/build/documentation/api/index.html
deleted file mode 100644
index e48c5d81..00000000
--- a/build/documentation/api/index.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title>Gallery PHP code documentation</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="js/bootstrap.js" type="text/javascript"></script>
- <script src="js/template.js" type="text/javascript"></script>
- <script src="js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="img/favicon.ico"/>
- <link rel="apple-touch-icon" href="img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
- <div class="hero-unit">
- <h1>Gallery PHP code documentation</h1>
- <h2>Documentation</h2>
- </div>
-
- <div class="row">
- <div class="span7">
- <div class="well">
- <ul class="nav nav-list">
- <li class="nav-header">Namespaces</li>
- <li><a href="namespaces/default.html">Global (\)</a></li>
- <li><a href="namespaces/OCA.html">OCA</a></li>
- </ul>
- </div>
-
- <div class="well">
- <ul class="nav nav-list">
- <li class="nav-header">Packages</li>
- <li><a href="packages/default.html">Global (\)</a></li>
- <li><a href="packages/Default.html">Default</a></li>
- <li><a href="packages/OCA.html">OCA</a></li>
- </ul>
- </div>
-
- </div>
- <div class="span5">
- <div class="well">
- <ul class="nav nav-list">
- <li class="nav-header">Charts</li>
- <li><a href="graph_class.html"><i class="icon-list-alt"></i> Class inheritance diagram</a></li>
- </ul>
- </div>
- <div class="well">
- <ul class="nav nav-list">
- <li class="nav-header">Reports</li>
- <li>
- <a href="errors.html">
- <i class="icon-list-alt"></i> Errors <span class="label label-info">109</span>
-
- </a>
- </li>
- <li>
- <a href="deprecated.html">
- <i class="icon-list-alt"></i> Deprecated <span class="label label-info">0</span>
-
- </a>
- </li>
- <li>
- <a href="markers.html">
- <i class="icon-list-alt"></i> Markers <span class="label label-info">9</span>
-
- </a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/js/SVGPan.js b/build/documentation/api/js/SVGPan.js
deleted file mode 100644
index 4966b999..00000000
--- a/build/documentation/api/js/SVGPan.js
+++ /dev/null
@@ -1,232 +0,0 @@
-/**
- * SVGPan library 1.2 - phpDocumentor1
- * ====================
- *
- * Given an unique existing element with id "viewport", including the
- * the library into any SVG adds the following capabilities:
- *
- * - Mouse panning
- * - Mouse zooming (using the wheel)
- * - Object dargging
- *
- * Known issues:
- *
- * - Zooming (while panning) on Safari has still some issues
- *
- * Releases:
- *
- * 1.2 - phpDocumentor1, Fri Apr 08 19:19:00 CET 2011, Mike van Riel
- * Increased zoom speed with 20%
- * Disabled element moving functionality
- *
- * 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui
- * Fixed a bug with browser mouse handler interaction
- *
- * 1.1, Wed Feb 3 17:39:33 GMT 2010, Zeng Xiaohui
- * Updated the zoom code to support the mouse wheel on Safari/Chrome
- *
- * 1.0, Andrea Leofreddi
- * First release
- *
- * This code is licensed under the following BSD license:
- *
- * Copyright 2009-2010 Andrea Leofreddi <a.leofreddi@itcharm.com>. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification, are
- * permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this list of
- * conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice, this list
- * of conditions and the following disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are those of the
- * authors and should not be interpreted as representing official policies, either expressed
- * or implied, of Andrea Leofreddi.
- */
-
-var root = document.documentElement;
-
-var state = 'none', stateTarget, stateOrigin, stateTf;
-
-setupHandlers(root);
-
-/**
- * Register handlers
- */
-function setupHandlers(root){
- setAttributes(root, {
- "onmouseup" : "add(evt)",
- "onmousedown" : "handleMouseDown(evt)",
- "onmousemove" : "handleMouseMove(evt)",
- "onmouseup" : "handleMouseUp(evt)",
-// "onmouseout" : "handleMouseUp(evt)" // Decomment this to stop the pan functionality when dragging out of the SVG element
- });
-
- if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)
- window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari
- else
- window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others
-}
-
-/**
- * Instance an SVGPoint object with given event coordinates.
- */
-function getEventPoint(evt) {
- var p = root.createSVGPoint();
-
- p.x = evt.clientX;
- p.y = evt.clientY;
-
- return p;
-}
-
-/**
- * Sets the current transform matrix of an element.
- */
-function setCTM(element, matrix) {
- var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")";
-
- element.setAttribute("transform", s);
-}
-
-/**
- * Dumps a matrix to a string (useful for debug).
- */
-function dumpMatrix(matrix) {
- var s = "[ " + matrix.a + ", " + matrix.c + ", " + matrix.e + "\n " + matrix.b + ", " + matrix.d + ", " + matrix.f + "\n 0, 0, 1 ]";
-
- return s;
-}
-
-/**
- * Sets attributes of an element.
- */
-function setAttributes(element, attributes){
- for (i in attributes)
- element.setAttributeNS(null, i, attributes[i]);
-}
-
-/**
- * Handle mouse move event.
- */
-function handleMouseWheel(evt) {
- if(evt.preventDefault)
- evt.preventDefault();
-
- evt.returnValue = false;
-
- var svgDoc = evt.target.ownerDocument;
-
- var delta;
-
- if(evt.wheelDelta)
- delta = evt.wheelDelta / 3600; // Chrome/Safari
- else
- delta = evt.detail / -90; // Mozilla
-
- var z = 1 + (delta * 1.2); // Zoom factor: 0.9/1.1
-
- var g = svgDoc.getElementById("viewport");
-
- var p = getEventPoint(evt);
-
- p = p.matrixTransform(g.getCTM().inverse());
-
- // Compute new scale matrix in current mouse position
- var k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);
-
- setCTM(g, g.getCTM().multiply(k));
-
- stateTf = stateTf.multiply(k.inverse());
-}
-
-/**
- * Handle mouse move event.
- */
-function handleMouseMove(evt) {
- if(evt.preventDefault)
- evt.preventDefault();
-
- evt.returnValue = false;
-
- var svgDoc = evt.target.ownerDocument;
-
- var g = svgDoc.getElementById("viewport");
-
- if(state == 'pan') {
- // Pan mode
- var p = getEventPoint(evt).matrixTransform(stateTf);
-
- setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));
- } else if(state == 'move') {
- // Move mode
- var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());
-
- setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));
-
- stateOrigin = p;
- }
-}
-
-/**
- * Handle click event.
- */
-function handleMouseDown(evt) {
- if(evt.preventDefault)
- evt.preventDefault();
-
- evt.returnValue = false;
-
- var svgDoc = evt.target.ownerDocument;
-
- var g = svgDoc.getElementById("viewport");
-
-// if(evt.target.tagName == "svg") {
- // Pan mode
- state = 'pan';
-
- stateTf = g.getCTM().inverse();
-
- stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
-// } else {
- // Move mode
-// state = 'move';
-//
-// stateTarget = evt.target;
-//
-// stateTf = g.getCTM().inverse();
-//
-// stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
-// }
-}
-
-/**
- * Handle mouse button release event.
- */
-function handleMouseUp(evt) {
- if(evt.preventDefault)
- evt.preventDefault();
-
- evt.returnValue = false;
-
- var svgDoc = evt.target.ownerDocument;
-
- if(state == 'pan' || state == 'move') {
- // Quit pan mode
- state = '';
- }
-}
-
diff --git a/build/documentation/api/js/bootstrap.js b/build/documentation/api/js/bootstrap.js
deleted file mode 100644
index c832ccb2..00000000
--- a/build/documentation/api/js/bootstrap.js
+++ /dev/null
@@ -1,1722 +0,0 @@
-/* ===================================================
- * bootstrap-transition.js v2.0.0
- * 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.0
- * 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.removeClass('in')
-
- function removeElement() {
- $parent.remove()
- $parent.trigger('closed')
- }
-
- $.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.0
- * 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 ) {
- $(e.target).button('toggle')
- })
- })
-
-}( window.jQuery )
-/* ==========================================================
- * bootstrap-carousel.js v2.0.0
- * 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)
- }
-
- 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)
- 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 (!$.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
- }
-
- $.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.0
- * 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.addClass('collapse')
- }
-
- , 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.0
- * 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.0
- * 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 = $.extend({}, $.fn.modal.defaults, 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 = typeof option == 'object' && option
- if (!data) $this.data('modal', (data = new Modal(this, options)))
- if (typeof option == 'string') data[option]()
- else data.show()
- })
- }
-
- $.fn.modal.defaults = {
- backdrop: true
- , keyboard: 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.0
- * 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.0
- * 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.0
- * 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.0
- * 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.0
- * 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)
- 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) {
- e.stopPropagation()
- e.preventDefault()
-
- 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
- this.hide()
- break
-
- default:
- this.lookup()
- }
-
- }
-
- , keypress: function (e) {
- e.stopPropagation()
- 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
- }
- }
-
- , blur: function (e) {
- var that = this
- e.stopPropagation()
- e.preventDefault()
- 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 )
diff --git a/build/documentation/api/js/bootstrap.min.js b/build/documentation/api/js/bootstrap.min.js
deleted file mode 100644
index 1f295a14..00000000
--- a/build/documentation/api/js/bootstrap.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(a){a(function(){"use strict",a.support.transition=function(){var b=document.body||document.documentElement,c=b.style,d=c.transition!==undefined||c.WebkitTransition!==undefined||c.MozTransition!==undefined||c.MsTransition!==undefined||c.OTransition!==undefined;return d&&{end:function(){var b="TransitionEnd";return a.browser.webkit?b="webkitTransitionEnd":a.browser.mozilla?b="transitionend":a.browser.opera&&(b="oTransitionEnd"),b}()}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype={constructor:c,close:function(b){function f(){e.remove(),e.trigger("closed")}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),e.trigger("close"),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()}},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype={constructor:b,setState:function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},toggle:function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")}},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){a(b.target).button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.carousel.defaults,c),this.options.slide&&this.slide(this.options.slide)};b.prototype={cycle:function(){return this.interval=setInterval(a.proxy(this.next,this),this.options.interval),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(){return clearInterval(this.interval),this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this;return this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h](),!a.support.transition&&this.$element.hasClass("slide")?(this.$element.trigger("slide"),d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")):(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.trigger("slide"),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})),f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=typeof c=="object"&&c;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():e.cycle()})},a.fn.carousel.defaults={interval:5e3},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find(".in"),e;d&&d.length&&(e=d.data("collapse"),d.collapse("hide"),e||d.data("collapse",null)),this.$element[b](0),this.transition("addClass","show","shown"),this.$element[b](this.$element[0][c])},hide:function(){var a=this.dimension();this.reset(this.$element[a]()),this.transition("removeClass","hide","hidden"),this.$element[a](0)},reset:function(a){var b=this.dimension();this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element.addClass("collapse")},transition:function(b,c,d){var e=this,f=function(){c=="show"&&e.reset(),e.$element.trigger(d)};this.$element.trigger(c)[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e=c.attr("data-target"),f,g;return e||(e=c.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,"")),f=a(e),f.length||(f=c.parent()),g=f.hasClass("open"),d(),!g&&f.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(f,this)):f.call(this)):b&&b()}function f(){this.$backdrop.remove(),this.$backdrop=null}function g(){var b=this;this.isShown&&this.options.keyboard?a(document).on("keyup.dismiss.modal",function(a){a.which==27&&b.hide()}):this.isShown||a(document).off("keyup.dismiss.modal")}"use strict";var b=function(b,c){this.options=a.extend({},a.fn.modal.defaults,c),this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this))};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this;if(this.isShown)return;a("body").addClass("modal-open"),this.isShown=!0,this.$element.trigger("show"),g.call(this),e.call(this,function(){var c=a.support.transition&&b.$element.hasClass("fade");!b.$element.parent().length&&b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in"),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();if(!this.isShown)return;var e=this;this.isShown=!1,a("body").removeClass("modal-open"),g.call(this),this.$element.trigger("hide").removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?c.call(this):d.call(this)}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=typeof c=="object"&&c;e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({},e.data(),c.data());b.preventDefault(),e.modal(f)})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);!c.options.delay||!c.options.delay.show?c.show():(c.hoverState="in",setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show))},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);!c.options.delay||!c.options.delay.hide?c.hide():(c.hoverState="out",setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide))},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip();a.find(".tooltip-inner").html(this.getTitle()),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a=a.toString().replace(/(^\s*|\s*$)/,""),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,delay:0,selector:!1,placement:"top",trigger:"hover",title:"",template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var b=this.tip(),c=this.getTitle(),d=this.getContent();b.find(".popover-title")[a.type(c)=="object"?"append":"html"](c),b.find(".popover-content > *")[a.type(d)=="object"?"append":"html"](d),b.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a=a.toString().replace(/(^\s*|\s*$)/,""),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.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),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=a("body").on("click.scroll.data-api",this.selector,d),this.refresh(),this.process()}"use strict",b.prototype={constructor:b,refresh:function(){this.targets=this.$body.find(this.selector).map(function(){var b=a(this).attr("href");return/^#\w/.test(b)&&a(b).length?b:null}),this.offsets=a.map(this.targets,function(b){return a(b).position().top})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.offsets,c=this.targets,d=this.activeTarget,e;for(e=b.length;e--;)d!=c[e]&&a>=b[e]&&(!b[e+1]||a<=b[e+1])&&this.activate(c[e])},activate:function(a){var b;this.activeTarget=a,this.$body.find(this.selector).parent(".active").removeClass("active"),b=this.$body.find(this.selector+'[href="'+a+'"]').parent("li").addClass("active"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],b.trigger({type:"show",relatedTarget:e}),f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(a),this.hide()},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c=this,d,e;return this.query=this.$element.val(),this.query?(d=a.grep(this.source,function(a){if(c.matcher(a))return a}),d=this.sorter(d),d.length?this.render(d.slice(0,this.options.items)).show():this.shown?this.hide():this):this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){return a.replace(new RegExp("("+this.query+")","ig"),function(a,b){return"<strong>"+b+"</strong>"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){a.stopPropagation(),a.preventDefault();switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:this.hide();break;default:this.lookup()}},keypress:function(a){a.stopPropagation();if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}},blur:function(a){var b=this;a.stopPropagation(),a.preventDefault(),setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>'},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/MIT-LICENSE.txt b/build/documentation/api/js/jqplot/MIT-LICENSE.txt
deleted file mode 100644
index f8111b9c..00000000
--- a/build/documentation/api/js/jqplot/MIT-LICENSE.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-Title: MIT License
-
-Copyright (c) 2009-2013 Chris Leonello
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/README.txt b/build/documentation/api/js/jqplot/README.txt
deleted file mode 100644
index 8777a20c..00000000
--- a/build/documentation/api/js/jqplot/README.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-Title: jqPlot Readme
-
-Pure JavaScript plotting plugin for jQuery.
-
-To learn how to use jqPlot, start with the Basic Usage Instructions below. Then read the
-usage.txt and jqPlotOptions.txt files included with the distribution.
-
-The jqPlot home page is at <http://www.jqplot.com/>.
-
-Downloads can be found at <http://bitbucket.org/cleonello/jqplot/downloads/>.
-
-The mailing list is at <http://groups.google.com/group/jqplot-users>.
-
-Examples and unit tests are at <http://www.jqplot.com/tests/>.
-
-Documentation is at <http://www.jqplot.com/docs/>.
-
-The project page and source code are at <http://www.bitbucket.org/cleonello/jqplot/>.
-
-Bugs, issues, feature requests: <http://www.bitbucket.org/cleonello/jqplot/issues/>.
-
-Basic Usage Instructions:
-
-jqPlot requires jQuery (1.4+ required for certain features). jQuery 1.9.1 is included in
-the distribution. To use jqPlot include jQuery, the jqPlot jQuery plugin, the jqPlot css file and
-optionally the excanvas script to support IE version prior to IE 9 in your web page:
-
-> <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
-> <script language="javascript" type="text/javascript" src="jquery-1.4.4.min.js"></script>
-> <script language="javascript" type="text/javascript" src="jquery.jqplot.min.js"></script>
-> <link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
-
-For usage instructions, see <jqPlot Usage> in usage.txt. For available options, see
-<jqPlot Options> in jqPlotOptions.txt.
-
-Building from source:
-
-If you've cloned the repository, you can build a distribution from source.
-You need to have ant <http://ant.apache.org> installed. You can simply
-type "ant" from the jqplot directory to build the default "all" target.
-There are 6 pertinent targets: clean, dist, min, docs, compress and all. Use:
-
-> ant -p
-
-to get a description of the various build targets.
-
-Legal Notices:
-
-Copyright (c) 2009-2013 Chris Leonello
-jqPlot is currently available for use in all personal or commercial projects
-under both the MIT and GPL version 2.0 licenses. This means that you can
-choose the license that best suits your project and use it accordingly.
-
-Although not required, the author would appreciate an email letting him
-know of any substantial use of jqPlot. You can reach the author at:
-chris at jqplot or see http://www.jqplot.com/info.php .
-
-If you are feeling kind and generous, consider supporting the project by
-making a donation at: http://www.jqplot.com/donate.php .
-
-jqPlot includes date instance methods and printf/sprintf functions by other authors:
-
-Date instance methods:
-
- author Ken Snyder (ken d snyder at gmail dot com)
- date 2008-09-10
- version 2.0.2 (http://kendsnyder.com/sandbox/date/)
- license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)
-
-JavaScript printf/sprintf functions.
-
- version 2007.04.27
- author Ash Searle
- http://hexmen.com/blog/2007/03/printf-sprintf/
- http://hexmen.com/js/sprintf.js
- The author (Ash Searle) has placed this code in the public domain:
- "This code is unrestricted: you are free to use it however you like."
diff --git a/build/documentation/api/js/jqplot/changes.txt b/build/documentation/api/js/jqplot/changes.txt
deleted file mode 100644
index ce990eae..00000000
--- a/build/documentation/api/js/jqplot/changes.txt
+++ /dev/null
@@ -1,458 +0,0 @@
-Title: Change Log
-
-1.0.8:
-* Issue #375: sortMergedLabels does not sort string labels
-* Issue #279: Groups > 3 Causes Alignment Issues
-* Issue #439: IE can't display a customized legend in Quirks mode
-* Issue #482: "Undefined" error message when plotting a chart with no data
-* Issue #116: Don't mix spaces and tabs for indentation
-* Issue #564: Metergauge renderer not resizable when replotting
-* Issue #409: MeterGaugeRenderer replot/redraw offsets center
-* Issue #523: Adding rectangles to Canvas Overlay plugin
-* Issue #756: jqplot.min files contain non-UTF-8 characters
-* Issue #223: fillToZero does not color negative values when crossover point is 0
-* Pull Request #23: Adding rectangles to Canvas Overlay plugin
-* Pull Request #28: Cross-over points of 0 will actually change colors
-* Pull Request #35: Don't highlight hidden bars or show tooltips for them
-* Pull Request #41: Add dutch(nl) and svenska(sv) translations for dates
-* Add tooltip support for Pie Charts
-* Update to latest YUI compressor
-
-1.0.7:
-* Issue #726: Bug in sprintf %p, sometimes it outputs exponential form rather than decimal
-* Issue #717: Plot's preDrawHooks not called
-* Issue #707: Browser hangs with LogAxisRenderer when value is 0
-* Issue #695: Horizontal Bar Chart Negative Series Colors Not Working
-* Issue #670: Examples IE7, IE8 and IE9 multipleBarColors.html failure and fix
-* Issue #636: X Axis Date Renderer Single Day Not plotting
-* Issue #607: Integration issue
-* Issue #571: Decimal numbers not properly formatted
-* Issue #552: jqPlot crashes when interval too small
-* Issue #536: DateAxisRenderer invalid scaling
-* Issue #534: "decimalMark" in the "jqplot.sprintf.js"
-* Issue #529: Scientific notation on label values ending in 0
-* Issue #521: invalid JS in meterGaugeRenderer.js
-* Issue #516: Including BezierCurveRenderer plugin and initializing jqplot with no options give error
-* Issue #500: DateAxisRenderer has timezone related issues
-* Issue #452: Including ALL jqPlot plugins causes an Error
-* Issue #494: No point when use LogAxisRenderer and a point has a zero value
-* Issue #430: getIsoWeek: invalid method call
-* Issue #280: jqplot Options
-* Issue #179: Spelling/grammar
-* Pull Request #18: Implement getTop in CanvasAxisTickRenderer
-* Pull Request #21: Performance issue when drawing pointlabels with zeros/null values
-* Pull Request #24: Added suggested fix in comment #8 for issue #536
-* Pull Request #29: Removed unbalanced addition of UTC offset
-* Pull Request #33: Documentation fixes (issue #179, other changes)
-* Pull Request #34: Start of updating jqPlotOptions.txt
-* Pull Request #37: Example and suggested fix for issues #552 and issue #536
-* Pull Request #39: Fixed trailing comma which caused issues with IE7
-
-1.0.6:
-* Add left sidebar navigation to examples
-* Update examples for jquery 1.9.1 and jquery ui 1.10.0
-* Add colorpicker.js to distribution
-* Fix some problems with examples when viewing with local file system
-* Add "minified" copyright notice for minified files, similar to jquery's notice.
-* Pull Request #25: jqplot.sprintf.js is no longer the last file in the concatenated jquery.jqplot.js
-* Pull Request #17: Fixed bug causing custom pointLabels passed with plot data to be ignored for horizontal bar graphs.
-* Pull Request #10: Build error by invalid encoding.
-* Issue #714: handle tickColor in meterGaugeRenderer
-* Issue #519: jsDate Polish Localization
-
-1.0.5:
-* Updated to jQuery 1.9
-
-1.0.0b2:
-* Major improvements in memory usage:
-** Merged in changes from Timo Besenruether to reuse canvas elements and improve
- memory performance.
-** Fixed all identifiable DOM leaks.
-** Mergged in changes from cguillot for memory improvements in IE < 9.
-* Added vertical and dashed vertical line support for canvas overlay.
-* Fixed bug where initially hidden plots would not display.
-* Fixed bug with point labels and null data points.
-* Updated to jQuery 1.6.1.
-* Improved pie slice margin calculation and fixed slice margin and pie positioning
- with small slices.
-* Improved bar renderer so bars always start at 0 if:
-** The axis is a linear axis (not log/date).
-** There are no other line types besides bars attached to the axis.
-** The data on the axis is all >= 0.
-** The user has not specified a pad, padMin or forceTickAt0 = true option.
-* Modified tick prefix behavious so prefix no added to all ticks, even if format
- string is specified.
-* Fix to ensure original tick formats are applied when zooming and resetting
- zoom.
-* Updated auto tick format string so format adjusted when zooming.
-* Modified auto tick computation to put less ticks on small plots and more
- ticks on large plots.
-* Update bubble render to support gradients in IE 9.
-
-1.0.0b1:
-* Much improved tick generation algorithm to get precise rounded
- tick values (Thanks Scott Prahl!).
-* Auto compute tick format string if none is provided.
-* Much better "slicing" of pie charts when using "sliceMargin" option to set
- a gap between the slices.
-* Expanded canvasOverlay plugin to create arbitrary dashed and solid
- horizontal and vertical lines on top of plot.
-* Added defaultColors and defaultNegativeColors options to $.jqplot.config.
-* Fixed issue #318, highlighter & bar renderer incompatability.
-* Improve highlighter tooltip positioning with negative bars.
-* Fixed #305, mispelling of jqlotDragStart and jqlotDragStop. MUST NOW BIND
- TO jqplotDragStart and jqplotDragStop.
-* Fixed #290, some variables left in global scope.
-* Fixed #289, OHLC line widths hard coded at 1.5. Now set by lineWidth option.
-* Fixed #296 for determining databounds on log axes.
-* Updated to jQuery 1.5.1
-* Fixed waterfall plot to ensure first and last bars always fill to zero.
-* Added lineJoin and lineCap option to series lines.
-* Bar widths now based on width of grid, not plot target for better scaling.
-* Added looseZoom option to cursor so zooming can produce well rounded ticks.
-* Added forceTickAt0 and forceTickAt100 options to ensure there will always
- be a tick at 0 or 100 in the plot.
-* Fixed bug where cursor legend didn't honor series showLabel option.
-
-
-1.0.0a:
-
-* Series can now be moved forward or backward in stack to e.g. bring a line
- forward when mousing over a point.
-* Can now move outside of grid area while zooming. Can have zoom
- constrained to grid area or allow zooming outside.
-* Fixed issue #142 with tooltip drawn on top of event canvas, hiding
- mouse events.
-* Fixed #147 where pie slices with 0 value not rendering properly in IE.
-* Fixed #130 where stack data not sorted properly.
-* Fixed bug with null values not handled properly in category axes.
-* Fixed #156 where pie charts not rendering on QTWebKit.
-* Now using feature detection for canvas and canvas text capability
- rather than browser version.
-* Added enahncedLegendRenderer plugin to allow multi row/column legends
- and clickable labels to show/hide series.
-* Added fillToValue option to allow filled line plot to fill to an
- arbitrary value.
-* Added block plot plugin.
-* Added funnel type charts.
-* Added meter gauge type charts.
-* Added plot theming support.
-* $.jqplot.config.enablePlugins now false by default.
-* Implemented highlighting on bar, pie, donut, funnel, etc. charts.
-* Fix to pointlabels plugin to align labels properly on multi series plots.
-* Added custom error handling to display error message in plot area.
-* Fixed issue where would call to draw grid border of 0 width would
- result in a default border being drawn.
-* Added options to place legend outside of grid and shrink grid so everything
- stays within plot div.
-* Fixed bug in color generator so now calls to get() continually cycle
- through colors just like next().
-* Added defaultAxisStart option.
-* Added gradient fills to bubbles.
-* Added bubble charts.
-* Added showLabels option to bubble charts.
-* Pass bubble radius to event callback in bubble charts.
-* Fixed #207, typo in docs.
-* Fixed #206 where "value" pie slice data labels were displaying wrong
- value.
-* Fixed #147 with 0 value slices in IE6.
-* Fixed issue #241, disabled varyBarColor option in stacked charts.
-* Added dataRenderer option to allow custom processors for JSON, AJAX
- and anywhere else you might want to get data.
-* Fixed null value handling so plot now properly skip or join over nulls.
-* Fixed showTicks and showTickMarks option conflicts.
-* Fixed issue #185 where pointLabels plugin incompatibility could crash
- pie, donut and other plots.
-* Fixed #23 and #143 to obey gridPadding option.
-* Fixed #233 with highlighter tooltip separator.
-* Fixed #224 where type checking failing on GWT.
-* Fixed #272 with pie highlighting not working on replot.
-* Memory performance improvements.
-* Changes to build script so everything should build when pulled from repo.
-* Fixed issue #275, IE 6/7 don't support array indexing of strings.
-* Added event listener hooks for mouseUp, mouseDown, etc. to all line plots.
-* Fixed bug with highlighter not working when null in data.
-* Updated to jQuery 1.4.4
-* Fixed bug where donut plots showed value of radians of slice instead
- of actual data.
-* Reverted to excanvas r3 so IE8 no longer has to emulate IE7.
-* Added tooltipContentEditor option to highlighter, allowing callback
- to manipulate tooltip content at run time (thanks Tim Bunce!).
-* Fixed bug where axes scale not resetting.
-* Fixed bug with date axes where data bounds not properly set.
-* Fixed issue where tick marks disappear if grid lines turned off.
-* Updated replot method to allow passing in axes options for more control.
-* Added experimental support for "broken" axes.
-* Fixed bug with pies where pies with 0 valued slices did not draw correctly.
-* Added canvasOverlay plugin to allow drawing of arbitrary shapes on a canvas
- over the plot.
-* Added option to display arbitrary text/html (message, animated gif, etc.) if
- plot is constructed without data. Allow a "data loading" indicator to be shown.
-* Added resetAxisValues method to manually update axis ticks without
- redrawing the plot.
-* Fix to labels on negative bars so label postiion of 'n' will be below a negative bar,
- just as it is above a positive bar (thanks guigod!).
-* Added thousands separator character (') to sprintf formatting (thanks yuichi1004!).
-* Re-factored date parsing/formatting to use new jsDate module which does not
- extend the Date prototype.
-
-
-0.9.7:
-
-* Added Mekko chart plot type with enhanced legend and axes support.
-* Implemented vertical waterfall charts. Can create waterfall plot as
- option to bar chart. See examples folder of distribution.
-* Enhanced plot labels for waterfall style.
-* Enhanced bar plots so you can now color each bar of a series
- independently with the "varyBarColor" option.
-* Re-factored series drawing so that each series and series shadow drawn
- on its own canvas. Allows series to be redrawn independently of each other.
-* Added additional default series colors.
-* Added useNegativeColors option to turn off negative color array and use
- only seriesColors array to define all bar/filled line colors.
-* Fix css for cursor legend.
-* Modified shape renderer so rectangles can be stroked and filled.
-* Re-factored date methods out of dateAxisRenderer so that date formatter
- and methods can be accesses outside of dateAxisRenderer plugin.
-* Fixed #132, now trigger series change event on plot target instead of drag canvas.
-* Fixes issue #116 where some source files had mix of tabs and spaces
- for indentation. Should have been all spaces.
-* Fixed issue #126, some links broken in docs section of web site.
-* Fixed issue #90, trendline plugin incompatibility with pie renderer.
-* Updated samples in examples folder of distribution to include navigation
- links if web server is set up to process .html files with php.
-
-
-0.9.6:
-
-* New, easier to use, replot() method for placing plots in tabs, accordions,
- resizable containers or for changing plot parameters programmatically.
-* Updated legend renderer for pie charts to draw swatches which will
- print correctly.
-* Fixed issue #118 with patch from taum so autoscale option will
- honor tickInterval and numberTicks options
-* Fix to plot diameter calculation for initially hidden plots.
-* Added examples for making plots in jQuery UI tabs and accordions.
-* Fixed issue #120 where pie chart with single slice not displaying
- correctly in IE and Chrome
-
-
-0.9.5.2:
-
-* Fixed #102 where double clicking on plot that has zoom enabled, but
- has not been zoomed resulted in error.
-* Fixed bug where candlestick coloring options not working.
-* Added option to turn individual series labels off in the legend.
-
-
-0.9.5.1:
-
-* Fixed bug where tooltip not working with OHLC and candlestick charts.
-* Added additional marker styles: plus, X and dash.
-
-
-0.9.5:
-
-* Implemented "zoomProxy". zoomProxy allows zooming one plot from another
- such as an overview plot.
-* Zooming can now be constrained to just x or y axis.
-* Enhanced cursor plugin with vertical "dataTracking" line. This is a line
- at the cursor location with a readout of data points at the line location
- which are displayed in the chart legend.
-* Changed cursor tooltip format string. Now one format string is used for
- entire tooltip.
-* Added mechanisms to specify plot size when plot target is hidden or plot
- height/width otherwise cannot be determined from markup.
-* Added $.jqplot.config object to specify jqplot wide configuration options.
- These include enablePlugins to globally set the default plugin state on/off
- and defaultHeight/defaultWidth to specify default plot height/width.
-* Added fillToZero option which forces filled charts to fill to zero as opposed
- to axis minimum. Thus negative filled bar/line values will fill upwards to
- zero axis value.
-* Added option to disable stacking on individual lines.
-* Changed targetId property of the plot object so it now includes a "#" before
- the id string.
-* Improved tick and body sizing of Open Hi Low Close and candlestick charts.
-* Removed lots of web site related files from the repository. This means that,
- if working from the sources, user's won't be able to build the jqplot web
- site and the docs/tests that are hosted on that site. The minified and
- compressed distribution packages will build fine.
-* Lots of examples were added to a separate examples directory to better show
- functionality of jqPlot for local testing with the distribution.
-* Many various bug fixes and other minor enhancements.
-
-
-0.9.4:
-
-* Implemented axis labels. Labels can be rendered in div tags or as canvas
- elements supporting rotated text.
-* Improved rotated axis label positioning so labels will start or end at a
- tick position.
-* Fixed bug where an empty data series would hang plot rendering.
-* completed issue #66 for misc. improvements to documentation.
-* Fixed issue #64 where the same ID's were assigned to cursor and highlighter
- elements.
-* Added option to legend to encode special HTML characters.
-* Fixed undesirable behavior where point labels for points off the plot
- were being rendered.
-* Added edgeTolerance option to point label renderer to control rendering of
- labels near plot edges.
-
-
-0.9.3:
-
-* Preliminary support for axis labels. Currently rendered into DIV tags,
- so no rotated label support. This feature is currently experimental.
-* Fixed bug #52, needed space in tick div tag between style and class declarations
- or plot failed in certain application doctypes.
-* Fixed issue #54, miter style line join for chart lines causing spikes at steep
- changes in slope. Changed miter style to round.
-* Added examples for new autoscaling algorithm.
-* Fixed bug #57, category axis labels disappear on redraw()
-* Improved algorithm which controlled maximum number of labels that would display
- on a category axis.
-* Fixed bug #45 where null values causing errors in plotData and gridData.
-* Fixed issue #60 where seriesColors option was not working.
-
-
-0.9.2:
-
-* Fixed bug #45 where a plot could crash if series had different numbers of points.
-* Fixed issue #50, added option to turn off sorting of series data.
-* Fixed issue #31, implemented a better axis autoscaling algorithm and added an autoscale option.
-
-0.9.1:
-
-* Fixed bug #40, when axis pad, padMax, padMin set to 0, graph would fail to render.
-* Fixed bug #41 where pie and bar charts not rendered correctly on redraw().
-* Fixed bug #11, filled stacked line plots not rendering correctly in IE.
-* Fixed bug #42 where stacked charts not rendering with string date axis ticks.
-* Fixed bug in redraw() method where axes ticks were not reset.
-* Fixed "jqplotPreRedrawEvent" that should have been named "jqplotPostRedraw" event.
-
-0.9.0:
-
-* Added Open Hi Low Close charts, Candlestick charts and Hi Low Close charts.
-* Added support for arbitrary labels on the data points.
-* Enhanced highlighter plugin to allow custom formatting control of entire tooltip.
-* Enhanced highlighter to support multiple y values in a data point.
-* Fixed bug #38 where series with a single point with a negative value would fail.
-* Improvements to examples to show what plugins to include.
-* Expanded documentation for some of the plugins.
-
-0.8.5:
-
-* Added zooming ability with double click or single click options to reset zoom.
-* Modified default tick spacing algorithm for date axes to give more space to ticks.
-* Fixed bug #2 where tickInterval wasn't working properly.
-* Added neighborThreshold option to control how close mouse must be to
- point to trigger neighbor detection.
-* Added double click event handler on plot.
-
-0.8.0:
-
-* Support for up to 9 y axes.
-* Added option to control padding at max/min bounds of axes separately.
-* Closed issue #21, added options to control grid line color and width.
-* Closed issue #20, added options to filled line charts to stoke above
- fill and customize fill color and transparency.
-* Improved structure of on line documentation to make usage and options
- docs default.
-* Added much documentation on options and css styling.
-
-0.7.1:
-
-* Bug fix release
-* Fixed bug #6, missing semi-colons messing up some javascript compressors.
-* Fixed bug #13 where 2D ticks array of [values, labels] would fail to
- renderer with DateAxisRenderer.
-* Fixes bug #16 where pie renderer overwriting options for all plot types
- and crashing non pie plots.
-* Fixes bug #17 constrainTo dragable option mispelled as "contstrainTo".
- Fixed dragable color issue when used with trend lines.
-
-0.7.0:
-
-* Pie chart support
-* Enabled tooltipLocation option in highlighter.
-* Highlighter Tooltip will account for mark size and highlight size when
- positioning itself.
-* Added ability to show just x, y or both axes in highlighter tooltip.
-* Added customization of separator between axes values in highlighter tooltip.
-* Modified how shadows are drawn for lines, bars and markers. Now drawn first,
- so they are always behind the object.
-* Adjustments to shadow parameters on lines to account for new shadow positioning.
-* Added a ColorGenerator class to robustly return next available color
- for a plot with wrap around to first color at end.
-* Udates to docs about css file.
-* Fixed bug with String x values in series and IE error on sorting (Category Axis).
-* Added cursor changes in dragable plugin when cursor near dragable point.
-
-0.6.6b:
-
-* Added excanvas.js and excanvas.min.js to compressed distributions.
-* Added example/test html pages I had locally into repository and to
- compressed distributions.
-
-0.6.6a:
-
-* Removed absolute positioning from dom element and put back into css file.
-* Duplicate of 0.6.6 with a suffix to unambiguously differentiate between
- previously posted 0.6.6 release.
-
-0.6.6:
-
-* Fixed bug #5, trend line plugin failing when no trend line options specified.
-* Added absolute position css spec to axis tick dom element.
-* Enhancement to category axes, more intuitive handling of series with
- missing data values.
-
-0.6.5:
-
-* Fixed bug #4, series of unequal data length not rendering correctly.
- This is a bugfix release only.
-
-0.6.4:
-
-* Fixed bug (issue #1 in tracker) where flat line data series (all x and/or y
- values are euqal) or single value data series would crash.
-
-0.6.3:
-
-* Support for stacked line (a.k.a. area) and stacked bar (horizontal and
- vertical) charts.
-* Refactored barRenderer to use default shape and shadow renderers.
-* Added info (contacts & support information) page to web site.
-
-0.6.2:
-
-* This is a minor upgrade to docs and build only. No functionality has changed.
-* Ant build script generates entire site, examples, tests and distribution.
-* Improvements to documentation.
-
-0.6.1:
-
-* New sprintf implementation from Ash Searle that implements %g.
-* Fix to sprintf e/f formats.
-* Created new format specifier, %p and %P to preserve significance.
-* Modified p/P format to better display larger numbers.
-* Fixed and simplified significant digits calculation for sprintf.
-* Added option to have cursor tooltip follow the mouse or not.
-* Added options to change size of highlight.
-* Updates to handle dates like '6-May-09'.
-* Mods to improve look of web site.
-* Updates to documentation.
-* Added license and copyright statement to source files.
-
-0.6.0:
-
-* Added rotated text support. Uses native canvas text functionality in
- browsers that support it or draws text on canvas with Hershey font
-* metrics for non-supporting browsers.
-* Removed lots of lint in js code.
-* Moved tick css from js code into css file.
-* Fix to tick positioning css. y axis ticks were positioned to wrong side of axis div.
-* Re-factored axis tick renderer instantiation into the axes renderers themselves.
-
-
-For changes prior to 0.6.0 release, please see change log at http://bitbucket.org/cleonello/jqplot/changesets/
diff --git a/build/documentation/api/js/jqplot/copyright.txt b/build/documentation/api/js/jqplot/copyright.txt
deleted file mode 100644
index 86d4c408..00000000
--- a/build/documentation/api/js/jqplot/copyright.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * jqPlot
- * Pure JavaScript plotting plugin using jQuery
- *
- * Version: @VERSION
- *
- * Copyright (c) 2009-2013 Chris Leonello
- * jqPlot is currently available for use in all personal or commercial projects
- * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL
- * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can
- * choose the license that best suits your project and use it accordingly.
- *
- * Although not required, the author would appreciate an email letting him
- * know of any substantial use of jqPlot. You can reach the author at:
- * chris at jqplot dot com or see http://www.jqplot.com/info.php .
- *
- * If you are feeling kind and generous, consider supporting the project by
- * making a donation at: http://www.jqplot.com/donate.php .
- *
- * sprintf functions contained in jqplot.sprintf.js by Ash Searle:
- *
- * version 2007.04.27
- * author Ash Searle
- * http://hexmen.com/blog/2007/03/printf-sprintf/
- * http://hexmen.com/js/sprintf.js
- * The author (Ash Searle) has placed this code in the public domain:
- * "This code is unrestricted: you are free to use it however you like."
- *
- * included jsDate library by Chris Leonello:
- *
- * Copyright (c) 2010-2013 Chris Leonello
- *
- * jsDate is currently available for use in all personal or commercial projects
- * under both the MIT and GPL version 2.0 licenses. This means that you can
- * choose the license that best suits your project and use it accordingly.
- *
- * jsDate borrows many concepts and ideas from the Date Instance
- * Methods by Ken Snyder along with some parts of Ken's actual code.
- *
- * Ken's origianl Date Instance Methods and copyright notice:
- *
- * Ken Snyder (ken d snyder at gmail dot com)
- * 2008-09-10
- * version 2.0.2 (http://kendsnyder.com/sandbox/date/)
- * Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)
- *
- * jqplotToImage function based on Larry Siden's export-jqplot-to-png.js.
- * Larry has generously given permission to adapt his code for inclusion
- * into jqPlot.
- *
- * Larry's original code can be found here:
- *
- * https://github.com/lsiden/export-jqplot-to-png
- *
- *
- */
diff --git a/build/documentation/api/js/jqplot/excanvas.min.js b/build/documentation/api/js/jqplot/excanvas.min.js
deleted file mode 100644
index e699a26f..00000000
--- a/build/documentation/api/js/jqplot/excanvas.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot @VERSION | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */if(!document.createElement("canvas").getContext){(function(){var ab=Math;var n=ab.round;var l=ab.sin;var A=ab.cos;var H=ab.abs;var N=ab.sqrt;var d=10;var f=d/2;var z=+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];function y(){return this.context_||(this.context_=new D(this))}var t=Array.prototype.slice;function g(j,m,p){var i=t.call(arguments,2);return function(){return j.apply(m,i.concat(t.call(arguments)))}}function af(i){return String(i).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}function Y(m,j,i){if(!m.namespaces[j]){m.namespaces.add(j,i,"#default#VML")}}function R(j){Y(j,"g_vml_","urn:schemas-microsoft-com:vml");Y(j,"g_o_","urn:schemas-microsoft-com:office:office");if(!j.styleSheets.ex_canvas_){var i=j.createStyleSheet();i.owningElement.id="ex_canvas_";i.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}R(document);var e={init:function(i){var j=i||document;j.createElement("canvas");j.attachEvent("onreadystatechange",g(this.init_,this,j))},init_:function(p){var m=p.getElementsByTagName("canvas");for(var j=0;j<m.length;j++){this.initElement(m[j])}},initElement:function(j){if(!j.getContext){j.getContext=y;R(j.ownerDocument);j.innerHTML="";j.attachEvent("onpropertychange",x);j.attachEvent("onresize",W);var i=j.attributes;if(i.width&&i.width.specified){j.style.width=i.width.nodeValue+"px"}else{j.width=j.clientWidth}if(i.height&&i.height.specified){j.style.height=i.height.nodeValue+"px"}else{j.height=j.clientHeight}}return j},uninitElement:function(j){if(j.getContext){var i=j.getContext();delete i.element_;delete i.canvas;j.innerHTML="";j.context_=null;j.getContext=null;j.detachEvent("onpropertychange",x);j.detachEvent("onresize",W)}}};function x(j){var i=j.srcElement;switch(j.propertyName){case"width":i.getContext().clearRect();i.style.width=i.attributes.width.nodeValue+"px";i.firstChild.style.width=i.clientWidth+"px";break;case"height":i.getContext().clearRect();i.style.height=i.attributes.height.nodeValue+"px";i.firstChild.style.height=i.clientHeight+"px";break}}function W(j){var i=j.srcElement;if(i.firstChild){i.firstChild.style.width=i.clientWidth+"px";i.firstChild.style.height=i.clientHeight+"px"}}e.init();var k=[];for(var ae=0;ae<16;ae++){for(var ad=0;ad<16;ad++){k[ae*16+ad]=ae.toString(16)+ad.toString(16)}}function B(){return[[1,0,0],[0,1,0],[0,0,1]]}function J(p,m){var j=B();for(var i=0;i<3;i++){for(var ah=0;ah<3;ah++){var Z=0;for(var ag=0;ag<3;ag++){Z+=p[i][ag]*m[ag][ah]}j[i][ah]=Z}}return j}function v(j,i){i.fillStyle=j.fillStyle;i.lineCap=j.lineCap;i.lineJoin=j.lineJoin;i.lineWidth=j.lineWidth;i.miterLimit=j.miterLimit;i.shadowBlur=j.shadowBlur;i.shadowColor=j.shadowColor;i.shadowOffsetX=j.shadowOffsetX;i.shadowOffsetY=j.shadowOffsetY;i.strokeStyle=j.strokeStyle;i.globalAlpha=j.globalAlpha;i.font=j.font;i.textAlign=j.textAlign;i.textBaseline=j.textBaseline;i.arcScaleX_=j.arcScaleX_;i.arcScaleY_=j.arcScaleY_;i.lineScale_=j.lineScale_}var b={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",grey:"#808080",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",oldlace:"#FDF5E6",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",whitesmoke:"#F5F5F5",yellowgreen:"#9ACD32"};function M(j){var p=j.indexOf("(",3);var i=j.indexOf(")",p+1);var m=j.substring(p+1,i).split(",");if(m.length!=4||j.charAt(3)!="a"){m[3]=1}return m}function c(i){return parseFloat(i)/100}function r(j,m,i){return Math.min(i,Math.max(m,j))}function I(ag){var i,ai,aj,ah,ak,Z;ah=parseFloat(ag[0])/360%360;if(ah<0){ah++}ak=r(c(ag[1]),0,1);Z=r(c(ag[2]),0,1);if(ak==0){i=ai=aj=Z}else{var j=Z<0.5?Z*(1+ak):Z+ak-Z*ak;var m=2*Z-j;i=a(m,j,ah+1/3);ai=a(m,j,ah);aj=a(m,j,ah-1/3)}return"#"+k[Math.floor(i*255)]+k[Math.floor(ai*255)]+k[Math.floor(aj*255)]}function a(j,i,m){if(m<0){m++}if(m>1){m--}if(6*m<1){return j+(i-j)*6*m}else{if(2*m<1){return i}else{if(3*m<2){return j+(i-j)*(2/3-m)*6}else{return j}}}}var C={};function F(j){if(j in C){return C[j]}var ag,Z=1;j=String(j);if(j.charAt(0)=="#"){ag=j}else{if(/^rgb/.test(j)){var p=M(j);var ag="#",ah;for(var m=0;m<3;m++){if(p[m].indexOf("%")!=-1){ah=Math.floor(c(p[m])*255)}else{ah=+p[m]}ag+=k[r(ah,0,255)]}Z=+p[3]}else{if(/^hsl/.test(j)){var p=M(j);ag=I(p);Z=p[3]}else{ag=b[j]||j}}}return C[j]={color:ag,alpha:Z}}var o={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var L={};function E(i){if(L[i]){return L[i]}var p=document.createElement("div");var m=p.style;try{m.font=i}catch(j){}return L[i]={style:m.fontStyle||o.style,variant:m.fontVariant||o.variant,weight:m.fontWeight||o.weight,size:m.fontSize||o.size,family:m.fontFamily||o.family}}function u(m,j){var i={};for(var ah in m){i[ah]=m[ah]}var ag=parseFloat(j.currentStyle.fontSize),Z=parseFloat(m.size);if(typeof m.size=="number"){i.size=m.size}else{if(m.size.indexOf("px")!=-1){i.size=Z}else{if(m.size.indexOf("em")!=-1){i.size=ag*Z}else{if(m.size.indexOf("%")!=-1){i.size=(ag/100)*Z}else{if(m.size.indexOf("pt")!=-1){i.size=Z/0.75}else{i.size=ag}}}}}i.size*=0.981;i.family="'"+i.family.replace(/(\'|\")/g,"").replace(/\s*,\s*/g,"', '")+"'";return i}function ac(i){return i.style+" "+i.variant+" "+i.weight+" "+i.size+"px "+i.family}var s={butt:"flat",round:"round"};function S(i){return s[i]||"square"}function D(i){this.m_=B();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=d*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var m="width:"+i.clientWidth+"px;height:"+i.clientHeight+"px;overflow:hidden;position:absolute";var j=i.ownerDocument.createElement("div");j.style.cssText=m;i.appendChild(j);var p=j.cloneNode(false);p.style.backgroundColor="red";p.style.filter="alpha(opacity=0)";i.appendChild(p);this.element_=j;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var q=D.prototype;q.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};q.beginPath=function(){this.currentPath_=[]};q.moveTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"moveTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.lineTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"lineTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.bezierCurveTo=function(m,j,ak,aj,ai,ag){var i=V(this,ai,ag);var ah=V(this,m,j);var Z=V(this,ak,aj);K(this,ah,Z,i)};function K(i,Z,m,j){i.currentPath_.push({type:"bezierCurveTo",cp1x:Z.x,cp1y:Z.y,cp2x:m.x,cp2y:m.y,x:j.x,y:j.y});i.currentX_=j.x;i.currentY_=j.y}q.quadraticCurveTo=function(ai,m,j,i){var ah=V(this,ai,m);var ag=V(this,j,i);var aj={x:this.currentX_+2/3*(ah.x-this.currentX_),y:this.currentY_+2/3*(ah.y-this.currentY_)};var Z={x:aj.x+(ag.x-this.currentX_)/3,y:aj.y+(ag.y-this.currentY_)/3};K(this,aj,Z,ag)};q.arc=function(al,aj,ak,ag,j,m){ak*=d;var ap=m?"at":"wa";var am=al+A(ag)*ak-f;var ao=aj+l(ag)*ak-f;var i=al+A(j)*ak-f;var an=aj+l(j)*ak-f;if(am==i&&!m){am+=0.125}var Z=V(this,al,aj);var ai=V(this,am,ao);var ah=V(this,i,an);this.currentPath_.push({type:ap,x:Z.x,y:Z.y,radius:ak,xStart:ai.x,yStart:ai.y,xEnd:ah.x,yEnd:ah.y})};q.rect=function(m,j,i,p){this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath()};q.strokeRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.stroke();this.currentPath_=Z};q.fillRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.fill();this.currentPath_=Z};q.createLinearGradient=function(j,p,i,m){var Z=new U("gradient");Z.x0_=j;Z.y0_=p;Z.x1_=i;Z.y1_=m;return Z};q.createRadialGradient=function(p,ag,m,j,Z,i){var ah=new U("gradientradial");ah.x0_=p;ah.y0_=ag;ah.r0_=m;ah.x1_=j;ah.y1_=Z;ah.r1_=i;return ah};q.drawImage=function(aq,m){var aj,ah,al,ay,ao,am,at,aA;var ak=aq.runtimeStyle.width;var ap=aq.runtimeStyle.height;aq.runtimeStyle.width="auto";aq.runtimeStyle.height="auto";var ai=aq.width;var aw=aq.height;aq.runtimeStyle.width=ak;aq.runtimeStyle.height=ap;if(arguments.length==3){aj=arguments[1];ah=arguments[2];ao=am=0;at=al=ai;aA=ay=aw}else{if(arguments.length==5){aj=arguments[1];ah=arguments[2];al=arguments[3];ay=arguments[4];ao=am=0;at=ai;aA=aw}else{if(arguments.length==9){ao=arguments[1];am=arguments[2];at=arguments[3];aA=arguments[4];aj=arguments[5];ah=arguments[6];al=arguments[7];ay=arguments[8]}else{throw Error("Invalid number of arguments")}}}var az=V(this,aj,ah);var p=at/2;var j=aA/2;var ax=[];var i=10;var ag=10;ax.push(" <g_vml_:group",' coordsize="',d*i,",",d*ag,'"',' coordorigin="0,0"',' style="width:',i,"px;height:",ag,"px;position:absolute;");if(this.m_[0][0]!=1||this.m_[0][1]||this.m_[1][1]!=1||this.m_[1][0]){var Z=[];Z.push("M11=",this.m_[0][0],",","M12=",this.m_[1][0],",","M21=",this.m_[0][1],",","M22=",this.m_[1][1],",","Dx=",n(az.x/d),",","Dy=",n(az.y/d),"");var av=az;var au=V(this,aj+al,ah);var ar=V(this,aj,ah+ay);var an=V(this,aj+al,ah+ay);av.x=ab.max(av.x,au.x,ar.x,an.x);av.y=ab.max(av.y,au.y,ar.y,an.y);ax.push("padding:0 ",n(av.x/d),"px ",n(av.y/d),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",Z.join(""),", sizingmethod='clip');")}else{ax.push("top:",n(az.y/d),"px;left:",n(az.x/d),"px;")}ax.push(' ">','<g_vml_:image src="',aq.src,'"',' style="width:',d*al,"px;"," height:",d*ay,'px"',' cropleft="',ao/ai,'"',' croptop="',am/aw,'"',' cropright="',(ai-ao-at)/ai,'"',' cropbottom="',(aw-am-aA)/aw,'"'," />","</g_vml_:group>");this.element_.insertAdjacentHTML("BeforeEnd",ax.join(""))};q.stroke=function(al){var aj=[];var Z=false;var m=10;var am=10;aj.push("<g_vml_:shape",' filled="',!!al,'"',' style="position:absolute;width:',m,"px;height:",am,'px;"',' coordorigin="0,0"',' coordsize="',d*m,",",d*am,'"',' stroked="',!al,'"',' path="');var an=false;var ag={x:null,y:null};var ak={x:null,y:null};for(var ah=0;ah<this.currentPath_.length;ah++){var j=this.currentPath_[ah];var ai;switch(j.type){case"moveTo":ai=j;aj.push(" m ",n(j.x),",",n(j.y));break;case"lineTo":aj.push(" l ",n(j.x),",",n(j.y));break;case"close":aj.push(" x ");j=null;break;case"bezierCurveTo":aj.push(" c ",n(j.cp1x),",",n(j.cp1y),",",n(j.cp2x),",",n(j.cp2y),",",n(j.x),",",n(j.y));break;case"at":case"wa":aj.push(" ",j.type," ",n(j.x-this.arcScaleX_*j.radius),",",n(j.y-this.arcScaleY_*j.radius)," ",n(j.x+this.arcScaleX_*j.radius),",",n(j.y+this.arcScaleY_*j.radius)," ",n(j.xStart),",",n(j.yStart)," ",n(j.xEnd),",",n(j.yEnd));break}if(j){if(ag.x==null||j.x<ag.x){ag.x=j.x}if(ak.x==null||j.x>ak.x){ak.x=j.x}if(ag.y==null||j.y<ag.y){ag.y=j.y}if(ak.y==null||j.y>ak.y){ak.y=j.y}}}aj.push(' ">');if(!al){w(this,aj)}else{G(this,aj,ag,ak)}aj.push("</g_vml_:shape>");this.element_.insertAdjacentHTML("beforeEnd",aj.join(""))};function w(m,ag){var j=F(m.strokeStyle);var p=j.color;var Z=j.alpha*m.globalAlpha;var i=m.lineScale_*m.lineWidth;if(i<1){Z*=i}ag.push("<g_vml_:stroke",' opacity="',Z,'"',' joinstyle="',m.lineJoin,'"',' miterlimit="',m.miterLimit,'"',' endcap="',S(m.lineCap),'"',' weight="',i,'px"',' color="',p,'" />')}function G(aq,ai,aK,ar){var aj=aq.fillStyle;var aB=aq.arcScaleX_;var aA=aq.arcScaleY_;var j=ar.x-aK.x;var p=ar.y-aK.y;if(aj instanceof U){var an=0;var aF={x:0,y:0};var ax=0;var am=1;if(aj.type_=="gradient"){var al=aj.x0_/aB;var m=aj.y0_/aA;var ak=aj.x1_/aB;var aM=aj.y1_/aA;var aJ=V(aq,al,m);var aI=V(aq,ak,aM);var ag=aI.x-aJ.x;var Z=aI.y-aJ.y;an=Math.atan2(ag,Z)*180/Math.PI;if(an<0){an+=360}if(an<0.000001){an=0}}else{var aJ=V(aq,aj.x0_,aj.y0_);aF={x:(aJ.x-aK.x)/j,y:(aJ.y-aK.y)/p};j/=aB*d;p/=aA*d;var aD=ab.max(j,p);ax=2*aj.r0_/aD;am=2*aj.r1_/aD-ax}var av=aj.colors_;av.sort(function(aN,i){return aN.offset-i.offset});var ap=av.length;var au=av[0].color;var at=av[ap-1].color;var az=av[0].alpha*aq.globalAlpha;var ay=av[ap-1].alpha*aq.globalAlpha;var aE=[];for(var aH=0;aH<ap;aH++){var ao=av[aH];aE.push(ao.offset*am+ax+" "+ao.color)}ai.push('<g_vml_:fill type="',aj.type_,'"',' method="none" focus="100%"',' color="',au,'"',' color2="',at,'"',' colors="',aE.join(","),'"',' opacity="',ay,'"',' g_o_:opacity2="',az,'"',' angle="',an,'"',' focusposition="',aF.x,",",aF.y,'" />')}else{if(aj instanceof T){if(j&&p){var ah=-aK.x;var aC=-aK.y;ai.push("<g_vml_:fill",' position="',ah/j*aB*aB,",",aC/p*aA*aA,'"',' type="tile"',' src="',aj.src_,'" />')}}else{var aL=F(aq.fillStyle);var aw=aL.color;var aG=aL.alpha*aq.globalAlpha;ai.push('<g_vml_:fill color="',aw,'" opacity="',aG,'" />')}}}q.fill=function(){this.stroke(true)};q.closePath=function(){this.currentPath_.push({type:"close"})};function V(j,Z,p){var i=j.m_;return{x:d*(Z*i[0][0]+p*i[1][0]+i[2][0])-f,y:d*(Z*i[0][1]+p*i[1][1]+i[2][1])-f}}q.save=function(){var i={};v(this,i);this.aStack_.push(i);this.mStack_.push(this.m_);this.m_=J(B(),this.m_)};q.restore=function(){if(this.aStack_.length){v(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function h(i){return isFinite(i[0][0])&&isFinite(i[0][1])&&isFinite(i[1][0])&&isFinite(i[1][1])&&isFinite(i[2][0])&&isFinite(i[2][1])}function aa(j,i,p){if(!h(i)){return}j.m_=i;if(p){var Z=i[0][0]*i[1][1]-i[0][1]*i[1][0];j.lineScale_=N(H(Z))}}q.translate=function(m,j){var i=[[1,0,0],[0,1,0],[m,j,1]];aa(this,J(i,this.m_),false)};q.rotate=function(j){var p=A(j);var m=l(j);var i=[[p,m,0],[-m,p,0],[0,0,1]];aa(this,J(i,this.m_),false)};q.scale=function(m,j){this.arcScaleX_*=m;this.arcScaleY_*=j;var i=[[m,0,0],[0,j,0],[0,0,1]];aa(this,J(i,this.m_),true)};q.transform=function(Z,p,ah,ag,j,i){var m=[[Z,p,0],[ah,ag,0],[j,i,1]];aa(this,J(m,this.m_),true)};q.setTransform=function(ag,Z,ai,ah,p,j){var i=[[ag,Z,0],[ai,ah,0],[p,j,1]];aa(this,i,true)};q.drawText_=function(am,ak,aj,ap,ai){var ao=this.m_,at=1000,j=0,ar=at,ah={x:0,y:0},ag=[];var i=u(E(this.font),this.element_);var p=ac(i);var au=this.element_.currentStyle;var Z=this.textAlign.toLowerCase();switch(Z){case"left":case"center":case"right":break;case"end":Z=au.direction=="ltr"?"right":"left";break;case"start":Z=au.direction=="rtl"?"right":"left";break;default:Z="left"}switch(this.textBaseline){case"hanging":case"top":ah.y=i.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":ah.y=-i.size/2.25;break}switch(Z){case"right":j=at;ar=0.05;break;case"center":j=ar=at/2;break}var aq=V(this,ak+ah.x,aj+ah.y);ag.push('<g_vml_:line from="',-j,' 0" to="',ar,' 0.05" ',' coordsize="100 100" coordorigin="0 0"',' filled="',!ai,'" stroked="',!!ai,'" style="position:absolute;width:1px;height:1px;">');if(ai){w(this,ag)}else{G(this,ag,{x:-j,y:0},{x:ar,y:i.size})}var an=ao[0][0].toFixed(3)+","+ao[1][0].toFixed(3)+","+ao[0][1].toFixed(3)+","+ao[1][1].toFixed(3)+",0,0";var al=n(aq.x/d+1-ao[0][0])+","+n(aq.y/d-2*ao[1][0]);ag.push('<g_vml_:skew on="t" matrix="',an,'" ',' offset="',al,'" origin="',j,' 0" />','<g_vml_:path textpathok="true" />','<g_vml_:textpath on="true" string="',af(am),'" style="v-text-align:',Z,";font:",af(p),'" /></g_vml_:line>');this.element_.insertAdjacentHTML("beforeEnd",ag.join(""))};q.fillText=function(m,i,p,j){this.drawText_(m,i,p,j,false)};q.strokeText=function(m,i,p,j){this.drawText_(m,i,p,j,true)};q.measureText=function(m){if(!this.textMeasureEl_){var i='<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';this.element_.insertAdjacentHTML("beforeEnd",i);this.textMeasureEl_=this.element_.lastChild}var j=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(j.createTextNode(m));return{width:this.textMeasureEl_.offsetWidth}};q.clip=function(){};q.arcTo=function(){};q.createPattern=function(j,i){return new T(j,i)};function U(i){this.type_=i;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}U.prototype.addColorStop=function(j,i){i=F(i);this.colors_.push({offset:j,color:i.color,alpha:i.alpha})};function T(j,i){Q(j);switch(i){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=i;break;default:O("SYNTAX_ERR")}this.src_=j.src;this.width_=j.width;this.height_=j.height}function O(i){throw new P(i)}function Q(i){if(!i||i.nodeType!=1||i.tagName!="IMG"){O("TYPE_MISMATCH_ERR")}if(i.readyState!="complete"){O("INVALID_STATE_ERR")}}function P(i){this.code=this[i];this.message=i+": DOM Exception "+this.code}var X=P.prototype=new Error;X.INDEX_SIZE_ERR=1;X.DOMSTRING_SIZE_ERR=2;X.HIERARCHY_REQUEST_ERR=3;X.WRONG_DOCUMENT_ERR=4;X.INVALID_CHARACTER_ERR=5;X.NO_DATA_ALLOWED_ERR=6;X.NO_MODIFICATION_ALLOWED_ERR=7;X.NOT_FOUND_ERR=8;X.NOT_SUPPORTED_ERR=9;X.INUSE_ATTRIBUTE_ERR=10;X.INVALID_STATE_ERR=11;X.SYNTAX_ERR=12;X.INVALID_MODIFICATION_ERR=13;X.NAMESPACE_ERR=14;X.INVALID_ACCESS_ERR=15;X.VALIDATION_ERR=16;X.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=e;CanvasRenderingContext2D=D;CanvasGradient=U;CanvasPattern=T;DOMException=P;G_vmlCanvasManager._version=888})()}; \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/gpl-2.0.txt b/build/documentation/api/js/jqplot/gpl-2.0.txt
deleted file mode 100644
index 864c6b8b..00000000
--- a/build/documentation/api/js/jqplot/gpl-2.0.txt
+++ /dev/null
@@ -1,280 +0,0 @@
-Title: GPL Version 2
-
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES. \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/jquery.jqplot.min.css b/build/documentation/api/js/jqplot/jquery.jqplot.min.css
deleted file mode 100644
index 0f84835b..00000000
--- a/build/documentation/api/js/jqplot/jquery.jqplot.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.jqplot-target{position:relative;color:#666;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:1em}.jqplot-axis{font-size:.75em}.jqplot-xaxis{margin-top:10px}.jqplot-x2axis{margin-bottom:10px}.jqplot-yaxis{margin-right:10px}.jqplot-y2axis,.jqplot-y3axis,.jqplot-y4axis,.jqplot-y5axis,.jqplot-y6axis,.jqplot-y7axis,.jqplot-y8axis,.jqplot-y9axis,.jqplot-yMidAxis{margin-left:10px;margin-right:10px}.jqplot-axis-tick,.jqplot-xaxis-tick,.jqplot-yaxis-tick,.jqplot-x2axis-tick,.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick,.jqplot-yMidAxis-tick{position:absolute;white-space:pre}.jqplot-xaxis-tick{top:0;left:15px;vertical-align:top}.jqplot-x2axis-tick{bottom:0;left:15px;vertical-align:bottom}.jqplot-yaxis-tick{right:0;top:15px;text-align:right}.jqplot-yaxis-tick.jqplot-breakTick{right:-20px;margin-right:0;padding:1px 5px 1px 5px;z-index:2;font-size:1.5em}.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick{left:0;top:15px;text-align:left}.jqplot-yMidAxis-tick{text-align:center;white-space:nowrap}.jqplot-xaxis-label{margin-top:10px;font-size:11pt;position:absolute}.jqplot-x2axis-label{margin-bottom:10px;font-size:11pt;position:absolute}.jqplot-yaxis-label{margin-right:10px;font-size:11pt;position:absolute}.jqplot-yMidAxis-label{font-size:11pt;position:absolute}.jqplot-y2axis-label,.jqplot-y3axis-label,.jqplot-y4axis-label,.jqplot-y5axis-label,.jqplot-y6axis-label,.jqplot-y7axis-label,.jqplot-y8axis-label,.jqplot-y9axis-label{font-size:11pt;margin-left:10px;position:absolute}.jqplot-meterGauge-tick{font-size:.75em;color:#999}.jqplot-meterGauge-label{font-size:1em;color:#999}table.jqplot-table-legend{margin-top:12px;margin-bottom:12px;margin-left:12px;margin-right:12px}table.jqplot-table-legend,table.jqplot-cursor-legend{background-color:rgba(255,255,255,0.6);border:1px solid #ccc;position:absolute;font-size:.75em}td.jqplot-table-legend{vertical-align:middle}td.jqplot-seriesToggle:hover,td.jqplot-seriesToggle:active{cursor:pointer}.jqplot-table-legend .jqplot-series-hidden{text-decoration:line-through}div.jqplot-table-legend-swatch-outline{border:1px solid #ccc;padding:1px}div.jqplot-table-legend-swatch{width:0;height:0;border-top-width:5px;border-bottom-width:5px;border-left-width:6px;border-right-width:6px;border-top-style:solid;border-bottom-style:solid;border-left-style:solid;border-right-style:solid}.jqplot-title{top:0;left:0;padding-bottom:.5em;font-size:1.2em}table.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em}.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-highlighter-tooltip,.jqplot-canvasOverlay-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-point-label{font-size:.75em;z-index:2}td.jqplot-cursor-legend-swatch{vertical-align:middle;text-align:center}div.jqplot-cursor-legend-swatch{width:1.2em;height:.7em}.jqplot-error{text-align:center}.jqplot-error-message{position:relative;top:46%;display:inline-block}div.jqplot-bubble-label{font-size:.8em;padding-left:2px;padding-right:2px;color:rgb(20%,20%,20%)}div.jqplot-bubble-label.jqplot-bubble-label-highlight{background:rgba(90%,90%,90%,0.7)}div.jqplot-noData-container{text-align:center;background-color:rgba(96%,96%,96%,0.3)} \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/jquery.jqplot.min.js b/build/documentation/api/js/jqplot/jquery.jqplot.min.js
deleted file mode 100644
index f25712c3..00000000
--- a/build/documentation/api/js/jqplot/jquery.jqplot.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(L){var u;L.fn.emptyForce=function(){for(var ah=0,ai;(ai=L(this)[ah])!=null;ah++){if(ai.nodeType===1){L.cleanData(ai.getElementsByTagName("*"))}if(L.jqplot.use_excanvas){ai.outerHTML=""}else{while(ai.firstChild){ai.removeChild(ai.firstChild)}}ai=null}return L(this)};L.fn.removeChildForce=function(ah){while(ah.firstChild){this.removeChildForce(ah.firstChild);ah.removeChild(ah.firstChild)}};L.fn.jqplot=function(){var ah=[];var aj=[];for(var ak=0,ai=arguments.length;ak<ai;ak++){if(L.isArray(arguments[ak])){ah.push(arguments[ak])}else{if(L.isPlainObject(arguments[ak])){aj.push(arguments[ak])}}}return this.each(function(an){var at,ar,aq=L(this),am=ah.length,al=aj.length,ap,ao;if(an<am){ap=ah[an]}else{ap=am?ah[am-1]:null}if(an<al){ao=aj[an]}else{ao=al?aj[al-1]:null}at=aq.attr("id");if(at===u){at="jqplot_target_"+L.jqplot.targetCounter++;aq.attr("id",at)}ar=L.jqplot(at,ap,ao);aq.data("jqplot",ar)})};L.jqplot=function(an,ak,ai){var aj=null,ah=null;if(arguments.length===3){aj=ak;ah=ai}else{if(arguments.length===2){if(L.isArray(ak)){aj=ak}else{if(L.isPlainObject(ak)){ah=ak}}}}if(aj===null&&ah!==null&&ah.data){aj=ah.data}var am=new R();L("#"+an).removeClass("jqplot-error");if(L.jqplot.config.catchErrors){try{am.init(an,aj,ah);am.draw();am.themeEngine.init.call(am);return am}catch(al){var ao=L.jqplot.config.errorMessage||al.message;L("#"+an).append('<div class="jqplot-error-message">'+ao+"</div>");L("#"+an).addClass("jqplot-error");document.getElementById(an).style.background=L.jqplot.config.errorBackground;document.getElementById(an).style.border=L.jqplot.config.errorBorder;document.getElementById(an).style.fontFamily=L.jqplot.config.errorFontFamily;document.getElementById(an).style.fontSize=L.jqplot.config.errorFontSize;document.getElementById(an).style.fontStyle=L.jqplot.config.errorFontStyle;document.getElementById(an).style.fontWeight=L.jqplot.config.errorFontWeight}}else{am.init(an,aj,ah);am.draw();am.themeEngine.init.call(am);return am}};L.jqplot.version="1.0.8";L.jqplot.revision="1250";L.jqplot.targetCounter=1;L.jqplot.CanvasManager=function(){if(typeof L.jqplot.CanvasManager.canvases=="undefined"){L.jqplot.CanvasManager.canvases=[];L.jqplot.CanvasManager.free=[]}var ah=[];this.getCanvas=function(){var ak;var aj=true;if(!L.jqplot.use_excanvas){for(var al=0,ai=L.jqplot.CanvasManager.canvases.length;al<ai;al++){if(L.jqplot.CanvasManager.free[al]===true){aj=false;ak=L.jqplot.CanvasManager.canvases[al];L.jqplot.CanvasManager.free[al]=false;ah.push(al);break}}}if(aj){ak=document.createElement("canvas");ah.push(L.jqplot.CanvasManager.canvases.length);L.jqplot.CanvasManager.canvases.push(ak);L.jqplot.CanvasManager.free.push(false)}return ak};this.initCanvas=function(ai){if(L.jqplot.use_excanvas){return window.G_vmlCanvasManager.initElement(ai)}return ai};this.freeAllCanvases=function(){for(var aj=0,ai=ah.length;aj<ai;aj++){this.freeCanvas(ah[aj])}ah=[]};this.freeCanvas=function(ai){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){window.G_vmlCanvasManager.uninitElement(L.jqplot.CanvasManager.canvases[ai]);L.jqplot.CanvasManager.canvases[ai]=null}else{var aj=L.jqplot.CanvasManager.canvases[ai];aj.getContext("2d").clearRect(0,0,aj.width,aj.height);L(aj).unbind().removeAttr("class").removeAttr("style");L(aj).css({left:"",top:"",position:""});aj.width=0;aj.height=0;L.jqplot.CanvasManager.free[ai]=true}}};L.jqplot.log=function(){if(window.console){window.console.log.apply(window.console,arguments)}};L.jqplot.config={addDomReference:false,enablePlugins:false,defaultHeight:300,defaultWidth:400,UTCAdjust:false,timezoneOffset:new Date(new Date().getTimezoneOffset()*60000),errorMessage:"",errorBackground:"",errorBorder:"",errorFontFamily:"",errorFontSize:"",errorFontStyle:"",errorFontWeight:"",catchErrors:false,defaultTickFormatString:"%.1f",defaultColors:["#4bb2c5","#EAA228","#c5b47f","#579575","#839557","#958c12","#953579","#4b5de4","#d8b83f","#ff5800","#0085cc","#c747a3","#cddf54","#FBD178","#26B4E3","#bd70c7"],defaultNegativeColors:["#498991","#C08840","#9F9274","#546D61","#646C4A","#6F6621","#6E3F5F","#4F64B0","#A89050","#C45923","#187399","#945381","#959E5C","#C7AF7B","#478396","#907294"],dashLength:4,gapLength:4,dotGapLength:2.5,srcLocation:"jqplot/src/",pluginLocation:"jqplot/src/plugins/"};L.jqplot.arrayMax=function(ah){return Math.max.apply(Math,ah)};L.jqplot.arrayMin=function(ah){return Math.min.apply(Math,ah)};L.jqplot.enablePlugins=L.jqplot.config.enablePlugins;L.jqplot.support_canvas=function(){if(typeof L.jqplot.support_canvas.result=="undefined"){L.jqplot.support_canvas.result=!!document.createElement("canvas").getContext}return L.jqplot.support_canvas.result};L.jqplot.support_canvas_text=function(){if(typeof L.jqplot.support_canvas_text.result=="undefined"){if(window.G_vmlCanvasManager!==u&&window.G_vmlCanvasManager._version>887){L.jqplot.support_canvas_text.result=true}else{L.jqplot.support_canvas_text.result=!!(document.createElement("canvas").getContext&&typeof document.createElement("canvas").getContext("2d").fillText=="function")}}return L.jqplot.support_canvas_text.result};L.jqplot.use_excanvas=((!L.support.boxModel||!L.support.objectAll||!$support.leadingWhitespace)&&!L.jqplot.support_canvas())?true:false;L.jqplot.preInitHooks=[];L.jqplot.postInitHooks=[];L.jqplot.preParseOptionsHooks=[];L.jqplot.postParseOptionsHooks=[];L.jqplot.preDrawHooks=[];L.jqplot.postDrawHooks=[];L.jqplot.preDrawSeriesHooks=[];L.jqplot.postDrawSeriesHooks=[];L.jqplot.preDrawLegendHooks=[];L.jqplot.addLegendRowHooks=[];L.jqplot.preSeriesInitHooks=[];L.jqplot.postSeriesInitHooks=[];L.jqplot.preParseSeriesOptionsHooks=[];L.jqplot.postParseSeriesOptionsHooks=[];L.jqplot.eventListenerHooks=[];L.jqplot.preDrawSeriesShadowHooks=[];L.jqplot.postDrawSeriesShadowHooks=[];L.jqplot.ElemContainer=function(){this._elem;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null}};L.jqplot.ElemContainer.prototype.createElement=function(ak,am,ai,aj,an){this._offsets=am;var ah=ai||"jqplot";var al=document.createElement(ak);this._elem=L(al);this._elem.addClass(ah);this._elem.css(aj);this._elem.attr(an);al=null;return this._elem};L.jqplot.ElemContainer.prototype.getWidth=function(){if(this._elem){return this._elem.outerWidth(true)}else{return null}};L.jqplot.ElemContainer.prototype.getHeight=function(){if(this._elem){return this._elem.outerHeight(true)}else{return null}};L.jqplot.ElemContainer.prototype.getPosition=function(){if(this._elem){return this._elem.position()}else{return{top:null,left:null,bottom:null,right:null}}};L.jqplot.ElemContainer.prototype.getTop=function(){return this.getPosition().top};L.jqplot.ElemContainer.prototype.getLeft=function(){return this.getPosition().left};L.jqplot.ElemContainer.prototype.getBottom=function(){return this._elem.css("bottom")};L.jqplot.ElemContainer.prototype.getRight=function(){return this._elem.css("right")};function w(ah){L.jqplot.ElemContainer.call(this);this.name=ah;this._series=[];this.show=false;this.tickRenderer=L.jqplot.AxisTickRenderer;this.tickOptions={};this.labelRenderer=L.jqplot.AxisLabelRenderer;this.labelOptions={};this.label=null;this.showLabel=true;this.min=null;this.max=null;this.autoscale=false;this.pad=1.2;this.padMax=null;this.padMin=null;this.ticks=[];this.numberTicks;this.tickInterval;this.renderer=L.jqplot.LinearAxisRenderer;this.rendererOptions={};this.showTicks=true;this.showTickMarks=true;this.showMinorTicks=true;this.drawMajorGridlines=true;this.drawMinorGridlines=false;this.drawMajorTickMarks=true;this.drawMinorTickMarks=true;this.useSeriesColor=false;this.borderWidth=null;this.borderColor=null;this.scaleToHiddenSeries=false;this._dataBounds={min:null,max:null};this._intervalStats=[];this._offsets={min:null,max:null};this._ticks=[];this._label=null;this.syncTicks=null;this.tickSpacing=75;this._min=null;this._max=null;this._tickInterval=null;this._numberTicks=null;this.__ticks=null;this._options={}}w.prototype=new L.jqplot.ElemContainer();w.prototype.constructor=w;w.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.tickOptions.axis=this.name;if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTicks}if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTickMarks}if(this.tickOptions.showLabel==null){this.tickOptions.showLabel=this.showTicks}if(this.label==null||this.label==""){this.showLabel=false}else{this.labelOptions.label=this.label}if(this.showLabel==false){this.labelOptions.show=false}if(this.pad==0){this.pad=1}if(this.padMax==0){this.padMax=1}if(this.padMin==0){this.padMin=1}if(this.padMax==null){this.padMax=(this.pad-1)/2+1}if(this.padMin==null){this.padMin=(this.pad-1)/2+1}this.pad=this.padMax+this.padMin-1;if(this.min!=null||this.max!=null){this.autoscale=false}if(this.syncTicks==null&&this.name.indexOf("y")>-1){this.syncTicks=true}else{if(this.syncTicks==null){this.syncTicks=false}}this.renderer.init.call(this,this.rendererOptions)};w.prototype.draw=function(ah,ai){if(this.__ticks){this.__ticks=null}return this.renderer.draw.call(this,ah,ai)};w.prototype.set=function(){this.renderer.set.call(this)};w.prototype.pack=function(ai,ah){if(this.show){this.renderer.pack.call(this,ai,ah)}if(this._min==null){this._min=this.min;this._max=this.max;this._tickInterval=this.tickInterval;this._numberTicks=this.numberTicks;this.__ticks=this._ticks}};w.prototype.reset=function(){this.renderer.reset.call(this)};w.prototype.resetScale=function(ah){L.extend(true,this,{min:null,max:null,numberTicks:null,tickInterval:null,_ticks:[],ticks:[]},ah);this.resetDataBounds()};w.prototype.resetDataBounds=function(){var ao=this._dataBounds;ao.min=null;ao.max=null;var ai,ap,am;var aj=(this.show)?true:false;for(var al=0;al<this._series.length;al++){ap=this._series[al];if(ap.show||this.scaleToHiddenSeries){am=ap._plotData;if(ap._type==="line"&&ap.renderer.bands.show&&this.name.charAt(0)!=="x"){am=[[0,ap.renderer.bands._min],[1,ap.renderer.bands._max]]}var ah=1,an=1;if(ap._type!=null&&ap._type=="ohlc"){ah=3;an=2}for(var ak=0,ai=am.length;ak<ai;ak++){if(this.name=="xaxis"||this.name=="x2axis"){if((am[ak][0]!=null&&am[ak][0]<ao.min)||ao.min==null){ao.min=am[ak][0]}if((am[ak][0]!=null&&am[ak][0]>ao.max)||ao.max==null){ao.max=am[ak][0]}}else{if((am[ak][ah]!=null&&am[ak][ah]<ao.min)||ao.min==null){ao.min=am[ak][ah]}if((am[ak][an]!=null&&am[ak][an]>ao.max)||ao.max==null){ao.max=am[ak][an]}}}if(aj&&ap.renderer.constructor!==L.jqplot.BarRenderer){aj=false}else{if(aj&&this._options.hasOwnProperty("forceTickAt0")&&this._options.forceTickAt0==false){aj=false}else{if(aj&&ap.renderer.constructor===L.jqplot.BarRenderer){if(ap.barDirection=="vertical"&&this.name!="xaxis"&&this.name!="x2axis"){if(this._options.pad!=null||this._options.padMin!=null){aj=false}}else{if(ap.barDirection=="horizontal"&&(this.name=="xaxis"||this.name=="x2axis")){if(this._options.pad!=null||this._options.padMin!=null){aj=false}}}}}}}}if(aj&&this.renderer.constructor===L.jqplot.LinearAxisRenderer&&ao.min>=0){this.padMin=1;this.forceTickAt0=true}};function q(ah){L.jqplot.ElemContainer.call(this);this.show=false;this.location="ne";this.labels=[];this.showLabels=true;this.showSwatches=true;this.placement="insideGrid";this.xoffset=0;this.yoffset=0;this.border;this.background;this.textColor;this.fontFamily;this.fontSize;this.rowSpacing="0.5em";this.renderer=L.jqplot.TableLegendRenderer;this.rendererOptions={};this.preDraw=false;this.marginTop=null;this.marginRight=null;this.marginBottom=null;this.marginLeft=null;this.escapeHtml=false;this._series=[];L.extend(true,this,ah)}q.prototype=new L.jqplot.ElemContainer();q.prototype.constructor=q;q.prototype.setOptions=function(ah){L.extend(true,this,ah);if(this.placement=="inside"){this.placement="insideGrid"}if(this.xoffset>0){if(this.placement=="insideGrid"){switch(this.location){case"nw":case"w":case"sw":if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break;case"ne":case"e":case"se":default:if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break}}else{if(this.placement=="outside"){switch(this.location){case"nw":case"w":case"sw":if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break;case"ne":case"e":case"se":default:if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break}}}this.xoffset=0}if(this.yoffset>0){if(this.placement=="outside"){switch(this.location){case"sw":case"s":case"se":if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break;case"ne":case"n":case"nw":default:if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break}}else{if(this.placement=="insideGrid"){switch(this.location){case"sw":case"s":case"se":if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break;case"ne":case"n":case"nw":default:if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break}}}this.yoffset=0}};q.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions)};q.prototype.draw=function(ai,aj){for(var ah=0;ah<L.jqplot.preDrawLegendHooks.length;ah++){L.jqplot.preDrawLegendHooks[ah].call(this,ai)}return this.renderer.draw.call(this,ai,aj)};q.prototype.pack=function(ah){this.renderer.pack.call(this,ah)};function y(ah){L.jqplot.ElemContainer.call(this);this.text=ah;this.show=true;this.fontFamily;this.fontSize;this.textAlign;this.textColor;this.renderer=L.jqplot.DivTitleRenderer;this.rendererOptions={};this.escapeHtml=false}y.prototype=new L.jqplot.ElemContainer();y.prototype.constructor=y;y.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions)};y.prototype.draw=function(ah){return this.renderer.draw.call(this,ah)};y.prototype.pack=function(){this.renderer.pack.call(this)};function S(ah){ah=ah||{};L.jqplot.ElemContainer.call(this);this.show=true;this.xaxis="xaxis";this._xaxis;this.yaxis="yaxis";this._yaxis;this.gridBorderWidth=2;this.renderer=L.jqplot.LineRenderer;this.rendererOptions={};this.data=[];this.gridData=[];this.label="";this.showLabel=true;this.color;this.negativeColor;this.lineWidth=2.5;this.lineJoin="round";this.lineCap="round";this.linePattern="solid";this.shadow=true;this.shadowAngle=45;this.shadowOffset=1.25;this.shadowDepth=3;this.shadowAlpha="0.1";this.breakOnNull=false;this.markerRenderer=L.jqplot.MarkerRenderer;this.markerOptions={};this.showLine=true;this.showMarker=true;this.index;this.fill=false;this.fillColor;this.fillAlpha;this.fillAndStroke=false;this.disableStack=false;this._stack=false;this.neighborThreshold=4;this.fillToZero=false;this.fillToValue=0;this.fillAxis="y";this.useNegativeColors=true;this._stackData=[];this._plotData=[];this._plotValues={x:[],y:[]};this._intervals={x:{},y:{}};this._prevPlotData=[];this._prevGridData=[];this._stackAxis="y";this._primaryAxis="_xaxis";this.canvas=new L.jqplot.GenericCanvas();this.shadowCanvas=new L.jqplot.GenericCanvas();this.plugins={};this._sumy=0;this._sumx=0;this._type=""}S.prototype=new L.jqplot.ElemContainer();S.prototype.constructor=S;S.prototype.init=function(ak,ao,am){this.index=ak;this.gridBorderWidth=ao;var an=this.data;var aj=[],al,ah;for(al=0,ah=an.length;al<ah;al++){if(!this.breakOnNull){if(an[al]==null||an[al][0]==null||an[al][1]==null){continue}else{aj.push(an[al])}}else{aj.push(an[al])}}this.data=aj;if(!this.color){this.color=am.colorGenerator.get(this.index)}if(!this.negativeColor){this.negativeColor=am.negativeColorGenerator.get(this.index)}if(!this.fillColor){this.fillColor=this.color}if(this.fillAlpha){var ai=L.jqplot.normalize2rgb(this.fillColor);var ai=L.jqplot.getColorComponents(ai);this.fillColor="rgba("+ai[0]+","+ai[1]+","+ai[2]+","+this.fillAlpha+")"}if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions,am);this.markerRenderer=new this.markerRenderer();if(!this.markerOptions.color){this.markerOptions.color=this.color}if(this.markerOptions.show==null){this.markerOptions.show=this.showMarker}this.showMarker=this.markerOptions.show;this.markerRenderer.init(this.markerOptions)};S.prototype.draw=function(an,ak,am){var ai=(ak==u)?{}:ak;an=(an==u)?this.canvas._ctx:an;var ah,al,aj;for(ah=0;ah<L.jqplot.preDrawSeriesHooks.length;ah++){L.jqplot.preDrawSeriesHooks[ah].call(this,an,ai)}if(this.show){this.renderer.setGridData.call(this,am);if(!ai.preventJqPlotSeriesDrawTrigger){L(an.canvas).trigger("jqplotSeriesDraw",[this.data,this.gridData])}al=[];if(ai.data){al=ai.data}else{if(!this._stack){al=this.data}else{al=this._plotData}}aj=ai.gridData||this.renderer.makeGridData.call(this,al,am);if(this._type==="line"&&this.renderer.smooth&&this.renderer._smoothedData.length){aj=this.renderer._smoothedData}this.renderer.draw.call(this,an,aj,ai,am)}for(ah=0;ah<L.jqplot.postDrawSeriesHooks.length;ah++){L.jqplot.postDrawSeriesHooks[ah].call(this,an,ai,am)}an=ak=am=ah=al=aj=null};S.prototype.drawShadow=function(an,ak,am){var ai=(ak==u)?{}:ak;an=(an==u)?this.shadowCanvas._ctx:an;var ah,al,aj;for(ah=0;ah<L.jqplot.preDrawSeriesShadowHooks.length;ah++){L.jqplot.preDrawSeriesShadowHooks[ah].call(this,an,ai)}if(this.shadow){this.renderer.setGridData.call(this,am);al=[];if(ai.data){al=ai.data}else{if(!this._stack){al=this.data}else{al=this._plotData}}aj=ai.gridData||this.renderer.makeGridData.call(this,al,am);this.renderer.drawShadow.call(this,an,aj,ai,am)}for(ah=0;ah<L.jqplot.postDrawSeriesShadowHooks.length;ah++){L.jqplot.postDrawSeriesShadowHooks[ah].call(this,an,ai)}an=ak=am=ah=al=aj=null};S.prototype.toggleDisplay=function(ai,ak){var ah,aj;if(ai.data.series){ah=ai.data.series}else{ah=this}if(ai.data.speed){aj=ai.data.speed}if(aj){if(ah.canvas._elem.is(":hidden")||!ah.show){ah.show=true;ah.canvas._elem.removeClass("jqplot-series-hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.fadeIn(aj)}ah.canvas._elem.fadeIn(aj,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).fadeIn(aj)}else{ah.show=false;ah.canvas._elem.addClass("jqplot-series-hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.fadeOut(aj)}ah.canvas._elem.fadeOut(aj,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).fadeOut(aj)}}else{if(ah.canvas._elem.is(":hidden")||!ah.show){ah.show=true;ah.canvas._elem.removeClass("jqplot-series-hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.show()}ah.canvas._elem.show(0,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).show()}else{ah.show=false;ah.canvas._elem.addClass("jqplot-series-hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.hide()}ah.canvas._elem.hide(0,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).hide()}}};function M(){L.jqplot.ElemContainer.call(this);this.drawGridlines=true;this.gridLineColor="#cccccc";this.gridLineWidth=1;this.background="#fffdf6";this.borderColor="#999999";this.borderWidth=2;this.drawBorder=true;this.shadow=true;this.shadowAngle=45;this.shadowOffset=1.5;this.shadowWidth=3;this.shadowDepth=3;this.shadowColor=null;this.shadowAlpha="0.07";this._left;this._top;this._right;this._bottom;this._width;this._height;this._axes=[];this.renderer=L.jqplot.CanvasGridRenderer;this.rendererOptions={};this._offsets={top:null,bottom:null,left:null,right:null}}M.prototype=new L.jqplot.ElemContainer();M.prototype.constructor=M;M.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions)};M.prototype.createElement=function(ah,ai){this._offsets=ah;return this.renderer.createElement.call(this,ai)};M.prototype.draw=function(){this.renderer.draw.call(this)};L.jqplot.GenericCanvas=function(){L.jqplot.ElemContainer.call(this);this._ctx};L.jqplot.GenericCanvas.prototype=new L.jqplot.ElemContainer();L.jqplot.GenericCanvas.prototype.constructor=L.jqplot.GenericCanvas;L.jqplot.GenericCanvas.prototype.createElement=function(al,aj,ai,am){this._offsets=al;var ah="jqplot";if(aj!=u){ah=aj}var ak;ak=am.canvasManager.getCanvas();if(ai!=null){this._plotDimensions=ai}ak.width=this._plotDimensions.width-this._offsets.left-this._offsets.right;ak.height=this._plotDimensions.height-this._offsets.top-this._offsets.bottom;this._elem=L(ak);this._elem.css({position:"absolute",left:this._offsets.left,top:this._offsets.top});this._elem.addClass(ah);ak=am.canvasManager.initCanvas(ak);ak=null;return this._elem};L.jqplot.GenericCanvas.prototype.setContext=function(){this._ctx=this._elem.get(0).getContext("2d");return this._ctx};L.jqplot.GenericCanvas.prototype.resetCanvas=function(){if(this._elem){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){window.G_vmlCanvasManager.uninitElement(this._elem.get(0))}this._elem.emptyForce()}this._ctx=null};L.jqplot.HooksManager=function(){this.hooks=[];this.args=[]};L.jqplot.HooksManager.prototype.addOnce=function(ak,ai){ai=ai||[];var al=false;for(var aj=0,ah=this.hooks.length;aj<ah;aj++){if(this.hooks[aj]==ak){al=true}}if(!al){this.hooks.push(ak);this.args.push(ai)}};L.jqplot.HooksManager.prototype.add=function(ai,ah){ah=ah||[];this.hooks.push(ai);this.args.push(ah)};L.jqplot.EventListenerManager=function(){this.hooks=[]};L.jqplot.EventListenerManager.prototype.addOnce=function(al,ak){var am=false,aj,ai;for(var ai=0,ah=this.hooks.length;ai<ah;ai++){aj=this.hooks[ai];if(aj[0]==al&&aj[1]==ak){am=true}}if(!am){this.hooks.push([al,ak])}};L.jqplot.EventListenerManager.prototype.add=function(ai,ah){this.hooks.push([ai,ah])};var U=["yMidAxis","xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis"];function R(){this.animate=false;this.animateReplot=false;this.axes={xaxis:new w("xaxis"),yaxis:new w("yaxis"),x2axis:new w("x2axis"),y2axis:new w("y2axis"),y3axis:new w("y3axis"),y4axis:new w("y4axis"),y5axis:new w("y5axis"),y6axis:new w("y6axis"),y7axis:new w("y7axis"),y8axis:new w("y8axis"),y9axis:new w("y9axis"),yMidAxis:new w("yMidAxis")};this.baseCanvas=new L.jqplot.GenericCanvas();this.captureRightClick=false;this.data=[];this.dataRenderer;this.dataRendererOptions;this.defaults={axesDefaults:{},axes:{xaxis:{},yaxis:{},x2axis:{},y2axis:{},y3axis:{},y4axis:{},y5axis:{},y6axis:{},y7axis:{},y8axis:{},y9axis:{},yMidAxis:{}},seriesDefaults:{},series:[]};this.defaultAxisStart=1;this.drawIfHidden=false;this.eventCanvas=new L.jqplot.GenericCanvas();this.fillBetween={series1:null,series2:null,color:null,baseSeries:0,fill:true};this.fontFamily;this.fontSize;this.grid=new M();this.legend=new q();this.noDataIndicator={show:false,indicator:"Loading Data...",axes:{xaxis:{min:0,max:10,tickInterval:2,show:true},yaxis:{min:0,max:12,tickInterval:3,show:true}}};this.negativeSeriesColors=L.jqplot.config.defaultNegativeColors;this.options={};this.previousSeriesStack=[];this.plugins={};this.series=[];this.seriesStack=[];this.seriesColors=L.jqplot.config.defaultColors;this.sortData=true;this.stackSeries=false;this.syncXTicks=true;this.syncYTicks=true;this.target=null;this.targetId=null;this.textColor;this.title=new y();this._drawCount=0;this._sumy=0;this._sumx=0;this._stackData=[];this._plotData=[];this._width=null;this._height=null;this._plotDimensions={height:null,width:null};this._gridPadding={top:null,right:null,bottom:null,left:null};this._defaultGridPadding={top:10,right:10,bottom:23,left:10};this._addDomReference=L.jqplot.config.addDomReference;this.preInitHooks=new L.jqplot.HooksManager();this.postInitHooks=new L.jqplot.HooksManager();this.preParseOptionsHooks=new L.jqplot.HooksManager();this.postParseOptionsHooks=new L.jqplot.HooksManager();this.preDrawHooks=new L.jqplot.HooksManager();this.postDrawHooks=new L.jqplot.HooksManager();this.preDrawSeriesHooks=new L.jqplot.HooksManager();this.postDrawSeriesHooks=new L.jqplot.HooksManager();this.preDrawLegendHooks=new L.jqplot.HooksManager();this.addLegendRowHooks=new L.jqplot.HooksManager();this.preSeriesInitHooks=new L.jqplot.HooksManager();this.postSeriesInitHooks=new L.jqplot.HooksManager();this.preParseSeriesOptionsHooks=new L.jqplot.HooksManager();this.postParseSeriesOptionsHooks=new L.jqplot.HooksManager();this.eventListenerHooks=new L.jqplot.EventListenerManager();this.preDrawSeriesShadowHooks=new L.jqplot.HooksManager();this.postDrawSeriesShadowHooks=new L.jqplot.HooksManager();this.colorGenerator=new L.jqplot.ColorGenerator();this.negativeColorGenerator=new L.jqplot.ColorGenerator();this.canvasManager=new L.jqplot.CanvasManager();this.themeEngine=new L.jqplot.ThemeEngine();var aj=0;this.init=function(av,ar,ay){ay=ay||{};for(var at=0;at<L.jqplot.preInitHooks.length;at++){L.jqplot.preInitHooks[at].call(this,av,ar,ay)}for(var at=0;at<this.preInitHooks.hooks.length;at++){this.preInitHooks.hooks[at].call(this,av,ar,ay)}this.targetId="#"+av;this.target=L("#"+av);if(this._addDomReference){this.target.data("jqplot",this)}this.target.removeClass("jqplot-error");if(!this.target.get(0)){throw new Error("No plot target specified")}if(this.target.css("position")=="static"){this.target.css("position","relative")}if(!this.target.hasClass("jqplot-target")){this.target.addClass("jqplot-target")}if(!this.target.height()){var au;if(ay&&ay.height){au=parseInt(ay.height,10)}else{if(this.target.attr("data-height")){au=parseInt(this.target.attr("data-height"),10)}else{au=parseInt(L.jqplot.config.defaultHeight,10)}}this._height=au;this.target.css("height",au+"px")}else{this._height=au=this.target.height()}if(!this.target.width()){var aw;if(ay&&ay.width){aw=parseInt(ay.width,10)}else{if(this.target.attr("data-width")){aw=parseInt(this.target.attr("data-width"),10)}else{aw=parseInt(L.jqplot.config.defaultWidth,10)}}this._width=aw;this.target.css("width",aw+"px")}else{this._width=aw=this.target.width()}for(var at=0,ap=U.length;at<ap;at++){this.axes[U[at]]=new w(U[at])}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Canvas dimension not set")}if(ay.dataRenderer&&L.isFunction(ay.dataRenderer)){if(ay.dataRendererOptions){this.dataRendererOptions=ay.dataRendererOptions}this.dataRenderer=ay.dataRenderer;ar=this.dataRenderer(ar,this,this.dataRendererOptions)}if(ay.noDataIndicator&&L.isPlainObject(ay.noDataIndicator)){L.extend(true,this.noDataIndicator,ay.noDataIndicator)}if(ar==null||L.isArray(ar)==false||ar.length==0||L.isArray(ar[0])==false||ar[0].length==0){if(this.noDataIndicator.show==false){throw new Error("No data specified")}else{for(var al in this.noDataIndicator.axes){for(var an in this.noDataIndicator.axes[al]){this.axes[al][an]=this.noDataIndicator.axes[al][an]}}this.postDrawHooks.add(function(){var aD=this.eventCanvas.getHeight();var aA=this.eventCanvas.getWidth();var az=L('<div class="jqplot-noData-container" style="position:absolute;"></div>');this.target.append(az);az.height(aD);az.width(aA);az.css("top",this.eventCanvas._offsets.top);az.css("left",this.eventCanvas._offsets.left);var aC=L('<div class="jqplot-noData-contents" style="text-align:center; position:relative; margin-left:auto; margin-right:auto;"></div>');az.append(aC);aC.html(this.noDataIndicator.indicator);var aB=aC.height();var ax=aC.width();aC.height(aB);aC.width(ax);aC.css("top",(aD-aB)/2+"px")})}}this.data=L.extend(true,[],ar);this.parseOptions(ay);if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this.title.init();this.legend.init();this._sumy=0;this._sumx=0;this.computePlotData();for(var at=0;at<this.series.length;at++){this.seriesStack.push(at);this.previousSeriesStack.push(at);this.series[at].shadowCanvas._plotDimensions=this._plotDimensions;this.series[at].canvas._plotDimensions=this._plotDimensions;for(var aq=0;aq<L.jqplot.preSeriesInitHooks.length;aq++){L.jqplot.preSeriesInitHooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}for(var aq=0;aq<this.preSeriesInitHooks.hooks.length;aq++){this.preSeriesInitHooks.hooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}this.series[at]._plotDimensions=this._plotDimensions;this.series[at].init(at,this.grid.borderWidth,this);for(var aq=0;aq<L.jqplot.postSeriesInitHooks.length;aq++){L.jqplot.postSeriesInitHooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}for(var aq=0;aq<this.postSeriesInitHooks.hooks.length;aq++){this.postSeriesInitHooks.hooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}this._sumy+=this.series[at]._sumy;this._sumx+=this.series[at]._sumx}var am,ao;for(var at=0,ap=U.length;at<ap;at++){am=U[at];ao=this.axes[am];ao._plotDimensions=this._plotDimensions;ao.init();if(this.axes[am].borderColor==null){if(am.charAt(0)!=="x"&&ao.useSeriesColor===true&&ao.show){ao.borderColor=ao._series[0].color}else{ao.borderColor=this.grid.borderColor}}}if(this.sortData){ah(this.series)}this.grid.init();this.grid._axes=this.axes;this.legend._series=this.series;for(var at=0;at<L.jqplot.postInitHooks.length;at++){L.jqplot.postInitHooks[at].call(this,av,this.data,ay)}for(var at=0;at<this.postInitHooks.hooks.length;at++){this.postInitHooks.hooks[at].call(this,av,this.data,ay)}};this.resetAxesScale=function(aq,am){var ao=am||{};var ap=aq||this.axes;if(ap===true){ap=this.axes}if(L.isArray(ap)){for(var an=0;an<ap.length;an++){this.axes[ap[an]].resetScale(ao[ap[an]])}}else{if(typeof(ap)==="object"){for(var al in ap){this.axes[al].resetScale(ao[al])}}}};this.reInitialize=function(au,al){var ay=L.extend(true,{},this.options,al);var aw=this.targetId.substr(1);var ar=(au==null)?this.data:au;for(var av=0;av<L.jqplot.preInitHooks.length;av++){L.jqplot.preInitHooks[av].call(this,aw,ar,ay)}for(var av=0;av<this.preInitHooks.hooks.length;av++){this.preInitHooks.hooks[av].call(this,aw,ar,ay)}this._height=this.target.height();this._width=this.target.width();if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Target dimension not set")}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;var am,ax,at,ao;for(var av=0,aq=U.length;av<aq;av++){am=U[av];ao=this.axes[am];ax=ao._ticks;for(var at=0,ap=ax.length;at<ap;at++){var an=ax[at]._elem;if(an){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){window.G_vmlCanvasManager.uninitElement(an.get(0))}an.emptyForce();an=null;ax._elem=null}}ax=null;delete ao.ticks;delete ao._ticks;this.axes[am]=new w(am);this.axes[am]._plotWidth=this._width;this.axes[am]._plotHeight=this._height}if(au){if(ay.dataRenderer&&L.isFunction(ay.dataRenderer)){if(ay.dataRendererOptions){this.dataRendererOptions=ay.dataRendererOptions}this.dataRenderer=ay.dataRenderer;au=this.dataRenderer(au,this,this.dataRendererOptions)}this.data=L.extend(true,[],au)}if(al){this.parseOptions(ay)}this.title._plotWidth=this._width;if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this.title.init();this.legend.init();this._sumy=0;this._sumx=0;this.seriesStack=[];this.previousSeriesStack=[];this.computePlotData();for(var av=0,aq=this.series.length;av<aq;av++){this.seriesStack.push(av);this.previousSeriesStack.push(av);this.series[av].shadowCanvas._plotDimensions=this._plotDimensions;this.series[av].canvas._plotDimensions=this._plotDimensions;for(var at=0;at<L.jqplot.preSeriesInitHooks.length;at++){L.jqplot.preSeriesInitHooks[at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}for(var at=0;at<this.preSeriesInitHooks.hooks.length;at++){this.preSeriesInitHooks.hooks[at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}this.series[av]._plotDimensions=this._plotDimensions;this.series[av].init(av,this.grid.borderWidth,this);for(var at=0;at<L.jqplot.postSeriesInitHooks.length;at++){L.jqplot.postSeriesInitHooks[at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}for(var at=0;at<this.postSeriesInitHooks.hooks.length;at++){this.postSeriesInitHooks.hooks[at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}this._sumy+=this.series[av]._sumy;this._sumx+=this.series[av]._sumx}for(var av=0,aq=U.length;av<aq;av++){am=U[av];ao=this.axes[am];ao._plotDimensions=this._plotDimensions;ao.init();if(ao.borderColor==null){if(am.charAt(0)!=="x"&&ao.useSeriesColor===true&&ao.show){ao.borderColor=ao._series[0].color}else{ao.borderColor=this.grid.borderColor}}}if(this.sortData){ah(this.series)}this.grid.init();this.grid._axes=this.axes;this.legend._series=this.series;for(var av=0,aq=L.jqplot.postInitHooks.length;av<aq;av++){L.jqplot.postInitHooks[av].call(this,aw,this.data,ay)}for(var av=0,aq=this.postInitHooks.hooks.length;av<aq;av++){this.postInitHooks.hooks[av].call(this,aw,this.data,ay)}};this.quickInit=function(){this._height=this.target.height();this._width=this.target.width();if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Target dimension not set")}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;for(var aq in this.axes){this.axes[aq]._plotWidth=this._width;this.axes[aq]._plotHeight=this._height}this.title._plotWidth=this._width;if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this._sumy=0;this._sumx=0;this.computePlotData();for(var ao=0;ao<this.series.length;ao++){if(this.series[ao]._type==="line"&&this.series[ao].renderer.bands.show){this.series[ao].renderer.initBands.call(this.series[ao],this.series[ao].renderer.options,this)}this.series[ao]._plotDimensions=this._plotDimensions;this.series[ao].canvas._plotDimensions=this._plotDimensions;this._sumy+=this.series[ao]._sumy;this._sumx+=this.series[ao]._sumx}var am;for(var al=0;al<12;al++){am=U[al];var an=this.axes[am]._ticks;for(var ao=0;ao<an.length;ao++){var ap=an[ao]._elem;if(ap){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){window.G_vmlCanvasManager.uninitElement(ap.get(0))}ap.emptyForce();ap=null;an._elem=null}}an=null;this.axes[am]._plotDimensions=this._plotDimensions;this.axes[am]._ticks=[]}if(this.sortData){ah(this.series)}this.grid._axes=this.axes;this.legend._series=this.series};function ah(ap){var au,av,aw,al,at;for(var aq=0;aq<ap.length;aq++){var am;var ar=[ap[aq].data,ap[aq]._stackData,ap[aq]._plotData,ap[aq]._prevPlotData];for(var an=0;an<4;an++){am=true;au=ar[an];if(ap[aq]._stackAxis=="x"){for(var ao=0;ao<au.length;ao++){if(typeof(au[ao][1])!="number"){am=false;break}}if(am){au.sort(function(ay,ax){return ay[1]-ax[1]})}}else{for(var ao=0;ao<au.length;ao++){if(typeof(au[ao][0])!="number"){am=false;break}}if(am){au.sort(function(ay,ax){return ay[0]-ax[0]})}}}}}this.computePlotData=function(){this._plotData=[];this._stackData=[];var at,au,ao;for(au=0,ao=this.series.length;au<ao;au++){at=this.series[au];this._plotData.push([]);this._stackData.push([]);var am=at.data;this._plotData[au]=L.extend(true,[],am);this._stackData[au]=L.extend(true,[],am);at._plotData=this._plotData[au];at._stackData=this._stackData[au];var ax={x:[],y:[]};if(this.stackSeries&&!at.disableStack){at._stack=true;var av=(at._stackAxis==="x")?0:1;for(var ap=0,al=am.length;ap<al;ap++){var aw=am[ap][av];if(aw==null){aw=0}this._plotData[au][ap][av]=aw;this._stackData[au][ap][av]=aw;if(au>0){for(var aq=au;aq--;){var an=this._plotData[aq][ap][av];if(aw*an>=0){this._plotData[au][ap][av]+=an;this._stackData[au][ap][av]+=an;break}}}}}else{for(var ar=0;ar<at.data.length;ar++){ax.x.push(at.data[ar][0]);ax.y.push(at.data[ar][1])}this._stackData.push(at.data);this.series[au]._stackData=at.data;this._plotData.push(at.data);at._plotData=at.data;at._plotValues=ax}if(au>0){at._prevPlotData=this.series[au-1]._plotData}at._sumy=0;at._sumx=0;for(ar=at.data.length-1;ar>-1;ar--){at._sumy+=at.data[ar][1];at._sumx+=at.data[ar][0]}}};this.populatePlotData=function(au,av){this._plotData=[];this._stackData=[];au._stackData=[];au._plotData=[];var ay={x:[],y:[]};if(this.stackSeries&&!au.disableStack){au._stack=true;var ax=(au._stackAxis==="x")?0:1;var az=L.extend(true,[],au.data);var aA=L.extend(true,[],au.data);var an,am,ao,aw,al;for(var ar=0;ar<av;ar++){var ap=this.series[ar].data;for(var aq=0;aq<ap.length;aq++){ao=ap[aq];an=(ao[0]!=null)?ao[0]:0;am=(ao[1]!=null)?ao[1]:0;az[aq][0]+=an;az[aq][1]+=am;aw=(ax)?am:an;if(au.data[aq][ax]*aw>=0){aA[aq][ax]+=aw}}}for(var at=0;at<aA.length;at++){ay.x.push(aA[at][0]);ay.y.push(aA[at][1])}this._plotData.push(aA);this._stackData.push(az);au._stackData=az;au._plotData=aA;au._plotValues=ay}else{for(var at=0;at<au.data.length;at++){ay.x.push(au.data[at][0]);ay.y.push(au.data[at][1])}this._stackData.push(au.data);this.series[av]._stackData=au.data;this._plotData.push(au.data);au._plotData=au.data;au._plotValues=ay}if(av>0){au._prevPlotData=this.series[av-1]._plotData}au._sumy=0;au._sumx=0;for(at=au.data.length-1;at>-1;at--){au._sumy+=au.data[at][1];au._sumx+=au.data[at][0]}};this.getNextSeriesColor=(function(am){var al=0;var an=am.seriesColors;return function(){if(al<an.length){return an[al++]}else{al=0;return an[al++]}}})(this);this.parseOptions=function(ay){for(var at=0;at<this.preParseOptionsHooks.hooks.length;at++){this.preParseOptionsHooks.hooks[at].call(this,ay)}for(var at=0;at<L.jqplot.preParseOptionsHooks.length;at++){L.jqplot.preParseOptionsHooks[at].call(this,ay)}this.options=L.extend(true,{},this.defaults,ay);var am=this.options;this.animate=am.animate;this.animateReplot=am.animateReplot;this.stackSeries=am.stackSeries;if(L.isPlainObject(am.fillBetween)){var ax=["series1","series2","color","baseSeries","fill"],au;for(var at=0,aq=ax.length;at<aq;at++){au=ax[at];if(am.fillBetween[au]!=null){this.fillBetween[au]=am.fillBetween[au]}}}if(am.seriesColors){this.seriesColors=am.seriesColors}if(am.negativeSeriesColors){this.negativeSeriesColors=am.negativeSeriesColors}if(am.captureRightClick){this.captureRightClick=am.captureRightClick}this.defaultAxisStart=(ay&&ay.defaultAxisStart!=null)?ay.defaultAxisStart:this.defaultAxisStart;this.colorGenerator.setColors(this.seriesColors);this.negativeColorGenerator.setColors(this.negativeSeriesColors);L.extend(true,this._gridPadding,am.gridPadding);this.sortData=(am.sortData!=null)?am.sortData:this.sortData;for(var at=0;at<12;at++){var an=U[at];var ap=this.axes[an];ap._options=L.extend(true,{},am.axesDefaults,am.axes[an]);L.extend(true,ap,am.axesDefaults,am.axes[an]);ap._plotWidth=this._width;ap._plotHeight=this._height}var aw=function(aD,aB,aE){var aA=[];var aC,az;aB=aB||"vertical";if(!L.isArray(aD[0])){for(aC=0,az=aD.length;aC<az;aC++){if(aB=="vertical"){aA.push([aE+aC,aD[aC]])}else{aA.push([aD[aC],aE+aC])}}}else{L.extend(true,aA,aD)}return aA};var av=0;this.series=[];for(var at=0;at<this.data.length;at++){var al=L.extend(true,{index:at},{seriesColors:this.seriesColors,negativeSeriesColors:this.negativeSeriesColors},this.options.seriesDefaults,this.options.series[at],{rendererOptions:{animation:{show:this.animate}}});var ax=new S(al);for(var ar=0;ar<L.jqplot.preParseSeriesOptionsHooks.length;ar++){L.jqplot.preParseSeriesOptionsHooks[ar].call(ax,this.options.seriesDefaults,this.options.series[at])}for(var ar=0;ar<this.preParseSeriesOptionsHooks.hooks.length;ar++){this.preParseSeriesOptionsHooks.hooks[ar].call(ax,this.options.seriesDefaults,this.options.series[at])}L.extend(true,ax,al);var ao="vertical";if(ax.renderer===L.jqplot.BarRenderer&&ax.rendererOptions&&ax.rendererOptions.barDirection=="horizontal"){ao="horizontal";ax._stackAxis="x";ax._primaryAxis="_yaxis"}ax.data=aw(this.data[at],ao,this.defaultAxisStart);switch(ax.xaxis){case"xaxis":ax._xaxis=this.axes.xaxis;break;case"x2axis":ax._xaxis=this.axes.x2axis;break;default:break}ax._yaxis=this.axes[ax.yaxis];ax._xaxis._series.push(ax);ax._yaxis._series.push(ax);if(ax.show){ax._xaxis.show=true;ax._yaxis.show=true}else{if(ax._xaxis.scaleToHiddenSeries){ax._xaxis.show=true}if(ax._yaxis.scaleToHiddenSeries){ax._yaxis.show=true}}if(!ax.label){ax.label="Series "+(at+1).toString()}this.series.push(ax);for(var ar=0;ar<L.jqplot.postParseSeriesOptionsHooks.length;ar++){L.jqplot.postParseSeriesOptionsHooks[ar].call(this.series[at],this.options.seriesDefaults,this.options.series[at])}for(var ar=0;ar<this.postParseSeriesOptionsHooks.hooks.length;ar++){this.postParseSeriesOptionsHooks.hooks[ar].call(this.series[at],this.options.seriesDefaults,this.options.series[at])}}L.extend(true,this.grid,this.options.grid);for(var at=0,aq=U.length;at<aq;at++){var an=U[at];var ap=this.axes[an];if(ap.borderWidth==null){ap.borderWidth=this.grid.borderWidth}}if(typeof this.options.title=="string"){this.title.text=this.options.title}else{if(typeof this.options.title=="object"){L.extend(true,this.title,this.options.title)}}this.title._plotWidth=this._width;this.legend.setOptions(this.options.legend);for(var at=0;at<L.jqplot.postParseOptionsHooks.length;at++){L.jqplot.postParseOptionsHooks[at].call(this,ay)}for(var at=0;at<this.postParseOptionsHooks.hooks.length;at++){this.postParseOptionsHooks.hooks[at].call(this,ay)}};this.destroy=function(){this.canvasManager.freeAllCanvases();if(this.eventCanvas&&this.eventCanvas._elem){this.eventCanvas._elem.unbind()}this.target.empty();this.target[0].innerHTML=""};this.replot=function(am){var an=am||{};var ap=an.data||null;var al=(an.clear===false)?false:true;var ao=an.resetAxes||false;delete an.data;delete an.clear;delete an.resetAxes;this.target.trigger("jqplotPreReplot");if(al){this.destroy()}if(ap||!L.isEmptyObject(an)){this.reInitialize(ap,an)}else{this.quickInit()}if(ao){this.resetAxesScale(ao,an.axes)}this.draw();this.target.trigger("jqplotPostReplot")};this.redraw=function(al){al=(al!=null)?al:true;this.target.trigger("jqplotPreRedraw");if(al){this.canvasManager.freeAllCanvases();this.eventCanvas._elem.unbind();this.target.empty()}for(var an in this.axes){this.axes[an]._ticks=[]}this.computePlotData();this._sumy=0;this._sumx=0;for(var am=0,ao=this.series.length;am<ao;am++){this._sumy+=this.series[am]._sumy;this._sumx+=this.series[am]._sumx}this.draw();this.target.trigger("jqplotPostRedraw")};this.draw=function(){if(this.drawIfHidden||this.target.is(":visible")){this.target.trigger("jqplotPreDraw");var aH,aF,aE,ao;for(aH=0,aE=L.jqplot.preDrawHooks.length;aH<aE;aH++){L.jqplot.preDrawHooks[aH].call(this)}for(aH=0,aE=this.preDrawHooks.hooks.length;aH<aE;aH++){this.preDrawHooks.hooks[aH].apply(this,this.preDrawSeriesHooks.args[aH])}this.target.append(this.baseCanvas.createElement({left:0,right:0,top:0,bottom:0},"jqplot-base-canvas",null,this));this.baseCanvas.setContext();this.target.append(this.title.draw());this.title.pack({top:0,left:0});var aL=this.legend.draw({},this);var al={top:0,left:0,bottom:0,right:0};if(this.legend.placement=="outsideGrid"){this.target.append(aL);switch(this.legend.location){case"n":al.top+=this.legend.getHeight();break;case"s":al.bottom+=this.legend.getHeight();break;case"ne":case"e":case"se":al.right+=this.legend.getWidth();break;case"nw":case"w":case"sw":al.left+=this.legend.getWidth();break;default:al.right+=this.legend.getWidth();break}aL=aL.detach()}var ar=this.axes;var aM;for(aH=0;aH<12;aH++){aM=U[aH];this.target.append(ar[aM].draw(this.baseCanvas._ctx,this));ar[aM].set()}if(ar.yaxis.show){al.left+=ar.yaxis.getWidth()}var aG=["y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis"];var az=[0,0,0,0,0,0,0,0];var aC=0;var aB;for(aB=0;aB<8;aB++){if(ar[aG[aB]].show){aC+=ar[aG[aB]].getWidth();az[aB]=aC}}al.right+=aC;if(ar.x2axis.show){al.top+=ar.x2axis.getHeight()}if(this.title.show){al.top+=this.title.getHeight()}if(ar.xaxis.show){al.bottom+=ar.xaxis.getHeight()}if(this.options.gridDimensions&&L.isPlainObject(this.options.gridDimensions)){var at=parseInt(this.options.gridDimensions.width,10)||0;var aI=parseInt(this.options.gridDimensions.height,10)||0;var an=(this._width-al.left-al.right-at)/2;var aK=(this._height-al.top-al.bottom-aI)/2;if(aK>=0&&an>=0){al.top+=aK;al.bottom+=aK;al.left+=an;al.right+=an}}var am=["top","bottom","left","right"];for(var aB in am){if(this._gridPadding[am[aB]]==null&&al[am[aB]]>0){this._gridPadding[am[aB]]=al[am[aB]]}else{if(this._gridPadding[am[aB]]==null){this._gridPadding[am[aB]]=this._defaultGridPadding[am[aB]]}}}var aA=this._gridPadding;if(this.legend.placement==="outsideGrid"){aA={top:this.title.getHeight(),left:0,right:0,bottom:0};if(this.legend.location==="s"){aA.left=this._gridPadding.left;aA.right=this._gridPadding.right}}ar.xaxis.pack({position:"absolute",bottom:this._gridPadding.bottom-ar.xaxis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});ar.yaxis.pack({position:"absolute",top:0,left:this._gridPadding.left-ar.yaxis.getWidth(),height:this._height},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});ar.x2axis.pack({position:"absolute",top:this._gridPadding.top-ar.x2axis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});for(aH=8;aH>0;aH--){ar[aG[aH-1]].pack({position:"absolute",top:0,right:this._gridPadding.right-az[aH-1]},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top})}var au=(this._width-this._gridPadding.left-this._gridPadding.right)/2+this._gridPadding.left-ar.yMidAxis.getWidth()/2;ar.yMidAxis.pack({position:"absolute",top:0,left:au,zIndex:9,textAlign:"center"},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});this.target.append(this.grid.createElement(this._gridPadding,this));this.grid.draw();var aq=this.series;var aJ=aq.length;for(aH=0,aE=aJ;aH<aE;aH++){aF=this.seriesStack[aH];this.target.append(aq[aF].shadowCanvas.createElement(this._gridPadding,"jqplot-series-shadowCanvas",null,this));aq[aF].shadowCanvas.setContext();aq[aF].shadowCanvas._elem.data("seriesIndex",aF)}for(aH=0,aE=aJ;aH<aE;aH++){aF=this.seriesStack[aH];this.target.append(aq[aF].canvas.createElement(this._gridPadding,"jqplot-series-canvas",null,this));aq[aF].canvas.setContext();aq[aF].canvas._elem.data("seriesIndex",aF)}this.target.append(this.eventCanvas.createElement(this._gridPadding,"jqplot-event-canvas",null,this));this.eventCanvas.setContext();this.eventCanvas._ctx.fillStyle="rgba(0,0,0,0)";this.eventCanvas._ctx.fillRect(0,0,this.eventCanvas._ctx.canvas.width,this.eventCanvas._ctx.canvas.height);this.bindCustomEvents();if(this.legend.preDraw){this.eventCanvas._elem.before(aL);this.legend.pack(aA);if(this.legend._elem){this.drawSeries({legendInfo:{location:this.legend.location,placement:this.legend.placement,width:this.legend.getWidth(),height:this.legend.getHeight(),xoffset:this.legend.xoffset,yoffset:this.legend.yoffset}})}else{this.drawSeries()}}else{this.drawSeries();if(aJ){L(aq[aJ-1].canvas._elem).after(aL)}this.legend.pack(aA)}for(var aH=0,aE=L.jqplot.eventListenerHooks.length;aH<aE;aH++){this.eventCanvas._elem.bind(L.jqplot.eventListenerHooks[aH][0],{plot:this},L.jqplot.eventListenerHooks[aH][1])}for(var aH=0,aE=this.eventListenerHooks.hooks.length;aH<aE;aH++){this.eventCanvas._elem.bind(this.eventListenerHooks.hooks[aH][0],{plot:this},this.eventListenerHooks.hooks[aH][1])}var ay=this.fillBetween;if(ay.fill&&ay.series1!==ay.series2&&ay.series1<aJ&&ay.series2<aJ&&aq[ay.series1]._type==="line"&&aq[ay.series2]._type==="line"){this.doFillBetweenLines()}for(var aH=0,aE=L.jqplot.postDrawHooks.length;aH<aE;aH++){L.jqplot.postDrawHooks[aH].call(this)}for(var aH=0,aE=this.postDrawHooks.hooks.length;aH<aE;aH++){this.postDrawHooks.hooks[aH].apply(this,this.postDrawHooks.args[aH])}if(this.target.is(":visible")){this._drawCount+=1}var av,aw,aD,ap;for(aH=0,aE=aJ;aH<aE;aH++){av=aq[aH];aw=av.renderer;aD=".jqplot-point-label.jqplot-series-"+aH;if(aw.animation&&aw.animation._supported&&aw.animation.show&&(this._drawCount<2||this.animateReplot)){ap=this.target.find(aD);ap.stop(true,true).hide();av.canvas._elem.stop(true,true).hide();av.shadowCanvas._elem.stop(true,true).hide();av.canvas._elem.jqplotEffect("blind",{mode:"show",direction:aw.animation.direction},aw.animation.speed);av.shadowCanvas._elem.jqplotEffect("blind",{mode:"show",direction:aw.animation.direction},aw.animation.speed);ap.fadeIn(aw.animation.speed*0.8)}}ap=null;this.target.trigger("jqplotPostDraw",[this])}};R.prototype.doFillBetweenLines=function(){var an=this.fillBetween;var ax=an.series1;var av=an.series2;var aw=(ax<av)?ax:av;var au=(av>ax)?av:ax;var ar=this.series[aw];var aq=this.series[au];if(aq.renderer.smooth){var ap=aq.renderer._smoothedData.slice(0).reverse()}else{var ap=aq.gridData.slice(0).reverse()}if(ar.renderer.smooth){var at=ar.renderer._smoothedData.concat(ap)}else{var at=ar.gridData.concat(ap)}var ao=(an.color!==null)?an.color:this.series[ax].fillColor;var ay=(an.baseSeries!==null)?an.baseSeries:aw;var am=this.series[ay].renderer.shapeRenderer;var al={fillStyle:ao,fill:true,closePath:true};am.draw(ar.shadowCanvas._ctx,at,al)};this.bindCustomEvents=function(){this.eventCanvas._elem.bind("click",{plot:this},this.onClick);this.eventCanvas._elem.bind("dblclick",{plot:this},this.onDblClick);this.eventCanvas._elem.bind("mousedown",{plot:this},this.onMouseDown);this.eventCanvas._elem.bind("mousemove",{plot:this},this.onMouseMove);this.eventCanvas._elem.bind("mouseenter",{plot:this},this.onMouseEnter);this.eventCanvas._elem.bind("mouseleave",{plot:this},this.onMouseLeave);if(this.captureRightClick){this.eventCanvas._elem.bind("mouseup",{plot:this},this.onRightClick);this.eventCanvas._elem.get(0).oncontextmenu=function(){return false}}else{this.eventCanvas._elem.bind("mouseup",{plot:this},this.onMouseUp)}};function ai(av){var au=av.data.plot;var ap=au.eventCanvas._elem.offset();var at={x:av.pageX-ap.left,y:av.pageY-ap.top};var aq={xaxis:null,yaxis:null,x2axis:null,y2axis:null,y3axis:null,y4axis:null,y5axis:null,y6axis:null,y7axis:null,y8axis:null,y9axis:null,yMidAxis:null};var ar=["xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];var al=au.axes;var am,ao;for(am=11;am>0;am--){ao=ar[am-1];if(al[ao].show){aq[ao]=al[ao].series_p2u(at[ao.charAt(0)])}}return{offsets:ap,gridPos:at,dataPos:aq}}function ak(al,am){var aq=am.series;var aW,aU,aT,aO,aP,aJ,aI,aw,au,az,aA,aK;var aS,aX,aQ,ar,aH,aM,aV;var an,aN;for(aT=am.seriesStack.length-1;aT>=0;aT--){aW=am.seriesStack[aT];aO=aq[aW];aV=aO._highlightThreshold;switch(aO.renderer.constructor){case L.jqplot.BarRenderer:aJ=al.x;aI=al.y;for(aU=0;aU<aO._barPoints.length;aU++){aH=aO._barPoints[aU];aQ=aO.gridData[aU];if(aJ>aH[0][0]&&aJ<aH[2][0]&&aI>aH[2][1]&&aI<aH[0][1]){return{seriesIndex:aO.index,pointIndex:aU,gridData:aQ,data:aO.data[aU],points:aO._barPoints[aU]}}}break;case L.jqplot.PyramidRenderer:aJ=al.x;aI=al.y;for(aU=0;aU<aO._barPoints.length;aU++){aH=aO._barPoints[aU];aQ=aO.gridData[aU];if(aJ>aH[0][0]+aV[0][0]&&aJ<aH[2][0]+aV[2][0]&&aI>aH[2][1]&&aI<aH[0][1]){return{seriesIndex:aO.index,pointIndex:aU,gridData:aQ,data:aO.data[aU],points:aO._barPoints[aU]}}}break;case L.jqplot.DonutRenderer:az=aO.startAngle/180*Math.PI;aJ=al.x-aO._center[0];aI=al.y-aO._center[1];aP=Math.sqrt(Math.pow(aJ,2)+Math.pow(aI,2));if(aJ>0&&-aI>=0){aw=2*Math.PI-Math.atan(-aI/aJ)}else{if(aJ>0&&-aI<0){aw=-Math.atan(-aI/aJ)}else{if(aJ<0){aw=Math.PI-Math.atan(-aI/aJ)}else{if(aJ==0&&-aI>0){aw=3*Math.PI/2}else{if(aJ==0&&-aI<0){aw=Math.PI/2}else{if(aJ==0&&aI==0){aw=0}}}}}}if(az){aw-=az;if(aw<0){aw+=2*Math.PI}else{if(aw>2*Math.PI){aw-=2*Math.PI}}}au=aO.sliceMargin/180*Math.PI;if(aP<aO._radius&&aP>aO._innerRadius){for(aU=0;aU<aO.gridData.length;aU++){aA=(aU>0)?aO.gridData[aU-1][1]+au:au;aK=aO.gridData[aU][1];if(aw>aA&&aw<aK){return{seriesIndex:aO.index,pointIndex:aU,gridData:[al.x,al.y],data:aO.data[aU]}}}}break;case L.jqplot.PieRenderer:az=aO.startAngle/180*Math.PI;aJ=al.x-aO._center[0];aI=al.y-aO._center[1];aP=Math.sqrt(Math.pow(aJ,2)+Math.pow(aI,2));if(aJ>0&&-aI>=0){aw=2*Math.PI-Math.atan(-aI/aJ)}else{if(aJ>0&&-aI<0){aw=-Math.atan(-aI/aJ)}else{if(aJ<0){aw=Math.PI-Math.atan(-aI/aJ)}else{if(aJ==0&&-aI>0){aw=3*Math.PI/2}else{if(aJ==0&&-aI<0){aw=Math.PI/2}else{if(aJ==0&&aI==0){aw=0}}}}}}if(az){aw-=az;if(aw<0){aw+=2*Math.PI}else{if(aw>2*Math.PI){aw-=2*Math.PI}}}au=aO.sliceMargin/180*Math.PI;if(aP<aO._radius){for(aU=0;aU<aO.gridData.length;aU++){aA=(aU>0)?aO.gridData[aU-1][1]+au:au;aK=aO.gridData[aU][1];if(aw>aA&&aw<aK){return{seriesIndex:aO.index,pointIndex:aU,gridData:[al.x,al.y],data:aO.data[aU]}}}}break;case L.jqplot.BubbleRenderer:aJ=al.x;aI=al.y;var aF=null;if(aO.show){for(var aU=0;aU<aO.gridData.length;aU++){aQ=aO.gridData[aU];aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=aQ[2]&&(aX<=aS||aS==null)){aS=aX;aF={seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}if(aF!=null){return aF}}break;case L.jqplot.FunnelRenderer:aJ=al.x;aI=al.y;var aL=aO._vertices,ap=aL[0],ao=aL[aL.length-1],at,aE,ay;function aR(a0,a2,a1){var aZ=(a2[1]-a1[1])/(a2[0]-a1[0]);var aY=a2[1]-aZ*a2[0];var a3=a0+a2[1];return[(a3-aY)/aZ,a3]}at=aR(aI,ap[0],ao[3]);aE=aR(aI,ap[1],ao[2]);for(aU=0;aU<aL.length;aU++){ay=aL[aU];if(aI>=ay[0][1]&&aI<=ay[3][1]&&aJ>=at[0]&&aJ<=aE[0]){return{seriesIndex:aO.index,pointIndex:aU,gridData:null,data:aO.data[aU]}}}break;case L.jqplot.LineRenderer:aJ=al.x;aI=al.y;aP=aO.renderer;if(aO.show){if((aO.fill||(aO.renderer.bands.show&&aO.renderer.bands.fill))&&(!am.plugins.highlighter||!am.plugins.highlighter.show)){var ax=false;if(aJ>aO._boundingBox[0][0]&&aJ<aO._boundingBox[1][0]&&aI>aO._boundingBox[1][1]&&aI<aO._boundingBox[0][1]){var aD=aO._areaPoints.length;var aG;var aU=aD-1;for(var aG=0;aG<aD;aG++){var aC=[aO._areaPoints[aG][0],aO._areaPoints[aG][1]];var aB=[aO._areaPoints[aU][0],aO._areaPoints[aU][1]];if(aC[1]<aI&&aB[1]>=aI||aB[1]<aI&&aC[1]>=aI){if(aC[0]+(aI-aC[1])/(aB[1]-aC[1])*(aB[0]-aC[0])<aJ){ax=!ax}}aU=aG}}if(ax){return{seriesIndex:aW,pointIndex:null,gridData:aO.gridData,data:aO.data,points:aO._areaPoints}}break}else{aN=aO.markerRenderer.size/2+aO.neighborThreshold;an=(aN>0)?aN:0;for(var aU=0;aU<aO.gridData.length;aU++){aQ=aO.gridData[aU];if(aP.constructor==L.jqplot.OHLCRenderer){if(aP.candleStick){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._bodyWidth/2&&aJ<=aQ[0]+aP._bodyWidth/2&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{if(!aP.hlc){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][1])&&aI<=av(aO.data[aU][2])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}else{if(aQ[0]!=null&&aQ[1]!=null){aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=an&&(aX<=aS||aS==null)){aS=aX;return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}}}break;default:aJ=al.x;aI=al.y;aP=aO.renderer;if(aO.show){aN=aO.markerRenderer.size/2+aO.neighborThreshold;an=(aN>0)?aN:0;for(var aU=0;aU<aO.gridData.length;aU++){aQ=aO.gridData[aU];if(aP.constructor==L.jqplot.OHLCRenderer){if(aP.candleStick){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._bodyWidth/2&&aJ<=aQ[0]+aP._bodyWidth/2&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{if(!aP.hlc){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][1])&&aI<=av(aO.data[aU][2])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}else{aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=an&&(aX<=aS||aS==null)){aS=aX;return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}break}}return null}this.onClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onDblClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotDblClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseDown=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotMouseDown");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseUp=function(an){var am=ai(an);var al=L.Event("jqplotMouseUp");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,null,an.data.plot])};this.onRightClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);if(ap.captureRightClick){if(an.which==3){var al=L.Event("jqplotRightClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])}else{var al=L.Event("jqplotMouseUp");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])}}};this.onMouseMove=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotMouseMove");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseEnter=function(an){var am=ai(an);var ao=an.data.plot;var al=L.Event("jqplotMouseEnter");al.pageX=an.pageX;al.pageY=an.pageY;al.relatedTarget=an.relatedTarget;L(this).trigger(al,[am.gridPos,am.dataPos,null,ao])};this.onMouseLeave=function(an){var am=ai(an);var ao=an.data.plot;var al=L.Event("jqplotMouseLeave");al.pageX=an.pageX;al.pageY=an.pageY;al.relatedTarget=an.relatedTarget;L(this).trigger(al,[am.gridPos,am.dataPos,null,ao])};this.drawSeries=function(an,al){var ap,ao,am;al=(typeof(an)==="number"&&al==null)?an:al;an=(typeof(an)==="object")?an:{};if(al!=u){ao=this.series[al];am=ao.shadowCanvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.drawShadow(am,an,this);am=ao.canvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.draw(am,an,this);if(ao.renderer.constructor==L.jqplot.BezierCurveRenderer){if(al<this.series.length-1){this.drawSeries(al+1)}}}else{for(ap=0;ap<this.series.length;ap++){ao=this.series[ap];am=ao.shadowCanvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.drawShadow(am,an,this);am=ao.canvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.draw(am,an,this)}}an=al=ap=ao=am=null};this.moveSeriesToFront=function(am){am=parseInt(am,10);var ap=L.inArray(am,this.seriesStack);if(ap==-1){return}if(ap==this.seriesStack.length-1){this.previousSeriesStack=this.seriesStack.slice(0);return}var al=this.seriesStack[this.seriesStack.length-1];var ao=this.series[am].canvas._elem.detach();var an=this.series[am].shadowCanvas._elem.detach();this.series[al].shadowCanvas._elem.after(an);this.series[al].canvas._elem.after(ao);this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack.splice(ap,1);this.seriesStack.push(am)};this.moveSeriesToBack=function(am){am=parseInt(am,10);var ap=L.inArray(am,this.seriesStack);if(ap==0||ap==-1){return}var al=this.seriesStack[0];var ao=this.series[am].canvas._elem.detach();var an=this.series[am].shadowCanvas._elem.detach();this.series[al].shadowCanvas._elem.before(an);this.series[al].canvas._elem.before(ao);this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack.splice(ap,1);this.seriesStack.unshift(am)};this.restorePreviousSeriesOrder=function(){var ar,aq,ap,ao,an,al,am;if(this.seriesStack==this.previousSeriesStack){return}for(ar=1;ar<this.previousSeriesStack.length;ar++){al=this.previousSeriesStack[ar];am=this.previousSeriesStack[ar-1];ap=this.series[al].canvas._elem.detach();ao=this.series[al].shadowCanvas._elem.detach();this.series[am].shadowCanvas._elem.after(ao);this.series[am].canvas._elem.after(ap)}an=this.seriesStack.slice(0);this.seriesStack=this.previousSeriesStack.slice(0);this.previousSeriesStack=an};this.restoreOriginalSeriesOrder=function(){var ap,ao,al=[],an,am;for(ap=0;ap<this.series.length;ap++){al.push(ap)}if(this.seriesStack==al){return}this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack=al;for(ap=1;ap<this.seriesStack.length;ap++){an=this.series[ap].canvas._elem.detach();am=this.series[ap].shadowCanvas._elem.detach();this.series[ap-1].shadowCanvas._elem.after(am);this.series[ap-1].canvas._elem.after(an)}};this.activateTheme=function(al){this.themeEngine.activate(this,al)}}L.jqplot.computeHighlightColors=function(ai){var ak;if(L.isArray(ai)){ak=[];for(var am=0;am<ai.length;am++){var al=L.jqplot.getColorComponents(ai[am]);var ah=[al[0],al[1],al[2]];var an=ah[0]+ah[1]+ah[2];for(var aj=0;aj<3;aj++){ah[aj]=(an>660)?ah[aj]*0.85:0.73*ah[aj]+90;ah[aj]=parseInt(ah[aj],10);(ah[aj]>255)?255:ah[aj]}ah[3]=0.3+0.35*al[3];ak.push("rgba("+ah[0]+","+ah[1]+","+ah[2]+","+ah[3]+")")}}else{var al=L.jqplot.getColorComponents(ai);var ah=[al[0],al[1],al[2]];var an=ah[0]+ah[1]+ah[2];for(var aj=0;aj<3;aj++){ah[aj]=(an>660)?ah[aj]*0.85:0.73*ah[aj]+90;ah[aj]=parseInt(ah[aj],10);(ah[aj]>255)?255:ah[aj]}ah[3]=0.3+0.35*al[3];ak="rgba("+ah[0]+","+ah[1]+","+ah[2]+","+ah[3]+")"}return ak};L.jqplot.ColorGenerator=function(ai){ai=ai||L.jqplot.config.defaultColors;var ah=0;this.next=function(){if(ah<ai.length){return ai[ah++]}else{ah=0;return ai[ah++]}};this.previous=function(){if(ah>0){return ai[ah--]}else{ah=ai.length-1;return ai[ah]}};this.get=function(ak){var aj=ak-ai.length*Math.floor(ak/ai.length);return ai[aj]};this.setColors=function(aj){ai=aj};this.reset=function(){ah=0};this.getIndex=function(){return ah};this.setIndex=function(aj){ah=aj}};L.jqplot.hex2rgb=function(aj,ah){aj=aj.replace("#","");if(aj.length==3){aj=aj.charAt(0)+aj.charAt(0)+aj.charAt(1)+aj.charAt(1)+aj.charAt(2)+aj.charAt(2)}var ai;ai="rgba("+parseInt(aj.slice(0,2),16)+", "+parseInt(aj.slice(2,4),16)+", "+parseInt(aj.slice(4,6),16);if(ah){ai+=", "+ah}ai+=")";return ai};L.jqplot.rgb2hex=function(am){var aj=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *(?:, *[0-9.]*)?\)/;var ah=am.match(aj);var al="#";for(var ak=1;ak<4;ak++){var ai;if(ah[ak].search(/%/)!=-1){ai=parseInt(255*ah[ak]/100,10).toString(16);if(ai.length==1){ai="0"+ai}}else{ai=parseInt(ah[ak],10).toString(16);if(ai.length==1){ai="0"+ai}}al+=ai}return al};L.jqplot.normalize2rgb=function(ai,ah){if(ai.search(/^ *rgba?\(/)!=-1){return ai}else{if(ai.search(/^ *#?[0-9a-fA-F]?[0-9a-fA-F]/)!=-1){return L.jqplot.hex2rgb(ai,ah)}else{throw new Error("Invalid color spec")}}};L.jqplot.getColorComponents=function(am){am=L.jqplot.colorKeywordMap[am]||am;var ak=L.jqplot.normalize2rgb(am);var aj=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *,? *([0-9.]* *)?\)/;var ah=ak.match(aj);var ai=[];for(var al=1;al<4;al++){if(ah[al].search(/%/)!=-1){ai[al-1]=parseInt(255*ah[al]/100,10)}else{ai[al-1]=parseInt(ah[al],10)}}ai[3]=parseFloat(ah[4])?parseFloat(ah[4]):1;return ai};L.jqplot.colorKeywordMap={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",aqua:"rgb( 0, 255, 255)",aquamarine:"rgb(127, 255, 212)",azure:"rgb(240, 255, 255)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",black:"rgb( 0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb( 0, 0, 255)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",burlywood:"rgb(222, 184, 135)",cadetblue:"rgb( 95, 158, 160)",chartreuse:"rgb(127, 255, 0)",chocolate:"rgb(210, 105, 30)",coral:"rgb(255, 127, 80)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",crimson:"rgb(220, 20, 60)",cyan:"rgb( 0, 255, 255)",darkblue:"rgb( 0, 0, 139)",darkcyan:"rgb( 0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb( 0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb( 85, 107, 47)",darkorange:"rgb(255, 140, 0)",darkorchid:"rgb(153, 50, 204)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkslateblue:"rgb( 72, 61, 139)",darkslategray:"rgb( 47, 79, 79)",darkslategrey:"rgb( 47, 79, 79)",darkturquoise:"rgb( 0, 206, 209)",darkviolet:"rgb(148, 0, 211)",deeppink:"rgb(255, 20, 147)",deepskyblue:"rgb( 0, 191, 255)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb( 30, 144, 255)",firebrick:"rgb(178, 34, 34)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb( 34, 139, 34)",fuchsia:"rgb(255, 0, 255)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",goldenrod:"rgb(218, 165, 32)",gray:"rgb(128, 128, 128)",grey:"rgb(128, 128, 128)",green:"rgb( 0, 128, 0)",greenyellow:"rgb(173, 255, 47)",honeydew:"rgb(240, 255, 240)",hotpink:"rgb(255, 105, 180)",indianred:"rgb(205, 92, 92)",indigo:"rgb( 75, 0, 130)",ivory:"rgb(255, 255, 240)",khaki:"rgb(240, 230, 140)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lightblue:"rgb(173, 216, 230)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightsalmon:"rgb(255, 160, 122)",lightseagreen:"rgb( 32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightyellow:"rgb(255, 255, 224)",lime:"rgb( 0, 255, 0)",limegreen:"rgb( 50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",maroon:"rgb(128, 0, 0)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb( 0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumpurple:"rgb(147, 112, 219)",mediumseagreen:"rgb( 60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb( 0, 250, 154)",mediumturquoise:"rgb( 72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb( 25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navy:"rgb( 0, 0, 128)",oldlace:"rgb(253, 245, 230)",olive:"rgb(128, 128, 0)",olivedrab:"rgb(107, 142, 35)",orange:"rgb(255, 165, 0)",orangered:"rgb(255, 69, 0)",orchid:"rgb(218, 112, 214)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",paleturquoise:"rgb(175, 238, 238)",palevioletred:"rgb(219, 112, 147)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",plum:"rgb(221, 160, 221)",powderblue:"rgb(176, 224, 230)",purple:"rgb(128, 0, 128)",red:"rgb(255, 0, 0)",rosybrown:"rgb(188, 143, 143)",royalblue:"rgb( 65, 105, 225)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb( 46, 139, 87)",seashell:"rgb(255, 245, 238)",sienna:"rgb(160, 82, 45)",silver:"rgb(192, 192, 192)",skyblue:"rgb(135, 206, 235)",slateblue:"rgb(106, 90, 205)",slategray:"rgb(112, 128, 144)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",springgreen:"rgb( 0, 255, 127)",steelblue:"rgb( 70, 130, 180)",tan:"rgb(210, 180, 140)",teal:"rgb( 0, 128, 128)",thistle:"rgb(216, 191, 216)",tomato:"rgb(255, 99, 71)",turquoise:"rgb( 64, 224, 208)",violet:"rgb(238, 130, 238)",wheat:"rgb(245, 222, 179)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellowgreen:"rgb(154, 205, 50)"};L.jqplot.AxisLabelRenderer=function(ah){L.jqplot.ElemContainer.call(this);this.axis;this.show=true;this.label="";this.fontFamily=null;this.fontSize=null;this.textColor=null;this._elem;this.escapeHTML=false;L.extend(true,this,ah)};L.jqplot.AxisLabelRenderer.prototype=new L.jqplot.ElemContainer();L.jqplot.AxisLabelRenderer.prototype.constructor=L.jqplot.AxisLabelRenderer;L.jqplot.AxisLabelRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.AxisLabelRenderer.prototype.draw=function(ah,ai){if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=L('<div style="position:absolute;" class="jqplot-'+this.axis+'-label"></div>');if(Number(this.label)){this._elem.css("white-space","nowrap")}if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}return this._elem};L.jqplot.AxisLabelRenderer.prototype.pack=function(){};L.jqplot.AxisTickRenderer=function(ah){L.jqplot.ElemContainer.call(this);this.mark="outside";this.axis;this.showMark=true;this.showGridline=true;this.isMinorTick=false;this.size=4;this.markSize=6;this.show=true;this.showLabel=true;this.label=null;this.value=null;this._styles={};this.formatter=L.jqplot.DefaultTickFormatter;this.prefix="";this.suffix="";this.formatString="";this.fontFamily;this.fontSize;this.textColor;this.escapeHTML=false;this._elem;this._breakTick=false;L.extend(true,this,ah)};L.jqplot.AxisTickRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.AxisTickRenderer.prototype=new L.jqplot.ElemContainer();L.jqplot.AxisTickRenderer.prototype.constructor=L.jqplot.AxisTickRenderer;L.jqplot.AxisTickRenderer.prototype.setTick=function(ah,aj,ai){this.value=ah;this.axis=aj;if(ai){this.isMinorTick=true}return this};L.jqplot.AxisTickRenderer.prototype.draw=function(){if(this.label===null){this.label=this.prefix+this.formatter(this.formatString,this.value)+this.suffix}var ai={position:"absolute"};if(Number(this.label)){ai.whitSpace="nowrap"}if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=L(document.createElement("div"));this._elem.addClass("jqplot-"+this.axis+"-tick");if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}this._elem.css(ai);for(var ah in this._styles){this._elem.css(ah,this._styles[ah])}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}if(this._breakTick){this._elem.addClass("jqplot-breakTick")}return this._elem};L.jqplot.DefaultTickFormatter=function(ah,ai){if(typeof ai=="number"){if(!ah){ah=L.jqplot.config.defaultTickFormatString}return L.jqplot.sprintf(ah,ai)}else{return String(ai)}};L.jqplot.PercentTickFormatter=function(ah,ai){if(typeof ai=="number"){ai=100*ai;if(!ah){ah=L.jqplot.config.defaultTickFormatString}return L.jqplot.sprintf(ah,ai)}else{return String(ai)}};L.jqplot.AxisTickRenderer.prototype.pack=function(){};L.jqplot.CanvasGridRenderer=function(){this.shadowRenderer=new L.jqplot.ShadowRenderer()};L.jqplot.CanvasGridRenderer.prototype.init=function(ai){this._ctx;L.extend(true,this,ai);var ah={lineJoin:"miter",lineCap:"round",fill:false,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.shadowWidth,closePath:false,strokeStyle:this.shadowColor};this.renderer.shadowRenderer.init(ah)};L.jqplot.CanvasGridRenderer.prototype.createElement=function(ak){var aj;if(this._elem){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){aj=this._elem.get(0);window.G_vmlCanvasManager.uninitElement(aj);aj=null}this._elem.emptyForce();this._elem=null}aj=ak.canvasManager.getCanvas();var ah=this._plotDimensions.width;var ai=this._plotDimensions.height;aj.width=ah;aj.height=ai;this._elem=L(aj);this._elem.addClass("jqplot-grid-canvas");this._elem.css({position:"absolute",left:0,top:0});aj=ak.canvasManager.initCanvas(aj);this._top=this._offsets.top;this._bottom=ai-this._offsets.bottom;this._left=this._offsets.left;this._right=ah-this._offsets.right;this._width=this._right-this._left;this._height=this._bottom-this._top;aj=null;return this._elem};L.jqplot.CanvasGridRenderer.prototype.draw=function(){this._ctx=this._elem.get(0).getContext("2d");var at=this._ctx;var aw=this._axes;at.save();at.clearRect(0,0,this._plotDimensions.width,this._plotDimensions.height);at.fillStyle=this.backgroundColor||this.background;at.fillRect(this._left,this._top,this._width,this._height);at.save();at.lineJoin="miter";at.lineCap="butt";at.lineWidth=this.gridLineWidth;at.strokeStyle=this.gridLineColor;var aA,az,ap,aq;var am=["xaxis","yaxis","x2axis","y2axis"];for(var ay=4;ay>0;ay--){var aD=am[ay-1];var ah=aw[aD];var aB=ah._ticks;var ar=aB.length;if(ah.show){if(ah.drawBaseline){var aC={};if(ah.baselineWidth!==null){aC.lineWidth=ah.baselineWidth}if(ah.baselineColor!==null){aC.strokeStyle=ah.baselineColor}switch(aD){case"xaxis":ao(this._left,this._bottom,this._right,this._bottom,aC);break;case"yaxis":ao(this._left,this._bottom,this._left,this._top,aC);break;case"x2axis":ao(this._left,this._bottom,this._right,this._bottom,aC);break;case"y2axis":ao(this._right,this._bottom,this._right,this._top,aC);break}}for(var au=ar;au>0;au--){var an=aB[au-1];if(an.show){var ak=Math.round(ah.u2p(an.value))+0.5;switch(aD){case"xaxis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(ak,this._top,ak,this._bottom)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._bottom;az=this._bottom+ap;break;case"inside":aA=this._bottom-ap;az=this._bottom;break;case"cross":aA=this._bottom-ap;az=this._bottom+ap;break;default:aA=this._bottom;az=this._bottom+ap;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[ak,aA],[ak,az]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}ao(ak,aA,ak,az)}break;case"yaxis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(this._right,ak,this._left,ak)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._left-ap;az=this._left;break;case"inside":aA=this._left;az=this._left+ap;break;case"cross":aA=this._left-ap;az=this._left+ap;break;default:aA=this._left-ap;az=this._left;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[aA,ak],[az,ak]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}break;case"x2axis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(ak,this._bottom,ak,this._top)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._top-ap;az=this._top;break;case"inside":aA=this._top;az=this._top+ap;break;case"cross":aA=this._top-ap;az=this._top+ap;break;default:aA=this._top-ap;az=this._top;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[ak,aA],[ak,az]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}ao(ak,aA,ak,az)}break;case"y2axis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(this._left,ak,this._right,ak)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._right;az=this._right+ap;break;case"inside":aA=this._right-ap;az=this._right;break;case"cross":aA=this._right-ap;az=this._right+ap;break;default:aA=this._right;az=this._right+ap;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[aA,ak],[az,ak]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}break;default:break}}}an=null}ah=null;aB=null}am=["y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];for(var ay=7;ay>0;ay--){var ah=aw[am[ay-1]];var aB=ah._ticks;if(ah.show){var ai=aB[ah.numberTicks-1];var al=aB[0];var aj=ah.getLeft();var av=[[aj,ai.getTop()+ai.getHeight()/2],[aj,al.getTop()+al.getHeight()/2+1]];if(this.shadow){this.renderer.shadowRenderer.draw(at,av,{lineCap:"butt",fill:false,closePath:false})}ao(av[0][0],av[0][1],av[1][0],av[1][1],{lineCap:"butt",strokeStyle:ah.borderColor,lineWidth:ah.borderWidth});for(var au=aB.length;au>0;au--){var an=aB[au-1];ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;if(an.showMark&&an.mark){switch(aq){case"outside":aA=aj;az=aj+ap;break;case"inside":aA=aj-ap;az=aj;break;case"cross":aA=aj-ap;az=aj+ap;break;default:aA=aj;az=aj+ap;break}av=[[aA,ak],[az,ak]];if(this.shadow){this.renderer.shadowRenderer.draw(at,av,{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}an=null}al=null}ah=null;aB=null}at.restore();function ao(aH,aG,aE,ax,aF){at.save();aF=aF||{};if(aF.lineWidth==null||aF.lineWidth!=0){L.extend(true,at,aF);at.beginPath();at.moveTo(aH,aG);at.lineTo(aE,ax);at.stroke();at.restore()}}if(this.shadow){var av=[[this._left,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(at,av)}if(this.borderWidth!=0&&this.drawBorder){ao(this._left,this._top,this._right,this._top,{lineCap:"round",strokeStyle:aw.x2axis.borderColor,lineWidth:aw.x2axis.borderWidth});ao(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:aw.y2axis.borderColor,lineWidth:aw.y2axis.borderWidth});ao(this._right,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:aw.xaxis.borderColor,lineWidth:aw.xaxis.borderWidth});ao(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:aw.yaxis.borderColor,lineWidth:aw.yaxis.borderWidth})}at.restore();at=null;aw=null};L.jqplot.DivTitleRenderer=function(){};L.jqplot.DivTitleRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.DivTitleRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}var ak=this.renderer;var aj=document.createElement("div");this._elem=L(aj);this._elem.addClass("jqplot-title");if(!this.text){this.show=false;this._elem.height(0);this._elem.width(0)}else{if(this.text){var ah;if(this.color){ah=this.color}else{if(this.textColor){ah=this.textColor}}var ai={position:"absolute",top:"0px",left:"0px"};if(this._plotWidth){ai.width=this._plotWidth+"px"}if(this.fontSize){ai.fontSize=this.fontSize}if(typeof this.textAlign==="string"){ai.textAlign=this.textAlign}else{ai.textAlign="center"}if(ah){ai.color=ah}if(this.paddingBottom){ai.paddingBottom=this.paddingBottom}if(this.fontFamily){ai.fontFamily=this.fontFamily}this._elem.css(ai);if(this.escapeHtml){this._elem.text(this.text)}else{this._elem.html(this.text)}}}aj=null;return this._elem};L.jqplot.DivTitleRenderer.prototype.pack=function(){};var r=0.1;L.jqplot.LinePattern=function(aw,aq){var ap={dotted:[r,L.jqplot.config.dotGapLength],dashed:[L.jqplot.config.dashLength,L.jqplot.config.gapLength],solid:null};if(typeof aq==="string"){if(aq[0]==="."||aq[0]==="-"){var ax=aq;aq=[];for(var ao=0,al=ax.length;ao<al;ao++){if(ax[ao]==="."){aq.push(r)}else{if(ax[ao]==="-"){aq.push(L.jqplot.config.dashLength)}else{continue}}aq.push(L.jqplot.config.gapLength)}}else{aq=ap[aq]}}if(!(aq&&aq.length)){return aw}var ak=0;var ar=aq[0];var au=0;var at=0;var an=0;var ah=0;var av=function(ay,az){aw.moveTo(ay,az);au=ay;at=az;an=ay;ah=az};var aj=function(ay,aE){var aC=aw.lineWidth;var aA=ay-au;var az=aE-at;var aB=Math.sqrt(aA*aA+az*az);if((aB>0)&&(aC>0)){aA/=aB;az/=aB;while(true){var aD=aC*ar;if(aD<aB){au+=aD*aA;at+=aD*az;if((ak&1)==0){aw.lineTo(au,at)}else{aw.moveTo(au,at)}aB-=aD;ak++;if(ak>=aq.length){ak=0}ar=aq[ak]}else{au=ay;at=aE;if((ak&1)==0){aw.lineTo(au,at)}else{aw.moveTo(au,at)}ar-=aB/aC;break}}}};var ai=function(){aw.beginPath()};var am=function(){aj(an,ah)};return{moveTo:av,lineTo:aj,beginPath:ai,closePath:am}};L.jqplot.LineRenderer=function(){this.shapeRenderer=new L.jqplot.ShapeRenderer();this.shadowRenderer=new L.jqplot.ShadowRenderer()};L.jqplot.LineRenderer.prototype.init=function(ai,an){ai=ai||{};this._type="line";this.renderer.animation={show:false,direction:"left",speed:2500,_supported:true};this.renderer.smooth=false;this.renderer.tension=null;this.renderer.constrainSmoothing=true;this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];this.renderer.bandData=[];this.renderer.bands={show:false,hiData:[],lowData:[],color:this.color,showLines:false,fill:true,fillColor:null,_min:null,_max:null,interval:"3%"};var al={highlightMouseOver:ai.highlightMouseOver,highlightMouseDown:ai.highlightMouseDown,highlightColor:ai.highlightColor};delete (ai.highlightMouseOver);delete (ai.highlightMouseDown);delete (ai.highlightColor);L.extend(true,this.renderer,ai);this.renderer.options=ai;if(this.renderer.bandData.length>1&&(!ai.bands||ai.bands.show==null)){this.renderer.bands.show=true}else{if(ai.bands&&ai.bands.show==null&&ai.bands.interval!=null){this.renderer.bands.show=true}}if(this.fill){this.renderer.bands.show=false}if(this.renderer.bands.show){this.renderer.initBands.call(this,this.renderer.options,an)}if(this._stack){this.renderer.smooth=false}var am={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,strokeStyle:this.color,fillStyle:this.fillColor,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shapeRenderer.init(am);var aj=ai.shadowOffset;if(aj==null){if(this.lineWidth>2.5){aj=1.25*(1+(Math.atan((this.lineWidth/2.5))/0.785398163-1)*0.6)}else{aj=1.25*Math.atan((this.lineWidth/2.5))/0.785398163}}var ah={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,angle:this.shadowAngle,offset:aj,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shadowRenderer.init(ah);this._areaPoints=[];this._boundingBox=[[],[]];if(!this.isTrendline&&this.fill||this.renderer.bands.show){this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColor=null;if(al.highlightMouseDown&&al.highlightMouseOver==null){al.highlightMouseOver=false}L.extend(true,this,{highlightMouseOver:al.highlightMouseOver,highlightMouseDown:al.highlightMouseDown,highlightColor:al.highlightColor});if(!this.highlightColor){var ak=(this.renderer.bands.show)?this.renderer.bands.fillColor:this.fillColor;this.highlightColor=L.jqplot.computeHighlightColors(ak)}if(this.highlighter){this.highlighter.show=false}}if(!this.isTrendline&&an){an.plugins.lineRenderer={};an.postInitHooks.addOnce(z);an.postDrawHooks.addOnce(af);an.eventListenerHooks.addOnce("jqplotMouseMove",h);an.eventListenerHooks.addOnce("jqplotMouseDown",e);an.eventListenerHooks.addOnce("jqplotMouseUp",ad);an.eventListenerHooks.addOnce("jqplotClick",g);an.eventListenerHooks.addOnce("jqplotRightClick",s)}};L.jqplot.LineRenderer.prototype.initBands=function(ak,av){var al=ak.bandData||[];var an=this.renderer.bands;an.hiData=[];an.lowData=[];var aB=this.data;an._max=null;an._min=null;if(al.length==2){if(L.isArray(al[0][0])){var ao;var ah=0,ar=0;for(var aw=0,at=al[0].length;aw<at;aw++){ao=al[0][aw];if((ao[1]!=null&&ao[1]>an._max)||an._max==null){an._max=ao[1]}if((ao[1]!=null&&ao[1]<an._min)||an._min==null){an._min=ao[1]}}for(var aw=0,at=al[1].length;aw<at;aw++){ao=al[1][aw];if((ao[1]!=null&&ao[1]>an._max)||an._max==null){an._max=ao[1];ar=1}if((ao[1]!=null&&ao[1]<an._min)||an._min==null){an._min=ao[1];ah=1}}if(ar===ah){an.show=false}an.hiData=al[ar];an.lowData=al[ah]}else{if(al[0].length===aB.length&&al[1].length===aB.length){var aj=(al[0][0]>al[1][0])?0:1;var aC=(aj)?0:1;for(var aw=0,at=aB.length;aw<at;aw++){an.hiData.push([aB[aw][0],al[aj][aw]]);an.lowData.push([aB[aw][0],al[aC][aw]])}}else{an.show=false}}}else{if(al.length>2&&!L.isArray(al[0][0])){var aj=(al[0][0]>al[0][1])?0:1;var aC=(aj)?0:1;for(var aw=0,at=al.length;aw<at;aw++){an.hiData.push([aB[aw][0],al[aw][aj]]);an.lowData.push([aB[aw][0],al[aw][aC]])}}else{var aq=an.interval;var aA=null;var az=null;var ai=null;var au=null;if(L.isArray(aq)){aA=aq[0];az=aq[1]}else{aA=aq}if(isNaN(aA)){if(aA.charAt(aA.length-1)==="%"){ai="multiply";aA=parseFloat(aA)/100+1}}else{aA=parseFloat(aA);ai="add"}if(az!==null&&isNaN(az)){if(az.charAt(az.length-1)==="%"){au="multiply";az=parseFloat(az)/100+1}}else{if(az!==null){az=parseFloat(az);au="add"}}if(aA!==null){if(az===null){az=-aA;au=ai;if(au==="multiply"){az+=2}}if(aA<az){var ax=aA;aA=az;az=ax;ax=ai;ai=au;au=ax}for(var aw=0,at=aB.length;aw<at;aw++){switch(ai){case"add":an.hiData.push([aB[aw][0],aB[aw][1]+aA]);break;case"multiply":an.hiData.push([aB[aw][0],aB[aw][1]*aA]);break}switch(au){case"add":an.lowData.push([aB[aw][0],aB[aw][1]+az]);break;case"multiply":an.lowData.push([aB[aw][0],aB[aw][1]*az]);break}}}else{an.show=false}}}var am=an.hiData;var ap=an.lowData;for(var aw=0,at=am.length;aw<at;aw++){if((am[aw][1]!=null&&am[aw][1]>an._max)||an._max==null){an._max=am[aw][1]}}for(var aw=0,at=ap.length;aw<at;aw++){if((ap[aw][1]!=null&&ap[aw][1]<an._min)||an._min==null){an._min=ap[aw][1]}}if(an.fillColor===null){var ay=L.jqplot.getColorComponents(an.color);ay[3]=ay[3]*0.5;an.fillColor="rgba("+ay[0]+", "+ay[1]+", "+ay[2]+", "+ay[3]+")"}};function K(ai,ah){return(3.4182054+ah)*Math.pow(ai,-0.3534992)}function n(aj,ai){var ah=Math.sqrt(Math.pow((ai[0]-aj[0]),2)+Math.pow((ai[1]-aj[1]),2));return 5.7648*Math.log(ah)+7.4456}function A(ah){var ai=(Math.exp(2*ah)-1)/(Math.exp(2*ah)+1);return ai}function J(aJ){var at=this.renderer.smooth;var aD=this.canvas.getWidth();var an=this._xaxis.series_p2u;var aG=this._yaxis.series_p2u;var aF=null;var am=null;var az=aJ.length/aD;var aj=[];var ay=[];if(!isNaN(parseFloat(at))){aF=parseFloat(at)}else{aF=K(az,0.5)}var aw=[];var ak=[];for(var aE=0,aA=aJ.length;aE<aA;aE++){aw.push(aJ[aE][1]);ak.push(aJ[aE][0])}function av(aK,aL){if(aK-aL==0){return Math.pow(10,10)}else{return aK-aL}}var ax,ar,aq,ap;var ah=aJ.length-1;for(var al=1,aB=aJ.length;al<aB;al++){var ai=[];var au=[];for(var aC=0;aC<2;aC++){var aE=al-1+aC;if(aE==0||aE==ah){ai[aC]=Math.pow(10,10)}else{if(aw[aE+1]-aw[aE]==0||aw[aE]-aw[aE-1]==0){ai[aC]=0}else{if(((ak[aE+1]-ak[aE])/(aw[aE+1]-aw[aE])+(ak[aE]-ak[aE-1])/(aw[aE]-aw[aE-1]))==0){ai[aC]=0}else{if((aw[aE+1]-aw[aE])*(aw[aE]-aw[aE-1])<0){ai[aC]=0}else{ai[aC]=2/(av(ak[aE+1],ak[aE])/(aw[aE+1]-aw[aE])+av(ak[aE],ak[aE-1])/(aw[aE]-aw[aE-1]))}}}}}if(al==1){ai[0]=3/2*(aw[1]-aw[0])/av(ak[1],ak[0])-ai[1]/2}else{if(al==ah){ai[1]=3/2*(aw[ah]-aw[ah-1])/av(ak[ah],ak[ah-1])-ai[0]/2}}au[0]=-2*(ai[1]+2*ai[0])/av(ak[al],ak[al-1])+6*(aw[al]-aw[al-1])/Math.pow(av(ak[al],ak[al-1]),2);au[1]=2*(2*ai[1]+ai[0])/av(ak[al],ak[al-1])-6*(aw[al]-aw[al-1])/Math.pow(av(ak[al],ak[al-1]),2);ap=1/6*(au[1]-au[0])/av(ak[al],ak[al-1]);aq=1/2*(ak[al]*au[0]-ak[al-1]*au[1])/av(ak[al],ak[al-1]);ar=(aw[al]-aw[al-1]-aq*(Math.pow(ak[al],2)-Math.pow(ak[al-1],2))-ap*(Math.pow(ak[al],3)-Math.pow(ak[al-1],3)))/av(ak[al],ak[al-1]);ax=aw[al-1]-ar*ak[al-1]-aq*Math.pow(ak[al-1],2)-ap*Math.pow(ak[al-1],3);var aI=(ak[al]-ak[al-1])/aF;var aH,ao;for(var aC=0,aA=aF;aC<aA;aC++){aH=[];ao=ak[al-1]+aC*aI;aH.push(ao);aH.push(ax+ar*ao+aq*Math.pow(ao,2)+ap*Math.pow(ao,3));aj.push(aH);ay.push([an(aH[0]),aG(aH[1])])}}aj.push(aJ[aE]);ay.push([an(aJ[aE][0]),aG(aJ[aE][1])]);return[aj,ay]}function F(ap){var ao=this.renderer.smooth;var aU=this.renderer.tension;var ah=this.canvas.getWidth();var aH=this._xaxis.series_p2u;var aq=this._yaxis.series_p2u;var aI=null;var aJ=null;var aT=null;var aO=null;var aM=null;var at=null;var aR=null;var am=null;var aK,aL,aD,aC,aA,ay;var ak,ai,av,au;var aB,az,aN;var aw=[];var aj=[];var al=ap.length/ah;var aS,ax,aF,aG,aE;var ar=[];var an=[];if(!isNaN(parseFloat(ao))){aI=parseFloat(ao)}else{aI=K(al,0.5)}if(!isNaN(parseFloat(aU))){aU=parseFloat(aU)}for(var aQ=0,aP=ap.length-1;aQ<aP;aQ++){if(aU===null){at=Math.abs((ap[aQ+1][1]-ap[aQ][1])/(ap[aQ+1][0]-ap[aQ][0]));aS=0.3;ax=0.6;aF=(ax-aS)/2;aG=2.5;aE=-1.4;am=at/aG+aE;aO=aF*A(am)-aF*A(aE)+aS;if(aQ>0){aR=Math.abs((ap[aQ][1]-ap[aQ-1][1])/(ap[aQ][0]-ap[aQ-1][0]))}am=aR/aG+aE;aM=aF*A(am)-aF*A(aE)+aS;aT=(aO+aM)/2}else{aT=aU}for(aK=0;aK<aI;aK++){aL=aK/aI;aD=(1+2*aL)*Math.pow((1-aL),2);aC=aL*Math.pow((1-aL),2);aA=Math.pow(aL,2)*(3-2*aL);ay=Math.pow(aL,2)*(aL-1);if(ap[aQ-1]){ak=aT*(ap[aQ+1][0]-ap[aQ-1][0]);ai=aT*(ap[aQ+1][1]-ap[aQ-1][1])}else{ak=aT*(ap[aQ+1][0]-ap[aQ][0]);ai=aT*(ap[aQ+1][1]-ap[aQ][1])}if(ap[aQ+2]){av=aT*(ap[aQ+2][0]-ap[aQ][0]);au=aT*(ap[aQ+2][1]-ap[aQ][1])}else{av=aT*(ap[aQ+1][0]-ap[aQ][0]);au=aT*(ap[aQ+1][1]-ap[aQ][1])}aB=aD*ap[aQ][0]+aA*ap[aQ+1][0]+aC*ak+ay*av;az=aD*ap[aQ][1]+aA*ap[aQ+1][1]+aC*ai+ay*au;aN=[aB,az];ar.push(aN);an.push([aH(aB),aq(az)])}}ar.push(ap[aP]);an.push([aH(ap[aP][0]),aq(ap[aP][1])]);return[ar,an]}L.jqplot.LineRenderer.prototype.setGridData=function(ap){var al=this._xaxis.series_u2p;var ah=this._yaxis.series_u2p;var am=this._plotData;var aq=this._prevPlotData;this.gridData=[];this._prevGridData=[];this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];var ak=this.renderer.bands;var ai=false;for(var an=0,aj=am.length;an<aj;an++){if(am[an][0]!=null&&am[an][1]!=null){this.gridData.push([al.call(this._xaxis,am[an][0]),ah.call(this._yaxis,am[an][1])])}else{if(am[an][0]==null){ai=true;this.gridData.push([null,ah.call(this._yaxis,am[an][1])])}else{if(am[an][1]==null){ai=true;this.gridData.push([al.call(this._xaxis,am[an][0]),null])}}}if(aq[an]!=null&&aq[an][0]!=null&&aq[an][1]!=null){this._prevGridData.push([al.call(this._xaxis,aq[an][0]),ah.call(this._yaxis,aq[an][1])])}else{if(aq[an]!=null&&aq[an][0]==null){this._prevGridData.push([null,ah.call(this._yaxis,aq[an][1])])}else{if(aq[an]!=null&&aq[an][0]!=null&&aq[an][1]==null){this._prevGridData.push([al.call(this._xaxis,aq[an][0]),null])}}}}if(ai){this.renderer.smooth=false;if(this._type==="line"){ak.show=false}}if(this._type==="line"&&ak.show){for(var an=0,aj=ak.hiData.length;an<aj;an++){this.renderer._hiBandGridData.push([al.call(this._xaxis,ak.hiData[an][0]),ah.call(this._yaxis,ak.hiData[an][1])])}for(var an=0,aj=ak.lowData.length;an<aj;an++){this.renderer._lowBandGridData.push([al.call(this._xaxis,ak.lowData[an][0]),ah.call(this._yaxis,ak.lowData[an][1])])}}if(this._type==="line"&&this.renderer.smooth&&this.gridData.length>2){var ao;if(this.renderer.constrainSmoothing){ao=J.call(this,this.gridData);this.renderer._smoothedData=ao[0];this.renderer._smoothedPlotData=ao[1];if(ak.show){ao=J.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ao[0];ao=J.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ao[0]}ao=null}else{ao=F.call(this,this.gridData);this.renderer._smoothedData=ao[0];this.renderer._smoothedPlotData=ao[1];if(ak.show){ao=F.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ao[0];ao=F.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ao[0]}ao=null}}};L.jqplot.LineRenderer.prototype.makeGridData=function(ao,aq){var am=this._xaxis.series_u2p;var ah=this._yaxis.series_u2p;var ar=[];var aj=[];this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];var al=this.renderer.bands;var ai=false;for(var an=0;an<ao.length;an++){if(ao[an][0]!=null&&ao[an][1]!=null){ar.push([am.call(this._xaxis,ao[an][0]),ah.call(this._yaxis,ao[an][1])])}else{if(ao[an][0]==null){ai=true;ar.push([null,ah.call(this._yaxis,ao[an][1])])}else{if(ao[an][1]==null){ai=true;ar.push([am.call(this._xaxis,ao[an][0]),null])}}}}if(ai){this.renderer.smooth=false;if(this._type==="line"){al.show=false}}if(this._type==="line"&&al.show){for(var an=0,ak=al.hiData.length;an<ak;an++){this.renderer._hiBandGridData.push([am.call(this._xaxis,al.hiData[an][0]),ah.call(this._yaxis,al.hiData[an][1])])}for(var an=0,ak=al.lowData.length;an<ak;an++){this.renderer._lowBandGridData.push([am.call(this._xaxis,al.lowData[an][0]),ah.call(this._yaxis,al.lowData[an][1])])}}if(this._type==="line"&&this.renderer.smooth&&ar.length>2){var ap;if(this.renderer.constrainSmoothing){ap=J.call(this,ar);this.renderer._smoothedData=ap[0];this.renderer._smoothedPlotData=ap[1];if(al.show){ap=J.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ap[0];ap=J.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ap[0]}ap=null}else{ap=F.call(this,ar);this.renderer._smoothedData=ap[0];this.renderer._smoothedPlotData=ap[1];if(al.show){ap=F.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ap[0];ap=F.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ap[0]}ap=null}}return ar};L.jqplot.LineRenderer.prototype.draw=function(ax,aI,ai,aB){var aC;var aq=L.extend(true,{},ai);var ak=(aq.shadow!=u)?aq.shadow:this.shadow;var aJ=(aq.showLine!=u)?aq.showLine:this.showLine;var aA=(aq.fill!=u)?aq.fill:this.fill;var ah=(aq.fillAndStroke!=u)?aq.fillAndStroke:this.fillAndStroke;var ar,ay,av,aE;ax.save();if(aI.length){if(aJ){if(aA){if(this.fillToZero){var aF=this.negativeColor;if(!this.useNegativeColors){aF=aq.fillStyle}var ao=false;var ap=aq.fillStyle;if(ah){var aH=aI.slice(0)}if(this.index==0||!this._stack){var aw=[];var aL=(this.renderer.smooth)?this.renderer._smoothedPlotData:this._plotData;this._areaPoints=[];var aG=this._yaxis.series_u2p(this.fillToValue);var aj=this._xaxis.series_u2p(this.fillToValue);aq.closePath=true;if(this.fillAxis=="y"){aw.push([aI[0][0],aG]);this._areaPoints.push([aI[0][0],aG]);for(var aC=0;aC<aI.length-1;aC++){aw.push(aI[aC]);this._areaPoints.push(aI[aC]);if(aL[aC][1]*aL[aC+1][1]<=0){if(aL[aC][1]<0){ao=true;aq.fillStyle=aF}else{ao=false;aq.fillStyle=ap}var an=aI[aC][0]+(aI[aC+1][0]-aI[aC][0])*(aG-aI[aC][1])/(aI[aC+1][1]-aI[aC][1]);aw.push([an,aG]);this._areaPoints.push([an,aG]);if(ak){this.renderer.shadowRenderer.draw(ax,aw,aq)}this.renderer.shapeRenderer.draw(ax,aw,aq);aw=[[an,aG]]}}if(aL[aI.length-1][1]<0){ao=true;aq.fillStyle=aF}else{ao=false;aq.fillStyle=ap}aw.push(aI[aI.length-1]);this._areaPoints.push(aI[aI.length-1]);aw.push([aI[aI.length-1][0],aG]);this._areaPoints.push([aI[aI.length-1][0],aG])}if(ak){this.renderer.shadowRenderer.draw(ax,aw,aq)}this.renderer.shapeRenderer.draw(ax,aw,aq)}else{var au=this._prevGridData;for(var aC=au.length;aC>0;aC--){aI.push(au[aC-1])}if(ak){this.renderer.shadowRenderer.draw(ax,aI,aq)}this._areaPoints=aI;this.renderer.shapeRenderer.draw(ax,aI,aq)}}else{if(ah){var aH=aI.slice(0)}if(this.index==0||!this._stack){var al=ax.canvas.height;aI.unshift([aI[0][0],al]);var aD=aI.length;aI.push([aI[aD-1][0],al])}else{var au=this._prevGridData;for(var aC=au.length;aC>0;aC--){aI.push(au[aC-1])}}this._areaPoints=aI;if(ak){this.renderer.shadowRenderer.draw(ax,aI,aq)}this.renderer.shapeRenderer.draw(ax,aI,aq)}if(ah){var az=L.extend(true,{},aq,{fill:false,closePath:false});this.renderer.shapeRenderer.draw(ax,aH,az);if(this.markerRenderer.show){if(this.renderer.smooth){aH=this.gridData}for(aC=0;aC<aH.length;aC++){this.markerRenderer.draw(aH[aC][0],aH[aC][1],ax,aq.markerOptions)}}}}else{if(this.renderer.bands.show){var am;var aK=L.extend(true,{},aq);if(this.renderer.bands.showLines){am=(this.renderer.smooth)?this.renderer._hiBandSmoothedData:this.renderer._hiBandGridData;this.renderer.shapeRenderer.draw(ax,am,aq);am=(this.renderer.smooth)?this.renderer._lowBandSmoothedData:this.renderer._lowBandGridData;this.renderer.shapeRenderer.draw(ax,am,aK)}if(this.renderer.bands.fill){if(this.renderer.smooth){am=this.renderer._hiBandSmoothedData.concat(this.renderer._lowBandSmoothedData.reverse())}else{am=this.renderer._hiBandGridData.concat(this.renderer._lowBandGridData.reverse())}this._areaPoints=am;aK.closePath=true;aK.fill=true;aK.fillStyle=this.renderer.bands.fillColor;this.renderer.shapeRenderer.draw(ax,am,aK)}}if(ak){this.renderer.shadowRenderer.draw(ax,aI,aq)}this.renderer.shapeRenderer.draw(ax,aI,aq)}}var ar=av=ay=aE=null;for(aC=0;aC<this._areaPoints.length;aC++){var at=this._areaPoints[aC];if(ar>at[0]||ar==null){ar=at[0]}if(aE<at[1]||aE==null){aE=at[1]}if(av<at[0]||av==null){av=at[0]}if(ay>at[1]||ay==null){ay=at[1]}}if(this.type==="line"&&this.renderer.bands.show){aE=this._yaxis.series_u2p(this.renderer.bands._min);ay=this._yaxis.series_u2p(this.renderer.bands._max)}this._boundingBox=[[ar,aE],[av,ay]];if(this.markerRenderer.show&&!aA){if(this.renderer.smooth){aI=this.gridData}for(aC=0;aC<aI.length;aC++){if(aI[aC][0]!=null&&aI[aC][1]!=null){this.markerRenderer.draw(aI[aC][0],aI[aC][1],ax,aq.markerOptions)}}}}ax.restore()};L.jqplot.LineRenderer.prototype.drawShadow=function(ah,aj,ai){};function z(ak,aj,ah){for(var ai=0;ai<this.series.length;ai++){if(this.series[ai].renderer.constructor==L.jqplot.LineRenderer){if(this.series[ai].highlightMouseOver){this.series[ai].highlightMouseDown=false}}}}function af(){if(this.plugins.lineRenderer&&this.plugins.lineRenderer.highlightCanvas){this.plugins.lineRenderer.highlightCanvas.resetCanvas();this.plugins.lineRenderer.highlightCanvas=null}this.plugins.lineRenderer.highlightedSeriesIndex=null;this.plugins.lineRenderer.highlightCanvas=new L.jqplot.GenericCanvas();this.eventCanvas._elem.before(this.plugins.lineRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-lineRenderer-highlight-canvas",this._plotDimensions,this));this.plugins.lineRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(ah){aa(ah.data.plot)})}function ac(an,am,ak,aj){var ai=an.series[am];var ah=an.plugins.lineRenderer.highlightCanvas;ah._ctx.clearRect(0,0,ah._ctx.canvas.width,ah._ctx.canvas.height);ai._highlightedPoint=ak;an.plugins.lineRenderer.highlightedSeriesIndex=am;var al={fillStyle:ai.highlightColor};if(ai.type==="line"&&ai.renderer.bands.show){al.fill=true;al.closePath=true}ai.renderer.shapeRenderer.draw(ah._ctx,aj,al);ah=null}function aa(aj){var ah=aj.plugins.lineRenderer.highlightCanvas;ah._ctx.clearRect(0,0,ah._ctx.canvas.width,ah._ctx.canvas.height);for(var ai=0;ai<aj.series.length;ai++){aj.series[ai]._highlightedPoint=null}aj.plugins.lineRenderer.highlightedSeriesIndex=null;aj.target.trigger("jqplotDataUnhighlight");ah=null}function h(al,ak,ao,an,am){if(an){var aj=[an.seriesIndex,an.pointIndex,an.data];var ai=jQuery.Event("jqplotDataMouseOver");ai.pageX=al.pageX;ai.pageY=al.pageY;am.target.trigger(ai,aj);if(am.series[aj[0]].highlightMouseOver&&!(aj[0]==am.plugins.lineRenderer.highlightedSeriesIndex)){var ah=jQuery.Event("jqplotDataHighlight");ah.which=al.which;ah.pageX=al.pageX;ah.pageY=al.pageY;am.target.trigger(ah,aj);ac(am,an.seriesIndex,an.pointIndex,an.points)}}else{if(an==null){aa(am)}}}function e(ak,aj,an,am,al){if(am){var ai=[am.seriesIndex,am.pointIndex,am.data];if(al.series[ai[0]].highlightMouseDown&&!(ai[0]==al.plugins.lineRenderer.highlightedSeriesIndex)){var ah=jQuery.Event("jqplotDataHighlight");ah.which=ak.which;ah.pageX=ak.pageX;ah.pageY=ak.pageY;al.target.trigger(ah,ai);ac(al,am.seriesIndex,am.pointIndex,am.points)}}else{if(am==null){aa(al)}}}function ad(aj,ai,am,al,ak){var ah=ak.plugins.lineRenderer.highlightedSeriesIndex;if(ah!=null&&ak.series[ah].highlightMouseDown){aa(ak)}}function g(ak,aj,an,am,al){if(am){var ai=[am.seriesIndex,am.pointIndex,am.data];var ah=jQuery.Event("jqplotDataClick");ah.which=ak.which;ah.pageX=ak.pageX;ah.pageY=ak.pageY;al.target.trigger(ah,ai)}}function s(al,ak,ao,an,am){if(an){var aj=[an.seriesIndex,an.pointIndex,an.data];var ah=am.plugins.lineRenderer.highlightedSeriesIndex;if(ah!=null&&am.series[ah].highlightMouseDown){aa(am)}var ai=jQuery.Event("jqplotDataRightClick");ai.which=al.which;ai.pageX=al.pageX;ai.pageY=al.pageY;am.target.trigger(ai,aj)}}L.jqplot.LinearAxisRenderer=function(){};L.jqplot.LinearAxisRenderer.prototype.init=function(ah){this.breakPoints=null;this.breakTickLabel="&asymp;";this.drawBaseline=true;this.baselineWidth=null;this.baselineColor=null;this.forceTickAt0=false;this.forceTickAt100=false;this.tickInset=0;this.minorTicks=0;this.alignTicks=false;this._autoFormatString="";this._overrideFormatString=false;this._scalefact=1;L.extend(true,this,ah);if(this.breakPoints){if(!L.isArray(this.breakPoints)){this.breakPoints=null}else{if(this.breakPoints.length<2||this.breakPoints[1]<=this.breakPoints[0]){this.breakPoints=null}}}if(this.numberTicks!=null&&this.numberTicks<2){this.numberTicks=2}this.resetDataBounds()};L.jqplot.LinearAxisRenderer.prototype.draw=function(ah,ao){if(this.show){this.renderer.createTicks.call(this,ao);var an=0;var ai;if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=L(document.createElement("div"));this._elem.addClass("jqplot-axis jqplot-"+this.name);this._elem.css("position","absolute");if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var am=this._label.draw(ah,ao);am.appendTo(this._elem);am=null}var al=this._ticks;var ak;for(var aj=0;aj<al.length;aj++){ak=al[aj];if(ak.show&&ak.showLabel&&(!ak.isMinorTick||this.showMinorTicks)){this._elem.append(ak.draw(ah,ao))}}ak=null;al=null}return this._elem};L.jqplot.LinearAxisRenderer.prototype.reset=function(){this.min=this._options.min;this.max=this._options.max;this.tickInterval=this._options.tickInterval;this.numberTicks=this._options.numberTicks;this._autoFormatString="";if(this._overrideFormatString&&this.tickOptions&&this.tickOptions.formatString){this.tickOptions.formatString=""}};L.jqplot.LinearAxisRenderer.prototype.set=function(){var ao=0;var aj;var ai=0;var an=0;var ah=(this._label==null)?false:this._label.show;if(this.show){var am=this._ticks;var al;for(var ak=0;ak<am.length;ak++){al=am[ak];if(!al._breakTick&&al.show&&al.showLabel&&(!al.isMinorTick||this.showMinorTicks)){if(this.name=="xaxis"||this.name=="x2axis"){aj=al._elem.outerHeight(true)}else{aj=al._elem.outerWidth(true)}if(aj>ao){ao=aj}}}al=null;am=null;if(ah){ai=this._label._elem.outerWidth(true);an=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){ao=ao+an;this._elem.css({height:ao+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){ao=ao+an;this._elem.css({height:ao+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){ao=ao+ai;this._elem.css({width:ao+"px",left:"0px",top:"0px"});if(ah&&this._label.constructor==L.jqplot.AxisLabelRenderer){this._label._elem.css("width",ai+"px")}}else{ao=ao+ai;this._elem.css({width:ao+"px",right:"0px",top:"0px"});if(ah&&this._label.constructor==L.jqplot.AxisLabelRenderer){this._label._elem.css("width",ai+"px")}}}}}};L.jqplot.LinearAxisRenderer.prototype.createTicks=function(aj){var aT=this._ticks;var aK=this.ticks;var az=this.name;var aB=this._dataBounds;var ah=(this.name.charAt(0)==="x")?this._plotDimensions.width:this._plotDimensions.height;var an;var a6,aI;var ap,ao;var a4,a0;var aH=this.min;var a5=this.max;var aW=this.numberTicks;var ba=this.tickInterval;var am=30;this._scalefact=(Math.max(ah,am+1)-am)/300;if(aK.length){for(a0=0;a0<aK.length;a0++){var aO=aK[a0];var aU=new this.tickRenderer(this.tickOptions);if(L.isArray(aO)){aU.value=aO[0];if(this.breakPoints){if(aO[0]==this.breakPoints[0]){aU.label=this.breakTickLabel;aU._breakTick=true;aU.showGridline=false;aU.showMark=false}else{if(aO[0]>this.breakPoints[0]&&aO[0]<=this.breakPoints[1]){aU.show=false;aU.showGridline=false;aU.label=aO[1]}else{aU.label=aO[1]}}}else{aU.label=aO[1]}aU.setTick(aO[0],this.name);this._ticks.push(aU)}else{if(L.isPlainObject(aO)){L.extend(true,aU,aO);aU.axis=this.name;this._ticks.push(aU)}else{aU.value=aO;if(this.breakPoints){if(aO==this.breakPoints[0]){aU.label=this.breakTickLabel;aU._breakTick=true;aU.showGridline=false;aU.showMark=false}else{if(aO>this.breakPoints[0]&&aO<=this.breakPoints[1]){aU.show=false;aU.showGridline=false}}}aU.setTick(aO,this.name);this._ticks.push(aU)}}}this.numberTicks=aK.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value;this.tickInterval=(this.max-this.min)/(this.numberTicks-1)}else{if(az=="xaxis"||az=="x2axis"){ah=this._plotDimensions.width}else{ah=this._plotDimensions.height}var ax=this.numberTicks;if(this.alignTicks){if(this.name==="x2axis"&&aj.axes.xaxis.show){ax=aj.axes.xaxis.numberTicks}else{if(this.name.charAt(0)==="y"&&this.name!=="yaxis"&&this.name!=="yMidAxis"&&aj.axes.yaxis.show){ax=aj.axes.yaxis.numberTicks}}}a6=((this.min!=null)?this.min:aB.min);aI=((this.max!=null)?this.max:aB.max);var av=aI-a6;var aS,ay;var at;if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}if(this.min==null||this.max==null&&this.tickInterval==null&&!this.autoscale){if(this.forceTickAt0){if(a6>0){a6=0}if(aI<0){aI=0}}if(this.forceTickAt100){if(a6>100){a6=100}if(aI<100){aI=100}}var aE=false,a1=false;if(this.min!=null){aE=true}else{if(this.max!=null){a1=true}}var aP=L.jqplot.LinearTickGenerator(a6,aI,this._scalefact,ax,aE,a1);var aw=(this.min!=null)?a6:a6+av*(this.padMin-1);var aQ=(this.max!=null)?aI:aI-av*(this.padMax-1);if(a6<aw||aI>aQ){aw=(this.min!=null)?a6:a6-av*(this.padMin-1);aQ=(this.max!=null)?aI:aI+av*(this.padMax-1);aP=L.jqplot.LinearTickGenerator(aw,aQ,this._scalefact,ax,aE,a1)}this.min=aP[0];this.max=aP[1];this.numberTicks=aP[2];this._autoFormatString=aP[3];this.tickInterval=aP[4]}else{if(a6==aI){var ai=0.05;if(a6>0){ai=Math.max(Math.log(a6)/Math.LN10,0.05)}a6-=ai;aI+=ai}if(this.autoscale&&this.min==null&&this.max==null){var ak,al,ar;var aC=false;var aN=false;var aA={min:null,max:null,average:null,stddev:null};for(var a0=0;a0<this._series.length;a0++){var aV=this._series[a0];var aD=(aV.fillAxis=="x")?aV._xaxis.name:aV._yaxis.name;if(this.name==aD){var aR=aV._plotValues[aV.fillAxis];var aG=aR[0];var a2=aR[0];for(var aZ=1;aZ<aR.length;aZ++){if(aR[aZ]<aG){aG=aR[aZ]}else{if(aR[aZ]>a2){a2=aR[aZ]}}}var au=(a2-aG)/a2;if(aV.renderer.constructor==L.jqplot.BarRenderer){if(aG>=0&&(aV.fillToZero||au>0.1)){aC=true}else{aC=false;if(aV.fill&&aV.fillToZero&&aG<0&&a2>0){aN=true}else{aN=false}}}else{if(aV.fill){if(aG>=0&&(aV.fillToZero||au>0.1)){aC=true}else{if(aG<0&&a2>0&&aV.fillToZero){aC=false;aN=true}else{aC=false;aN=false}}}else{if(aG<0){aC=false}}}}}if(aC){this.numberTicks=2+Math.ceil((ah-(this.tickSpacing-1))/this.tickSpacing);this.min=0;aH=0;al=aI/(this.numberTicks-1);at=Math.pow(10,Math.abs(Math.floor(Math.log(al)/Math.LN10)));if(al/at==parseInt(al/at,10)){al+=at}this.tickInterval=Math.ceil(al/at)*at;this.max=this.tickInterval*(this.numberTicks-1)}else{if(aN){this.numberTicks=2+Math.ceil((ah-(this.tickSpacing-1))/this.tickSpacing);var aJ=Math.ceil(Math.abs(a6)/av*(this.numberTicks-1));var a9=this.numberTicks-1-aJ;al=Math.max(Math.abs(a6/aJ),Math.abs(aI/a9));at=Math.pow(10,Math.abs(Math.floor(Math.log(al)/Math.LN10)));this.tickInterval=Math.ceil(al/at)*at;this.max=this.tickInterval*a9;this.min=-this.tickInterval*aJ}else{if(this.numberTicks==null){if(this.tickInterval){this.numberTicks=3+Math.ceil(av/this.tickInterval)}else{this.numberTicks=2+Math.ceil((ah-(this.tickSpacing-1))/this.tickSpacing)}}if(this.tickInterval==null){al=av/(this.numberTicks-1);if(al<1){at=Math.pow(10,Math.abs(Math.floor(Math.log(al)/Math.LN10)))}else{at=1}this.tickInterval=Math.ceil(al*at*this.pad)/at}else{at=1/this.tickInterval}ak=this.tickInterval*(this.numberTicks-1);ar=(ak-av)/2;if(this.min==null){this.min=Math.floor(at*(a6-ar))/at}if(this.max==null){this.max=this.min+ak}}}var aF=L.jqplot.getSignificantFigures(this.tickInterval);var aM;if(aF.digitsLeft>=aF.significantDigits){aM="%d"}else{var at=Math.max(0,5-aF.digitsLeft);at=Math.min(at,aF.digitsRight);aM="%."+at+"f"}this._autoFormatString=aM}else{aS=(this.min!=null)?this.min:a6-av*(this.padMin-1);ay=(this.max!=null)?this.max:aI+av*(this.padMax-1);av=ay-aS;if(this.numberTicks==null){if(this.tickInterval!=null){this.numberTicks=Math.ceil((ay-aS)/this.tickInterval)+1}else{if(ah>100){this.numberTicks=parseInt(3+(ah-100)/75,10)}else{this.numberTicks=2}}}if(this.tickInterval==null){this.tickInterval=av/(this.numberTicks-1)}if(this.max==null){ay=aS+this.tickInterval*(this.numberTicks-1)}if(this.min==null){aS=ay-this.tickInterval*(this.numberTicks-1)}var aF=L.jqplot.getSignificantFigures(this.tickInterval);var aM;if(aF.digitsLeft>=aF.significantDigits){aM="%d"}else{var at=Math.max(0,5-aF.digitsLeft);at=Math.min(at,aF.digitsRight);aM="%."+at+"f"}this._autoFormatString=aM;this.min=aS;this.max=ay}if(this.renderer.constructor==L.jqplot.LinearAxisRenderer&&this._autoFormatString==""){av=this.max-this.min;var a7=new this.tickRenderer(this.tickOptions);var aL=a7.formatString||L.jqplot.config.defaultTickFormatString;var aL=aL.match(L.jqplot.sprintf.regex)[0];var a3=0;if(aL){if(aL.search(/[fFeEgGpP]/)>-1){var aY=aL.match(/\%\.(\d{0,})?[eEfFgGpP]/);if(aY){a3=parseInt(aY[1],10)}else{a3=6}}else{if(aL.search(/[di]/)>-1){a3=0}}var aq=Math.pow(10,-a3);if(this.tickInterval<aq){if(aW==null&&ba==null){this.tickInterval=aq;if(a5==null&&aH==null){this.min=Math.floor(this._dataBounds.min/aq)*aq;if(this.min==this._dataBounds.min){this.min=this._dataBounds.min-this.tickInterval}this.max=Math.ceil(this._dataBounds.max/aq)*aq;if(this.max==this._dataBounds.max){this.max=this._dataBounds.max+this.tickInterval}var aX=(this.max-this.min)/this.tickInterval;aX=aX.toFixed(11);aX=Math.ceil(aX);this.numberTicks=aX+1}else{if(a5==null){var aX=(this._dataBounds.max-this.min)/this.tickInterval;aX=aX.toFixed(11);this.numberTicks=Math.ceil(aX)+2;this.max=this.min+this.tickInterval*(this.numberTicks-1)}else{if(aH==null){var aX=(this.max-this._dataBounds.min)/this.tickInterval;aX=aX.toFixed(11);this.numberTicks=Math.ceil(aX)+2;this.min=this.max-this.tickInterval*(this.numberTicks-1)}else{this.numberTicks=Math.ceil((a5-aH)/this.tickInterval)+1;this.min=Math.floor(aH*Math.pow(10,a3))/Math.pow(10,a3);this.max=Math.ceil(a5*Math.pow(10,a3))/Math.pow(10,a3);this.numberTicks=Math.ceil((this.max-this.min)/this.tickInterval)+1}}}}}}}}if(this._overrideFormatString&&this._autoFormatString!=""){this.tickOptions=this.tickOptions||{};this.tickOptions.formatString=this._autoFormatString}var aU,a8;for(var a0=0;a0<this.numberTicks;a0++){a4=this.min+a0*this.tickInterval;aU=new this.tickRenderer(this.tickOptions);aU.setTick(a4,this.name);this._ticks.push(aU);if(a0<this.numberTicks-1){for(var aZ=0;aZ<this.minorTicks;aZ++){a4+=this.tickInterval/(this.minorTicks+1);a8=L.extend(true,{},this.tickOptions,{name:this.name,value:a4,label:"",isMinorTick:true});aU=new this.tickRenderer(a8);this._ticks.push(aU)}}aU=null}}if(this.tickInset){this.min=this.min-this.tickInset*this.tickInterval;this.max=this.max+this.tickInset*this.tickInterval}aT=null};L.jqplot.LinearAxisRenderer.prototype.resetTickValues=function(aj){if(L.isArray(aj)&&aj.length==this._ticks.length){var ai;for(var ah=0;ah<aj.length;ah++){ai=this._ticks[ah];ai.value=aj[ah];ai.label=ai.formatter(ai.formatString,aj[ah]);ai.label=ai.prefix+ai.label;ai._elem.html(ai.label)}ai=null;this.min=L.jqplot.arrayMin(aj);this.max=L.jqplot.arrayMax(aj);this.pack()}};L.jqplot.LinearAxisRenderer.prototype.pack=function(aj,ai){aj=aj||{};ai=ai||this._offsets;var ay=this._ticks;var au=this.max;var at=this.min;var ao=ai.max;var am=ai.min;var aq=(this._label==null)?false:this._label.show;for(var ar in aj){this._elem.css(ar,aj[ar])}this._offsets=ai;var ak=ao-am;var al=au-at;if(this.breakPoints){al=al-this.breakPoints[1]+this.breakPoints[0];this.p2u=function(aA){return(aA-am)*al/ak+at};this.u2p=function(aA){if(aA>this.breakPoints[0]&&aA<this.breakPoints[1]){aA=this.breakPoints[0]}if(aA<=this.breakPoints[0]){return(aA-at)*ak/al+am}else{return(aA-this.breakPoints[1]+this.breakPoints[0]-at)*ak/al+am}};if(this.name.charAt(0)=="x"){this.series_u2p=function(aA){if(aA>this.breakPoints[0]&&aA<this.breakPoints[1]){aA=this.breakPoints[0]}if(aA<=this.breakPoints[0]){return(aA-at)*ak/al}else{return(aA-this.breakPoints[1]+this.breakPoints[0]-at)*ak/al}};this.series_p2u=function(aA){return aA*al/ak+at}}else{this.series_u2p=function(aA){if(aA>this.breakPoints[0]&&aA<this.breakPoints[1]){aA=this.breakPoints[0]}if(aA>=this.breakPoints[1]){return(aA-au)*ak/al}else{return(aA+this.breakPoints[1]-this.breakPoints[0]-au)*ak/al}};this.series_p2u=function(aA){return aA*al/ak+au}}}else{this.p2u=function(aA){return(aA-am)*al/ak+at};this.u2p=function(aA){return(aA-at)*ak/al+am};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(aA){return(aA-at)*ak/al};this.series_p2u=function(aA){return aA*al/ak+at}}else{this.series_u2p=function(aA){return(aA-au)*ak/al};this.series_p2u=function(aA){return aA*al/ak+au}}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(var av=0;av<ay.length;av++){var ap=ay[av];if(ap.show&&ap.showLabel){var ah;if(ap.constructor==L.jqplot.CanvasAxisTickRenderer&&ap.angle){var ax=(this.name=="xaxis")?1:-1;switch(ap.labelPosition){case"auto":if(ax*ap.angle<0){ah=-ap.getWidth()+ap._textRenderer.height*Math.sin(-ap._textRenderer.angle)/2}else{ah=-ap._textRenderer.height*Math.sin(ap._textRenderer.angle)/2}break;case"end":ah=-ap.getWidth()+ap._textRenderer.height*Math.sin(-ap._textRenderer.angle)/2;break;case"start":ah=-ap._textRenderer.height*Math.sin(ap._textRenderer.angle)/2;break;case"middle":ah=-ap.getWidth()/2+ap._textRenderer.height*Math.sin(-ap._textRenderer.angle)/2;break;default:ah=-ap.getWidth()/2+ap._textRenderer.height*Math.sin(-ap._textRenderer.angle)/2;break}}else{ah=-ap.getWidth()/2}var az=this.u2p(ap.value)+ah+"px";ap._elem.css("left",az);ap.pack()}}if(aq){var an=this._label._elem.outerWidth(true);this._label._elem.css("left",am+ak/2-an/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px")}else{this._label._elem.css("top","0px")}this._label.pack()}}else{for(var av=0;av<ay.length;av++){var ap=ay[av];if(ap.show&&ap.showLabel){var ah;if(ap.constructor==L.jqplot.CanvasAxisTickRenderer&&ap.angle){var ax=(this.name=="yaxis")?1:-1;switch(ap.labelPosition){case"auto":case"end":if(ax*ap.angle<0){ah=-ap._textRenderer.height*Math.cos(-ap._textRenderer.angle)/2}else{ah=-ap.getHeight()+ap._textRenderer.height*Math.cos(ap._textRenderer.angle)/2}break;case"start":if(ap.angle>0){ah=-ap._textRenderer.height*Math.cos(-ap._textRenderer.angle)/2}else{ah=-ap.getHeight()+ap._textRenderer.height*Math.cos(ap._textRenderer.angle)/2}break;case"middle":ah=-ap.getHeight()/2;break;default:ah=-ap.getHeight()/2;break}}else{ah=-ap.getHeight()/2}var az=this.u2p(ap.value)+ah+"px";ap._elem.css("top",az);ap.pack()}}if(aq){var aw=this._label._elem.outerHeight(true);this._label._elem.css("top",ao-ak/2-aw/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}ay=null};function i(ai){var ah;ai=Math.abs(ai);if(ai>=10){ah="%d"}else{if(ai>1){if(ai===parseInt(ai,10)){ah="%d"}else{ah="%.1f"}}else{var aj=-Math.floor(Math.log(ai)/Math.LN10);ah="%."+aj+"f"}}return ah}var b=[0.1,0.2,0.3,0.4,0.5,0.8,1,2,3,4,5];var c=function(ai){var ah=b.indexOf(ai);if(ah>0){return b[ah-1]}else{return b[b.length-1]/100}};var k=function(ai){var ah=b.indexOf(ai);if(ah<b.length-1){return b[ah+1]}else{return b[0]*100}};function d(al,au,at){var aq=Math.floor(at/2);var ai=Math.ceil(at*1.5);var ak=Number.MAX_VALUE;var ah=(au-al);var ax;var ap;var ar;var ay=L.jqplot.getSignificantFigures;var aw;var an;var ao;var av;for(var am=0,aj=ai-aq+1;am<aj;am++){ao=aq+am;ax=ah/(ao-1);ap=ay(ax);ax=Math.abs(at-ao)+ap.digitsRight;if(ax<ak){ak=ax;ar=ao;av=ap.digitsRight}else{if(ax===ak){if(ap.digitsRight<av){ar=ao;av=ap.digitsRight}}}}aw=Math.max(av,Math.max(ay(al).digitsRight,ay(au).digitsRight));if(aw===0){an="%d"}else{an="%."+aw+"f"}ax=ah/(ar-1);return[al,au,ar,an,ax]}function W(ai,al){al=al||7;var ak=ai/(al-1);var aj=Math.pow(10,Math.floor(Math.log(ak)/Math.LN10));var am=ak/aj;var ah;if(aj<1){if(am>5){ah=10*aj}else{if(am>2){ah=5*aj}else{if(am>1){ah=2*aj}else{ah=aj}}}}else{if(am>5){ah=10*aj}else{if(am>4){ah=5*aj}else{if(am>3){ah=4*aj}else{if(am>2){ah=3*aj}else{if(am>1){ah=2*aj}else{ah=aj}}}}}}return ah}function Q(ai,ah){ah=ah||1;var ak=Math.floor(Math.log(ai)/Math.LN10);var am=Math.pow(10,ak);var al=ai/am;var aj;al=al/ah;if(al<=0.38){aj=0.1}else{if(al<=1.6){aj=0.2}else{if(al<=4){aj=0.5}else{if(al<=8){aj=1}else{if(al<=16){aj=2}else{aj=5}}}}}return aj*am}function x(aj,ai){var al=Math.floor(Math.log(aj)/Math.LN10);var an=Math.pow(10,al);var am=aj/an;var ah;var ak;am=am/ai;if(am<=0.38){ak=0.1}else{if(am<=1.6){ak=0.2}else{if(am<=4){ak=0.5}else{if(am<=8){ak=1}else{if(am<=16){ak=2}else{ak=5}}}}}ah=ak*an;return[ah,ak,an]}L.jqplot.LinearTickGenerator=function(an,aq,aj,ak,ao,ar){ao=(ao===null)?false:ao;ar=(ar===null||ao)?false:ar;if(an===aq){aq=(aq)?0:1}aj=aj||1;if(aq<an){var at=aq;aq=an;an=at}var ai=[];var aw=Q(aq-an,aj);var av=L.jqplot.getSignificantFigures;if(ak==null){if(!ao&&!ar){ai[0]=Math.floor(an/aw)*aw;ai[1]=Math.ceil(aq/aw)*aw;ai[2]=Math.round((ai[1]-ai[0])/aw+1);ai[3]=i(aw);ai[4]=aw}else{if(ao){ai[0]=an;ai[2]=Math.ceil((aq-an)/aw+1);ai[1]=an+(ai[2]-1)*aw;var au=av(an).digitsRight;var ap=av(aw).digitsRight;if(au<ap){ai[3]=i(aw)}else{ai[3]="%."+au+"f"}ai[4]=aw}else{if(ar){ai[1]=aq;ai[2]=Math.ceil((aq-an)/aw+1);ai[0]=aq-(ai[2]-1)*aw;var al=av(aq).digitsRight;var ap=av(aw).digitsRight;if(al<ap){ai[3]=i(aw)}else{ai[3]="%."+al+"f"}ai[4]=aw}}}}else{var am=[];am[0]=Math.floor(an/aw)*aw;am[1]=Math.ceil(aq/aw)*aw;am[2]=Math.round((am[1]-am[0])/aw+1);am[3]=i(aw);am[4]=aw;if(am[2]===ak){ai=am}else{var ah=W(am[1]-am[0],ak);ai[0]=am[0];ai[2]=ak;ai[4]=ah;ai[3]=i(ah);ai[1]=ai[0]+(ai[2]-1)*ai[4]}}return ai};L.jqplot.LinearTickGenerator.bestLinearInterval=Q;L.jqplot.LinearTickGenerator.bestInterval=W;L.jqplot.LinearTickGenerator.bestLinearComponents=x;L.jqplot.LinearTickGenerator.bestConstrainedInterval=d;L.jqplot.MarkerRenderer=function(ah){this.show=true;this.style="filledCircle";this.lineWidth=2;this.size=9;this.color="#666666";this.shadow=true;this.shadowAngle=45;this.shadowOffset=1;this.shadowDepth=3;this.shadowAlpha="0.07";this.shadowRenderer=new L.jqplot.ShadowRenderer();this.shapeRenderer=new L.jqplot.ShapeRenderer();L.extend(true,this,ah)};L.jqplot.MarkerRenderer.prototype.init=function(ah){L.extend(true,this,ah);var aj={angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,lineWidth:this.lineWidth,depth:this.shadowDepth,closePath:true};if(this.style.indexOf("filled")!=-1){aj.fill=true}if(this.style.indexOf("ircle")!=-1){aj.isarc=true;aj.closePath=false}this.shadowRenderer.init(aj);var ai={fill:false,isarc:false,strokeStyle:this.color,fillStyle:this.color,lineWidth:this.lineWidth,closePath:true};if(this.style.indexOf("filled")!=-1){ai.fill=true}if(this.style.indexOf("ircle")!=-1){ai.isarc=true;ai.closePath=false}this.shapeRenderer.init(ai)};L.jqplot.MarkerRenderer.prototype.drawDiamond=function(aj,ai,am,al,ao){var ah=1.2;var ap=this.size/2/ah;var an=this.size/2*ah;var ak=[[aj-ap,ai],[aj,ai+an],[aj+ap,ai],[aj,ai-an]];if(this.shadow){this.shadowRenderer.draw(am,ak)}this.shapeRenderer.draw(am,ak,ao)};L.jqplot.MarkerRenderer.prototype.drawPlus=function(ak,aj,an,am,aq){var ai=1;var ar=this.size/2*ai;var ao=this.size/2*ai;var ap=[[ak,aj-ao],[ak,aj+ao]];var al=[[ak+ar,aj],[ak-ar,aj]];var ah=L.extend(true,{},this.options,{closePath:false});if(this.shadow){this.shadowRenderer.draw(an,ap,{closePath:false});this.shadowRenderer.draw(an,al,{closePath:false})}this.shapeRenderer.draw(an,ap,ah);this.shapeRenderer.draw(an,al,ah)};L.jqplot.MarkerRenderer.prototype.drawX=function(ak,aj,an,am,aq){var ai=1;var ar=this.size/2*ai;var ao=this.size/2*ai;var ah=L.extend(true,{},this.options,{closePath:false});var ap=[[ak-ar,aj-ao],[ak+ar,aj+ao]];var al=[[ak-ar,aj+ao],[ak+ar,aj-ao]];if(this.shadow){this.shadowRenderer.draw(an,ap,{closePath:false});this.shadowRenderer.draw(an,al,{closePath:false})}this.shapeRenderer.draw(an,ap,ah);this.shapeRenderer.draw(an,al,ah)};L.jqplot.MarkerRenderer.prototype.drawDash=function(aj,ai,am,al,ao){var ah=1;var ap=this.size/2*ah;var an=this.size/2*ah;var ak=[[aj-ap,ai],[aj+ap,ai]];if(this.shadow){this.shadowRenderer.draw(am,ak)}this.shapeRenderer.draw(am,ak,ao)};L.jqplot.MarkerRenderer.prototype.drawLine=function(am,al,ah,ak,ai){var aj=[am,al];if(this.shadow){this.shadowRenderer.draw(ah,aj)}this.shapeRenderer.draw(ah,aj,ai)};L.jqplot.MarkerRenderer.prototype.drawSquare=function(aj,ai,am,al,ao){var ah=1;var ap=this.size/2/ah;var an=this.size/2*ah;var ak=[[aj-ap,ai-an],[aj-ap,ai+an],[aj+ap,ai+an],[aj+ap,ai-an]];if(this.shadow){this.shadowRenderer.draw(am,ak)}this.shapeRenderer.draw(am,ak,ao)};L.jqplot.MarkerRenderer.prototype.drawCircle=function(ai,ao,ak,an,al){var ah=this.size/2;var aj=2*Math.PI;var am=[ai,ao,ah,0,aj,true];if(this.shadow){this.shadowRenderer.draw(ak,am)}this.shapeRenderer.draw(ak,am,al)};L.jqplot.MarkerRenderer.prototype.draw=function(ah,ak,ai,aj){aj=aj||{};if(aj.show==null||aj.show!=false){if(aj.color&&!aj.fillStyle){aj.fillStyle=aj.color}if(aj.color&&!aj.strokeStyle){aj.strokeStyle=aj.color}switch(this.style){case"diamond":this.drawDiamond(ah,ak,ai,false,aj);break;case"filledDiamond":this.drawDiamond(ah,ak,ai,true,aj);break;case"circle":this.drawCircle(ah,ak,ai,false,aj);break;case"filledCircle":this.drawCircle(ah,ak,ai,true,aj);break;case"square":this.drawSquare(ah,ak,ai,false,aj);break;case"filledSquare":this.drawSquare(ah,ak,ai,true,aj);break;case"x":this.drawX(ah,ak,ai,true,aj);break;case"plus":this.drawPlus(ah,ak,ai,true,aj);break;case"dash":this.drawDash(ah,ak,ai,true,aj);break;case"line":this.drawLine(ah,ak,ai,false,aj);break;default:this.drawDiamond(ah,ak,ai,false,aj);break}}};L.jqplot.ShadowRenderer=function(ah){this.angle=45;this.offset=1;this.alpha=0.07;this.lineWidth=1.5;this.lineJoin="miter";this.lineCap="round";this.closePath=false;this.fill=false;this.depth=3;this.strokeStyle="rgba(0,0,0,0.1)";this.isarc=false;L.extend(true,this,ah)};L.jqplot.ShadowRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.ShadowRenderer.prototype.draw=function(av,at,ax){av.save();var ah=(ax!=null)?ax:{};var au=(ah.fill!=null)?ah.fill:this.fill;var ap=(ah.fillRect!=null)?ah.fillRect:this.fillRect;var ao=(ah.closePath!=null)?ah.closePath:this.closePath;var al=(ah.offset!=null)?ah.offset:this.offset;var aj=(ah.alpha!=null)?ah.alpha:this.alpha;var an=(ah.depth!=null)?ah.depth:this.depth;var aw=(ah.isarc!=null)?ah.isarc:this.isarc;var aq=(ah.linePattern!=null)?ah.linePattern:this.linePattern;av.lineWidth=(ah.lineWidth!=null)?ah.lineWidth:this.lineWidth;av.lineJoin=(ah.lineJoin!=null)?ah.lineJoin:this.lineJoin;av.lineCap=(ah.lineCap!=null)?ah.lineCap:this.lineCap;av.strokeStyle=ah.strokeStyle||this.strokeStyle||"rgba(0,0,0,"+aj+")";av.fillStyle=ah.fillStyle||this.fillStyle||"rgba(0,0,0,"+aj+")";for(var ak=0;ak<an;ak++){var ar=L.jqplot.LinePattern(av,aq);av.translate(Math.cos(this.angle*Math.PI/180)*al,Math.sin(this.angle*Math.PI/180)*al);ar.beginPath();if(aw){av.arc(at[0],at[1],at[2],at[3],at[4],true)}else{if(ap){if(ap){av.fillRect(at[0],at[1],at[2],at[3])}}else{if(at&&at.length){var ai=true;for(var am=0;am<at.length;am++){if(at[am][0]!=null&&at[am][1]!=null){if(ai){ar.moveTo(at[am][0],at[am][1]);ai=false}else{ar.lineTo(at[am][0],at[am][1])}}else{ai=true}}}}}if(ao){ar.closePath()}if(au){av.fill()}else{av.stroke()}}av.restore()};L.jqplot.ShapeRenderer=function(ah){this.lineWidth=1.5;this.linePattern="solid";this.lineJoin="miter";this.lineCap="round";this.closePath=false;this.fill=false;this.isarc=false;this.fillRect=false;this.strokeRect=false;this.clearRect=false;this.strokeStyle="#999999";this.fillStyle="#999999";L.extend(true,this,ah)};L.jqplot.ShapeRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.ShapeRenderer.prototype.draw=function(at,aq,av){at.save();var ah=(av!=null)?av:{};var ar=(ah.fill!=null)?ah.fill:this.fill;var am=(ah.closePath!=null)?ah.closePath:this.closePath;var an=(ah.fillRect!=null)?ah.fillRect:this.fillRect;var ak=(ah.strokeRect!=null)?ah.strokeRect:this.strokeRect;var ai=(ah.clearRect!=null)?ah.clearRect:this.clearRect;var au=(ah.isarc!=null)?ah.isarc:this.isarc;var ao=(ah.linePattern!=null)?ah.linePattern:this.linePattern;var ap=L.jqplot.LinePattern(at,ao);at.lineWidth=ah.lineWidth||this.lineWidth;at.lineJoin=ah.lineJoin||this.lineJoin;at.lineCap=ah.lineCap||this.lineCap;at.strokeStyle=(ah.strokeStyle||ah.color)||this.strokeStyle;at.fillStyle=ah.fillStyle||this.fillStyle;at.beginPath();if(au){at.arc(aq[0],aq[1],aq[2],aq[3],aq[4],true);if(am){at.closePath()}if(ar){at.fill()}else{at.stroke()}at.restore();return}else{if(ai){at.clearRect(aq[0],aq[1],aq[2],aq[3]);at.restore();return}else{if(an||ak){if(an){at.fillRect(aq[0],aq[1],aq[2],aq[3])}if(ak){at.strokeRect(aq[0],aq[1],aq[2],aq[3]);at.restore();return}}else{if(aq&&aq.length){var aj=true;for(var al=0;al<aq.length;al++){if(aq[al][0]!=null&&aq[al][1]!=null){if(aj){ap.moveTo(aq[al][0],aq[al][1]);aj=false}else{ap.lineTo(aq[al][0],aq[al][1])}}else{aj=true}}if(am){ap.closePath()}if(ar){at.fill()}else{at.stroke()}}}}}at.restore()};L.jqplot.TableLegendRenderer=function(){};L.jqplot.TableLegendRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.TableLegendRenderer.prototype.addrow=function(aq,ak,ah,ao){var al=(ah)?this.rowSpacing+"px":"0px";var ap;var aj;var ai;var an;var am;ai=document.createElement("tr");ap=L(ai);ap.addClass("jqplot-table-legend");ai=null;if(ao){ap.prependTo(this._elem)}else{ap.appendTo(this._elem)}if(this.showSwatches){aj=L(document.createElement("td"));aj.addClass("jqplot-table-legend jqplot-table-legend-swatch");aj.css({textAlign:"center",paddingTop:al});an=L(document.createElement("div"));an.addClass("jqplot-table-legend-swatch-outline");am=L(document.createElement("div"));am.addClass("jqplot-table-legend-swatch");am.css({backgroundColor:ak,borderColor:ak});ap.append(aj.append(an.append(am)))}if(this.showLabels){aj=L(document.createElement("td"));aj.addClass("jqplot-table-legend jqplot-table-legend-label");aj.css("paddingTop",al);ap.append(aj);if(this.escapeHtml){aj.text(aq)}else{aj.html(aq)}}aj=null;an=null;am=null;ap=null;ai=null};L.jqplot.TableLegendRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}if(this.show){var am=this._series;var ai=document.createElement("table");this._elem=L(ai);this._elem.addClass("jqplot-table-legend");var ar={position:"absolute"};if(this.background){ar.background=this.background}if(this.border){ar.border=this.border}if(this.fontSize){ar.fontSize=this.fontSize}if(this.fontFamily){ar.fontFamily=this.fontFamily}if(this.textColor){ar.textColor=this.textColor}if(this.marginTop!=null){ar.marginTop=this.marginTop}if(this.marginBottom!=null){ar.marginBottom=this.marginBottom}if(this.marginLeft!=null){ar.marginLeft=this.marginLeft}if(this.marginRight!=null){ar.marginRight=this.marginRight}var ah=false,ao=false,aq;for(var an=0;an<am.length;an++){aq=am[an];if(aq._stack||aq.renderer.constructor==L.jqplot.BezierCurveRenderer){ao=true}if(aq.show&&aq.showLabel){var al=this.labels[an]||aq.label.toString();if(al){var aj=aq.color;if(ao&&an<am.length-1){ah=true}else{if(ao&&an==am.length-1){ah=false}}this.renderer.addrow.call(this,al,aj,ah,ao);ah=true}for(var ak=0;ak<L.jqplot.addLegendRowHooks.length;ak++){var ap=L.jqplot.addLegendRowHooks[ak].call(this,aq);if(ap){this.renderer.addrow.call(this,ap.label,ap.color,ah);ah=true}}al=null}}}return this._elem};L.jqplot.TableLegendRenderer.prototype.pack=function(aj){if(this.show){if(this.placement=="insideGrid"){switch(this.location){case"nw":var ai=aj.left;var ah=aj.top;this._elem.css("left",ai);this._elem.css("top",ah);break;case"n":var ai=(aj.left+(this._plotDimensions.width-aj.right))/2-this.getWidth()/2;var ah=aj.top;this._elem.css("left",ai);this._elem.css("top",ah);break;case"ne":var ai=aj.right;var ah=aj.top;this._elem.css({right:ai,top:ah});break;case"e":var ai=aj.right;var ah=(aj.top+(this._plotDimensions.height-aj.bottom))/2-this.getHeight()/2;this._elem.css({right:ai,top:ah});break;case"se":var ai=aj.right;var ah=aj.bottom;this._elem.css({right:ai,bottom:ah});break;case"s":var ai=(aj.left+(this._plotDimensions.width-aj.right))/2-this.getWidth()/2;var ah=aj.bottom;this._elem.css({left:ai,bottom:ah});break;case"sw":var ai=aj.left;var ah=aj.bottom;this._elem.css({left:ai,bottom:ah});break;case"w":var ai=aj.left;var ah=(aj.top+(this._plotDimensions.height-aj.bottom))/2-this.getHeight()/2;this._elem.css({left:ai,top:ah});break;default:var ai=aj.right;var ah=aj.bottom;this._elem.css({right:ai,bottom:ah});break}}else{if(this.placement=="outside"){switch(this.location){case"nw":var ai=this._plotDimensions.width-aj.left;var ah=aj.top;this._elem.css("right",ai);this._elem.css("top",ah);break;case"n":var ai=(aj.left+(this._plotDimensions.width-aj.right))/2-this.getWidth()/2;var ah=this._plotDimensions.height-aj.top;this._elem.css("left",ai);this._elem.css("bottom",ah);break;case"ne":var ai=this._plotDimensions.width-aj.right;var ah=aj.top;this._elem.css({left:ai,top:ah});break;case"e":var ai=this._plotDimensions.width-aj.right;var ah=(aj.top+(this._plotDimensions.height-aj.bottom))/2-this.getHeight()/2;this._elem.css({left:ai,top:ah});break;case"se":var ai=this._plotDimensions.width-aj.right;var ah=aj.bottom;this._elem.css({left:ai,bottom:ah});break;case"s":var ai=(aj.left+(this._plotDimensions.width-aj.right))/2-this.getWidth()/2;var ah=this._plotDimensions.height-aj.bottom;this._elem.css({left:ai,top:ah});break;case"sw":var ai=this._plotDimensions.width-aj.left;var ah=aj.bottom;this._elem.css({right:ai,bottom:ah});break;case"w":var ai=this._plotDimensions.width-aj.left;var ah=(aj.top+(this._plotDimensions.height-aj.bottom))/2-this.getHeight()/2;this._elem.css({right:ai,top:ah});break;default:var ai=aj.right;var ah=aj.bottom;this._elem.css({right:ai,bottom:ah});break}}else{switch(this.location){case"nw":this._elem.css({left:0,top:aj.top});break;case"n":var ai=(aj.left+(this._plotDimensions.width-aj.right))/2-this.getWidth()/2;this._elem.css({left:ai,top:aj.top});break;case"ne":this._elem.css({right:0,top:aj.top});break;case"e":var ah=(aj.top+(this._plotDimensions.height-aj.bottom))/2-this.getHeight()/2;this._elem.css({right:aj.right,top:ah});break;case"se":this._elem.css({right:aj.right,bottom:aj.bottom});break;case"s":var ai=(aj.left+(this._plotDimensions.width-aj.right))/2-this.getWidth()/2;this._elem.css({left:ai,bottom:aj.bottom});break;case"sw":this._elem.css({left:aj.left,bottom:aj.bottom});break;case"w":var ah=(aj.top+(this._plotDimensions.height-aj.bottom))/2-this.getHeight()/2;this._elem.css({left:aj.left,top:ah});break;default:this._elem.css({right:aj.right,bottom:aj.bottom});break}}}}};L.jqplot.ThemeEngine=function(){this.themes={};this.activeTheme=null};L.jqplot.ThemeEngine.prototype.init=function(){var ak=new L.jqplot.Theme({_name:"Default"});var an,ai,am;for(an in ak.target){if(an=="textColor"){ak.target[an]=this.target.css("color")}else{ak.target[an]=this.target.css(an)}}if(this.title.show&&this.title._elem){for(an in ak.title){if(an=="textColor"){ak.title[an]=this.title._elem.css("color")}else{ak.title[an]=this.title._elem.css(an)}}}for(an in ak.grid){ak.grid[an]=this.grid[an]}if(ak.grid.backgroundColor==null&&this.grid.background!=null){ak.grid.backgroundColor=this.grid.background}if(this.legend.show&&this.legend._elem){for(an in ak.legend){if(an=="textColor"){ak.legend[an]=this.legend._elem.css("color")}else{ak.legend[an]=this.legend._elem.css(an)}}}var aj;for(ai=0;ai<this.series.length;ai++){aj=this.series[ai];if(aj.renderer.constructor==L.jqplot.LineRenderer){ak.series.push(new p())}else{if(aj.renderer.constructor==L.jqplot.BarRenderer){ak.series.push(new T())}else{if(aj.renderer.constructor==L.jqplot.PieRenderer){ak.series.push(new f())}else{if(aj.renderer.constructor==L.jqplot.DonutRenderer){ak.series.push(new G())}else{if(aj.renderer.constructor==L.jqplot.FunnelRenderer){ak.series.push(new Z())}else{if(aj.renderer.constructor==L.jqplot.MeterGaugeRenderer){ak.series.push(new D())}else{ak.series.push({})}}}}}}for(an in ak.series[ai]){ak.series[ai][an]=aj[an]}}var ah,al;for(an in this.axes){al=this.axes[an];ah=ak.axes[an]=new P();ah.borderColor=al.borderColor;ah.borderWidth=al.borderWidth;if(al._ticks&&al._ticks[0]){for(am in ah.ticks){if(al._ticks[0].hasOwnProperty(am)){ah.ticks[am]=al._ticks[0][am]}else{if(al._ticks[0]._elem){ah.ticks[am]=al._ticks[0]._elem.css(am)}}}}if(al._label&&al._label.show){for(am in ah.label){if(al._label[am]){ah.label[am]=al._label[am]}else{if(al._label._elem){if(am=="textColor"){ah.label[am]=al._label._elem.css("color")}else{ah.label[am]=al._label._elem.css(am)}}}}}}this.themeEngine._add(ak);this.themeEngine.activeTheme=this.themeEngine.themes[ak._name]};L.jqplot.ThemeEngine.prototype.get=function(ah){if(!ah){return this.activeTheme}else{return this.themes[ah]}};function O(ai,ah){return ai-ah}L.jqplot.ThemeEngine.prototype.getThemeNames=function(){var ah=[];for(var ai in this.themes){ah.push(ai)}return ah.sort(O)};L.jqplot.ThemeEngine.prototype.getThemes=function(){var ai=[];var ah=[];for(var ak in this.themes){ai.push(ak)}ai.sort(O);for(var aj=0;aj<ai.length;aj++){ah.push(this.themes[ai[aj]])}return ah};L.jqplot.ThemeEngine.prototype.activate=function(av,aB){var ah=false;if(!aB&&this.activeTheme&&this.activeTheme._name){aB=this.activeTheme._name}if(!this.themes.hasOwnProperty(aB)){throw new Error("No theme of that name")}else{var am=this.themes[aB];this.activeTheme=am;var aA,at=false,ar=false;var ai=["xaxis","x2axis","yaxis","y2axis"];for(aw=0;aw<ai.length;aw++){var an=ai[aw];if(am.axesStyles.borderColor!=null){av.axes[an].borderColor=am.axesStyles.borderColor}if(am.axesStyles.borderWidth!=null){av.axes[an].borderWidth=am.axesStyles.borderWidth}}for(var az in av.axes){var ak=av.axes[az];if(ak.show){var aq=am.axes[az]||{};var ao=am.axesStyles;var al=L.jqplot.extend(true,{},aq,ao);aA=(am.axesStyles.borderColor!=null)?am.axesStyles.borderColor:al.borderColor;if(al.borderColor!=null){ak.borderColor=al.borderColor;ah=true}aA=(am.axesStyles.borderWidth!=null)?am.axesStyles.borderWidth:al.borderWidth;if(al.borderWidth!=null){ak.borderWidth=al.borderWidth;ah=true}if(ak._ticks&&ak._ticks[0]){for(var aj in al.ticks){aA=al.ticks[aj];if(aA!=null){ak.tickOptions[aj]=aA;ak._ticks=[];ah=true}}}if(ak._label&&ak._label.show){for(var aj in al.label){aA=al.label[aj];if(aA!=null){ak.labelOptions[aj]=aA;ah=true}}}}}for(var au in am.grid){if(am.grid[au]!=null){av.grid[au]=am.grid[au]}}if(!ah){av.grid.draw()}if(av.legend.show){for(au in am.legend){if(am.legend[au]!=null){av.legend[au]=am.legend[au]}}}if(av.title.show){for(au in am.title){if(am.title[au]!=null){av.title[au]=am.title[au]}}}var aw;for(aw=0;aw<am.series.length;aw++){var ap={};var ay=false;for(au in am.series[aw]){aA=(am.seriesStyles[au]!=null)?am.seriesStyles[au]:am.series[aw][au];if(aA!=null){ap[au]=aA;if(au=="color"){av.series[aw].renderer.shapeRenderer.fillStyle=aA;av.series[aw].renderer.shapeRenderer.strokeStyle=aA;av.series[aw][au]=aA}else{if((au=="lineWidth")||(au=="linePattern")){av.series[aw].renderer.shapeRenderer[au]=aA;av.series[aw][au]=aA}else{if(au=="markerOptions"){V(av.series[aw].markerOptions,aA);V(av.series[aw].markerRenderer,aA)}else{av.series[aw][au]=aA}}}ah=true}}}if(ah){av.target.empty();av.draw()}for(au in am.target){if(am.target[au]!=null){av.target.css(au,am.target[au])}}}};L.jqplot.ThemeEngine.prototype._add=function(ai,ah){if(ah){ai._name=ah}if(!ai._name){ai._name=Date.parse(new Date())}if(!this.themes.hasOwnProperty(ai._name)){this.themes[ai._name]=ai}else{throw new Error("jqplot.ThemeEngine Error: Theme already in use")}};L.jqplot.ThemeEngine.prototype.remove=function(ah){if(ah=="Default"){return false}return delete this.themes[ah]};L.jqplot.ThemeEngine.prototype.newTheme=function(ah,aj){if(typeof(ah)=="object"){aj=aj||ah;ah=null}if(aj&&aj._name){ah=aj._name}else{ah=ah||Date.parse(new Date())}var ai=this.copy(this.themes.Default._name,ah);L.jqplot.extend(ai,aj);return ai};function B(aj){if(aj==null||typeof(aj)!="object"){return aj}var ah=new aj.constructor();for(var ai in aj){ah[ai]=B(aj[ai])}return ah}L.jqplot.clone=B;function V(aj,ai){if(ai==null||typeof(ai)!="object"){return}for(var ah in ai){if(ah=="highlightColors"){aj[ah]=B(ai[ah])}if(ai[ah]!=null&&typeof(ai[ah])=="object"){if(!aj.hasOwnProperty(ah)){aj[ah]={}}V(aj[ah],ai[ah])}else{aj[ah]=ai[ah]}}}L.jqplot.merge=V;L.jqplot.extend=function(){var am=arguments[0]||{},ak=1,al=arguments.length,ah=false,aj;if(typeof am==="boolean"){ah=am;am=arguments[1]||{};ak=2}if(typeof am!=="object"&&!toString.call(am)==="[object Function]"){am={}}for(;ak<al;ak++){if((aj=arguments[ak])!=null){for(var ai in aj){var an=am[ai],ao=aj[ai];if(am===ao){continue}if(ah&&ao&&typeof ao==="object"&&!ao.nodeType){am[ai]=L.jqplot.extend(ah,an||(ao.length!=null?[]:{}),ao)}else{if(ao!==u){am[ai]=ao}}}}}return am};L.jqplot.ThemeEngine.prototype.rename=function(ai,ah){if(ai=="Default"||ah=="Default"){throw new Error("jqplot.ThemeEngine Error: Cannot rename from/to Default")}if(this.themes.hasOwnProperty(ah)){throw new Error("jqplot.ThemeEngine Error: New name already in use.")}else{if(this.themes.hasOwnProperty(ai)){var aj=this.copy(ai,ah);this.remove(ai);return aj}}throw new Error("jqplot.ThemeEngine Error: Old name or new name invalid")};L.jqplot.ThemeEngine.prototype.copy=function(ah,aj,al){if(aj=="Default"){throw new Error("jqplot.ThemeEngine Error: Cannot copy over Default theme")}if(!this.themes.hasOwnProperty(ah)){var ai="jqplot.ThemeEngine Error: Source name invalid";throw new Error(ai)}if(this.themes.hasOwnProperty(aj)){var ai="jqplot.ThemeEngine Error: Target name invalid";throw new Error(ai)}else{var ak=B(this.themes[ah]);ak._name=aj;L.jqplot.extend(true,ak,al);this._add(ak);return ak}};L.jqplot.Theme=function(ah,ai){if(typeof(ah)=="object"){ai=ai||ah;ah=null}ah=ah||Date.parse(new Date());this._name=ah;this.target={backgroundColor:null};this.legend={textColor:null,fontFamily:null,fontSize:null,border:null,background:null};this.title={textColor:null,fontFamily:null,fontSize:null,textAlign:null};this.seriesStyles={};this.series=[];this.grid={drawGridlines:null,gridLineColor:null,gridLineWidth:null,backgroundColor:null,borderColor:null,borderWidth:null,shadow:null};this.axesStyles={label:{},ticks:{}};this.axes={};if(typeof(ai)=="string"){this._name=ai}else{if(typeof(ai)=="object"){L.jqplot.extend(true,this,ai)}}};var P=function(){this.borderColor=null;this.borderWidth=null;this.ticks=new o();this.label=new t()};var o=function(){this.show=null;this.showGridline=null;this.showLabel=null;this.showMark=null;this.size=null;this.textColor=null;this.whiteSpace=null;this.fontSize=null;this.fontFamily=null};var t=function(){this.textColor=null;this.whiteSpace=null;this.fontSize=null;this.fontFamily=null;this.fontWeight=null};var p=function(){this.color=null;this.lineWidth=null;this.linePattern=null;this.shadow=null;this.fillColor=null;this.showMarker=null;this.markerOptions=new I()};var I=function(){this.show=null;this.style=null;this.lineWidth=null;this.size=null;this.color=null;this.shadow=null};var T=function(){this.color=null;this.seriesColors=null;this.lineWidth=null;this.shadow=null;this.barPadding=null;this.barMargin=null;this.barWidth=null;this.highlightColors=null};var f=function(){this.seriesColors=null;this.padding=null;this.sliceMargin=null;this.fill=null;this.shadow=null;this.startAngle=null;this.lineWidth=null;this.highlightColors=null};var G=function(){this.seriesColors=null;this.padding=null;this.sliceMargin=null;this.fill=null;this.shadow=null;this.startAngle=null;this.lineWidth=null;this.innerDiameter=null;this.thickness=null;this.ringMargin=null;this.highlightColors=null};var Z=function(){this.color=null;this.lineWidth=null;this.shadow=null;this.padding=null;this.sectionMargin=null;this.seriesColors=null;this.highlightColors=null};var D=function(){this.padding=null;this.backgroundColor=null;this.ringColor=null;this.tickColor=null;this.ringWidth=null;this.intervalColors=null;this.intervalInnerRadius=null;this.intervalOuterRadius=null;this.hubRadius=null;this.needleThickness=null;this.needlePad=null};L.fn.jqplotChildText=function(){return L(this).contents().filter(function(){return this.nodeType==3}).text()};L.fn.jqplotGetComputedFontStyle=function(){var ak=window.getComputedStyle?window.getComputedStyle(this[0],""):this[0].currentStyle;var ai=ak["font-style"]?["font-style","font-weight","font-size","font-family"]:["fontStyle","fontWeight","fontSize","fontFamily"];var al=[];for(var aj=0;aj<ai.length;++aj){var ah=String(ak[ai[aj]]);if(ah&&ah!="normal"){al.push(ah)}}return al.join(" ")};L.fn.jqplotToImageCanvas=function(aj){aj=aj||{};var av=(aj.x_offset==null)?0:aj.x_offset;var ax=(aj.y_offset==null)?0:aj.y_offset;var al=(aj.backgroundColor==null)?"rgb(255,255,255)":aj.backgroundColor;if(L(this).width()==0||L(this).height()==0){return null}if(L.jqplot.use_excanvas){return null}var an=document.createElement("canvas");var aA=L(this).outerHeight(true);var at=L(this).outerWidth(true);var am=L(this).offset();var ao=am.left;var aq=am.top;var au=0,ar=0;var ay=["jqplot-table-legend","jqplot-xaxis-tick","jqplot-x2axis-tick","jqplot-yaxis-tick","jqplot-y2axis-tick","jqplot-y3axis-tick","jqplot-y4axis-tick","jqplot-y5axis-tick","jqplot-y6axis-tick","jqplot-y7axis-tick","jqplot-y8axis-tick","jqplot-y9axis-tick","jqplot-xaxis-label","jqplot-x2axis-label","jqplot-yaxis-label","jqplot-y2axis-label","jqplot-y3axis-label","jqplot-y4axis-label","jqplot-y5axis-label","jqplot-y6axis-label","jqplot-y7axis-label","jqplot-y8axis-label","jqplot-y9axis-label"];var ap,ah,ai,aB;for(var az=0;az<ay.length;az++){L(this).find("."+ay[az]).each(function(){ap=L(this).offset().top-aq;ah=L(this).offset().left-ao;aB=ah+L(this).outerWidth(true)+au;ai=ap+L(this).outerHeight(true)+ar;if(ah<-au){at=at-au-ah;au=-ah}if(ap<-ar){aA=aA-ar-ap;ar=-ap}if(aB>at){at=aB}if(ai>aA){aA=ai}})}an.width=at+Number(av);an.height=aA+Number(ax);var ak=an.getContext("2d");ak.save();ak.fillStyle=al;ak.fillRect(0,0,an.width,an.height);ak.restore();ak.translate(au,ar);ak.textAlign="left";ak.textBaseline="top";function aC(aE){var aF=parseInt(L(aE).css("line-height"),10);if(isNaN(aF)){aF=parseInt(L(aE).css("font-size"),10)*1.2}return aF}function aD(aF,aE,aS,aG,aO,aH){var aQ=aC(aF);var aK=L(aF).innerWidth();var aL=L(aF).innerHeight();var aN=aS.split(/\s+/);var aR=aN.length;var aP="";var aM=[];var aU=aO;var aT=aG;for(var aJ=0;aJ<aR;aJ++){aP+=aN[aJ];if(aE.measureText(aP).width>aK){aM.push(aJ);aP="";aJ--}}if(aM.length===0){if(L(aF).css("textAlign")==="center"){aT=aG+(aH-aE.measureText(aP).width)/2-au}aE.fillText(aS,aT,aO)}else{aP=aN.slice(0,aM[0]).join(" ");if(L(aF).css("textAlign")==="center"){aT=aG+(aH-aE.measureText(aP).width)/2-au}aE.fillText(aP,aT,aU);aU+=aQ;for(var aJ=1,aI=aM.length;aJ<aI;aJ++){aP=aN.slice(aM[aJ-1],aM[aJ]).join(" ");if(L(aF).css("textAlign")==="center"){aT=aG+(aH-aE.measureText(aP).width)/2-au}aE.fillText(aP,aT,aU);aU+=aQ}aP=aN.slice(aM[aJ-1],aN.length).join(" ");if(L(aF).css("textAlign")==="center"){aT=aG+(aH-aE.measureText(aP).width)/2-au}aE.fillText(aP,aT,aU)}}function aw(aG,aJ,aE){var aN=aG.tagName.toLowerCase();var aF=L(aG).position();var aK=window.getComputedStyle?window.getComputedStyle(aG,""):aG.currentStyle;var aI=aJ+aF.left+parseInt(aK.marginLeft,10)+parseInt(aK.borderLeftWidth,10)+parseInt(aK.paddingLeft,10);var aL=aE+aF.top+parseInt(aK.marginTop,10)+parseInt(aK.borderTopWidth,10)+parseInt(aK.paddingTop,10);var aM=an.width;if((aN=="div"||aN=="span")&&!L(aG).hasClass("jqplot-highlighter-tooltip")){L(aG).children().each(function(){aw(this,aI,aL)});var aO=L(aG).jqplotChildText();if(aO){ak.font=L(aG).jqplotGetComputedFontStyle();ak.fillStyle=L(aG).css("color");aD(aG,ak,aO,aI,aL,aM)}}else{if(aN==="table"&&L(aG).hasClass("jqplot-table-legend")){ak.strokeStyle=L(aG).css("border-top-color");ak.fillStyle=L(aG).css("background-color");ak.fillRect(aI,aL,L(aG).innerWidth(),L(aG).innerHeight());if(parseInt(L(aG).css("border-top-width"),10)>0){ak.strokeRect(aI,aL,L(aG).innerWidth(),L(aG).innerHeight())}L(aG).find("div.jqplot-table-legend-swatch-outline").each(function(){var aU=L(this);ak.strokeStyle=aU.css("border-top-color");var aQ=aI+aU.position().left;var aR=aL+aU.position().top;ak.strokeRect(aQ,aR,aU.innerWidth(),aU.innerHeight());aQ+=parseInt(aU.css("padding-left"),10);aR+=parseInt(aU.css("padding-top"),10);var aT=aU.innerHeight()-2*parseInt(aU.css("padding-top"),10);var aP=aU.innerWidth()-2*parseInt(aU.css("padding-left"),10);var aS=aU.children("div.jqplot-table-legend-swatch");ak.fillStyle=aS.css("background-color");ak.fillRect(aQ,aR,aP,aT)});L(aG).find("td.jqplot-table-legend-label").each(function(){var aR=L(this);var aP=aI+aR.position().left;var aQ=aL+aR.position().top+parseInt(aR.css("padding-top"),10);ak.font=aR.jqplotGetComputedFontStyle();ak.fillStyle=aR.css("color");aD(aR,ak,aR.text(),aP,aQ,aM)});var aH=null}else{if(aN=="canvas"){ak.drawImage(aG,aI,aL)}}}}L(this).children().each(function(){aw(this,av,ax)});return an};L.fn.jqplotToImageStr=function(ai){var ah=L(this).jqplotToImageCanvas(ai);if(ah){return ah.toDataURL("image/png")}else{return null}};L.fn.jqplotToImageElem=function(ah){var ai=document.createElement("img");var aj=L(this).jqplotToImageStr(ah);ai.src=aj;return ai};L.fn.jqplotToImageElemStr=function(ah){var ai="<img src="+L(this).jqplotToImageStr(ah)+" />";return ai};L.fn.jqplotSaveImage=function(){var ah=L(this).jqplotToImageStr({});if(ah){window.location.href=ah.replace("image/png","image/octet-stream")}};L.fn.jqplotViewImage=function(){var ai=L(this).jqplotToImageElemStr({});var aj=L(this).jqplotToImageStr({});if(ai){var ah=window.open("");ah.document.open("image/png");ah.document.write(ai);ah.document.close();ah=null}};var ag=function(){this.syntax=ag.config.syntax;this._type="jsDate";this.proxy=new Date();this.options={};this.locale=ag.regional.getLocale();this.formatString="";this.defaultCentury=ag.config.defaultCentury;switch(arguments.length){case 0:break;case 1:if(l(arguments[0])=="[object Object]"&&arguments[0]._type!="jsDate"){var aj=this.options=arguments[0];this.syntax=aj.syntax||this.syntax;this.defaultCentury=aj.defaultCentury||this.defaultCentury;this.proxy=ag.createDate(aj.date)}else{this.proxy=ag.createDate(arguments[0])}break;default:var ah=[];for(var ai=0;ai<arguments.length;ai++){ah.push(arguments[ai])}this.proxy=new Date();this.proxy.setFullYear.apply(this.proxy,ah.slice(0,3));if(ah.slice(3).length){this.proxy.setHours.apply(this.proxy,ah.slice(3))}break}};ag.config={defaultLocale:"en",syntax:"perl",defaultCentury:1900};ag.prototype.add=function(aj,ai){var ah=E[ai]||E.day;if(typeof ah=="number"){this.proxy.setTime(this.proxy.getTime()+(ah*aj))}else{ah.add(this,aj)}return this};ag.prototype.clone=function(){return new ag(this.proxy.getTime())};ag.prototype.getUtcOffset=function(){return this.proxy.getTimezoneOffset()*60000};ag.prototype.diff=function(ai,al,ah){ai=new ag(ai);if(ai===null){return null}var aj=E[al]||E.day;if(typeof aj=="number"){var ak=(this.proxy.getTime()-ai.proxy.getTime())/aj}else{var ak=aj.diff(this.proxy,ai.proxy)}return(ah?ak:Math[ak>0?"floor":"ceil"](ak))};ag.prototype.getAbbrDayName=function(){return ag.regional[this.locale]["dayNamesShort"][this.proxy.getDay()]};ag.prototype.getAbbrMonthName=function(){return ag.regional[this.locale]["monthNamesShort"][this.proxy.getMonth()]};ag.prototype.getAMPM=function(){return this.proxy.getHours()>=12?"PM":"AM"};ag.prototype.getAmPm=function(){return this.proxy.getHours()>=12?"pm":"am"};ag.prototype.getCentury=function(){return parseInt(this.proxy.getFullYear()/100,10)};ag.prototype.getDate=function(){return this.proxy.getDate()};ag.prototype.getDay=function(){return this.proxy.getDay()};ag.prototype.getDayOfWeek=function(){var ah=this.proxy.getDay();return ah===0?7:ah};ag.prototype.getDayOfYear=function(){var ai=this.proxy;var ah=ai-new Date(""+ai.getFullYear()+"/1/1 GMT");ah+=ai.getTimezoneOffset()*60000;ai=null;return parseInt(ah/60000/60/24,10)+1};ag.prototype.getDayName=function(){return ag.regional[this.locale]["dayNames"][this.proxy.getDay()]};ag.prototype.getFullWeekOfYear=function(){var ak=this.proxy;var ah=this.getDayOfYear();var aj=6-ak.getDay();var ai=parseInt((ah+aj)/7,10);return ai};ag.prototype.getFullYear=function(){return this.proxy.getFullYear()};ag.prototype.getGmtOffset=function(){var ah=this.proxy.getTimezoneOffset()/60;var ai=ah<0?"+":"-";ah=Math.abs(ah);return ai+N(Math.floor(ah),2)+":"+N((ah%1)*60,2)};ag.prototype.getHours=function(){return this.proxy.getHours()};ag.prototype.getHours12=function(){var ah=this.proxy.getHours();return ah>12?ah-12:(ah==0?12:ah)};ag.prototype.getIsoWeek=function(){var ak=this.proxy;var aj=this.getWeekOfYear();var ah=(new Date(""+ak.getFullYear()+"/1/1")).getDay();var ai=aj+(ah>4||ah<=1?0:1);if(ai==53&&(new Date(""+ak.getFullYear()+"/12/31")).getDay()<4){ai=1}else{if(ai===0){ak=new ag(new Date(""+(ak.getFullYear()-1)+"/12/31"));ai=ak.getIsoWeek()}}ak=null;return ai};ag.prototype.getMilliseconds=function(){return this.proxy.getMilliseconds()};ag.prototype.getMinutes=function(){return this.proxy.getMinutes()};ag.prototype.getMonth=function(){return this.proxy.getMonth()};ag.prototype.getMonthName=function(){return ag.regional[this.locale]["monthNames"][this.proxy.getMonth()]};ag.prototype.getMonthNumber=function(){return this.proxy.getMonth()+1};ag.prototype.getSeconds=function(){return this.proxy.getSeconds()};ag.prototype.getShortYear=function(){return this.proxy.getYear()%100};ag.prototype.getTime=function(){return this.proxy.getTime()};ag.prototype.getTimezoneAbbr=function(){return this.proxy.toString().replace(/^.*\(([^)]+)\)$/,"$1")};ag.prototype.getTimezoneName=function(){var ah=/(?:\((.+)\)$| ([A-Z]{3}) )/.exec(this.toString());return ah[1]||ah[2]||"GMT"+this.getGmtOffset()};ag.prototype.getTimezoneOffset=function(){return this.proxy.getTimezoneOffset()};ag.prototype.getWeekOfYear=function(){var ah=this.getDayOfYear();var aj=7-this.getDayOfWeek();var ai=parseInt((ah+aj)/7,10);return ai};ag.prototype.getUnix=function(){return Math.round(this.proxy.getTime()/1000,0)};ag.prototype.getYear=function(){return this.proxy.getYear()};ag.prototype.next=function(ah){ah=ah||"day";return this.clone().add(1,ah)};ag.prototype.set=function(){switch(arguments.length){case 0:this.proxy=new Date();break;case 1:if(l(arguments[0])=="[object Object]"&&arguments[0]._type!="jsDate"){var aj=this.options=arguments[0];this.syntax=aj.syntax||this.syntax;this.defaultCentury=aj.defaultCentury||this.defaultCentury;this.proxy=ag.createDate(aj.date)}else{this.proxy=ag.createDate(arguments[0])}break;default:var ah=[];for(var ai=0;ai<arguments.length;ai++){ah.push(arguments[ai])}this.proxy=new Date();this.proxy.setFullYear.apply(this.proxy,ah.slice(0,3));if(ah.slice(3).length){this.proxy.setHours.apply(this.proxy,ah.slice(3))}break}return this};ag.prototype.setDate=function(ah){this.proxy.setDate(ah);return this};ag.prototype.setFullYear=function(){this.proxy.setFullYear.apply(this.proxy,arguments);return this};ag.prototype.setHours=function(){this.proxy.setHours.apply(this.proxy,arguments);return this};ag.prototype.setMilliseconds=function(ah){this.proxy.setMilliseconds(ah);return this};ag.prototype.setMinutes=function(){this.proxy.setMinutes.apply(this.proxy,arguments);return this};ag.prototype.setMonth=function(){this.proxy.setMonth.apply(this.proxy,arguments);return this};ag.prototype.setSeconds=function(){this.proxy.setSeconds.apply(this.proxy,arguments);return this};ag.prototype.setTime=function(ah){this.proxy.setTime(ah);return this};ag.prototype.setYear=function(){this.proxy.setYear.apply(this.proxy,arguments);return this};ag.prototype.strftime=function(ah){ah=ah||this.formatString||ag.regional[this.locale]["formatString"];return ag.strftime(this,ah,this.syntax)};ag.prototype.toString=function(){return this.proxy.toString()};ag.prototype.toYmdInt=function(){return(this.proxy.getFullYear()*10000)+(this.getMonthNumber()*100)+this.proxy.getDate()};ag.regional={en:{monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],formatString:"%Y-%m-%d %H:%M:%S"},fr:{monthNames:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthNamesShort:["Jan","Fév","Mar","Avr","Mai","Jun","Jul","Aoû","Sep","Oct","Nov","Déc"],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],formatString:"%Y-%m-%d %H:%M:%S"},de:{monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],formatString:"%Y-%m-%d %H:%M:%S"},es:{monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthNamesShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],dayNames:["Domingo","Lunes","Martes","Mi&eacute;rcoles","Jueves","Viernes","S&aacute;bado"],dayNamesShort:["Dom","Lun","Mar","Mi&eacute;","Juv","Vie","S&aacute;b"],formatString:"%Y-%m-%d %H:%M:%S"},ru:{monthNames:["Январь","Февраль","Март","Ðпрель","Май","Июнь","Июль","ÐвгуÑÑ‚","СентÑбрь","ОктÑбрь","ÐоÑбрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Ðпр","Май","Июн","Июл","Ðвг","Сен","Окт","ÐоÑ","Дек"],dayNames:["воÑкреÑенье","понедельник","вторник","Ñреда","четверг","пÑтница","Ñуббота"],dayNamesShort:["вÑк","пнд","втр","Ñрд","чтв","птн","Ñбт"],formatString:"%Y-%m-%d %H:%M:%S"},ar:{monthNames:["كانون الثاني","شباط","آذار","نيسان","آذار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["السبت","الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة"],dayNamesShort:["سبت","أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة"],formatString:"%Y-%m-%d %H:%M:%S"},pt:{monthNames:["Janeiro","Fevereiro","Mar&ccedil;o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Ter&ccedil;a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S&aacute;bado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","S&aacute;b"],formatString:"%Y-%m-%d %H:%M:%S"},"pt-BR":{monthNames:["Janeiro","Fevereiro","Mar&ccedil;o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Ter&ccedil;a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S&aacute;bado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","S&aacute;b"],formatString:"%Y-%m-%d %H:%M:%S"},pl:{monthNames:["StyczeÅ„","Luty","Marzec","KwiecieÅ„","Maj","Czerwiec","Lipiec","SierpieÅ„","WrzesieÅ„","Październik","Listopad","GrudzieÅ„"],monthNamesShort:["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Paź","Lis","Gru"],dayNames:["Niedziela","PoniedziaÅ‚ek","Wtorek","Åšroda","Czwartek","PiÄ…tek","Sobota"],dayNamesShort:["Ni","Pn","Wt","Åšr","Cz","Pt","Sb"],formatString:"%Y-%m-%d %H:%M:%S"},nl:{monthNames:["Januari","Februari","Maart","April","Mei","Juni","July","Augustus","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:","["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"],dayNamesShort:["Zo","Ma","Di","Wo","Do","Vr","Za"],formatString:"%Y-%m-%d %H:%M:%S"},sv:{monthNames:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthNamesShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],dayNames:["söndag","mÃ¥ndag","tisdag","onsdag","torsdag","fredag","lördag"],dayNamesShort:["sön","mÃ¥n","tis","ons","tor","fre","lör"],formatString:"%Y-%m-%d %H:%M:%S"}};ag.regional["en-US"]=ag.regional["en-GB"]=ag.regional.en;ag.regional.getLocale=function(){var ah=ag.config.defaultLocale;if(document&&document.getElementsByTagName("html")&&document.getElementsByTagName("html")[0].lang){ah=document.getElementsByTagName("html")[0].lang;if(!ag.regional.hasOwnProperty(ah)){ah=ag.config.defaultLocale}}return ah};var C=24*60*60*1000;var N=function(ah,ak){ah=String(ah);var ai=ak-ah.length;var aj=String(Math.pow(10,ai)).slice(1);return aj.concat(ah)};var E={millisecond:1,second:1000,minute:60*1000,hour:60*60*1000,day:C,week:7*C,month:{add:function(aj,ah){E.year.add(aj,Math[ah>0?"floor":"ceil"](ah/12));var ai=aj.getMonth()+(ah%12);if(ai==12){ai=0;aj.setYear(aj.getFullYear()+1)}else{if(ai==-1){ai=11;aj.setYear(aj.getFullYear()-1)}}aj.setMonth(ai)},diff:function(al,aj){var ah=al.getFullYear()-aj.getFullYear();var ai=al.getMonth()-aj.getMonth()+(ah*12);var ak=al.getDate()-aj.getDate();return ai+(ak/30)}},year:{add:function(ai,ah){ai.setYear(ai.getFullYear()+Math[ah>0?"floor":"ceil"](ah))},diff:function(ai,ah){return E.month.diff(ai,ah)/12}}};for(var Y in E){if(Y.substring(Y.length-1)!="s"){E[Y+"s"]=E[Y]}}var H=function(al,ak,ai){if(ag.formats[ai]["shortcuts"][ak]){return ag.strftime(al,ag.formats[ai]["shortcuts"][ak],ai)}else{var ah=(ag.formats[ai]["codes"][ak]||"").split(".");var aj=al["get"+ah[0]]?al["get"+ah[0]]():"";if(ah[1]){aj=N(aj,ah[1])}return aj}};ag.strftime=function(an,ak,aj,ao){var ai="perl";var am=ag.regional.getLocale();if(aj&&ag.formats.hasOwnProperty(aj)){ai=aj}else{if(aj&&ag.regional.hasOwnProperty(aj)){am=aj}}if(ao&&ag.formats.hasOwnProperty(ao)){ai=ao}else{if(ao&&ag.regional.hasOwnProperty(ao)){am=ao}}if(l(an)!="[object Object]"||an._type!="jsDate"){an=new ag(an);an.locale=am}if(!ak){ak=an.formatString||ag.regional[am]["formatString"]}var ah=ak||"%Y-%m-%d",ap="",al;while(ah.length>0){if(al=ah.match(ag.formats[ai].codes.matcher)){ap+=ah.slice(0,al.index);ap+=(al[1]||"")+H(an,al[2],ai);ah=ah.slice(al.index+al[0].length)}else{ap+=ah;ah=""}}return ap};ag.formats={ISO:"%Y-%m-%dT%H:%M:%S.%N%G",SQL:"%Y-%m-%d %H:%M:%S"};ag.formats.perl={codes:{matcher:/()%(#?(%|[a-z]))/i,Y:"FullYear",y:"ShortYear.2",m:"MonthNumber.2","#m":"MonthNumber",B:"MonthName",b:"AbbrMonthName",d:"Date.2","#d":"Date",e:"Date",A:"DayName",a:"AbbrDayName",w:"Day",H:"Hours.2","#H":"Hours",I:"Hours12.2","#I":"Hours12",p:"AMPM",M:"Minutes.2","#M":"Minutes",S:"Seconds.2","#S":"Seconds",s:"Unix",N:"Milliseconds.3","#N":"Milliseconds",O:"TimezoneOffset",Z:"TimezoneName",G:"GmtOffset"},shortcuts:{F:"%Y-%m-%d",T:"%H:%M:%S",X:"%H:%M:%S",x:"%m/%d/%y",D:"%m/%d/%y","#c":"%a %b %e %H:%M:%S %Y",v:"%e-%b-%Y",R:"%H:%M",r:"%I:%M:%S %p",t:"\t",n:"\n","%":"%"}};ag.formats.php={codes:{matcher:/()%((%|[a-z]))/i,a:"AbbrDayName",A:"DayName",d:"Date.2",e:"Date",j:"DayOfYear.3",u:"DayOfWeek",w:"Day",U:"FullWeekOfYear.2",V:"IsoWeek.2",W:"WeekOfYear.2",b:"AbbrMonthName",B:"MonthName",m:"MonthNumber.2",h:"AbbrMonthName",C:"Century.2",y:"ShortYear.2",Y:"FullYear",H:"Hours.2",I:"Hours12.2",l:"Hours12",p:"AMPM",P:"AmPm",M:"Minutes.2",S:"Seconds.2",s:"Unix",O:"TimezoneOffset",z:"GmtOffset",Z:"TimezoneAbbr"},shortcuts:{D:"%m/%d/%y",F:"%Y-%m-%d",T:"%H:%M:%S",X:"%H:%M:%S",x:"%m/%d/%y",R:"%H:%M",r:"%I:%M:%S %p",t:"\t",n:"\n","%":"%"}};ag.createDate=function(aj){if(aj==null){return new Date()}if(aj instanceof Date){return aj}if(typeof aj=="number"){return new Date(aj)}var ao=String(aj).replace(/^\s*(.+)\s*$/g,"$1");ao=ao.replace(/^([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,4})/,"$1/$2/$3");ao=ao.replace(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{4})/i,"$1 $2 $3");var an=ao.match(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{2})\D*/i);if(an&&an.length>3){var at=parseFloat(an[3]);var am=ag.config.defaultCentury+at;am=String(am);ao=ao.replace(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{2})\D*/i,an[1]+" "+an[2]+" "+am)}an=ao.match(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})[^0-9]/);function ar(ax,aw){var aC=parseFloat(aw[1]);var aB=parseFloat(aw[2]);var aA=parseFloat(aw[3]);var az=ag.config.defaultCentury;var av,au,aD,ay;if(aC>31){au=aA;aD=aB;av=az+aC}else{au=aB;aD=aC;av=az+aA}ay=aD+"/"+au+"/"+av;return ax.replace(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})/,ay)}if(an&&an.length>3){ao=ar(ao,an)}var an=ao.match(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})$/);if(an&&an.length>3){ao=ar(ao,an)}var al=0;var ai=ag.matchers.length;var aq,ah,ap=ao,ak;while(al<ai){ah=Date.parse(ap);if(!isNaN(ah)){return new Date(ah)}aq=ag.matchers[al];if(typeof aq=="function"){ak=aq.call(ag,ap);if(ak instanceof Date){return ak}}else{ap=ao.replace(aq[0],aq[1])}al++}return NaN};ag.daysInMonth=function(ah,ai){if(ai==2){return new Date(ah,1,29).getDate()==29?29:28}return[u,31,u,31,30,31,30,31,31,30,31,30,31][ai]};ag.matchers=[[/(3[01]|[0-2]\d)\s*\.\s*(1[0-2]|0\d)\s*\.\s*([1-9]\d{3})/,"$2/$1/$3"],[/([1-9]\d{3})\s*-\s*(1[0-2]|0\d)\s*-\s*(3[01]|[0-2]\d)/,"$2/$3/$1"],function(ak){var ai=ak.match(/^(?:(.+)\s+)?([012]?\d)(?:\s*\:\s*(\d\d))?(?:\s*\:\s*(\d\d(\.\d*)?))?\s*(am|pm)?\s*$/i);if(ai){if(ai[1]){var aj=this.createDate(ai[1]);if(isNaN(aj)){return}}else{var aj=new Date();aj.setMilliseconds(0)}var ah=parseFloat(ai[2]);if(ai[6]){ah=ai[6].toLowerCase()=="am"?(ah==12?0:ah):(ah==12?12:ah+12)}aj.setHours(ah,parseInt(ai[3]||0,10),parseInt(ai[4]||0,10),((parseFloat(ai[5]||0))||0)*1000);return aj}else{return ak}},function(ak){var ai=ak.match(/^(?:(.+))[T|\s+]([012]\d)(?:\:(\d\d))(?:\:(\d\d))(?:\.\d+)([\+\-]\d\d\:\d\d)$/i);if(ai){if(ai[1]){var aj=this.createDate(ai[1]);if(isNaN(aj)){return}}else{var aj=new Date();aj.setMilliseconds(0)}var ah=parseFloat(ai[2]);aj.setHours(ah,parseInt(ai[3],10),parseInt(ai[4],10),parseFloat(ai[5])*1000);return aj}else{return ak}},function(al){var aj=al.match(/^([0-3]?\d)\s*[-\/.\s]{1}\s*([a-zA-Z]{3,9})\s*[-\/.\s]{1}\s*([0-3]?\d)$/);if(aj){var ak=new Date();var am=ag.config.defaultCentury;var ao=parseFloat(aj[1]);var an=parseFloat(aj[3]);var ai,ah,ap;if(ao>31){ah=an;ai=am+ao}else{ah=ao;ai=am+an}var ap=ab(aj[2],ag.regional[ag.regional.getLocale()]["monthNamesShort"]);if(ap==-1){ap=ab(aj[2],ag.regional[ag.regional.getLocale()]["monthNames"])}ak.setFullYear(ai,ap,ah);ak.setHours(0,0,0,0);return ak}else{return al}}];function ab(aj,ak){if(ak.indexOf){return ak.indexOf(aj)}for(var ah=0,ai=ak.length;ah<ai;ah++){if(ak[ah]===aj){return ah}}return -1}function l(ah){if(ah===null){return"[object Null]"}return Object.prototype.toString.call(ah)}L.jsDate=ag;L.jqplot.sprintf=function(){function an(au,ap,aq,at){var ar=(au.length>=ap)?"":Array(1+ap-au.length>>>0).join(aq);return at?au+ar:ar+au}function ak(ar){var aq=new String(ar);for(var ap=10;ap>0;ap--){if(aq==(aq=aq.replace(/^(\d+)(\d{3})/,"$1"+L.jqplot.sprintf.thousandsSeparator+"$2"))){break}}return aq}function aj(av,au,ax,ar,at,aq){var aw=ar-av.length;if(aw>0){var ap=" ";if(aq){ap="&nbsp;"}if(ax||!at){av=an(av,ar,ap,ax)}else{av=av.slice(0,au.length)+an("",aw,"0",true)+av.slice(au.length)}}return av}function ao(ay,aq,aw,ar,ap,av,ax,au){var at=ay>>>0;aw=aw&&at&&{"2":"0b","8":"0","16":"0x"}[aq]||"";ay=aw+an(at.toString(aq),av||0,"0",false);return aj(ay,aw,ar,ap,ax,au)}function ah(au,av,ar,ap,at,aq){if(ap!=null){au=au.slice(0,ap)}return aj(au,"",av,ar,at,aq)}var ai=arguments,al=0,am=ai[al++];return am.replace(L.jqplot.sprintf.regex,function(aM,ax,ay,aB,aO,aJ,av){if(aM=="%%"){return"%"}var aD=false,az="",aA=false,aL=false,aw=false,au=false;for(var aI=0;ay&&aI<ay.length;aI++){switch(ay.charAt(aI)){case" ":az=" ";break;case"+":az="+";break;case"-":aD=true;break;case"0":aA=true;break;case"#":aL=true;break;case"&":aw=true;break;case"'":au=true;break}}if(!aB){aB=0}else{if(aB=="*"){aB=+ai[al++]}else{if(aB.charAt(0)=="*"){aB=+ai[aB.slice(1,-1)]}else{aB=+aB}}}if(aB<0){aB=-aB;aD=true}if(!isFinite(aB)){throw new Error("$.jqplot.sprintf: (minimum-)width must be finite")}if(!aJ){aJ="fFeE".indexOf(av)>-1?6:(av=="d")?0:void (0)}else{if(aJ=="*"){aJ=+ai[al++]}else{if(aJ.charAt(0)=="*"){aJ=+ai[aJ.slice(1,-1)]}else{aJ=+aJ}}}var aF=ax?ai[ax.slice(0,-1)]:ai[al++];switch(av){case"s":if(aF==null){return""}return ah(String(aF),aD,aB,aJ,aA,aw);case"c":return ah(String.fromCharCode(+aF),aD,aB,aJ,aA,aw);case"b":return ao(aF,2,aL,aD,aB,aJ,aA,aw);case"o":return ao(aF,8,aL,aD,aB,aJ,aA,aw);case"x":return ao(aF,16,aL,aD,aB,aJ,aA,aw);case"X":return ao(aF,16,aL,aD,aB,aJ,aA,aw).toUpperCase();case"u":return ao(aF,10,aL,aD,aB,aJ,aA,aw);case"i":var ar=parseInt(+aF,10);if(isNaN(ar)){return""}var aH=ar<0?"-":az;var aK=au?ak(String(Math.abs(ar))):String(Math.abs(ar));aF=aH+an(aK,aJ,"0",false);return aj(aF,aH,aD,aB,aA,aw);case"d":var ar=Math.round(+aF);if(isNaN(ar)){return""}var aH=ar<0?"-":az;var aK=au?ak(String(Math.abs(ar))):String(Math.abs(ar));aF=aH+an(aK,aJ,"0",false);return aj(aF,aH,aD,aB,aA,aw);case"e":case"E":case"f":case"F":case"g":case"G":var ar=+aF;if(isNaN(ar)){return""}var aH=ar<0?"-":az;var at=["toExponential","toFixed","toPrecision"]["efg".indexOf(av.toLowerCase())];var aN=["toString","toUpperCase"]["eEfFgG".indexOf(av)%2];var aK=Math.abs(ar)[at](aJ);var aE=aK.toString().split(".");aE[0]=au?ak(aE[0]):aE[0];aK=aE.join(L.jqplot.sprintf.decimalMark);aF=aH+aK;var aC=aj(aF,aH,aD,aB,aA,aw)[aN]();return aC;case"p":case"P":var ar=+aF;if(isNaN(ar)){return""}var aH=ar<0?"-":az;var aE=String(Number(Math.abs(ar)).toExponential()).split(/e|E/);var aq=(aE[0].indexOf(".")!=-1)?aE[0].length-1:String(ar).length;var aG=(aE[1]<0)?-aE[1]-1:0;if(Math.abs(ar)<1){if(aq+aG<=aJ){aF=aH+Math.abs(ar).toPrecision(aq)}else{if(aq<=aJ-1){aF=aH+Math.abs(ar).toExponential(aq-1)}else{aF=aH+Math.abs(ar).toExponential(aJ-1)}}}else{var ap=(aq<=aJ)?aq:aJ;aF=aH+Math.abs(ar).toPrecision(ap)}var aN=["toString","toUpperCase"]["pP".indexOf(av)%2];return aj(aF,aH,aD,aB,aA,aw)[aN]();case"n":return"";default:return aM}})};L.jqplot.sprintf.thousandsSeparator=",";L.jqplot.sprintf.decimalMark=".";L.jqplot.sprintf.regex=/%%|%(\d+\$)?([-+#0&\' ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([nAscboxXuidfegpEGP])/g;L.jqplot.getSignificantFigures=function(al){var an=String(Number(Math.abs(al)).toExponential()).split(/e|E/);var am=(an[0].indexOf(".")!=-1)?an[0].length-1:an[0].length;var ai=(an[1]<0)?-an[1]-1:0;var ah=parseInt(an[1],10);var aj=(ah+1>0)?ah+1:0;var ak=(am<=aj)?0:am-ah-1;return{significantDigits:am,digitsLeft:aj,digitsRight:ak,zeros:ai,exponent:ah}};L.jqplot.getPrecision=function(ah){return L.jqplot.getSignificantFigures(ah).digitsRight};var X=L.uiBackCompat!==false;L.jqplot.effects={effect:{}};var m="jqplot.storage.";L.extend(L.jqplot.effects,{version:"1.9pre",save:function(ai,aj){for(var ah=0;ah<aj.length;ah++){if(aj[ah]!==null){ai.data(m+aj[ah],ai[0].style[aj[ah]])}}},restore:function(ai,aj){for(var ah=0;ah<aj.length;ah++){if(aj[ah]!==null){ai.css(aj[ah],ai.data(m+aj[ah]))}}},setMode:function(ah,ai){if(ai==="toggle"){ai=ah.is(":hidden")?"show":"hide"}return ai},createWrapper:function(ai){if(ai.parent().is(".ui-effects-wrapper")){return ai.parent()}var aj={width:ai.outerWidth(true),height:ai.outerHeight(true),"float":ai.css("float")},al=L("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),ah={width:ai.width(),height:ai.height()},ak=document.activeElement;ai.wrap(al);if(ai[0]===ak||L.contains(ai[0],ak)){L(ak).focus()}al=ai.parent();if(ai.css("position")==="static"){al.css({position:"relative"});ai.css({position:"relative"})}else{L.extend(aj,{position:ai.css("position"),zIndex:ai.css("z-index")});L.each(["top","left","bottom","right"],function(am,an){aj[an]=ai.css(an);if(isNaN(parseInt(aj[an],10))){aj[an]="auto"}});ai.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}ai.css(ah);return al.css(aj).show()},removeWrapper:function(ah){var ai=document.activeElement;if(ah.parent().is(".ui-effects-wrapper")){ah.parent().replaceWith(ah);if(ah[0]===ai||L.contains(ah[0],ai)){L(ai).focus()}}return ah}});function j(ai,ah,aj,ak){if(L.isPlainObject(ai)){return ai}ai={effect:ai};if(ah===u){ah={}}if(L.isFunction(ah)){ak=ah;aj=null;ah={}}if(L.type(ah)==="number"||L.fx.speeds[ah]){ak=aj;aj=ah;ah={}}if(L.isFunction(aj)){ak=aj;aj=null}if(ah){L.extend(ai,ah)}aj=aj||ah.duration;ai.duration=L.fx.off?0:typeof aj==="number"?aj:aj in L.fx.speeds?L.fx.speeds[aj]:L.fx.speeds._default;ai.complete=ak||ah.complete;return ai}function ae(ah){if(!ah||typeof ah==="number"||L.fx.speeds[ah]){return true}if(typeof ah==="string"&&!L.jqplot.effects.effect[ah]){if(X&&L.jqplot.effects[ah]){return false}return true}return false}L.fn.extend({jqplotEffect:function(ap,aq,ai,ao){var an=j.apply(this,arguments),ak=an.mode,al=an.queue,am=L.jqplot.effects.effect[an.effect],ah=!am&&X&&L.jqplot.effects[an.effect];if(L.fx.off||!(am||ah)){if(ak){return this[ak](an.duration,an.complete)}else{return this.each(function(){if(an.complete){an.complete.call(this)}})}}function aj(au){var av=L(this),at=an.complete,aw=an.mode;function ar(){if(L.isFunction(at)){at.call(av[0])}if(L.isFunction(au)){au()}}if(av.is(":hidden")?aw==="hide":aw==="show"){ar()}else{am.call(av[0],an,ar)}}if(am){return al===false?this.each(aj):this.queue(al||"fx",aj)}else{return ah.call(this,{options:an,duration:an.duration,callback:an.complete,mode:an.mode})}}});var a=/up|down|vertical/,v=/up|left|vertical|horizontal/;L.jqplot.effects.effect.blind=function(aj,ao){var ak=L(this),ar=["position","top","bottom","left","right","height","width"],ap=L.jqplot.effects.setMode(ak,aj.mode||"hide"),au=aj.direction||"up",am=a.test(au),al=am?"height":"width",aq=am?"top":"left",aw=v.test(au),an={},av=ap==="show",ai,ah,at;if(ak.parent().is(".ui-effects-wrapper")){L.jqplot.effects.save(ak.parent(),ar)}else{L.jqplot.effects.save(ak,ar)}ak.show();at=parseInt(ak.css("top"),10);ai=L.jqplot.effects.createWrapper(ak).css({overflow:"hidden"});ah=am?ai[al]()+at:ai[al]();an[al]=av?String(ah):"0";if(!aw){ak.css(am?"bottom":"right",0).css(am?"top":"left","").css({position:"absolute"});an[aq]=av?"0":String(ah)}if(av){ai.css(al,0);if(!aw){ai.css(aq,ah)}}ai.animate(an,{duration:aj.duration,easing:aj.easing,queue:false,complete:function(){if(ap==="hide"){ak.hide()}L.jqplot.effects.restore(ak,ar);L.jqplot.effects.removeWrapper(ak);ao()}})}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js
deleted file mode 100644
index fb360573..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(b){b.jqplot.BezierCurveRenderer=function(){b.jqplot.LineRenderer.call(this)};b.jqplot.BezierCurveRenderer.prototype=new b.jqplot.LineRenderer();b.jqplot.BezierCurveRenderer.prototype.constructor=b.jqplot.BezierCurveRenderer;b.jqplot.BezierCurveRenderer.prototype.setGridData=function(h){var e=this._xaxis.series_u2p;var g=this._yaxis.series_u2p;var f=this.data;this.gridData=[];this._prevGridData=[];var d=this.index;if(f.length==2){if(d==0){this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[1][2]),g.call(this._yaxis,f[1][3]),e.call(this._xaxis,f[1][4]),g.call(this._yaxis,f[1][5])],[e.call(this._xaxis,f[1][4]),g.call(this._yaxis,this._yaxis.min)],[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,this._yaxis.min)]]}else{var c=h.series[d-1].data;this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[1][2]),g.call(this._yaxis,f[1][3]),e.call(this._xaxis,f[1][4]),g.call(this._yaxis,f[1][5])],[e.call(this._xaxis,c[1][4]),g.call(this._yaxis,c[1][5])],[e.call(this._xaxis,c[1][2]),g.call(this._yaxis,c[1][3]),e.call(this._xaxis,c[1][0]),g.call(this._yaxis,c[1][1]),e.call(this._xaxis,c[0][0]),g.call(this._yaxis,c[0][1])]]}}else{if(d==0){this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[2][0]),g.call(this._yaxis,f[2][1]),e.call(this._xaxis,f[3][0]),g.call(this._yaxis,f[3][1])],[e.call(this._xaxis,f[3][1]),g.call(this._yaxis,this._yaxis.min)],[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,this._yaxis.min)]]}else{var c=h.series[d-1].data;this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[2][0]),g.call(this._yaxis,f[2][1]),e.call(this._xaxis,f[3][0]),g.call(this._yaxis,f[3][1])],[e.call(this._xaxis,c[3][0]),g.call(this._yaxis,c[3][1])],[e.call(this._xaxis,c[2][0]),g.call(this._yaxis,c[2][1]),e.call(this._xaxis,c[1][0]),g.call(this._yaxis,c[1][1]),e.call(this._xaxis,c[0][0]),g.call(this._yaxis,c[0][1])]]}}};b.jqplot.BezierCurveRenderer.prototype.makeGridData=function(g,i){var f=this._xaxis.series_u2p;var h=this._yaxis.series_u2p;var e=[];var j=[];var d=this.index;if(g.length==2){if(d==0){e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[1][2]),h.call(this._yaxis,g[1][3]),f.call(this._xaxis,g[1][4]),h.call(this._yaxis,g[1][5])],[f.call(this._xaxis,g[1][4]),h.call(this._yaxis,this._yaxis.min)],[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,this._yaxis.min)]]}else{var c=i.series[d-1].data;e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[1][2]),h.call(this._yaxis,g[1][3]),f.call(this._xaxis,g[1][4]),h.call(this._yaxis,g[1][5])],[f.call(this._xaxis,c[1][4]),h.call(this._yaxis,c[1][5])],[f.call(this._xaxis,c[1][2]),h.call(this._yaxis,c[1][3]),f.call(this._xaxis,c[1][0]),h.call(this._yaxis,c[1][1]),f.call(this._xaxis,c[0][0]),h.call(this._yaxis,c[0][1])]]}}else{if(d==0){e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[2][0]),h.call(this._yaxis,g[2][1]),f.call(this._xaxis,g[3][0]),h.call(this._yaxis,g[3][1])],[f.call(this._xaxis,g[3][1]),h.call(this._yaxis,this._yaxis.min)],[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,this._yaxis.min)]]}else{var c=i.series[d-1].data;e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[2][0]),h.call(this._yaxis,g[2][1]),f.call(this._xaxis,g[3][0]),h.call(this._yaxis,g[3][1])],[f.call(this._xaxis,c[3][0]),h.call(this._yaxis,c[3][1])],[f.call(this._xaxis,c[2][0]),h.call(this._yaxis,c[2][1]),f.call(this._xaxis,c[1][0]),h.call(this._yaxis,c[1][1]),f.call(this._xaxis,c[0][0]),h.call(this._yaxis,c[0][1])]]}}return e};b.jqplot.BezierCurveRenderer.prototype.draw=function(c,g,d){var e;c.save();if(g.length){if(this.showLine){c.save();var f=(d!=null)?d:{};c.fillStyle=f.fillStyle||this.color;c.beginPath();c.moveTo(g[0][0],g[0][1]);c.bezierCurveTo(g[1][0],g[1][1],g[1][2],g[1][3],g[1][4],g[1][5]);c.lineTo(g[2][0],g[2][1]);if(g[3].length==2){c.lineTo(g[3][0],g[3][1])}else{c.bezierCurveTo(g[3][0],g[3][1],g[3][2],g[3][3],g[3][4],g[3][5])}c.closePath();c.fill();c.restore()}}c.restore()};b.jqplot.BezierCurveRenderer.prototype.drawShadow=function(c,e,d){};b.jqplot.BezierAxisRenderer=function(){b.jqplot.LinearAxisRenderer.call(this)};b.jqplot.BezierAxisRenderer.prototype=new b.jqplot.LinearAxisRenderer();b.jqplot.BezierAxisRenderer.prototype.constructor=b.jqplot.BezierAxisRenderer;b.jqplot.BezierAxisRenderer.prototype.init=function(f){b.extend(true,this,f);var c=this._dataBounds;for(var g=0;g<this._series.length;g++){var h=this._series[g];var k=h.data;if(k.length==4){for(var e=0;e<k.length;e++){if(this.name=="xaxis"||this.name=="x2axis"){if(k[e][0]<c.min||c.min==null){c.min=k[e][0]}if(k[e][0]>c.max||c.max==null){c.max=k[e][0]}}else{if(k[e][1]<c.min||c.min==null){c.min=k[e][1]}if(k[e][1]>c.max||c.max==null){c.max=k[e][1]}}}}else{if(this.name=="xaxis"||this.name=="x2axis"){if(k[0][0]<c.min||c.min==null){c.min=k[0][0]}if(k[0][0]>c.max||c.max==null){c.max=k[0][0]}for(var e=0;e<5;e+=2){if(k[1][e]<c.min||c.min==null){c.min=k[1][e]}if(k[1][e]>c.max||c.max==null){c.max=k[1][e]}}}else{if(k[0][1]<c.min||c.min==null){c.min=k[0][1]}if(k[0][1]>c.max||c.max==null){c.max=k[0][1]}for(var e=1;e<6;e+=2){if(k[1][e]<c.min||c.min==null){c.min=k[1][e]}if(k[1][e]>c.max||c.max==null){c.max=k[1][e]}}}}}};function a(g,f,d){d=d||{};d.axesDefaults=b.extend(true,{pad:0},d.axesDefaults);d.seriesDefaults=d.seriesDefaults||{};d.legend=b.extend(true,{placement:"outside"},d.legend);var c=false;if(d.seriesDefaults.renderer==b.jqplot.BezierCurveRenderer){c=true}else{if(d.series){for(var e=0;e<d.series.length;e++){if(d.series[e].renderer==b.jqplot.BezierCurveRenderer){c=true}}}}if(c){d.axesDefaults.renderer=b.jqplot.BezierAxisRenderer}}b.jqplot.preInitHooks.push(a)})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.barRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.barRenderer.min.js
deleted file mode 100644
index 6f95500c..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.barRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(d){d.jqplot.BarRenderer=function(){d.jqplot.LineRenderer.call(this)};d.jqplot.BarRenderer.prototype=new d.jqplot.LineRenderer();d.jqplot.BarRenderer.prototype.constructor=d.jqplot.BarRenderer;d.jqplot.BarRenderer.prototype.init=function(o,q){this.barPadding=8;this.barMargin=10;this.barDirection="vertical";this.barWidth=null;this.shadowOffset=2;this.shadowDepth=5;this.shadowAlpha=0.08;this.waterfall=false;this.groups=1;this.varyBarColor=false;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.transposedData=true;this.renderer.animation={show:false,direction:"down",speed:3000,_supported:true};this._type="bar";if(o.highlightMouseDown&&o.highlightMouseOver==null){o.highlightMouseOver=false}d.extend(true,this,o);d.extend(true,this.renderer,o);this.fill=true;if(this.barDirection==="horizontal"&&this.rendererOptions.animation&&this.rendererOptions.animation.direction==null){this.renderer.animation.direction="left"}if(this.waterfall){this.fillToZero=false;this.disableStack=true}if(this.barDirection=="vertical"){this._primaryAxis="_xaxis";this._stackAxis="y";this.fillAxis="y"}else{this._primaryAxis="_yaxis";this._stackAxis="x";this.fillAxis="x"}this._highlightedPoint=null;this._plotSeriesInfo=null;this._dataColors=[];this._barPoints=[];var p={lineJoin:"miter",lineCap:"round",fill:true,isarc:false,strokeStyle:this.color,fillStyle:this.color,closePath:this.fill};this.renderer.shapeRenderer.init(p);var n={lineJoin:"miter",lineCap:"round",fill:true,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,closePath:this.fill};this.renderer.shadowRenderer.init(n);q.postInitHooks.addOnce(h);q.postDrawHooks.addOnce(j);q.eventListenerHooks.addOnce("jqplotMouseMove",b);q.eventListenerHooks.addOnce("jqplotMouseDown",a);q.eventListenerHooks.addOnce("jqplotMouseUp",l);q.eventListenerHooks.addOnce("jqplotClick",e);q.eventListenerHooks.addOnce("jqplotRightClick",m)};function g(t,p,o,w){if(this.rendererOptions.barDirection=="horizontal"){this._stackAxis="x";this._primaryAxis="_yaxis"}if(this.rendererOptions.waterfall==true){this._data=d.extend(true,[],this.data);var s=0;var u=(!this.rendererOptions.barDirection||this.rendererOptions.barDirection==="vertical"||this.transposedData===false)?1:0;for(var q=0;q<this.data.length;q++){s+=this.data[q][u];if(q>0){this.data[q][u]+=this.data[q-1][u]}}this.data[this.data.length]=(u==1)?[this.data.length+1,s]:[s,this.data.length+1];this._data[this._data.length]=(u==1)?[this._data.length+1,s]:[s,this._data.length+1]}if(this.rendererOptions.groups>1){this.breakOnNull=true;var n=this.data.length;var v=parseInt(n/this.rendererOptions.groups,10);var r=0;for(var q=v;q<n;q+=v){this.data.splice(q+r,0,[null,null]);this._plotData.splice(q+r,0,[null,null]);this._stackData.splice(q+r,0,[null,null]);r++}for(q=0;q<this.data.length;q++){if(this._primaryAxis=="_xaxis"){this.data[q][0]=q+1;this._plotData[q][0]=q+1;this._stackData[q][0]=q+1}else{this.data[q][1]=q+1;this._plotData[q][1]=q+1;this._stackData[q][1]=q+1}}}}d.jqplot.preSeriesInitHooks.push(g);d.jqplot.BarRenderer.prototype.calcSeriesNumbers=function(){var r=0;var t=0;var q=this[this._primaryAxis];var p,o,u;for(var n=0;n<q._series.length;n++){o=q._series[n];if(o===this){u=n}if(o.renderer.constructor==d.jqplot.BarRenderer){r+=o.data.length;t+=1}}return[r,t,u]};d.jqplot.BarRenderer.prototype.setBarWidth=function(){var q;var n=0;var o=0;var t=this[this._primaryAxis];var x,r,v;var w=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);n=w[0];o=w[1];var u=t.numberTicks;var p=(u-1)/2;if(t.name=="xaxis"||t.name=="x2axis"){if(this._stack){this.barWidth=(t._offsets.max-t._offsets.min)/n*o-this.barMargin}else{this.barWidth=((t._offsets.max-t._offsets.min)/p-this.barPadding*(o-1)-this.barMargin*2)/o}}else{if(this._stack){this.barWidth=(t._offsets.min-t._offsets.max)/n*o-this.barMargin}else{this.barWidth=((t._offsets.min-t._offsets.max)/p-this.barPadding*(o-1)-this.barMargin*2)/o}}return[n,o]};function f(o){var q=[];for(var s=0;s<o.length;s++){var r=d.jqplot.getColorComponents(o[s]);var n=[r[0],r[1],r[2]];var t=n[0]+n[1]+n[2];for(var p=0;p<3;p++){n[p]=(t>570)?n[p]*0.8:n[p]+0.3*(255-n[p]);n[p]=parseInt(n[p],10)}q.push("rgb("+n[0]+","+n[1]+","+n[2]+")")}return q}function i(v,u,s,t,o){var q=v,w=v-1,n,p,r=(o==="x")?0:1;if(q>0){p=t.series[w]._plotData[u][r];if((s*p)<0){n=i(w,u,s,t,o)}else{n=t.series[w].gridData[u][r]}}else{n=(r===0)?t.series[q]._xaxis.series_u2p(0):t.series[q]._yaxis.series_u2p(0)}return n}d.jqplot.BarRenderer.prototype.draw=function(E,L,q,G){var I;var A=d.extend({},q);var w=(A.shadow!=undefined)?A.shadow:this.shadow;var O=(A.showLine!=undefined)?A.showLine:this.showLine;var F=(A.fill!=undefined)?A.fill:this.fill;var p=this.xaxis;var J=this.yaxis;var y=this._xaxis.series_u2p;var K=this._yaxis.series_u2p;var D,C;this._dataColors=[];this._barPoints=[];if(this.barWidth==null){this.renderer.setBarWidth.call(this)}var N=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);var x=N[0];var v=N[1];var s=N[2];var H=[];if(this._stack){this._barNudge=0}else{this._barNudge=(-Math.abs(v/2-0.5)+s)*(this.barWidth+this.barPadding)}if(O){var u=new d.jqplot.ColorGenerator(this.negativeSeriesColors);var B=new d.jqplot.ColorGenerator(this.seriesColors);var M=u.get(this.index);if(!this.useNegativeColors){M=A.fillStyle}var t=A.fillStyle;var r;var P;var o;if(this.barDirection=="vertical"){for(var I=0;I<L.length;I++){if(!this._stack&&this.data[I][1]==null){continue}H=[];r=L[I][0]+this._barNudge;if(this._stack&&this._prevGridData.length){o=i(this.index,I,this._plotData[I][1],G,"y")}else{if(this.fillToZero){o=this._yaxis.series_u2p(0)}else{if(this.waterfall&&I>0&&I<this.gridData.length-1){o=this.gridData[I-1][1]}else{if(this.waterfall&&I==0&&I<this.gridData.length-1){if(this._yaxis.min<=0&&this._yaxis.max>=0){o=this._yaxis.series_u2p(0)}else{if(this._yaxis.min>0){o=E.canvas.height}else{o=0}}}else{if(this.waterfall&&I==this.gridData.length-1){if(this._yaxis.min<=0&&this._yaxis.max>=0){o=this._yaxis.series_u2p(0)}else{if(this._yaxis.min>0){o=E.canvas.height}else{o=0}}}else{o=E.canvas.height}}}}}if((this.fillToZero&&this._plotData[I][1]<0)||(this.waterfall&&this._data[I][1]<0)){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){A.fillStyle=u.next()}else{A.fillStyle=B.next()}}else{A.fillStyle=M}}else{if(this.varyBarColor&&!this._stack){A.fillStyle=B.next()}else{A.fillStyle=t}}if(!this.fillToZero||this._plotData[I][1]>=0){H.push([r-this.barWidth/2,o]);H.push([r-this.barWidth/2,L[I][1]]);H.push([r+this.barWidth/2,L[I][1]]);H.push([r+this.barWidth/2,o])}else{H.push([r-this.barWidth/2,L[I][1]]);H.push([r-this.barWidth/2,o]);H.push([r+this.barWidth/2,o]);H.push([r+this.barWidth/2,L[I][1]])}this._barPoints.push(H);if(w&&!this._stack){var z=d.extend(true,{},A);delete z.fillStyle;this.renderer.shadowRenderer.draw(E,H,z)}var n=A.fillStyle||this.color;this._dataColors.push(n);this.renderer.shapeRenderer.draw(E,H,A)}}else{if(this.barDirection=="horizontal"){for(var I=0;I<L.length;I++){if(!this._stack&&this.data[I][0]==null){continue}H=[];r=L[I][1]-this._barNudge;P;if(this._stack&&this._prevGridData.length){P=i(this.index,I,this._plotData[I][0],G,"x")}else{if(this.fillToZero){P=this._xaxis.series_u2p(0)}else{if(this.waterfall&&I>0&&I<this.gridData.length-1){P=this.gridData[I-1][0]}else{if(this.waterfall&&I==0&&I<this.gridData.length-1){if(this._xaxis.min<=0&&this._xaxis.max>=0){P=this._xaxis.series_u2p(0)}else{if(this._xaxis.min>0){P=0}else{P=0}}}else{if(this.waterfall&&I==this.gridData.length-1){if(this._xaxis.min<=0&&this._xaxis.max>=0){P=this._xaxis.series_u2p(0)}else{if(this._xaxis.min>0){P=0}else{P=E.canvas.width}}}else{P=0}}}}}if((this.fillToZero&&this._plotData[I][0]<0)||(this.waterfall&&this._data[I][0]<0)){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){A.fillStyle=u.next()}else{A.fillStyle=B.next()}}else{A.fillStyle=M}}else{if(this.varyBarColor&&!this._stack){A.fillStyle=B.next()}else{A.fillStyle=t}}if(!this.fillToZero||this._plotData[I][0]>=0){H.push([P,r+this.barWidth/2]);H.push([P,r-this.barWidth/2]);H.push([L[I][0],r-this.barWidth/2]);H.push([L[I][0],r+this.barWidth/2])}else{H.push([L[I][0],r+this.barWidth/2]);H.push([L[I][0],r-this.barWidth/2]);H.push([P,r-this.barWidth/2]);H.push([P,r+this.barWidth/2])}this._barPoints.push(H);if(w&&!this._stack){var z=d.extend(true,{},A);delete z.fillStyle;this.renderer.shadowRenderer.draw(E,H,z)}var n=A.fillStyle||this.color;this._dataColors.push(n);this.renderer.shapeRenderer.draw(E,H,A)}}}}if(this.highlightColors.length==0){this.highlightColors=d.jqplot.computeHighlightColors(this._dataColors)}else{if(typeof(this.highlightColors)=="string"){var N=this.highlightColors;this.highlightColors=[];for(var I=0;I<this._dataColors.length;I++){this.highlightColors.push(N)}}}};d.jqplot.BarRenderer.prototype.drawShadow=function(z,G,p,B){var D;var w=(p!=undefined)?p:{};var t=(w.shadow!=undefined)?w.shadow:this.shadow;var I=(w.showLine!=undefined)?w.showLine:this.showLine;var A=(w.fill!=undefined)?w.fill:this.fill;var o=this.xaxis;var E=this.yaxis;var v=this._xaxis.series_u2p;var F=this._yaxis.series_u2p;var y,C,x,u,s,r;if(this._stack&&this.shadow){if(this.barWidth==null){this.renderer.setBarWidth.call(this)}var H=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);u=H[0];s=H[1];r=H[2];if(this._stack){this._barNudge=0}else{this._barNudge=(-Math.abs(s/2-0.5)+r)*(this.barWidth+this.barPadding)}if(I){if(this.barDirection=="vertical"){for(var D=0;D<G.length;D++){if(this.data[D][1]==null){continue}C=[];var q=G[D][0]+this._barNudge;var n;if(this._stack&&this._prevGridData.length){n=i(this.index,D,this._plotData[D][1],B,"y")}else{if(this.fillToZero){n=this._yaxis.series_u2p(0)}else{n=z.canvas.height}}C.push([q-this.barWidth/2,n]);C.push([q-this.barWidth/2,G[D][1]]);C.push([q+this.barWidth/2,G[D][1]]);C.push([q+this.barWidth/2,n]);this.renderer.shadowRenderer.draw(z,C,w)}}else{if(this.barDirection=="horizontal"){for(var D=0;D<G.length;D++){if(this.data[D][0]==null){continue}C=[];var q=G[D][1]-this._barNudge;var J;if(this._stack&&this._prevGridData.length){J=i(this.index,D,this._plotData[D][0],B,"x")}else{if(this.fillToZero){J=this._xaxis.series_u2p(0)}else{J=0}}C.push([J,q+this.barWidth/2]);C.push([G[D][0],q+this.barWidth/2]);C.push([G[D][0],q-this.barWidth/2]);C.push([J,q-this.barWidth/2]);this.renderer.shadowRenderer.draw(z,C,w)}}}}}};function h(q,p,n){for(var o=0;o<this.series.length;o++){if(this.series[o].renderer.constructor==d.jqplot.BarRenderer){if(this.series[o].highlightMouseOver){this.series[o].highlightMouseDown=false}}}}function j(){if(this.plugins.barRenderer&&this.plugins.barRenderer.highlightCanvas){this.plugins.barRenderer.highlightCanvas.resetCanvas();this.plugins.barRenderer.highlightCanvas=null}this.plugins.barRenderer={highlightedSeriesIndex:null};this.plugins.barRenderer.highlightCanvas=new d.jqplot.GenericCanvas();this.eventCanvas._elem.before(this.plugins.barRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-barRenderer-highlight-canvas",this._plotDimensions,this));this.plugins.barRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(n){k(n.data.plot)})}function c(u,t,q,p){var o=u.series[t];var n=u.plugins.barRenderer.highlightCanvas;n._ctx.clearRect(0,0,n._ctx.canvas.width,n._ctx.canvas.height);o._highlightedPoint=q;u.plugins.barRenderer.highlightedSeriesIndex=t;var r={fillStyle:o.highlightColors[q]};o.renderer.shapeRenderer.draw(n._ctx,p,r);n=null}function k(p){var n=p.plugins.barRenderer.highlightCanvas;n._ctx.clearRect(0,0,n._ctx.canvas.width,n._ctx.canvas.height);for(var o=0;o<p.series.length;o++){p.series[o]._highlightedPoint=null}p.plugins.barRenderer.highlightedSeriesIndex=null;p.target.trigger("jqplotDataUnhighlight");n=null}function b(r,q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];var o=jQuery.Event("jqplotDataMouseOver");o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p);if(s.series[p[0]].show&&s.series[p[0]].highlightMouseOver&&!(p[0]==s.plugins.barRenderer.highlightedSeriesIndex&&p[1]==s.series[p[0]]._highlightedPoint)){var n=jQuery.Event("jqplotDataHighlight");n.which=r.which;n.pageX=r.pageX;n.pageY=r.pageY;s.target.trigger(n,p);c(s,t.seriesIndex,t.pointIndex,t.points)}}else{if(t==null){k(s)}}}function a(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];if(r.series[o[0]].highlightMouseDown&&!(o[0]==r.plugins.barRenderer.highlightedSeriesIndex&&o[1]==r.series[o[0]]._highlightedPoint)){var n=jQuery.Event("jqplotDataHighlight");n.which=q.which;n.pageX=q.pageX;n.pageY=q.pageY;r.target.trigger(n,o);c(r,s.seriesIndex,s.pointIndex,s.points)}}else{if(s==null){k(r)}}}function l(p,o,s,r,q){var n=q.plugins.barRenderer.highlightedSeriesIndex;if(n!=null&&q.series[n].highlightMouseDown){k(q)}}function e(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];var n=jQuery.Event("jqplotDataClick");n.which=q.which;n.pageX=q.pageX;n.pageY=q.pageY;r.target.trigger(n,o)}}function m(r,q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];var n=s.plugins.barRenderer.highlightedSeriesIndex;if(n!=null&&s.series[n].highlightMouseDown){k(s)}var o=jQuery.Event("jqplotDataRightClick");o.which=r.which;o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p)}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.blockRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.blockRenderer.min.js
deleted file mode 100644
index 4a014406..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.blockRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.BlockRenderer=function(){a.jqplot.LineRenderer.call(this)};a.jqplot.BlockRenderer.prototype=new a.jqplot.LineRenderer();a.jqplot.BlockRenderer.prototype.constructor=a.jqplot.BlockRenderer;a.jqplot.BlockRenderer.prototype.init=function(b){this.css={padding:"2px",border:"1px solid #999",textAlign:"center"};this.escapeHtml=false;this.insertBreaks=true;this.varyBlockColors=false;a.extend(true,this,b);if(this.css.backgroundColor){this.color=this.css.backgroundColor}else{if(this.css.background){this.color=this.css.background}else{if(!this.varyBlockColors){this.css.background=this.color}}}this.canvas=new a.jqplot.BlockCanvas();this.shadowCanvas=new a.jqplot.BlockCanvas();this.canvas._plotDimensions=this._plotDimensions;this.shadowCanvas._plotDimensions=this._plotDimensions;this._type="block";this.moveBlock=function(l,j,i,e){var c=this.canvas._elem.children(":eq("+l+")");this.data[l][0]=j;this.data[l][1]=i;this._plotData[l][0]=j;this._plotData[l][1]=i;this._stackData[l][0]=j;this._stackData[l][1]=i;this.gridData[l][0]=this._xaxis.series_u2p(j);this.gridData[l][1]=this._yaxis.series_u2p(i);var k=c.outerWidth();var f=c.outerHeight();var d=this.gridData[l][0]-k/2+"px";var g=this.gridData[l][1]-f/2+"px";if(e){if(parseInt(e,10)){e=parseInt(e,10)}c.animate({left:d,top:g},e)}else{c.css({left:d,top:g})}c=null}};a.jqplot.BlockRenderer.prototype.draw=function(q,o,r){if(this.plugins.pointLabels){this.plugins.pointLabels.show=false}var f,c,l,o,p,k,n,g,e,m;var b=(r!=undefined)?r:{};var j=new a.jqplot.ColorGenerator(this.seriesColors);this.canvas._elem.empty();for(f=0;f<this.gridData.length;f++){l=this.data[f];o=this.gridData[f];p="";k={};if(typeof l[2]=="string"){p=l[2]}else{if(typeof l[2]=="object"){k=l[2]}}if(typeof l[3]=="object"){k=l[3]}if(this.insertBreaks){p=p.replace(/ /g,"<br />")}k=a.extend(true,{},this.css,k);c=a('<div style="position:absolute;margin-left:auto;margin-right:auto;"></div>');this.canvas._elem.append(c);this.escapeHtml?c.text(p):c.html(p);delete k.position;delete k.marginRight;delete k.marginLeft;if(!k.background&&!k.backgroundColor&&!k.backgroundImage){k.background=j.next()}c.css(k);n=c.outerWidth();g=c.outerHeight();e=o[0]-n/2+"px";m=o[1]-g/2+"px";c.css({left:e,top:m});c=null}};a.jqplot.BlockCanvas=function(){a.jqplot.ElemContainer.call(this);this._ctx};a.jqplot.BlockCanvas.prototype=new a.jqplot.ElemContainer();a.jqplot.BlockCanvas.prototype.constructor=a.jqplot.BlockCanvas;a.jqplot.BlockCanvas.prototype.createElement=function(i,e,c){this._offsets=i;var b="jqplot-blockCanvas";if(e!=undefined){b=e}var g;if(this._elem){g=this._elem.get(0)}else{g=document.createElement("div")}if(c!=undefined){this._plotDimensions=c}var d=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var f=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=a(g);this._elem.css({position:"absolute",width:d,height:f,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(b);return this._elem};a.jqplot.BlockCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.bubbleRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.bubbleRenderer.min.js
deleted file mode 100644
index d44a7cde..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.bubbleRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(f){var d=function(m){return Math.max.apply(Math,m)};var j=function(m){return Math.min.apply(Math,m)};f.jqplot.BubbleRenderer=function(){f.jqplot.LineRenderer.call(this)};f.jqplot.BubbleRenderer.prototype=new f.jqplot.LineRenderer();f.jqplot.BubbleRenderer.prototype.constructor=f.jqplot.BubbleRenderer;f.jqplot.BubbleRenderer.prototype.init=function(w,t){this.varyBubbleColors=true;this.autoscaleBubbles=true;this.autoscaleMultiplier=1;this.autoscalePointsFactor=-0.07;this.escapeHtml=true;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.bubbleAlpha=1;this.highlightAlpha=null;this.bubbleGradients=false;this.showLabels=true;this.radii=[];this.maxRadius=0;this._highlightedPoint=null;this.labels=[];this.bubbleCanvases=[];this._type="bubble";if(w.highlightMouseDown&&w.highlightMouseOver==null){w.highlightMouseOver=false}f.extend(true,this,w);if(this.highlightAlpha==null){this.highlightAlpha=this.bubbleAlpha;if(this.bubbleGradients){this.highlightAlpha=0.35}}this.autoscaleMultiplier=this.autoscaleMultiplier*Math.pow(this.data.length,this.autoscalePointsFactor);this._highlightedPoint=null;var n;for(var r=0;r<this.data.length;r++){var p=null;var v=this.data[r];this.maxRadius=Math.max(this.maxRadius,v[2]);if(v[3]){if(typeof(v[3])=="object"){p=v[3]["color"]}}if(p==null){if(this.seriesColors[r]!=null){p=this.seriesColors[r]}}if(p&&this.bubbleAlpha<1){n=f.jqplot.getColorComponents(p);p="rgba("+n[0]+", "+n[1]+", "+n[2]+", "+this.bubbleAlpha+")"}if(p){this.seriesColors[r]=p}}if(!this.varyBubbleColors){this.seriesColors=[this.color]}this.colorGenerator=new f.jqplot.ColorGenerator(this.seriesColors);if(this.highlightColors.length==0){for(var r=0;r<this.seriesColors.length;r++){var o=f.jqplot.getColorComponents(this.seriesColors[r]);var u=[o[0],o[1],o[2]];var s=u[0]+u[1]+u[2];for(var q=0;q<3;q++){u[q]=(s>570)?u[q]*0.8:u[q]+0.3*(255-u[q]);u[q]=parseInt(u[q],10)}this.highlightColors.push("rgba("+u[0]+","+u[1]+","+u[2]+", "+this.highlightAlpha+")")}}this.highlightColorGenerator=new f.jqplot.ColorGenerator(this.highlightColors);var m={fill:true,isarc:true,angle:this.shadowAngle,alpha:this.shadowAlpha,closePath:true};this.renderer.shadowRenderer.init(m);this.canvas=new f.jqplot.DivCanvas();this.canvas._plotDimensions=this._plotDimensions;t.eventListenerHooks.addOnce("jqplotMouseMove",a);t.eventListenerHooks.addOnce("jqplotMouseDown",b);t.eventListenerHooks.addOnce("jqplotMouseUp",k);t.eventListenerHooks.addOnce("jqplotClick",g);t.eventListenerHooks.addOnce("jqplotRightClick",l);t.postDrawHooks.addOnce(h)};f.jqplot.BubbleRenderer.prototype.setGridData=function(w){var q=this._xaxis.series_u2p;var m=this._yaxis.series_u2p;var t=this._plotData;this.gridData=[];var s=[];this.radii=[];var v=Math.min(w._height,w._width);for(var u=0;u<this.data.length;u++){if(t[u]!=null){this.gridData.push([q.call(this._xaxis,t[u][0]),m.call(this._yaxis,t[u][1]),t[u][2]]);this.radii.push([u,t[u][2]]);s.push(t[u][2])}}var n,o,x=this.maxRadius=d(s);var p=this.gridData.length;if(this.autoscaleBubbles){for(var u=0;u<p;u++){o=s[u]/x;n=this.autoscaleMultiplier*v/6;this.gridData[u][2]=n*o}}this.radii.sort(function(y,r){return r[1]-y[1]})};f.jqplot.BubbleRenderer.prototype.makeGridData=function(t,w){var q=this._xaxis.series_u2p;var n=this._yaxis.series_u2p;var x=[];var s=[];this.radii=[];var v=Math.min(w._height,w._width);for(var u=0;u<t.length;u++){if(t[u]!=null){x.push([q.call(this._xaxis,t[u][0]),n.call(this._yaxis,t[u][1]),t[u][2]]);s.push(t[u][2]);this.radii.push([u,t[u][2]])}}var m,o,y=this.maxRadius=d(s);var p=this.gridData.length;if(this.autoscaleBubbles){for(var u=0;u<p;u++){o=s[u]/y;m=this.autoscaleMultiplier*v/6;x[u][2]=m*o}}this.radii.sort(function(z,r){return r[1]-z[1]});return x};f.jqplot.BubbleRenderer.prototype.draw=function(D,J,n){if(this.plugins.pointLabels){this.plugins.pointLabels.show=false}var A=(n!=undefined)?n:{};var r=(A.shadow!=undefined)?A.shadow:this.shadow;this.canvas._elem.empty();for(var G=0;G<this.radii.length;G++){var C=this.radii[G][0];var z=null;var F=null;var m=null;var p=null;var I=this.data[C];var J=this.gridData[C];if(I[3]){if(typeof(I[3])=="object"){z=I[3]["label"]}else{if(typeof(I[3])=="string"){z=I[3]}}}F=this.colorGenerator.get(C);var E=J[2];var q,K;if(this.shadow){q=(0.7+J[2]/40).toFixed(1);K=1+Math.ceil(J[2]/15);E+=q*K}this.bubbleCanvases[C]=new f.jqplot.BubbleCanvas();this.canvas._elem.append(this.bubbleCanvases[C].createElement(J[0],J[1],E));this.bubbleCanvases[C].setContext();var D=this.bubbleCanvases[C]._ctx;var u=D.canvas.width/2;var s=D.canvas.height/2;if(this.shadow){this.renderer.shadowRenderer.draw(D,[u,s,J[2],0,2*Math.PI],{offset:q,depth:K})}this.bubbleCanvases[C].draw(J[2],F,this.bubbleGradients,this.shadowAngle/180*Math.PI);if(z&&this.showLabels){p=f('<div style="position:absolute;" class="jqplot-bubble-label"></div>');if(this.escapeHtml){p.text(z)}else{p.html(z)}this.canvas._elem.append(p);var H=f(p).outerHeight();var v=f(p).outerWidth();var B=J[1]-0.5*H;var o=J[0]-0.5*v;p.css({top:B,left:o});this.labels[C]=f(p)}}};f.jqplot.DivCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.DivCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.DivCanvas.prototype.constructor=f.jqplot.DivCanvas;f.jqplot.DivCanvas.prototype.createElement=function(s,p,n){this._offsets=s;var m="jqplot-DivCanvas";if(p!=undefined){m=p}var r;if(this._elem){r=this._elem.get(0)}else{r=document.createElement("div")}if(n!=undefined){this._plotDimensions=n}var o=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var q=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=f(r);this._elem.css({position:"absolute",width:o,height:q,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(m);return this._elem};f.jqplot.DivCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx};f.jqplot.BubbleCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.BubbleCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.BubbleCanvas.prototype.constructor=f.jqplot.BubbleCanvas;f.jqplot.BubbleCanvas.prototype.createElement=function(n,u,s){var m="jqplot-bubble-point";var q;if(this._elem){q=this._elem.get(0)}else{q=document.createElement("canvas")}q.width=(s!=null)?2*s:q.width;q.height=(s!=null)?2*s:q.height;this._elem=f(q);var o=(n!=null&&s!=null)?n-s:this._elem.css("left");var p=(u!=null&&s!=null)?u-s:this._elem.css("top");this._elem.css({position:"absolute",left:o,top:p});this._elem.addClass(m);if(f.jqplot.use_excanvas){window.G_vmlCanvasManager.init_(document);q=window.G_vmlCanvasManager.initElement(q)}return this._elem};f.jqplot.BubbleCanvas.prototype.draw=function(m,s,v,p){var D=this._ctx;var B=D.canvas.width/2;var z=D.canvas.height/2;D.save();if(v&&!f.jqplot.use_excanvas){m=m*1.04;var o=f.jqplot.getColorComponents(s);var u="rgba("+Math.round(o[0]+0.8*(255-o[0]))+", "+Math.round(o[1]+0.8*(255-o[1]))+", "+Math.round(o[2]+0.8*(255-o[2]))+", "+o[3]+")";var t="rgba("+o[0]+", "+o[1]+", "+o[2]+", 0)";var C=0.35*m;var A=B-Math.cos(p)*0.33*m;var n=z-Math.sin(p)*0.33*m;var w=D.createRadialGradient(A,n,C,B,z,m);w.addColorStop(0,u);w.addColorStop(0.93,s);w.addColorStop(0.96,t);w.addColorStop(1,t);D.fillStyle=w;D.fillRect(0,0,D.canvas.width,D.canvas.height)}else{D.fillStyle=s;D.strokeStyle=s;D.lineWidth=1;D.beginPath();var q=2*Math.PI;D.arc(B,z,m,0,q,0);D.closePath();D.fill()}D.restore()};f.jqplot.BubbleCanvas.prototype.setContext=function(){this._ctx=this._elem.get(0).getContext("2d");return this._ctx};f.jqplot.BubbleAxisRenderer=function(){f.jqplot.LinearAxisRenderer.call(this)};f.jqplot.BubbleAxisRenderer.prototype=new f.jqplot.LinearAxisRenderer();f.jqplot.BubbleAxisRenderer.prototype.constructor=f.jqplot.BubbleAxisRenderer;f.jqplot.BubbleAxisRenderer.prototype.init=function(n){f.extend(true,this,n);var I=this._dataBounds;var H=0,v=0,m=0,y=0,q=0,r=0,D=0,t=0,F=0,z=0;for(var E=0;E<this._series.length;E++){var x=this._series[E];var G=x._plotData;for(var B=0;B<G.length;B++){if(this.name=="xaxis"||this.name=="x2axis"){if(G[B][0]<I.min||I.min==null){I.min=G[B][0];H=E;v=B;r=G[B][2];D=x.maxRadius;z=x.autoscaleMultiplier}if(G[B][0]>I.max||I.max==null){I.max=G[B][0];m=E;y=B;q=G[B][2];t=x.maxRadius;F=x.autoscaleMultiplier}}else{if(G[B][1]<I.min||I.min==null){I.min=G[B][1];H=E;v=B;r=G[B][2];D=x.maxRadius;z=x.autoscaleMultiplier}if(G[B][1]>I.max||I.max==null){I.max=G[B][1];m=E;y=B;q=G[B][2];t=x.maxRadius;F=x.autoscaleMultiplier}}}}var o=r/D;var w=q/t;var C=I.max-I.min;var A=Math.min(this._plotDimensions.width,this._plotDimensions.height);var p=o*z/3*C;var u=w*F/3*C;I.max+=u;I.min-=p};function e(p,v,q){p.plugins.bubbleRenderer.highlightLabelCanvas.empty();var z=p.series[v];var n=p.plugins.bubbleRenderer.highlightCanvas;var w=n._ctx;w.clearRect(0,0,w.canvas.width,w.canvas.height);z._highlightedPoint=q;p.plugins.bubbleRenderer.highlightedSeriesIndex=v;var o=z.highlightColorGenerator.get(q);var u=z.gridData[q][0],t=z.gridData[q][1],m=z.gridData[q][2];w.save();w.fillStyle=o;w.strokeStyle=o;w.lineWidth=1;w.beginPath();w.arc(u,t,m,0,2*Math.PI,0);w.closePath();w.fill();w.restore();if(z.labels[q]){p.plugins.bubbleRenderer.highlightLabel=z.labels[q].clone();p.plugins.bubbleRenderer.highlightLabel.appendTo(p.plugins.bubbleRenderer.highlightLabelCanvas);p.plugins.bubbleRenderer.highlightLabel.addClass("jqplot-bubble-label-highlight")}}function i(p){var m=p.plugins.bubbleRenderer.highlightCanvas;var o=p.plugins.bubbleRenderer.highlightedSeriesIndex;p.plugins.bubbleRenderer.highlightLabelCanvas.empty();m._ctx.clearRect(0,0,m._ctx.canvas.width,m._ctx.canvas.height);for(var n=0;n<p.series.length;n++){p.series[n]._highlightedPoint=null}p.plugins.bubbleRenderer.highlightedSeriesIndex=null;p.target.trigger("jqplotDataUnhighlight")}function a(s,p,m,v,r){if(v){var n=v.seriesIndex;var o=v.pointIndex;var q=[n,o,v.data,r.series[n].gridData[o][2]];var t=jQuery.Event("jqplotDataMouseOver");t.pageX=s.pageX;t.pageY=s.pageY;r.target.trigger(t,q);if(r.series[q[0]].highlightMouseOver&&!(q[0]==r.plugins.bubbleRenderer.highlightedSeriesIndex&&q[1]==r.series[q[0]]._highlightedPoint)){var u=jQuery.Event("jqplotDataHighlight");u.which=s.which;u.pageX=s.pageX;u.pageY=s.pageY;r.target.trigger(u,q);e(r,q[0],q[1])}}else{if(v==null){i(r)}}}function b(s,p,m,u,r){if(u){var n=u.seriesIndex;var o=u.pointIndex;var q=[n,o,u.data,r.series[n].gridData[o][2]];if(r.series[q[0]].highlightMouseDown&&!(q[0]==r.plugins.bubbleRenderer.highlightedSeriesIndex&&q[1]==r.series[q[0]]._highlightedPoint)){var t=jQuery.Event("jqplotDataHighlight");t.which=s.which;t.pageX=s.pageX;t.pageY=s.pageY;r.target.trigger(t,q);e(r,q[0],q[1])}}else{if(u==null){i(r)}}}function k(o,n,r,q,p){var m=p.plugins.bubbleRenderer.highlightedSeriesIndex;if(m!=null&&p.series[m].highlightMouseDown){i(p)}}function g(s,p,m,u,r){if(u){var n=u.seriesIndex;var o=u.pointIndex;var q=[n,o,u.data,r.series[n].gridData[o][2]];var t=jQuery.Event("jqplotDataClick");t.which=s.which;t.pageX=s.pageX;t.pageY=s.pageY;r.target.trigger(t,q)}}function l(s,p,m,v,r){if(v){var n=v.seriesIndex;var o=v.pointIndex;var q=[n,o,v.data,r.series[n].gridData[o][2]];var t=r.plugins.bubbleRenderer.highlightedSeriesIndex;if(t!=null&&r.series[t].highlightMouseDown){i(r)}var u=jQuery.Event("jqplotDataRightClick");u.which=s.which;u.pageX=s.pageX;u.pageY=s.pageY;r.target.trigger(u,q)}}function h(){if(this.plugins.bubbleRenderer&&this.plugins.bubbleRenderer.highlightCanvas){this.plugins.bubbleRenderer.highlightCanvas.resetCanvas();this.plugins.bubbleRenderer.highlightCanvas=null}this.plugins.bubbleRenderer={highlightedSeriesIndex:null};this.plugins.bubbleRenderer.highlightCanvas=new f.jqplot.GenericCanvas();this.plugins.bubbleRenderer.highlightLabel=null;this.plugins.bubbleRenderer.highlightLabelCanvas=f('<div style="position:absolute;"></div>');var q=this._gridPadding.top;var p=this._gridPadding.left;var n=this._plotDimensions.width-this._gridPadding.left-this._gridPadding.right;var m=this._plotDimensions.height-this._gridPadding.top-this._gridPadding.bottom;this.plugins.bubbleRenderer.highlightLabelCanvas.css({top:q,left:p,width:n+"px",height:m+"px"});this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-bubbleRenderer-highlight-canvas",this._plotDimensions,this));this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightLabelCanvas);var o=this.plugins.bubbleRenderer.highlightCanvas.setContext()}function c(q,p,n){n=n||{};n.axesDefaults=n.axesDefaults||{};n.seriesDefaults=n.seriesDefaults||{};var m=false;if(n.seriesDefaults.renderer==f.jqplot.BubbleRenderer){m=true}else{if(n.series){for(var o=0;o<n.series.length;o++){if(n.series[o].renderer==f.jqplot.BubbleRenderer){m=true}}}}if(m){n.axesDefaults.renderer=f.jqplot.BubbleAxisRenderer;n.sortData=false}}f.jqplot.preInitHooks.push(c)})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js
deleted file mode 100644
index 4babb74a..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.CanvasAxisLabelRenderer=function(b){this.angle=0;this.axis;this.show=true;this.showLabel=true;this.label="";this.fontFamily='"Trebuchet MS", Arial, Helvetica, sans-serif';this.fontSize="11pt";this.fontWeight="normal";this.fontStretch=1;this.textColor="#666666";this.enableFontSupport=true;this.pt2px=null;this._elem;this._ctx;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null};a.extend(true,this,b);if(b.angle==null&&this.axis!="xaxis"&&this.axis!="x2axis"){this.angle=-90}var c={fontSize:this.fontSize,fontWeight:this.fontWeight,fontStretch:this.fontStretch,fillStyle:this.textColor,angle:this.getAngleRad(),fontFamily:this.fontFamily};if(this.pt2px){c.pt2px=this.pt2px}if(this.enableFontSupport){if(a.jqplot.support_canvas_text()){this._textRenderer=new a.jqplot.CanvasFontRenderer(c)}else{this._textRenderer=new a.jqplot.CanvasTextRenderer(c)}}else{this._textRenderer=new a.jqplot.CanvasTextRenderer(c)}};a.jqplot.CanvasAxisLabelRenderer.prototype.init=function(b){a.extend(true,this,b);this._textRenderer.init({fontSize:this.fontSize,fontWeight:this.fontWeight,fontStretch:this.fontStretch,fillStyle:this.textColor,angle:this.getAngleRad(),fontFamily:this.fontFamily})};a.jqplot.CanvasAxisLabelRenderer.prototype.getWidth=function(d){if(this._elem){return this._elem.outerWidth(true)}else{var f=this._textRenderer;var c=f.getWidth(d);var e=f.getHeight(d);var b=Math.abs(Math.sin(f.angle)*e)+Math.abs(Math.cos(f.angle)*c);return b}};a.jqplot.CanvasAxisLabelRenderer.prototype.getHeight=function(d){if(this._elem){return this._elem.outerHeight(true)}else{var f=this._textRenderer;var c=f.getWidth(d);var e=f.getHeight(d);var b=Math.abs(Math.cos(f.angle)*e)+Math.abs(Math.sin(f.angle)*c);return b}};a.jqplot.CanvasAxisLabelRenderer.prototype.getAngleRad=function(){var b=this.angle*Math.PI/180;return b};a.jqplot.CanvasAxisLabelRenderer.prototype.draw=function(c,f){if(this._elem){if(a.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){window.G_vmlCanvasManager.uninitElement(this._elem.get(0))}this._elem.emptyForce();this._elem=null}var e=f.canvasManager.getCanvas();this._textRenderer.setText(this.label,c);var b=this.getWidth(c);var d=this.getHeight(c);e.width=b;e.height=d;e.style.width=b;e.style.height=d;e=f.canvasManager.initCanvas(e);this._elem=a(e);this._elem.css({position:"absolute"});this._elem.addClass("jqplot-"+this.axis+"-label");e=null;return this._elem};a.jqplot.CanvasAxisLabelRenderer.prototype.pack=function(){this._textRenderer.draw(this._elem.get(0).getContext("2d"),this.label)}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js
deleted file mode 100644
index 7ef60968..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.CanvasAxisTickRenderer=function(b){this.mark="outside";this.showMark=true;this.showGridline=true;this.isMinorTick=false;this.angle=0;this.markSize=4;this.show=true;this.showLabel=true;this.labelPosition="auto";this.label="";this.value=null;this._styles={};this.formatter=a.jqplot.DefaultTickFormatter;this.formatString="";this.prefix="";this.fontFamily='"Trebuchet MS", Arial, Helvetica, sans-serif';this.fontSize="10pt";this.fontWeight="normal";this.fontStretch=1;this.textColor="#666666";this.enableFontSupport=true;this.pt2px=null;this._elem;this._ctx;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null};a.extend(true,this,b);var c={fontSize:this.fontSize,fontWeight:this.fontWeight,fontStretch:this.fontStretch,fillStyle:this.textColor,angle:this.getAngleRad(),fontFamily:this.fontFamily};if(this.pt2px){c.pt2px=this.pt2px}if(this.enableFontSupport){if(a.jqplot.support_canvas_text()){this._textRenderer=new a.jqplot.CanvasFontRenderer(c)}else{this._textRenderer=new a.jqplot.CanvasTextRenderer(c)}}else{this._textRenderer=new a.jqplot.CanvasTextRenderer(c)}};a.jqplot.CanvasAxisTickRenderer.prototype.init=function(b){a.extend(true,this,b);this._textRenderer.init({fontSize:this.fontSize,fontWeight:this.fontWeight,fontStretch:this.fontStretch,fillStyle:this.textColor,angle:this.getAngleRad(),fontFamily:this.fontFamily})};a.jqplot.CanvasAxisTickRenderer.prototype.getWidth=function(d){if(this._elem){return this._elem.outerWidth(true)}else{var f=this._textRenderer;var c=f.getWidth(d);var e=f.getHeight(d);var b=Math.abs(Math.sin(f.angle)*e)+Math.abs(Math.cos(f.angle)*c);return b}};a.jqplot.CanvasAxisTickRenderer.prototype.getHeight=function(d){if(this._elem){return this._elem.outerHeight(true)}else{var f=this._textRenderer;var c=f.getWidth(d);var e=f.getHeight(d);var b=Math.abs(Math.cos(f.angle)*e)+Math.abs(Math.sin(f.angle)*c);return b}};a.jqplot.CanvasAxisTickRenderer.prototype.getTop=function(b){if(this._elem){return this._elem.position().top}else{return null}};a.jqplot.CanvasAxisTickRenderer.prototype.getAngleRad=function(){var b=this.angle*Math.PI/180;return b};a.jqplot.CanvasAxisTickRenderer.prototype.setTick=function(b,d,c){this.value=b;if(c){this.isMinorTick=true}return this};a.jqplot.CanvasAxisTickRenderer.prototype.draw=function(c,f){if(!this.label){this.label=this.prefix+this.formatter(this.formatString,this.value)}if(this._elem){if(a.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){window.G_vmlCanvasManager.uninitElement(this._elem.get(0))}this._elem.emptyForce();this._elem=null}var e=f.canvasManager.getCanvas();this._textRenderer.setText(this.label,c);var b=this.getWidth(c);var d=this.getHeight(c);e.width=b;e.height=d;e.style.width=b;e.style.height=d;e.style.textAlign="left";e.style.position="absolute";e=f.canvasManager.initCanvas(e);this._elem=a(e);this._elem.css(this._styles);this._elem.addClass("jqplot-"+this.axis+"-tick");e=null;return this._elem};a.jqplot.CanvasAxisTickRenderer.prototype.pack=function(){this._textRenderer.draw(this._elem.get(0).getContext("2d"),this.label)}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.canvasOverlay.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.canvasOverlay.min.js
deleted file mode 100644
index 264f39b4..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.canvasOverlay.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(d){var f=0;d.jqplot.CanvasOverlay=function(q){var o=q||{};this.options={show:d.jqplot.config.enablePlugins,deferDraw:false};this.objects=[];this.objectNames=[];this.canvas=null;this.markerRenderer=new d.jqplot.MarkerRenderer({style:"line"});this.markerRenderer.init();this.highlightObjectIndex=null;if(o.objects){var s=o.objects,r;for(var p=0;p<s.length;p++){r=s[p];for(var t in r){switch(t){case"line":this.addLine(r[t]);break;case"horizontalLine":this.addHorizontalLine(r[t]);break;case"dashedHorizontalLine":this.addDashedHorizontalLine(r[t]);break;case"verticalLine":this.addVerticalLine(r[t]);break;case"dashedVerticalLine":this.addDashedVerticalLine(r[t]);break;case"rectangle":this.addRectangle(r[t]);break;default:break}}}}d.extend(true,this.options,o)};d.jqplot.CanvasOverlay.postPlotInit=function(q,p,o){var n=o||{};this.plugins.canvasOverlay=new d.jqplot.CanvasOverlay(n.canvasOverlay)};function i(){this.uid=null;this.type=null;this.gridStart=null;this.gridStop=null;this.tooltipWidthFactor=0;this.options={name:null,show:true,lineWidth:2,lineCap:"round",color:"#666666",shadow:true,shadowAngle:45,shadowOffset:1,shadowDepth:3,shadowAlpha:"0.07",xaxis:"xaxis",yaxis:"yaxis",showTooltip:false,showTooltipPrecision:0.6,tooltipLocation:"nw",fadeTooltip:true,tooltipFadeSpeed:"fast",tooltipOffset:4,tooltipFormatString:"%d, %d"}}function m(n){i.call(this);this.type="rectangle";var o={xmin:null,xmax:null,xOffset:"6px",xminOffset:null,xmaxOffset:null,ymin:null,ymax:null,yOffset:"6px",yminOffset:null,ymaxOffset:null};d.extend(true,this.options,o,n);if(this.options.showTooltipPrecision<0.01){this.options.showTooltipPrecision=0.01}}m.prototype=new i();m.prototype.constructor=m;function b(n){i.call(this);this.type="line";var o={start:[],stop:[]};d.extend(true,this.options,o,n);if(this.options.showTooltipPrecision<0.01){this.options.showTooltipPrecision=0.01}}b.prototype=new i();b.prototype.constructor=b;function e(n){i.call(this);this.type="horizontalLine";var o={y:null,xmin:null,xmax:null,xOffset:"6px",xminOffset:null,xmaxOffset:null};d.extend(true,this.options,o,n);if(this.options.showTooltipPrecision<0.01){this.options.showTooltipPrecision=0.01}}e.prototype=new i();e.prototype.constructor=e;function j(n){i.call(this);this.type="dashedHorizontalLine";var o={y:null,xmin:null,xmax:null,xOffset:"6px",xminOffset:null,xmaxOffset:null,dashPattern:[8,8]};d.extend(true,this.options,o,n);if(this.options.showTooltipPrecision<0.01){this.options.showTooltipPrecision=0.01}}j.prototype=new i();j.prototype.constructor=j;function c(n){i.call(this);this.type="verticalLine";var o={x:null,ymin:null,ymax:null,yOffset:"6px",yminOffset:null,ymaxOffset:null};d.extend(true,this.options,o,n);if(this.options.showTooltipPrecision<0.01){this.options.showTooltipPrecision=0.01}}c.prototype=new i();c.prototype.constructor=c;function l(n){i.call(this);this.type="dashedVerticalLine";this.start=null;this.stop=null;var o={x:null,ymin:null,ymax:null,yOffset:"6px",yminOffset:null,ymaxOffset:null,dashPattern:[8,8]};d.extend(true,this.options,o,n);if(this.options.showTooltipPrecision<0.01){this.options.showTooltipPrecision=0.01}}l.prototype=new i();l.prototype.constructor=l;d.jqplot.CanvasOverlay.prototype.addLine=function(o){var n=new b(o);n.uid=f++;this.objects.push(n);this.objectNames.push(n.options.name)};d.jqplot.CanvasOverlay.prototype.addHorizontalLine=function(o){var n=new e(o);n.uid=f++;this.objects.push(n);this.objectNames.push(n.options.name)};d.jqplot.CanvasOverlay.prototype.addDashedHorizontalLine=function(o){var n=new j(o);n.uid=f++;this.objects.push(n);this.objectNames.push(n.options.name)};d.jqplot.CanvasOverlay.prototype.addVerticalLine=function(o){var n=new c(o);n.uid=f++;this.objects.push(n);this.objectNames.push(n.options.name)};d.jqplot.CanvasOverlay.prototype.addDashedVerticalLine=function(o){var n=new l(o);n.uid=f++;this.objects.push(n);this.objectNames.push(n.options.name)};d.jqplot.CanvasOverlay.prototype.addRectangle=function(o){var n=new m(o);n.uid=f++;this.objects.push(n);this.objectNames.push(n.options.name)};d.jqplot.CanvasOverlay.prototype.removeObject=function(n){if(d.type(n)=="number"){this.objects.splice(n,1);this.objectNames.splice(n,1)}else{var o=d.inArray(n,this.objectNames);if(o!=-1){this.objects.splice(o,1);this.objectNames.splice(o,1)}}};d.jqplot.CanvasOverlay.prototype.getObject=function(n){if(d.type(n)=="number"){return this.objects[n]}else{var o=d.inArray(n,this.objectNames);if(o!=-1){return this.objects[o]}}};d.jqplot.CanvasOverlay.prototype.get=d.jqplot.CanvasOverlay.prototype.getObject;d.jqplot.CanvasOverlay.prototype.clear=function(n){this.canvas._ctx.clearRect(0,0,this.canvas.getWidth(),this.canvas.getHeight())};d.jqplot.CanvasOverlay.prototype.draw=function(K){var A,v=this.objects,F=this.markerRenderer,s,G;if(this.options.show){this.canvas._ctx.clearRect(0,0,this.canvas.getWidth(),this.canvas.getHeight());for(var H=0;H<v.length;H++){A=v[H];var B=d.extend(true,{},A.options);if(A.options.show){F.shadow=A.options.shadow;A.tooltipWidthFactor=A.options.lineWidth/A.options.showTooltipPrecision;switch(A.type){case"line":F.style="line";B.closePath=false;s=[K.axes[A.options.xaxis].series_u2p(A.options.start[0]),K.axes[A.options.yaxis].series_u2p(A.options.start[1])];G=[K.axes[A.options.xaxis].series_u2p(A.options.stop[0]),K.axes[A.options.yaxis].series_u2p(A.options.stop[1])];A.gridStart=s;A.gridStop=G;F.draw(s,G,this.canvas._ctx,B);break;case"horizontalLine":if(A.options.y!=null){F.style="line";B.closePath=false;var p=K.axes[A.options.xaxis],S,L,w=K.axes[A.options.yaxis].series_u2p(A.options.y),I=A.options.xminOffset||A.options.xOffset,t=A.options.xmaxOffset||A.options.xOffset;if(A.options.xmin!=null){S=p.series_u2p(A.options.xmin)}else{if(I!=null){if(d.type(I)=="number"){S=p.series_u2p(p.min+I)}else{if(d.type(I)=="string"){S=p.series_u2p(p.min)+parseFloat(I)}}}}if(A.options.xmax!=null){L=p.series_u2p(A.options.xmax)}else{if(t!=null){if(d.type(t)=="number"){L=p.series_u2p(p.max-t)}else{if(d.type(t)=="string"){L=p.series_u2p(p.max)-parseFloat(t)}}}}if(L!=null&&S!=null){A.gridStart=[S,w];A.gridStop=[L,w];F.draw([S,w],[L,w],this.canvas._ctx,B)}}break;case"dashedHorizontalLine":var o=A.options.dashPattern;var E=0;for(var M=0;M<o.length;M++){E+=o[M]}if(A.options.y!=null){F.style="line";B.closePath=false;var p=K.axes[A.options.xaxis],S,L,w=K.axes[A.options.yaxis].series_u2p(A.options.y),I=A.options.xminOffset||A.options.xOffset,t=A.options.xmaxOffset||A.options.xOffset;if(A.options.xmin!=null){S=p.series_u2p(A.options.xmin)}else{if(I!=null){if(d.type(I)=="number"){S=p.series_u2p(p.min+I)}else{if(d.type(I)=="string"){S=p.series_u2p(p.min)+parseFloat(I)}}}}if(A.options.xmax!=null){L=p.series_u2p(A.options.xmax)}else{if(t!=null){if(d.type(t)=="number"){L=p.series_u2p(p.max-t)}else{if(d.type(t)=="string"){L=p.series_u2p(p.max)-parseFloat(t)}}}}if(L!=null&&S!=null){A.gridStart=[S,w];A.gridStop=[L,w];var r=Math.ceil((L-S)/E);var Q=S,O;for(var M=0;M<r;M++){for(var J=0;J<o.length;J+=2){O=Q+o[J];F.draw([Q,w],[O,w],this.canvas._ctx,B);Q+=o[J];if(J<o.length-1){Q+=o[J+1]}}}}}break;case"verticalLine":if(A.options.x!=null){F.style="line";B.closePath=false;var N=K.axes[A.options.yaxis],n,u,z=K.axes[A.options.xaxis].series_u2p(A.options.x),D=A.options.yminOffset||A.options.yOffset,q=A.options.ymaxOffset||A.options.yOffset;if(A.options.ymin!=null){n=N.series_u2p(A.options.ymin)}else{if(D!=null){if(d.type(D)=="number"){n=N.series_u2p(N.min-D)}else{if(d.type(D)=="string"){n=N.series_u2p(N.min)-parseFloat(D)}}}}if(A.options.ymax!=null){u=N.series_u2p(A.options.ymax)}else{if(q!=null){if(d.type(q)=="number"){u=N.series_u2p(N.max+q)}else{if(d.type(q)=="string"){u=N.series_u2p(N.max)+parseFloat(q)}}}}if(u!=null&&n!=null){A.gridStart=[z,n];A.gridStop=[z,u];F.draw([z,n],[z,u],this.canvas._ctx,B)}}break;case"dashedVerticalLine":var o=A.options.dashPattern;var E=0;for(var M=0;M<o.length;M++){E+=o[M]}if(A.options.x!=null){F.style="line";B.closePath=false;var N=K.axes[A.options.yaxis],n,u,z=K.axes[A.options.xaxis].series_u2p(A.options.x),D=A.options.yminOffset||A.options.yOffset,q=A.options.ymaxOffset||A.options.yOffset;if(A.options.ymin!=null){n=N.series_u2p(A.options.ymin)}else{if(D!=null){if(d.type(D)=="number"){n=N.series_u2p(N.min-D)}else{if(d.type(D)=="string"){n=N.series_u2p(N.min)-parseFloat(D)}}}}if(A.options.ymax!=null){u=N.series_u2p(A.options.ymax)}else{if(q!=null){if(d.type(q)=="number"){u=N.series_u2p(N.max+q)}else{if(d.type(q)=="string"){u=N.series_u2p(N.max)+parseFloat(q)}}}}if(u!=null&&n!=null){A.gridStart=[z,n];A.gridStop=[z,u];var r=Math.ceil((n-u)/E);var C=((r*E)-(n-u))/2;var Q=n,O,P,R;for(var M=0;M<r;M++){for(var J=0;J<o.length;J+=2){O=Q-o[J];if(O<u){O=u}if(Q<u){Q=u}F.draw([z,Q],[z,O],this.canvas._ctx,B);Q-=o[J];if(J<o.length-1){Q-=o[J+1]}}}}}break;case"rectangle":F.style="line";B.closePath=true;var p=K.axes[A.options.xaxis],S,L,w=K.axes[A.options.yaxis].series_u2p(A.options.y),I=A.options.xminOffset||A.options.xOffset,t=A.options.xmaxOffset||A.options.xOffset;if(A.options.xmin!=null){S=p.series_u2p(A.options.xmin)}else{if(I!=null){if(d.type(I)=="number"){S=p.series_u2p(p.min+I)}else{if(d.type(I)=="string"){S=p.series_u2p(p.min)+parseFloat(I)}}}}if(A.options.xmax!=null){L=p.series_u2p(A.options.xmax)}else{if(t!=null){if(d.type(t)=="number"){L=p.series_u2p(p.max-t)}else{if(d.type(t)=="string"){L=p.series_u2p(p.max)-parseFloat(t)}}}}var N=K.axes[A.options.yaxis],n,u,z=K.axes[A.options.xaxis].series_u2p(A.options.x),D=A.options.yminOffset||A.options.yOffset,q=A.options.ymaxOffset||A.options.yOffset;if(A.options.ymin!=null){n=N.series_u2p(A.options.ymin)}else{if(D!=null){if(d.type(D)=="number"){n=N.series_u2p(N.min-D)}else{if(d.type(D)=="string"){n=N.series_u2p(N.min)-parseFloat(D)}}}}if(A.options.ymax!=null){u=N.series_u2p(A.options.ymax)}else{if(q!=null){if(d.type(q)=="number"){u=N.series_u2p(N.max+q)}else{if(d.type(q)=="string"){u=N.series_u2p(N.max)+parseFloat(q)}}}}if(L!=null&&S!=null&&u!=null&&n!=null){A.gridStart=[S,n];A.gridStop=[L,u];this.canvas._ctx.fillStyle=A.options.color;this.canvas._ctx.fillRect(S,n,L-S,u-n)}break;default:break}}}}};d.jqplot.CanvasOverlay.postPlotDraw=function(){var o=this.plugins.canvasOverlay;if(o&&o.highlightCanvas){o.highlightCanvas.resetCanvas();o.highlightCanvas=null}o.canvas=new d.jqplot.GenericCanvas();this.eventCanvas._elem.before(o.canvas.createElement(this._gridPadding,"jqplot-overlayCanvas-canvas",this._plotDimensions,this));o.canvas.setContext();if(!o.deferDraw){o.draw(this)}var n=document.createElement("div");o._tooltipElem=d(n);n=null;o._tooltipElem.addClass("jqplot-canvasOverlay-tooltip");o._tooltipElem.css({position:"absolute",display:"none"});this.eventCanvas._elem.before(o._tooltipElem);this.eventCanvas._elem.bind("mouseleave",{elem:o._tooltipElem},function(p){p.data.elem.hide()});var o=null};function k(s,q,r,p){var u=s.plugins.canvasOverlay;var o=u._tooltipElem;var n=q.options,v,t;o.html(d.jqplot.sprintf(n.tooltipFormatString,p[0],p[1]));switch(n.tooltipLocation){case"nw":v=r[0]+s._gridPadding.left-o.outerWidth(true)-n.tooltipOffset;t=r[1]+s._gridPadding.top-n.tooltipOffset-o.outerHeight(true);break;case"n":v=r[0]+s._gridPadding.left-o.outerWidth(true)/2;t=r[1]+s._gridPadding.top-n.tooltipOffset-o.outerHeight(true);break;case"ne":v=r[0]+s._gridPadding.left+n.tooltipOffset;t=r[1]+s._gridPadding.top-n.tooltipOffset-o.outerHeight(true);break;case"e":v=r[0]+s._gridPadding.left+n.tooltipOffset;t=r[1]+s._gridPadding.top-o.outerHeight(true)/2;break;case"se":v=r[0]+s._gridPadding.left+n.tooltipOffset;t=r[1]+s._gridPadding.top+n.tooltipOffset;break;case"s":v=r[0]+s._gridPadding.left-o.outerWidth(true)/2;t=r[1]+s._gridPadding.top+n.tooltipOffset;break;case"sw":v=r[0]+s._gridPadding.left-o.outerWidth(true)-n.tooltipOffset;t=r[1]+s._gridPadding.top+n.tooltipOffset;break;case"w":v=r[0]+s._gridPadding.left-o.outerWidth(true)-n.tooltipOffset;t=r[1]+s._gridPadding.top-o.outerHeight(true)/2;break;default:v=r[0]+s._gridPadding.left-o.outerWidth(true)-n.tooltipOffset;t=r[1]+s._gridPadding.top-n.tooltipOffset-o.outerHeight(true);break}o.css("left",v);o.css("top",t);if(n.fadeTooltip){o.stop(true,true).fadeIn(n.tooltipFadeSpeed)}else{o.show()}o=null}function h(z,q,s,p){var o=z[0];var n=z[1];var y=Math.round(s[0]);var x=Math.round(s[1]);var u=Math.round(q[0]);var t=Math.round(q[1]);var r=Math.sqrt(Math.pow(y-u,2)+Math.pow(x-t,2));var A=p*r;var w=Math.abs((u-y)*(n-x)-(t-x)*(o-y));var v=(w<A)?true:false;return v}function g(x,q,r,p){var o=x[0];var n=x[1];var w=Math.round(r[0]);var v=Math.round(r[1]);var t=Math.round(q[0]);var s=Math.round(q[1]);var y;if(w>t){y=w;w=t;t=y}if(v>s){y=v;v=s;s=y}var u=(o>=w&&o<=t&&n>=v&&n<=s);return u}function a(z,w,r,A,x){var y=x.plugins.canvasOverlay;var v=y.objects;var s=v.length;var u,o=false;var q;for(var t=0;t<s;t++){u=v[t];if(u.options.showTooltip){var p;if(u.type==="rectangle"){p=g([w.x,w.y],u.gridStart,u.gridStop,u.tooltipWidthFactor)}else{p=h([w.x,w.y],u.gridStart,u.gridStop,u.tooltipWidthFactor)}r=[x.axes[u.options.xaxis].series_p2u(w.x),x.axes[u.options.yaxis].series_p2u(w.y)];if(p&&y.highlightObjectIndex==null){switch(u.type){case"line":k(x,u,[w.x,w.y],r);break;case"horizontalLine":case"dashedHorizontalLine":k(x,u,[w.x,u.gridStart[1]],[r[0],u.options.y]);break;case"verticalLine":case"dashedVerticalLine":k(x,u,[u.gridStart[0],w.y],[u.options.x,r[1]]);break;case"rectangle":k(x,u,[u.gridStart[0],w.y],[u.options.x,r[1]]);break;default:break}y.highlightObjectIndex=t;o=true;break}else{if(p&&y.highlightObjectIndex!==t){q=y._tooltipElem;if(u.fadeTooltip){q.fadeOut(u.tooltipFadeSpeed)}else{q.hide()}switch(u.type){case"line":k(x,u,[w.x,w.y],r);break;case"horizontalLine":case"dashedHorizontalLine":k(x,u,[w.x,u.gridStart[1]],[r[0],u.options.y]);break;case"verticalLine":case"dashedVerticalLine":k(x,u,[u.gridStart[0],w.y],[u.options.x,r[1]]);break;case"rectangle":k(x,u,[u.gridStart[0],w.y],[u.options.x,r[1]]);break;default:break}y.highlightObjectIndex=t;o=true;break}else{if(p){switch(u.type){case"line":k(x,u,[w.x,w.y],r);break;case"horizontalLine":case"dashedHorizontalLine":k(x,u,[w.x,u.gridStart[1]],[r[0],u.options.y]);break;case"verticalLine":case"dashedVerticalLine":k(x,u,[u.gridStart[0],w.y],[u.options.x,r[1]]);break;case"rectangle":k(x,u,[u.gridStart[0],w.y],[u.options.x,r[1]]);break;default:break}o=true;break}}}}}if(!o&&y.highlightObjectIndex!==null){q=y._tooltipElem;u=y.getObject(y.highlightObjectIndex);if(u.fadeTooltip){q.fadeOut(u.tooltipFadeSpeed)}else{q.hide()}y.highlightObjectIndex=null}}d.jqplot.postInitHooks.push(d.jqplot.CanvasOverlay.postPlotInit);d.jqplot.postDrawHooks.push(d.jqplot.CanvasOverlay.postPlotDraw);d.jqplot.eventListenerHooks.push(["jqplotMouseMove",a])})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js
deleted file mode 100644
index 6f8d6763..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.CanvasTextRenderer=function(b){this.fontStyle="normal";this.fontVariant="normal";this.fontWeight="normal";this.fontSize="10px";this.fontFamily="sans-serif";this.fontStretch=1;this.fillStyle="#666666";this.angle=0;this.textAlign="start";this.textBaseline="alphabetic";this.text;this.width;this.height;this.pt2px=1.28;a.extend(true,this,b);this.normalizedFontSize=this.normalizeFontSize(this.fontSize);this.setHeight()};a.jqplot.CanvasTextRenderer.prototype.init=function(b){a.extend(true,this,b);this.normalizedFontSize=this.normalizeFontSize(this.fontSize);this.setHeight()};a.jqplot.CanvasTextRenderer.prototype.normalizeFontSize=function(b){b=String(b);var c=parseFloat(b);if(b.indexOf("px")>-1){return c/this.pt2px}else{if(b.indexOf("pt")>-1){return c}else{if(b.indexOf("em")>-1){return c*12}else{if(b.indexOf("%")>-1){return c*12/100}else{return c/this.pt2px}}}}};a.jqplot.CanvasTextRenderer.prototype.fontWeight2Float=function(b){if(Number(b)){return b/400}else{switch(b){case"normal":return 1;break;case"bold":return 1.75;break;case"bolder":return 2.25;break;case"lighter":return 0.75;break;default:return 1;break}}};a.jqplot.CanvasTextRenderer.prototype.getText=function(){return this.text};a.jqplot.CanvasTextRenderer.prototype.setText=function(c,b){this.text=c;this.setWidth(b);return this};a.jqplot.CanvasTextRenderer.prototype.getWidth=function(b){return this.width};a.jqplot.CanvasTextRenderer.prototype.setWidth=function(c,b){if(!b){this.width=this.measure(c,this.text)}else{this.width=b}return this};a.jqplot.CanvasTextRenderer.prototype.getHeight=function(b){return this.height};a.jqplot.CanvasTextRenderer.prototype.setHeight=function(b){if(!b){this.height=this.normalizedFontSize*this.pt2px}else{this.height=b}return this};a.jqplot.CanvasTextRenderer.prototype.letter=function(b){return this.letters[b]};a.jqplot.CanvasTextRenderer.prototype.ascent=function(){return this.normalizedFontSize};a.jqplot.CanvasTextRenderer.prototype.descent=function(){return 7*this.normalizedFontSize/25};a.jqplot.CanvasTextRenderer.prototype.measure=function(d,g){var f=0;var b=g.length;for(var e=0;e<b;e++){var h=this.letter(g.charAt(e));if(h){f+=h.width*this.normalizedFontSize/25*this.fontStretch}}return f};a.jqplot.CanvasTextRenderer.prototype.draw=function(s,n){var r=0;var o=this.height*0.72;var p=0;var l=n.length;var k=this.normalizedFontSize/25;s.save();var h,f;if((-Math.PI/2<=this.angle&&this.angle<=0)||(Math.PI*3/2<=this.angle&&this.angle<=Math.PI*2)){h=0;f=-Math.sin(this.angle)*this.width}else{if((0<this.angle&&this.angle<=Math.PI/2)||(-Math.PI*2<=this.angle&&this.angle<=-Math.PI*3/2)){h=Math.sin(this.angle)*this.height;f=0}else{if((-Math.PI<this.angle&&this.angle<-Math.PI/2)||(Math.PI<=this.angle&&this.angle<=Math.PI*3/2)){h=-Math.cos(this.angle)*this.width;f=-Math.sin(this.angle)*this.width-Math.cos(this.angle)*this.height}else{if((-Math.PI*3/2<this.angle&&this.angle<Math.PI)||(Math.PI/2<this.angle&&this.angle<Math.PI)){h=Math.sin(this.angle)*this.height-Math.cos(this.angle)*this.width;f=-Math.cos(this.angle)*this.height}}}}s.strokeStyle=this.fillStyle;s.fillStyle=this.fillStyle;s.translate(h,f);s.rotate(this.angle);s.lineCap="round";var t=(this.normalizedFontSize>30)?2:2+(30-this.normalizedFontSize)/20;s.lineWidth=t*k*this.fontWeight2Float(this.fontWeight);for(var g=0;g<l;g++){var m=this.letter(n.charAt(g));if(!m){continue}s.beginPath();var e=1;var b=0;for(var d=0;d<m.points.length;d++){var q=m.points[d];if(q[0]==-1&&q[1]==-1){e=1;continue}if(e){s.moveTo(r+q[0]*k*this.fontStretch,o-q[1]*k);e=false}else{s.lineTo(r+q[0]*k*this.fontStretch,o-q[1]*k)}}s.stroke();r+=m.width*k*this.fontStretch}s.restore();return p};a.jqplot.CanvasTextRenderer.prototype.letters={" ":{width:16,points:[]},"!":{width:10,points:[[5,21],[5,7],[-1,-1],[5,2],[4,1],[5,0],[6,1],[5,2]]},'"':{width:16,points:[[4,21],[4,14],[-1,-1],[12,21],[12,14]]},"#":{width:21,points:[[11,25],[4,-7],[-1,-1],[17,25],[10,-7],[-1,-1],[4,12],[18,12],[-1,-1],[3,6],[17,6]]},"$":{width:20,points:[[8,25],[8,-4],[-1,-1],[12,25],[12,-4],[-1,-1],[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},"%":{width:24,points:[[21,21],[3,0],[-1,-1],[8,21],[10,19],[10,17],[9,15],[7,14],[5,14],[3,16],[3,18],[4,20],[6,21],[8,21],[10,20],[13,19],[16,19],[19,20],[21,21],[-1,-1],[17,7],[15,6],[14,4],[14,2],[16,0],[18,0],[20,1],[21,3],[21,5],[19,7],[17,7]]},"&":{width:26,points:[[23,12],[23,13],[22,14],[21,14],[20,13],[19,11],[17,6],[15,3],[13,1],[11,0],[7,0],[5,1],[4,2],[3,4],[3,6],[4,8],[5,9],[12,13],[13,14],[14,16],[14,18],[13,20],[11,21],[9,20],[8,18],[8,16],[9,13],[11,10],[16,3],[18,1],[20,0],[22,0],[23,1],[23,2]]},"'":{width:10,points:[[5,19],[4,20],[5,21],[6,20],[6,18],[5,16],[4,15]]},"(":{width:14,points:[[11,25],[9,23],[7,20],[5,16],[4,11],[4,7],[5,2],[7,-2],[9,-5],[11,-7]]},")":{width:14,points:[[3,25],[5,23],[7,20],[9,16],[10,11],[10,7],[9,2],[7,-2],[5,-5],[3,-7]]},"*":{width:16,points:[[8,21],[8,9],[-1,-1],[3,18],[13,12],[-1,-1],[13,18],[3,12]]},"+":{width:26,points:[[13,18],[13,0],[-1,-1],[4,9],[22,9]]},",":{width:10,points:[[6,1],[5,0],[4,1],[5,2],[6,1],[6,-1],[5,-3],[4,-4]]},"-":{width:18,points:[[6,9],[12,9]]},".":{width:10,points:[[5,2],[4,1],[5,0],[6,1],[5,2]]},"/":{width:22,points:[[20,25],[2,-7]]},"0":{width:20,points:[[9,21],[6,20],[4,17],[3,12],[3,9],[4,4],[6,1],[9,0],[11,0],[14,1],[16,4],[17,9],[17,12],[16,17],[14,20],[11,21],[9,21]]},"1":{width:20,points:[[6,17],[8,18],[11,21],[11,0]]},"2":{width:20,points:[[4,16],[4,17],[5,19],[6,20],[8,21],[12,21],[14,20],[15,19],[16,17],[16,15],[15,13],[13,10],[3,0],[17,0]]},"3":{width:20,points:[[5,21],[16,21],[10,13],[13,13],[15,12],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},"4":{width:20,points:[[13,21],[3,7],[18,7],[-1,-1],[13,21],[13,0]]},"5":{width:20,points:[[15,21],[5,21],[4,12],[5,13],[8,14],[11,14],[14,13],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},"6":{width:20,points:[[16,18],[15,20],[12,21],[10,21],[7,20],[5,17],[4,12],[4,7],[5,3],[7,1],[10,0],[11,0],[14,1],[16,3],[17,6],[17,7],[16,10],[14,12],[11,13],[10,13],[7,12],[5,10],[4,7]]},"7":{width:20,points:[[17,21],[7,0],[-1,-1],[3,21],[17,21]]},"8":{width:20,points:[[8,21],[5,20],[4,18],[4,16],[5,14],[7,13],[11,12],[14,11],[16,9],[17,7],[17,4],[16,2],[15,1],[12,0],[8,0],[5,1],[4,2],[3,4],[3,7],[4,9],[6,11],[9,12],[13,13],[15,14],[16,16],[16,18],[15,20],[12,21],[8,21]]},"9":{width:20,points:[[16,14],[15,11],[13,9],[10,8],[9,8],[6,9],[4,11],[3,14],[3,15],[4,18],[6,20],[9,21],[10,21],[13,20],[15,18],[16,14],[16,9],[15,4],[13,1],[10,0],[8,0],[5,1],[4,3]]},":":{width:10,points:[[5,14],[4,13],[5,12],[6,13],[5,14],[-1,-1],[5,2],[4,1],[5,0],[6,1],[5,2]]},";":{width:10,points:[[5,14],[4,13],[5,12],[6,13],[5,14],[-1,-1],[6,1],[5,0],[4,1],[5,2],[6,1],[6,-1],[5,-3],[4,-4]]},"<":{width:24,points:[[20,18],[4,9],[20,0]]},"=":{width:26,points:[[4,12],[22,12],[-1,-1],[4,6],[22,6]]},">":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};a.jqplot.CanvasFontRenderer=function(b){b=b||{};if(!b.pt2px){b.pt2px=1.5}a.jqplot.CanvasTextRenderer.call(this,b)};a.jqplot.CanvasFontRenderer.prototype=new a.jqplot.CanvasTextRenderer({});a.jqplot.CanvasFontRenderer.prototype.constructor=a.jqplot.CanvasFontRenderer;a.jqplot.CanvasFontRenderer.prototype.measure=function(c,e){var d=this.fontSize+" "+this.fontFamily;c.save();c.font=d;var b=c.measureText(e).width;c.restore();return b};a.jqplot.CanvasFontRenderer.prototype.draw=function(e,g){var c=0;var h=this.height*0.72;e.save();var d,b;if((-Math.PI/2<=this.angle&&this.angle<=0)||(Math.PI*3/2<=this.angle&&this.angle<=Math.PI*2)){d=0;b=-Math.sin(this.angle)*this.width}else{if((0<this.angle&&this.angle<=Math.PI/2)||(-Math.PI*2<=this.angle&&this.angle<=-Math.PI*3/2)){d=Math.sin(this.angle)*this.height;b=0}else{if((-Math.PI<this.angle&&this.angle<-Math.PI/2)||(Math.PI<=this.angle&&this.angle<=Math.PI*3/2)){d=-Math.cos(this.angle)*this.width;b=-Math.sin(this.angle)*this.width-Math.cos(this.angle)*this.height}else{if((-Math.PI*3/2<this.angle&&this.angle<Math.PI)||(Math.PI/2<this.angle&&this.angle<Math.PI)){d=Math.sin(this.angle)*this.height-Math.cos(this.angle)*this.width;b=-Math.cos(this.angle)*this.height}}}}e.strokeStyle=this.fillStyle;e.fillStyle=this.fillStyle;var f=this.fontSize+" "+this.fontFamily;e.font=f;e.translate(d,b);e.rotate(this.angle);e.fillText(g,c,h);e.restore()}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js
deleted file mode 100644
index d3a0bae6..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.CategoryAxisRenderer=function(b){a.jqplot.LinearAxisRenderer.call(this);this.sortMergedLabels=false};a.jqplot.CategoryAxisRenderer.prototype=new a.jqplot.LinearAxisRenderer();a.jqplot.CategoryAxisRenderer.prototype.constructor=a.jqplot.CategoryAxisRenderer;a.jqplot.CategoryAxisRenderer.prototype.init=function(e){this.groups=1;this.groupLabels=[];this._groupLabels=[];this._grouped=false;this._barsPerGroup=null;this.reverse=false;a.extend(true,this,{tickOptions:{formatString:"%d"}},e);var b=this._dataBounds;for(var f=0;f<this._series.length;f++){var g=this._series[f];if(g.groups){this.groups=g.groups}var h=g.data;for(var c=0;c<h.length;c++){if(this.name=="xaxis"||this.name=="x2axis"){if(h[c][0]<b.min||b.min==null){b.min=h[c][0]}if(h[c][0]>b.max||b.max==null){b.max=h[c][0]}}else{if(h[c][1]<b.min||b.min==null){b.min=h[c][1]}if(h[c][1]>b.max||b.max==null){b.max=h[c][1]}}}}if(this.groupLabels.length){this.groups=this.groupLabels.length}};a.jqplot.CategoryAxisRenderer.prototype.createTicks=function(){var D=this._ticks;var z=this.ticks;var F=this.name;var C=this._dataBounds;var v,A;var q,w;var d,c;var b,x;if(z.length){if(this.groups>1&&!this._grouped){var r=z.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x<r;x+=p){z.splice(x+e,0," ");e++}this._grouped=true}this.min=0.5;this.max=z.length+0.5;var m=this.max-this.min;this.numberTicks=2*z.length+1;for(x=0;x<z.length;x++){b=this.min+2*x*m/(this.numberTicks-1);var h=new this.tickRenderer(this.tickOptions);h.showLabel=false;h.setTick(b,this.name);this._ticks.push(h);var h=new this.tickRenderer(this.tickOptions);h.label=z[x];h.showMark=false;h.showGridline=false;h.setTick(b+0.5,this.name);this._ticks.push(h)}var h=new this.tickRenderer(this.tickOptions);h.showLabel=false;h.setTick(b+1,this.name);this._ticks.push(h)}else{if(F=="xaxis"||F=="x2axis"){v=this._plotDimensions.width}else{v=this._plotDimensions.height}if(this.min!=null&&this.max!=null&&this.numberTicks!=null){this.tickInterval=null}if(this.min!=null&&this.max!=null&&this.tickInterval!=null){if(parseInt((this.max-this.min)/this.tickInterval,10)!=(this.max-this.min)/this.tickInterval){this.tickInterval=null}}var y=[];var B=0;var q=0.5;var w,E;var f=false;for(var x=0;x<this._series.length;x++){var k=this._series[x];for(var u=0;u<k.data.length;u++){if(this.name=="xaxis"||this.name=="x2axis"){E=k.data[u][0]}else{E=k.data[u][1]}if(a.inArray(E,y)==-1){f=true;B+=1;y.push(E)}}}if(f&&this.sortMergedLabels){if(typeof y[0]=="string"){y.sort()}else{y.sort(function(j,i){return j-i})}}this.ticks=y;for(var x=0;x<this._series.length;x++){var k=this._series[x];for(var u=0;u<k.data.length;u++){if(this.name=="xaxis"||this.name=="x2axis"){E=k.data[u][0]}else{E=k.data[u][1]}var n=a.inArray(E,y)+1;if(this.name=="xaxis"||this.name=="x2axis"){k.data[u][0]=n}else{k.data[u][1]=n}}}if(this.groups>1&&!this._grouped){var r=y.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x<r;x+=p+1){y[x]=" "}this._grouped=true}w=B+0.5;if(this.numberTicks==null){this.numberTicks=2*B+1}var m=w-q;this.min=q;this.max=w;var o=0;var g=parseInt(3+v/10,10);var p=parseInt(B/g,10);if(this.tickInterval==null){this.tickInterval=m/(this.numberTicks-1)}for(var x=0;x<this.numberTicks;x++){b=this.min+x*this.tickInterval;var h=new this.tickRenderer(this.tickOptions);if(x/2==parseInt(x/2,10)){h.showLabel=false;h.showMark=true}else{if(p>0&&o<p){h.showLabel=false;o+=1}else{h.showLabel=true;o=0}h.label=h.formatter(h.formatString,y[(x-1)/2]);h.showMark=false;h.showGridline=false}h.setTick(b,this.name);this._ticks.push(h)}}};a.jqplot.CategoryAxisRenderer.prototype.draw=function(b,j){if(this.show){this.renderer.createTicks.call(this);var h=0;var c;if(this._elem){this._elem.emptyForce()}this._elem=this._elem||a('<div class="jqplot-axis jqplot-'+this.name+'" style="position:absolute;"></div>');if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var g=this._label.draw(b,j);g.appendTo(this._elem)}var f=this._ticks;for(var e=0;e<f.length;e++){var d=f[e];if(d.showLabel&&(!d.isMinorTick||this.showMinorTicks)){var g=d.draw(b,j);g.appendTo(this._elem)}}this._groupLabels=[];for(var e=0;e<this.groupLabels.length;e++){var g=a('<div style="position:absolute;" class="jqplot-'+this.name+'-groupLabel"></div>');g.html(this.groupLabels[e]);this._groupLabels.push(g);g.appendTo(this._elem)}}return this._elem};a.jqplot.CategoryAxisRenderer.prototype.set=function(){var e=0;var m;var k=0;var f=0;var d=(this._label==null)?false:this._label.show;if(this.show){var n=this._ticks;for(var c=0;c<n.length;c++){var g=n[c];if(g.showLabel&&(!g.isMinorTick||this.showMinorTicks)){if(this.name=="xaxis"||this.name=="x2axis"){m=g._elem.outerHeight(true)}else{m=g._elem.outerWidth(true)}if(m>e){e=m}}}var j=0;for(var c=0;c<this._groupLabels.length;c++){var b=this._groupLabels[c];if(this.name=="xaxis"||this.name=="x2axis"){m=b.outerHeight(true)}else{m=b.outerWidth(true)}if(m>j){j=m}}if(d){k=this._label._elem.outerWidth(true);f=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){e+=j+k;this._elem.css({width:e+"px",left:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}else{e+=j+k;this._elem.css({width:e+"px",right:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}}}}};a.jqplot.CategoryAxisRenderer.prototype.pack=function(e,c){var C=this._ticks;var v=this.max;var s=this.min;var n=c.max;var l=c.min;var q=(this._label==null)?false:this._label.show;var x;for(var r in e){this._elem.css(r,e[r])}this._offsets=c;var g=n-l;var k=v-s;if(!this.reverse){this.u2p=function(h){return(h-s)*g/k+l};this.p2u=function(h){return(h-l)*k/g+s};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(h-s)*g/k};this.series_p2u=function(h){return h*k/g+s}}else{this.series_u2p=function(h){return(h-v)*g/k};this.series_p2u=function(h){return h*k/g+v}}}else{this.u2p=function(h){return l+(v-h)*g/k};this.p2u=function(h){return s+(h-l)*k/g};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(v-h)*g/k};this.series_p2u=function(h){return h*k/g+v}}else{this.series_u2p=function(h){return(s-h)*g/k};this.series_p2u=function(h){return h*k/g+s}}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(x=0;x<C.length;x++){var o=C[x];if(o.show&&o.showLabel){var b;if(o.constructor==a.jqplot.CanvasAxisTickRenderer&&o.angle){var A=(this.name=="xaxis")?1:-1;switch(o.labelPosition){case"auto":if(A*o.angle<0){b=-o.getWidth()+o._textRenderer.height*Math.sin(-o._textRenderer.angle)/2}else{b=-o._textRenderer.height*Math.sin(o._textRenderer.angle)/2}break;case"end":b=-o.getWidth()+o._textRenderer.height*Math.sin(-o._textRenderer.angle)/2;break;case"start":b=-o._textRenderer.height*Math.sin(o._textRenderer.angle)/2;break;case"middle":b=-o.getWidth()/2+o._textRenderer.height*Math.sin(-o._textRenderer.angle)/2;break;default:b=-o.getWidth()/2+o._textRenderer.height*Math.sin(-o._textRenderer.angle)/2;break}}else{b=-o.getWidth()/2}var D=this.u2p(o.value)+b+"px";o._elem.css("left",D);o.pack()}}var z=["bottom",0];if(q){var m=this._label._elem.outerWidth(true);this._label._elem.css("left",l+g/2-m/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px");z=["bottom",this._label._elem.outerHeight(true)]}else{this._label._elem.css("top","0px");z=["top",this._label._elem.outerHeight(true)]}this._label.pack()}var d=parseInt(this._ticks.length/this.groups,10)+1;for(x=0;x<this._groupLabels.length;x++){var B=0;var f=0;for(var u=x*d;u<(x+1)*d;u++){if(u>=this._ticks.length-1){continue}if(this._ticks[u]._elem&&this._ticks[u].label!=" "){var o=this._ticks[u]._elem;var r=o.position();B+=r.left+o.outerWidth(true)/2;f++}}B=B/f;this._groupLabels[x].css({left:(B-this._groupLabels[x].outerWidth(true)/2)});this._groupLabels[x].css(z[0],z[1])}}else{for(x=0;x<C.length;x++){var o=C[x];if(o.show&&o.showLabel){var b;if(o.constructor==a.jqplot.CanvasAxisTickRenderer&&o.angle){var A=(this.name=="yaxis")?1:-1;switch(o.labelPosition){case"auto":case"end":if(A*o.angle<0){b=-o._textRenderer.height*Math.cos(-o._textRenderer.angle)/2}else{b=-o.getHeight()+o._textRenderer.height*Math.cos(o._textRenderer.angle)/2}break;case"start":if(o.angle>0){b=-o._textRenderer.height*Math.cos(-o._textRenderer.angle)/2}else{b=-o.getHeight()+o._textRenderer.height*Math.cos(o._textRenderer.angle)/2}break;case"middle":b=-o.getHeight()/2;break;default:b=-o.getHeight()/2;break}}else{b=-o.getHeight()/2}var D=this.u2p(o.value)+b+"px";o._elem.css("top",D);o.pack()}}var z=["left",0];if(q){var y=this._label._elem.outerHeight(true);this._label._elem.css("top",n-g/2-y/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px");z=["left",this._label._elem.outerWidth(true)]}else{this._label._elem.css("right","0px");z=["right",this._label._elem.outerWidth(true)]}this._label.pack()}var d=parseInt(this._ticks.length/this.groups,10)+1;for(x=0;x<this._groupLabels.length;x++){var B=0;var f=0;for(var u=x*d;u<(x+1)*d;u++){if(u>=this._ticks.length-1){continue}if(this._ticks[u]._elem&&this._ticks[u].label!=" "){var o=this._ticks[u]._elem;var r=o.position();B+=r.top+o.outerHeight()/2;f++}}B=B/f;this._groupLabels[x].css({top:B-this._groupLabels[x].outerHeight()/2});this._groupLabels[x].css(z[0],z[1])}}}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.ciParser.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.ciParser.min.js
deleted file mode 100644
index e17e7921..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.ciParser.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.ciParser=function(g,l){var m=[],o,n,h,f,e,c;if(typeof(g)=="string"){g=a.jqplot.JSON.parse(g,d)}else{if(typeof(g)=="object"){for(e in g){for(h=0;h<g[e].length;h++){for(c in g[e][h]){g[e][h][c]=d(c,g[e][h][c])}}}}else{return null}}function d(j,k){var i;if(k!=null){if(k.toString().indexOf("Date")>=0){i=/^\/Date\((-?[0-9]+)\)\/$/.exec(k);if(i){return parseInt(i[1],10)}}return k}}for(var b in g){o=[];n=g[b];switch(b){case"PriceTicks":for(h=0;h<n.length;h++){o.push([n[h]["TickDate"],n[h]["Price"]])}break;case"PriceBars":for(h=0;h<n.length;h++){o.push([n[h]["BarDate"],n[h]["Open"],n[h]["High"],n[h]["Low"],n[h]["Close"]])}break}m.push(o)}return m}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.cursor.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.cursor.min.js
deleted file mode 100644
index 44713093..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.cursor.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(j){j.jqplot.Cursor=function(q){this.style="crosshair";this.previousCursor="auto";this.show=j.jqplot.config.enablePlugins;this.showTooltip=true;this.followMouse=false;this.tooltipLocation="se";this.tooltipOffset=6;this.showTooltipGridPosition=false;this.showTooltipUnitPosition=true;this.showTooltipDataPosition=false;this.tooltipFormatString="%.4P, %.4P";this.useAxesFormatters=true;this.tooltipAxisGroups=[];this.zoom=false;this.zoomProxy=false;this.zoomTarget=false;this.looseZoom=true;this.clickReset=false;this.dblClickReset=true;this.showVerticalLine=false;this.showHorizontalLine=false;this.constrainZoomTo="none";this.shapeRenderer=new j.jqplot.ShapeRenderer();this._zoom={start:[],end:[],started:false,zooming:false,isZoomed:false,axes:{start:{},end:{}},gridpos:{},datapos:{}};this._tooltipElem;this.zoomCanvas;this.cursorCanvas;this.intersectionThreshold=2;this.showCursorLegend=false;this.cursorLegendFormatString=j.jqplot.Cursor.cursorLegendFormatString;this._oldHandlers={onselectstart:null,ondrag:null,onmousedown:null};this.constrainOutsideZoom=true;this.showTooltipOutsideZoom=false;this.onGrid=false;j.extend(true,this,q)};j.jqplot.Cursor.cursorLegendFormatString="%s x:%s, y:%s";j.jqplot.Cursor.init=function(t,s,r){var q=r||{};this.plugins.cursor=new j.jqplot.Cursor(q.cursor);var u=this.plugins.cursor;if(u.show){j.jqplot.eventListenerHooks.push(["jqplotMouseEnter",b]);j.jqplot.eventListenerHooks.push(["jqplotMouseLeave",f]);j.jqplot.eventListenerHooks.push(["jqplotMouseMove",i]);if(u.showCursorLegend){r.legend=r.legend||{};r.legend.renderer=j.jqplot.CursorLegendRenderer;r.legend.formatString=this.plugins.cursor.cursorLegendFormatString;r.legend.show=true}if(u.zoom){j.jqplot.eventListenerHooks.push(["jqplotMouseDown",a]);if(u.clickReset){j.jqplot.eventListenerHooks.push(["jqplotClick",k])}if(u.dblClickReset){j.jqplot.eventListenerHooks.push(["jqplotDblClick",c])}}this.resetZoom=function(){var x=this.axes;if(!u.zoomProxy){for(var w in x){x[w].reset();x[w]._ticks=[];if(u._zoom.axes[w]!==undefined){x[w]._autoFormatString=u._zoom.axes[w].tickFormatString}}this.redraw()}else{var v=this.plugins.cursor.zoomCanvas._ctx;v.clearRect(0,0,v.canvas.width,v.canvas.height);v=null}this.plugins.cursor._zoom.isZoomed=false;this.target.trigger("jqplotResetZoom",[this,this.plugins.cursor])};if(u.showTooltipDataPosition){u.showTooltipUnitPosition=false;u.showTooltipGridPosition=false;if(q.cursor.tooltipFormatString==undefined){u.tooltipFormatString=j.jqplot.Cursor.cursorLegendFormatString}}}};j.jqplot.Cursor.postDraw=function(){var x=this.plugins.cursor;if(x.zoomCanvas){x.zoomCanvas.resetCanvas();x.zoomCanvas=null}if(x.cursorCanvas){x.cursorCanvas.resetCanvas();x.cursorCanvas=null}if(x._tooltipElem){x._tooltipElem.emptyForce();x._tooltipElem=null}if(x.zoom){x.zoomCanvas=new j.jqplot.GenericCanvas();this.eventCanvas._elem.before(x.zoomCanvas.createElement(this._gridPadding,"jqplot-zoom-canvas",this._plotDimensions,this));x.zoomCanvas.setContext()}var v=document.createElement("div");x._tooltipElem=j(v);v=null;x._tooltipElem.addClass("jqplot-cursor-tooltip");x._tooltipElem.css({position:"absolute",display:"none"});if(x.zoomCanvas){x.zoomCanvas._elem.before(x._tooltipElem)}else{this.eventCanvas._elem.before(x._tooltipElem)}if(x.showVerticalLine||x.showHorizontalLine){x.cursorCanvas=new j.jqplot.GenericCanvas();this.eventCanvas._elem.before(x.cursorCanvas.createElement(this._gridPadding,"jqplot-cursor-canvas",this._plotDimensions,this));x.cursorCanvas.setContext()}if(x.showTooltipUnitPosition){if(x.tooltipAxisGroups.length===0){var t=this.series;var u;var q=[];for(var r=0;r<t.length;r++){u=t[r];var w=u.xaxis+","+u.yaxis;if(j.inArray(w,q)==-1){q.push(w)}}for(var r=0;r<q.length;r++){x.tooltipAxisGroups.push(q[r].split(","))}}}};j.jqplot.Cursor.zoomProxy=function(v,r){var q=v.plugins.cursor;var u=r.plugins.cursor;q.zoomTarget=true;q.zoom=true;q.style="auto";q.dblClickReset=false;u.zoom=true;u.zoomProxy=true;r.target.bind("jqplotZoom",t);r.target.bind("jqplotResetZoom",s);function t(x,w,z,y,A){q.doZoom(w,z,v,A)}function s(w,x,y){v.resetZoom()}};j.jqplot.Cursor.prototype.resetZoom=function(u,v){var t=u.axes;var s=v._zoom.axes;if(!u.plugins.cursor.zoomProxy&&v._zoom.isZoomed){for(var r in t){t[r].reset();t[r]._ticks=[];t[r]._autoFormatString=s[r].tickFormatString}u.redraw();v._zoom.isZoomed=false}else{var q=v.zoomCanvas._ctx;q.clearRect(0,0,q.canvas.width,q.canvas.height);q=null}u.target.trigger("jqplotResetZoom",[u,v])};j.jqplot.Cursor.resetZoom=function(q){q.resetZoom()};j.jqplot.Cursor.prototype.doZoom=function(G,t,C,u){var I=u;var F=C.axes;var r=I._zoom.axes;var w=r.start;var s=r.end;var B,E,z,D,v,x,q,H,J;var A=C.plugins.cursor.zoomCanvas._ctx;if((I.constrainZoomTo=="none"&&Math.abs(G.x-I._zoom.start[0])>6&&Math.abs(G.y-I._zoom.start[1])>6)||(I.constrainZoomTo=="x"&&Math.abs(G.x-I._zoom.start[0])>6)||(I.constrainZoomTo=="y"&&Math.abs(G.y-I._zoom.start[1])>6)){if(!C.plugins.cursor.zoomProxy){for(var y in t){if(I._zoom.axes[y]==undefined){I._zoom.axes[y]={};I._zoom.axes[y].numberTicks=F[y].numberTicks;I._zoom.axes[y].tickInterval=F[y].tickInterval;I._zoom.axes[y].daTickInterval=F[y].daTickInterval;I._zoom.axes[y].min=F[y].min;I._zoom.axes[y].max=F[y].max;I._zoom.axes[y].tickFormatString=(F[y].tickOptions!=null)?F[y].tickOptions.formatString:""}if((I.constrainZoomTo=="none")||(I.constrainZoomTo=="x"&&y.charAt(0)=="x")||(I.constrainZoomTo=="y"&&y.charAt(0)=="y")){z=t[y];if(z!=null){if(z>w[y]){v=w[y];x=z}else{D=w[y]-z;v=z;x=w[y]}q=F[y];H=null;if(q.alignTicks){if(q.name==="x2axis"&&C.axes.xaxis.show){H=C.axes.xaxis.numberTicks}else{if(q.name.charAt(0)==="y"&&q.name!=="yaxis"&&q.name!=="yMidAxis"&&C.axes.yaxis.show){H=C.axes.yaxis.numberTicks}}}if(this.looseZoom&&(F[y].renderer.constructor===j.jqplot.LinearAxisRenderer||F[y].renderer.constructor===j.jqplot.LogAxisRenderer)){J=j.jqplot.LinearTickGenerator(v,x,q._scalefact,H);if(F[y].tickInset&&J[0]<F[y].min+F[y].tickInset*F[y].tickInterval){J[0]+=J[4];J[2]-=1}if(F[y].tickInset&&J[1]>F[y].max-F[y].tickInset*F[y].tickInterval){J[1]-=J[4];J[2]-=1}if(F[y].renderer.constructor===j.jqplot.LogAxisRenderer&&J[0]<F[y].min){J[0]+=J[4];J[2]-=1}F[y].min=J[0];F[y].max=J[1];F[y]._autoFormatString=J[3];F[y].numberTicks=J[2];F[y].tickInterval=J[4];F[y].daTickInterval=[J[4]/1000,"seconds"]}else{F[y].min=v;F[y].max=x;F[y].tickInterval=null;F[y].numberTicks=null;F[y].daTickInterval=null}F[y]._ticks=[]}}}A.clearRect(0,0,A.canvas.width,A.canvas.height);C.redraw();I._zoom.isZoomed=true;A=null}C.target.trigger("jqplotZoom",[G,t,C,u])}};j.jqplot.preInitHooks.push(j.jqplot.Cursor.init);j.jqplot.postDrawHooks.push(j.jqplot.Cursor.postDraw);function e(G,r,C){var J=C.plugins.cursor;var w="";var N=false;if(J.showTooltipGridPosition){w=G.x+", "+G.y;N=true}if(J.showTooltipUnitPosition){var F;for(var E=0;E<J.tooltipAxisGroups.length;E++){F=J.tooltipAxisGroups[E];if(N){w+="<br />"}if(J.useAxesFormatters){for(var D=0;D<F.length;D++){if(D){w+=", "}var H=C.axes[F[D]]._ticks[0].formatter;var B=C.axes[F[D]]._ticks[0].formatString;w+=H(B,r[F[D]])}}else{w+=j.jqplot.sprintf(J.tooltipFormatString,r[F[0]],r[F[1]])}N=true}}if(J.showTooltipDataPosition){var u=C.series;var M=d(C,G.x,G.y);var N=false;for(var E=0;E<u.length;E++){if(u[E].show){var y=u[E].index;var t=u[E].label.toString();var I=j.inArray(y,M.indices);var z=undefined;var x=undefined;if(I!=-1){var L=M.data[I].data;if(J.useAxesFormatters){var A=u[E]._xaxis._ticks[0].formatter;var q=u[E]._yaxis._ticks[0].formatter;var K=u[E]._xaxis._ticks[0].formatString;var v=u[E]._yaxis._ticks[0].formatString;z=A(K,L[0]);x=q(v,L[1])}else{z=L[0];x=L[1]}if(N){w+="<br />"}w+=j.jqplot.sprintf(J.tooltipFormatString,t,z,x);N=true}}}}J._tooltipElem.html(w)}function g(C,A){var E=A.plugins.cursor;var z=E.cursorCanvas._ctx;z.clearRect(0,0,z.canvas.width,z.canvas.height);if(E.showVerticalLine){E.shapeRenderer.draw(z,[[C.x,0],[C.x,z.canvas.height]])}if(E.showHorizontalLine){E.shapeRenderer.draw(z,[[0,C.y],[z.canvas.width,C.y]])}var G=d(A,C.x,C.y);if(E.showCursorLegend){var r=j(A.targetId+" td.jqplot-cursor-legend-label");for(var B=0;B<r.length;B++){var v=j(r[B]).data("seriesIndex");var t=A.series[v];var s=t.label.toString();var D=j.inArray(v,G.indices);var x=undefined;var w=undefined;if(D!=-1){var H=G.data[D].data;if(E.useAxesFormatters){var y=t._xaxis._ticks[0].formatter;var q=t._yaxis._ticks[0].formatter;var F=t._xaxis._ticks[0].formatString;var u=t._yaxis._ticks[0].formatString;x=y(F,H[0]);w=q(u,H[1])}else{x=H[0];w=H[1]}}if(A.legend.escapeHtml){j(r[B]).text(j.jqplot.sprintf(E.cursorLegendFormatString,s,x,w))}else{j(r[B]).html(j.jqplot.sprintf(E.cursorLegendFormatString,s,x,w))}}}z=null}function d(A,F,E){var B={indices:[],data:[]};var G,w,u,C,v,q,t;var z;var D=A.plugins.cursor;for(var w=0;w<A.series.length;w++){G=A.series[w];q=G.renderer;if(G.show){z=D.intersectionThreshold;if(G.showMarker){z+=G.markerRenderer.size/2}for(var v=0;v<G.gridData.length;v++){t=G.gridData[v];if(D.showVerticalLine){if(Math.abs(F-t[0])<=z){B.indices.push(w);B.data.push({seriesIndex:w,pointIndex:v,gridData:t,data:G.data[v]})}}}}}return B}function n(r,t){var v=t.plugins.cursor;var s=v._tooltipElem;switch(v.tooltipLocation){case"nw":var q=r.x+t._gridPadding.left-s.outerWidth(true)-v.tooltipOffset;var u=r.y+t._gridPadding.top-v.tooltipOffset-s.outerHeight(true);break;case"n":var q=r.x+t._gridPadding.left-s.outerWidth(true)/2;var u=r.y+t._gridPadding.top-v.tooltipOffset-s.outerHeight(true);break;case"ne":var q=r.x+t._gridPadding.left+v.tooltipOffset;var u=r.y+t._gridPadding.top-v.tooltipOffset-s.outerHeight(true);break;case"e":var q=r.x+t._gridPadding.left+v.tooltipOffset;var u=r.y+t._gridPadding.top-s.outerHeight(true)/2;break;case"se":var q=r.x+t._gridPadding.left+v.tooltipOffset;var u=r.y+t._gridPadding.top+v.tooltipOffset;break;case"s":var q=r.x+t._gridPadding.left-s.outerWidth(true)/2;var u=r.y+t._gridPadding.top+v.tooltipOffset;break;case"sw":var q=r.x+t._gridPadding.left-s.outerWidth(true)-v.tooltipOffset;var u=r.y+t._gridPadding.top+v.tooltipOffset;break;case"w":var q=r.x+t._gridPadding.left-s.outerWidth(true)-v.tooltipOffset;var u=r.y+t._gridPadding.top-s.outerHeight(true)/2;break;default:var q=r.x+t._gridPadding.left+v.tooltipOffset;var u=r.y+t._gridPadding.top+v.tooltipOffset;break}s.css("left",q);s.css("top",u);s=null}function m(u){var s=u._gridPadding;var v=u.plugins.cursor;var t=v._tooltipElem;switch(v.tooltipLocation){case"nw":var r=s.left+v.tooltipOffset;var q=s.top+v.tooltipOffset;t.css("left",r);t.css("top",q);break;case"n":var r=(s.left+(u._plotDimensions.width-s.right))/2-t.outerWidth(true)/2;var q=s.top+v.tooltipOffset;t.css("left",r);t.css("top",q);break;case"ne":var r=s.right+v.tooltipOffset;var q=s.top+v.tooltipOffset;t.css({right:r,top:q});break;case"e":var r=s.right+v.tooltipOffset;var q=(s.top+(u._plotDimensions.height-s.bottom))/2-t.outerHeight(true)/2;t.css({right:r,top:q});break;case"se":var r=s.right+v.tooltipOffset;var q=s.bottom+v.tooltipOffset;t.css({right:r,bottom:q});break;case"s":var r=(s.left+(u._plotDimensions.width-s.right))/2-t.outerWidth(true)/2;var q=s.bottom+v.tooltipOffset;t.css({left:r,bottom:q});break;case"sw":var r=s.left+v.tooltipOffset;var q=s.bottom+v.tooltipOffset;t.css({left:r,bottom:q});break;case"w":var r=s.left+v.tooltipOffset;var q=(s.top+(u._plotDimensions.height-s.bottom))/2-t.outerHeight(true)/2;t.css({left:r,top:q});break;default:var r=s.right-v.tooltipOffset;var q=s.bottom+v.tooltipOffset;t.css({right:r,bottom:q});break}t=null}function k(r,q,v,u,t){r.preventDefault();r.stopImmediatePropagation();var w=t.plugins.cursor;if(w.clickReset){w.resetZoom(t,w)}var s=window.getSelection;if(document.selection&&document.selection.empty){document.selection.empty()}else{if(s&&!s().isCollapsed){s().collapse()}}return false}function c(r,q,v,u,t){r.preventDefault();r.stopImmediatePropagation();var w=t.plugins.cursor;if(w.dblClickReset){w.resetZoom(t,w)}var s=window.getSelection;if(document.selection&&document.selection.empty){document.selection.empty()}else{if(s&&!s().isCollapsed){s().collapse()}}return false}function f(w,t,q,z,u){var v=u.plugins.cursor;v.onGrid=false;if(v.show){j(w.target).css("cursor",v.previousCursor);if(v.showTooltip&&!(v._zoom.zooming&&v.showTooltipOutsideZoom&&!v.constrainOutsideZoom)){v._tooltipElem.empty();v._tooltipElem.hide()}if(v.zoom){v._zoom.gridpos=t;v._zoom.datapos=q}if(v.showVerticalLine||v.showHorizontalLine){var B=v.cursorCanvas._ctx;B.clearRect(0,0,B.canvas.width,B.canvas.height);B=null}if(v.showCursorLegend){var A=j(u.targetId+" td.jqplot-cursor-legend-label");for(var s=0;s<A.length;s++){var y=j(A[s]).data("seriesIndex");var r=u.series[y];var x=r.label.toString();if(u.legend.escapeHtml){j(A[s]).text(j.jqplot.sprintf(v.cursorLegendFormatString,x,undefined,undefined))}else{j(A[s]).html(j.jqplot.sprintf(v.cursorLegendFormatString,x,undefined,undefined))}}}}}function b(r,q,u,t,s){var v=s.plugins.cursor;v.onGrid=true;if(v.show){v.previousCursor=r.target.style.cursor;r.target.style.cursor=v.style;if(v.showTooltip){e(q,u,s);if(v.followMouse){n(q,s)}else{m(s)}v._tooltipElem.show()}if(v.showVerticalLine||v.showHorizontalLine){g(q,s)}}}function i(r,q,u,t,s){var v=s.plugins.cursor;if(v.show){if(v.showTooltip){e(q,u,s);if(v.followMouse){n(q,s)}}if(v.showVerticalLine||v.showHorizontalLine){g(q,s)}}}function o(y){var x=y.data.plot;var t=x.eventCanvas._elem.offset();var w={x:y.pageX-t.left,y:y.pageY-t.top};var u={xaxis:null,yaxis:null,x2axis:null,y2axis:null,y3axis:null,y4axis:null,y5axis:null,y6axis:null,y7axis:null,y8axis:null,y9axis:null,yMidAxis:null};var v=["xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];var q=x.axes;var r,s;for(r=11;r>0;r--){s=v[r-1];if(q[s].show){u[s]=q[s].series_p2u(w[s.charAt(0)])}}return{offsets:t,gridPos:w,dataPos:u}}function h(z){var x=z.data.plot;var y=x.plugins.cursor;if(y.show&&y.zoom&&y._zoom.started&&!y.zoomTarget){z.preventDefault();var B=y.zoomCanvas._ctx;var v=o(z);var w=v.gridPos;var t=v.dataPos;y._zoom.gridpos=w;y._zoom.datapos=t;y._zoom.zooming=true;var u=w.x;var s=w.y;var A=B.canvas.height;var q=B.canvas.width;if(y.showTooltip&&!y.onGrid&&y.showTooltipOutsideZoom){e(w,t,x);if(y.followMouse){n(w,x)}}if(y.constrainZoomTo=="x"){y._zoom.end=[u,A]}else{if(y.constrainZoomTo=="y"){y._zoom.end=[q,s]}else{y._zoom.end=[u,s]}}var r=window.getSelection;if(document.selection&&document.selection.empty){document.selection.empty()}else{if(r&&!r().isCollapsed){r().collapse()}}l.call(y);B=null}}function a(w,s,r,x,t){var v=t.plugins.cursor;if(t.plugins.mobile){j(document).one("vmouseup.jqplot_cursor",{plot:t},p)}else{j(document).one("mouseup.jqplot_cursor",{plot:t},p)}var u=t.axes;if(document.onselectstart!=undefined){v._oldHandlers.onselectstart=document.onselectstart;document.onselectstart=function(){return false}}if(document.ondrag!=undefined){v._oldHandlers.ondrag=document.ondrag;document.ondrag=function(){return false}}if(document.onmousedown!=undefined){v._oldHandlers.onmousedown=document.onmousedown;document.onmousedown=function(){return false}}if(v.zoom){if(!v.zoomProxy){var y=v.zoomCanvas._ctx;y.clearRect(0,0,y.canvas.width,y.canvas.height);y=null}if(v.constrainZoomTo=="x"){v._zoom.start=[s.x,0]}else{if(v.constrainZoomTo=="y"){v._zoom.start=[0,s.y]}else{v._zoom.start=[s.x,s.y]}}v._zoom.started=true;for(var q in r){v._zoom.axes.start[q]=r[q]}if(t.plugins.mobile){j(document).bind("vmousemove.jqplotCursor",{plot:t},h)}else{j(document).bind("mousemove.jqplotCursor",{plot:t},h)}}}function p(y){var v=y.data.plot;var x=v.plugins.cursor;if(x.zoom&&x._zoom.zooming&&!x.zoomTarget){var u=x._zoom.gridpos.x;var r=x._zoom.gridpos.y;var t=x._zoom.datapos;var z=x.zoomCanvas._ctx.canvas.height;var q=x.zoomCanvas._ctx.canvas.width;var w=v.axes;if(x.constrainOutsideZoom&&!x.onGrid){if(u<0){u=0}else{if(u>q){u=q}}if(r<0){r=0}else{if(r>z){r=z}}for(var s in t){if(t[s]){if(s.charAt(0)=="x"){t[s]=w[s].series_p2u(u)}else{t[s]=w[s].series_p2u(r)}}}}if(x.constrainZoomTo=="x"){r=z}else{if(x.constrainZoomTo=="y"){u=q}}x._zoom.end=[u,r];x._zoom.gridpos={x:u,y:r};x.doZoom(x._zoom.gridpos,t,v,x)}x._zoom.started=false;x._zoom.zooming=false;j(document).unbind("mousemove.jqplotCursor",h);if(document.onselectstart!=undefined&&x._oldHandlers.onselectstart!=null){document.onselectstart=x._oldHandlers.onselectstart;x._oldHandlers.onselectstart=null}if(document.ondrag!=undefined&&x._oldHandlers.ondrag!=null){document.ondrag=x._oldHandlers.ondrag;x._oldHandlers.ondrag=null}if(document.onmousedown!=undefined&&x._oldHandlers.onmousedown!=null){document.onmousedown=x._oldHandlers.onmousedown;x._oldHandlers.onmousedown=null}}function l(){var y=this._zoom.start;var u=this._zoom.end;var s=this.zoomCanvas._ctx;var r,v,x,q;if(u[0]>y[0]){r=y[0];q=u[0]-y[0]}else{r=u[0];q=y[0]-u[0]}if(u[1]>y[1]){v=y[1];x=u[1]-y[1]}else{v=u[1];x=y[1]-u[1]}s.fillStyle="rgba(0,0,0,0.2)";s.strokeStyle="#999999";s.lineWidth=1;s.clearRect(0,0,s.canvas.width,s.canvas.height);s.fillRect(0,0,s.canvas.width,s.canvas.height);s.clearRect(r,v,q,x);s.strokeRect(r,v,q,x);s=null}j.jqplot.CursorLegendRenderer=function(q){j.jqplot.TableLegendRenderer.call(this,q);this.formatString="%s"};j.jqplot.CursorLegendRenderer.prototype=new j.jqplot.TableLegendRenderer();j.jqplot.CursorLegendRenderer.prototype.constructor=j.jqplot.CursorLegendRenderer;j.jqplot.CursorLegendRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}if(this.show){var w=this._series,A;var r=document.createElement("table");this._elem=j(r);r=null;this._elem.addClass("jqplot-legend jqplot-cursor-legend");this._elem.css("position","absolute");var q=false;for(var x=0;x<w.length;x++){A=w[x];if(A.show&&A.showLabel){var v=j.jqplot.sprintf(this.formatString,A.label.toString());if(v){var t=A.color;if(A._stack&&!A.fill){t=""}z.call(this,v,t,q,x);q=true}for(var u=0;u<j.jqplot.addLegendRowHooks.length;u++){var y=j.jqplot.addLegendRowHooks[u].call(this,A);if(y){z.call(this,y.label,y.color,q);q=true}}}}w=A=null;delete w;delete A}function z(D,C,F,s){var B=(F)?this.rowSpacing:"0";var E=j('<tr class="jqplot-legend jqplot-cursor-legend"></tr>').appendTo(this._elem);E.data("seriesIndex",s);j('<td class="jqplot-legend jqplot-cursor-legend-swatch" style="padding-top:'+B+';"><div style="border:1px solid #cccccc;padding:0.2em;"><div class="jqplot-cursor-legend-swatch" style="background-color:'+C+';"></div></div></td>').appendTo(E);var G=j('<td class="jqplot-legend jqplot-cursor-legend-label" style="vertical-align:middle;padding-top:'+B+';"></td>');G.appendTo(E);G.data("seriesIndex",s);if(this.escapeHtml){G.text(D)}else{G.html(D)}E=null;G=null}return this._elem}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js
deleted file mode 100644
index a295489b..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(h){h.jqplot.DateAxisRenderer=function(){h.jqplot.LinearAxisRenderer.call(this);this.date=new h.jsDate()};var c=1000;var e=60*c;var f=60*e;var l=24*f;var b=7*l;var j=30.4368499*l;var k=365.242199*l;var g=[31,28,31,30,31,30,31,30,31,30,31,30];var i=["%M:%S.%#N","%M:%S.%#N","%M:%S.%#N","%M:%S","%M:%S","%M:%S","%M:%S","%H:%M:%S","%H:%M:%S","%H:%M","%H:%M","%H:%M","%H:%M","%H:%M","%H:%M","%a %H:%M","%a %H:%M","%b %e %H:%M","%b %e %H:%M","%b %e %H:%M","%b %e %H:%M","%v","%v","%v","%v","%v","%v","%v"];var m=[0.1*c,0.2*c,0.5*c,c,2*c,5*c,10*c,15*c,30*c,e,2*e,5*e,10*e,15*e,30*e,f,2*f,4*f,6*f,8*f,12*f,l,2*l,3*l,4*l,5*l,b,2*b];var d=[];function a(p,s,t){var o=Number.MAX_VALUE;var u,r,v;for(var q=0,n=m.length;q<n;q++){u=Math.abs(t-m[q]);if(u<o){o=u;r=m[q];v=i[q]}}return[r,v]}h.jqplot.DateAxisRenderer.prototype=new h.jqplot.LinearAxisRenderer();h.jqplot.DateAxisRenderer.prototype.constructor=h.jqplot.DateAxisRenderer;h.jqplot.DateTickFormatter=function(n,o){if(!n){n="%Y/%m/%d"}return h.jsDate.strftime(o,n)};h.jqplot.DateAxisRenderer.prototype.init=function(E){this.tickOptions.formatter=h.jqplot.DateTickFormatter;this.tickInset=0;this.drawBaseline=true;this.baselineWidth=null;this.baselineColor=null;this.daTickInterval=null;this._daTickInterval=null;h.extend(true,this,E);var C=this._dataBounds,u,x,D,y,A,z,o;for(var t=0;t<this._series.length;t++){u={intervals:[],frequencies:{},sortedIntervals:[],min:null,max:null,mean:null};x=0;D=this._series[t];y=D.data;A=D._plotData;z=D._stackData;o=0;for(var r=0;r<y.length;r++){if(this.name=="xaxis"||this.name=="x2axis"){y[r][0]=new h.jsDate(y[r][0]).getTime();A[r][0]=new h.jsDate(y[r][0]).getTime();z[r][0]=new h.jsDate(y[r][0]).getTime();if((y[r][0]!=null&&y[r][0]<C.min)||C.min==null){C.min=y[r][0]}if((y[r][0]!=null&&y[r][0]>C.max)||C.max==null){C.max=y[r][0]}if(r>0){o=Math.abs(y[r][0]-y[r-1][0]);u.intervals.push(o);if(u.frequencies.hasOwnProperty(o)){u.frequencies[o]+=1}else{u.frequencies[o]=1}}x+=o}else{y[r][1]=new h.jsDate(y[r][1]).getTime();A[r][1]=new h.jsDate(y[r][1]).getTime();z[r][1]=new h.jsDate(y[r][1]).getTime();if((y[r][1]!=null&&y[r][1]<C.min)||C.min==null){C.min=y[r][1]}if((y[r][1]!=null&&y[r][1]>C.max)||C.max==null){C.max=y[r][1]}if(r>0){o=Math.abs(y[r][1]-y[r-1][1]);u.intervals.push(o);if(u.frequencies.hasOwnProperty(o)){u.frequencies[o]+=1}else{u.frequencies[o]=1}}}x+=o}if(D.renderer.bands){if(D.renderer.bands.hiData.length){var w=D.renderer.bands.hiData;for(var r=0,q=w.length;r<q;r++){if(this.name==="xaxis"||this.name==="x2axis"){w[r][0]=new h.jsDate(w[r][0]).getTime();if((w[r][0]!=null&&w[r][0]>C.max)||C.max==null){C.max=w[r][0]}}else{w[r][1]=new h.jsDate(w[r][1]).getTime();if((w[r][1]!=null&&w[r][1]>C.max)||C.max==null){C.max=w[r][1]}}}}if(D.renderer.bands.lowData.length){var w=D.renderer.bands.lowData;for(var r=0,q=w.length;r<q;r++){if(this.name==="xaxis"||this.name==="x2axis"){w[r][0]=new h.jsDate(w[r][0]).getTime();if((w[r][0]!=null&&w[r][0]<C.min)||C.min==null){C.min=w[r][0]}}else{w[r][1]=new h.jsDate(w[r][1]).getTime();if((w[r][1]!=null&&w[r][1]<C.min)||C.min==null){C.min=w[r][1]}}}}}var B=0,v=0;for(var p in u.frequencies){u.sortedIntervals.push({interval:p,frequency:u.frequencies[p]})}u.sortedIntervals.sort(function(s,n){return n.frequency-s.frequency});u.min=h.jqplot.arrayMin(u.intervals);u.max=h.jqplot.arrayMax(u.intervals);u.mean=x/y.length;this._intervalStats.push(u);u=x=D=y=A=z=null}C=null};h.jqplot.DateAxisRenderer.prototype.reset=function(){this.min=this._options.min;this.max=this._options.max;this.tickInterval=this._options.tickInterval;this.numberTicks=this._options.numberTicks;this._autoFormatString="";if(this._overrideFormatString&&this.tickOptions&&this.tickOptions.formatString){this.tickOptions.formatString=""}this.daTickInterval=this._daTickInterval};h.jqplot.DateAxisRenderer.prototype.createTicks=function(p){var X=this._ticks;var L=this.ticks;var F=this.name;var H=this._dataBounds;var M=this._intervalStats;var n=(this.name.charAt(0)==="x")?this._plotDimensions.width:this._plotDimensions.height;var w;var ae,J;var y,x;var ad,aa;var s=30;var O=1;var U=null;if(this.tickInterval!=null){if(Number(this.tickInterval)){U=[Number(this.tickInterval),"seconds"]}else{if(typeof this.tickInterval=="string"){var ac=this.tickInterval.split(" ");if(ac.length==1){U=[1,ac[0]]}else{if(ac.length==2){U=[ac[0],ac[1]]}}}}}var v=this.tickInterval;ae=new h.jsDate((this.min!=null)?this.min:H.min).getTime();J=new h.jsDate((this.max!=null)?this.max:H.max).getTime();var A=p.plugins.cursor;if(A&&A._zoom&&A._zoom.zooming){this.min=null;this.max=null}var B=J-ae;if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}if(L.length){for(aa=0;aa<L.length;aa++){var P=L[aa];var Y=new this.tickRenderer(this.tickOptions);if(P.constructor==Array){Y.value=new h.jsDate(P[0]).getTime();Y.label=P[1];if(!this.showTicks){Y.showLabel=false;Y.showMark=false}else{if(!this.showTickMarks){Y.showMark=false}}Y.setTick(Y.value,this.name);this._ticks.push(Y)}else{Y.value=new h.jsDate(P).getTime();if(!this.showTicks){Y.showLabel=false;Y.showMark=false}else{if(!this.showTickMarks){Y.showMark=false}}Y.setTick(Y.value,this.name);this._ticks.push(Y)}}this.numberTicks=L.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value;this.daTickInterval=[(this.max-this.min)/(this.numberTicks-1)/1000,"seconds"]}else{if(this.min==null&&this.max==null&&H.min==H.max){var E=h.extend(true,{},this.tickOptions,{name:this.name,value:null});var T=300000;this.min=H.min-T;this.max=H.max+T;this.numberTicks=3;for(var aa=this.min;aa<=this.max;aa+=T){E.value=aa;var Y=new this.tickRenderer(E);if(this._overrideFormatString&&this._autoFormatString!=""){Y.formatString=this._autoFormatString}Y.showLabel=false;Y.showMark=false;this._ticks.push(Y)}if(this.showTicks){this._ticks[1].showLabel=true}if(this.showTickMarks){this._ticks[1].showTickMarks=true}}else{if(this.min==null&&this.max==null){var N=h.extend(true,{},this.tickOptions,{name:this.name,value:null});var ab,I;if(!this.tickInterval&&!this.numberTicks){var R=Math.max(n,s+1);var Z=115;if(this.tickRenderer===h.jqplot.CanvasAxisTickRenderer&&this.tickOptions.angle){Z=115-40*Math.abs(Math.sin(this.tickOptions.angle/180*Math.PI))}ab=Math.ceil((R-s)/Z+1);I=(J-ae)/(ab-1)}else{if(this.tickInterval){I=new h.jsDate(0).add(U[0],U[1]).getTime()}else{if(this.numberTicks){ab=this.numberTicks;I=(J-ae)/(ab-1)}}}if(I<=19*l){var Q=a(ae,J,I);var r=Q[0];this._autoFormatString=Q[1];ae=new h.jsDate(ae);ae=Math.floor((ae.getTime()-ae.getUtcOffset())/r)*r+ae.getUtcOffset();ab=Math.ceil((J-ae)/r)+1;this.min=ae;this.max=ae+(ab-1)*r;if(this.max<J){this.max+=r;ab+=1}this.tickInterval=r;this.numberTicks=ab;for(var aa=0;aa<ab;aa++){N.value=this.min+aa*r;Y=new this.tickRenderer(N);if(this._overrideFormatString&&this._autoFormatString!=""){Y.formatString=this._autoFormatString}if(!this.showTicks){Y.showLabel=false;Y.showMark=false}else{if(!this.showTickMarks){Y.showMark=false}}this._ticks.push(Y)}O=this.tickInterval}else{if(I<=9*j){this._autoFormatString="%v";var D=Math.round(I/j);if(D<1){D=1}else{if(D>6){D=6}}var V=new h.jsDate(ae).setDate(1).setHours(0,0,0,0);var q=new h.jsDate(J);var z=new h.jsDate(J).setDate(1).setHours(0,0,0,0);if(q.getTime()!==z.getTime()){z=z.add(1,"month")}var S=z.diff(V,"month");ab=Math.ceil(S/D)+1;this.min=V.getTime();this.max=V.clone().add((ab-1)*D,"month").getTime();this.numberTicks=ab;for(var aa=0;aa<ab;aa++){if(aa===0){N.value=V.getTime()}else{N.value=V.add(D,"month").getTime()}Y=new this.tickRenderer(N);if(this._overrideFormatString&&this._autoFormatString!=""){Y.formatString=this._autoFormatString}if(!this.showTicks){Y.showLabel=false;Y.showMark=false}else{if(!this.showTickMarks){Y.showMark=false}}this._ticks.push(Y)}O=D*j}else{this._autoFormatString="%v";var D=Math.round(I/k);if(D<1){D=1}var V=new h.jsDate(ae).setMonth(0,1).setHours(0,0,0,0);var z=new h.jsDate(J).add(1,"year").setMonth(0,1).setHours(0,0,0,0);var K=z.diff(V,"year");ab=Math.ceil(K/D)+1;this.min=V.getTime();this.max=V.clone().add((ab-1)*D,"year").getTime();this.numberTicks=ab;for(var aa=0;aa<ab;aa++){if(aa===0){N.value=V.getTime()}else{N.value=V.add(D,"year").getTime()}Y=new this.tickRenderer(N);if(this._overrideFormatString&&this._autoFormatString!=""){Y.formatString=this._autoFormatString}if(!this.showTicks){Y.showLabel=false;Y.showMark=false}else{if(!this.showTickMarks){Y.showMark=false}}this._ticks.push(Y)}O=D*k}}}else{if(F=="xaxis"||F=="x2axis"){n=this._plotDimensions.width}else{n=this._plotDimensions.height}if(this.min!=null&&this.max!=null&&this.numberTicks!=null){this.tickInterval=null}if(this.tickInterval!=null&&U!=null){this.daTickInterval=U}if(ae==J){var o=24*60*60*500;ae-=o;J+=o}B=J-ae;var G=2+parseInt(Math.max(0,n-100)/100,10);var W,C;W=(this.min!=null)?new h.jsDate(this.min).getTime():ae-B/2*(this.padMin-1);C=(this.max!=null)?new h.jsDate(this.max).getTime():J+B/2*(this.padMax-1);this.min=W;this.max=C;B=this.max-this.min;if(this.numberTicks==null){if(this.daTickInterval!=null){var u=new h.jsDate(this.max).diff(this.min,this.daTickInterval[1],true);this.numberTicks=Math.ceil(u/this.daTickInterval[0])+1;this.max=new h.jsDate(this.min).add((this.numberTicks-1)*this.daTickInterval[0],this.daTickInterval[1]).getTime()}else{if(n>200){this.numberTicks=parseInt(3+(n-200)/100,10)}else{this.numberTicks=2}}}O=B/(this.numberTicks-1)/1000;if(this.daTickInterval==null){this.daTickInterval=[O,"seconds"]}for(var aa=0;aa<this.numberTicks;aa++){var ae=new h.jsDate(this.min);ad=ae.add(aa*this.daTickInterval[0],this.daTickInterval[1]).getTime();var Y=new this.tickRenderer(this.tickOptions);if(!this.showTicks){Y.showLabel=false;Y.showMark=false}else{if(!this.showTickMarks){Y.showMark=false}}Y.setTick(ad,this.name);this._ticks.push(Y)}}}}if(this.tickInset){this.min=this.min-this.tickInset*O;this.max=this.max+this.tickInset*O}if(this._daTickInterval==null){this._daTickInterval=this.daTickInterval}X=null}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.donutRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.donutRenderer.min.js
deleted file mode 100644
index a0cb2176..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.donutRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(e){e.jqplot.DonutRenderer=function(){e.jqplot.LineRenderer.call(this)};e.jqplot.DonutRenderer.prototype=new e.jqplot.LineRenderer();e.jqplot.DonutRenderer.prototype.constructor=e.jqplot.DonutRenderer;e.jqplot.DonutRenderer.prototype.init=function(p,t){this.diameter=null;this.innerDiameter=null;this.thickness=null;this.padding=20;this.sliceMargin=0;this.ringMargin=null;this.fill=true;this.shadowOffset=2;this.shadowAlpha=0.07;this.shadowDepth=5;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.dataLabels="percent";this.showDataLabels=false;this.dataLabelFormatString=null;this.dataLabelThreshold=3;this.dataLabelPositionFactor=0.4;this.dataLabelNudge=0;this.startAngle=0;this.tickRenderer=e.jqplot.DonutTickRenderer;this._drawData=true;this._type="donut";if(p.highlightMouseDown&&p.highlightMouseOver==null){p.highlightMouseOver=false}e.extend(true,this,p);if(this.diameter!=null){this.diameter=this.diameter-this.sliceMargin}this._diameter=null;this._innerDiameter=null;this._radius=null;this._innerRadius=null;this._thickness=null;this._previousSeries=[];this._numberSeries=1;this._sliceAngles=[];this._highlightedPoint=null;if(this.highlightColors.length==0){for(var r=0;r<this.seriesColors.length;r++){var q=e.jqplot.getColorComponents(this.seriesColors[r]);var n=[q[0],q[1],q[2]];var s=n[0]+n[1]+n[2];for(var o=0;o<3;o++){n[o]=(s>570)?n[o]*0.8:n[o]+0.3*(255-n[o]);n[o]=parseInt(n[o],10)}this.highlightColors.push("rgb("+n[0]+","+n[1]+","+n[2]+")")}}t.postParseOptionsHooks.addOnce(l);t.postInitHooks.addOnce(g);t.eventListenerHooks.addOnce("jqplotMouseMove",b);t.eventListenerHooks.addOnce("jqplotMouseDown",a);t.eventListenerHooks.addOnce("jqplotMouseUp",j);t.eventListenerHooks.addOnce("jqplotClick",f);t.eventListenerHooks.addOnce("jqplotRightClick",m);t.postDrawHooks.addOnce(h)};e.jqplot.DonutRenderer.prototype.setGridData=function(s){var o=[];var t=[];var n=this.startAngle/180*Math.PI;var r=0;this._drawData=false;for(var q=0;q<this.data.length;q++){if(this.data[q][1]!=0){this._drawData=true}o.push(this.data[q][1]);t.push([this.data[q][0]]);if(q>0){o[q]+=o[q-1]}r+=this.data[q][1]}var p=Math.PI*2/o[o.length-1];for(var q=0;q<o.length;q++){t[q][1]=o[q]*p;t[q][2]=this.data[q][1]/r}this.gridData=t};e.jqplot.DonutRenderer.prototype.makeGridData=function(s,t){var o=[];var u=[];var r=0;var n=this.startAngle/180*Math.PI;this._drawData=false;for(var q=0;q<s.length;q++){if(this.data[q][1]!=0){this._drawData=true}o.push(s[q][1]);u.push([s[q][0]]);if(q>0){o[q]+=o[q-1]}r+=s[q][1]}var p=Math.PI*2/o[o.length-1];for(var q=0;q<o.length;q++){u[q][1]=o[q]*p;u[q][2]=s[q][1]/r}return u};e.jqplot.DonutRenderer.prototype.drawSlice=function(x,u,t,p,s){var n=this._diameter/2;var v=n-this._thickness;var w=this.fill;x.save();x.translate(this._center[0],this._center[1]);if(s){for(var q=0;q<this.shadowDepth;q++){x.save();x.translate(this.shadowOffset*Math.cos(this.shadowAngle/180*Math.PI),this.shadowOffset*Math.sin(this.shadowAngle/180*Math.PI));o()}}else{o()}function o(){if(t>6.282+this.startAngle){t=6.282+this.startAngle;if(u>t){u=6.281+this.startAngle}}if(u>=t){return}x.beginPath();x.fillStyle=p;x.strokeStyle=p;x.arc(0,0,n,u,t,false);x.lineTo(v*Math.cos(t),v*Math.sin(t));x.arc(0,0,v,t,u,true);x.closePath();if(w){x.fill()}else{x.stroke()}}if(s){for(var q=0;q<this.shadowDepth;q++){x.restore()}}x.restore()};e.jqplot.DonutRenderer.prototype.draw=function(N,V,t,P){var Q;var J=(t!=undefined)?t:{};var q=0;var p=0;var u=1;if(t.legendInfo&&t.legendInfo.placement=="insideGrid"){var I=t.legendInfo;switch(I.location){case"nw":q=I.width+I.xoffset;break;case"w":q=I.width+I.xoffset;break;case"sw":q=I.width+I.xoffset;break;case"ne":q=I.width+I.xoffset;u=-1;break;case"e":q=I.width+I.xoffset;u=-1;break;case"se":q=I.width+I.xoffset;u=-1;break;case"n":p=I.height+I.yoffset;break;case"s":p=I.height+I.yoffset;u=-1;break;default:break}}var B=(J.shadow!=undefined)?J.shadow:this.shadow;var W=(J.showLine!=undefined)?J.showLine:this.showLine;var O=(J.fill!=undefined)?J.fill:this.fill;var s=N.canvas.width;var H=N.canvas.height;var G=s-q-2*this.padding;var R=H-p-2*this.padding;var v=Math.min(G,R);var T=v;var X=(this.ringMargin==null)?this.sliceMargin*2:this.ringMargin;for(var Q=0;Q<this._previousSeries.length;Q++){T-=2*this._previousSeries[Q]._thickness+2*X}this._diameter=this.diameter||T;if(this.innerDiameter!=null){var M=(this._numberSeries>1&&this.index>0)?this._previousSeries[0]._diameter:this._diameter;this._thickness=this.thickness||(M-this.innerDiameter-2*X*this._numberSeries)/this._numberSeries/2}else{this._thickness=this.thickness||v/2/(this._numberSeries+1)*0.85}var K=this._radius=this._diameter/2;this._innerRadius=this._radius-this._thickness;var o=this.startAngle/180*Math.PI;this._center=[(s-u*q)/2+u*q,(H-u*p)/2+u*p];if(this.shadow){var L="rgba(0,0,0,"+this.shadowAlpha+")";for(var Q=0;Q<V.length;Q++){var A=(Q==0)?o:V[Q-1][1]+o;A+=this.sliceMargin/180*Math.PI;this.renderer.drawSlice.call(this,N,A,V[Q][1]+o,L,true)}}for(var Q=0;Q<V.length;Q++){var A=(Q==0)?o:V[Q-1][1]+o;A+=this.sliceMargin/180*Math.PI;var z=V[Q][1]+o;this._sliceAngles.push([A,z]);this.renderer.drawSlice.call(this,N,A,z,this.seriesColors[Q],false);if(this.showDataLabels&&V[Q][2]*100>=this.dataLabelThreshold){var S,U=(A+z)/2,C;if(this.dataLabels=="label"){S=this.dataLabelFormatString||"%s";C=e.jqplot.sprintf(S,V[Q][0])}else{if(this.dataLabels=="value"){S=this.dataLabelFormatString||"%d";C=e.jqplot.sprintf(S,this.data[Q][1])}else{if(this.dataLabels=="percent"){S=this.dataLabelFormatString||"%d%%";C=e.jqplot.sprintf(S,V[Q][2]*100)}else{if(this.dataLabels.constructor==Array){S=this.dataLabelFormatString||"%s";C=e.jqplot.sprintf(S,this.dataLabels[Q])}}}}var n=this._innerRadius+this._thickness*this.dataLabelPositionFactor+this.sliceMargin+this.dataLabelNudge;var F=this._center[0]+Math.cos(U)*n+this.canvas._offsets.left;var E=this._center[1]+Math.sin(U)*n+this.canvas._offsets.top;var D=e('<span class="jqplot-donut-series jqplot-data-label" style="position:absolute;">'+C+"</span>").insertBefore(P.eventCanvas._elem);F-=D.width()/2;E-=D.height()/2;F=Math.round(F);E=Math.round(E);D.css({left:F,top:E})}}};e.jqplot.DonutAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.DonutAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.DonutAxisRenderer.prototype.constructor=e.jqplot.DonutAxisRenderer;e.jqplot.DonutAxisRenderer.prototype.init=function(n){this.tickRenderer=e.jqplot.DonutTickRenderer;e.extend(true,this,n);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};e.jqplot.DonutLegendRenderer=function(){e.jqplot.TableLegendRenderer.call(this)};e.jqplot.DonutLegendRenderer.prototype=new e.jqplot.TableLegendRenderer();e.jqplot.DonutLegendRenderer.prototype.constructor=e.jqplot.DonutLegendRenderer;e.jqplot.DonutLegendRenderer.prototype.init=function(n){this.numberRows=null;this.numberColumns=null;e.extend(true,this,n)};e.jqplot.DonutLegendRenderer.prototype.draw=function(){var q=this;if(this.show){var y=this._series;var B="position:absolute;";B+=(this.background)?"background:"+this.background+";":"";B+=(this.border)?"border:"+this.border+";":"";B+=(this.fontSize)?"font-size:"+this.fontSize+";":"";B+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";B+=(this.textColor)?"color:"+this.textColor+";":"";B+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";B+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";B+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";B+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=e('<table class="jqplot-table-legend" style="'+B+'"></table>');var F=false,x=false,n,v;var z=y[0];var o=new e.jqplot.ColorGenerator(z.seriesColors);if(z.show){var G=z.data;if(this.numberRows){n=this.numberRows;if(!this.numberColumns){v=Math.ceil(G.length/n)}else{v=this.numberColumns}}else{if(this.numberColumns){v=this.numberColumns;n=Math.ceil(G.length/this.numberColumns)}else{n=G.length;v=1}}var E,D,p,t,r,u,w,C;var A=0;for(E=0;E<n;E++){if(x){p=e('<tr class="jqplot-table-legend"></tr>').prependTo(this._elem)}else{p=e('<tr class="jqplot-table-legend"></tr>').appendTo(this._elem)}for(D=0;D<v;D++){if(A<G.length){u=this.labels[A]||G[A][0].toString();C=o.next();if(!x){if(E>0){F=true}else{F=false}}else{if(E==n-1){F=false}else{F=true}}w=(F)?this.rowSpacing:"0";t=e('<td class="jqplot-table-legend" style="text-align:center;padding-top:'+w+';"><div><div class="jqplot-table-legend-swatch" style="border-color:'+C+';"></div></div></td>');r=e('<td class="jqplot-table-legend" style="padding-top:'+w+';"></td>');if(this.escapeHtml){r.text(u)}else{r.html(u)}if(x){r.prependTo(p);t.prependTo(p)}else{t.appendTo(p);r.appendTo(p)}F=true}A++}}}}return this._elem};function c(r,q,o){o=o||{};o.axesDefaults=o.axesDefaults||{};o.legend=o.legend||{};o.seriesDefaults=o.seriesDefaults||{};var n=false;if(o.seriesDefaults.renderer==e.jqplot.DonutRenderer){n=true}else{if(o.series){for(var p=0;p<o.series.length;p++){if(o.series[p].renderer==e.jqplot.DonutRenderer){n=true}}}}if(n){o.axesDefaults.renderer=e.jqplot.DonutAxisRenderer;o.legend.renderer=e.jqplot.DonutLegendRenderer;o.legend.preDraw=true;o.seriesDefaults.pointLabels={show:false}}}function g(r,q,o){for(var p=1;p<this.series.length;p++){if(!this.series[p]._previousSeries.length){for(var n=0;n<p;n++){if(this.series[p].renderer.constructor==e.jqplot.DonutRenderer&&this.series[n].renderer.constructor==e.jqplot.DonutRenderer){this.series[p]._previousSeries.push(this.series[n])}}}}for(p=0;p<this.series.length;p++){if(this.series[p].renderer.constructor==e.jqplot.DonutRenderer){this.series[p]._numberSeries=this.series.length;if(this.series[p].highlightMouseOver){this.series[p].highlightMouseDown=false}}}}var k=false;function l(n){for(var o=0;o<this.series.length;o++){this.series[o].seriesColors=this.seriesColors;this.series[o].colorGenerator=e.jqplot.colorGenerator}}function d(r,q,p){var o=r.series[q];var n=r.plugins.donutRenderer.highlightCanvas;n._ctx.clearRect(0,0,n._ctx.canvas.width,n._ctx.canvas.height);o._highlightedPoint=p;r.plugins.donutRenderer.highlightedSeriesIndex=q;o.renderer.drawSlice.call(o,n._ctx,o._sliceAngles[p][0],o._sliceAngles[p][1],o.highlightColors[p],false)}function i(p){var n=p.plugins.donutRenderer.highlightCanvas;n._ctx.clearRect(0,0,n._ctx.canvas.width,n._ctx.canvas.height);for(var o=0;o<p.series.length;o++){p.series[o]._highlightedPoint=null}p.plugins.donutRenderer.highlightedSeriesIndex=null;p.target.trigger("jqplotDataUnhighlight")}function b(r,q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];var o=jQuery.Event("jqplotDataMouseOver");o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p);if(s.series[p[0]].highlightMouseOver&&!(p[0]==s.plugins.donutRenderer.highlightedSeriesIndex&&p[1]==s.series[p[0]]._highlightedPoint)){var n=jQuery.Event("jqplotDataHighlight");n.which=r.which;n.pageX=r.pageX;n.pageY=r.pageY;s.target.trigger(n,p);d(s,p[0],p[1])}}else{if(t==null){i(s)}}}function a(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];if(r.series[o[0]].highlightMouseDown&&!(o[0]==r.plugins.donutRenderer.highlightedSeriesIndex&&o[1]==r.series[o[0]]._highlightedPoint)){var n=jQuery.Event("jqplotDataHighlight");n.which=q.which;n.pageX=q.pageX;n.pageY=q.pageY;r.target.trigger(n,o);d(r,o[0],o[1])}}else{if(s==null){i(r)}}}function j(p,o,s,r,q){var n=q.plugins.donutRenderer.highlightedSeriesIndex;if(n!=null&&q.series[n].highlightMouseDown){i(q)}}function f(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];var n=jQuery.Event("jqplotDataClick");n.which=q.which;n.pageX=q.pageX;n.pageY=q.pageY;r.target.trigger(n,o)}}function m(r,q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];var n=s.plugins.donutRenderer.highlightedSeriesIndex;if(n!=null&&s.series[n].highlightMouseDown){i(s)}var o=jQuery.Event("jqplotDataRightClick");o.which=r.which;o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p)}}function h(){if(this.plugins.donutRenderer&&this.plugins.donutRenderer.highlightCanvas){this.plugins.donutRenderer.highlightCanvas.resetCanvas();this.plugins.donutRenderer.highlightCanvas=null}this.plugins.donutRenderer={highlightedSeriesIndex:null};this.plugins.donutRenderer.highlightCanvas=new e.jqplot.GenericCanvas();var o=e(this.targetId+" .jqplot-data-label");if(o.length){e(o[0]).before(this.plugins.donutRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-donutRenderer-highlight-canvas",this._plotDimensions,this))}else{this.eventCanvas._elem.before(this.plugins.donutRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-donutRenderer-highlight-canvas",this._plotDimensions,this))}var n=this.plugins.donutRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(p){i(p.data.plot)})}e.jqplot.preInitHooks.push(c);e.jqplot.DonutTickRenderer=function(){e.jqplot.AxisTickRenderer.call(this)};e.jqplot.DonutTickRenderer.prototype=new e.jqplot.AxisTickRenderer();e.jqplot.DonutTickRenderer.prototype.constructor=e.jqplot.DonutTickRenderer})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.dragable.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.dragable.min.js
deleted file mode 100644
index 3f1b80a8..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.dragable.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(d){d.jqplot.Dragable=function(g){this.markerRenderer=new d.jqplot.MarkerRenderer({shadow:false});this.shapeRenderer=new d.jqplot.ShapeRenderer();this.isDragging=false;this.isOver=false;this._ctx;this._elem;this._point;this._gridData;this.color;this.constrainTo="none";d.extend(true,this,g)};function b(){d.jqplot.GenericCanvas.call(this);this.isDragging=false;this.isOver=false;this._neighbor;this._cursors=[]}b.prototype=new d.jqplot.GenericCanvas();b.prototype.constructor=b;d.jqplot.Dragable.parseOptions=function(i,h){var g=h||{};this.plugins.dragable=new d.jqplot.Dragable(g.dragable);this.isDragable=d.jqplot.config.enablePlugins};d.jqplot.Dragable.postPlotDraw=function(){if(this.plugins.dragable&&this.plugins.dragable.highlightCanvas){this.plugins.dragable.highlightCanvas.resetCanvas();this.plugins.dragable.highlightCanvas=null}this.plugins.dragable={previousCursor:"auto",isOver:false};this.plugins.dragable.dragCanvas=new b();this.eventCanvas._elem.before(this.plugins.dragable.dragCanvas.createElement(this._gridPadding,"jqplot-dragable-canvas",this._plotDimensions,this));var g=this.plugins.dragable.dragCanvas.setContext()};d.jqplot.preParseSeriesOptionsHooks.push(d.jqplot.Dragable.parseOptions);d.jqplot.postDrawHooks.push(d.jqplot.Dragable.postPlotDraw);d.jqplot.eventListenerHooks.push(["jqplotMouseMove",e]);d.jqplot.eventListenerHooks.push(["jqplotMouseDown",c]);d.jqplot.eventListenerHooks.push(["jqplotMouseUp",a]);function f(n,p){var q=n.series[p.seriesIndex];var m=q.plugins.dragable;var h=q.markerRenderer;var i=m.markerRenderer;i.style=h.style;i.lineWidth=h.lineWidth+2.5;i.size=h.size+5;if(!m.color){var l=d.jqplot.getColorComponents(h.color);var o=[l[0],l[1],l[2]];var k=(l[3]>=0.6)?l[3]*0.6:l[3]*(2-l[3]);m.color="rgba("+o[0]+","+o[1]+","+o[2]+","+k+")"}i.color=m.color;i.init();var g=(p.pointIndex>0)?p.pointIndex-1:0;var j=p.pointIndex+2;m._gridData=q.gridData.slice(g,j)}function e(o,l,h,t,m){if(m.plugins.dragable.dragCanvas.isDragging){var u=m.plugins.dragable.dragCanvas;var i=u._neighbor;var w=m.series[i.seriesIndex];var k=w.plugins.dragable;var r=w.gridData;var p=(k.constrainTo=="y")?i.gridData[0]:l.x;var n=(k.constrainTo=="x")?i.gridData[1]:l.y;var g=w._xaxis.series_p2u(p);var q=w._yaxis.series_p2u(n);var v=u._ctx;v.clearRect(0,0,v.canvas.width,v.canvas.height);if(i.pointIndex>0){k._gridData[1]=[p,n]}else{k._gridData[0]=[p,n]}m.series[i.seriesIndex].draw(u._ctx,{gridData:k._gridData,shadow:false,preventJqPlotSeriesDrawTrigger:true,color:k.color,markerOptions:{color:k.color,shadow:false},trendline:{show:false}});m.target.trigger("jqplotSeriesPointChange",[i.seriesIndex,i.pointIndex,[g,q],[p,n]])}else{if(t!=null){var j=m.series[t.seriesIndex];if(j.isDragable){var u=m.plugins.dragable.dragCanvas;if(!u.isOver){u._cursors.push(o.target.style.cursor);o.target.style.cursor="pointer"}u.isOver=true}}else{if(t==null){var u=m.plugins.dragable.dragCanvas;if(u.isOver){o.target.style.cursor=u._cursors.pop();u.isOver=false}}}}}function c(k,i,g,l,j){var m=j.plugins.dragable.dragCanvas;m._cursors.push(k.target.style.cursor);if(l!=null){var o=j.series[l.seriesIndex];var h=o.plugins.dragable;if(o.isDragable&&!m.isDragging){m._neighbor=l;m.isDragging=true;f(j,l);h.markerRenderer.draw(o.gridData[l.pointIndex][0],o.gridData[l.pointIndex][1],m._ctx);k.target.style.cursor="move";j.target.trigger("jqplotDragStart",[l.seriesIndex,l.pointIndex,i,g])}}else{var n=m._ctx;n.clearRect(0,0,n.canvas.width,n.canvas.height);m.isDragging=false}}function a(m,j,g,o,k){if(k.plugins.dragable.dragCanvas.isDragging){var p=k.plugins.dragable.dragCanvas;var q=p._ctx;q.clearRect(0,0,q.canvas.width,q.canvas.height);p.isDragging=false;var h=p._neighbor;var r=k.series[h.seriesIndex];var i=r.plugins.dragable;var n=(i.constrainTo=="y")?h.data[0]:g[r.xaxis];var l=(i.constrainTo=="x")?h.data[1]:g[r.yaxis];r.data[h.pointIndex][0]=n;r.data[h.pointIndex][1]=l;k.drawSeries({preventJqPlotSeriesDrawTrigger:true},h.seriesIndex);p._neighbor=null;m.target.style.cursor=p._cursors.pop();k.target.trigger("jqplotDragStop",[j,g])}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js
deleted file mode 100644
index dc40b3c4..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(c){c.jqplot.EnhancedLegendRenderer=function(){c.jqplot.TableLegendRenderer.call(this)};c.jqplot.EnhancedLegendRenderer.prototype=new c.jqplot.TableLegendRenderer();c.jqplot.EnhancedLegendRenderer.prototype.constructor=c.jqplot.EnhancedLegendRenderer;c.jqplot.EnhancedLegendRenderer.prototype.init=function(d){this.numberRows=null;this.numberColumns=null;this.seriesToggle="normal";this.seriesToggleReplot=false;this.disableIEFading=true;c.extend(true,this,d);if(this.seriesToggle){c.jqplot.postDrawHooks.push(b)}};c.jqplot.EnhancedLegendRenderer.prototype.draw=function(m,y){var f=this;if(this.show){var r=this._series;var u;var w="position:absolute;";w+=(this.background)?"background:"+this.background+";":"";w+=(this.border)?"border:"+this.border+";":"";w+=(this.fontSize)?"font-size:"+this.fontSize+";":"";w+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";w+=(this.textColor)?"color:"+this.textColor+";":"";w+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";w+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";w+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";w+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=c('<table class="jqplot-table-legend" style="'+w+'"></table>');if(this.seriesToggle){this._elem.css("z-index","3")}var C=false,q=false,d,o;if(this.numberRows){d=this.numberRows;if(!this.numberColumns){o=Math.ceil(r.length/d)}else{o=this.numberColumns}}else{if(this.numberColumns){o=this.numberColumns;d=Math.ceil(r.length/this.numberColumns)}else{d=r.length;o=1}}var B,z,e,l,k,n,p,t,h,g;var v=0;for(B=r.length-1;B>=0;B--){if(o==1&&r[B]._stack||r[B].renderer.constructor==c.jqplot.BezierCurveRenderer){q=true}}for(B=0;B<d;B++){e=c(document.createElement("tr"));e.addClass("jqplot-table-legend");if(q){e.prependTo(this._elem)}else{e.appendTo(this._elem)}for(z=0;z<o;z++){if(v<r.length&&(r[v].show||r[v].showLabel)){u=r[v];n=this.labels[v]||u.label.toString();if(n){var x=u.color;if(!q){if(B>0){C=true}else{C=false}}else{if(B==d-1){C=false}else{C=true}}p=(C)?this.rowSpacing:"0";l=c(document.createElement("td"));l.addClass("jqplot-table-legend jqplot-table-legend-swatch");l.css({textAlign:"center",paddingTop:p});h=c(document.createElement("div"));h.addClass("jqplot-table-legend-swatch-outline");g=c(document.createElement("div"));g.addClass("jqplot-table-legend-swatch");g.css({backgroundColor:x,borderColor:x});l.append(h.append(g));k=c(document.createElement("td"));k.addClass("jqplot-table-legend jqplot-table-legend-label");k.css("paddingTop",p);if(this.escapeHtml){k.text(n)}else{k.html(n)}if(q){if(this.showLabels){k.prependTo(e)}if(this.showSwatches){l.prependTo(e)}}else{if(this.showSwatches){l.appendTo(e)}if(this.showLabels){k.appendTo(e)}}if(this.seriesToggle){var A;if(typeof(this.seriesToggle)==="string"||typeof(this.seriesToggle)==="number"){if(!c.jqplot.use_excanvas||!this.disableIEFading){A=this.seriesToggle}}if(this.showSwatches){l.bind("click",{series:u,speed:A,plot:y,replot:this.seriesToggleReplot},a);l.addClass("jqplot-seriesToggle")}if(this.showLabels){k.bind("click",{series:u,speed:A,plot:y,replot:this.seriesToggleReplot},a);k.addClass("jqplot-seriesToggle")}if(!u.show&&u.showLabel){l.addClass("jqplot-series-hidden");k.addClass("jqplot-series-hidden")}}C=true}}v++}l=k=h=g=null}}return this._elem};var a=function(j){var i=j.data,m=i.series,k=i.replot,h=i.plot,f=i.speed,l=m.index,g=false;if(m.canvas._elem.is(":hidden")||!m.show){g=true}var e=function(){if(k){var n={};if(c.isPlainObject(k)){c.extend(true,n,k)}h.replot(n);if(g&&f){var d=h.series[l];if(d.shadowCanvas._elem){d.shadowCanvas._elem.hide().fadeIn(f)}d.canvas._elem.hide().fadeIn(f);d.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+d.index).hide().fadeIn(f)}}else{var d=h.series[l];if(d.canvas._elem.is(":hidden")||!d.show){if(typeof h.options.legend.showSwatches==="undefined"||h.options.legend.showSwatches===true){h.legend._elem.find("td").eq(l*2).addClass("jqplot-series-hidden")}if(typeof h.options.legend.showLabels==="undefined"||h.options.legend.showLabels===true){h.legend._elem.find("td").eq((l*2)+1).addClass("jqplot-series-hidden")}}else{if(typeof h.options.legend.showSwatches==="undefined"||h.options.legend.showSwatches===true){h.legend._elem.find("td").eq(l*2).removeClass("jqplot-series-hidden")}if(typeof h.options.legend.showLabels==="undefined"||h.options.legend.showLabels===true){h.legend._elem.find("td").eq((l*2)+1).removeClass("jqplot-series-hidden")}}}};m.toggleDisplay(j,e)};var b=function(){if(this.legend.renderer.constructor==c.jqplot.EnhancedLegendRenderer&&this.legend.seriesToggle){var d=this.legend._elem.detach();this.eventCanvas._elem.after(d)}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.funnelRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.funnelRenderer.min.js
deleted file mode 100644
index 8a705dea..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.funnelRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(e){e.jqplot.FunnelRenderer=function(){e.jqplot.LineRenderer.call(this)};e.jqplot.FunnelRenderer.prototype=new e.jqplot.LineRenderer();e.jqplot.FunnelRenderer.prototype.constructor=e.jqplot.FunnelRenderer;e.jqplot.FunnelRenderer.prototype.init=function(p,t){this.padding={top:20,right:20,bottom:20,left:20};this.sectionMargin=6;this.fill=true;this.shadowOffset=2;this.shadowAlpha=0.07;this.shadowDepth=5;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.widthRatio=0.2;this.lineWidth=2;this.dataLabels="percent";this.showDataLabels=false;this.dataLabelFormatString=null;this.dataLabelThreshold=3;this._type="funnel";this.tickRenderer=e.jqplot.FunnelTickRenderer;if(p.highlightMouseDown&&p.highlightMouseOver==null){p.highlightMouseOver=false}e.extend(true,this,p);this._highlightedPoint=null;this._bases=[];this._atot;this._areas=[];this._lengths=[];this._angle;this._dataIndices=[];this._unorderedData=e.extend(true,[],this.data);var o=e.extend(true,[],this.data);for(var r=0;r<o.length;r++){o[r].push(r)}this.data.sort(function(v,u){return u[1]-v[1]});o.sort(function(v,u){return u[1]-v[1]});for(var r=0;r<o.length;r++){this._dataIndices.push(o[r][2])}if(this.highlightColors.length==0){for(var r=0;r<this.seriesColors.length;r++){var q=e.jqplot.getColorComponents(this.seriesColors[r]);var m=[q[0],q[1],q[2]];var s=m[0]+m[1]+m[2];for(var n=0;n<3;n++){m[n]=(s>570)?m[n]*0.8:m[n]+0.4*(255-m[n]);m[n]=parseInt(m[n],10)}this.highlightColors.push("rgb("+m[0]+","+m[1]+","+m[2]+")")}}t.postParseOptionsHooks.addOnce(k);t.postInitHooks.addOnce(g);t.eventListenerHooks.addOnce("jqplotMouseMove",a);t.eventListenerHooks.addOnce("jqplotMouseDown",b);t.eventListenerHooks.addOnce("jqplotMouseUp",j);t.eventListenerHooks.addOnce("jqplotClick",f);t.eventListenerHooks.addOnce("jqplotRightClick",l);t.postDrawHooks.addOnce(h)};e.jqplot.FunnelRenderer.prototype.setGridData=function(o){var n=0;var p=[];for(var m=0;m<this.data.length;m++){n+=this.data[m][1];p.push([this.data[m][0],this.data[m][1]])}for(var m=0;m<p.length;m++){p[m][1]=p[m][1]/n}this._bases=new Array(p.length+1);this._lengths=new Array(p.length);this.gridData=p};e.jqplot.FunnelRenderer.prototype.makeGridData=function(o,p){var n=0;var q=[];for(var m=0;m<this.data.length;m++){n+=this.data[m][1];q.push([this.data[m][0],this.data[m][1]])}for(var m=0;m<q.length;m++){q[m][1]=q[m][1]/n}this._bases=new Array(q.length+1);this._lengths=new Array(q.length);return q};e.jqplot.FunnelRenderer.prototype.drawSection=function(n,p,o,s){var t=this.fill;var m=this.lineWidth;n.save();if(s){for(var r=0;r<this.shadowDepth;r++){n.save();n.translate(this.shadowOffset*Math.cos(this.shadowAngle/180*Math.PI),this.shadowOffset*Math.sin(this.shadowAngle/180*Math.PI));q()}}else{q()}function q(){n.beginPath();n.fillStyle=o;n.strokeStyle=o;n.lineWidth=m;n.moveTo(p[0][0],p[0][1]);for(var u=1;u<4;u++){n.lineTo(p[u][0],p[u][1])}n.closePath();if(t){n.fill()}else{n.stroke()}}if(s){for(var r=0;r<this.shadowDepth;r++){n.restore()}}n.restore()};e.jqplot.FunnelRenderer.prototype.draw=function(G,B,J,p){var Y;var L=(J!=undefined)?J:{};var w=0;var u=0;var R=1;this._areas=[];if(J.legendInfo&&J.legendInfo.placement=="insideGrid"){var O=J.legendInfo;switch(O.location){case"nw":w=O.width+O.xoffset;break;case"w":w=O.width+O.xoffset;break;case"sw":w=O.width+O.xoffset;break;case"ne":w=O.width+O.xoffset;R=-1;break;case"e":w=O.width+O.xoffset;R=-1;break;case"se":w=O.width+O.xoffset;R=-1;break;case"n":u=O.height+O.yoffset;break;case"s":u=O.height+O.yoffset;R=-1;break;default:break}}var t=(R==1)?this.padding.left+w:this.padding.left;var F=(R==1)?this.padding.top+u:this.padding.top;var M=(R==-1)?this.padding.right+w:this.padding.right;var o=(R==-1)?this.padding.bottom+u:this.padding.bottom;var P=(L.shadow!=undefined)?L.shadow:this.shadow;var q=(L.showLine!=undefined)?L.showLine:this.showLine;var C=(L.fill!=undefined)?L.fill:this.fill;var H=G.canvas.width;var N=G.canvas.height;this._bases[0]=H-t-M;var I=this._length=N-F-o;var r=this._bases[0]*this.widthRatio;this._atot=I/2*(this._bases[0]+this._bases[0]*this.widthRatio);this._angle=Math.atan((this._bases[0]-r)/2/I);for(Y=0;Y<B.length;Y++){this._areas.push(B[Y][1]*this._atot)}var E,aa,W,Q=0;var n=0.0001;for(Y=0;Y<this._areas.length;Y++){E=this._areas[Y]/this._bases[Y];aa=999999;this._lengths[Y]=E;W=0;while(aa>this._lengths[Y]*n&&W<100){this._lengths[Y]=this._areas[Y]/(this._bases[Y]-this._lengths[Y]*Math.tan(this._angle));aa=Math.abs(this._lengths[Y]-E);this._bases[Y+1]=this._bases[Y]-(2*this._lengths[Y]*Math.tan(this._angle));E=this._lengths[Y];W++}Q+=this._lengths[Y]}this._vertices=new Array(B.length);var ae=[t,F],ad=[t+this._bases[0],F],ac=[t+(this._bases[0]-this._bases[this._bases.length-1])/2,F+this._length],ab=[ac[0]+this._bases[this._bases.length-1],ac[1]];function V(ag){var x=(ae[1]-ac[1])/(ae[0]-ac[0]);var v=ae[1]-x*ae[0];var ah=ag+ae[1];return[(ah-v)/x,ah]}function D(ag){var x=(ad[1]-ab[1])/(ad[0]-ab[0]);var v=ad[1]-x*ad[0];var ah=ag+ad[1];return[(ah-v)/x,ah]}var T=w,S=u;var Z=0,m=0;for(Y=0;Y<B.length;Y++){this._vertices[Y]=new Array();var U=this._vertices[Y];var A=this.sectionMargin;if(Y==0){m=0}if(Y==1){m=A/3}else{if(Y>0&&Y<B.length-1){m=A/2}else{if(Y==B.length-1){m=2*A/3}}}U.push(V(Z+m));U.push(D(Z+m));Z+=this._lengths[Y];if(Y==0){m=-2*A/3}else{if(Y>0&&Y<B.length-1){m=-A/2}else{if(Y==B.length-1){m=0}}}U.push(D(Z+m));U.push(V(Z+m))}if(this.shadow){var af="rgba(0,0,0,"+this.shadowAlpha+")";for(var Y=0;Y<B.length;Y++){this.renderer.drawSection.call(this,G,this._vertices[Y],af,true)}}for(var Y=0;Y<B.length;Y++){var U=this._vertices[Y];this.renderer.drawSection.call(this,G,U,this.seriesColors[Y]);if(this.showDataLabels&&B[Y][1]*100>=this.dataLabelThreshold){var K,X;if(this.dataLabels=="label"){K=this.dataLabelFormatString||"%s";X=e.jqplot.sprintf(K,B[Y][0])}else{if(this.dataLabels=="value"){K=this.dataLabelFormatString||"%d";X=e.jqplot.sprintf(K,this.data[Y][1])}else{if(this.dataLabels=="percent"){K=this.dataLabelFormatString||"%d%%";X=e.jqplot.sprintf(K,B[Y][1]*100)}else{if(this.dataLabels.constructor==Array){K=this.dataLabelFormatString||"%s";X=e.jqplot.sprintf(K,this.dataLabels[this._dataIndices[Y]])}}}}var s=(this._radius)*this.dataLabelPositionFactor+this.sliceMargin+this.dataLabelNudge;var T=(U[0][0]+U[1][0])/2+this.canvas._offsets.left;var S=(U[1][1]+U[2][1])/2+this.canvas._offsets.top;var z=e('<span class="jqplot-funnel-series jqplot-data-label" style="position:absolute;">'+X+"</span>").insertBefore(p.eventCanvas._elem);T-=z.width()/2;S-=z.height()/2;T=Math.round(T);S=Math.round(S);z.css({left:T,top:S})}}};e.jqplot.FunnelAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.FunnelAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.FunnelAxisRenderer.prototype.constructor=e.jqplot.FunnelAxisRenderer;e.jqplot.FunnelAxisRenderer.prototype.init=function(m){this.tickRenderer=e.jqplot.FunnelTickRenderer;e.extend(true,this,m);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};e.jqplot.FunnelLegendRenderer=function(){e.jqplot.TableLegendRenderer.call(this)};e.jqplot.FunnelLegendRenderer.prototype=new e.jqplot.TableLegendRenderer();e.jqplot.FunnelLegendRenderer.prototype.constructor=e.jqplot.FunnelLegendRenderer;e.jqplot.FunnelLegendRenderer.prototype.init=function(m){this.numberRows=null;this.numberColumns=null;e.extend(true,this,m)};e.jqplot.FunnelLegendRenderer.prototype.draw=function(){var p=this;if(this.show){var x=this._series;var A="position:absolute;";A+=(this.background)?"background:"+this.background+";":"";A+=(this.border)?"border:"+this.border+";":"";A+=(this.fontSize)?"font-size:"+this.fontSize+";":"";A+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";A+=(this.textColor)?"color:"+this.textColor+";":"";A+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";A+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";A+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";A+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=e('<table class="jqplot-table-legend" style="'+A+'"></table>');var E=false,w=false,m,u;var y=x[0];var n=new e.jqplot.ColorGenerator(y.seriesColors);if(y.show){var F=y.data;if(this.numberRows){m=this.numberRows;if(!this.numberColumns){u=Math.ceil(F.length/m)}else{u=this.numberColumns}}else{if(this.numberColumns){u=this.numberColumns;m=Math.ceil(F.length/this.numberColumns)}else{m=F.length;u=1}}var D,C,o,r,q,t,v,B;var z=0;for(D=0;D<m;D++){if(w){o=e('<tr class="jqplot-table-legend"></tr>').prependTo(this._elem)}else{o=e('<tr class="jqplot-table-legend"></tr>').appendTo(this._elem)}for(C=0;C<u;C++){if(z<F.length){t=this.labels[z]||F[z][0].toString();B=n.next();if(!w){if(D>0){E=true}else{E=false}}else{if(D==m-1){E=false}else{E=true}}v=(E)?this.rowSpacing:"0";r=e('<td class="jqplot-table-legend" style="text-align:center;padding-top:'+v+';"><div><div class="jqplot-table-legend-swatch" style="border-color:'+B+';"></div></div></td>');q=e('<td class="jqplot-table-legend" style="padding-top:'+v+';"></td>');if(this.escapeHtml){q.text(t)}else{q.html(t)}if(w){q.prependTo(o);r.prependTo(o)}else{r.appendTo(o);q.appendTo(o)}E=true}z++}}}}return this._elem};function c(q,p,n){n=n||{};n.axesDefaults=n.axesDefaults||{};n.legend=n.legend||{};n.seriesDefaults=n.seriesDefaults||{};var m=false;if(n.seriesDefaults.renderer==e.jqplot.FunnelRenderer){m=true}else{if(n.series){for(var o=0;o<n.series.length;o++){if(n.series[o].renderer==e.jqplot.FunnelRenderer){m=true}}}}if(m){n.axesDefaults.renderer=e.jqplot.FunnelAxisRenderer;n.legend.renderer=e.jqplot.FunnelLegendRenderer;n.legend.preDraw=true;n.sortData=false;n.seriesDefaults.pointLabels={show:false}}}function g(p,o,m){for(var n=0;n<this.series.length;n++){if(this.series[n].renderer.constructor==e.jqplot.FunnelRenderer){if(this.series[n].highlightMouseOver){this.series[n].highlightMouseDown=false}}}}function k(m){for(var n=0;n<this.series.length;n++){this.series[n].seriesColors=this.seriesColors;this.series[n].colorGenerator=e.jqplot.colorGenerator}}function d(q,p,o){var n=q.series[p];var m=q.plugins.funnelRenderer.highlightCanvas;m._ctx.clearRect(0,0,m._ctx.canvas.width,m._ctx.canvas.height);n._highlightedPoint=o;q.plugins.funnelRenderer.highlightedSeriesIndex=p;n.renderer.drawSection.call(n,m._ctx,n._vertices[o],n.highlightColors[o],false)}function i(o){var m=o.plugins.funnelRenderer.highlightCanvas;m._ctx.clearRect(0,0,m._ctx.canvas.width,m._ctx.canvas.height);for(var n=0;n<o.series.length;n++){o.series[n]._highlightedPoint=null}o.plugins.funnelRenderer.highlightedSeriesIndex=null;o.target.trigger("jqplotDataUnhighlight")}function a(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];var n=jQuery.Event("jqplotDataMouseOver");n.pageX=q.pageX;n.pageY=q.pageY;r.target.trigger(n,o);if(r.series[o[0]].highlightMouseOver&&!(o[0]==r.plugins.funnelRenderer.highlightedSeriesIndex&&o[1]==r.series[o[0]]._highlightedPoint)){var m=jQuery.Event("jqplotDataHighlight");m.which=q.which;m.pageX=q.pageX;m.pageY=q.pageY;r.target.trigger(m,o);d(r,o[0],o[1])}}else{if(s==null){i(r)}}}function b(p,o,s,r,q){if(r){var n=[r.seriesIndex,r.pointIndex,r.data];if(q.series[n[0]].highlightMouseDown&&!(n[0]==q.plugins.funnelRenderer.highlightedSeriesIndex&&n[1]==q.series[n[0]]._highlightedPoint)){var m=jQuery.Event("jqplotDataHighlight");m.which=p.which;m.pageX=p.pageX;m.pageY=p.pageY;q.target.trigger(m,n);d(q,n[0],n[1])}}else{if(r==null){i(q)}}}function j(o,n,r,q,p){var m=p.plugins.funnelRenderer.highlightedSeriesIndex;if(m!=null&&p.series[m].highlightMouseDown){i(p)}}function f(p,o,s,r,q){if(r){var n=[r.seriesIndex,r.pointIndex,r.data];var m=jQuery.Event("jqplotDataClick");m.which=p.which;m.pageX=p.pageX;m.pageY=p.pageY;q.target.trigger(m,n)}}function l(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];var m=r.plugins.funnelRenderer.highlightedSeriesIndex;if(m!=null&&r.series[m].highlightMouseDown){i(r)}var n=jQuery.Event("jqplotDataRightClick");n.which=q.which;n.pageX=q.pageX;n.pageY=q.pageY;r.target.trigger(n,o)}}function h(){if(this.plugins.funnelRenderer&&this.plugins.funnelRenderer.highlightCanvas){this.plugins.funnelRenderer.highlightCanvas.resetCanvas();this.plugins.funnelRenderer.highlightCanvas=null}this.plugins.funnelRenderer={};this.plugins.funnelRenderer.highlightCanvas=new e.jqplot.GenericCanvas();var n=e(this.targetId+" .jqplot-data-label");if(n.length){e(n[0]).before(this.plugins.funnelRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-funnelRenderer-highlight-canvas",this._plotDimensions,this))}else{this.eventCanvas._elem.before(this.plugins.funnelRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-funnelRenderer-highlight-canvas",this._plotDimensions,this))}var m=this.plugins.funnelRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(o){i(o.data.plot)})}e.jqplot.preInitHooks.push(c);e.jqplot.FunnelTickRenderer=function(){e.jqplot.AxisTickRenderer.call(this)};e.jqplot.FunnelTickRenderer.prototype=new e.jqplot.AxisTickRenderer();e.jqplot.FunnelTickRenderer.prototype.constructor=e.jqplot.FunnelTickRenderer})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.highlighter.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.highlighter.min.js
deleted file mode 100644
index 0e9d8092..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.highlighter.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(d){d.jqplot.eventListenerHooks.push(["jqplotMouseMove",f]);d.jqplot.Highlighter=function(h){this.show=d.jqplot.config.enablePlugins;this.markerRenderer=new d.jqplot.MarkerRenderer({shadow:false});this.showMarker=true;this.lineWidthAdjust=2.5;this.sizeAdjust=5;this.showTooltip=true;this.tooltipLocation="nw";this.fadeTooltip=true;this.tooltipFadeSpeed="fast";this.tooltipOffset=2;this.tooltipAxes="both";this.tooltipSeparator=", ";this.tooltipContentEditor=null;this.useAxesFormatters=true;this.tooltipFormatString="%.5P";this.formatString=null;this.yvalues=1;this.bringSeriesToFront=false;this._tooltipElem;this.isHighlighting=false;this.currentNeighbor=null;d.extend(true,this,h)};var b=["nw","n","ne","e","se","s","sw","w"];var e={nw:0,n:1,ne:2,e:3,se:4,s:5,sw:6,w:7};var c=["se","s","sw","w","nw","n","ne","e"];d.jqplot.Highlighter.init=function(k,j,i){var h=i||{};this.plugins.highlighter=new d.jqplot.Highlighter(h.highlighter)};d.jqplot.Highlighter.parseOptions=function(i,h){this.showHighlight=true};d.jqplot.Highlighter.postPlotDraw=function(){if(this.plugins.highlighter&&this.plugins.highlighter.highlightCanvas){this.plugins.highlighter.highlightCanvas.resetCanvas();this.plugins.highlighter.highlightCanvas=null}if(this.plugins.highlighter&&this.plugins.highlighter._tooltipElem){this.plugins.highlighter._tooltipElem.emptyForce();this.plugins.highlighter._tooltipElem=null}this.plugins.highlighter.highlightCanvas=new d.jqplot.GenericCanvas();this.eventCanvas._elem.before(this.plugins.highlighter.highlightCanvas.createElement(this._gridPadding,"jqplot-highlight-canvas",this._plotDimensions,this));this.plugins.highlighter.highlightCanvas.setContext();var h=document.createElement("div");this.plugins.highlighter._tooltipElem=d(h);h=null;this.plugins.highlighter._tooltipElem.addClass("jqplot-highlighter-tooltip");this.plugins.highlighter._tooltipElem.css({position:"absolute",display:"none"});this.eventCanvas._elem.before(this.plugins.highlighter._tooltipElem)};d.jqplot.preInitHooks.push(d.jqplot.Highlighter.init);d.jqplot.preParseSeriesOptionsHooks.push(d.jqplot.Highlighter.parseOptions);d.jqplot.postDrawHooks.push(d.jqplot.Highlighter.postPlotDraw);function a(m,o){var j=m.plugins.highlighter;var p=m.series[o.seriesIndex];var h=p.markerRenderer;var i=j.markerRenderer;i.style=h.style;i.lineWidth=h.lineWidth+j.lineWidthAdjust;i.size=h.size+j.sizeAdjust;var l=d.jqplot.getColorComponents(h.color);var n=[l[0],l[1],l[2]];var k=(l[3]>=0.6)?l[3]*0.6:l[3]*(2-l[3]);i.color="rgba("+n[0]+","+n[1]+","+n[2]+","+k+")";i.init();i.draw(p.gridData[o.pointIndex][0],p.gridData[o.pointIndex][1],j.highlightCanvas._ctx)}function g(A,q,m){var k=A.plugins.highlighter;var D=k._tooltipElem;var r=q.highlighter||{};var t=d.extend(true,{},k,r);if(t.useAxesFormatters){var w=q._xaxis._ticks[0].formatter;var h=q._yaxis._ticks[0].formatter;var E=q._xaxis._ticks[0].formatString;var s=q._yaxis._ticks[0].formatString;var z;var u=w(E,m.data[0]);var l=[];for(var B=1;B<t.yvalues+1;B++){l.push(h(s,m.data[B]))}if(typeof t.formatString==="string"){switch(t.tooltipAxes){case"both":case"xy":l.unshift(u);l.unshift(t.formatString);z=d.jqplot.sprintf.apply(d.jqplot.sprintf,l);break;case"yx":l.push(u);l.unshift(t.formatString);z=d.jqplot.sprintf.apply(d.jqplot.sprintf,l);break;case"x":z=d.jqplot.sprintf.apply(d.jqplot.sprintf,[t.formatString,u]);break;case"y":l.unshift(t.formatString);z=d.jqplot.sprintf.apply(d.jqplot.sprintf,l);break;default:l.unshift(u);l.unshift(t.formatString);z=d.jqplot.sprintf.apply(d.jqplot.sprintf,l);break}}else{switch(t.tooltipAxes){case"both":case"xy":z=u;for(var B=0;B<l.length;B++){z+=t.tooltipSeparator+l[B]}break;case"yx":z="";for(var B=0;B<l.length;B++){z+=l[B]+t.tooltipSeparator}z+=u;break;case"x":z=u;break;case"y":z=l.join(t.tooltipSeparator);break;default:z=u;for(var B=0;B<l.length;B++){z+=t.tooltipSeparator+l[B]}break}}}else{var z;if(typeof t.formatString==="string"){z=d.jqplot.sprintf.apply(d.jqplot.sprintf,[t.formatString].concat(m.data))}else{if(t.tooltipAxes=="both"||t.tooltipAxes=="xy"){z=d.jqplot.sprintf(t.tooltipFormatString,m.data[0])+t.tooltipSeparator+d.jqplot.sprintf(t.tooltipFormatString,m.data[1])}else{if(t.tooltipAxes=="yx"){z=d.jqplot.sprintf(t.tooltipFormatString,m.data[1])+t.tooltipSeparator+d.jqplot.sprintf(t.tooltipFormatString,m.data[0])}else{if(t.tooltipAxes=="x"){z=d.jqplot.sprintf(t.tooltipFormatString,m.data[0])}else{if(t.tooltipAxes=="y"){z=d.jqplot.sprintf(t.tooltipFormatString,m.data[1])}}}}}}if(d.isFunction(t.tooltipContentEditor)){z=t.tooltipContentEditor(z,m.seriesIndex,m.pointIndex,A)}D.html(z);var C={x:m.gridData[0],y:m.gridData[1]};var v=0;var j=0.707;if(q.markerRenderer.show==true){v=(q.markerRenderer.size+t.sizeAdjust)/2}var o=b;if(q.fillToZero&&q.fill&&m.data[1]<0){o=c}switch(o[e[t.tooltipLocation]]){case"nw":var p=C.x+A._gridPadding.left-D.outerWidth(true)-t.tooltipOffset-j*v;var n=C.y+A._gridPadding.top-t.tooltipOffset-D.outerHeight(true)-j*v;break;case"n":var p=C.x+A._gridPadding.left-D.outerWidth(true)/2;var n=C.y+A._gridPadding.top-t.tooltipOffset-D.outerHeight(true)-v;break;case"ne":var p=C.x+A._gridPadding.left+t.tooltipOffset+j*v;var n=C.y+A._gridPadding.top-t.tooltipOffset-D.outerHeight(true)-j*v;break;case"e":var p=C.x+A._gridPadding.left+t.tooltipOffset+v;var n=C.y+A._gridPadding.top-D.outerHeight(true)/2;break;case"se":var p=C.x+A._gridPadding.left+t.tooltipOffset+j*v;var n=C.y+A._gridPadding.top+t.tooltipOffset+j*v;break;case"s":var p=C.x+A._gridPadding.left-D.outerWidth(true)/2;var n=C.y+A._gridPadding.top+t.tooltipOffset+v;break;case"sw":var p=C.x+A._gridPadding.left-D.outerWidth(true)-t.tooltipOffset-j*v;var n=C.y+A._gridPadding.top+t.tooltipOffset+j*v;break;case"w":var p=C.x+A._gridPadding.left-D.outerWidth(true)-t.tooltipOffset-v;var n=C.y+A._gridPadding.top-D.outerHeight(true)/2;break;default:var p=C.x+A._gridPadding.left-D.outerWidth(true)-t.tooltipOffset-j*v;var n=C.y+A._gridPadding.top-t.tooltipOffset-D.outerHeight(true)-j*v;break}D.css("left",p);D.css("top",n);if(t.fadeTooltip){D.stop(true,true).fadeIn(t.tooltipFadeSpeed)}else{D.show()}D=null}function f(n,j,i,p,l){var h=l.plugins.highlighter;var m=l.plugins.cursor;if(h.show){if(p==null&&h.isHighlighting){var o=jQuery.Event("jqplotHighlighterUnhighlight");l.target.trigger(o);var q=h.highlightCanvas._ctx;q.clearRect(0,0,q.canvas.width,q.canvas.height);if(h.fadeTooltip){h._tooltipElem.fadeOut(h.tooltipFadeSpeed)}else{h._tooltipElem.hide()}if(h.bringSeriesToFront){l.restorePreviousSeriesOrder()}h.isHighlighting=false;h.currentNeighbor=null;q=null}else{if(p!=null&&l.series[p.seriesIndex].showHighlight&&!h.isHighlighting){var o=jQuery.Event("jqplotHighlighterHighlight");o.which=n.which;o.pageX=n.pageX;o.pageY=n.pageY;var k=[p.seriesIndex,p.pointIndex,p.data,l];l.target.trigger(o,k);h.isHighlighting=true;h.currentNeighbor=p;if(h.showMarker){a(l,p)}if(l.series[p.seriesIndex].show&&h.showTooltip&&(!m||!m._zoom.started)){g(l,l.series[p.seriesIndex],p)}if(h.bringSeriesToFront){l.moveSeriesToFront(p.seriesIndex)}}else{if(p!=null&&h.isHighlighting&&h.currentNeighbor!=p){if(l.series[p.seriesIndex].showHighlight){var q=h.highlightCanvas._ctx;q.clearRect(0,0,q.canvas.width,q.canvas.height);h.isHighlighting=true;h.currentNeighbor=p;if(h.showMarker){a(l,p)}if(l.series[p.seriesIndex].show&&h.showTooltip&&(!m||!m._zoom.started)){g(l,l.series[p.seriesIndex],p)}if(h.bringSeriesToFront){l.moveSeriesToFront(p.seriesIndex)}}}}}}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.json2.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.json2.min.js
deleted file mode 100644
index 414ed9f5..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.json2.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function($){$.jqplot.JSON=window.JSON;if(!window.JSON){$.jqplot.JSON={}}function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof $.jqplot.JSON.stringify!=="function"){$.jqplot.JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("$.jqplot.JSON.stringify")}return str("",{"":value})}}if(typeof $.jqplot.JSON.parse!=="function"){$.jqplot.JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("$.jqplot.JSON.parse")}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.logAxisRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.logAxisRenderer.min.js
deleted file mode 100644
index 483c3d2b..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.logAxisRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.LogAxisRenderer=function(){a.jqplot.LinearAxisRenderer.call(this);this.axisDefaults={base:10,tickDistribution:"power"}};a.jqplot.LogAxisRenderer.prototype=new a.jqplot.LinearAxisRenderer();a.jqplot.LogAxisRenderer.prototype.constructor=a.jqplot.LogAxisRenderer;a.jqplot.LogAxisRenderer.prototype.init=function(b){this.drawBaseline=true;this.minorTicks="auto";this._scalefact=1;a.extend(true,this,b);this._autoFormatString="%d";this._overrideFormatString=false;for(var c in this.renderer.axisDefaults){if(this[c]==null){this[c]=this.renderer.axisDefaults[c]}}this.resetDataBounds()};a.jqplot.LogAxisRenderer.prototype.createTicks=function(d){var G=this._ticks;var w=this.ticks;var s=this.name;var u=this._dataBounds;var b=(this.name.charAt(0)==="x")?this._plotDimensions.width:this._plotDimensions.height;var k;var N,v;var m,l;var M,K;var g=30;this._scalefact=(Math.max(b,g+1)-g)/300;if(w.length){for(K=0;K<w.length;K++){var A=w[K];var H=new this.tickRenderer(this.tickOptions);if(A.constructor==Array){H.value=A[0];H.label=A[1];if(!this.showTicks){H.showLabel=false;H.showMark=false}else{if(!this.showTickMarks){H.showMark=false}}H.setTick(A[0],this.name);this._ticks.push(H)}else{if(a.isPlainObject(A)){a.extend(true,H,A);H.axis=this.name;this._ticks.push(H)}else{H.value=A;if(!this.showTicks){H.showLabel=false;H.showMark=false}else{if(!this.showTickMarks){H.showMark=false}}H.setTick(A,this.name);this._ticks.push(H)}}}this.numberTicks=w.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value}else{if(this.min==null&&this.max==null){N=u.min*(2-this.padMin);v=u.max*this.padMax;if(N==v){var c=0.05;N=N*(1-c);v=v*(1+c)}if(this.min!=null&&this.min<=0){throw new Error("Log axis minimum must be greater than 0")}if(this.max!=null&&this.max<=0){throw new Error("Log axis maximum must be greater than 0")}function f(j){var i=Math.pow(10,Math.floor(Math.log(j)/Math.LN10));return Math.ceil(j/i)*i}function x(j){var i=Math.pow(10,Math.floor(Math.log(j)/Math.LN10));return Math.floor(j/i)*i}var F,r;F=Math.pow(this.base,Math.floor(Math.log(N)/Math.log(this.base)));r=Math.pow(this.base,Math.ceil(Math.log(v)/Math.log(this.base)));if(F===0){F=1}var E=Math.round(Math.log(F)/Math.LN10);if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}this.min=F;this.max=r;var q=this.max-this.min;var C=(this.minorTicks==="auto")?0:this.minorTicks;var h;if(this.numberTicks==null){if(b>140){h=Math.round(Math.log(this.max/this.min)/Math.log(this.base)+1);if(h<2){h=2}if(C===0){var o=b/(h-1);if(o<100){C=0}else{if(o<190){C=1}else{if(o<250){C=3}else{if(o<600){C=4}else{C=9}}}}}}else{h=2;if(C===0){C=1}C=0}}else{h=this.numberTicks}if(E>=0&&C!==3){this._autoFormatString="%d"}else{if(E<=0&&C===3){var o=-(E-1);this._autoFormatString="%."+Math.abs(E-1)+"f"}else{if(E<0){var o=-E;this._autoFormatString="%."+Math.abs(E)+"f"}else{this._autoFormatString="%d"}}}var O,H,z,p,n,k;for(var K=0;K<h;K++){M=Math.pow(this.base,K-h+1)*this.max;H=new this.tickRenderer(this.tickOptions);if(this._overrideFormatString){H.formatString=this._autoFormatString}if(!this.showTicks){H.showLabel=false;H.showMark=false}else{if(!this.showTickMarks){H.showMark=false}}H.setTick(M,this.name);this._ticks.push(H);if(C&&K<h-1){p=Math.pow(this.base,K-h+2)*this.max;n=p-M;k=p/(C+1);for(var J=C-1;J>=0;J--){z=p-k*(J+1);H=new this.tickRenderer(this.tickOptions);if(this._overrideFormatString&&this._autoFormatString!=""){H.formatString=this._autoFormatString}if(!this.showTicks){H.showLabel=false;H.showMark=false}else{if(!this.showTickMarks){H.showMark=false}}H.setTick(z,this.name);this._ticks.push(H)}}}}else{if(this.min!=null&&this.max!=null){var y=a.extend(true,{},this.tickOptions,{name:this.name,value:null});var I,e;if(this.numberTicks==null&&this.tickInterval==null){var D=Math.max(b,g+1);var L=Math.ceil((D-g)/35+1);var B=a.jqplot.LinearTickGenerator.bestConstrainedInterval(this.min,this.max,L);this._autoFormatString=B[3];I=B[2];e=B[4];for(var K=0;K<I;K++){y.value=this.min+K*e;H=new this.tickRenderer(y);if(this._overrideFormatString&&this._autoFormatString!=""){H.formatString=this._autoFormatString}if(!this.showTicks){H.showLabel=false;H.showMark=false}else{if(!this.showTickMarks){H.showMark=false}}this._ticks.push(H)}}else{if(this.numberTicks!=null&&this.tickInterval!=null){I=this.numberTicks;for(var K=0;K<I;K++){y.value=this.min+K*this.tickInterval;H=new this.tickRenderer(y);if(this._overrideFormatString&&this._autoFormatString!=""){H.formatString=this._autoFormatString}if(!this.showTicks){H.showLabel=false;H.showMark=false}else{if(!this.showTickMarks){H.showMark=false}}this._ticks.push(H)}}}}}}};a.jqplot.LogAxisRenderer.prototype.pack=function(f,e){var r=parseInt(this.base,10);var y=this._ticks;var d=function(h){return Math.log(h)/Math.log(r)};var b=function(h){return Math.pow(Math.E,(Math.log(r)*h))};var u=d(this.max);var s=d(this.min);var m=e.max;var k=e.min;var o=(this._label==null)?false:this._label.show;for(var q in f){this._elem.css(q,f[q])}this._offsets=e;var g=m-k;var j=u-s;this.p2u=function(h){return b((h-k)*j/g+s)};this.u2p=function(h){return(d(h)-s)*g/j+k};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(d(h)-s)*g/j};this.series_p2u=function(h){return b(h*j/g+s)}}else{this.series_u2p=function(h){return(d(h)-u)*g/j};this.series_p2u=function(h){return b(h*j/g+u)}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(var v=0;v<y.length;v++){var n=y[v];if(n.show&&n.showLabel){var c;if(n.constructor==a.jqplot.CanvasAxisTickRenderer&&n.angle){switch(n.labelPosition){case"auto":if(n.angle<0){c=-n.getWidth()+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2}else{c=-n._textRenderer.height*Math.sin(n._textRenderer.angle)/2}break;case"end":c=-n.getWidth()+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break;case"start":c=-n._textRenderer.height*Math.sin(n._textRenderer.angle)/2;break;case"middle":c=-n.getWidth()/2+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break;default:c=-n.getWidth()/2+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break}}else{c=-n.getWidth()/2}var z=this.u2p(n.value)+c+"px";n._elem.css("left",z);n.pack()}}if(o){var l=this._label._elem.outerWidth(true);this._label._elem.css("left",k+g/2-l/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px")}else{this._label._elem.css("top","0px")}this._label.pack()}}else{for(var v=0;v<y.length;v++){var n=y[v];if(n.show&&n.showLabel){var c;if(n.constructor==a.jqplot.CanvasAxisTickRenderer&&n.angle){switch(n.labelPosition){case"auto":case"end":if(n.angle<0){c=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{c=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"start":if(n.angle>0){c=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{c=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"middle":c=-n.getHeight()/2;break;default:c=-n.getHeight()/2;break}}else{c=-n.getHeight()/2}var z=this.u2p(n.value)+c+"px";n._elem.css("top",z);n.pack()}}if(o){var x=this._label._elem.outerHeight(true);this._label._elem.css("top",m-g/2-x/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js
deleted file mode 100644
index 420dd13d..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.MekkoAxisRenderer=function(){};a.jqplot.MekkoAxisRenderer.prototype.init=function(c){this.tickMode;this.barLabelRenderer=a.jqplot.AxisLabelRenderer;this.barLabels=this.barLabels||[];this.barLabelOptions={};this.tickOptions=a.extend(true,{showGridline:false},this.tickOptions);this._barLabels=[];a.extend(true,this,c);if(this.name=="yaxis"){this.tickOptions.formatString=this.tickOptions.formatString||"%d%"}var b=this._dataBounds;b.min=0;if(this.name=="yaxis"||this.name=="y2axis"){b.max=100;this.tickMode="even"}else{if(this.name=="xaxis"){this.tickMode=(this.tickMode==null)?"bar":this.tickMode;for(var d=0;d<this._series.length;d++){b.max+=this._series[d]._sumy}}else{if(this.name=="x2axis"){this.tickMode=(this.tickMode==null)?"even":this.tickMode;for(var d=0;d<this._series.length;d++){b.max+=this._series[d]._sumy}}}}};a.jqplot.MekkoAxisRenderer.prototype.draw=function(b,j){if(this.show){this.renderer.createTicks.call(this);var h=0;var c;var g=document.createElement("div");this._elem=a(g);this._elem.addClass("jqplot-axis jqplot-"+this.name);this._elem.css("position","absolute");g=null;if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){this._elem.append(this._label.draw(b))}var f,e,g;if(this.showTicks){f=this._ticks;for(var d=0;d<f.length;d++){e=f[d];if(e.showLabel&&(!e.isMinorTick||this.showMinorTicks)){this._elem.append(e.draw(b))}}}for(d=0;d<this.barLabels.length;d++){this.barLabelOptions.axis=this.name;this.barLabelOptions.label=this.barLabels[d];this._barLabels.push(new this.barLabelRenderer(this.barLabelOptions));if(this.tickMode!="bar"){this._barLabels[d].show=false}if(this._barLabels[d].show){var g=this._barLabels[d].draw(b,j);g.removeClass("jqplot-"+this.name+"-label");g.addClass("jqplot-"+this.name+"-tick");g.addClass("jqplot-mekko-barLabel");g.appendTo(this._elem);g=null}}}return this._elem};a.jqplot.MekkoAxisRenderer.prototype.reset=function(){this.min=this._min;this.max=this._max;this.tickInterval=this._tickInterval;this.numberTicks=this._numberTicks};a.jqplot.MekkoAxisRenderer.prototype.set=function(){var k=0;var d;var c=0;var j=0;var b=(this._label==null)?false:this._label.show;if(this.show&&this.showTicks){var g=this._ticks;for(var f=0;f<g.length;f++){var e=g[f];if(e.showLabel&&(!e.isMinorTick||this.showMinorTicks)){if(this.name=="xaxis"||this.name=="x2axis"){d=e._elem.outerHeight(true)}else{d=e._elem.outerWidth(true)}if(d>k){k=d}}}if(b){c=this._label._elem.outerWidth(true);j=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){k=k+j;this._elem.css({height:k+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){k=k+j;this._elem.css({height:k+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){k=k+c;this._elem.css({width:k+"px",left:"0px",top:"0px"});if(b&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",c+"px")}}else{k=k+c;this._elem.css({width:k+"px",right:"0px",top:"0px"});if(b&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",c+"px")}}}}}};a.jqplot.MekkoAxisRenderer.prototype.createTicks=function(){var z=this._ticks;var w=this.ticks;var B=this.name;var y=this._dataBounds;var p,x;var n,r;var d,c;var h,b,s,q;if(w.length){for(s=0;s<w.length;s++){var e=w[s];var h=new this.tickRenderer(this.tickOptions);if(e.constructor==Array){h.value=e[0];h.label=e[1];if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(e[0],this.name);this._ticks.push(h)}else{h.value=e;if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(e,this.name);this._ticks.push(h)}}this.numberTicks=w.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value;this.tickInterval=(this.max-this.min)/(this.numberTicks-1)}else{if(B=="xaxis"||B=="x2axis"){p=this._plotDimensions.width}else{p=this._plotDimensions.height}if(this.min!=null&&this.max!=null&&this.numberTicks!=null){this.tickInterval=null}n=(this.min!=null)?this.min:y.min;r=(this.max!=null)?this.max:y.max;if(n==r){var g=0.05;if(n>0){g=Math.max(Math.log(n)/Math.LN10,0.05)}n-=g;r+=g}var k=r-n;var m,o;var v,l,u;var f=[3,5,6,11,21];if(this.name=="yaxis"||this.name=="y2axis"){this.min=0;this.max=100;if(!this.numberTicks){if(this.tickInterval){this.numberTicks=3+Math.ceil(k/this.tickInterval)}else{v=2+Math.ceil((p-(this.tickSpacing-1))/this.tickSpacing);for(s=0;s<f.length;s++){u=v/f[s];if(u==1){this.numberTicks=f[s];break}else{if(u>1){l=u;continue}else{if(u<1){if(Math.abs(l-1)<Math.abs(u-1)){this.numberTicks=f[s-1];break}else{this.numberTicks=f[s];break}}else{if(s==f.length-1){this.numberTicks=f[s]}}}}}this.tickInterval=k/(this.numberTicks-1)}}else{this.tickInterval=k/(this.numberTicks-1)}for(var s=0;s<this.numberTicks;s++){b=this.min+s*this.tickInterval;h=new this.tickRenderer(this.tickOptions);if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(b,this.name);this._ticks.push(h)}}else{if(this.tickMode=="bar"){this.min=0;this.numberTicks=this._series.length+1;h=new this.tickRenderer(this.tickOptions);if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(0,this.name);this._ticks.push(h);v=0;for(s=1;s<this.numberTicks;s++){v+=this._series[s-1]._sumy;h=new this.tickRenderer(this.tickOptions);if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(v,this.name);this._ticks.push(h)}this.max=this.max||v;if(this.max>v){h=new this.tickRenderer(this.tickOptions);if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(this.max,this.name);this._ticks.push(h)}}else{if(this.tickMode=="even"){this.min=0;this.max=this.max||y.max;var A=2+Math.ceil((p-(this.tickSpacing-1))/this.tickSpacing);k=this.max-this.min;this.numberTicks=A;this.tickInterval=k/(this.numberTicks-1);for(s=0;s<this.numberTicks;s++){b=this.min+s*this.tickInterval;h=new this.tickRenderer(this.tickOptions);if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(b,this.name);this._ticks.push(h)}}}}}};a.jqplot.MekkoAxisRenderer.prototype.pack=function(e,d){var C=this._ticks;var x=this.max;var v=this.min;var m=d.max;var j=d.min;var o=(this._label==null)?false:this._label.show;for(var s in e){this._elem.css(s,e[s])}this._offsets=d;var f=m-j;var g=x-v;this.p2u=function(b){return(b-j)*g/f+v};this.u2p=function(b){return(b-v)*f/g+j};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(b){return(b-v)*f/g};this.series_p2u=function(b){return b*g/f+v}}else{this.series_u2p=function(b){return(b-x)*f/g};this.series_p2u=function(b){return b*g/f+x}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(var y=0;y<C.length;y++){var n=C[y];if(n.show&&n.showLabel){var c;if(n.constructor==a.jqplot.CanvasAxisTickRenderer&&n.angle){var A=(this.name=="xaxis")?1:-1;switch(n.labelPosition){case"auto":if(A*n.angle<0){c=-n.getWidth()+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2}else{c=-n._textRenderer.height*Math.sin(n._textRenderer.angle)/2}break;case"end":c=-n.getWidth()+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break;case"start":c=-n._textRenderer.height*Math.sin(n._textRenderer.angle)/2;break;case"middle":c=-n.getWidth()/2+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break;default:c=-n.getWidth()/2+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break}}else{c=-n.getWidth()/2}var D=this.u2p(n.value)+c+"px";n._elem.css("left",D);n.pack()}}var k;if(o){k=this._label._elem.outerWidth(true);this._label._elem.css("left",j+f/2-k/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px")}else{this._label._elem.css("top","0px")}this._label.pack()}var B,u,q;for(var y=0;y<this.barLabels.length;y++){B=this._barLabels[y];if(B.show){k=B.getWidth();u=this._ticks[y].getLeft()+this._ticks[y].getWidth();q=this._ticks[y+1].getLeft();B._elem.css("left",(q+u-k)/2+"px");B._elem.css("top",this._ticks[y]._elem.css("top"));B.pack()}}}else{for(var y=0;y<C.length;y++){var n=C[y];if(n.show&&n.showLabel){var c;if(n.constructor==a.jqplot.CanvasAxisTickRenderer&&n.angle){var A=(this.name=="yaxis")?1:-1;switch(n.labelPosition){case"auto":case"end":if(A*n.angle<0){c=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{c=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"start":if(n.angle>0){c=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{c=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"middle":c=-n.getHeight()/2;break;default:c=-n.getHeight()/2;break}}else{c=-n.getHeight()/2}var D=this.u2p(n.value)+c+"px";n._elem.css("top",D);n.pack()}}if(o){var z=this._label._elem.outerHeight(true);this._label._elem.css("top",m-f/2-z/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.mekkoRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.mekkoRenderer.min.js
deleted file mode 100644
index cece3cd7..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.mekkoRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(b){b.jqplot.MekkoRenderer=function(){this.shapeRenderer=new b.jqplot.ShapeRenderer();this.borderColor=null;this.showBorders=true};b.jqplot.MekkoRenderer.prototype.init=function(c,e){this.fill=false;this.fillRect=true;this.strokeRect=true;this.shadow=false;this._xwidth=0;this._xstart=0;b.extend(true,this.renderer,c);var d={lineJoin:"miter",lineCap:"butt",isarc:false,fillRect:this.fillRect,strokeRect:this.strokeRect};this.renderer.shapeRenderer.init(d);e.axes.x2axis._series.push(this);this._type="mekko"};b.jqplot.MekkoRenderer.prototype.setGridData=function(h){var e=this._xaxis.series_u2p;var c=this._yaxis.series_u2p;var g=this._plotData;this.gridData=[];this._xwidth=e(this._sumy)-e(0);if(this.index>0){this._xstart=h.series[this.index-1]._xstart+h.series[this.index-1]._xwidth}var l=this.canvas.getHeight();var d=0;var k;var j;for(var f=0;f<g.length;f++){if(g[f]!=null){d+=g[f][1];k=l-(d/this._sumy*l);j=g[f][1]/this._sumy*l;this.gridData.push([this._xstart,k,this._xwidth,j])}}};b.jqplot.MekkoRenderer.prototype.makeGridData=function(f,g){var d=this._xaxis.series_u2p;var l=this.canvas.getHeight();var c=0;var j;var h;var k=[];for(var e=0;e<f.length;e++){if(f[e]!=null){c+=f[e][1];j=l-(c/this._sumy*l);h=f[e][1]/this._sumy*l;k.push([this._xstart,j,this._xwidth,h])}}return k};b.jqplot.MekkoRenderer.prototype.draw=function(c,h,d){var e;var g=(d!=undefined)?d:{};var f=(g.showLine!=undefined)?g.showLine:this.showLine;var j=new b.jqplot.ColorGenerator(this.seriesColors);c.save();if(h.length){if(f){for(e=0;e<h.length;e++){g.fillStyle=j.next();if(this.renderer.showBorders){g.strokeStyle=this.renderer.borderColor}else{g.strokeStyle=g.fillStyle}this.renderer.shapeRenderer.draw(c,h[e],g)}}}c.restore()};b.jqplot.MekkoRenderer.prototype.drawShadow=function(c,e,d){};b.jqplot.MekkoLegendRenderer=function(){};b.jqplot.MekkoLegendRenderer.prototype.init=function(c){this.numberRows=null;this.numberColumns=null;this.placement="outside";b.extend(true,this,c)};b.jqplot.MekkoLegendRenderer.prototype.draw=function(){var f=this;if(this.show){var o=this._series;var r="position:absolute;";r+=(this.background)?"background:"+this.background+";":"";r+=(this.border)?"border:"+this.border+";":"";r+=(this.fontSize)?"font-size:"+this.fontSize+";":"";r+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";r+=(this.textColor)?"color:"+this.textColor+";":"";this._elem=b('<table class="jqplot-table-legend" style="'+r+'"></table>');var w=false,n=true,c,l;var p=o[0];var d=new b.jqplot.ColorGenerator(p.seriesColors);if(p.show){var x=p.data;if(this.numberRows){c=this.numberRows;if(!this.numberColumns){l=Math.ceil(x.length/c)}else{l=this.numberColumns}}else{if(this.numberColumns){l=this.numberColumns;c=Math.ceil(x.length/this.numberColumns)}else{c=x.length;l=1}}var v,u,e,h,g,k,m,t;var q=0;for(v=0;v<c;v++){if(n){e=b('<tr class="jqplot-table-legend"></tr>').prependTo(this._elem)}else{e=b('<tr class="jqplot-table-legend"></tr>').appendTo(this._elem)}for(u=0;u<l;u++){if(q<x.length){k=this.labels[q]||x[q][0].toString();t=d.next();if(!n){if(v>0){w=true}else{w=false}}else{if(v==c-1){w=false}else{w=true}}m=(w)?this.rowSpacing:"0";h=b('<td class="jqplot-table-legend" style="text-align:center;padding-top:'+m+';"><div><div class="jqplot-table-legend-swatch" style="border-color:'+t+';"></div></div></td>');g=b('<td class="jqplot-table-legend" style="padding-top:'+m+';"></td>');if(this.escapeHtml){g.text(k)}else{g.html(k)}if(n){g.prependTo(e);h.prependTo(e)}else{h.appendTo(e);g.appendTo(e)}w=true}q++}}e=null;h=null;g=null}}return this._elem};b.jqplot.MekkoLegendRenderer.prototype.pack=function(f){if(this.show){var e={_top:f.top,_left:f.left,_right:f.right,_bottom:this._plotDimensions.height-f.bottom};if(this.placement=="insideGrid"){switch(this.location){case"nw":var d=e._left+this.xoffset;var c=e._top+this.yoffset;this._elem.css("left",d);this._elem.css("top",c);break;case"n":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=e._top+this.yoffset;this._elem.css("left",d);this._elem.css("top",c);break;case"ne":var d=f.right+this.xoffset;var c=e._top+this.yoffset;this._elem.css({right:d,top:c});break;case"e":var d=f.right+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({right:d,top:c});break;case"se":var d=f.right+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({right:d,bottom:c});break;case"s":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=f.bottom+this.yoffset;this._elem.css({left:d,bottom:c});break;case"sw":var d=e._left+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({left:d,bottom:c});break;case"w":var d=e._left+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({left:d,top:c});break;default:var d=e._right-this.xoffset;var c=e._bottom+this.yoffset;this._elem.css({right:d,bottom:c});break}}else{switch(this.location){case"nw":var d=this._plotDimensions.width-e._left+this.xoffset;var c=e._top+this.yoffset;this._elem.css("right",d);this._elem.css("top",c);break;case"n":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=this._plotDimensions.height-e._top+this.yoffset;this._elem.css("left",d);this._elem.css("bottom",c);break;case"ne":var d=this._plotDimensions.width-f.right+this.xoffset;var c=e._top+this.yoffset;this._elem.css({left:d,top:c});break;case"e":var d=this._plotDimensions.width-f.right+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({left:d,top:c});break;case"se":var d=this._plotDimensions.width-f.right+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({left:d,bottom:c});break;case"s":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=this._plotDimensions.height-f.bottom+this.yoffset;this._elem.css({left:d,top:c});break;case"sw":var d=this._plotDimensions.width-e._left+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({right:d,bottom:c});break;case"w":var d=this._plotDimensions.width-e._left+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({right:d,top:c});break;default:var d=e._right-this.xoffset;var c=e._bottom+this.yoffset;this._elem.css({right:d,bottom:c});break}}}};function a(g,f,d){d=d||{};d.axesDefaults=d.axesDefaults||{};d.legend=d.legend||{};d.seriesDefaults=d.seriesDefaults||{};var c=false;if(d.seriesDefaults.renderer==b.jqplot.MekkoRenderer){c=true}else{if(d.series){for(var e=0;e<d.series.length;e++){if(d.series[e].renderer==b.jqplot.MekkoRenderer){c=true}}}}if(c){d.axesDefaults.renderer=b.jqplot.MekkoAxisRenderer;d.legend.renderer=b.jqplot.MekkoLegendRenderer;d.legend.preDraw=true}}b.jqplot.preInitHooks.push(a)})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js
deleted file mode 100644
index ab882a5f..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(c){c.jqplot.MeterGaugeRenderer=function(){c.jqplot.LineRenderer.call(this)};c.jqplot.MeterGaugeRenderer.prototype=new c.jqplot.LineRenderer();c.jqplot.MeterGaugeRenderer.prototype.constructor=c.jqplot.MeterGaugeRenderer;c.jqplot.MeterGaugeRenderer.prototype.init=function(e){this.diameter=null;this.padding=null;this.shadowOffset=2;this.shadowAlpha=0.07;this.shadowDepth=4;this.background="#efefef";this.ringColor="#BBC6D0";this.needleColor="#C3D3E5";this.tickColor="#989898";this.ringWidth=null;this.min;this.max;this.ticks=[];this.showTicks=true;this.showTickLabels=true;this.label=null;this.labelHeightAdjust=0;this.labelPosition="inside";this.intervals=[];this.intervalColors=["#4bb2c5","#EAA228","#c5b47f","#579575","#839557","#958c12","#953579","#4b5de4","#d8b83f","#ff5800","#0085cc","#c747a3","#cddf54","#FBD178","#26B4E3","#bd70c7"];this.intervalInnerRadius=null;this.intervalOuterRadius=null;this.tickRenderer=c.jqplot.MeterGaugeTickRenderer;this.tickPositions=[1,2,2.5,5,10];this.tickSpacing=30;this.numberMinorTicks=null;this.hubRadius=null;this.tickPadding=null;this.needleThickness=null;this.needlePad=6;this.pegNeedle=true;this._type="meterGauge";c.extend(true,this,e);this.type=null;this.numberTicks=null;this.tickInterval=null;this.span=180;if(this.type=="circular"){this.semiCircular=false}else{if(this.type!="circular"){this.semiCircular=true}else{this.semiCircular=(this.span<=180)?true:false}}this._tickPoints=[];this._labelElem=null;this.startAngle=(90+(360-this.span)/2)*Math.PI/180;this.endAngle=(90-(360-this.span)/2)*Math.PI/180;this.setmin=!!(this.min==null);this.setmax=!!(this.max==null);if(this.intervals.length){if(this.intervals[0].length==null||this.intervals.length==1){for(var f=0;f<this.intervals.length;f++){this.intervals[f]=[this.intervals[f],this.intervals[f],this.intervalColors[f]]}}else{if(this.intervals[0].length==2){for(f=0;f<this.intervals.length;f++){this.intervals[f]=[this.intervals[f][0],this.intervals[f][1],this.intervalColors[f]]}}}}if(this.ticks.length){if(this.ticks[0].length==null||this.ticks[0].length==1){for(var f=0;f<this.ticks.length;f++){this.ticks[f]=[this.ticks[f],this.ticks[f]]}}this.min=(this.min==null)?this.ticks[0][0]:this.min;this.max=(this.max==null)?this.ticks[this.ticks.length-1][0]:this.max;this.setmin=false;this.setmax=false;this.numberTicks=this.ticks.length;this.tickInterval=this.ticks[1][0]-this.ticks[0][0];this.tickFactor=Math.floor(parseFloat((Math.log(this.tickInterval)/Math.log(10)).toFixed(11)));this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor);if(!this.numberMinorTicks){this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor-1)}if(!this.numberMinorTicks){this.numberMinorTicks=1}}else{if(this.intervals.length){this.min=(this.min==null)?0:this.min;this.setmin=false;if(this.max==null){if(this.intervals[this.intervals.length-1][0]>=this.data[0][1]){this.max=this.intervals[this.intervals.length-1][0];this.setmax=false}}else{this.setmax=false}}else{this.min=(this.min==null)?0:this.min;this.setmin=false;if(this.max==null){this.max=this.data[0][1]*1.25;this.setmax=true}else{this.setmax=false}}}};c.jqplot.MeterGaugeRenderer.prototype.setGridData=function(j){var f=[];var k=[];var e=this.startAngle;for(var h=0;h<this.data.length;h++){f.push(this.data[h][1]);k.push([this.data[h][0]]);if(h>0){f[h]+=f[h-1]}}var g=Math.PI*2/f[f.length-1];for(var h=0;h<f.length;h++){k[h][1]=f[h]*g}this.gridData=k};c.jqplot.MeterGaugeRenderer.prototype.makeGridData=function(j,k){var f=[];var l=[];var e=this.startAngle;for(var h=0;h<j.length;h++){f.push(j[h][1]);l.push([j[h][0]]);if(h>0){f[h]+=f[h-1]}}var g=Math.PI*2/f[f.length-1];for(var h=0;h<f.length;h++){l[h][1]=f[h]*g}return l};function b(j,f,g){var e;for(var h=j.length-1;h>=0;h--){e=f/(j[h]*Math.pow(10,g));if(e==4||e==5){return e-1}}return null}c.jqplot.MeterGaugeRenderer.prototype.draw=function(X,aC,ap){var aa;var aM=(ap!=undefined)?ap:{};var ai=0;var ah=0;var at=1;if(ap.legendInfo&&ap.legendInfo.placement=="inside"){var aI=ap.legendInfo;switch(aI.location){case"nw":ai=aI.width+aI.xoffset;break;case"w":ai=aI.width+aI.xoffset;break;case"sw":ai=aI.width+aI.xoffset;break;case"ne":ai=aI.width+aI.xoffset;at=-1;break;case"e":ai=aI.width+aI.xoffset;at=-1;break;case"se":ai=aI.width+aI.xoffset;at=-1;break;case"n":ah=aI.height+aI.yoffset;break;case"s":ah=aI.height+aI.yoffset;at=-1;break;default:break}}if(this.label){this._labelElem=c('<div class="jqplot-meterGauge-label" style="position:absolute;">'+this.label+"</div>");this.canvas._elem.after(this._labelElem)}var m=(aM.shadow!=undefined)?aM.shadow:this.shadow;var N=(aM.showLine!=undefined)?aM.showLine:this.showLine;var I=(aM.fill!=undefined)?aM.fill:this.fill;var K=X.canvas.width;var S=X.canvas.height;if(this.padding==null){this.padding=Math.round(Math.min(K,S)/30)}var Q=K-ai-2*this.padding;var ab=S-ah-2*this.padding;if(this.labelPosition=="bottom"&&this.label){ab-=this._labelElem.outerHeight(true)}var L=Math.min(Q,ab);var ad=L;if(!this.diameter){if(this.semiCircular){if(Q>=2*ab){if(!this.ringWidth){this.ringWidth=2*ab/35}this.needleThickness=this.needleThickness||2+Math.pow(this.ringWidth,0.8);this.innerPad=this.ringWidth/2+this.needleThickness/2+this.needlePad;this.diameter=2*(ab-2*this.innerPad)}else{if(!this.ringWidth){this.ringWidth=Q/35}this.needleThickness=this.needleThickness||2+Math.pow(this.ringWidth,0.8);this.innerPad=this.ringWidth/2+this.needleThickness/2+this.needlePad;this.diameter=Q-2*this.innerPad-this.ringWidth-this.padding}this._center=[(K-at*ai)/2+at*ai,(S+at*ah-this.padding-this.ringWidth-this.innerPad)]}else{if(!this.ringWidth){this.ringWidth=ad/35}this.needleThickness=this.needleThickness||2+Math.pow(this.ringWidth,0.8);this.innerPad=0;this.diameter=ad-this.ringWidth;this._center=[(K-at*ai)/2+at*ai,(S-at*ah)/2+at*ah]}if(this._labelElem&&this.labelPosition=="bottom"){this._center[1]-=this._labelElem.outerHeight(true)}}this._radius=this.diameter/2;this.tickSpacing=6000/this.diameter;if(!this.hubRadius){this.hubRadius=this.diameter/18}this.shadowOffset=0.5+this.ringWidth/9;this.shadowWidth=this.ringWidth*1;this.tickPadding=3+Math.pow(this.diameter/20,0.7);this.tickOuterRadius=this._radius-this.ringWidth/2-this.tickPadding;this.tickLength=(this.showTicks)?this._radius/13:0;if(this.ticks.length==0){var A=this.max,aL=this.min,q=this.setmax,aG=this.setmin,au=(A-aL)*this.tickSpacing/this.span;var aw=Math.floor(parseFloat((Math.log(au)/Math.log(10)).toFixed(11)));var an=(au/Math.pow(10,aw));(an>2&&an<=2.5)?an=2.5:an=Math.ceil(an);var T=this.tickPositions;var aA,ak;for(aa=0;aa<T.length;aa++){if(an==T[aa]||aa&&T[aa-1]<an&&an<T[aa]){au=T[aa]*Math.pow(10,aw);aA=aa}}for(aa=0;aa<T.length;aa++){if(an==T[aa]||aa&&T[aa-1]<an&&an<T[aa]){au=T[aa]*Math.pow(10,aw);ak=Math.ceil((A-aL)/au)}}if(q&&aG){var aP=(aL>0)?aL-aL%au:aL-aL%au-au;if(!this.forceZero){var D=Math.min(aL-aP,0.8*au);var o=Math.floor(D/T[aA]);if(o>1){aP=aP+T[aA]*(o-1);if(parseInt(aP,10)!=aP&&parseInt(aP-T[aA],10)==aP-T[aA]){aP=aP-T[aA]}}}if(aL==aP){aL-=au}else{if(aL-aP>0.23*au){aL=aP}else{aL=aP-au;ak+=1}}ak+=1;var E=aL+(ak-1)*au;if(A>=E){E+=au;ak+=1}if(E-A<0.23*au){E+=au;ak+=1}this.max=A=E;this.min=aL;this.tickInterval=au;this.numberTicks=ak;var O;for(aa=0;aa<ak;aa++){O=parseFloat((aL+aa*au).toFixed(11));this.ticks.push([O,O])}this.max=this.ticks[ak-1][1];this.tickFactor=aw;this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor);if(!this.numberMinorTicks){this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor-1)}}else{if(q){var E=aL+(ak-1)*au;if(A>=E){A=E+au;ak+=1}else{A=E}this.tickInterval=this.tickInterval||au;this.numberTicks=this.numberTicks||ak;var O;for(aa=0;aa<this.numberTicks;aa++){O=parseFloat((aL+aa*this.tickInterval).toFixed(11));this.ticks.push([O,O])}this.max=this.ticks[this.numberTicks-1][1];this.tickFactor=aw;this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor);if(!this.numberMinorTicks){this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor-1)}}}if(!q&&!aG){var P=this.max-this.min;aw=Math.floor(parseFloat((Math.log(P)/Math.log(10)).toFixed(11)))-1;var aN=[5,6,4,7,3,8,9,10,2],V,C,av=0,M;if(P>1){var aJ=String(P);if(aJ.search(/\./)==-1){var aF=aJ.search(/0+$/);av=(aF>0)?aJ.length-aF-1:0}}M=P/Math.pow(10,av);for(aa=0;aa<aN.length;aa++){V=M/(aN[aa]-1);if(V==parseInt(V,10)){this.numberTicks=aN[aa];this.tickInterval=P/(this.numberTicks-1);this.tickFactor=aw+1;break}}var O;for(aa=0;aa<this.numberTicks;aa++){O=parseFloat((this.min+aa*this.tickInterval).toFixed(11));this.ticks.push([O,O])}this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor);if(!this.numberMinorTicks){this.numberMinorTicks=b(this.tickPositions,this.tickInterval,this.tickFactor-1)}if(!this.numberMinorTicks){this.numberMinorTicks=1;var aH=[4,5,3,6,2];for(aa=0;aa<5;aa++){var ao=this.tickInterval/aH[aa];if(ao==parseInt(ao,10)){this.numberMinorTicks=aH[aa]-1;break}}}}}var U=this._radius,aE=this.startAngle,k=this.endAngle,H=Math.PI,e=Math.PI/2;if(this.semiCircular){var z=Math.atan(this.innerPad/U),ac=this.outerStartAngle=aE-z,aB=this.outerEndAngle=k+z,B=this.hubStartAngle=aE-Math.atan(this.innerPad/this.hubRadius*2),af=this.hubEndAngle=k+Math.atan(this.innerPad/this.hubRadius*2);X.save();X.translate(this._center[0],this._center[1]);X.lineJoin="round";X.lineCap="round";X.save();X.beginPath();X.fillStyle=this.background;X.arc(0,0,U,ac,aB,false);X.closePath();X.fill();X.restore();var aj="rgba(0,0,0,"+this.shadowAlpha+")";X.save();for(var aa=0;aa<this.shadowDepth;aa++){X.translate(this.shadowOffset*Math.cos(this.shadowAngle/180*Math.PI),this.shadowOffset*Math.sin(this.shadowAngle/180*Math.PI));X.beginPath();X.strokeStyle=aj;X.lineWidth=this.shadowWidth;X.arc(0,0,U,ac,aB,false);X.closePath();X.stroke()}X.restore();X.save();var az=parseInt((this.shadowDepth+1)/2,10);for(var aa=0;aa<az;aa++){X.translate(this.shadowOffset*Math.cos(this.shadowAngle/180*Math.PI),this.shadowOffset*Math.sin(this.shadowAngle/180*Math.PI));X.beginPath();X.fillStyle=aj;X.arc(0,0,this.hubRadius,B,af,false);X.closePath();X.fill()}X.restore();X.save();X.beginPath();X.strokeStyle=this.ringColor;X.lineWidth=this.ringWidth;X.arc(0,0,U,ac,aB,false);X.closePath();X.stroke();X.restore();X.save();X.beginPath();X.fillStyle=this.ringColor;X.arc(0,0,this.hubRadius,B,af,false);X.closePath();X.fill();X.restore();if(this.showTicks){X.save();var f=this.tickOuterRadius,aq=this.tickLength,v=aq/2,F=this.numberMinorTicks,am=this.span*Math.PI/180/(this.ticks.length-1),p=am/(F+1);for(aa=0;aa<this.ticks.length;aa++){X.beginPath();X.lineWidth=1.5+this.diameter/360;X.strokeStyle=this.ringColor;var ae=am*aa+aE;X.moveTo(-f*Math.cos(am*aa+aE),f*Math.sin(am*aa+aE));X.lineTo(-(f-aq)*Math.cos(am*aa+aE),(f-aq)*Math.sin(am*aa+aE));this._tickPoints.push([(f-aq)*Math.cos(am*aa+aE)+this._center[0]+this.canvas._offsets.left,(f-aq)*Math.sin(am*aa+aE)+this._center[1]+this.canvas._offsets.top,am*aa+aE]);X.stroke();X.lineWidth=1+this.diameter/440;if(aa<this.ticks.length-1){for(var Y=1;Y<=F;Y++){X.beginPath();X.moveTo(-f*Math.cos(am*aa+p*Y+aE),f*Math.sin(am*aa+p*Y+aE));X.lineTo(-(f-v)*Math.cos(am*aa+p*Y+aE),(f-v)*Math.sin(am*aa+p*Y+aE));X.stroke()}}}X.restore()}if(this.showTickLabels){var J,W,T,aO,g,G,n=0;var an=this.tickPadding*(1-1/(this.diameter/80+1));for(aa=0;aa<this.ticks.length;aa++){J=c('<div class="jqplot-meterGauge-tick" style="position:absolute;">'+this.ticks[aa][1]+"</div>");this.canvas._elem.after(J);aO=J.outerWidth(true);g=J.outerHeight(true);W=this._tickPoints[aa][0]-aO*(this._tickPoints[aa][2]-Math.PI)/Math.PI-an*Math.cos(this._tickPoints[aa][2]);T=this._tickPoints[aa][1]-g/2+g/2*Math.pow(Math.abs((Math.sin(this._tickPoints[aa][2]))),0.5)+an/3*Math.pow(Math.abs((Math.sin(this._tickPoints[aa][2]))),0.5);J.css({left:W,top:T,color:this.tickColor});G=aO*Math.cos(this._tickPoints[aa][2])+g*Math.sin(Math.PI/2+this._tickPoints[aa][2]/2);n=(G>n)?G:n}}if(this.label&&this.labelPosition=="inside"){var W=this._center[0]+this.canvas._offsets.left;var an=this.tickPadding*(1-1/(this.diameter/80+1));var T=0.5*(this._center[1]+this.canvas._offsets.top-this.hubRadius)+0.5*(this._center[1]+this.canvas._offsets.top-this.tickOuterRadius+this.tickLength+an)+this.labelHeightAdjust;W-=this._labelElem.outerWidth(true)/2;T-=this._labelElem.outerHeight(true)/2;this._labelElem.css({left:W,top:T})}else{if(this.label&&this.labelPosition=="bottom"){var W=this._center[0]+this.canvas._offsets.left-this._labelElem.outerWidth(true)/2;var T=this._center[1]+this.canvas._offsets.top+this.innerPad+this.ringWidth+this.padding+this.labelHeightAdjust;this._labelElem.css({left:W,top:T})}}X.save();var ax=this.intervalInnerRadius||this.hubRadius*1.5;if(this.intervalOuterRadius==null){if(this.showTickLabels){var ag=(this.tickOuterRadius-this.tickLength-this.tickPadding-this.diameter/8)}else{var ag=(this.tickOuterRadius-this.tickLength-this.diameter/16)}}else{var ag=this.intervalOuterRadius}var P=this.max-this.min;var aD=this.intervals[this.intervals.length-1]-this.min;var y,Z,u=this.span*Math.PI/180;for(aa=0;aa<this.intervals.length;aa++){y=(aa==0)?aE:aE+(this.intervals[aa-1][0]-this.min)*u/P;if(y<0){y=0}Z=aE+(this.intervals[aa][0]-this.min)*u/P;if(Z<0){Z=0}X.beginPath();X.fillStyle=this.intervals[aa][2];X.arc(0,0,ax,y,Z,false);X.lineTo(ag*Math.cos(Z),ag*Math.sin(Z));X.arc(0,0,ag,Z,y,true);X.lineTo(ax*Math.cos(y),ax*Math.sin(y));X.closePath();X.fill()}X.restore();var ay=this.data[0][1];var R=this.max-this.min;if(this.pegNeedle){if(this.data[0][1]>this.max+R*3/this.span){ay=this.max+R*3/this.span}if(this.data[0][1]<this.min-R*3/this.span){ay=this.min-R*3/this.span}}var al=(ay-this.min)/R*this.span*Math.PI/180+this.startAngle;X.save();X.beginPath();X.fillStyle=this.ringColor;X.strokeStyle=this.ringColor;this.needleLength=(this.tickOuterRadius-this.tickLength)*0.85;this.needleThickness=(this.needleThickness<2)?2:this.needleThickness;var aK=this.needleThickness*0.4;var x=this.needleLength/10;var s=(this.needleThickness-aK)/10;var ar;for(var aa=0;aa<10;aa++){ar=this.needleThickness-aa*s;X.moveTo(x*aa*Math.cos(al),x*aa*Math.sin(al));X.lineWidth=ar;X.lineTo(x*(aa+1)*Math.cos(al),x*(aa+1)*Math.sin(al));X.stroke()}X.restore()}else{this._center=[(K-at*ai)/2+at*ai,(S-at*ah)/2+at*ah]}};c.jqplot.MeterGaugeAxisRenderer=function(){c.jqplot.LinearAxisRenderer.call(this)};c.jqplot.MeterGaugeAxisRenderer.prototype=new c.jqplot.LinearAxisRenderer();c.jqplot.MeterGaugeAxisRenderer.prototype.constructor=c.jqplot.MeterGaugeAxisRenderer;c.jqplot.MeterGaugeAxisRenderer.prototype.init=function(e){this.tickRenderer=c.jqplot.MeterGaugeTickRenderer;c.extend(true,this,e);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};c.jqplot.MeterGaugeLegendRenderer=function(){c.jqplot.TableLegendRenderer.call(this)};c.jqplot.MeterGaugeLegendRenderer.prototype=new c.jqplot.TableLegendRenderer();c.jqplot.MeterGaugeLegendRenderer.prototype.constructor=c.jqplot.MeterGaugeLegendRenderer;c.jqplot.MeterGaugeLegendRenderer.prototype.init=function(e){this.numberRows=null;this.numberColumns=null;c.extend(true,this,e)};c.jqplot.MeterGaugeLegendRenderer.prototype.draw=function(){if(this.show){var p=this._series;var x="position:absolute;";x+=(this.background)?"background:"+this.background+";":"";x+=(this.border)?"border:"+this.border+";":"";x+=(this.fontSize)?"font-size:"+this.fontSize+";":"";x+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";x+=(this.textColor)?"color:"+this.textColor+";":"";x+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";x+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";x+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";x+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=c('<table class="jqplot-table-legend" style="'+x+'"></table>');var f=false,q=false,u,o;var w=p[0];if(w.show){var t=w.data;if(this.numberRows){u=this.numberRows;if(!this.numberColumns){o=Math.ceil(t.length/u)}else{o=this.numberColumns}}else{if(this.numberColumns){o=this.numberColumns;u=Math.ceil(t.length/this.numberColumns)}else{u=t.length;o=1}}var n,m,r,g,e,l,k,h;var v=0;for(n=0;n<u;n++){if(q){r=c('<tr class="jqplot-table-legend"></tr>').prependTo(this._elem)}else{r=c('<tr class="jqplot-table-legend"></tr>').appendTo(this._elem)}for(m=0;m<o;m++){if(v<t.length){l=this.labels[v]||t[v][0].toString();h=w.color;if(!q){if(n>0){f=true}else{f=false}}else{if(n==u-1){f=false}else{f=true}}k=(f)?this.rowSpacing:"0";g=c('<td class="jqplot-table-legend" style="text-align:center;padding-top:'+k+';"><div><div class="jqplot-table-legend-swatch" style="border-color:'+h+';"></div></div></td>');e=c('<td class="jqplot-table-legend" style="padding-top:'+k+';"></td>');if(this.escapeHtml){e.text(l)}else{e.html(l)}if(q){e.prependTo(r);g.prependTo(r)}else{g.appendTo(r);e.appendTo(r)}f=true}v++}}}}return this._elem};function a(j,h,f){f=f||{};f.axesDefaults=f.axesDefaults||{};f.legend=f.legend||{};f.seriesDefaults=f.seriesDefaults||{};f.grid=f.grid||{};var e=false;if(f.seriesDefaults.renderer==c.jqplot.MeterGaugeRenderer){e=true}else{if(f.series){for(var g=0;g<f.series.length;g++){if(f.series[g].renderer==c.jqplot.MeterGaugeRenderer){e=true}}}}if(e){f.axesDefaults.renderer=c.jqplot.MeterGaugeAxisRenderer;f.legend.renderer=c.jqplot.MeterGaugeLegendRenderer;f.legend.preDraw=true;f.grid.background=f.grid.background||"white";f.grid.drawGridlines=false;f.grid.borderWidth=(f.grid.borderWidth!=null)?f.grid.borderWidth:0;f.grid.shadow=(f.grid.shadow!=null)?f.grid.shadow:false}}function d(e){}c.jqplot.preInitHooks.push(a);c.jqplot.postParseOptionsHooks.push(d);c.jqplot.MeterGaugeTickRenderer=function(){c.jqplot.AxisTickRenderer.call(this)};c.jqplot.MeterGaugeTickRenderer.prototype=new c.jqplot.AxisTickRenderer();c.jqplot.MeterGaugeTickRenderer.prototype.constructor=c.jqplot.MeterGaugeTickRenderer})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.mobile.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.mobile.min.js
deleted file mode 100644
index 17f49708..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.mobile.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(b){function a(e,d,c){this.bindCustomEvents=function(){this.eventCanvas._elem.bind("vclick",{plot:this},this.onClick);this.eventCanvas._elem.bind("dblclick",{plot:this},this.onDblClick);this.eventCanvas._elem.bind("taphold",{plot:this},this.onDblClick);this.eventCanvas._elem.bind("vmousedown",{plot:this},this.onMouseDown);this.eventCanvas._elem.bind("vmousemove",{plot:this},this.onMouseMove);this.eventCanvas._elem.bind("mouseenter",{plot:this},this.onMouseEnter);this.eventCanvas._elem.bind("mouseleave",{plot:this},this.onMouseLeave);if(this.captureRightClick){this.eventCanvas._elem.bind("vmouseup",{plot:this},this.onRightClick);this.eventCanvas._elem.get(0).oncontextmenu=function(){return false}}else{this.eventCanvas._elem.bind("vmouseup",{plot:this},this.onMouseUp)}};this.plugins.mobile=true}b.jqplot.postInitHooks.push(a)})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.ohlcRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.ohlcRenderer.min.js
deleted file mode 100644
index 94faa96b..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.ohlcRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.OHLCRenderer=function(){a.jqplot.LineRenderer.call(this);this.candleStick=false;this.tickLength="auto";this.bodyWidth="auto";this.openColor=null;this.closeColor=null;this.wickColor=null;this.fillUpBody=false;this.fillDownBody=true;this.upBodyColor=null;this.downBodyColor=null;this.hlc=false;this.lineWidth=1.5;this._tickLength;this._bodyWidth};a.jqplot.OHLCRenderer.prototype=new a.jqplot.LineRenderer();a.jqplot.OHLCRenderer.prototype.constructor=a.jqplot.OHLCRenderer;a.jqplot.OHLCRenderer.prototype.init=function(e){e=e||{};this.lineWidth=e.lineWidth||1.5;a.jqplot.LineRenderer.prototype.init.call(this,e);this._type="ohlc";var b=this._yaxis._dataBounds;var f=this._plotData;if(f[0].length<5){this.renderer.hlc=true;for(var c=0;c<f.length;c++){if(f[c][2]<b.min||b.min==null){b.min=f[c][2]}if(f[c][1]>b.max||b.max==null){b.max=f[c][1]}}}else{for(var c=0;c<f.length;c++){if(f[c][3]<b.min||b.min==null){b.min=f[c][3]}if(f[c][2]>b.max||b.max==null){b.max=f[c][2]}}}};a.jqplot.OHLCRenderer.prototype.draw=function(A,N,j){var J=this.data;var v=this._xaxis.min;var z=this._xaxis.max;var l=0;var K=J.length;var p=this._xaxis.series_u2p;var G=this._yaxis.series_u2p;var D,E,f,M,F,n,O,C;var y;var u=this.renderer;var s=(j!=undefined)?j:{};var k=(s.shadow!=undefined)?s.shadow:this.shadow;var B=(s.fill!=undefined)?s.fill:this.fill;var c=(s.fillAndStroke!=undefined)?s.fillAndStroke:this.fillAndStroke;u.bodyWidth=(s.bodyWidth!=undefined)?s.bodyWidth:u.bodyWidth;u.tickLength=(s.tickLength!=undefined)?s.tickLength:u.tickLength;A.save();if(this.show){var m,q,g,Q,t;for(var D=0;D<J.length;D++){if(J[D][0]<v){l=D}else{if(J[D][0]<z){K=D+1}}}var I=this.gridData[K-1][0]-this.gridData[l][0];var L=K-l;try{var P=Math.abs(this._xaxis.series_u2p(parseInt(this._xaxis._intervalStats[0].sortedIntervals[0].interval,10))-this._xaxis.series_u2p(0))}catch(H){var P=I/L}if(u.candleStick){if(typeof(u.bodyWidth)=="number"){u._bodyWidth=u.bodyWidth}else{u._bodyWidth=Math.min(20,P/1.65)}}else{if(typeof(u.tickLength)=="number"){u._tickLength=u.tickLength}else{u._tickLength=Math.min(10,P/3.5)}}for(var D=l;D<K;D++){m=p(J[D][0]);if(u.hlc){q=null;g=G(J[D][1]);Q=G(J[D][2]);t=G(J[D][3])}else{q=G(J[D][1]);g=G(J[D][2]);Q=G(J[D][3]);t=G(J[D][4])}y={};if(u.candleStick&&!u.hlc){n=u._bodyWidth;O=m-n/2;if(t<q){if(u.wickColor){y.color=u.wickColor}else{if(u.downBodyColor){y.color=u.upBodyColor}}f=a.extend(true,{},s,y);u.shapeRenderer.draw(A,[[m,g],[m,t]],f);u.shapeRenderer.draw(A,[[m,q],[m,Q]],f);y={};M=t;F=q-t;if(u.fillUpBody){y.fillRect=true}else{y.strokeRect=true;n=n-this.lineWidth;O=m-n/2}if(u.upBodyColor){y.color=u.upBodyColor;y.fillStyle=u.upBodyColor}C=[O,M,n,F]}else{if(t>q){if(u.wickColor){y.color=u.wickColor}else{if(u.downBodyColor){y.color=u.downBodyColor}}f=a.extend(true,{},s,y);u.shapeRenderer.draw(A,[[m,g],[m,q]],f);u.shapeRenderer.draw(A,[[m,t],[m,Q]],f);y={};M=q;F=t-q;if(u.fillDownBody){y.fillRect=true}else{y.strokeRect=true;n=n-this.lineWidth;O=m-n/2}if(u.downBodyColor){y.color=u.downBodyColor;y.fillStyle=u.downBodyColor}C=[O,M,n,F]}else{if(u.wickColor){y.color=u.wickColor}f=a.extend(true,{},s,y);u.shapeRenderer.draw(A,[[m,g],[m,Q]],f);y={};y.fillRect=false;y.strokeRect=false;O=[m-n/2,q];M=[m+n/2,t];n=null;F=null;C=[O,M]}}f=a.extend(true,{},s,y);u.shapeRenderer.draw(A,C,f)}else{E=s.color;if(u.openColor){s.color=u.openColor}if(!u.hlc){u.shapeRenderer.draw(A,[[m-u._tickLength,q],[m,q]],s)}s.color=E;if(u.wickColor){s.color=u.wickColor}u.shapeRenderer.draw(A,[[m,g],[m,Q]],s);s.color=E;if(u.closeColor){s.color=u.closeColor}u.shapeRenderer.draw(A,[[m,t],[m+u._tickLength,t]],s);s.color=E}}}A.restore()};a.jqplot.OHLCRenderer.prototype.drawShadow=function(b,d,c){};a.jqplot.OHLCRenderer.checkOptions=function(d,c,b){if(!b.highlighter){b.highlighter={showMarker:false,tooltipAxes:"y",yvalues:4,formatString:'<table class="jqplot-highlighter"><tr><td>date:</td><td>%s</td></tr><tr><td>open:</td><td>%s</td></tr><tr><td>hi:</td><td>%s</td></tr><tr><td>low:</td><td>%s</td></tr><tr><td>close:</td><td>%s</td></tr></table>'}}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.pieRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.pieRenderer.min.js
deleted file mode 100644
index 5f08e619..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.pieRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(e){e.jqplot.PieRenderer=function(){e.jqplot.LineRenderer.call(this)};e.jqplot.PieRenderer.prototype=new e.jqplot.LineRenderer();e.jqplot.PieRenderer.prototype.constructor=e.jqplot.PieRenderer;e.jqplot.PieRenderer.prototype.init=function(q,u){this.diameter=null;this.padding=20;this.sliceMargin=0;this.fill=true;this.shadowOffset=2;this.shadowAlpha=0.07;this.shadowDepth=5;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.dataLabels="percent";this.showDataLabels=false;this.dataLabelFormatString=null;this.dataLabelThreshold=3;this.dataLabelPositionFactor=0.52;this.dataLabelNudge=2;this.dataLabelCenterOn=true;this.startAngle=0;this.tickRenderer=e.jqplot.PieTickRenderer;this._drawData=true;this._type="pie";if(q.highlightMouseDown&&q.highlightMouseOver==null){q.highlightMouseOver=false}e.extend(true,this,q);if(this.sliceMargin<0){this.sliceMargin=0}this._diameter=null;this._radius=null;this._sliceAngles=[];this._highlightedPoint=null;if(this.highlightColors.length==0){for(var s=0;s<this.seriesColors.length;s++){var r=e.jqplot.getColorComponents(this.seriesColors[s]);var o=[r[0],r[1],r[2]];var t=o[0]+o[1]+o[2];for(var p=0;p<3;p++){o[p]=(t>570)?o[p]*0.8:o[p]+0.3*(255-o[p]);o[p]=parseInt(o[p],10)}this.highlightColors.push("rgb("+o[0]+","+o[1]+","+o[2]+")")}}this.highlightColorGenerator=new e.jqplot.ColorGenerator(this.highlightColors);u.postParseOptionsHooks.addOnce(m);u.postInitHooks.addOnce(g);u.eventListenerHooks.addOnce("jqplotMouseMove",b);u.eventListenerHooks.addOnce("jqplotMouseDown",a);u.eventListenerHooks.addOnce("jqplotMouseUp",l);u.eventListenerHooks.addOnce("jqplotClick",f);u.eventListenerHooks.addOnce("jqplotRightClick",n);u.postDrawHooks.addOnce(i)};e.jqplot.PieRenderer.prototype.setGridData=function(t){var p=[];var u=[];var o=this.startAngle/180*Math.PI;var s=0;this._drawData=false;for(var r=0;r<this.data.length;r++){if(this.data[r][1]!=0){this._drawData=true}p.push(this.data[r][1]);u.push([this.data[r][0]]);if(r>0){p[r]+=p[r-1]}s+=this.data[r][1]}var q=Math.PI*2/p[p.length-1];for(var r=0;r<p.length;r++){u[r][1]=p[r]*q;u[r][2]=this.data[r][1]/s}this.gridData=u};e.jqplot.PieRenderer.prototype.makeGridData=function(t,u){var p=[];var v=[];var s=0;var o=this.startAngle/180*Math.PI;this._drawData=false;for(var r=0;r<t.length;r++){if(this.data[r][1]!=0){this._drawData=true}p.push(t[r][1]);v.push([t[r][0]]);if(r>0){p[r]+=p[r-1]}s+=t[r][1]}var q=Math.PI*2/p[p.length-1];for(var r=0;r<p.length;r++){v[r][1]=p[r]*q;v[r][2]=t[r][1]/s}return v};function h(o){return Math.sin((o-(o-Math.PI)/8/Math.PI)/2)}function j(u,t,o,v,r){var w=0;var q=t-u;var s=Math.abs(q);var p=o;if(v==false){p+=r}if(p>0&&s>0.01&&s<6.282){w=parseFloat(p)/2/h(q)}return w}e.jqplot.PieRenderer.prototype.drawSlice=function(B,z,y,u,w){if(this._drawData){var p=this._radius;var A=this.fill;var x=this.lineWidth;var s=this.sliceMargin;if(this.fill==false){s+=this.lineWidth}B.save();B.translate(this._center[0],this._center[1]);var D=j(z,y,this.sliceMargin,this.fill,this.lineWidth);var o=D*Math.cos((z+y)/2);var C=D*Math.sin((z+y)/2);if((y-z)<=Math.PI){p-=D}else{p+=D}B.translate(o,C);if(w){for(var v=0,t=this.shadowDepth;v<t;v++){B.save();B.translate(this.shadowOffset*Math.cos(this.shadowAngle/180*Math.PI),this.shadowOffset*Math.sin(this.shadowAngle/180*Math.PI));q(p)}for(var v=0,t=this.shadowDepth;v<t;v++){B.restore()}}else{q(p)}B.restore()}function q(r){if(y>6.282+this.startAngle){y=6.282+this.startAngle;if(z>y){z=6.281+this.startAngle}}if(z>=y){return}B.beginPath();B.fillStyle=u;B.strokeStyle=u;B.lineWidth=x;B.arc(0,0,r,z,y,false);B.lineTo(0,0);B.closePath();if(A){B.fill()}else{B.stroke()}}};e.jqplot.PieRenderer.prototype.draw=function(B,z,E,o){var W;var H=(E!=undefined)?E:{};var t=0;var s=0;var N=1;var L=new e.jqplot.ColorGenerator(this.seriesColors);if(E.legendInfo&&E.legendInfo.placement=="insideGrid"){var J=E.legendInfo;switch(J.location){case"nw":t=J.width+J.xoffset;break;case"w":t=J.width+J.xoffset;break;case"sw":t=J.width+J.xoffset;break;case"ne":t=J.width+J.xoffset;N=-1;break;case"e":t=J.width+J.xoffset;N=-1;break;case"se":t=J.width+J.xoffset;N=-1;break;case"n":s=J.height+J.yoffset;break;case"s":s=J.height+J.yoffset;N=-1;break;default:break}}var K=(H.shadow!=undefined)?H.shadow:this.shadow;var A=(H.fill!=undefined)?H.fill:this.fill;var C=B.canvas.width;var I=B.canvas.height;var Q=C-t-2*this.padding;var X=I-s-2*this.padding;var M=Math.min(Q,X);var Y=M;this._sliceAngles=[];var v=this.sliceMargin;if(this.fill==false){v+=this.lineWidth}var q;var G=0;var R,aa,Z,ab;var D=this.startAngle/180*Math.PI;for(var W=0,V=z.length;W<V;W++){aa=(W==0)?D:z[W-1][1]+D;Z=z[W][1]+D;this._sliceAngles.push([aa,Z]);q=j(aa,Z,this.sliceMargin,this.fill,this.lineWidth);if(Math.abs(Z-aa)>Math.PI){G=Math.max(q,G)}}if(this.diameter!=null&&this.diameter>0){this._diameter=this.diameter-2*G}else{this._diameter=Y-2*G}if(this._diameter<6){e.jqplot.log("Diameter of pie too small, not rendering.");return}var S=this._radius=this._diameter/2;this._center=[(C-N*t)/2+N*t+G*Math.cos(D),(I-N*s)/2+N*s+G*Math.sin(D)];if(this.shadow){for(var W=0,V=z.length;W<V;W++){ab="rgba(0,0,0,"+this.shadowAlpha+")";this.renderer.drawSlice.call(this,B,this._sliceAngles[W][0],this._sliceAngles[W][1],ab,true)}}for(var W=0;W<z.length;W++){this.renderer.drawSlice.call(this,B,this._sliceAngles[W][0],this._sliceAngles[W][1],L.next(),false);if(this.showDataLabels&&z[W][2]*100>=this.dataLabelThreshold){var F,U=(this._sliceAngles[W][0]+this._sliceAngles[W][1])/2,T;if(this.dataLabels=="label"){F=this.dataLabelFormatString||"%s";T=e.jqplot.sprintf(F,z[W][0])}else{if(this.dataLabels=="value"){F=this.dataLabelFormatString||"%d";T=e.jqplot.sprintf(F,this.data[W][1])}else{if(this.dataLabels=="percent"){F=this.dataLabelFormatString||"%d%%";T=e.jqplot.sprintf(F,z[W][2]*100)}else{if(this.dataLabels.constructor==Array){F=this.dataLabelFormatString||"%s";T=e.jqplot.sprintf(F,this.dataLabels[W])}}}}var p=(this._radius)*this.dataLabelPositionFactor+this.sliceMargin+this.dataLabelNudge;var P=this._center[0]+Math.cos(U)*p+this.canvas._offsets.left;var O=this._center[1]+Math.sin(U)*p+this.canvas._offsets.top;var u=e('<div class="jqplot-pie-series jqplot-data-label" style="position:absolute;">'+T+"</div>").insertBefore(o.eventCanvas._elem);if(this.dataLabelCenterOn){P-=u.width()/2;O-=u.height()/2}else{P-=u.width()*Math.sin(U/2);O-=u.height()/2}P=Math.round(P);O=Math.round(O);u.css({left:P,top:O})}}};e.jqplot.PieAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.PieAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.PieAxisRenderer.prototype.constructor=e.jqplot.PieAxisRenderer;e.jqplot.PieAxisRenderer.prototype.init=function(o){this.tickRenderer=e.jqplot.PieTickRenderer;e.extend(true,this,o);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};e.jqplot.PieLegendRenderer=function(){e.jqplot.TableLegendRenderer.call(this)};e.jqplot.PieLegendRenderer.prototype=new e.jqplot.TableLegendRenderer();e.jqplot.PieLegendRenderer.prototype.constructor=e.jqplot.PieLegendRenderer;e.jqplot.PieLegendRenderer.prototype.init=function(o){this.numberRows=null;this.numberColumns=null;e.extend(true,this,o)};e.jqplot.PieLegendRenderer.prototype.draw=function(){var r=this;if(this.show){var B=this._series;this._elem=e(document.createElement("table"));this._elem.addClass("jqplot-table-legend");var E={position:"absolute"};if(this.background){E.background=this.background}if(this.border){E.border=this.border}if(this.fontSize){E.fontSize=this.fontSize}if(this.fontFamily){E.fontFamily=this.fontFamily}if(this.textColor){E.textColor=this.textColor}if(this.marginTop!=null){E.marginTop=this.marginTop}if(this.marginBottom!=null){E.marginBottom=this.marginBottom}if(this.marginLeft!=null){E.marginLeft=this.marginLeft}if(this.marginRight!=null){E.marginRight=this.marginRight}this._elem.css(E);var I=false,A=false,o,y;var C=B[0];var p=new e.jqplot.ColorGenerator(C.seriesColors);if(C.show){var J=C.data;if(this.numberRows){o=this.numberRows;if(!this.numberColumns){y=Math.ceil(J.length/o)}else{y=this.numberColumns}}else{if(this.numberColumns){y=this.numberColumns;o=Math.ceil(J.length/this.numberColumns)}else{o=J.length;y=1}}var H,G;var q,w,v;var x,z,F;var D=0;var u,t;for(H=0;H<o;H++){q=e(document.createElement("tr"));q.addClass("jqplot-table-legend");if(A){q.prependTo(this._elem)}else{q.appendTo(this._elem)}for(G=0;G<y;G++){if(D<J.length){x=this.labels[D]||J[D][0].toString();F=p.next();if(!A){if(H>0){I=true}else{I=false}}else{if(H==o-1){I=false}else{I=true}}z=(I)?this.rowSpacing:"0";w=e(document.createElement("td"));w.addClass("jqplot-table-legend jqplot-table-legend-swatch");w.css({textAlign:"center",paddingTop:z});u=e(document.createElement("div"));u.addClass("jqplot-table-legend-swatch-outline");t=e(document.createElement("div"));t.addClass("jqplot-table-legend-swatch");t.css({backgroundColor:F,borderColor:F});w.append(u.append(t));v=e(document.createElement("td"));v.addClass("jqplot-table-legend jqplot-table-legend-label");v.css("paddingTop",z);if(this.escapeHtml){v.text(x)}else{v.html(x)}if(A){v.prependTo(q);w.prependTo(q)}else{w.appendTo(q);v.appendTo(q)}I=true}D++}}}}return this._elem};e.jqplot.PieRenderer.prototype.handleMove=function(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];r.target.trigger("jqplotDataMouseOver",o);if(r.series[o[0]].highlightMouseOver&&!(o[0]==r.plugins.pieRenderer.highlightedSeriesIndex&&o[1]==r.series[o[0]]._highlightedPoint)){r.target.trigger("jqplotDataHighlight",o);d(r,o[0],o[1])}}else{if(s==null){k(r)}}};function c(s,r,p){p=p||{};p.axesDefaults=p.axesDefaults||{};p.legend=p.legend||{};p.seriesDefaults=p.seriesDefaults||{};var o=false;if(p.seriesDefaults.renderer==e.jqplot.PieRenderer){o=true}else{if(p.series){for(var q=0;q<p.series.length;q++){if(p.series[q].renderer==e.jqplot.PieRenderer){o=true}}}}if(o){p.axesDefaults.renderer=e.jqplot.PieAxisRenderer;p.legend.renderer=e.jqplot.PieLegendRenderer;p.legend.preDraw=true;p.seriesDefaults.pointLabels={show:false}}}function g(r,q,o){for(var p=0;p<this.series.length;p++){if(this.series[p].renderer.constructor==e.jqplot.PieRenderer){if(this.series[p].highlightMouseOver){this.series[p].highlightMouseDown=false}}}}function m(o){for(var p=0;p<this.series.length;p++){this.series[p].seriesColors=this.seriesColors;this.series[p].colorGenerator=e.jqplot.colorGenerator}}function d(t,r,q){var p=t.series[r];var o=t.plugins.pieRenderer.highlightCanvas;o._ctx.clearRect(0,0,o._ctx.canvas.width,o._ctx.canvas.height);p._highlightedPoint=q;t.plugins.pieRenderer.highlightedSeriesIndex=r;p.renderer.drawSlice.call(p,o._ctx,p._sliceAngles[q][0],p._sliceAngles[q][1],p.highlightColorGenerator.get(q),false)}function k(q){var o=q.plugins.pieRenderer.highlightCanvas;o._ctx.clearRect(0,0,o._ctx.canvas.width,o._ctx.canvas.height);for(var p=0;p<q.series.length;p++){q.series[p]._highlightedPoint=null}q.plugins.pieRenderer.highlightedSeriesIndex=null;q.target.trigger("jqplotDataUnhighlight")}function b(s,r,v,u,t){if(u){var q=[u.seriesIndex,u.pointIndex,u.data];var p=jQuery.Event("jqplotDataMouseOver");p.pageX=s.pageX;p.pageY=s.pageY;t.target.trigger(p,q);if(t.series[q[0]].highlightMouseOver&&!(q[0]==t.plugins.pieRenderer.highlightedSeriesIndex&&q[1]==t.series[q[0]]._highlightedPoint)){var o=jQuery.Event("jqplotDataHighlight");o.which=s.which;o.pageX=s.pageX;o.pageY=s.pageY;t.target.trigger(o,q);d(t,q[0],q[1])}}else{if(u==null){k(t)}}}function a(r,q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];if(s.series[p[0]].highlightMouseDown&&!(p[0]==s.plugins.pieRenderer.highlightedSeriesIndex&&p[1]==s.series[p[0]]._highlightedPoint)){var o=jQuery.Event("jqplotDataHighlight");o.which=r.which;o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p);d(s,p[0],p[1])}}else{if(t==null){k(s)}}}function l(q,p,t,s,r){var o=r.plugins.pieRenderer.highlightedSeriesIndex;if(o!=null&&r.series[o].highlightMouseDown){k(r)}}function f(r,q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];var o=jQuery.Event("jqplotDataClick");o.which=r.which;o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p)}}function n(s,r,v,u,t){if(u){var q=[u.seriesIndex,u.pointIndex,u.data];var o=t.plugins.pieRenderer.highlightedSeriesIndex;if(o!=null&&t.series[o].highlightMouseDown){k(t)}var p=jQuery.Event("jqplotDataRightClick");p.which=s.which;p.pageX=s.pageX;p.pageY=s.pageY;t.target.trigger(p,q)}}function i(){if(this.plugins.pieRenderer&&this.plugins.pieRenderer.highlightCanvas){this.plugins.pieRenderer.highlightCanvas.resetCanvas();this.plugins.pieRenderer.highlightCanvas=null}this.plugins.pieRenderer={highlightedSeriesIndex:null};this.plugins.pieRenderer.highlightCanvas=new e.jqplot.GenericCanvas();var p=e(this.targetId+" .jqplot-data-label");if(p.length){e(p[0]).before(this.plugins.pieRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-pieRenderer-highlight-canvas",this._plotDimensions,this))}else{this.eventCanvas._elem.before(this.plugins.pieRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-pieRenderer-highlight-canvas",this._plotDimensions,this))}var o=this.plugins.pieRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(q){k(q.data.plot)})}e.jqplot.preInitHooks.push(c);e.jqplot.PieTickRenderer=function(){e.jqplot.AxisTickRenderer.call(this)};e.jqplot.PieTickRenderer.prototype=new e.jqplot.AxisTickRenderer();e.jqplot.PieTickRenderer.prototype.constructor=e.jqplot.PieTickRenderer})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.pointLabels.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.pointLabels.min.js
deleted file mode 100644
index 54810c18..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.pointLabels.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(c){c.jqplot.PointLabels=function(e){this.show=c.jqplot.config.enablePlugins;this.location="n";this.labelsFromSeries=false;this.seriesLabelIndex=null;this.labels=[];this._labels=[];this.stackedValue=false;this.ypadding=6;this.xpadding=6;this.escapeHTML=true;this.edgeTolerance=-5;this.formatter=c.jqplot.DefaultTickFormatter;this.formatString="";this.hideZeros=false;this._elems=[];c.extend(true,this,e)};var a=["nw","n","ne","e","se","s","sw","w"];var d={nw:0,n:1,ne:2,e:3,se:4,s:5,sw:6,w:7};var b=["se","s","sw","w","nw","n","ne","e"];c.jqplot.PointLabels.init=function(j,h,f,g,i){var e=c.extend(true,{},f,g);e.pointLabels=e.pointLabels||{};if(this.renderer.constructor===c.jqplot.BarRenderer&&this.barDirection==="horizontal"&&!e.pointLabels.location){e.pointLabels.location="e"}this.plugins.pointLabels=new c.jqplot.PointLabels(e.pointLabels);this.plugins.pointLabels.setLabels.call(this)};c.jqplot.PointLabels.prototype.setLabels=function(){var f=this.plugins.pointLabels;var h;if(f.seriesLabelIndex!=null){h=f.seriesLabelIndex}else{if(this.renderer.constructor===c.jqplot.BarRenderer&&this.barDirection==="horizontal"){h=(this._plotData[0].length<3)?0:this._plotData[0].length-1}else{h=(this._plotData.length===0)?0:this._plotData[0].length-1}}f._labels=[];if(f.labels.length===0||f.labelsFromSeries){if(f.stackedValue){if(this._plotData.length&&this._plotData[0].length){for(var e=0;e<this._plotData.length;e++){f._labels.push(this._plotData[e][h])}}}else{var g=this.data;if(this.renderer.constructor===c.jqplot.BarRenderer&&this.waterfall){g=this._data}if(g.length&&g[0].length){for(var e=0;e<g.length;e++){f._labels.push(g[e][h])}}g=null}}else{if(f.labels.length){f._labels=f.labels}}};c.jqplot.PointLabels.prototype.xOffset=function(f,e,g){e=e||this.location;g=g||this.xpadding;var h;switch(e){case"nw":h=-f.outerWidth(true)-this.xpadding;break;case"n":h=-f.outerWidth(true)/2;break;case"ne":h=this.xpadding;break;case"e":h=this.xpadding;break;case"se":h=this.xpadding;break;case"s":h=-f.outerWidth(true)/2;break;case"sw":h=-f.outerWidth(true)-this.xpadding;break;case"w":h=-f.outerWidth(true)-this.xpadding;break;default:h=-f.outerWidth(true)-this.xpadding;break}return h};c.jqplot.PointLabels.prototype.yOffset=function(f,e,g){e=e||this.location;g=g||this.xpadding;var h;switch(e){case"nw":h=-f.outerHeight(true)-this.ypadding;break;case"n":h=-f.outerHeight(true)-this.ypadding;break;case"ne":h=-f.outerHeight(true)-this.ypadding;break;case"e":h=-f.outerHeight(true)/2;break;case"se":h=this.ypadding;break;case"s":h=this.ypadding;break;case"sw":h=this.ypadding;break;case"w":h=-f.outerHeight(true)/2;break;default:h=-f.outerHeight(true)-this.ypadding;break}return h};c.jqplot.PointLabels.draw=function(x,j,v){var t=this.plugins.pointLabels;t.setLabels.call(this);for(var w=0;w<t._elems.length;w++){t._elems[w].emptyForce()}t._elems.splice(0,t._elems.length);if(t.show){var r="_"+this._stackAxis+"axis";if(!t.formatString){t.formatString=this[r]._ticks[0].formatString;t.formatter=this[r]._ticks[0].formatter}var E=this._plotData;var D=this._prevPlotData;var A=this._xaxis;var q=this._yaxis;var z,f;for(var w=0,u=t._labels.length;w<u;w++){var o=t._labels[w];if(o==null||(t.hideZeros&&parseInt(o,10)==0)){continue}o=t.formatter(t.formatString,o);f=document.createElement("div");t._elems[w]=c(f);z=t._elems[w];z.addClass("jqplot-point-label jqplot-series-"+this.index+" jqplot-point-"+w);z.css("position","absolute");z.insertAfter(x.canvas);if(t.escapeHTML){z.text(o)}else{z.html(o)}var g=t.location;if((this.fillToZero&&E[w][1]<0)||(this.fillToZero&&this._type==="bar"&&this.barDirection==="horizontal"&&E[w][0]<0)||(this.waterfall&&parseInt(o,10))<0){g=b[d[g]]}var n=A.u2p(E[w][0])+t.xOffset(z,g);var h=q.u2p(E[w][1])+t.yOffset(z,g);if(this._stack&&!t.stackedValue){if(this.barDirection==="vertical"){h=(this._barPoints[w][0][1]+this._barPoints[w][1][1])/2+v._gridPadding.top-0.5*z.outerHeight(true)}else{n=(this._barPoints[w][2][0]+this._barPoints[w][0][0])/2+v._gridPadding.left-0.5*z.outerWidth(true)}}if(this.renderer.constructor==c.jqplot.BarRenderer){if(this.barDirection=="vertical"){n+=this._barNudge}else{h-=this._barNudge}}z.css("left",n);z.css("top",h);var k=n+z.width();var s=h+z.height();var C=t.edgeTolerance;var e=c(x.canvas).position().left;var y=c(x.canvas).position().top;var B=x.canvas.width+e;var m=x.canvas.height+y;if(n-C<e||h-C<y||k+C>B||s+C>m){z.remove()}z=null;f=null}}};c.jqplot.postSeriesInitHooks.push(c.jqplot.PointLabels.init);c.jqplot.postDrawSeriesHooks.push(c.jqplot.PointLabels.draw)})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js
deleted file mode 100644
index e559ddc9..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(e){e.jqplot.PyramidAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.PyramidAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.PyramidAxisRenderer.prototype.constructor=e.jqplot.PyramidAxisRenderer;e.jqplot.PyramidAxisRenderer.prototype.init=function(f){this.position=null;this.drawBaseline=true;this.baselineWidth=null;this.baselineColor=null;this.tickSpacingFactor=25;this._type="pyramid";this._splitAxis=false;this._splitLength=null;this.category=false;this._autoFormatString="";this._overrideFormatString=false;e.extend(true,this,f);this.renderer.options=f;this.resetDataBounds=this.renderer.resetDataBounds;this.resetDataBounds()};e.jqplot.PyramidAxisRenderer.prototype.resetDataBounds=function(){var h=this._dataBounds;h.min=null;h.max=null;var g;for(var m=0;m<this._series.length;m++){var n=this._series[m];var o=n._plotData;for(var k=0,f=o.length;k<f;k++){if(this.name.charAt(0)==="x"){g=o[k][1];if((g!==null&&g<h.min)||h.min===null){h.min=g}if((g!==null&&g>h.max)||h.max===null){h.max=g}}else{g=o[k][0];if((g!==null&&g<h.min)||h.min===null){h.min=g}if((g!==null&&g>h.max)||h.max===null){h.max=g}}}}};e.jqplot.PyramidAxisRenderer.prototype.draw=function(f,n){if(this.show){this.renderer.createTicks.call(this,n);var m=0;var g;if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=e(document.createElement("div"));this._elem.addClass("jqplot-axis jqplot-"+this.name);this._elem.css("position","absolute");if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var l=this._label.draw(f,n);l.appendTo(this._elem);l=null}var k=this._ticks;var j;for(var h=0;h<k.length;h++){j=k[h];if(j.show&&j.showLabel&&(!j.isMinorTick)){this._elem.append(j.draw(f,n))}}j=null;k=null}return this._elem};var b=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var d={};for(var c=0,a=b.length;c<a;c++){d[b[c]]=b[c]}e.jqplot.PyramidAxisRenderer.prototype.createTicks=function(D){var J=this.ticks;var M=this._dataBounds;var E;var K;var B;var G;var y;var n;var k;var h;var H;var C;var x;var L=this.min;var N=this.max;var q;var v;var m;var g;var j;var O;var A;var F;var r;var P;var z=null;var I;if(J.length){for(H=0,C=J.length;H<C;H++){q=J[H];v=new this.tickRenderer(this.tickOptions);if(e.isArray(q)){v.value=q[0];v.label=q[1];v.setTick(q[0],this.name);this._ticks.push(v)}else{if(e.isPlainObject(q)){e.extend(true,v,q);v.axis=this.name;this._ticks.push(v)}else{if(typeof q==="string"){P=H+D.defaultAxisStart}else{P=q}v.value=P;v.label=q;v.axis=this.name;this._ticks.push(v)}}}this.numberTicks=J.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value;this.tickInterval=(this.max-this.min)/(this.numberTicks-1);if(this._options.tickInterval){var o=this._options.tickInterval;for(H=0;H<this.numberTicks;H++){if(H%o!==0){this._ticks[H].isMinorTick=true}}}else{E=(this.name.charAt(0)==="x")?this._plotDimensions.width:this._plotDimensions.height;r=Math.round(2+E/this.tickSpacingFactor);if(this.numberTicks>r){I=this.numberTicks-1;for(H=2;H<I;H++){if(I%H===0&&I/H<r){z=H-1;break}}if(z!==null){var p=1;for(H=1,C=this._ticks.length;H<C;H++){if(p<=z){this._ticks[H].show=false;p+=1}else{p=1}}}}}I=[];if(this.category){this._ticks[0].showGridline=false;this._ticks[0].showMark=false;for(H=this._ticks.length-1;H>0;H--){v=new this.tickRenderer(this.tickOptions);v.value=this._ticks[H-1].value+this.tickInterval/2;v.label="";v.showLabel=false;v.axis=this.name;this._ticks[H].showGridline=false;this._ticks[H].showMark=false;this._ticks.splice(H,0,v)}v=new this.tickRenderer(this.tickOptions);v.value=this._ticks[0].value-this.tickInterval/2;v.label="";v.showLabel=false;v.axis=this.name;this._ticks.unshift(v);v=new this.tickRenderer(this.tickOptions);v.value=this._ticks[this._ticks.length-1].value+this.tickInterval/2;v.label="";v.showLabel=false;v.axis=this.name;this._ticks.push(v);this.tickInterval=this.tickInterval/2;this.numberTicks=this._ticks.length;this.min=this._ticks[0].value;this.max=this._ticks[this._ticks.length-1].value}}else{if(this.name.charAt(0)==="x"){E=this._plotDimensions.width;var w=Math.max(M.max,Math.abs(M.min));var u=Math.min(M.min,-w);B=u;G=w;y=G-B;if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}m=30;g=Math.max(E,m+1);j=(g-m)/300;O=e.jqplot.LinearTickGenerator(B,G,j);A=B+y*(this.padMin-1);F=G-y*(this.padMax-1);if(B<A||G>F){A=B-y*(this.padMin-1);F=G+y*(this.padMax-1);O=e.jqplot.LinearTickGenerator(A,F,j)}this.min=O[0];this.max=O[1];this.numberTicks=O[2];this._autoFormatString=O[3];this.tickInterval=O[4]}else{E=this._plotDimensions.height;B=M.min;G=M.max;x=this._series[0];this._ticks=[];y=G-B;if(d[y]){y+=1;G+=1}this.max=G;this.min=B;r=Math.round(2+E/this.tickSpacingFactor);if(y+1<=r){this.numberTicks=y+1;this.tickInterval=1}else{for(var H=r;H>1;H--){if(y/(H-1)===Math.round(y/(H-1))){this.numberTicks=H;this.tickInterval=y/(H-1);break}}}}if(this._overrideFormatString&&this._autoFormatString!=""){this.tickOptions=this.tickOptions||{};this.tickOptions.formatString=this._autoFormatString}var f;for(H=0;H<this.numberTicks;H++){this.tickOptions.axis=this.name;f=this.min+this.tickInterval*H;if(this.name.charAt(0)==="x"){f=Math.abs(f)}this.tickOptions.value=this.min+this.tickInterval*H;v=new this.tickRenderer(this.tickOptions);v.label=v.prefix+v.formatter(v.formatString,f);this._ticks.push(v);if(this.name.charAt(0)==="x"&&D.axes.yMidAxis.show&&this.tickOptions.value===0){this._splitAxis=true;this._splitLength=D.axes.yMidAxis.getWidth();v=new this.tickRenderer(this.tickOptions);this._ticks.push(v);v.value=this.max/2000}}v=null}};e.jqplot.PyramidAxisRenderer.prototype.set=function(){var o=0;var j;var g=0;var n=0;var m;var l;var k;var f=(this._label==null)?false:this._label.show;if(this.show){l=this._ticks;a=l.length;for(m=0;m<a;m++){k=l[m];if(!k._breakTick&&k.show&&k.showLabel&&!k.isMinorTick){if(this.name.charAt(0)==="x"){j=k._elem.outerHeight(true)}else{j=k._elem.outerWidth(true)}if(j>o){o=j}}}if(this.name==="yMidAxis"){for(m=0;m<a;m++){k=l[m];if(k._elem){j=(o-k._elem.outerWidth(true))/2;k._elem.css("left",j)}}}k=null;l=null;if(f){g=this._label._elem.outerWidth(true);n=this._label._elem.outerHeight(true)}if(this.name==="xaxis"){o=o+n;this._elem.css({height:o+"px",left:"0px",bottom:"0px"})}else{if(this.name==="x2axis"){o=o+n;this._elem.css({height:o+"px",left:"0px",top:"0px"})}else{if(this.name==="yaxis"){o=o+g;this._elem.css({width:o+"px",left:"0px",top:"0px"});if(f&&this._label.constructor==e.jqplot.AxisLabelRenderer){this._label._elem.css("width",g+"px")}}else{if(this.name==="yMidAxis"){var j=o/2-g/2;this._elem.css({width:o+"px",top:"0px"});if(f&&this._label.constructor==e.jqplot.AxisLabelRenderer){this._label._elem.css({width:g,left:j,top:0})}}else{o=o+g;this._elem.css({width:o+"px",right:"0px",top:"0px"});if(f&&this._label.constructor==e.jqplot.AxisLabelRenderer){this._label._elem.css("width",g+"px")}}}}}}};e.jqplot.PyramidAxisRenderer.prototype.pack=function(j,g){j=j||{};g=g||this._offsets;var B=this._ticks;var v=this.max;var u=this.min;var o=g.max;var m=g.min;var r=(this._label==null)?false:this._label.show;for(var s in j){this._elem.css(s,j[s])}this._offsets=g;var k=o-m;var l=v-u;var z=this._splitLength;if(this._splitAxis){k-=this._splitLength;this.p2u=function(h){return(h-m)*l/k+u};this.u2p=function(h){if(h<=0){return(h-u)*k/l+m}else{return(h-u)*k/l+m+z}};this.series_u2p=function(h){if(h<=0){return(h-u)*k/l}else{return(h-u)*k/l+z}};this.series_p2u=function(h){return h*l/k+u}}else{this.p2u=function(h){return(h-m)*l/k+u};this.u2p=function(h){return(h-u)*k/l+m};if(this.name.charAt(0)==="x"){this.series_u2p=function(h){return(h-u)*k/l};this.series_p2u=function(h){return h*l/k+u}}else{this.series_u2p=function(h){return(h-v)*k/l};this.series_p2u=function(h){return h*l/k+v}}}if(this.show){if(this.name.charAt(0)==="x"){for(var x=0;x<B.length;x++){var q=B[x];if(q.show&&q.showLabel){var f;if(q.constructor==e.jqplot.CanvasAxisTickRenderer&&q.angle){var A=(this.name=="xaxis")?1:-1;switch(q.labelPosition){case"auto":if(A*q.angle<0){f=-q.getWidth()+q._textRenderer.height*Math.sin(-q._textRenderer.angle)/2}else{f=-q._textRenderer.height*Math.sin(q._textRenderer.angle)/2}break;case"end":f=-q.getWidth()+q._textRenderer.height*Math.sin(-q._textRenderer.angle)/2;break;case"start":f=-q._textRenderer.height*Math.sin(q._textRenderer.angle)/2;break;case"middle":f=-q.getWidth()/2+q._textRenderer.height*Math.sin(-q._textRenderer.angle)/2;break;default:f=-q.getWidth()/2+q._textRenderer.height*Math.sin(-q._textRenderer.angle)/2;break}}else{f=-q.getWidth()/2}var C=this.u2p(q.value)+f+"px";q._elem.css("left",C);q.pack()}}if(r){var n=this._label._elem.outerWidth(true);this._label._elem.css("left",m+k/2-n/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px")}else{this._label._elem.css("top","0px")}this._label.pack()}}else{for(var x=0;x<B.length;x++){var q=B[x];if(q.show&&q.showLabel&&!q.isMinorTick){var f;if(q.constructor==e.jqplot.CanvasAxisTickRenderer&&q.angle){var A=(this.name=="yaxis")?1:-1;switch(q.labelPosition){case"auto":case"end":if(A*q.angle<0){f=-q._textRenderer.height*Math.cos(-q._textRenderer.angle)/2}else{f=-q.getHeight()+q._textRenderer.height*Math.cos(q._textRenderer.angle)/2}break;case"start":if(q.angle>0){f=-q._textRenderer.height*Math.cos(-q._textRenderer.angle)/2}else{f=-q.getHeight()+q._textRenderer.height*Math.cos(q._textRenderer.angle)/2}break;case"middle":f=-q.getHeight()/2;break;default:f=-q.getHeight()/2;break}}else{f=-q.getHeight()/2}var C=this.u2p(q.value)+f+"px";q._elem.css("top",C);q.pack()}}if(r){var y=this._label._elem.outerHeight(true);if(this.name!=="yMidAxis"){this._label._elem.css("top",o-k/2-y/2+"px")}if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{if(this.name!=="yMidAxis"){this._label._elem.css("right","0px")}}this._label.pack()}}}B=null}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js
deleted file mode 100644
index e2837a6c..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(a){a.jqplot.PyramidGridRenderer=function(){a.jqplot.CanvasGridRenderer.call(this)};a.jqplot.PyramidGridRenderer.prototype=new a.jqplot.CanvasGridRenderer();a.jqplot.PyramidGridRenderer.prototype.constructor=a.jqplot.PyramidGridRenderer;a.jqplot.CanvasGridRenderer.prototype.init=function(c){this._ctx;this.plotBands={show:false,color:"rgb(230, 219, 179)",axis:"y",start:null,interval:10};a.extend(true,this,c);var b={lineJoin:"miter",lineCap:"round",fill:false,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.shadowWidth,closePath:false,strokeStyle:this.shadowColor};this.renderer.shadowRenderer.init(b)};a.jqplot.PyramidGridRenderer.prototype.draw=function(){this._ctx=this._elem.get(0).getContext("2d");var D=this._ctx;var G=this._axes;var q=G.xaxis.u2p;var J=G.yMidAxis.u2p;var l=G.xaxis.max/1000;var u=q(0);var f=q(l);var r=["xaxis","yaxis","x2axis","y2axis","yMidAxis"];D.save();D.clearRect(0,0,this._plotDimensions.width,this._plotDimensions.height);D.fillStyle=this.backgroundColor||this.background;D.fillRect(this._left,this._top,this._width,this._height);if(this.plotBands.show){D.save();var c=this.plotBands;D.fillStyle=c.color;var d;var o,n,p,I;if(c.axis.charAt(0)==="x"){if(G.xaxis.show){d=G.xaxis}}else{if(c.axis.charAt(0)==="y"){if(G.yaxis.show){d=G.yaxis}else{if(G.y2axis.show){d=G.y2axis}else{if(G.yMidAxis.show){d=G.yMidAxis}}}}}if(d!==undefined){var g=c.start;if(g===null){g=d.min}for(var H=g;H<d.max;H+=2*c.interval){if(d.name.charAt(0)==="y"){o=this._left;if((H+c.interval)<d.max){n=d.series_u2p(H+c.interval)+this._top}else{n=d.series_u2p(d.max)+this._top}p=this._right-this._left;I=d.series_u2p(g)-d.series_u2p(g+c.interval);D.fillRect(o,n,p,I)}}}D.restore()}D.save();D.lineJoin="miter";D.lineCap="butt";D.lineWidth=this.gridLineWidth;D.strokeStyle=this.gridLineColor;var L,K,A,C;for(var H=5;H>0;H--){var O=r[H-1];var d=G[O];var M=d._ticks;var B=M.length;if(d.show){if(d.drawBaseline){var N={};if(d.baselineWidth!==null){N.lineWidth=d.baselineWidth}if(d.baselineColor!==null){N.strokeStyle=d.baselineColor}switch(O){case"xaxis":if(G.yMidAxis.show){z(this._left,this._bottom,u,this._bottom,N);z(f,this._bottom,this._right,this._bottom,N)}else{z(this._left,this._bottom,this._right,this._bottom,N)}break;case"yaxis":z(this._left,this._bottom,this._left,this._top,N);break;case"yMidAxis":z(u,this._bottom,u,this._top,N);z(f,this._bottom,f,this._top,N);break;case"x2axis":if(G.yMidAxis.show){z(this._left,this._top,u,this._top,N);z(f,this._top,this._right,this._top,N)}else{z(this._left,this._bottom,this._right,this._bottom,N)}break;case"y2axis":z(this._right,this._bottom,this._right,this._top,N);break}}for(var E=B;E>0;E--){var v=M[E-1];if(v.show){var k=Math.round(d.u2p(v.value))+0.5;switch(O){case"xaxis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(k,this._top,k,this._bottom)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._bottom;K=this._bottom+A;break;case"inside":L=this._bottom-A;K=this._bottom;break;case"cross":L=this._bottom-A;K=this._bottom+A;break;default:L=this._bottom;K=this._bottom+A;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[k,L],[k,K]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}z(k,L,k,K)}break;case"yaxis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(this._right,k,this._left,k)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._left-A;K=this._left;break;case"inside":L=this._left;K=this._left+A;break;case"cross":L=this._left-A;K=this._left+A;break;default:L=this._left-A;K=this._left;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor})}break;case"yMidAxis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(this._left,k,u,k);z(f,k,this._right,k)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;L=u;K=u+A;if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor});L=f-A;K=f;if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor})}break;case"x2axis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(k,this._bottom,k,this._top)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._top-A;K=this._top;break;case"inside":L=this._top;K=this._top+A;break;case"cross":L=this._top-A;K=this._top+A;break;default:L=this._top-A;K=this._top;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[k,L],[k,K]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}z(k,L,k,K)}break;case"y2axis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(this._left,k,this._right,k)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._right;K=this._right+A;break;case"inside":L=this._right-A;K=this._right;break;case"cross":L=this._right-A;K=this._right+A;break;default:L=this._right;K=this._right+A;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor})}break;default:break}}}v=null}d=null;M=null}D.restore();function z(j,i,e,b,h){D.save();h=h||{};if(h.lineWidth==null||h.lineWidth!=0){a.extend(true,D,h);D.beginPath();D.moveTo(j,i);D.lineTo(e,b);D.stroke()}D.restore()}if(this.shadow){if(G.yMidAxis.show){var F=[[this._left,this._bottom],[u,this._bottom]];this.renderer.shadowRenderer.draw(D,F);var F=[[f,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(D,F);var F=[[u,this._bottom],[u,this._top]];this.renderer.shadowRenderer.draw(D,F)}else{var F=[[this._left,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(D,F)}}if(this.borderWidth!=0&&this.drawBorder){if(G.yMidAxis.show){z(this._left,this._top,u,this._top,{lineCap:"round",strokeStyle:G.x2axis.borderColor,lineWidth:G.x2axis.borderWidth});z(f,this._top,this._right,this._top,{lineCap:"round",strokeStyle:G.x2axis.borderColor,lineWidth:G.x2axis.borderWidth});z(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:G.y2axis.borderColor,lineWidth:G.y2axis.borderWidth});z(this._right,this._bottom,f,this._bottom,{lineCap:"round",strokeStyle:G.xaxis.borderColor,lineWidth:G.xaxis.borderWidth});z(u,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:G.xaxis.borderColor,lineWidth:G.xaxis.borderWidth});z(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth});z(u,this._bottom,u,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth});z(f,this._bottom,f,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth})}else{z(this._left,this._top,this._right,this._top,{lineCap:"round",strokeStyle:G.x2axis.borderColor,lineWidth:G.x2axis.borderWidth});z(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:G.y2axis.borderColor,lineWidth:G.y2axis.borderWidth});z(this._right,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:G.xaxis.borderColor,lineWidth:G.xaxis.borderWidth});z(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth})}}D.restore();D=null;G=null}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.pyramidRenderer.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.pyramidRenderer.min.js
deleted file mode 100644
index 5833af56..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.pyramidRenderer.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(c){if(c.jqplot.PyramidAxisRenderer===undefined){c.ajax({url:c.jqplot.pluginLocation+"jqplot.pyramidAxisRenderer.js",dataType:"script",async:false})}if(c.jqplot.PyramidGridRenderer===undefined){c.ajax({url:c.jqplot.pluginLocation+"jqplot.pyramidGridRenderer.js",dataType:"script",async:false})}c.jqplot.PyramidRenderer=function(){c.jqplot.LineRenderer.call(this)};c.jqplot.PyramidRenderer.prototype=new c.jqplot.LineRenderer();c.jqplot.PyramidRenderer.prototype.constructor=c.jqplot.PyramidRenderer;c.jqplot.PyramidRenderer.prototype.init=function(j,o){j=j||{};this._type="pyramid";this.barPadding=10;this.barWidth=null;this.fill=true;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.highlightThreshold=2;this.synchronizeHighlight=false;this.offsetBars=false;if(j.highlightMouseDown&&j.highlightMouseOver==null){j.highlightMouseOver=false}this.side="right";c.extend(true,this,j);if(this.side==="left"){this._highlightThreshold=[[-this.highlightThreshold,0],[-this.highlightThreshold,0],[0,0],[0,0]]}else{this._highlightThreshold=[[0,0],[0,0],[this.highlightThreshold,0],[this.highlightThreshold,0]]}this.renderer.options=j;this._highlightedPoint=null;this._dataColors=[];this._barPoints=[];this.fillAxis="y";this._primaryAxis="_yaxis";this._xnudge=0;var n={lineJoin:"miter",lineCap:"butt",fill:this.fill,fillRect:this.fill,isarc:false,strokeStyle:this.color,fillStyle:this.color,closePath:this.fill,lineWidth:this.lineWidth};this.renderer.shapeRenderer.init(n);var m=j.shadowOffset;if(m==null){if(this.lineWidth>2.5){m=1.25*(1+(Math.atan((this.lineWidth/2.5))/0.785398163-1)*0.6)}else{m=1.25*Math.atan((this.lineWidth/2.5))/0.785398163}}var h={lineJoin:"miter",lineCap:"butt",fill:this.fill,fillRect:this.fill,isarc:false,angle:this.shadowAngle,offset:m,alpha:this.shadowAlpha,depth:this.shadowDepth,closePath:this.fill,lineWidth:this.lineWidth};this.renderer.shadowRenderer.init(h);o.postDrawHooks.addOnce(f);o.eventListenerHooks.addOnce("jqplotMouseMove",e);if(this.side==="left"){for(var k=0,g=this.data.length;k<g;k++){this.data[k][1]=-Math.abs(this.data[k][1])}}};c.jqplot.PyramidRenderer.prototype.setGridData=function(p){var j=this._xaxis.series_u2p;var o=this._yaxis.series_u2p;var k=this._plotData;var n=this._prevPlotData;this.gridData=[];this._prevGridData=[];var g=k.length;var m=false;var h;for(h=0;h<g;h++){if(k[h][1]<0){this.side="left"}}if(this._yaxis.name==="yMidAxis"&&this.side==="right"){this._xnudge=this._xaxis.max/2000;m=true}for(h=0;h<g;h++){if(k[h][0]!=null&&k[h][1]!=null){this.gridData.push([j(k[h][1]),o(k[h][0])])}else{if(k[h][0]==null){this.gridData.push([j(k[h][1]),null])}else{if(k[h][1]==null){this.gridData.push(null,[o(k[h][0])])}}}if(k[h][1]===0&&m){this.gridData[h][0]=j(this._xnudge)}}};c.jqplot.PyramidRenderer.prototype.makeGridData=function(m,p){var k=this._xaxis.series_u2p;var o=this._yaxis.series_u2p;var j=[];var g=m.length;var n=false;var h;for(h=0;h<g;h++){if(m[h][1]<0){this.side="left"}}if(this._yaxis.name==="yMidAxis"&&this.side==="right"){this._xnudge=this._xaxis.max/2000;n=true}for(h=0;h<g;h++){if(m[h][0]!=null&&m[h][1]!=null){j.push([k(m[h][1]),o(m[h][0])])}else{if(m[h][0]==null){j.push([k(m[h][1]),null])}else{if(m[h][1]==null){j.push([null,o(m[h][0])])}}}if(m[h][1]===0&&n){j[h][0]=k(this._xnudge)}}return j};c.jqplot.PyramidRenderer.prototype.setBarWidth=function(){var k;var g=0;var h=0;var m=this[this._primaryAxis];var q,l,o;g=m.max-m.min;var n=m.numberTicks;var j=(n-1)/2;var p=(this.barPadding===0)?1:0;if(m.name=="xaxis"||m.name=="x2axis"){this.barWidth=(m._offsets.max-m._offsets.min)/g-this.barPadding+p}else{if(this.fill){this.barWidth=(m._offsets.min-m._offsets.max)/g-this.barPadding+p}else{this.barWidth=(m._offsets.min-m._offsets.max)/g}}};c.jqplot.PyramidRenderer.prototype.draw=function(B,I,k){var E;var u=c.extend({},k);var p=(u.shadow!=undefined)?u.shadow:this.shadow;var K=(u.showLine!=undefined)?u.showLine:this.showLine;var C=(u.fill!=undefined)?u.fill:this.fill;var t=this._xaxis.series_u2p;var G=this._yaxis.series_u2p;var z,x;this._dataColors=[];this._barPoints=[];if(this.renderer.options.barWidth==null){this.renderer.setBarWidth.call(this)}var D=[],s,F;if(K){var q=new c.jqplot.ColorGenerator(this.negativeSeriesColors);var v=new c.jqplot.ColorGenerator(this.seriesColors);var J=q.get(this.index);if(!this.useNegativeColors){J=u.fillStyle}var o=u.fillStyle;var n;var L=this._xaxis.series_u2p(this._xnudge);var j=this._yaxis.series_u2p(this._yaxis.min);var m=this._yaxis.series_u2p(this._yaxis.max);var H=this.barWidth;var y=H/2;var D=[];var r=this.offsetBars?y:0;for(var E=0,A=I.length;E<A;E++){if(this.data[E][0]==null){continue}n=I[E][1];if(this._plotData[E][1]<0){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){u.fillStyle=q.next()}else{u.fillStyle=v.next()}}}else{if(this.varyBarColor&&!this._stack){u.fillStyle=v.next()}else{u.fillStyle=o}}if(this.fill){if(this._plotData[E][1]>=0){s=I[E][0]-L;F=this.barWidth;D=[L,n-y-r,s,F]}else{s=L-I[E][0];F=this.barWidth;D=[I[E][0],n-y-r,s,F]}this._barPoints.push([[D[0],D[1]+F],[D[0],D[1]],[D[0]+s,D[1]],[D[0]+s,D[1]+F]]);if(p){this.renderer.shadowRenderer.draw(B,D)}var g=u.fillStyle||this.color;this._dataColors.push(g);this.renderer.shapeRenderer.draw(B,D,u)}else{if(E===0){D=[[L,j],[I[E][0],j],[I[E][0],I[E][1]-y-r]]}else{if(E<A-1){D=D.concat([[I[E-1][0],I[E-1][1]-y-r],[I[E][0],I[E][1]+y-r],[I[E][0],I[E][1]-y-r]])}else{D=D.concat([[I[E-1][0],I[E-1][1]-y-r],[I[E][0],I[E][1]+y-r],[I[E][0],m],[L,m]]);if(p){this.renderer.shadowRenderer.draw(B,D)}var g=u.fillStyle||this.color;this._dataColors.push(g);this.renderer.shapeRenderer.draw(B,D,u)}}}}}if(this.highlightColors.length==0){this.highlightColors=c.jqplot.computeHighlightColors(this._dataColors)}else{if(typeof(this.highlightColors)=="string"){this.highlightColors=[];for(var E=0;E<this._dataColors.length;E++){this.highlightColors.push(this.highlightColors)}}}};function b(l,k,h){h=h||{};h.axesDefaults=h.axesDefaults||{};h.grid=h.grid||{};h.legend=h.legend||{};h.seriesDefaults=h.seriesDefaults||{};var g=false;if(h.seriesDefaults.renderer===c.jqplot.PyramidRenderer){g=true}else{if(h.series){for(var j=0;j<h.series.length;j++){if(h.series[j].renderer===c.jqplot.PyramidRenderer){g=true}}}}if(g){h.axesDefaults.renderer=c.jqplot.PyramidAxisRenderer;h.grid.renderer=c.jqplot.PyramidGridRenderer;h.seriesDefaults.pointLabels={show:false}}}function f(){if(this.plugins.pyramidRenderer&&this.plugins.pyramidRenderer.highlightCanvas){this.plugins.pyramidRenderer.highlightCanvas.resetCanvas();this.plugins.pyramidRenderer.highlightCanvas=null}this.plugins.pyramidRenderer={highlightedSeriesIndex:null};this.plugins.pyramidRenderer.highlightCanvas=new c.jqplot.GenericCanvas();this.eventCanvas._elem.before(this.plugins.pyramidRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-pyramidRenderer-highlight-canvas",this._plotDimensions,this));this.plugins.pyramidRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(g){d(g.data.plot)})}function a(m,l,j,i){var h=m.series[l];var g=m.plugins.pyramidRenderer.highlightCanvas;g._ctx.clearRect(0,0,g._ctx.canvas.width,g._ctx.canvas.height);h._highlightedPoint=j;m.plugins.pyramidRenderer.highlightedSeriesIndex=l;var k={fillStyle:h.highlightColors[j],fillRect:false};h.renderer.shapeRenderer.draw(g._ctx,i,k);if(h.synchronizeHighlight!==false&&m.series.length>=h.synchronizeHighlight&&h.synchronizeHighlight!==l){h=m.series[h.synchronizeHighlight];k={fillStyle:h.highlightColors[j],fillRect:false};h.renderer.shapeRenderer.draw(g._ctx,h._barPoints[j],k)}g=null}function d(j){var g=j.plugins.pyramidRenderer.highlightCanvas;g._ctx.clearRect(0,0,g._ctx.canvas.width,g._ctx.canvas.height);for(var h=0;h<j.series.length;h++){j.series[h]._highlightedPoint=null}j.plugins.pyramidRenderer.highlightedSeriesIndex=null;j.target.trigger("jqplotDataUnhighlight");g=null}function e(k,j,n,m,l){if(m){var i=[m.seriesIndex,m.pointIndex,m.data];var h=jQuery.Event("jqplotDataMouseOver");h.pageX=k.pageX;h.pageY=k.pageY;l.target.trigger(h,i);if(l.series[i[0]].highlightMouseOver&&!(i[0]==l.plugins.pyramidRenderer.highlightedSeriesIndex&&i[1]==l.series[i[0]]._highlightedPoint)){var g=jQuery.Event("jqplotDataHighlight");g.which=k.which;g.pageX=k.pageX;g.pageY=k.pageY;l.target.trigger(g,i);a(l,m.seriesIndex,m.pointIndex,m.points)}}else{if(m==null){d(l)}}}c.jqplot.preInitHooks.push(b)})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jqplot/plugins/jqplot.trendline.min.js b/build/documentation/api/js/jqplot/plugins/jqplot.trendline.min.js
deleted file mode 100644
index 5867e2f1..00000000
--- a/build/documentation/api/js/jqplot/plugins/jqplot.trendline.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
- jsDate | (c) 2010-2013 Chris Leonello
- */(function(f){f.jqplot.Trendline=function(){this.show=f.jqplot.config.enablePlugins;this.color="#666666";this.renderer=new f.jqplot.LineRenderer();this.rendererOptions={marker:{show:false}};this.label="";this.type="linear";this.shadow=true;this.markerRenderer={show:false};this.lineWidth=1.5;this.shadowAngle=45;this.shadowOffset=1;this.shadowAlpha=0.07;this.shadowDepth=3;this.isTrendline=true};f.jqplot.postSeriesInitHooks.push(e);f.jqplot.postDrawSeriesHooks.push(g);f.jqplot.addLegendRowHooks.push(a);function a(k){var j=null;if(k.trendline&&k.trendline.show){var i=k.trendline.label.toString();if(i){j={label:i,color:k.trendline.color}}}return j}function e(m,k,j,i,l){if(this._type&&(this._type==="line"||this._type=="bar")){this.trendline=new f.jqplot.Trendline();i=i||{};f.extend(true,this.trendline,{color:this.color},j.trendline,i.trendline);this.trendline.renderer.init.call(this.trendline,null)}}function g(m,i){i=f.extend(true,{},this.trendline,i);if(this.trendline&&i.show){var k;var l=i.data||this.data;k=c(l,this.trendline.type);var j=i.gridData||this.renderer.makeGridData.call(this,k.data);this.trendline.renderer.draw.call(this.trendline,m,j,{showLine:true,shadow:this.trendline.shadow})}}function b(w,v,n){var u=(n==null)?"linear":n;var s=w.length;var t;var z;var o=0;var m=0;var r=0;var q=0;var l=0;var j=[];var k=[];if(u=="linear"){k=w;j=v}else{if(u=="exp"||u=="exponential"){for(var p=0;p<v.length;p++){if(v[p]<=0){s--}else{k.push(w[p]);j.push(Math.log(v[p]))}}}}for(var p=0;p<s;p++){o=o+k[p];m=m+j[p];q=q+k[p]*j[p];r=r+k[p]*k[p];l=l+j[p]*j[p]}t=(s*q-o*m)/(s*r-o*o);z=(m-t*o)/s;return[t,z]}function h(k,j){var i;i=b(k,j,"linear");return[i[0],i[1]]}function d(o,m){var k;var i=o;var n=m;k=b(i,n,"exp");var l=Math.exp(k[0]);var j=Math.exp(k[1]);return[l,j]}function c(l,j){var p=(j==null)?"linear":j;var n;var o;var r=[];var q=[];var m=[];for(k=0;k<l.length;k++){if(l[k]!=null&&l[k][0]!=null&&l[k][1]!=null){r.push(l[k][0]);q.push(l[k][1])}}if(p=="linear"){n=h(r,q);for(var k=0;k<r.length;k++){o=n[0]*r[k]+n[1];m.push([r[k],o])}}else{if(p=="exp"||p=="exponential"){n=d(r,q);for(var k=0;k<r.length;k++){o=n[1]*Math.pow(n[0],r[k]);m.push([r[k],o])}}}return{data:m,slope:n[0],intercept:n[1]}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jquery-1.4.2.min.js b/build/documentation/api/js/jquery-1.4.2.min.js
deleted file mode 100644
index 7c243080..00000000
--- a/build/documentation/api/js/jquery-1.4.2.min.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
-e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
-j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
-"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
-true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
-c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
-L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
-"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
-a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
-d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
-a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
-!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
-true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
-parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
-s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
-applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
-else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
-a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
-w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
-cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
-i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
-" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
-this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
-e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
-c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
-a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
-function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
-k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
-C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
-null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
-e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
-f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
-if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
-"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
-a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
-isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
-{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
-if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
-e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
-"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
-d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
-!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
-toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
-u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
-function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
-if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
-t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
-g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
-for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
-1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
-CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
-relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
-l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
-h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
-CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
-g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
-text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
-setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
-h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
-m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
-"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
-h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
-!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
-h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
-q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
-if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
-(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
-function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
-gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
-c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
-{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
-"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
-d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
-a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
-1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
-a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
-""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
-this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
-u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
-1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
-return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
-""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
-c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
-c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
-function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
-Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
-"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
-a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
-a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
-"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
-serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
-function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
-global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
-e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
-"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
-false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
-false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
-c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
-d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
-g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
-1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
-"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
-if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
-this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
-"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
-animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
-j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
-this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
-"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
-c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
-this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
-this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
-e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
-c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
-function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
-this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
-k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
-f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
-a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
-c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
-d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
-"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
-e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
diff --git a/build/documentation/api/js/jquery-1.7.1.min.js b/build/documentation/api/js/jquery-1.7.1.min.js
deleted file mode 100644
index 6ede59ce..00000000
--- a/build/documentation/api/js/jquery-1.7.1.min.js
+++ /dev/null
@@ -1,9270 +0,0 @@
-/*
- * Downloaded from http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js, 2012-02-04 23:26
- */
-
-/*!
- * jQuery JavaScript Library v1.7.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Mon Nov 21 21:11:03 2011 -0500
- */
-(function( window, undefined ) {
-
-// Use the correct document accordingly with window argument (sandbox)
-var document = window.document,
- navigator = window.navigator,
- location = window.location;
-var jQuery = (function() {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context, rootjQuery );
- },
-
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
-
- // Map over the $ in case of overwrite
- _$ = window.$,
-
- // A central reference to the root jQuery(document)
- rootjQuery,
-
- // A simple way to check for HTML strings or ID strings
- // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
- quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
-
- // Check if a string has a non-whitespace character in it
- rnotwhite = /\S/,
-
- // Used for trimming whitespace
- trimLeft = /^\s+/,
- trimRight = /\s+$/,
-
- // Match a standalone tag
- rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
- // JSON RegExp
- rvalidchars = /^[\],:{}\s]*$/,
- rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
- rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
- rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
-
- // Useragent RegExp
- rwebkit = /(webkit)[ \/]([\w.]+)/,
- ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
- rmsie = /(msie) ([\w.]+)/,
- rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
-
- // Matches dashed string for camelizing
- rdashAlpha = /-([a-z]|[0-9])/ig,
- rmsPrefix = /^-ms-/,
-
- // Used by jQuery.camelCase as callback to replace()
- fcamelCase = function( all, letter ) {
- return ( letter + "" ).toUpperCase();
- },
-
- // Keep a UserAgent string for use with jQuery.browser
- userAgent = navigator.userAgent,
-
- // For matching the engine and version of the browser
- browserMatch,
-
- // The deferred used on DOM ready
- readyList,
-
- // The ready event handler
- DOMContentLoaded,
-
- // Save a reference to some core methods
- toString = Object.prototype.toString,
- hasOwn = Object.prototype.hasOwnProperty,
- push = Array.prototype.push,
- slice = Array.prototype.slice,
- trim = String.prototype.trim,
- indexOf = Array.prototype.indexOf,
-
- // [[Class]] -> type pairs
- class2type = {};
-
-jQuery.fn = jQuery.prototype = {
- constructor: jQuery,
- init: function( selector, context, rootjQuery ) {
- var match, elem, ret, doc;
-
- // Handle $(""), $(null), or $(undefined)
- if ( !selector ) {
- return this;
- }
-
- // Handle $(DOMElement)
- if ( selector.nodeType ) {
- this.context = this[0] = selector;
- this.length = 1;
- return this;
- }
-
- // The body element only exists once, optimize finding it
- if ( selector === "body" && !context && document.body ) {
- this.context = document;
- this[0] = document.body;
- this.selector = selector;
- this.length = 1;
- return this;
- }
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- // Are we dealing with HTML string or an ID?
- if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
- // Assume that strings that start and end with <> are HTML and skip the regex check
- match = [ null, selector, null ];
-
- } else {
- match = quickExpr.exec( selector );
- }
-
- // Verify a match, and that no context was specified for #id
- if ( match && (match[1] || !context) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[1] ) {
- context = context instanceof jQuery ? context[0] : context;
- doc = ( context ? context.ownerDocument || context : document );
-
- // If a single string is passed in and it's a single tag
- // just do a createElement and skip the rest
- ret = rsingleTag.exec( selector );
-
- if ( ret ) {
- if ( jQuery.isPlainObject( context ) ) {
- selector = [ document.createElement( ret[1] ) ];
- jQuery.fn.attr.call( selector, context, true );
-
- } else {
- selector = [ doc.createElement( ret[1] ) ];
- }
-
- } else {
- ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
- selector = ( ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment ).childNodes;
- }
-
- return jQuery.merge( this, selector );
-
- // HANDLE: $("#id")
- } else {
- elem = document.getElementById( match[2] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id !== match[2] ) {
- return rootjQuery.find( selector );
- }
-
- // Otherwise, we inject the element directly into the jQuery object
- this.length = 1;
- this[0] = elem;
- }
-
- this.context = document;
- this.selector = selector;
- return this;
- }
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return ( context || rootjQuery ).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return this.constructor( context ).find( selector );
- }
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return rootjQuery.ready( selector );
- }
-
- if ( selector.selector !== undefined ) {
- this.selector = selector.selector;
- this.context = selector.context;
- }
-
- return jQuery.makeArray( selector, this );
- },
-
- // Start with an empty selector
- selector: "",
-
- // The current version of jQuery being used
- jquery: "1.7.1",
-
- // The default length of a jQuery object is 0
- length: 0,
-
- // The number of elements contained in the matched element set
- size: function() {
- return this.length;
- },
-
- toArray: function() {
- return slice.call( this, 0 );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
- return num == null ?
-
- // Return a 'clean' array
- this.toArray() :
-
- // Return just the object
- ( num < 0 ? this[ this.length + num ] : this[ num ] );
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems, name, selector ) {
- // Build a new jQuery matched element set
- var ret = this.constructor();
-
- if ( jQuery.isArray( elems ) ) {
- push.apply( ret, elems );
-
- } else {
- jQuery.merge( ret, elems );
- }
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- ret.context = this.context;
-
- if ( name === "find" ) {
- ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
- } else if ( name ) {
- ret.selector = this.selector + "." + name + "(" + selector + ")";
- }
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- // (You can seed the arguments with an array of args, but this is
- // only used internally.)
- each: function( callback, args ) {
- return jQuery.each( this, callback, args );
- },
-
- ready: function( fn ) {
- // Attach the listeners
- jQuery.bindReady();
-
- // Add the callback
- readyList.add( fn );
-
- return this;
- },
-
- eq: function( i ) {
- i = +i;
- return i === -1 ?
- this.slice( i ) :
- this.slice( i, i + 1 );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ),
- "slice", slice.call(arguments).join(",") );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function( elem, i ) {
- return callback.call( elem, i, elem );
- }));
- },
-
- end: function() {
- return this.prevObject || this.constructor(null);
- },
-
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: push,
- sort: [].sort,
- splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
- var options, name, src, copy, copyIsArray, clone,
- target = arguments[0] || {},
- i = 1,
- length = arguments.length,
- deep = false;
-
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
- target = {};
- }
-
- // extend jQuery itself if only one argument is passed
- if ( length === i ) {
- target = this;
- --i;
- }
-
- for ( ; i < length; i++ ) {
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null ) {
- // Extend the base object
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
-
- // Prevent never-ending loop
- if ( target === copy ) {
- continue;
- }
-
- // Recurse if we're merging plain objects or arrays
- if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
- if ( copyIsArray ) {
- copyIsArray = false;
- clone = src && jQuery.isArray(src) ? src : [];
-
- } else {
- clone = src && jQuery.isPlainObject(src) ? src : {};
- }
-
- // Never move original objects, clone them
- target[ name ] = jQuery.extend( deep, clone, copy );
-
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
-
- // Return the modified object
- return target;
-};
-
-jQuery.extend({
- noConflict: function( deep ) {
- if ( window.$ === jQuery ) {
- window.$ = _$;
- }
-
- if ( deep && window.jQuery === jQuery ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
- },
-
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
-
- // A counter to track how many items to wait for before
- // the ready event fires. See #6781
- readyWait: 1,
-
- // Hold (or release) the ready event
- holdReady: function( hold ) {
- if ( hold ) {
- jQuery.readyWait++;
- } else {
- jQuery.ready( true );
- }
- },
-
- // Handle when the DOM is ready
- ready: function( wait ) {
- // Either a released hold or an DOMready/load event and not yet ready
- if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( !document.body ) {
- return setTimeout( jQuery.ready, 1 );
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If a normal DOM Ready event fired, decrement, and wait if need be
- if ( wait !== true && --jQuery.readyWait > 0 ) {
- return;
- }
-
- // If there are functions bound, to execute
- readyList.fireWith( document, [ jQuery ] );
-
- // Trigger any bound ready events
- if ( jQuery.fn.trigger ) {
- jQuery( document ).trigger( "ready" ).off( "ready" );
- }
- }
- },
-
- bindReady: function() {
- if ( readyList ) {
- return;
- }
-
- readyList = jQuery.Callbacks( "once memory" );
-
- // Catch cases where $(document).ready() is called after the
- // browser event has already occurred.
- if ( document.readyState === "complete" ) {
- // Handle it asynchronously to allow scripts the opportunity to delay ready
- return setTimeout( jQuery.ready, 1 );
- }
-
- // Mozilla, Opera and webkit nightlies currently support this event
- if ( document.addEventListener ) {
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", jQuery.ready, false );
-
- // If IE event model is used
- } else if ( document.attachEvent ) {
- // ensure firing before onload,
- // maybe late but safe also for iframes
- document.attachEvent( "onreadystatechange", DOMContentLoaded );
-
- // A fallback to window.onload, that will always work
- window.attachEvent( "onload", jQuery.ready );
-
- // If IE and not a frame
- // continually check to see if the document is ready
- var toplevel = false;
-
- try {
- toplevel = window.frameElement == null;
- } catch(e) {}
-
- if ( document.documentElement.doScroll && toplevel ) {
- doScrollCheck();
- }
- }
- },
-
- // See test/unit/core.js for details concerning isFunction.
- // Since version 1.3, DOM methods and functions like alert
- // aren't supported. They return false on IE (#2968).
- isFunction: function( obj ) {
- return jQuery.type(obj) === "function";
- },
-
- isArray: Array.isArray || function( obj ) {
- return jQuery.type(obj) === "array";
- },
-
- // A crude way of determining if an object is a window
- isWindow: function( obj ) {
- return obj && typeof obj === "object" && "setInterval" in obj;
- },
-
- isNumeric: function( obj ) {
- return !isNaN( parseFloat(obj) ) && isFinite( obj );
- },
-
- type: function( obj ) {
- return obj == null ?
- String( obj ) :
- class2type[ toString.call(obj) ] || "object";
- },
-
- isPlainObject: function( obj ) {
- // Must be an Object.
- // Because of IE, we also have to check the presence of the constructor property.
- // Make sure that DOM nodes and window objects don't pass through, as well
- if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
- return false;
- }
-
- try {
- // Not own constructor property must be Object
- if ( obj.constructor &&
- !hasOwn.call(obj, "constructor") &&
- !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
- return false;
- }
- } catch ( e ) {
- // IE8,9 Will throw exceptions on certain host objects #9897
- return false;
- }
-
- // Own properties are enumerated firstly, so to speed up,
- // if last one is own, then all properties are own.
-
- var key;
- for ( key in obj ) {}
-
- return key === undefined || hasOwn.call( obj, key );
- },
-
- isEmptyObject: function( obj ) {
- for ( var name in obj ) {
- return false;
- }
- return true;
- },
-
- error: function( msg ) {
- throw new Error( msg );
- },
-
- parseJSON: function( data ) {
- if ( typeof data !== "string" || !data ) {
- return null;
- }
-
- // Make sure leading/trailing whitespace is removed (IE can't handle it)
- data = jQuery.trim( data );
-
- // Attempt to parse using the native JSON parser first
- if ( window.JSON && window.JSON.parse ) {
- return window.JSON.parse( data );
- }
-
- // Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
- if ( rvalidchars.test( data.replace( rvalidescape, "@" )
- .replace( rvalidtokens, "]" )
- .replace( rvalidbraces, "")) ) {
-
- return ( new Function( "return " + data ) )();
-
- }
- jQuery.error( "Invalid JSON: " + data );
- },
-
- // Cross-browser xml parsing
- parseXML: function( data ) {
- var xml, tmp;
- try {
- if ( window.DOMParser ) { // Standard
- tmp = new DOMParser();
- xml = tmp.parseFromString( data , "text/xml" );
- } else { // IE
- xml = new ActiveXObject( "Microsoft.XMLDOM" );
- xml.async = "false";
- xml.loadXML( data );
- }
- } catch( e ) {
- xml = undefined;
- }
- if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
- jQuery.error( "Invalid XML: " + data );
- }
- return xml;
- },
-
- noop: function() {},
-
- // Evaluates a script in a global context
- // Workarounds based on findings by Jim Driscoll
- // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
- globalEval: function( data ) {
- if ( data && rnotwhite.test( data ) ) {
- // We use execScript on Internet Explorer
- // We use an anonymous function so that context is window
- // rather than jQuery in Firefox
- ( window.execScript || function( data ) {
- window[ "eval" ].call( window, data );
- } )( data );
- }
- },
-
- // Convert dashed to camelCase; used by the css and data modules
- // Microsoft forgot to hump their vendor prefix (#9572)
- camelCase: function( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
- },
-
- // args is for internal usage only
- each: function( object, callback, args ) {
- var name, i = 0,
- length = object.length,
- isObj = length === undefined || jQuery.isFunction( object );
-
- if ( args ) {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.apply( object[ name ], args ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.apply( object[ i++ ], args ) === false ) {
- break;
- }
- }
- }
-
- // A special, fast, case for the most common use of each
- } else {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
- break;
- }
- }
- }
- }
-
- return object;
- },
-
- // Use native String.trim function wherever possible
- trim: trim ?
- function( text ) {
- return text == null ?
- "" :
- trim.call( text );
- } :
-
- // Otherwise use our own trimming functionality
- function( text ) {
- return text == null ?
- "" :
- text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
- },
-
- // results is for internal usage only
- makeArray: function( array, results ) {
- var ret = results || [];
-
- if ( array != null ) {
- // The window, strings (and functions) also have 'length'
- // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
- var type = jQuery.type( array );
-
- if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
- push.call( ret, array );
- } else {
- jQuery.merge( ret, array );
- }
- }
-
- return ret;
- },
-
- inArray: function( elem, array, i ) {
- var len;
-
- if ( array ) {
- if ( indexOf ) {
- return indexOf.call( array, elem, i );
- }
-
- len = array.length;
- i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
-
- for ( ; i < len; i++ ) {
- // Skip accessing in sparse arrays
- if ( i in array && array[ i ] === elem ) {
- return i;
- }
- }
- }
-
- return -1;
- },
-
- merge: function( first, second ) {
- var i = first.length,
- j = 0;
-
- if ( typeof second.length === "number" ) {
- for ( var l = second.length; j < l; j++ ) {
- first[ i++ ] = second[ j ];
- }
-
- } else {
- while ( second[j] !== undefined ) {
- first[ i++ ] = second[ j++ ];
- }
- }
-
- first.length = i;
-
- return first;
- },
-
- grep: function( elems, callback, inv ) {
- var ret = [], retVal;
- inv = !!inv;
-
- // Go through the array, only saving the items
- // that pass the validator function
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- retVal = !!callback( elems[ i ], i );
- if ( inv !== retVal ) {
- ret.push( elems[ i ] );
- }
- }
-
- return ret;
- },
-
- // arg is for internal usage only
- map: function( elems, callback, arg ) {
- var value, key, ret = [],
- i = 0,
- length = elems.length,
- // jquery objects are treated as arrays
- isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;
-
- // Go through the array, translating each of the items to their
- if ( isArray ) {
- for ( ; i < length; i++ ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
-
- // Go through every key on the object,
- } else {
- for ( key in elems ) {
- value = callback( elems[ key ], key, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
- }
-
- // Flatten any nested arrays
- return ret.concat.apply( [], ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- // Bind a function to a context, optionally partially applying any
- // arguments.
- proxy: function( fn, context ) {
- if ( typeof context === "string" ) {
- var tmp = fn[ context ];
- context = fn;
- fn = tmp;
- }
-
- // Quick check to determine if target is callable, in the spec
- // this throws a TypeError, but we will just return undefined.
- if ( !jQuery.isFunction( fn ) ) {
- return undefined;
- }
-
- // Simulated bind
- var args = slice.call( arguments, 2 ),
- proxy = function() {
- return fn.apply( context, args.concat( slice.call( arguments ) ) );
- };
-
- // Set the guid of unique handler to the same of original handler, so it can be removed
- proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
-
- return proxy;
- },
-
- // Mutifunctional method to get and set values to a collection
- // The value/s can optionally be executed if it's a function
- access: function( elems, key, value, exec, fn, pass ) {
- var length = elems.length;
-
- // Setting many attributes
- if ( typeof key === "object" ) {
- for ( var k in key ) {
- jQuery.access( elems, k, key[k], exec, fn, value );
- }
- return elems;
- }
-
- // Setting one attribute
- if ( value !== undefined ) {
- // Optionally, function values get executed if exec is true
- exec = !pass && exec && jQuery.isFunction(value);
-
- for ( var i = 0; i < length; i++ ) {
- fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
- }
-
- return elems;
- }
-
- // Getting an attribute
- return length ? fn( elems[0], key ) : undefined;
- },
-
- now: function() {
- return ( new Date() ).getTime();
- },
-
- // Use of jQuery.browser is frowned upon.
- // More details: http://docs.jquery.com/Utilities/jQuery.browser
- uaMatch: function( ua ) {
- ua = ua.toLowerCase();
-
- var match = rwebkit.exec( ua ) ||
- ropera.exec( ua ) ||
- rmsie.exec( ua ) ||
- ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
- [];
-
- return { browser: match[1] || "", version: match[2] || "0" };
- },
-
- sub: function() {
- function jQuerySub( selector, context ) {
- return new jQuerySub.fn.init( selector, context );
- }
- jQuery.extend( true, jQuerySub, this );
- jQuerySub.superclass = this;
- jQuerySub.fn = jQuerySub.prototype = this();
- jQuerySub.fn.constructor = jQuerySub;
- jQuerySub.sub = this.sub;
- jQuerySub.fn.init = function init( selector, context ) {
- if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
- context = jQuerySub( context );
- }
-
- return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
- };
- jQuerySub.fn.init.prototype = jQuerySub.fn;
- var rootjQuerySub = jQuerySub(document);
- return jQuerySub;
- },
-
- browser: {}
-});
-
-// Populate the class2type map
-jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
- jQuery.browser[ browserMatch.browser ] = true;
- jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
- jQuery.browser.safari = true;
-}
-
-// IE doesn't match non-breaking spaces with \s
-if ( rnotwhite.test( "\xA0" ) ) {
- trimLeft = /^[\s\xA0]+/;
- trimRight = /[\s\xA0]+$/;
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
- DOMContentLoaded = function() {
- document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
- jQuery.ready();
- };
-
-} else if ( document.attachEvent ) {
- DOMContentLoaded = function() {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( document.readyState === "complete" ) {
- document.detachEvent( "onreadystatechange", DOMContentLoaded );
- jQuery.ready();
- }
- };
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
- if ( jQuery.isReady ) {
- return;
- }
-
- try {
- // If IE is used, use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- document.documentElement.doScroll("left");
- } catch(e) {
- setTimeout( doScrollCheck, 1 );
- return;
- }
-
- // and execute any waiting functions
- jQuery.ready();
-}
-
-return jQuery;
-
-})();
-
-
-// String to Object flags format cache
-var flagsCache = {};
-
-// Convert String-formatted flags into Object-formatted ones and store in cache
-function createFlags( flags ) {
- var object = flagsCache[ flags ] = {},
- i, length;
- flags = flags.split( /\s+/ );
- for ( i = 0, length = flags.length; i < length; i++ ) {
- object[ flags[i] ] = true;
- }
- return object;
-}
-
-/*
- * Create a callback list using the following parameters:
- *
- * flags: an optional list of space-separated flags that will change how
- * the callback list behaves
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible flags:
- *
- * once: will ensure the callback list can only be fired once (like a Deferred)
- *
- * memory: will keep track of previous values and will call any callback added
- * after the list has been fired right away with the latest "memorized"
- * values (like a Deferred)
- *
- * unique: will ensure a callback can only be added once (no duplicate in the list)
- *
- * stopOnFalse: interrupt callings when a callback returns false
- *
- */
-jQuery.Callbacks = function( flags ) {
-
- // Convert flags from String-formatted to Object-formatted
- // (we check in cache first)
- flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {};
-
- var // Actual callback list
- list = [],
- // Stack of fire calls for repeatable lists
- stack = [],
- // Last fire value (for non-forgettable lists)
- memory,
- // Flag to know if list is currently firing
- firing,
- // First callback to fire (used internally by add and fireWith)
- firingStart,
- // End of the loop when firing
- firingLength,
- // Index of currently firing callback (modified by remove if needed)
- firingIndex,
- // Add one or several callbacks to the list
- add = function( args ) {
- var i,
- length,
- elem,
- type,
- actual;
- for ( i = 0, length = args.length; i < length; i++ ) {
- elem = args[ i ];
- type = jQuery.type( elem );
- if ( type === "array" ) {
- // Inspect recursively
- add( elem );
- } else if ( type === "function" ) {
- // Add if not in unique mode and callback is not in
- if ( !flags.unique || !self.has( elem ) ) {
- list.push( elem );
- }
- }
- }
- },
- // Fire callbacks
- fire = function( context, args ) {
- args = args || [];
- memory = !flags.memory || [ context, args ];
- firing = true;
- firingIndex = firingStart || 0;
- firingStart = 0;
- firingLength = list.length;
- for ( ; list && firingIndex < firingLength; firingIndex++ ) {
- if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {
- memory = true; // Mark as halted
- break;
- }
- }
- firing = false;
- if ( list ) {
- if ( !flags.once ) {
- if ( stack && stack.length ) {
- memory = stack.shift();
- self.fireWith( memory[ 0 ], memory[ 1 ] );
- }
- } else if ( memory === true ) {
- self.disable();
- } else {
- list = [];
- }
- }
- },
- // Actual Callbacks object
- self = {
- // Add a callback or a collection of callbacks to the list
- add: function() {
- if ( list ) {
- var length = list.length;
- add( arguments );
- // Do we need to add the callbacks to the
- // current firing batch?
- if ( firing ) {
- firingLength = list.length;
- // With memory, if we're not firing then
- // we should call right away, unless previous
- // firing was halted (stopOnFalse)
- } else if ( memory && memory !== true ) {
- firingStart = length;
- fire( memory[ 0 ], memory[ 1 ] );
- }
- }
- return this;
- },
- // Remove a callback from the list
- remove: function() {
- if ( list ) {
- var args = arguments,
- argIndex = 0,
- argLength = args.length;
- for ( ; argIndex < argLength ; argIndex++ ) {
- for ( var i = 0; i < list.length; i++ ) {
- if ( args[ argIndex ] === list[ i ] ) {
- // Handle firingIndex and firingLength
- if ( firing ) {
- if ( i <= firingLength ) {
- firingLength--;
- if ( i <= firingIndex ) {
- firingIndex--;
- }
- }
- }
- // Remove the element
- list.splice( i--, 1 );
- // If we have some unicity property then
- // we only need to do this once
- if ( flags.unique ) {
- break;
- }
- }
- }
- }
- }
- return this;
- },
- // Control if a given callback is in the list
- has: function( fn ) {
- if ( list ) {
- var i = 0,
- length = list.length;
- for ( ; i < length; i++ ) {
- if ( fn === list[ i ] ) {
- return true;
- }
- }
- }
- return false;
- },
- // Remove all callbacks from the list
- empty: function() {
- list = [];
- return this;
- },
- // Have the list do nothing anymore
- disable: function() {
- list = stack = memory = undefined;
- return this;
- },
- // Is it disabled?
- disabled: function() {
- return !list;
- },
- // Lock the list in its current state
- lock: function() {
- stack = undefined;
- if ( !memory || memory === true ) {
- self.disable();
- }
- return this;
- },
- // Is it locked?
- locked: function() {
- return !stack;
- },
- // Call all callbacks with the given context and arguments
- fireWith: function( context, args ) {
- if ( stack ) {
- if ( firing ) {
- if ( !flags.once ) {
- stack.push( [ context, args ] );
- }
- } else if ( !( flags.once && memory ) ) {
- fire( context, args );
- }
- }
- return this;
- },
- // Call all the callbacks with the given arguments
- fire: function() {
- self.fireWith( this, arguments );
- return this;
- },
- // To know if the callbacks have already been called at least once
- fired: function() {
- return !!memory;
- }
- };
-
- return self;
-};
-
-
-
-
-var // Static reference to slice
- sliceDeferred = [].slice;
-
-jQuery.extend({
-
- Deferred: function( func ) {
- var doneList = jQuery.Callbacks( "once memory" ),
- failList = jQuery.Callbacks( "once memory" ),
- progressList = jQuery.Callbacks( "memory" ),
- state = "pending",
- lists = {
- resolve: doneList,
- reject: failList,
- notify: progressList
- },
- promise = {
- done: doneList.add,
- fail: failList.add,
- progress: progressList.add,
-
- state: function() {
- return state;
- },
-
- // Deprecated
- isResolved: doneList.fired,
- isRejected: failList.fired,
-
- then: function( doneCallbacks, failCallbacks, progressCallbacks ) {
- deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks );
- return this;
- },
- always: function() {
- deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );
- return this;
- },
- pipe: function( fnDone, fnFail, fnProgress ) {
- return jQuery.Deferred(function( newDefer ) {
- jQuery.each( {
- done: [ fnDone, "resolve" ],
- fail: [ fnFail, "reject" ],
- progress: [ fnProgress, "notify" ]
- }, function( handler, data ) {
- var fn = data[ 0 ],
- action = data[ 1 ],
- returned;
- if ( jQuery.isFunction( fn ) ) {
- deferred[ handler ](function() {
- returned = fn.apply( this, arguments );
- if ( returned && jQuery.isFunction( returned.promise ) ) {
- returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify );
- } else {
- newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
- }
- });
- } else {
- deferred[ handler ]( newDefer[ action ] );
- }
- });
- }).promise();
- },
- // Get a promise for this deferred
- // If obj is provided, the promise aspect is added to the object
- promise: function( obj ) {
- if ( obj == null ) {
- obj = promise;
- } else {
- for ( var key in promise ) {
- obj[ key ] = promise[ key ];
- }
- }
- return obj;
- }
- },
- deferred = promise.promise({}),
- key;
-
- for ( key in lists ) {
- deferred[ key ] = lists[ key ].fire;
- deferred[ key + "With" ] = lists[ key ].fireWith;
- }
-
- // Handle state
- deferred.done( function() {
- state = "resolved";
- }, failList.disable, progressList.lock ).fail( function() {
- state = "rejected";
- }, doneList.disable, progressList.lock );
-
- // Call given func if any
- if ( func ) {
- func.call( deferred, deferred );
- }
-
- // All done!
- return deferred;
- },
-
- // Deferred helper
- when: function( firstParam ) {
- var args = sliceDeferred.call( arguments, 0 ),
- i = 0,
- length = args.length,
- pValues = new Array( length ),
- count = length,
- pCount = length,
- deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?
- firstParam :
- jQuery.Deferred(),
- promise = deferred.promise();
- function resolveFunc( i ) {
- return function( value ) {
- args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
- if ( !( --count ) ) {
- deferred.resolveWith( deferred, args );
- }
- };
- }
- function progressFunc( i ) {
- return function( value ) {
- pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
- deferred.notifyWith( promise, pValues );
- };
- }
- if ( length > 1 ) {
- for ( ; i < length; i++ ) {
- if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) {
- args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) );
- } else {
- --count;
- }
- }
- if ( !count ) {
- deferred.resolveWith( deferred, args );
- }
- } else if ( deferred !== firstParam ) {
- deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
- }
- return promise;
- }
-});
-
-
-
-
-jQuery.support = (function() {
-
- var support,
- all,
- a,
- select,
- opt,
- input,
- marginDiv,
- fragment,
- tds,
- events,
- eventName,
- i,
- isSupported,
- div = document.createElement( "div" ),
- documentElement = document.documentElement;
-
- // Preliminary tests
- div.setAttribute("className", "t");
- div.innerHTML = " <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
- all = div.getElementsByTagName( "*" );
- a = div.getElementsByTagName( "a" )[ 0 ];
-
- // Can't get basic test support
- if ( !all || !all.length || !a ) {
- return {};
- }
-
- // First batch of supports tests
- select = document.createElement( "select" );
- opt = select.appendChild( document.createElement("option") );
- input = div.getElementsByTagName( "input" )[ 0 ];
-
- support = {
- // IE strips leading whitespace when .innerHTML is used
- leadingWhitespace: ( div.firstChild.nodeType === 3 ),
-
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- tbody: !div.getElementsByTagName("tbody").length,
-
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- htmlSerialize: !!div.getElementsByTagName("link").length,
-
- // Get the style information from getAttribute
- // (IE uses .cssText instead)
- style: /top/.test( a.getAttribute("style") ),
-
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- hrefNormalized: ( a.getAttribute("href") === "/a" ),
-
- // Make sure that element opacity exists
- // (IE uses filter instead)
- // Use a regex to work around a WebKit issue. See #5145
- opacity: /^0.55/.test( a.style.opacity ),
-
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- cssFloat: !!a.style.cssFloat,
-
- // Make sure that if no value is specified for a checkbox
- // that it defaults to "on".
- // (WebKit defaults to "" instead)
- checkOn: ( input.value === "on" ),
-
- // Make sure that a selected-by-default option has a working selected property.
- // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
- optSelected: opt.selected,
-
- // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
- getSetAttribute: div.className !== "t",
-
- // Tests for enctype support on a form(#6743)
- enctype: !!document.createElement("form").enctype,
-
- // Makes sure cloning an html5 element does not cause problems
- // Where outerHTML is undefined, this still works
- html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>",
-
- // Will be defined later
- submitBubbles: true,
- changeBubbles: true,
- focusinBubbles: false,
- deleteExpando: true,
- noCloneEvent: true,
- inlineBlockNeedsLayout: false,
- shrinkWrapBlocks: false,
- reliableMarginRight: true
- };
-
- // Make sure checked status is properly cloned
- input.checked = true;
- support.noCloneChecked = input.cloneNode( true ).checked;
-
- // Make sure that the options inside disabled selects aren't marked as disabled
- // (WebKit marks them as disabled)
- select.disabled = true;
- support.optDisabled = !opt.disabled;
-
- // Test to see if it's possible to delete an expando from an element
- // Fails in Internet Explorer
- try {
- delete div.test;
- } catch( e ) {
- support.deleteExpando = false;
- }
-
- if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
- div.attachEvent( "onclick", function() {
- // Cloning a node shouldn't copy over any
- // bound event handlers (IE does this)
- support.noCloneEvent = false;
- });
- div.cloneNode( true ).fireEvent( "onclick" );
- }
-
- // Check if a radio maintains its value
- // after being appended to the DOM
- input = document.createElement("input");
- input.value = "t";
- input.setAttribute("type", "radio");
- support.radioValue = input.value === "t";
-
- input.setAttribute("checked", "checked");
- div.appendChild( input );
- fragment = document.createDocumentFragment();
- fragment.appendChild( div.lastChild );
-
- // WebKit doesn't clone checked state correctly in fragments
- support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
- // Check if a disconnected checkbox will retain its checked
- // value of true after appended to the DOM (IE6/7)
- support.appendChecked = input.checked;
-
- fragment.removeChild( input );
- fragment.appendChild( div );
-
- div.innerHTML = "";
-
- // Check if div with explicit width and no margin-right incorrectly
- // gets computed margin-right based on width of container. For more
- // info see bug #3333
- // Fails in WebKit before Feb 2011 nightlies
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- if ( window.getComputedStyle ) {
- marginDiv = document.createElement( "div" );
- marginDiv.style.width = "0";
- marginDiv.style.marginRight = "0";
- div.style.width = "2px";
- div.appendChild( marginDiv );
- support.reliableMarginRight =
- ( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0;
- }
-
- // Technique from Juriy Zaytsev
- // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
- // We only care about the case where non-standard event systems
- // are used, namely in IE. Short-circuiting here helps us to
- // avoid an eval call (in setAttribute) which can cause CSP
- // to go haywire. See: https://developer.mozilla.org/en/Security/CSP
- if ( div.attachEvent ) {
- for( i in {
- submit: 1,
- change: 1,
- focusin: 1
- }) {
- eventName = "on" + i;
- isSupported = ( eventName in div );
- if ( !isSupported ) {
- div.setAttribute( eventName, "return;" );
- isSupported = ( typeof div[ eventName ] === "function" );
- }
- support[ i + "Bubbles" ] = isSupported;
- }
- }
-
- fragment.removeChild( div );
-
- // Null elements to avoid leaks in IE
- fragment = select = opt = marginDiv = div = input = null;
-
- // Run tests that need a body at doc ready
- jQuery(function() {
- var container, outer, inner, table, td, offsetSupport,
- conMarginTop, ptlm, vb, style, html,
- body = document.getElementsByTagName("body")[0];
-
- if ( !body ) {
- // Return for frameset docs that don't have a body
- return;
- }
-
- conMarginTop = 1;
- ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";
- vb = "visibility:hidden;border:0;";
- style = "style='" + ptlm + "border:5px solid #000;padding:0;'";
- html = "<div " + style + "><div></div></div>" +
- "<table " + style + " cellpadding='0' cellspacing='0'>" +
- "<tr><td></td></tr></table>";
-
- container = document.createElement("div");
- container.style.cssText = vb + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px";
- body.insertBefore( container, body.firstChild );
-
- // Construct the test element
- div = document.createElement("div");
- container.appendChild( div );
-
- // Check if table cells still have offsetWidth/Height when they are set
- // to display:none and there are still other visible table cells in a
- // table row; if so, offsetWidth/Height are not reliable for use when
- // determining if an element has been hidden directly using
- // display:none (it is still safe to use offsets if a parent element is
- // hidden; don safety goggles and see bug #4512 for more information).
- // (only IE 8 fails this test)
- div.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";
- tds = div.getElementsByTagName( "td" );
- isSupported = ( tds[ 0 ].offsetHeight === 0 );
-
- tds[ 0 ].style.display = "";
- tds[ 1 ].style.display = "none";
-
- // Check if empty table cells still have offsetWidth/Height
- // (IE <= 8 fail this test)
- support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
-
- // Figure out if the W3C box model works as expected
- div.innerHTML = "";
- div.style.width = div.style.paddingLeft = "1px";
- jQuery.boxModel = support.boxModel = div.offsetWidth === 2;
-
- if ( typeof div.style.zoom !== "undefined" ) {
- // Check if natively block-level elements act like inline-block
- // elements when setting their display to 'inline' and giving
- // them layout
- // (IE < 8 does this)
- div.style.display = "inline";
- div.style.zoom = 1;
- support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 );
-
- // Check if elements with layout shrink-wrap their children
- // (IE 6 does this)
- div.style.display = "";
- div.innerHTML = "<div style='width:4px;'></div>";
- support.shrinkWrapBlocks = ( div.offsetWidth !== 2 );
- }
-
- div.style.cssText = ptlm + vb;
- div.innerHTML = html;
-
- outer = div.firstChild;
- inner = outer.firstChild;
- td = outer.nextSibling.firstChild.firstChild;
-
- offsetSupport = {
- doesNotAddBorder: ( inner.offsetTop !== 5 ),
- doesAddBorderForTableAndCells: ( td.offsetTop === 5 )
- };
-
- inner.style.position = "fixed";
- inner.style.top = "20px";
-
- // safari subtracts parent border width here which is 5px
- offsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 );
- inner.style.position = inner.style.top = "";
-
- outer.style.overflow = "hidden";
- outer.style.position = "relative";
-
- offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 );
- offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop );
-
- body.removeChild( container );
- div = container = null;
-
- jQuery.extend( support, offsetSupport );
- });
-
- return support;
-})();
-
-
-
-
-var rbrace = /^(?:\{.*\}|\[.*\])$/,
- rmultiDash = /([A-Z])/g;
-
-jQuery.extend({
- cache: {},
-
- // Please use with caution
- uuid: 0,
-
- // Unique for each copy of jQuery on the page
- // Non-digits removed to match rinlinejQuery
- expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
-
- // The following elements throw uncatchable exceptions if you
- // attempt to add expando properties to them.
- noData: {
- "embed": true,
- // Ban all objects except for Flash (which handle expandos)
- "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
- "applet": true
- },
-
- hasData: function( elem ) {
- elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
- return !!elem && !isEmptyDataObject( elem );
- },
-
- data: function( elem, name, data, pvt /* Internal Use Only */ ) {
- if ( !jQuery.acceptData( elem ) ) {
- return;
- }
-
- var privateCache, thisCache, ret,
- internalKey = jQuery.expando,
- getByName = typeof name === "string",
-
- // We have to handle DOM nodes and JS objects differently because IE6-7
- // can't GC object references properly across the DOM-JS boundary
- isNode = elem.nodeType,
-
- // Only DOM nodes need the global jQuery cache; JS object data is
- // attached directly to the object so GC can occur automatically
- cache = isNode ? jQuery.cache : elem,
-
- // Only defining an ID for JS objects if its cache already exists allows
- // the code to shortcut on the same path as a DOM node with no cache
- id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey,
- isEvents = name === "events";
-
- // Avoid doing any more work than we need to when trying to get data on an
- // object that has no data at all
- if ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) {
- return;
- }
-
- if ( !id ) {
- // Only DOM nodes need a new unique ID for each element since their data
- // ends up in the global cache
- if ( isNode ) {
- elem[ internalKey ] = id = ++jQuery.uuid;
- } else {
- id = internalKey;
- }
- }
-
- if ( !cache[ id ] ) {
- cache[ id ] = {};
-
- // Avoids exposing jQuery metadata on plain JS objects when the object
- // is serialized using JSON.stringify
- if ( !isNode ) {
- cache[ id ].toJSON = jQuery.noop;
- }
- }
-
- // An object can be passed to jQuery.data instead of a key/value pair; this gets
- // shallow copied over onto the existing cache
- if ( typeof name === "object" || typeof name === "function" ) {
- if ( pvt ) {
- cache[ id ] = jQuery.extend( cache[ id ], name );
- } else {
- cache[ id ].data = jQuery.extend( cache[ id ].data, name );
- }
- }
-
- privateCache = thisCache = cache[ id ];
-
- // jQuery data() is stored in a separate object inside the object's internal data
- // cache in order to avoid key collisions between internal data and user-defined
- // data.
- if ( !pvt ) {
- if ( !thisCache.data ) {
- thisCache.data = {};
- }
-
- thisCache = thisCache.data;
- }
-
- if ( data !== undefined ) {
- thisCache[ jQuery.camelCase( name ) ] = data;
- }
-
- // Users should not attempt to inspect the internal events object using jQuery.data,
- // it is undocumented and subject to change. But does anyone listen? No.
- if ( isEvents && !thisCache[ name ] ) {
- return privateCache.events;
- }
-
- // Check for both converted-to-camel and non-converted data property names
- // If a data property was specified
- if ( getByName ) {
-
- // First Try to find as-is property data
- ret = thisCache[ name ];
-
- // Test for null|undefined property data
- if ( ret == null ) {
-
- // Try to find the camelCased property
- ret = thisCache[ jQuery.camelCase( name ) ];
- }
- } else {
- ret = thisCache;
- }
-
- return ret;
- },
-
- removeData: function( elem, name, pvt /* Internal Use Only */ ) {
- if ( !jQuery.acceptData( elem ) ) {
- return;
- }
-
- var thisCache, i, l,
-
- // Reference to internal data cache key
- internalKey = jQuery.expando,
-
- isNode = elem.nodeType,
-
- // See jQuery.data for more information
- cache = isNode ? jQuery.cache : elem,
-
- // See jQuery.data for more information
- id = isNode ? elem[ internalKey ] : internalKey;
-
- // If there is already no cache entry for this object, there is no
- // purpose in continuing
- if ( !cache[ id ] ) {
- return;
- }
-
- if ( name ) {
-
- thisCache = pvt ? cache[ id ] : cache[ id ].data;
-
- if ( thisCache ) {
-
- // Support array or space separated string names for data keys
- if ( !jQuery.isArray( name ) ) {
-
- // try the string as a key before any manipulation
- if ( name in thisCache ) {
- name = [ name ];
- } else {
-
- // split the camel cased version by spaces unless a key with the spaces exists
- name = jQuery.camelCase( name );
- if ( name in thisCache ) {
- name = [ name ];
- } else {
- name = name.split( " " );
- }
- }
- }
-
- for ( i = 0, l = name.length; i < l; i++ ) {
- delete thisCache[ name[i] ];
- }
-
- // If there is no data left in the cache, we want to continue
- // and let the cache object itself get destroyed
- if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
- return;
- }
- }
- }
-
- // See jQuery.data for more information
- if ( !pvt ) {
- delete cache[ id ].data;
-
- // Don't destroy the parent cache unless the internal data object
- // had been the only thing left in it
- if ( !isEmptyDataObject(cache[ id ]) ) {
- return;
- }
- }
-
- // Browsers that fail expando deletion also refuse to delete expandos on
- // the window, but it will allow it on all other JS objects; other browsers
- // don't care
- // Ensure that `cache` is not a window object #10080
- if ( jQuery.support.deleteExpando || !cache.setInterval ) {
- delete cache[ id ];
- } else {
- cache[ id ] = null;
- }
-
- // We destroyed the cache and need to eliminate the expando on the node to avoid
- // false lookups in the cache for entries that no longer exist
- if ( isNode ) {
- // IE does not allow us to delete expando properties from nodes,
- // nor does it have a removeAttribute function on Document nodes;
- // we must handle all of these cases
- if ( jQuery.support.deleteExpando ) {
- delete elem[ internalKey ];
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( internalKey );
- } else {
- elem[ internalKey ] = null;
- }
- }
- },
-
- // For internal use only.
- _data: function( elem, name, data ) {
- return jQuery.data( elem, name, data, true );
- },
-
- // A method for determining if a DOM node can handle the data expando
- acceptData: function( elem ) {
- if ( elem.nodeName ) {
- var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
-
- if ( match ) {
- return !(match === true || elem.getAttribute("classid") !== match);
- }
- }
-
- return true;
- }
-});
-
-jQuery.fn.extend({
- data: function( key, value ) {
- var parts, attr, name,
- data = null;
-
- if ( typeof key === "undefined" ) {
- if ( this.length ) {
- data = jQuery.data( this[0] );
-
- if ( this[0].nodeType === 1 && !jQuery._data( this[0], "parsedAttrs" ) ) {
- attr = this[0].attributes;
- for ( var i = 0, l = attr.length; i < l; i++ ) {
- name = attr[i].name;
-
- if ( name.indexOf( "data-" ) === 0 ) {
- name = jQuery.camelCase( name.substring(5) );
-
- dataAttr( this[0], name, data[ name ] );
- }
- }
- jQuery._data( this[0], "parsedAttrs", true );
- }
- }
-
- return data;
-
- } else if ( typeof key === "object" ) {
- return this.each(function() {
- jQuery.data( this, key );
- });
- }
-
- parts = key.split(".");
- parts[1] = parts[1] ? "." + parts[1] : "";
-
- if ( value === undefined ) {
- data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
- // Try to fetch any internally stored data first
- if ( data === undefined && this.length ) {
- data = jQuery.data( this[0], key );
- data = dataAttr( this[0], key, data );
- }
-
- return data === undefined && parts[1] ?
- this.data( parts[0] ) :
- data;
-
- } else {
- return this.each(function() {
- var self = jQuery( this ),
- args = [ parts[0], value ];
-
- self.triggerHandler( "setData" + parts[1] + "!", args );
- jQuery.data( this, key, value );
- self.triggerHandler( "changeData" + parts[1] + "!", args );
- });
- }
- },
-
- removeData: function( key ) {
- return this.each(function() {
- jQuery.removeData( this, key );
- });
- }
-});
-
-function dataAttr( elem, key, data ) {
- // If nothing was found internally, try to fetch any
- // data from the HTML5 data-* attribute
- if ( data === undefined && elem.nodeType === 1 ) {
-
- var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
-
- data = elem.getAttribute( name );
-
- if ( typeof data === "string" ) {
- try {
- data = data === "true" ? true :
- data === "false" ? false :
- data === "null" ? null :
- jQuery.isNumeric( data ) ? parseFloat( data ) :
- rbrace.test( data ) ? jQuery.parseJSON( data ) :
- data;
- } catch( e ) {}
-
- // Make sure we set the data so it isn't changed later
- jQuery.data( elem, key, data );
-
- } else {
- data = undefined;
- }
- }
-
- return data;
-}
-
-// checks a cache object for emptiness
-function isEmptyDataObject( obj ) {
- for ( var name in obj ) {
-
- // if the public data object is empty, the private is still empty
- if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
- continue;
- }
- if ( name !== "toJSON" ) {
- return false;
- }
- }
-
- return true;
-}
-
-
-
-
-function handleQueueMarkDefer( elem, type, src ) {
- var deferDataKey = type + "defer",
- queueDataKey = type + "queue",
- markDataKey = type + "mark",
- defer = jQuery._data( elem, deferDataKey );
- if ( defer &&
- ( src === "queue" || !jQuery._data(elem, queueDataKey) ) &&
- ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) {
- // Give room for hard-coded callbacks to fire first
- // and eventually mark/queue something else on the element
- setTimeout( function() {
- if ( !jQuery._data( elem, queueDataKey ) &&
- !jQuery._data( elem, markDataKey ) ) {
- jQuery.removeData( elem, deferDataKey, true );
- defer.fire();
- }
- }, 0 );
- }
-}
-
-jQuery.extend({
-
- _mark: function( elem, type ) {
- if ( elem ) {
- type = ( type || "fx" ) + "mark";
- jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 );
- }
- },
-
- _unmark: function( force, elem, type ) {
- if ( force !== true ) {
- type = elem;
- elem = force;
- force = false;
- }
- if ( elem ) {
- type = type || "fx";
- var key = type + "mark",
- count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 );
- if ( count ) {
- jQuery._data( elem, key, count );
- } else {
- jQuery.removeData( elem, key, true );
- handleQueueMarkDefer( elem, type, "mark" );
- }
- }
- },
-
- queue: function( elem, type, data ) {
- var q;
- if ( elem ) {
- type = ( type || "fx" ) + "queue";
- q = jQuery._data( elem, type );
-
- // Speed up dequeue by getting out quickly if this is just a lookup
- if ( data ) {
- if ( !q || jQuery.isArray(data) ) {
- q = jQuery._data( elem, type, jQuery.makeArray(data) );
- } else {
- q.push( data );
- }
- }
- return q || [];
- }
- },
-
- dequeue: function( elem, type ) {
- type = type || "fx";
-
- var queue = jQuery.queue( elem, type ),
- fn = queue.shift(),
- hooks = {};
-
- // If the fx queue is dequeued, always remove the progress sentinel
- if ( fn === "inprogress" ) {
- fn = queue.shift();
- }
-
- if ( fn ) {
- // Add a progress sentinel to prevent the fx queue from being
- // automatically dequeued
- if ( type === "fx" ) {
- queue.unshift( "inprogress" );
- }
-
- jQuery._data( elem, type + ".run", hooks );
- fn.call( elem, function() {
- jQuery.dequeue( elem, type );
- }, hooks );
- }
-
- if ( !queue.length ) {
- jQuery.removeData( elem, type + "queue " + type + ".run", true );
- handleQueueMarkDefer( elem, type, "queue" );
- }
- }
-});
-
-jQuery.fn.extend({
- queue: function( type, data ) {
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- }
-
- if ( data === undefined ) {
- return jQuery.queue( this[0], type );
- }
- return this.each(function() {
- var queue = jQuery.queue( this, type, data );
-
- if ( type === "fx" && queue[0] !== "inprogress" ) {
- jQuery.dequeue( this, type );
- }
- });
- },
- dequeue: function( type ) {
- return this.each(function() {
- jQuery.dequeue( this, type );
- });
- },
- // Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
- delay: function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
- type = type || "fx";
-
- return this.queue( type, function( next, hooks ) {
- var timeout = setTimeout( next, time );
- hooks.stop = function() {
- clearTimeout( timeout );
- };
- });
- },
- clearQueue: function( type ) {
- return this.queue( type || "fx", [] );
- },
- // Get a promise resolved when queues of a certain type
- // are emptied (fx is the type by default)
- promise: function( type, object ) {
- if ( typeof type !== "string" ) {
- object = type;
- type = undefined;
- }
- type = type || "fx";
- var defer = jQuery.Deferred(),
- elements = this,
- i = elements.length,
- count = 1,
- deferDataKey = type + "defer",
- queueDataKey = type + "queue",
- markDataKey = type + "mark",
- tmp;
- function resolve() {
- if ( !( --count ) ) {
- defer.resolveWith( elements, [ elements ] );
- }
- }
- while( i-- ) {
- if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
- ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
- jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
- jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) {
- count++;
- tmp.add( resolve );
- }
- }
- resolve();
- return defer.promise();
- }
-});
-
-
-
-
-var rclass = /[\n\t\r]/g,
- rspace = /\s+/,
- rreturn = /\r/g,
- rtype = /^(?:button|input)$/i,
- rfocusable = /^(?:button|input|object|select|textarea)$/i,
- rclickable = /^a(?:rea)?$/i,
- rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
- getSetAttribute = jQuery.support.getSetAttribute,
- nodeHook, boolHook, fixSpecified;
-
-jQuery.fn.extend({
- attr: function( name, value ) {
- return jQuery.access( this, name, value, true, jQuery.attr );
- },
-
- removeAttr: function( name ) {
- return this.each(function() {
- jQuery.removeAttr( this, name );
- });
- },
-
- prop: function( name, value ) {
- return jQuery.access( this, name, value, true, jQuery.prop );
- },
-
- removeProp: function( name ) {
- name = jQuery.propFix[ name ] || name;
- return this.each(function() {
- // try/catch handles cases where IE balks (such as removing a property on window)
- try {
- this[ name ] = undefined;
- delete this[ name ];
- } catch( e ) {}
- });
- },
-
- addClass: function( value ) {
- var classNames, i, l, elem,
- setClass, c, cl;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).addClass( value.call(this, j, this.className) );
- });
- }
-
- if ( value && typeof value === "string" ) {
- classNames = value.split( rspace );
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- elem = this[ i ];
-
- if ( elem.nodeType === 1 ) {
- if ( !elem.className && classNames.length === 1 ) {
- elem.className = value;
-
- } else {
- setClass = " " + elem.className + " ";
-
- for ( c = 0, cl = classNames.length; c < cl; c++ ) {
- if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) {
- setClass += classNames[ c ] + " ";
- }
- }
- elem.className = jQuery.trim( setClass );
- }
- }
- }
- }
-
- return this;
- },
-
- removeClass: function( value ) {
- var classNames, i, l, elem, className, c, cl;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).removeClass( value.call(this, j, this.className) );
- });
- }
-
- if ( (value && typeof value === "string") || value === undefined ) {
- classNames = ( value || "" ).split( rspace );
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- elem = this[ i ];
-
- if ( elem.nodeType === 1 && elem.className ) {
- if ( value ) {
- className = (" " + elem.className + " ").replace( rclass, " " );
- for ( c = 0, cl = classNames.length; c < cl; c++ ) {
- className = className.replace(" " + classNames[ c ] + " ", " ");
- }
- elem.className = jQuery.trim( className );
-
- } else {
- elem.className = "";
- }
- }
- }
- }
-
- return this;
- },
-
- toggleClass: function( value, stateVal ) {
- var type = typeof value,
- isBool = typeof stateVal === "boolean";
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( i ) {
- jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
- });
- }
-
- return this.each(function() {
- if ( type === "string" ) {
- // toggle individual class names
- var className,
- i = 0,
- self = jQuery( this ),
- state = stateVal,
- classNames = value.split( rspace );
-
- while ( (className = classNames[ i++ ]) ) {
- // check each className given, space seperated list
- state = isBool ? state : !self.hasClass( className );
- self[ state ? "addClass" : "removeClass" ]( className );
- }
-
- } else if ( type === "undefined" || type === "boolean" ) {
- if ( this.className ) {
- // store className if set
- jQuery._data( this, "__className__", this.className );
- }
-
- // toggle whole className
- this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
- }
- });
- },
-
- hasClass: function( selector ) {
- var className = " " + selector + " ",
- i = 0,
- l = this.length;
- for ( ; i < l; i++ ) {
- if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
- return true;
- }
- }
-
- return false;
- },
-
- val: function( value ) {
- var hooks, ret, isFunction,
- elem = this[0];
-
- if ( !arguments.length ) {
- if ( elem ) {
- hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
-
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
- return ret;
- }
-
- ret = elem.value;
-
- return typeof ret === "string" ?
- // handle most common string cases
- ret.replace(rreturn, "") :
- // handle cases where value is null/undef or number
- ret == null ? "" : ret;
- }
-
- return;
- }
-
- isFunction = jQuery.isFunction( value );
-
- return this.each(function( i ) {
- var self = jQuery(this), val;
-
- if ( this.nodeType !== 1 ) {
- return;
- }
-
- if ( isFunction ) {
- val = value.call( this, i, self.val() );
- } else {
- val = value;
- }
-
- // Treat null/undefined as ""; convert numbers to string
- if ( val == null ) {
- val = "";
- } else if ( typeof val === "number" ) {
- val += "";
- } else if ( jQuery.isArray( val ) ) {
- val = jQuery.map(val, function ( value ) {
- return value == null ? "" : value + "";
- });
- }
-
- hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ];
-
- // If set returns undefined, fall back to normal setting
- if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
- this.value = val;
- }
- });
- }
-});
-
-jQuery.extend({
- valHooks: {
- option: {
- get: function( elem ) {
- // attributes.value is undefined in Blackberry 4.7 but
- // uses .value. See #6932
- var val = elem.attributes.value;
- return !val || val.specified ? elem.value : elem.text;
- }
- },
- select: {
- get: function( elem ) {
- var value, i, max, option,
- index = elem.selectedIndex,
- values = [],
- options = elem.options,
- one = elem.type === "select-one";
-
- // Nothing was selected
- if ( index < 0 ) {
- return null;
- }
-
- // Loop through all the selected options
- i = one ? index : 0;
- max = one ? index + 1 : options.length;
- for ( ; i < max; i++ ) {
- option = options[ i ];
-
- // Don't return options that are disabled or in a disabled optgroup
- if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
- (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
-
- // Get the specific value for the option
- value = jQuery( option ).val();
-
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- // Fixes Bug #2551 -- select.val() broken in IE after form.reset()
- if ( one && !values.length && options.length ) {
- return jQuery( options[ index ] ).val();
- }
-
- return values;
- },
-
- set: function( elem, value ) {
- var values = jQuery.makeArray( value );
-
- jQuery(elem).find("option").each(function() {
- this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
- });
-
- if ( !values.length ) {
- elem.selectedIndex = -1;
- }
- return values;
- }
- }
- },
-
- attrFn: {
- val: true,
- css: true,
- html: true,
- text: true,
- data: true,
- width: true,
- height: true,
- offset: true
- },
-
- attr: function( elem, name, value, pass ) {
- var ret, hooks, notxml,
- nType = elem.nodeType;
-
- // don't get/set attributes on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- if ( pass && name in jQuery.attrFn ) {
- return jQuery( elem )[ name ]( value );
- }
-
- // Fallback to prop when attributes are not supported
- if ( typeof elem.getAttribute === "undefined" ) {
- return jQuery.prop( elem, name, value );
- }
-
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
-
- // All attributes are lowercase
- // Grab necessary hook if one is defined
- if ( notxml ) {
- name = name.toLowerCase();
- hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
- }
-
- if ( value !== undefined ) {
-
- if ( value === null ) {
- jQuery.removeAttr( elem, name );
- return;
-
- } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
- return ret;
-
- } else {
- elem.setAttribute( name, "" + value );
- return value;
- }
-
- } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
- return ret;
-
- } else {
-
- ret = elem.getAttribute( name );
-
- // Non-existent attributes return null, we normalize to undefined
- return ret === null ?
- undefined :
- ret;
- }
- },
-
- removeAttr: function( elem, value ) {
- var propName, attrNames, name, l,
- i = 0;
-
- if ( value && elem.nodeType === 1 ) {
- attrNames = value.toLowerCase().split( rspace );
- l = attrNames.length;
-
- for ( ; i < l; i++ ) {
- name = attrNames[ i ];
-
- if ( name ) {
- propName = jQuery.propFix[ name ] || name;
-
- // See #9699 for explanation of this approach (setting first, then removal)
- jQuery.attr( elem, name, "" );
- elem.removeAttribute( getSetAttribute ? name : propName );
-
- // Set corresponding property to false for boolean attributes
- if ( rboolean.test( name ) && propName in elem ) {
- elem[ propName ] = false;
- }
- }
- }
- }
- },
-
- attrHooks: {
- type: {
- set: function( elem, value ) {
- // We can't allow the type property to be changed (since it causes problems in IE)
- if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
- jQuery.error( "type property can't be changed" );
- } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
- // Setting the type on a radio button after the value resets the value in IE6-9
- // Reset value to it's default in case type is set after value
- // This is for element creation
- var val = elem.value;
- elem.setAttribute( "type", value );
- if ( val ) {
- elem.value = val;
- }
- return value;
- }
- }
- },
- // Use the value property for back compat
- // Use the nodeHook for button elements in IE6/7 (#1954)
- value: {
- get: function( elem, name ) {
- if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
- return nodeHook.get( elem, name );
- }
- return name in elem ?
- elem.value :
- null;
- },
- set: function( elem, value, name ) {
- if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
- return nodeHook.set( elem, value, name );
- }
- // Does not return so that setAttribute is also used
- elem.value = value;
- }
- }
- },
-
- propFix: {
- tabindex: "tabIndex",
- readonly: "readOnly",
- "for": "htmlFor",
- "class": "className",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- cellpadding: "cellPadding",
- rowspan: "rowSpan",
- colspan: "colSpan",
- usemap: "useMap",
- frameborder: "frameBorder",
- contenteditable: "contentEditable"
- },
-
- prop: function( elem, name, value ) {
- var ret, hooks, notxml,
- nType = elem.nodeType;
-
- // don't get/set properties on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
-
- if ( notxml ) {
- // Fix name and attach hooks
- name = jQuery.propFix[ name ] || name;
- hooks = jQuery.propHooks[ name ];
- }
-
- if ( value !== undefined ) {
- if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
- return ret;
-
- } else {
- return ( elem[ name ] = value );
- }
-
- } else {
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
- return ret;
-
- } else {
- return elem[ name ];
- }
- }
- },
-
- propHooks: {
- tabIndex: {
- get: function( elem ) {
- // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- var attributeNode = elem.getAttributeNode("tabindex");
-
- return attributeNode && attributeNode.specified ?
- parseInt( attributeNode.value, 10 ) :
- rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
- 0 :
- undefined;
- }
- }
- }
-});
-
-// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional)
-jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex;
-
-// Hook for boolean attributes
-boolHook = {
- get: function( elem, name ) {
- // Align boolean attributes with corresponding properties
- // Fall back to attribute presence where some booleans are not supported
- var attrNode,
- property = jQuery.prop( elem, name );
- return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
- name.toLowerCase() :
- undefined;
- },
- set: function( elem, value, name ) {
- var propName;
- if ( value === false ) {
- // Remove boolean attributes when set to false
- jQuery.removeAttr( elem, name );
- } else {
- // value is true since we know at this point it's type boolean and not false
- // Set boolean attributes to the same name and set the DOM property
- propName = jQuery.propFix[ name ] || name;
- if ( propName in elem ) {
- // Only set the IDL specifically if it already exists on the element
- elem[ propName ] = true;
- }
-
- elem.setAttribute( name, name.toLowerCase() );
- }
- return name;
- }
-};
-
-// IE6/7 do not support getting/setting some attributes with get/setAttribute
-if ( !getSetAttribute ) {
-
- fixSpecified = {
- name: true,
- id: true
- };
-
- // Use this for any attribute in IE6/7
- // This fixes almost every IE6/7 issue
- nodeHook = jQuery.valHooks.button = {
- get: function( elem, name ) {
- var ret;
- ret = elem.getAttributeNode( name );
- return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ?
- ret.nodeValue :
- undefined;
- },
- set: function( elem, value, name ) {
- // Set the existing or create a new attribute node
- var ret = elem.getAttributeNode( name );
- if ( !ret ) {
- ret = document.createAttribute( name );
- elem.setAttributeNode( ret );
- }
- return ( ret.nodeValue = value + "" );
- }
- };
-
- // Apply the nodeHook to tabindex
- jQuery.attrHooks.tabindex.set = nodeHook.set;
-
- // Set width and height to auto instead of 0 on empty string( Bug #8150 )
- // This is for removals
- jQuery.each([ "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- set: function( elem, value ) {
- if ( value === "" ) {
- elem.setAttribute( name, "auto" );
- return value;
- }
- }
- });
- });
-
- // Set contenteditable to false on removals(#10429)
- // Setting to empty string throws an error as an invalid value
- jQuery.attrHooks.contenteditable = {
- get: nodeHook.get,
- set: function( elem, value, name ) {
- if ( value === "" ) {
- value = "false";
- }
- nodeHook.set( elem, value, name );
- }
- };
-}
-
-
-// Some attributes require a special call on IE
-if ( !jQuery.support.hrefNormalized ) {
- jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- get: function( elem ) {
- var ret = elem.getAttribute( name, 2 );
- return ret === null ? undefined : ret;
- }
- });
- });
-}
-
-if ( !jQuery.support.style ) {
- jQuery.attrHooks.style = {
- get: function( elem ) {
- // Return undefined in the case of empty string
- // Normalize to lowercase since IE uppercases css property names
- return elem.style.cssText.toLowerCase() || undefined;
- },
- set: function( elem, value ) {
- return ( elem.style.cssText = "" + value );
- }
- };
-}
-
-// Safari mis-reports the default selected property of an option
-// Accessing the parent's selectedIndex property fixes it
-if ( !jQuery.support.optSelected ) {
- jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
- get: function( elem ) {
- var parent = elem.parentNode;
-
- if ( parent ) {
- parent.selectedIndex;
-
- // Make sure that it also works with optgroups, see #5701
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- return null;
- }
- });
-}
-
-// IE6/7 call enctype encoding
-if ( !jQuery.support.enctype ) {
- jQuery.propFix.enctype = "encoding";
-}
-
-// Radios and checkboxes getter/setter
-if ( !jQuery.support.checkOn ) {
- jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = {
- get: function( elem ) {
- // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
- return elem.getAttribute("value") === null ? "on" : elem.value;
- }
- };
- });
-}
-jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
- set: function( elem, value ) {
- if ( jQuery.isArray( value ) ) {
- return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
- }
- }
- });
-});
-
-
-
-
-var rformElems = /^(?:textarea|input|select)$/i,
- rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
- rhoverHack = /\bhover(\.\S+)?\b/,
- rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|contextmenu)|click/,
- rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
- rquickIs = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,
- quickParse = function( selector ) {
- var quick = rquickIs.exec( selector );
- if ( quick ) {
- // 0 1 2 3
- // [ _, tag, id, class ]
- quick[1] = ( quick[1] || "" ).toLowerCase();
- quick[3] = quick[3] && new RegExp( "(?:^|\\s)" + quick[3] + "(?:\\s|$)" );
- }
- return quick;
- },
- quickIs = function( elem, m ) {
- var attrs = elem.attributes || {};
- return (
- (!m[1] || elem.nodeName.toLowerCase() === m[1]) &&
- (!m[2] || (attrs.id || {}).value === m[2]) &&
- (!m[3] || m[3].test( (attrs[ "class" ] || {}).value ))
- );
- },
- hoverHack = function( events ) {
- return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
- };
-
-/*
- * Helper functions for managing events -- not part of the public interface.
- * Props to Dean Edwards' addEvent library for many of the ideas.
- */
-jQuery.event = {
-
- add: function( elem, types, handler, data, selector ) {
-
- var elemData, eventHandle, events,
- t, tns, type, namespaces, handleObj,
- handleObjIn, quick, handlers, special;
-
- // Don't attach events to noData or text/comment nodes (allow plain objects tho)
- if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {
- return;
- }
-
- // Caller can pass in an object of custom data in lieu of the handler
- if ( handler.handler ) {
- handleObjIn = handler;
- handler = handleObjIn.handler;
- }
-
- // Make sure that the handler has a unique ID, used to find/remove it later
- if ( !handler.guid ) {
- handler.guid = jQuery.guid++;
- }
-
- // Init the element's event structure and main handler, if this is the first
- events = elemData.events;
- if ( !events ) {
- elemData.events = events = {};
- }
- eventHandle = elemData.handle;
- if ( !eventHandle ) {
- elemData.handle = eventHandle = function( e ) {
- // Discard the second event of a jQuery.event.trigger() and
- // when an event is called after a page has unloaded
- return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
- jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
- undefined;
- };
- // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
- eventHandle.elem = elem;
- }
-
- // Handle multiple events separated by a space
- // jQuery(...).bind("mouseover mouseout", fn);
- types = jQuery.trim( hoverHack(types) ).split( " " );
- for ( t = 0; t < types.length; t++ ) {
-
- tns = rtypenamespace.exec( types[t] ) || [];
- type = tns[1];
- namespaces = ( tns[2] || "" ).split( "." ).sort();
-
- // If event changes its type, use the special event handlers for the changed type
- special = jQuery.event.special[ type ] || {};
-
- // If selector defined, determine special event api type, otherwise given type
- type = ( selector ? special.delegateType : special.bindType ) || type;
-
- // Update special based on newly reset type
- special = jQuery.event.special[ type ] || {};
-
- // handleObj is passed to all event handlers
- handleObj = jQuery.extend({
- type: type,
- origType: tns[1],
- data: data,
- handler: handler,
- guid: handler.guid,
- selector: selector,
- quick: quickParse( selector ),
- namespace: namespaces.join(".")
- }, handleObjIn );
-
- // Init the event handler queue if we're the first
- handlers = events[ type ];
- if ( !handlers ) {
- handlers = events[ type ] = [];
- handlers.delegateCount = 0;
-
- // Only use addEventListener/attachEvent if the special events handler returns false
- if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
- // Bind the global event handler to the element
- if ( elem.addEventListener ) {
- elem.addEventListener( type, eventHandle, false );
-
- } else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, eventHandle );
- }
- }
- }
-
- if ( special.add ) {
- special.add.call( elem, handleObj );
-
- if ( !handleObj.handler.guid ) {
- handleObj.handler.guid = handler.guid;
- }
- }
-
- // Add to the element's handler list, delegates in front
- if ( selector ) {
- handlers.splice( handlers.delegateCount++, 0, handleObj );
- } else {
- handlers.push( handleObj );
- }
-
- // Keep track of which events have ever been used, for event optimization
- jQuery.event.global[ type ] = true;
- }
-
- // Nullify elem to prevent memory leaks in IE
- elem = null;
- },
-
- global: {},
-
- // Detach an event or set of events from an element
- remove: function( elem, types, handler, selector, mappedTypes ) {
-
- var elemData = jQuery.hasData( elem ) && jQuery._data( elem ),
- t, tns, type, origType, namespaces, origCount,
- j, events, special, handle, eventType, handleObj;
-
- if ( !elemData || !(events = elemData.events) ) {
- return;
- }
-
- // Once for each type.namespace in types; type may be omitted
- types = jQuery.trim( hoverHack( types || "" ) ).split(" ");
- for ( t = 0; t < types.length; t++ ) {
- tns = rtypenamespace.exec( types[t] ) || [];
- type = origType = tns[1];
- namespaces = tns[2];
-
- // Unbind all events (on this namespace, if provided) for the element
- if ( !type ) {
- for ( type in events ) {
- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
- }
- continue;
- }
-
- special = jQuery.event.special[ type ] || {};
- type = ( selector? special.delegateType : special.bindType ) || type;
- eventType = events[ type ] || [];
- origCount = eventType.length;
- namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
-
- // Remove matching events
- for ( j = 0; j < eventType.length; j++ ) {
- handleObj = eventType[ j ];
-
- if ( ( mappedTypes || origType === handleObj.origType ) &&
- ( !handler || handler.guid === handleObj.guid ) &&
- ( !namespaces || namespaces.test( handleObj.namespace ) ) &&
- ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
- eventType.splice( j--, 1 );
-
- if ( handleObj.selector ) {
- eventType.delegateCount--;
- }
- if ( special.remove ) {
- special.remove.call( elem, handleObj );
- }
- }
- }
-
- // Remove generic event handler if we removed something and no more handlers exist
- // (avoids potential for endless recursion during removal of special event handlers)
- if ( eventType.length === 0 && origCount !== eventType.length ) {
- if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
- jQuery.removeEvent( elem, type, elemData.handle );
- }
-
- delete events[ type ];
- }
- }
-
- // Remove the expando if it's no longer used
- if ( jQuery.isEmptyObject( events ) ) {
- handle = elemData.handle;
- if ( handle ) {
- handle.elem = null;
- }
-
- // removeData also checks for emptiness and clears the expando if empty
- // so use it instead of delete
- jQuery.removeData( elem, [ "events", "handle" ], true );
- }
- },
-
- // Events that are safe to short-circuit if no handlers are attached.
- // Native DOM events should not be added, they may have inline handlers.
- customEvent: {
- "getData": true,
- "setData": true,
- "changeData": true
- },
-
- trigger: function( event, data, elem, onlyHandlers ) {
- // Don't do events on text and comment nodes
- if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
- return;
- }
-
- // Event object or event type
- var type = event.type || event,
- namespaces = [],
- cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType;
-
- // focus/blur morphs to focusin/out; ensure we're not firing them right now
- if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
- return;
- }
-
- if ( type.indexOf( "!" ) >= 0 ) {
- // Exclusive events trigger only for the exact event (no namespaces)
- type = type.slice(0, -1);
- exclusive = true;
- }
-
- if ( type.indexOf( "." ) >= 0 ) {
- // Namespaced trigger; create a regexp to match event type in handle()
- namespaces = type.split(".");
- type = namespaces.shift();
- namespaces.sort();
- }
-
- if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
- // No jQuery handlers for this event type, and it can't have inline handlers
- return;
- }
-
- // Caller can pass in an Event, Object, or just an event type string
- event = typeof event === "object" ?
- // jQuery.Event object
- event[ jQuery.expando ] ? event :
- // Object literal
- new jQuery.Event( type, event ) :
- // Just the event type (string)
- new jQuery.Event( type );
-
- event.type = type;
- event.isTrigger = true;
- event.exclusive = exclusive;
- event.namespace = namespaces.join( "." );
- event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
- ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";
-
- // Handle a global trigger
- if ( !elem ) {
-
- // TODO: Stop taunting the data cache; remove global events and always attach to document
- cache = jQuery.cache;
- for ( i in cache ) {
- if ( cache[ i ].events && cache[ i ].events[ type ] ) {
- jQuery.event.trigger( event, data, cache[ i ].handle.elem, true );
- }
- }
- return;
- }
-
- // Clean up the event in case it is being reused
- event.result = undefined;
- if ( !event.target ) {
- event.target = elem;
- }
-
- // Clone any incoming data and prepend the event, creating the handler arg list
- data = data != null ? jQuery.makeArray( data ) : [];
- data.unshift( event );
-
- // Allow special events to draw outside the lines
- special = jQuery.event.special[ type ] || {};
- if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
- return;
- }
-
- // Determine event propagation path in advance, per W3C events spec (#9951)
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
- eventPath = [[ elem, special.bindType || type ]];
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
-
- bubbleType = special.delegateType || type;
- cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;
- old = null;
- for ( ; cur; cur = cur.parentNode ) {
- eventPath.push([ cur, bubbleType ]);
- old = cur;
- }
-
- // Only add window if we got to document (e.g., not plain obj or detached DOM)
- if ( old && old === elem.ownerDocument ) {
- eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
- }
- }
-
- // Fire handlers on the event path
- for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {
-
- cur = eventPath[i][0];
- event.type = eventPath[i][1];
-
- handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
- if ( handle ) {
- handle.apply( cur, data );
- }
- // Note that this is a bare JS function and not a jQuery handler
- handle = ontype && cur[ ontype ];
- if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) {
- event.preventDefault();
- }
- }
- event.type = type;
-
- // If nobody prevented the default action, do it now
- if ( !onlyHandlers && !event.isDefaultPrevented() ) {
-
- if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
- !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
-
- // Call a native DOM method on the target with the same name name as the event.
- // Can't use an .isFunction() check here because IE6/7 fails that test.
- // Don't do default actions on window, that's where global variables be (#6170)
- // IE<9 dies on focus/blur to hidden element (#1486)
- if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {
-
- // Don't re-trigger an onFOO event when we call its FOO() method
- old = elem[ ontype ];
-
- if ( old ) {
- elem[ ontype ] = null;
- }
-
- // Prevent re-triggering of the same event, since we already bubbled it above
- jQuery.event.triggered = type;
- elem[ type ]();
- jQuery.event.triggered = undefined;
-
- if ( old ) {
- elem[ ontype ] = old;
- }
- }
- }
- }
-
- return event.result;
- },
-
- dispatch: function( event ) {
-
- // Make a writable jQuery.Event from the native event object
- event = jQuery.event.fix( event || window.event );
-
- var handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []),
- delegateCount = handlers.delegateCount,
- args = [].slice.call( arguments, 0 ),
- run_all = !event.exclusive && !event.namespace,
- handlerQueue = [],
- i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related;
-
- // Use the fix-ed jQuery.Event rather than the (read-only) native event
- args[0] = event;
- event.delegateTarget = this;
-
- // Determine handlers that should run if there are delegated events
- // Avoid disabled elements in IE (#6911) and non-left-click bubbling in Firefox (#3861)
- if ( delegateCount && !event.target.disabled && !(event.button && event.type === "click") ) {
-
- // Pregenerate a single jQuery object for reuse with .is()
- jqcur = jQuery(this);
- jqcur.context = this.ownerDocument || this;
-
- for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {
- selMatch = {};
- matches = [];
- jqcur[0] = cur;
- for ( i = 0; i < delegateCount; i++ ) {
- handleObj = handlers[ i ];
- sel = handleObj.selector;
-
- if ( selMatch[ sel ] === undefined ) {
- selMatch[ sel ] = (
- handleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel )
- );
- }
- if ( selMatch[ sel ] ) {
- matches.push( handleObj );
- }
- }
- if ( matches.length ) {
- handlerQueue.push({ elem: cur, matches: matches });
- }
- }
- }
-
- // Add the remaining (directly-bound) handlers
- if ( handlers.length > delegateCount ) {
- handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });
- }
-
- // Run delegates first; they may want to stop propagation beneath us
- for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
- matched = handlerQueue[ i ];
- event.currentTarget = matched.elem;
-
- for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
- handleObj = matched.matches[ j ];
-
- // Triggered event must either 1) be non-exclusive and have no namespace, or
- // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
- if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
-
- event.data = handleObj.data;
- event.handleObj = handleObj;
-
- ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
- .apply( matched.elem, args );
-
- if ( ret !== undefined ) {
- event.result = ret;
- if ( ret === false ) {
- event.preventDefault();
- event.stopPropagation();
- }
- }
- }
- }
- }
-
- return event.result;
- },
-
- // Includes some event props shared by KeyEvent and MouseEvent
- // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
- props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
-
- fixHooks: {},
-
- keyHooks: {
- props: "char charCode key keyCode".split(" "),
- filter: function( event, original ) {
-
- // Add which for key events
- if ( event.which == null ) {
- event.which = original.charCode != null ? original.charCode : original.keyCode;
- }
-
- return event;
- }
- },
-
- mouseHooks: {
- props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
- filter: function( event, original ) {
- var eventDoc, doc, body,
- button = original.button,
- fromElement = original.fromElement;
-
- // Calculate pageX/Y if missing and clientX/Y available
- if ( event.pageX == null && original.clientX != null ) {
- eventDoc = event.target.ownerDocument || document;
- doc = eventDoc.documentElement;
- body = eventDoc.body;
-
- event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
- event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
- }
-
- // Add relatedTarget, if necessary
- if ( !event.relatedTarget && fromElement ) {
- event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
- }
-
- // Add which for click: 1 === left; 2 === middle; 3 === right
- // Note: button is not normalized, so don't use it
- if ( !event.which && button !== undefined ) {
- event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
- }
-
- return event;
- }
- },
-
- fix: function( event ) {
- if ( event[ jQuery.expando ] ) {
- return event;
- }
-
- // Create a writable copy of the event object and normalize some properties
- var i, prop,
- originalEvent = event,
- fixHook = jQuery.event.fixHooks[ event.type ] || {},
- copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
-
- event = jQuery.Event( originalEvent );
-
- for ( i = copy.length; i; ) {
- prop = copy[ --i ];
- event[ prop ] = originalEvent[ prop ];
- }
-
- // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
- if ( !event.target ) {
- event.target = originalEvent.srcElement || document;
- }
-
- // Target should not be a text node (#504, Safari)
- if ( event.target.nodeType === 3 ) {
- event.target = event.target.parentNode;
- }
-
- // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8)
- if ( event.metaKey === undefined ) {
- event.metaKey = event.ctrlKey;
- }
-
- return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
- },
-
- special: {
- ready: {
- // Make sure the ready event is setup
- setup: jQuery.bindReady
- },
-
- load: {
- // Prevent triggered image.load events from bubbling to window.load
- noBubble: true
- },
-
- focus: {
- delegateType: "focusin"
- },
- blur: {
- delegateType: "focusout"
- },
-
- beforeunload: {
- setup: function( data, namespaces, eventHandle ) {
- // We only want to do this special case on windows
- if ( jQuery.isWindow( this ) ) {
- this.onbeforeunload = eventHandle;
- }
- },
-
- teardown: function( namespaces, eventHandle ) {
- if ( this.onbeforeunload === eventHandle ) {
- this.onbeforeunload = null;
- }
- }
- }
- },
-
- simulate: function( type, elem, event, bubble ) {
- // Piggyback on a donor event to simulate a different one.
- // Fake originalEvent to avoid donor's stopPropagation, but if the
- // simulated event prevents default then we do the same on the donor.
- var e = jQuery.extend(
- new jQuery.Event(),
- event,
- { type: type,
- isSimulated: true,
- originalEvent: {}
- }
- );
- if ( bubble ) {
- jQuery.event.trigger( e, null, elem );
- } else {
- jQuery.event.dispatch.call( elem, e );
- }
- if ( e.isDefaultPrevented() ) {
- event.preventDefault();
- }
- }
-};
-
-// Some plugins are using, but it's undocumented/deprecated and will be removed.
-// The 1.7 special event interface should provide all the hooks needed now.
-jQuery.event.handle = jQuery.event.dispatch;
-
-jQuery.removeEvent = document.removeEventListener ?
- function( elem, type, handle ) {
- if ( elem.removeEventListener ) {
- elem.removeEventListener( type, handle, false );
- }
- } :
- function( elem, type, handle ) {
- if ( elem.detachEvent ) {
- elem.detachEvent( "on" + type, handle );
- }
- };
-
-jQuery.Event = function( src, props ) {
- // Allow instantiation without the 'new' keyword
- if ( !(this instanceof jQuery.Event) ) {
- return new jQuery.Event( src, props );
- }
-
- // Event object
- if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
-
- // Events bubbling up the document may have been marked as prevented
- // by a handler lower down the tree; reflect the correct value.
- this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
- src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
-
- // Event type
- } else {
- this.type = src;
- }
-
- // Put explicitly provided properties onto the event object
- if ( props ) {
- jQuery.extend( this, props );
- }
-
- // Create a timestamp if incoming event doesn't have one
- this.timeStamp = src && src.timeStamp || jQuery.now();
-
- // Mark it as fixed
- this[ jQuery.expando ] = true;
-};
-
-function returnFalse() {
- return false;
-}
-function returnTrue() {
- return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- preventDefault: function() {
- this.isDefaultPrevented = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
-
- // if preventDefault exists run it on the original event
- if ( e.preventDefault ) {
- e.preventDefault();
-
- // otherwise set the returnValue property of the original event to false (IE)
- } else {
- e.returnValue = false;
- }
- },
- stopPropagation: function() {
- this.isPropagationStopped = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
- // if stopPropagation exists run it on the original event
- if ( e.stopPropagation ) {
- e.stopPropagation();
- }
- // otherwise set the cancelBubble property of the original event to true (IE)
- e.cancelBubble = true;
- },
- stopImmediatePropagation: function() {
- this.isImmediatePropagationStopped = returnTrue;
- this.stopPropagation();
- },
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse
-};
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-jQuery.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- delegateType: fix,
- bindType: fix,
-
- handle: function( event ) {
- var target = this,
- related = event.relatedTarget,
- handleObj = event.handleObj,
- selector = handleObj.selector,
- ret;
-
- // For mousenter/leave call the handler if related is outside the target.
- // NB: No relatedTarget if the mouse left/entered the browser window
- if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
- event.type = handleObj.origType;
- ret = handleObj.handler.apply( this, arguments );
- event.type = fix;
- }
- return ret;
- }
- };
-});
-
-// IE submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
- jQuery.event.special.submit = {
- setup: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Lazy-add a submit handler when a descendant form may potentially be submitted
- jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
- // Node name check avoids a VML-related crash in IE (#9807)
- var elem = e.target,
- form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
- if ( form && !form._submit_attached ) {
- jQuery.event.add( form, "submit._submit", function( event ) {
- // If form was submitted by the user, bubble the event up the tree
- if ( this.parentNode && !event.isTrigger ) {
- jQuery.event.simulate( "submit", this.parentNode, event, true );
- }
- });
- form._submit_attached = true;
- }
- });
- // return undefined since we don't need an event listener
- },
-
- teardown: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
- jQuery.event.remove( this, "._submit" );
- }
- };
-}
-
-// IE change delegation and checkbox/radio fix
-if ( !jQuery.support.changeBubbles ) {
-
- jQuery.event.special.change = {
-
- setup: function() {
-
- if ( rformElems.test( this.nodeName ) ) {
- // IE doesn't fire change on a check/radio until blur; trigger it on click
- // after a propertychange. Eat the blur-change in special.change.handle.
- // This still fires onchange a second time for check/radio after blur.
- if ( this.type === "checkbox" || this.type === "radio" ) {
- jQuery.event.add( this, "propertychange._change", function( event ) {
- if ( event.originalEvent.propertyName === "checked" ) {
- this._just_changed = true;
- }
- });
- jQuery.event.add( this, "click._change", function( event ) {
- if ( this._just_changed && !event.isTrigger ) {
- this._just_changed = false;
- jQuery.event.simulate( "change", this, event, true );
- }
- });
- }
- return false;
- }
- // Delegated event; lazy-add a change handler on descendant inputs
- jQuery.event.add( this, "beforeactivate._change", function( e ) {
- var elem = e.target;
-
- if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {
- jQuery.event.add( elem, "change._change", function( event ) {
- if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
- jQuery.event.simulate( "change", this.parentNode, event, true );
- }
- });
- elem._change_attached = true;
- }
- });
- },
-
- handle: function( event ) {
- var elem = event.target;
-
- // Swallow native change events from checkbox/radio, we already triggered them above
- if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
- return event.handleObj.handler.apply( this, arguments );
- }
- },
-
- teardown: function() {
- jQuery.event.remove( this, "._change" );
-
- return rformElems.test( this.nodeName );
- }
- };
-}
-
-// Create "bubbling" focus and blur events
-if ( !jQuery.support.focusinBubbles ) {
- jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
- // Attach a single capturing handler while someone wants focusin/focusout
- var attaches = 0,
- handler = function( event ) {
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
- };
-
- jQuery.event.special[ fix ] = {
- setup: function() {
- if ( attaches++ === 0 ) {
- document.addEventListener( orig, handler, true );
- }
- },
- teardown: function() {
- if ( --attaches === 0 ) {
- document.removeEventListener( orig, handler, true );
- }
- }
- };
- });
-}
-
-jQuery.fn.extend({
-
- on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
- var origFn, type;
-
- // Types can be a map of types/handlers
- if ( typeof types === "object" ) {
- // ( types-Object, selector, data )
- if ( typeof selector !== "string" ) {
- // ( types-Object, data )
- data = selector;
- selector = undefined;
- }
- for ( type in types ) {
- this.on( type, selector, data, types[ type ], one );
- }
- return this;
- }
-
- if ( data == null && fn == null ) {
- // ( types, fn )
- fn = selector;
- data = selector = undefined;
- } else if ( fn == null ) {
- if ( typeof selector === "string" ) {
- // ( types, selector, fn )
- fn = data;
- data = undefined;
- } else {
- // ( types, data, fn )
- fn = data;
- data = selector;
- selector = undefined;
- }
- }
- if ( fn === false ) {
- fn = returnFalse;
- } else if ( !fn ) {
- return this;
- }
-
- if ( one === 1 ) {
- origFn = fn;
- fn = function( event ) {
- // Can use an empty set, since event contains the info
- jQuery().off( event );
- return origFn.apply( this, arguments );
- };
- // Use same guid so caller can remove using origFn
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
- }
- return this.each( function() {
- jQuery.event.add( this, types, fn, data, selector );
- });
- },
- one: function( types, selector, data, fn ) {
- return this.on.call( this, types, selector, data, fn, 1 );
- },
- off: function( types, selector, fn ) {
- if ( types && types.preventDefault && types.handleObj ) {
- // ( event ) dispatched jQuery.Event
- var handleObj = types.handleObj;
- jQuery( types.delegateTarget ).off(
- handleObj.namespace? handleObj.type + "." + handleObj.namespace : handleObj.type,
- handleObj.selector,
- handleObj.handler
- );
- return this;
- }
- if ( typeof types === "object" ) {
- // ( types-object [, selector] )
- for ( var type in types ) {
- this.off( type, selector, types[ type ] );
- }
- return this;
- }
- if ( selector === false || typeof selector === "function" ) {
- // ( types [, fn] )
- fn = selector;
- selector = undefined;
- }
- if ( fn === false ) {
- fn = returnFalse;
- }
- return this.each(function() {
- jQuery.event.remove( this, types, fn, selector );
- });
- },
-
- bind: function( types, data, fn ) {
- return this.on( types, null, data, fn );
- },
- unbind: function( types, fn ) {
- return this.off( types, null, fn );
- },
-
- live: function( types, data, fn ) {
- jQuery( this.context ).on( types, this.selector, data, fn );
- return this;
- },
- die: function( types, fn ) {
- jQuery( this.context ).off( types, this.selector || "**", fn );
- return this;
- },
-
- delegate: function( selector, types, data, fn ) {
- return this.on( types, selector, data, fn );
- },
- undelegate: function( selector, types, fn ) {
- // ( namespace ) or ( selector, types [, fn] )
- return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn );
- },
-
- trigger: function( type, data ) {
- return this.each(function() {
- jQuery.event.trigger( type, data, this );
- });
- },
- triggerHandler: function( type, data ) {
- if ( this[0] ) {
- return jQuery.event.trigger( type, data, this[0], true );
- }
- },
-
- toggle: function( fn ) {
- // Save reference to arguments for access in closure
- var args = arguments,
- guid = fn.guid || jQuery.guid++,
- i = 0,
- toggler = function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- };
-
- // link all the functions, so any of them can unbind this click handler
- toggler.guid = guid;
- while ( i < args.length ) {
- args[ i++ ].guid = guid;
- }
-
- return this.click( toggler );
- },
-
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-});
-
-jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( data, fn ) {
- if ( fn == null ) {
- fn = data;
- data = null;
- }
-
- return arguments.length > 0 ?
- this.on( name, null, data, fn ) :
- this.trigger( name );
- };
-
- if ( jQuery.attrFn ) {
- jQuery.attrFn[ name ] = true;
- }
-
- if ( rkeyEvent.test( name ) ) {
- jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
- }
-
- if ( rmouseEvent.test( name ) ) {
- jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
- }
-});
-
-
-
-/*!
- * Sizzle CSS Selector Engine
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
- expando = "sizcache" + (Math.random() + '').replace('.', ''),
- done = 0,
- toString = Object.prototype.toString,
- hasDuplicate = false,
- baseHasDuplicate = true,
- rBackslash = /\\/g,
- rReturn = /\r\n/g,
- rNonWord = /\W/;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-// Thus far that includes Google Chrome.
-[0, 0].sort(function() {
- baseHasDuplicate = false;
- return 0;
-});
-
-var Sizzle = function( selector, context, results, seed ) {
- results = results || [];
- context = context || document;
-
- var origContext = context;
-
- if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
- return [];
- }
-
- if ( !selector || typeof selector !== "string" ) {
- return results;
- }
-
- var m, set, checkSet, extra, ret, cur, pop, i,
- prune = true,
- contextXML = Sizzle.isXML( context ),
- parts = [],
- soFar = selector;
-
- // Reset the position of the chunker regexp (start from head)
- do {
- chunker.exec( "" );
- m = chunker.exec( soFar );
-
- if ( m ) {
- soFar = m[3];
-
- parts.push( m[1] );
-
- if ( m[2] ) {
- extra = m[3];
- break;
- }
- }
- } while ( m );
-
- if ( parts.length > 1 && origPOS.exec( selector ) ) {
-
- if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
- set = posProcess( parts[0] + parts[1], context, seed );
-
- } else {
- set = Expr.relative[ parts[0] ] ?
- [ context ] :
- Sizzle( parts.shift(), context );
-
- while ( parts.length ) {
- selector = parts.shift();
-
- if ( Expr.relative[ selector ] ) {
- selector += parts.shift();
- }
-
- set = posProcess( selector, set, seed );
- }
- }
-
- } else {
- // Take a shortcut and set the context if the root selector is an ID
- // (but not if it'll be faster if the inner selector is an ID)
- if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
- Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
-
- ret = Sizzle.find( parts.shift(), context, contextXML );
- context = ret.expr ?
- Sizzle.filter( ret.expr, ret.set )[0] :
- ret.set[0];
- }
-
- if ( context ) {
- ret = seed ?
- { expr: parts.pop(), set: makeArray(seed) } :
- Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
-
- set = ret.expr ?
- Sizzle.filter( ret.expr, ret.set ) :
- ret.set;
-
- if ( parts.length > 0 ) {
- checkSet = makeArray( set );
-
- } else {
- prune = false;
- }
-
- while ( parts.length ) {
- cur = parts.pop();
- pop = cur;
-
- if ( !Expr.relative[ cur ] ) {
- cur = "";
- } else {
- pop = parts.pop();
- }
-
- if ( pop == null ) {
- pop = context;
- }
-
- Expr.relative[ cur ]( checkSet, pop, contextXML );
- }
-
- } else {
- checkSet = parts = [];
- }
- }
-
- if ( !checkSet ) {
- checkSet = set;
- }
-
- if ( !checkSet ) {
- Sizzle.error( cur || selector );
- }
-
- if ( toString.call(checkSet) === "[object Array]" ) {
- if ( !prune ) {
- results.push.apply( results, checkSet );
-
- } else if ( context && context.nodeType === 1 ) {
- for ( i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
- results.push( set[i] );
- }
- }
-
- } else {
- for ( i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
- results.push( set[i] );
- }
- }
- }
-
- } else {
- makeArray( checkSet, results );
- }
-
- if ( extra ) {
- Sizzle( extra, origContext, results, seed );
- Sizzle.uniqueSort( results );
- }
-
- return results;
-};
-
-Sizzle.uniqueSort = function( results ) {
- if ( sortOrder ) {
- hasDuplicate = baseHasDuplicate;
- results.sort( sortOrder );
-
- if ( hasDuplicate ) {
- for ( var i = 1; i < results.length; i++ ) {
- if ( results[i] === results[ i - 1 ] ) {
- results.splice( i--, 1 );
- }
- }
- }
- }
-
- return results;
-};
-
-Sizzle.matches = function( expr, set ) {
- return Sizzle( expr, null, null, set );
-};
-
-Sizzle.matchesSelector = function( node, expr ) {
- return Sizzle( expr, null, null, [node] ).length > 0;
-};
-
-Sizzle.find = function( expr, context, isXML ) {
- var set, i, len, match, type, left;
-
- if ( !expr ) {
- return [];
- }
-
- for ( i = 0, len = Expr.order.length; i < len; i++ ) {
- type = Expr.order[i];
-
- if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
- left = match[1];
- match.splice( 1, 1 );
-
- if ( left.substr( left.length - 1 ) !== "\\" ) {
- match[1] = (match[1] || "").replace( rBackslash, "" );
- set = Expr.find[ type ]( match, context, isXML );
-
- if ( set != null ) {
- expr = expr.replace( Expr.match[ type ], "" );
- break;
- }
- }
- }
- }
-
- if ( !set ) {
- set = typeof context.getElementsByTagName !== "undefined" ?
- context.getElementsByTagName( "*" ) :
- [];
- }
-
- return { set: set, expr: expr };
-};
-
-Sizzle.filter = function( expr, set, inplace, not ) {
- var match, anyFound,
- type, found, item, filter, left,
- i, pass,
- old = expr,
- result = [],
- curLoop = set,
- isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
-
- while ( expr && set.length ) {
- for ( type in Expr.filter ) {
- if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
- filter = Expr.filter[ type ];
- left = match[1];
-
- anyFound = false;
-
- match.splice(1,1);
-
- if ( left.substr( left.length - 1 ) === "\\" ) {
- continue;
- }
-
- if ( curLoop === result ) {
- result = [];
- }
-
- if ( Expr.preFilter[ type ] ) {
- match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
- if ( !match ) {
- anyFound = found = true;
-
- } else if ( match === true ) {
- continue;
- }
- }
-
- if ( match ) {
- for ( i = 0; (item = curLoop[i]) != null; i++ ) {
- if ( item ) {
- found = filter( item, match, i, curLoop );
- pass = not ^ found;
-
- if ( inplace && found != null ) {
- if ( pass ) {
- anyFound = true;
-
- } else {
- curLoop[i] = false;
- }
-
- } else if ( pass ) {
- result.push( item );
- anyFound = true;
- }
- }
- }
- }
-
- if ( found !== undefined ) {
- if ( !inplace ) {
- curLoop = result;
- }
-
- expr = expr.replace( Expr.match[ type ], "" );
-
- if ( !anyFound ) {
- return [];
- }
-
- break;
- }
- }
- }
-
- // Improper expression
- if ( expr === old ) {
- if ( anyFound == null ) {
- Sizzle.error( expr );
-
- } else {
- break;
- }
- }
-
- old = expr;
- }
-
- return curLoop;
-};
-
-Sizzle.error = function( msg ) {
- throw new Error( "Syntax error, unrecognized expression: " + msg );
-};
-
-/**
- * Utility function for retreiving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-var getText = Sizzle.getText = function( elem ) {
- var i, node,
- nodeType = elem.nodeType,
- ret = "";
-
- if ( nodeType ) {
- if ( nodeType === 1 || nodeType === 9 ) {
- // Use textContent || innerText for elements
- if ( typeof elem.textContent === 'string' ) {
- return elem.textContent;
- } else if ( typeof elem.innerText === 'string' ) {
- // Replace IE's carriage returns
- return elem.innerText.replace( rReturn, '' );
- } else {
- // Traverse it's children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling) {
- ret += getText( elem );
- }
- }
- } else if ( nodeType === 3 || nodeType === 4 ) {
- return elem.nodeValue;
- }
- } else {
-
- // If no nodeType, this is expected to be an array
- for ( i = 0; (node = elem[i]); i++ ) {
- // Do not traverse comment nodes
- if ( node.nodeType !== 8 ) {
- ret += getText( node );
- }
- }
- }
- return ret;
-};
-
-var Expr = Sizzle.selectors = {
- order: [ "ID", "NAME", "TAG" ],
-
- match: {
- ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
- CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
- NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
- ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
- TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
- CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
- POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
- PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
- },
-
- leftMatch: {},
-
- attrMap: {
- "class": "className",
- "for": "htmlFor"
- },
-
- attrHandle: {
- href: function( elem ) {
- return elem.getAttribute( "href" );
- },
- type: function( elem ) {
- return elem.getAttribute( "type" );
- }
- },
-
- relative: {
- "+": function(checkSet, part){
- var isPartStr = typeof part === "string",
- isTag = isPartStr && !rNonWord.test( part ),
- isPartStrNotTag = isPartStr && !isTag;
-
- if ( isTag ) {
- part = part.toLowerCase();
- }
-
- for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
- if ( (elem = checkSet[i]) ) {
- while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
- checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
- elem || false :
- elem === part;
- }
- }
-
- if ( isPartStrNotTag ) {
- Sizzle.filter( part, checkSet, true );
- }
- },
-
- ">": function( checkSet, part ) {
- var elem,
- isPartStr = typeof part === "string",
- i = 0,
- l = checkSet.length;
-
- if ( isPartStr && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
-
- for ( ; i < l; i++ ) {
- elem = checkSet[i];
-
- if ( elem ) {
- var parent = elem.parentNode;
- checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
- }
- }
-
- } else {
- for ( ; i < l; i++ ) {
- elem = checkSet[i];
-
- if ( elem ) {
- checkSet[i] = isPartStr ?
- elem.parentNode :
- elem.parentNode === part;
- }
- }
-
- if ( isPartStr ) {
- Sizzle.filter( part, checkSet, true );
- }
- }
- },
-
- "": function(checkSet, part, isXML){
- var nodeCheck,
- doneName = done++,
- checkFn = dirCheck;
-
- if ( typeof part === "string" && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
- nodeCheck = part;
- checkFn = dirNodeCheck;
- }
-
- checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );
- },
-
- "~": function( checkSet, part, isXML ) {
- var nodeCheck,
- doneName = done++,
- checkFn = dirCheck;
-
- if ( typeof part === "string" && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
- nodeCheck = part;
- checkFn = dirNodeCheck;
- }
-
- checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
- }
- },
-
- find: {
- ID: function( match, context, isXML ) {
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- return m && m.parentNode ? [m] : [];
- }
- },
-
- NAME: function( match, context ) {
- if ( typeof context.getElementsByName !== "undefined" ) {
- var ret = [],
- results = context.getElementsByName( match[1] );
-
- for ( var i = 0, l = results.length; i < l; i++ ) {
- if ( results[i].getAttribute("name") === match[1] ) {
- ret.push( results[i] );
- }
- }
-
- return ret.length === 0 ? null : ret;
- }
- },
-
- TAG: function( match, context ) {
- if ( typeof context.getElementsByTagName !== "undefined" ) {
- return context.getElementsByTagName( match[1] );
- }
- }
- },
- preFilter: {
- CLASS: function( match, curLoop, inplace, result, not, isXML ) {
- match = " " + match[1].replace( rBackslash, "" ) + " ";
-
- if ( isXML ) {
- return match;
- }
-
- for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
- if ( elem ) {
- if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
- if ( !inplace ) {
- result.push( elem );
- }
-
- } else if ( inplace ) {
- curLoop[i] = false;
- }
- }
- }
-
- return false;
- },
-
- ID: function( match ) {
- return match[1].replace( rBackslash, "" );
- },
-
- TAG: function( match, curLoop ) {
- return match[1].replace( rBackslash, "" ).toLowerCase();
- },
-
- CHILD: function( match ) {
- if ( match[1] === "nth" ) {
- if ( !match[2] ) {
- Sizzle.error( match[0] );
- }
-
- match[2] = match[2].replace(/^\+|\s*/g, '');
-
- // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
- var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
- match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
- !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
-
- // calculate the numbers (first)n+(last) including if they are negative
- match[2] = (test[1] + (test[2] || 1)) - 0;
- match[3] = test[3] - 0;
- }
- else if ( match[2] ) {
- Sizzle.error( match[0] );
- }
-
- // TODO: Move to normal caching system
- match[0] = done++;
-
- return match;
- },
-
- ATTR: function( match, curLoop, inplace, result, not, isXML ) {
- var name = match[1] = match[1].replace( rBackslash, "" );
-
- if ( !isXML && Expr.attrMap[name] ) {
- match[1] = Expr.attrMap[name];
- }
-
- // Handle if an un-quoted value was used
- match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
-
- if ( match[2] === "~=" ) {
- match[4] = " " + match[4] + " ";
- }
-
- return match;
- },
-
- PSEUDO: function( match, curLoop, inplace, result, not ) {
- if ( match[1] === "not" ) {
- // If we're dealing with a complex expression, or a simple one
- if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
- match[3] = Sizzle(match[3], null, null, curLoop);
-
- } else {
- var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
-
- if ( !inplace ) {
- result.push.apply( result, ret );
- }
-
- return false;
- }
-
- } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
- return true;
- }
-
- return match;
- },
-
- POS: function( match ) {
- match.unshift( true );
-
- return match;
- }
- },
-
- filters: {
- enabled: function( elem ) {
- return elem.disabled === false && elem.type !== "hidden";
- },
-
- disabled: function( elem ) {
- return elem.disabled === true;
- },
-
- checked: function( elem ) {
- return elem.checked === true;
- },
-
- selected: function( elem ) {
- // Accessing this property makes selected-by-default
- // options in Safari work properly
- if ( elem.parentNode ) {
- elem.parentNode.selectedIndex;
- }
-
- return elem.selected === true;
- },
-
- parent: function( elem ) {
- return !!elem.firstChild;
- },
-
- empty: function( elem ) {
- return !elem.firstChild;
- },
-
- has: function( elem, i, match ) {
- return !!Sizzle( match[3], elem ).length;
- },
-
- header: function( elem ) {
- return (/h\d/i).test( elem.nodeName );
- },
-
- text: function( elem ) {
- var attr = elem.getAttribute( "type" ), type = elem.type;
- // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
- // use getAttribute instead to test this case
- return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
- },
-
- radio: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;
- },
-
- checkbox: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;
- },
-
- file: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "file" === elem.type;
- },
-
- password: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "password" === elem.type;
- },
-
- submit: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && "submit" === elem.type;
- },
-
- image: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "image" === elem.type;
- },
-
- reset: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && "reset" === elem.type;
- },
-
- button: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && "button" === elem.type || name === "button";
- },
-
- input: function( elem ) {
- return (/input|select|textarea|button/i).test( elem.nodeName );
- },
-
- focus: function( elem ) {
- return elem === elem.ownerDocument.activeElement;
- }
- },
- setFilters: {
- first: function( elem, i ) {
- return i === 0;
- },
-
- last: function( elem, i, match, array ) {
- return i === array.length - 1;
- },
-
- even: function( elem, i ) {
- return i % 2 === 0;
- },
-
- odd: function( elem, i ) {
- return i % 2 === 1;
- },
-
- lt: function( elem, i, match ) {
- return i < match[3] - 0;
- },
-
- gt: function( elem, i, match ) {
- return i > match[3] - 0;
- },
-
- nth: function( elem, i, match ) {
- return match[3] - 0 === i;
- },
-
- eq: function( elem, i, match ) {
- return match[3] - 0 === i;
- }
- },
- filter: {
- PSEUDO: function( elem, match, i, array ) {
- var name = match[1],
- filter = Expr.filters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
-
- } else if ( name === "contains" ) {
- return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
-
- } else if ( name === "not" ) {
- var not = match[3];
-
- for ( var j = 0, l = not.length; j < l; j++ ) {
- if ( not[j] === elem ) {
- return false;
- }
- }
-
- return true;
-
- } else {
- Sizzle.error( name );
- }
- },
-
- CHILD: function( elem, match ) {
- var first, last,
- doneName, parent, cache,
- count, diff,
- type = match[1],
- node = elem;
-
- switch ( type ) {
- case "only":
- case "first":
- while ( (node = node.previousSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
-
- if ( type === "first" ) {
- return true;
- }
-
- node = elem;
-
- case "last":
- while ( (node = node.nextSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
-
- return true;
-
- case "nth":
- first = match[2];
- last = match[3];
-
- if ( first === 1 && last === 0 ) {
- return true;
- }
-
- doneName = match[0];
- parent = elem.parentNode;
-
- if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) {
- count = 0;
-
- for ( node = parent.firstChild; node; node = node.nextSibling ) {
- if ( node.nodeType === 1 ) {
- node.nodeIndex = ++count;
- }
- }
-
- parent[ expando ] = doneName;
- }
-
- diff = elem.nodeIndex - last;
-
- if ( first === 0 ) {
- return diff === 0;
-
- } else {
- return ( diff % first === 0 && diff / first >= 0 );
- }
- }
- },
-
- ID: function( elem, match ) {
- return elem.nodeType === 1 && elem.getAttribute("id") === match;
- },
-
- TAG: function( elem, match ) {
- return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match;
- },
-
- CLASS: function( elem, match ) {
- return (" " + (elem.className || elem.getAttribute("class")) + " ")
- .indexOf( match ) > -1;
- },
-
- ATTR: function( elem, match ) {
- var name = match[1],
- result = Sizzle.attr ?
- Sizzle.attr( elem, name ) :
- Expr.attrHandle[ name ] ?
- Expr.attrHandle[ name ]( elem ) :
- elem[ name ] != null ?
- elem[ name ] :
- elem.getAttribute( name ),
- value = result + "",
- type = match[2],
- check = match[4];
-
- return result == null ?
- type === "!=" :
- !type && Sizzle.attr ?
- result != null :
- type === "=" ?
- value === check :
- type === "*=" ?
- value.indexOf(check) >= 0 :
- type === "~=" ?
- (" " + value + " ").indexOf(check) >= 0 :
- !check ?
- value && result !== false :
- type === "!=" ?
- value !== check :
- type === "^=" ?
- value.indexOf(check) === 0 :
- type === "$=" ?
- value.substr(value.length - check.length) === check :
- type === "|=" ?
- value === check || value.substr(0, check.length + 1) === check + "-" :
- false;
- },
-
- POS: function( elem, match, i, array ) {
- var name = match[2],
- filter = Expr.setFilters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
- }
- }
- }
-};
-
-var origPOS = Expr.match.POS,
- fescape = function(all, num){
- return "\\" + (num - 0 + 1);
- };
-
-for ( var type in Expr.match ) {
- Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
- Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
-}
-
-var makeArray = function( array, results ) {
- array = Array.prototype.slice.call( array, 0 );
-
- if ( results ) {
- results.push.apply( results, array );
- return results;
- }
-
- return array;
-};
-
-// Perform a simple check to determine if the browser is capable of
-// converting a NodeList to an array using builtin methods.
-// Also verifies that the returned array holds DOM nodes
-// (which is not the case in the Blackberry browser)
-try {
- Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
-
-// Provide a fallback method if it does not work
-} catch( e ) {
- makeArray = function( array, results ) {
- var i = 0,
- ret = results || [];
-
- if ( toString.call(array) === "[object Array]" ) {
- Array.prototype.push.apply( ret, array );
-
- } else {
- if ( typeof array.length === "number" ) {
- for ( var l = array.length; i < l; i++ ) {
- ret.push( array[i] );
- }
-
- } else {
- for ( ; array[i]; i++ ) {
- ret.push( array[i] );
- }
- }
- }
-
- return ret;
- };
-}
-
-var sortOrder, siblingCheck;
-
-if ( document.documentElement.compareDocumentPosition ) {
- sortOrder = function( a, b ) {
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
- return a.compareDocumentPosition ? -1 : 1;
- }
-
- return a.compareDocumentPosition(b) & 4 ? -1 : 1;
- };
-
-} else {
- sortOrder = function( a, b ) {
- // The nodes are identical, we can exit early
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
-
- // Fallback to using sourceIndex (in IE) if it's available on both nodes
- } else if ( a.sourceIndex && b.sourceIndex ) {
- return a.sourceIndex - b.sourceIndex;
- }
-
- var al, bl,
- ap = [],
- bp = [],
- aup = a.parentNode,
- bup = b.parentNode,
- cur = aup;
-
- // If the nodes are siblings (or identical) we can do a quick check
- if ( aup === bup ) {
- return siblingCheck( a, b );
-
- // If no parents were found then the nodes are disconnected
- } else if ( !aup ) {
- return -1;
-
- } else if ( !bup ) {
- return 1;
- }
-
- // Otherwise they're somewhere else in the tree so we need
- // to build up a full list of the parentNodes for comparison
- while ( cur ) {
- ap.unshift( cur );
- cur = cur.parentNode;
- }
-
- cur = bup;
-
- while ( cur ) {
- bp.unshift( cur );
- cur = cur.parentNode;
- }
-
- al = ap.length;
- bl = bp.length;
-
- // Start walking down the tree looking for a discrepancy
- for ( var i = 0; i < al && i < bl; i++ ) {
- if ( ap[i] !== bp[i] ) {
- return siblingCheck( ap[i], bp[i] );
- }
- }
-
- // We ended someplace up the tree so do a sibling check
- return i === al ?
- siblingCheck( a, bp[i], -1 ) :
- siblingCheck( ap[i], b, 1 );
- };
-
- siblingCheck = function( a, b, ret ) {
- if ( a === b ) {
- return ret;
- }
-
- var cur = a.nextSibling;
-
- while ( cur ) {
- if ( cur === b ) {
- return -1;
- }
-
- cur = cur.nextSibling;
- }
-
- return 1;
- };
-}
-
-// Check to see if the browser returns elements by name when
-// querying by getElementById (and provide a workaround)
-(function(){
- // We're going to inject a fake input element with a specified name
- var form = document.createElement("div"),
- id = "script" + (new Date()).getTime(),
- root = document.documentElement;
-
- form.innerHTML = "<a name='" + id + "'/>";
-
- // Inject it into the root element, check its status, and remove it quickly
- root.insertBefore( form, root.firstChild );
-
- // The workaround has to do additional checks after a getElementById
- // Which slows things down for other browsers (hence the branching)
- if ( document.getElementById( id ) ) {
- Expr.find.ID = function( match, context, isXML ) {
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
-
- return m ?
- m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
- [m] :
- undefined :
- [];
- }
- };
-
- Expr.filter.ID = function( elem, match ) {
- var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
-
- return elem.nodeType === 1 && node && node.nodeValue === match;
- };
- }
-
- root.removeChild( form );
-
- // release memory in IE
- root = form = null;
-})();
-
-(function(){
- // Check to see if the browser returns only elements
- // when doing getElementsByTagName("*")
-
- // Create a fake element
- var div = document.createElement("div");
- div.appendChild( document.createComment("") );
-
- // Make sure no comments are found
- if ( div.getElementsByTagName("*").length > 0 ) {
- Expr.find.TAG = function( match, context ) {
- var results = context.getElementsByTagName( match[1] );
-
- // Filter out possible comments
- if ( match[1] === "*" ) {
- var tmp = [];
-
- for ( var i = 0; results[i]; i++ ) {
- if ( results[i].nodeType === 1 ) {
- tmp.push( results[i] );
- }
- }
-
- results = tmp;
- }
-
- return results;
- };
- }
-
- // Check to see if an attribute returns normalized href attributes
- div.innerHTML = "<a href='#'></a>";
-
- if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
- div.firstChild.getAttribute("href") !== "#" ) {
-
- Expr.attrHandle.href = function( elem ) {
- return elem.getAttribute( "href", 2 );
- };
- }
-
- // release memory in IE
- div = null;
-})();
-
-if ( document.querySelectorAll ) {
- (function(){
- var oldSizzle = Sizzle,
- div = document.createElement("div"),
- id = "__sizzle__";
-
- div.innerHTML = "<p class='TEST'></p>";
-
- // Safari can't handle uppercase or unicode characters when
- // in quirks mode.
- if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
- return;
- }
-
- Sizzle = function( query, context, extra, seed ) {
- context = context || document;
-
- // Only use querySelectorAll on non-XML documents
- // (ID selectors don't work in non-HTML documents)
- if ( !seed && !Sizzle.isXML(context) ) {
- // See if we find a selector to speed up
- var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
-
- if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
- // Speed-up: Sizzle("TAG")
- if ( match[1] ) {
- return makeArray( context.getElementsByTagName( query ), extra );
-
- // Speed-up: Sizzle(".CLASS")
- } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
- return makeArray( context.getElementsByClassName( match[2] ), extra );
- }
- }
-
- if ( context.nodeType === 9 ) {
- // Speed-up: Sizzle("body")
- // The body element only exists once, optimize finding it
- if ( query === "body" && context.body ) {
- return makeArray( [ context.body ], extra );
-
- // Speed-up: Sizzle("#ID")
- } else if ( match && match[3] ) {
- var elem = context.getElementById( match[3] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id === match[3] ) {
- return makeArray( [ elem ], extra );
- }
-
- } else {
- return makeArray( [], extra );
- }
- }
-
- try {
- return makeArray( context.querySelectorAll(query), extra );
- } catch(qsaError) {}
-
- // qSA works strangely on Element-rooted queries
- // We can work around this by specifying an extra ID on the root
- // and working up from there (Thanks to Andrew Dupont for the technique)
- // IE 8 doesn't work on object elements
- } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
- var oldContext = context,
- old = context.getAttribute( "id" ),
- nid = old || id,
- hasParent = context.parentNode,
- relativeHierarchySelector = /^\s*[+~]/.test( query );
-
- if ( !old ) {
- context.setAttribute( "id", nid );
- } else {
- nid = nid.replace( /'/g, "\\$&" );
- }
- if ( relativeHierarchySelector && hasParent ) {
- context = context.parentNode;
- }
-
- try {
- if ( !relativeHierarchySelector || hasParent ) {
- return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
- }
-
- } catch(pseudoError) {
- } finally {
- if ( !old ) {
- oldContext.removeAttribute( "id" );
- }
- }
- }
- }
-
- return oldSizzle(query, context, extra, seed);
- };
-
- for ( var prop in oldSizzle ) {
- Sizzle[ prop ] = oldSizzle[ prop ];
- }
-
- // release memory in IE
- div = null;
- })();
-}
-
-(function(){
- var html = document.documentElement,
- matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
-
- if ( matches ) {
- // Check to see if it's possible to do matchesSelector
- // on a disconnected node (IE 9 fails this)
- var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
- pseudoWorks = false;
-
- try {
- // This should fail with an exception
- // Gecko does not error, returns false instead
- matches.call( document.documentElement, "[test!='']:sizzle" );
-
- } catch( pseudoError ) {
- pseudoWorks = true;
- }
-
- Sizzle.matchesSelector = function( node, expr ) {
- // Make sure that attribute selectors are quoted
- expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
-
- if ( !Sizzle.isXML( node ) ) {
- try {
- if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
- var ret = matches.call( node, expr );
-
- // IE 9's matchesSelector returns false on disconnected nodes
- if ( ret || !disconnectedMatch ||
- // As well, disconnected nodes are said to be in a document
- // fragment in IE 9, so check for that
- node.document && node.document.nodeType !== 11 ) {
- return ret;
- }
- }
- } catch(e) {}
- }
-
- return Sizzle(expr, null, null, [node]).length > 0;
- };
- }
-})();
-
-(function(){
- var div = document.createElement("div");
-
- div.innerHTML = "<div class='test e'></div><div class='test'></div>";
-
- // Opera can't find a second classname (in 9.6)
- // Also, make sure that getElementsByClassName actually exists
- if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
- return;
- }
-
- // Safari caches class attributes, doesn't catch changes (in 3.2)
- div.lastChild.className = "e";
-
- if ( div.getElementsByClassName("e").length === 1 ) {
- return;
- }
-
- Expr.order.splice(1, 0, "CLASS");
- Expr.find.CLASS = function( match, context, isXML ) {
- if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
- return context.getElementsByClassName(match[1]);
- }
- };
-
- // release memory in IE
- div = null;
-})();
-
-function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
-
- if ( elem ) {
- var match = false;
-
- elem = elem[dir];
-
- while ( elem ) {
- if ( elem[ expando ] === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 && !isXML ){
- elem[ expando ] = doneName;
- elem.sizset = i;
- }
-
- if ( elem.nodeName.toLowerCase() === cur ) {
- match = elem;
- break;
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
-
- if ( elem ) {
- var match = false;
-
- elem = elem[dir];
-
- while ( elem ) {
- if ( elem[ expando ] === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 ) {
- if ( !isXML ) {
- elem[ expando ] = doneName;
- elem.sizset = i;
- }
-
- if ( typeof cur !== "string" ) {
- if ( elem === cur ) {
- match = true;
- break;
- }
-
- } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
- match = elem;
- break;
- }
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-if ( document.documentElement.contains ) {
- Sizzle.contains = function( a, b ) {
- return a !== b && (a.contains ? a.contains(b) : true);
- };
-
-} else if ( document.documentElement.compareDocumentPosition ) {
- Sizzle.contains = function( a, b ) {
- return !!(a.compareDocumentPosition(b) & 16);
- };
-
-} else {
- Sizzle.contains = function() {
- return false;
- };
-}
-
-Sizzle.isXML = function( elem ) {
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
-
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-var posProcess = function( selector, context, seed ) {
- var match,
- tmpSet = [],
- later = "",
- root = context.nodeType ? [context] : context;
-
- // Position selectors must be done after the filter
- // And so must :not(positional) so we move all PSEUDOs to the end
- while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
- later += match[0];
- selector = selector.replace( Expr.match.PSEUDO, "" );
- }
-
- selector = Expr.relative[selector] ? selector + "*" : selector;
-
- for ( var i = 0, l = root.length; i < l; i++ ) {
- Sizzle( selector, root[i], tmpSet, seed );
- }
-
- return Sizzle.filter( later, tmpSet );
-};
-
-// EXPOSE
-// Override sizzle attribute retrieval
-Sizzle.attr = jQuery.attr;
-Sizzle.selectors.attrMap = {};
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[":"] = jQuery.expr.filters;
-jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-
-
-})();
-
-
-var runtil = /Until$/,
- rparentsprev = /^(?:parents|prevUntil|prevAll)/,
- // Note: This RegExp should be improved, or likely pulled from Sizzle
- rmultiselector = /,/,
- isSimple = /^.[^:#\[\.,]*$/,
- slice = Array.prototype.slice,
- POS = jQuery.expr.match.POS,
- // methods guaranteed to produce a unique set when starting from a unique set
- guaranteedUnique = {
- children: true,
- contents: true,
- next: true,
- prev: true
- };
-
-jQuery.fn.extend({
- find: function( selector ) {
- var self = this,
- i, l;
-
- if ( typeof selector !== "string" ) {
- return jQuery( selector ).filter(function() {
- for ( i = 0, l = self.length; i < l; i++ ) {
- if ( jQuery.contains( self[ i ], this ) ) {
- return true;
- }
- }
- });
- }
-
- var ret = this.pushStack( "", "find", selector ),
- length, n, r;
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- length = ret.length;
- jQuery.find( selector, this[i], ret );
-
- if ( i > 0 ) {
- // Make sure that the results are unique
- for ( n = length; n < ret.length; n++ ) {
- for ( r = 0; r < length; r++ ) {
- if ( ret[r] === ret[n] ) {
- ret.splice(n--, 1);
- break;
- }
- }
- }
- }
- }
-
- return ret;
- },
-
- has: function( target ) {
- var targets = jQuery( target );
- return this.filter(function() {
- for ( var i = 0, l = targets.length; i < l; i++ ) {
- if ( jQuery.contains( this, targets[i] ) ) {
- return true;
- }
- }
- });
- },
-
- not: function( selector ) {
- return this.pushStack( winnow(this, selector, false), "not", selector);
- },
-
- filter: function( selector ) {
- return this.pushStack( winnow(this, selector, true), "filter", selector );
- },
-
- is: function( selector ) {
- return !!selector && (
- typeof selector === "string" ?
- // If this is a positional selector, check membership in the returned set
- // so $("p:first").is("p:last") won't return true for a doc with two "p".
- POS.test( selector ) ?
- jQuery( selector, this.context ).index( this[0] ) >= 0 :
- jQuery.filter( selector, this ).length > 0 :
- this.filter( selector ).length > 0 );
- },
-
- closest: function( selectors, context ) {
- var ret = [], i, l, cur = this[0];
-
- // Array (deprecated as of jQuery 1.7)
- if ( jQuery.isArray( selectors ) ) {
- var level = 1;
-
- while ( cur && cur.ownerDocument && cur !== context ) {
- for ( i = 0; i < selectors.length; i++ ) {
-
- if ( jQuery( cur ).is( selectors[ i ] ) ) {
- ret.push({ selector: selectors[ i ], elem: cur, level: level });
- }
- }
-
- cur = cur.parentNode;
- level++;
- }
-
- return ret;
- }
-
- // String
- var pos = POS.test( selectors ) || typeof selectors !== "string" ?
- jQuery( selectors, context || this.context ) :
- 0;
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- cur = this[i];
-
- while ( cur ) {
- if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
- ret.push( cur );
- break;
-
- } else {
- cur = cur.parentNode;
- if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {
- break;
- }
- }
- }
- }
-
- ret = ret.length > 1 ? jQuery.unique( ret ) : ret;
-
- return this.pushStack( ret, "closest", selectors );
- },
-
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
-
- // No argument, return index in parent
- if ( !elem ) {
- return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
- }
-
- // index in selector
- if ( typeof elem === "string" ) {
- return jQuery.inArray( this[0], jQuery( elem ) );
- }
-
- // Locate the position of the desired element
- return jQuery.inArray(
- // If it receives a jQuery object, the first element is used
- elem.jquery ? elem[0] : elem, this );
- },
-
- add: function( selector, context ) {
- var set = typeof selector === "string" ?
- jQuery( selector, context ) :
- jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
- all = jQuery.merge( this.get(), set );
-
- return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
- all :
- jQuery.unique( all ) );
- },
-
- andSelf: function() {
- return this.add( this.prevObject );
- }
-});
-
-// A painfully simple check to see if an element is disconnected
-// from a document (should be improved, where feasible).
-function isDisconnected( node ) {
- return !node || !node.parentNode || node.parentNode.nodeType === 11;
-}
-
-jQuery.each({
- parent: function( elem ) {
- var parent = elem.parentNode;
- return parent && parent.nodeType !== 11 ? parent : null;
- },
- parents: function( elem ) {
- return jQuery.dir( elem, "parentNode" );
- },
- parentsUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "parentNode", until );
- },
- next: function( elem ) {
- return jQuery.nth( elem, 2, "nextSibling" );
- },
- prev: function( elem ) {
- return jQuery.nth( elem, 2, "previousSibling" );
- },
- nextAll: function( elem ) {
- return jQuery.dir( elem, "nextSibling" );
- },
- prevAll: function( elem ) {
- return jQuery.dir( elem, "previousSibling" );
- },
- nextUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "nextSibling", until );
- },
- prevUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "previousSibling", until );
- },
- siblings: function( elem ) {
- return jQuery.sibling( elem.parentNode.firstChild, elem );
- },
- children: function( elem ) {
- return jQuery.sibling( elem.firstChild );
- },
- contents: function( elem ) {
- return jQuery.nodeName( elem, "iframe" ) ?
- elem.contentDocument || elem.contentWindow.document :
- jQuery.makeArray( elem.childNodes );
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function( until, selector ) {
- var ret = jQuery.map( this, fn, until );
-
- if ( !runtil.test( name ) ) {
- selector = until;
- }
-
- if ( selector && typeof selector === "string" ) {
- ret = jQuery.filter( selector, ret );
- }
-
- ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
-
- if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
- ret = ret.reverse();
- }
-
- return this.pushStack( ret, name, slice.call( arguments ).join(",") );
- };
-});
-
-jQuery.extend({
- filter: function( expr, elems, not ) {
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
-
- return elems.length === 1 ?
- jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
- jQuery.find.matches(expr, elems);
- },
-
- dir: function( elem, dir, until ) {
- var matched = [],
- cur = elem[ dir ];
-
- while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
- if ( cur.nodeType === 1 ) {
- matched.push( cur );
- }
- cur = cur[dir];
- }
- return matched;
- },
-
- nth: function( cur, result, dir, elem ) {
- result = result || 1;
- var num = 0;
-
- for ( ; cur; cur = cur[dir] ) {
- if ( cur.nodeType === 1 && ++num === result ) {
- break;
- }
- }
-
- return cur;
- },
-
- sibling: function( n, elem ) {
- var r = [];
-
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType === 1 && n !== elem ) {
- r.push( n );
- }
- }
-
- return r;
- }
-});
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, keep ) {
-
- // Can't pass null or undefined to indexOf in Firefox 4
- // Set to 0 to skip string check
- qualifier = qualifier || 0;
-
- if ( jQuery.isFunction( qualifier ) ) {
- return jQuery.grep(elements, function( elem, i ) {
- var retVal = !!qualifier.call( elem, i, elem );
- return retVal === keep;
- });
-
- } else if ( qualifier.nodeType ) {
- return jQuery.grep(elements, function( elem, i ) {
- return ( elem === qualifier ) === keep;
- });
-
- } else if ( typeof qualifier === "string" ) {
- var filtered = jQuery.grep(elements, function( elem ) {
- return elem.nodeType === 1;
- });
-
- if ( isSimple.test( qualifier ) ) {
- return jQuery.filter(qualifier, filtered, !keep);
- } else {
- qualifier = jQuery.filter( qualifier, filtered );
- }
- }
-
- return jQuery.grep(elements, function( elem, i ) {
- return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;
- });
-}
-
-
-
-
-function createSafeFragment( document ) {
- var list = nodeNames.split( "|" ),
- safeFrag = document.createDocumentFragment();
-
- if ( safeFrag.createElement ) {
- while ( list.length ) {
- safeFrag.createElement(
- list.pop()
- );
- }
- }
- return safeFrag;
-}
-
-var nodeNames = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|" +
- "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
- rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
- rleadingWhitespace = /^\s+/,
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
- rtagName = /<([\w:]+)/,
- rtbody = /<tbody/i,
- rhtml = /<|&#?\w+;/,
- rnoInnerhtml = /<(?:script|style)/i,
- rnocache = /<(?:script|object|embed|option|style)/i,
- rnoshimcache = new RegExp("<(?:" + nodeNames + ")", "i"),
- // checked="checked" or checked
- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
- rscriptType = /\/(java|ecma)script/i,
- rcleanScript = /^\s*<!(?:\[CDATA\[|\-\-)/,
- wrapMap = {
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
- legend: [ 1, "<fieldset>", "</fieldset>" ],
- thead: [ 1, "<table>", "</table>" ],
- tr: [ 2, "<table><tbody>", "</tbody></table>" ],
- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
- col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
- area: [ 1, "<map>", "</map>" ],
- _default: [ 0, "", "" ]
- },
- safeFragment = createSafeFragment( document );
-
-wrapMap.optgroup = wrapMap.option;
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-// IE can't serialize <link> and <script> tags normally
-if ( !jQuery.support.htmlSerialize ) {
- wrapMap._default = [ 1, "div<div>", "</div>" ];
-}
-
-jQuery.fn.extend({
- text: function( text ) {
- if ( jQuery.isFunction(text) ) {
- return this.each(function(i) {
- var self = jQuery( this );
-
- self.text( text.call(this, i, self.text()) );
- });
- }
-
- if ( typeof text !== "object" && text !== undefined ) {
- return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
- }
-
- return jQuery.text( this );
- },
-
- wrapAll: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapAll( html.call(this, i) );
- });
- }
-
- if ( this[0] ) {
- // The elements to wrap the target around
- var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
-
- if ( this[0].parentNode ) {
- wrap.insertBefore( this[0] );
- }
-
- wrap.map(function() {
- var elem = this;
-
- while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
- elem = elem.firstChild;
- }
-
- return elem;
- }).append( this );
- }
-
- return this;
- },
-
- wrapInner: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapInner( html.call(this, i) );
- });
- }
-
- return this.each(function() {
- var self = jQuery( this ),
- contents = self.contents();
-
- if ( contents.length ) {
- contents.wrapAll( html );
-
- } else {
- self.append( html );
- }
- });
- },
-
- wrap: function( html ) {
- var isFunction = jQuery.isFunction( html );
-
- return this.each(function(i) {
- jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
- });
- },
-
- unwrap: function() {
- return this.parent().each(function() {
- if ( !jQuery.nodeName( this, "body" ) ) {
- jQuery( this ).replaceWith( this.childNodes );
- }
- }).end();
- },
-
- append: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.appendChild( elem );
- }
- });
- },
-
- prepend: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.insertBefore( elem, this.firstChild );
- }
- });
- },
-
- before: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this );
- });
- } else if ( arguments.length ) {
- var set = jQuery.clean( arguments );
- set.push.apply( set, this.toArray() );
- return this.pushStack( set, "before", arguments );
- }
- },
-
- after: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this.nextSibling );
- });
- } else if ( arguments.length ) {
- var set = this.pushStack( this, "after", arguments );
- set.push.apply( set, jQuery.clean(arguments) );
- return set;
- }
- },
-
- // keepData is for internal use only--do not document
- remove: function( selector, keepData ) {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
- if ( !keepData && elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- jQuery.cleanData( [ elem ] );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
- }
- }
-
- return this;
- },
-
- empty: function() {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- }
-
- // Remove any remaining nodes
- while ( elem.firstChild ) {
- elem.removeChild( elem.firstChild );
- }
- }
-
- return this;
- },
-
- clone: function( dataAndEvents, deepDataAndEvents ) {
- dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
- deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
-
- return this.map( function () {
- return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
- });
- },
-
- html: function( value ) {
- if ( value === undefined ) {
- return this[0] && this[0].nodeType === 1 ?
- this[0].innerHTML.replace(rinlinejQuery, "") :
- null;
-
- // See if we can take a shortcut and just use innerHTML
- } else if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
- (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
- !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
-
- value = value.replace(rxhtmlTag, "<$1></$2>");
-
- try {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( this[i].nodeType === 1 ) {
- jQuery.cleanData( this[i].getElementsByTagName("*") );
- this[i].innerHTML = value;
- }
- }
-
- // If using innerHTML throws an exception, use the fallback method
- } catch(e) {
- this.empty().append( value );
- }
-
- } else if ( jQuery.isFunction( value ) ) {
- this.each(function(i){
- var self = jQuery( this );
-
- self.html( value.call(this, i, self.html()) );
- });
-
- } else {
- this.empty().append( value );
- }
-
- return this;
- },
-
- replaceWith: function( value ) {
- if ( this[0] && this[0].parentNode ) {
- // Make sure that the elements are removed from the DOM before they are inserted
- // this can help fix replacing a parent with child elements
- if ( jQuery.isFunction( value ) ) {
- return this.each(function(i) {
- var self = jQuery(this), old = self.html();
- self.replaceWith( value.call( this, i, old ) );
- });
- }
-
- if ( typeof value !== "string" ) {
- value = jQuery( value ).detach();
- }
-
- return this.each(function() {
- var next = this.nextSibling,
- parent = this.parentNode;
-
- jQuery( this ).remove();
-
- if ( next ) {
- jQuery(next).before( value );
- } else {
- jQuery(parent).append( value );
- }
- });
- } else {
- return this.length ?
- this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
- this;
- }
- },
-
- detach: function( selector ) {
- return this.remove( selector, true );
- },
-
- domManip: function( args, table, callback ) {
- var results, first, fragment, parent,
- value = args[0],
- scripts = [];
-
- // We can't cloneNode fragments that contain checked, in WebKit
- if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
- return this.each(function() {
- jQuery(this).domManip( args, table, callback, true );
- });
- }
-
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- args[0] = value.call(this, i, table ? self.html() : undefined);
- self.domManip( args, table, callback );
- });
- }
-
- if ( this[0] ) {
- parent = value && value.parentNode;
-
- // If we're in a fragment, just use that instead of building a new one
- if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
- results = { fragment: parent };
-
- } else {
- results = jQuery.buildFragment( args, this, scripts );
- }
-
- fragment = results.fragment;
-
- if ( fragment.childNodes.length === 1 ) {
- first = fragment = fragment.firstChild;
- } else {
- first = fragment.firstChild;
- }
-
- if ( first ) {
- table = table && jQuery.nodeName( first, "tr" );
-
- for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) {
- callback.call(
- table ?
- root(this[i], first) :
- this[i],
- // Make sure that we do not leak memory by inadvertently discarding
- // the original fragment (which might have attached data) instead of
- // using it; in addition, use the original fragment object for the last
- // item instead of first because it can end up being emptied incorrectly
- // in certain situations (Bug #8070).
- // Fragments from the fragment cache must always be cloned and never used
- // in place.
- results.cacheable || ( l > 1 && i < lastIndex ) ?
- jQuery.clone( fragment, true, true ) :
- fragment
- );
- }
- }
-
- if ( scripts.length ) {
- jQuery.each( scripts, evalScript );
- }
- }
-
- return this;
- }
-});
-
-function root( elem, cur ) {
- return jQuery.nodeName(elem, "table") ?
- (elem.getElementsByTagName("tbody")[0] ||
- elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
- elem;
-}
-
-function cloneCopyEvent( src, dest ) {
-
- if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
- return;
- }
-
- var type, i, l,
- oldData = jQuery._data( src ),
- curData = jQuery._data( dest, oldData ),
- events = oldData.events;
-
- if ( events ) {
- delete curData.handle;
- curData.events = {};
-
- for ( type in events ) {
- for ( i = 0, l = events[ type ].length; i < l; i++ ) {
- jQuery.event.add( dest, type + ( events[ type ][ i ].namespace ? "." : "" ) + events[ type ][ i ].namespace, events[ type ][ i ], events[ type ][ i ].data );
- }
- }
- }
-
- // make the cloned public data object a copy from the original
- if ( curData.data ) {
- curData.data = jQuery.extend( {}, curData.data );
- }
-}
-
-function cloneFixAttributes( src, dest ) {
- var nodeName;
-
- // We do not need to do anything for non-Elements
- if ( dest.nodeType !== 1 ) {
- return;
- }
-
- // clearAttributes removes the attributes, which we don't want,
- // but also removes the attachEvent events, which we *do* want
- if ( dest.clearAttributes ) {
- dest.clearAttributes();
- }
-
- // mergeAttributes, in contrast, only merges back on the
- // original attributes, not the events
- if ( dest.mergeAttributes ) {
- dest.mergeAttributes( src );
- }
-
- nodeName = dest.nodeName.toLowerCase();
-
- // IE6-8 fail to clone children inside object elements that use
- // the proprietary classid attribute value (rather than the type
- // attribute) to identify the type of content to display
- if ( nodeName === "object" ) {
- dest.outerHTML = src.outerHTML;
-
- } else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
- // IE6-8 fails to persist the checked state of a cloned checkbox
- // or radio button. Worse, IE6-7 fail to give the cloned element
- // a checked appearance if the defaultChecked value isn't also set
- if ( src.checked ) {
- dest.defaultChecked = dest.checked = src.checked;
- }
-
- // IE6-7 get confused and end up setting the value of a cloned
- // checkbox/radio button to an empty string instead of "on"
- if ( dest.value !== src.value ) {
- dest.value = src.value;
- }
-
- // IE6-8 fails to return the selected option to the default selected
- // state when cloning options
- } else if ( nodeName === "option" ) {
- dest.selected = src.defaultSelected;
-
- // IE6-8 fails to set the defaultValue to the correct value when
- // cloning other types of input fields
- } else if ( nodeName === "input" || nodeName === "textarea" ) {
- dest.defaultValue = src.defaultValue;
- }
-
- // Event data gets referenced instead of copied if the expando
- // gets copied too
- dest.removeAttribute( jQuery.expando );
-}
-
-jQuery.buildFragment = function( args, nodes, scripts ) {
- var fragment, cacheable, cacheresults, doc,
- first = args[ 0 ];
-
- // nodes may contain either an explicit document object,
- // a jQuery collection or context object.
- // If nodes[0] contains a valid object to assign to doc
- if ( nodes && nodes[0] ) {
- doc = nodes[0].ownerDocument || nodes[0];
- }
-
- // Ensure that an attr object doesn't incorrectly stand in as a document object
- // Chrome and Firefox seem to allow this to occur and will throw exception
- // Fixes #8950
- if ( !doc.createDocumentFragment ) {
- doc = document;
- }
-
- // Only cache "small" (1/2 KB) HTML strings that are associated with the main document
- // Cloning options loses the selected state, so don't cache them
- // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
- // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
- // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501
- if ( args.length === 1 && typeof first === "string" && first.length < 512 && doc === document &&
- first.charAt(0) === "<" && !rnocache.test( first ) &&
- (jQuery.support.checkClone || !rchecked.test( first )) &&
- (jQuery.support.html5Clone || !rnoshimcache.test( first )) ) {
-
- cacheable = true;
-
- cacheresults = jQuery.fragments[ first ];
- if ( cacheresults && cacheresults !== 1 ) {
- fragment = cacheresults;
- }
- }
-
- if ( !fragment ) {
- fragment = doc.createDocumentFragment();
- jQuery.clean( args, doc, fragment, scripts );
- }
-
- if ( cacheable ) {
- jQuery.fragments[ first ] = cacheresults ? fragment : 1;
- }
-
- return { fragment: fragment, cacheable: cacheable };
-};
-
-jQuery.fragments = {};
-
-jQuery.each({
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
-}, function( name, original ) {
- jQuery.fn[ name ] = function( selector ) {
- var ret = [],
- insert = jQuery( selector ),
- parent = this.length === 1 && this[0].parentNode;
-
- if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
- insert[ original ]( this[0] );
- return this;
-
- } else {
- for ( var i = 0, l = insert.length; i < l; i++ ) {
- var elems = ( i > 0 ? this.clone(true) : this ).get();
- jQuery( insert[i] )[ original ]( elems );
- ret = ret.concat( elems );
- }
-
- return this.pushStack( ret, name, insert.selector );
- }
- };
-});
-
-function getAll( elem ) {
- if ( typeof elem.getElementsByTagName !== "undefined" ) {
- return elem.getElementsByTagName( "*" );
-
- } else if ( typeof elem.querySelectorAll !== "undefined" ) {
- return elem.querySelectorAll( "*" );
-
- } else {
- return [];
- }
-}
-
-// Used in clean, fixes the defaultChecked property
-function fixDefaultChecked( elem ) {
- if ( elem.type === "checkbox" || elem.type === "radio" ) {
- elem.defaultChecked = elem.checked;
- }
-}
-// Finds all inputs and passes them to fixDefaultChecked
-function findInputs( elem ) {
- var nodeName = ( elem.nodeName || "" ).toLowerCase();
- if ( nodeName === "input" ) {
- fixDefaultChecked( elem );
- // Skip scripts, get other children
- } else if ( nodeName !== "script" && typeof elem.getElementsByTagName !== "undefined" ) {
- jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
- }
-}
-
-// Derived From: http://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js
-function shimCloneNode( elem ) {
- var div = document.createElement( "div" );
- safeFragment.appendChild( div );
-
- div.innerHTML = elem.outerHTML;
- return div.firstChild;
-}
-
-jQuery.extend({
- clone: function( elem, dataAndEvents, deepDataAndEvents ) {
- var srcElements,
- destElements,
- i,
- // IE<=8 does not properly clone detached, unknown element nodes
- clone = jQuery.support.html5Clone || !rnoshimcache.test( "<" + elem.nodeName ) ?
- elem.cloneNode( true ) :
- shimCloneNode( elem );
-
- if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
- (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
- // IE copies events bound via attachEvent when using cloneNode.
- // Calling detachEvent on the clone will also remove the events
- // from the original. In order to get around this, we use some
- // proprietary methods to clear the events. Thanks to MooTools
- // guys for this hotness.
-
- cloneFixAttributes( elem, clone );
-
- // Using Sizzle here is crazy slow, so we use getElementsByTagName instead
- srcElements = getAll( elem );
- destElements = getAll( clone );
-
- // Weird iteration because IE will replace the length property
- // with an element if you are cloning the body and one of the
- // elements on the page has a name or id of "length"
- for ( i = 0; srcElements[i]; ++i ) {
- // Ensure that the destination node is not null; Fixes #9587
- if ( destElements[i] ) {
- cloneFixAttributes( srcElements[i], destElements[i] );
- }
- }
- }
-
- // Copy the events from the original to the clone
- if ( dataAndEvents ) {
- cloneCopyEvent( elem, clone );
-
- if ( deepDataAndEvents ) {
- srcElements = getAll( elem );
- destElements = getAll( clone );
-
- for ( i = 0; srcElements[i]; ++i ) {
- cloneCopyEvent( srcElements[i], destElements[i] );
- }
- }
- }
-
- srcElements = destElements = null;
-
- // Return the cloned set
- return clone;
- },
-
- clean: function( elems, context, fragment, scripts ) {
- var checkScriptType;
-
- context = context || document;
-
- // !context.createElement fails in IE with an error but returns typeof 'object'
- if ( typeof context.createElement === "undefined" ) {
- context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
- }
-
- var ret = [], j;
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- if ( typeof elem === "number" ) {
- elem += "";
- }
-
- if ( !elem ) {
- continue;
- }
-
- // Convert html string into DOM nodes
- if ( typeof elem === "string" ) {
- if ( !rhtml.test( elem ) ) {
- elem = context.createTextNode( elem );
- } else {
- // Fix "XHTML"-style tags in all browsers
- elem = elem.replace(rxhtmlTag, "<$1></$2>");
-
- // Trim whitespace, otherwise indexOf won't work as expected
- var tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(),
- wrap = wrapMap[ tag ] || wrapMap._default,
- depth = wrap[0],
- div = context.createElement("div");
-
- // Append wrapper element to unknown element safe doc fragment
- if ( context === document ) {
- // Use the fragment we've already created for this document
- safeFragment.appendChild( div );
- } else {
- // Use a fragment created with the owner document
- createSafeFragment( context ).appendChild( div );
- }
-
- // Go to html and back, then peel off extra wrappers
- div.innerHTML = wrap[1] + elem + wrap[2];
-
- // Move to the right depth
- while ( depth-- ) {
- div = div.lastChild;
- }
-
- // Remove IE's autoinserted <tbody> from table fragments
- if ( !jQuery.support.tbody ) {
-
- // String was a <table>, *may* have spurious <tbody>
- var hasBody = rtbody.test(elem),
- tbody = tag === "table" && !hasBody ?
- div.firstChild && div.firstChild.childNodes :
-
- // String was a bare <thead> or <tfoot>
- wrap[1] === "<table>" && !hasBody ?
- div.childNodes :
- [];
-
- for ( j = tbody.length - 1; j >= 0 ; --j ) {
- if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
- tbody[ j ].parentNode.removeChild( tbody[ j ] );
- }
- }
- }
-
- // IE completely kills leading whitespace when innerHTML is used
- if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
- div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
- }
-
- elem = div.childNodes;
- }
- }
-
- // Resets defaultChecked for any radios and checkboxes
- // about to be appended to the DOM in IE 6/7 (#8060)
- var len;
- if ( !jQuery.support.appendChecked ) {
- if ( elem[0] && typeof (len = elem.length) === "number" ) {
- for ( j = 0; j < len; j++ ) {
- findInputs( elem[j] );
- }
- } else {
- findInputs( elem );
- }
- }
-
- if ( elem.nodeType ) {
- ret.push( elem );
- } else {
- ret = jQuery.merge( ret, elem );
- }
- }
-
- if ( fragment ) {
- checkScriptType = function( elem ) {
- return !elem.type || rscriptType.test( elem.type );
- };
- for ( i = 0; ret[i]; i++ ) {
- if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
- scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
-
- } else {
- if ( ret[i].nodeType === 1 ) {
- var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType );
-
- ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
- }
- fragment.appendChild( ret[i] );
- }
- }
- }
-
- return ret;
- },
-
- cleanData: function( elems ) {
- var data, id,
- cache = jQuery.cache,
- special = jQuery.event.special,
- deleteExpando = jQuery.support.deleteExpando;
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
- continue;
- }
-
- id = elem[ jQuery.expando ];
-
- if ( id ) {
- data = cache[ id ];
-
- if ( data && data.events ) {
- for ( var type in data.events ) {
- if ( special[ type ] ) {
- jQuery.event.remove( elem, type );
-
- // This is a shortcut to avoid jQuery.event.remove's overhead
- } else {
- jQuery.removeEvent( elem, type, data.handle );
- }
- }
-
- // Null the DOM reference to avoid IE6/7/8 leak (#7054)
- if ( data.handle ) {
- data.handle.elem = null;
- }
- }
-
- if ( deleteExpando ) {
- delete elem[ jQuery.expando ];
-
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( jQuery.expando );
- }
-
- delete cache[ id ];
- }
- }
- }
-});
-
-function evalScript( i, elem ) {
- if ( elem.src ) {
- jQuery.ajax({
- url: elem.src,
- async: false,
- dataType: "script"
- });
- } else {
- jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "/*$0*/" ) );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
-}
-
-
-
-
-var ralpha = /alpha\([^)]*\)/i,
- ropacity = /opacity=([^)]*)/,
- // fixed for IE9, see #8346
- rupper = /([A-Z]|^ms)/g,
- rnumpx = /^-?\d+(?:px)?$/i,
- rnum = /^-?\d/,
- rrelNum = /^([\-+])=([\-+.\de]+)/,
-
- cssShow = { position: "absolute", visibility: "hidden", display: "block" },
- cssWidth = [ "Left", "Right" ],
- cssHeight = [ "Top", "Bottom" ],
- curCSS,
-
- getComputedStyle,
- currentStyle;
-
-jQuery.fn.css = function( name, value ) {
- // Setting 'undefined' is a no-op
- if ( arguments.length === 2 && value === undefined ) {
- return this;
- }
-
- return jQuery.access( this, name, value, true, function( elem, name, value ) {
- return value !== undefined ?
- jQuery.style( elem, name, value ) :
- jQuery.css( elem, name );
- });
-};
-
-jQuery.extend({
- // Add in style property hooks for overriding the default
- // behavior of getting and setting a style property
- cssHooks: {
- opacity: {
- get: function( elem, computed ) {
- if ( computed ) {
- // We should always get a number back from opacity
- var ret = curCSS( elem, "opacity", "opacity" );
- return ret === "" ? "1" : ret;
-
- } else {
- return elem.style.opacity;
- }
- }
- }
- },
-
- // Exclude the following css properties to add px
- cssNumber: {
- "fillOpacity": true,
- "fontWeight": true,
- "lineHeight": true,
- "opacity": true,
- "orphans": true,
- "widows": true,
- "zIndex": true,
- "zoom": true
- },
-
- // Add in properties whose names you wish to fix before
- // setting or getting the value
- cssProps: {
- // normalize float css property
- "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat"
- },
-
- // Get and set the style property on a DOM Node
- style: function( elem, name, value, extra ) {
- // Don't set styles on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
- return;
- }
-
- // Make sure that we're working with the right name
- var ret, type, origName = jQuery.camelCase( name ),
- style = elem.style, hooks = jQuery.cssHooks[ origName ];
-
- name = jQuery.cssProps[ origName ] || origName;
-
- // Check if we're setting a value
- if ( value !== undefined ) {
- type = typeof value;
-
- // convert relative number strings (+= or -=) to relative numbers. #7345
- if ( type === "string" && (ret = rrelNum.exec( value )) ) {
- value = ( +( ret[1] + 1) * +ret[2] ) + parseFloat( jQuery.css( elem, name ) );
- // Fixes bug #9237
- type = "number";
- }
-
- // Make sure that NaN and null values aren't set. See: #7116
- if ( value == null || type === "number" && isNaN( value ) ) {
- return;
- }
-
- // If a number was passed in, add 'px' to the (except for certain CSS properties)
- if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
- value += "px";
- }
-
- // If a hook was provided, use that value, otherwise just set the specified value
- if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
- // Wrapped to prevent IE from throwing errors when 'invalid' values are provided
- // Fixes bug #5509
- try {
- style[ name ] = value;
- } catch(e) {}
- }
-
- } else {
- // If a hook was provided get the non-computed value from there
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
- return ret;
- }
-
- // Otherwise just get the value from the style object
- return style[ name ];
- }
- },
-
- css: function( elem, name, extra ) {
- var ret, hooks;
-
- // Make sure that we're working with the right name
- name = jQuery.camelCase( name );
- hooks = jQuery.cssHooks[ name ];
- name = jQuery.cssProps[ name ] || name;
-
- // cssFloat needs a special treatment
- if ( name === "cssFloat" ) {
- name = "float";
- }
-
- // If a hook was provided get the computed value from there
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
- return ret;
-
- // Otherwise, if a way to get the computed value exists, use that
- } else if ( curCSS ) {
- return curCSS( elem, name );
- }
- },
-
- // A method for quickly swapping in/out CSS properties to get correct calculations
- swap: function( elem, options, callback ) {
- var old = {};
-
- // Remember the old values, and insert the new ones
- for ( var name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- callback.call( elem );
-
- // Revert the old values
- for ( name in options ) {
- elem.style[ name ] = old[ name ];
- }
- }
-});
-
-// DEPRECATED, Use jQuery.css() instead
-jQuery.curCSS = jQuery.css;
-
-jQuery.each(["height", "width"], function( i, name ) {
- jQuery.cssHooks[ name ] = {
- get: function( elem, computed, extra ) {
- var val;
-
- if ( computed ) {
- if ( elem.offsetWidth !== 0 ) {
- return getWH( elem, name, extra );
- } else {
- jQuery.swap( elem, cssShow, function() {
- val = getWH( elem, name, extra );
- });
- }
-
- return val;
- }
- },
-
- set: function( elem, value ) {
- if ( rnumpx.test( value ) ) {
- // ignore negative width and height values #1599
- value = parseFloat( value );
-
- if ( value >= 0 ) {
- return value + "px";
- }
-
- } else {
- return value;
- }
- }
- };
-});
-
-if ( !jQuery.support.opacity ) {
- jQuery.cssHooks.opacity = {
- get: function( elem, computed ) {
- // IE uses filters for opacity
- return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
- ( parseFloat( RegExp.$1 ) / 100 ) + "" :
- computed ? "1" : "";
- },
-
- set: function( elem, value ) {
- var style = elem.style,
- currentStyle = elem.currentStyle,
- opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
- filter = currentStyle && currentStyle.filter || style.filter || "";
-
- // IE has trouble with opacity if it does not have layout
- // Force it by setting the zoom level
- style.zoom = 1;
-
- // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
- if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" ) {
-
- // Setting style.filter to null, "" & " " still leave "filter:" in the cssText
- // if "filter:" is present at all, clearType is disabled, we want to avoid this
- // style.removeAttribute is IE Only, but so apparently is this code path...
- style.removeAttribute( "filter" );
-
- // if there there is no filter style applied in a css rule, we are done
- if ( currentStyle && !currentStyle.filter ) {
- return;
- }
- }
-
- // otherwise, set new filter values
- style.filter = ralpha.test( filter ) ?
- filter.replace( ralpha, opacity ) :
- filter + " " + opacity;
- }
- };
-}
-
-jQuery(function() {
- // This hook cannot be added until DOM ready because the support test
- // for it is not run until after DOM ready
- if ( !jQuery.support.reliableMarginRight ) {
- jQuery.cssHooks.marginRight = {
- get: function( elem, computed ) {
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- // Work around by temporarily setting element display to inline-block
- var ret;
- jQuery.swap( elem, { "display": "inline-block" }, function() {
- if ( computed ) {
- ret = curCSS( elem, "margin-right", "marginRight" );
- } else {
- ret = elem.style.marginRight;
- }
- });
- return ret;
- }
- };
- }
-});
-
-if ( document.defaultView && document.defaultView.getComputedStyle ) {
- getComputedStyle = function( elem, name ) {
- var ret, defaultView, computedStyle;
-
- name = name.replace( rupper, "-$1" ).toLowerCase();
-
- if ( (defaultView = elem.ownerDocument.defaultView) &&
- (computedStyle = defaultView.getComputedStyle( elem, null )) ) {
- ret = computedStyle.getPropertyValue( name );
- if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) {
- ret = jQuery.style( elem, name );
- }
- }
-
- return ret;
- };
-}
-
-if ( document.documentElement.currentStyle ) {
- currentStyle = function( elem, name ) {
- var left, rsLeft, uncomputed,
- ret = elem.currentStyle && elem.currentStyle[ name ],
- style = elem.style;
-
- // Avoid setting ret to empty string here
- // so we don't default to auto
- if ( ret === null && style && (uncomputed = style[ name ]) ) {
- ret = uncomputed;
- }
-
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
-
- // Remember the original values
- left = style.left;
- rsLeft = elem.runtimeStyle && elem.runtimeStyle.left;
-
- // Put in the new values to get a computed value out
- if ( rsLeft ) {
- elem.runtimeStyle.left = elem.currentStyle.left;
- }
- style.left = name === "fontSize" ? "1em" : ( ret || 0 );
- ret = style.pixelLeft + "px";
-
- // Revert the changed values
- style.left = left;
- if ( rsLeft ) {
- elem.runtimeStyle.left = rsLeft;
- }
- }
-
- return ret === "" ? "auto" : ret;
- };
-}
-
-curCSS = getComputedStyle || currentStyle;
-
-function getWH( elem, name, extra ) {
-
- // Start with offset property
- var val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
- which = name === "width" ? cssWidth : cssHeight,
- i = 0,
- len = which.length;
-
- if ( val > 0 ) {
- if ( extra !== "border" ) {
- for ( ; i < len; i++ ) {
- if ( !extra ) {
- val -= parseFloat( jQuery.css( elem, "padding" + which[ i ] ) ) || 0;
- }
- if ( extra === "margin" ) {
- val += parseFloat( jQuery.css( elem, extra + which[ i ] ) ) || 0;
- } else {
- val -= parseFloat( jQuery.css( elem, "border" + which[ i ] + "Width" ) ) || 0;
- }
- }
- }
-
- return val + "px";
- }
-
- // Fall back to computed then uncomputed css if necessary
- val = curCSS( elem, name, name );
- if ( val < 0 || val == null ) {
- val = elem.style[ name ] || 0;
- }
- // Normalize "", auto, and prepare for extra
- val = parseFloat( val ) || 0;
-
- // Add padding, border, margin
- if ( extra ) {
- for ( ; i < len; i++ ) {
- val += parseFloat( jQuery.css( elem, "padding" + which[ i ] ) ) || 0;
- if ( extra !== "padding" ) {
- val += parseFloat( jQuery.css( elem, "border" + which[ i ] + "Width" ) ) || 0;
- }
- if ( extra === "margin" ) {
- val += parseFloat( jQuery.css( elem, extra + which[ i ] ) ) || 0;
- }
- }
- }
-
- return val + "px";
-}
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.hidden = function( elem ) {
- var width = elem.offsetWidth,
- height = elem.offsetHeight;
-
- return ( width === 0 && height === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
- };
-
- jQuery.expr.filters.visible = function( elem ) {
- return !jQuery.expr.filters.hidden( elem );
- };
-}
-
-
-
-
-var r20 = /%20/g,
- rbracket = /\[\]$/,
- rCRLF = /\r?\n/g,
- rhash = /#.*$/,
- rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
- rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
- // #7653, #8125, #8152: local protocol detection
- rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
- rnoContent = /^(?:GET|HEAD)$/,
- rprotocol = /^\/\//,
- rquery = /\?/,
- rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
- rselectTextarea = /^(?:select|textarea)/i,
- rspacesAjax = /\s+/,
- rts = /([?&])_=[^&]*/,
- rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
-
- // Keep a copy of the old load method
- _load = jQuery.fn.load,
-
- /* Prefilters
- * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
- * 2) These are called:
- * - BEFORE asking for a transport
- * - AFTER param serialization (s.data is a string if s.processData is true)
- * 3) key is the dataType
- * 4) the catchall symbol "*" can be used
- * 5) execution will start with transport dataType and THEN continue down to "*" if needed
- */
- prefilters = {},
-
- /* Transports bindings
- * 1) key is the dataType
- * 2) the catchall symbol "*" can be used
- * 3) selection will start with transport dataType and THEN go to "*" if needed
- */
- transports = {},
-
- // Document location
- ajaxLocation,
-
- // Document location segments
- ajaxLocParts,
-
- // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
- allTypes = ["*/"] + ["*"];
-
-// #8138, IE may throw an exception when accessing
-// a field from window.location if document.domain has been set
-try {
- ajaxLocation = location.href;
-} catch( e ) {
- // Use the href attribute of an A element
- // since IE will modify it given document.location
- ajaxLocation = document.createElement( "a" );
- ajaxLocation.href = "";
- ajaxLocation = ajaxLocation.href;
-}
-
-// Segment location into parts
-ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
-
-// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
-function addToPrefiltersOrTransports( structure ) {
-
- // dataTypeExpression is optional and defaults to "*"
- return function( dataTypeExpression, func ) {
-
- if ( typeof dataTypeExpression !== "string" ) {
- func = dataTypeExpression;
- dataTypeExpression = "*";
- }
-
- if ( jQuery.isFunction( func ) ) {
- var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),
- i = 0,
- length = dataTypes.length,
- dataType,
- list,
- placeBefore;
-
- // For each dataType in the dataTypeExpression
- for ( ; i < length; i++ ) {
- dataType = dataTypes[ i ];
- // We control if we're asked to add before
- // any existing element
- placeBefore = /^\+/.test( dataType );
- if ( placeBefore ) {
- dataType = dataType.substr( 1 ) || "*";
- }
- list = structure[ dataType ] = structure[ dataType ] || [];
- // then we add to the structure accordingly
- list[ placeBefore ? "unshift" : "push" ]( func );
- }
- }
- };
-}
-
-// Base inspection function for prefilters and transports
-function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
- dataType /* internal */, inspected /* internal */ ) {
-
- dataType = dataType || options.dataTypes[ 0 ];
- inspected = inspected || {};
-
- inspected[ dataType ] = true;
-
- var list = structure[ dataType ],
- i = 0,
- length = list ? list.length : 0,
- executeOnly = ( structure === prefilters ),
- selection;
-
- for ( ; i < length && ( executeOnly || !selection ); i++ ) {
- selection = list[ i ]( options, originalOptions, jqXHR );
- // If we got redirected to another dataType
- // we try there if executing only and not done already
- if ( typeof selection === "string" ) {
- if ( !executeOnly || inspected[ selection ] ) {
- selection = undefined;
- } else {
- options.dataTypes.unshift( selection );
- selection = inspectPrefiltersOrTransports(
- structure, options, originalOptions, jqXHR, selection, inspected );
- }
- }
- }
- // If we're only executing or nothing was selected
- // we try the catchall dataType if not done already
- if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
- selection = inspectPrefiltersOrTransports(
- structure, options, originalOptions, jqXHR, "*", inspected );
- }
- // unnecessary when only executing (prefilters)
- // but it'll be ignored by the caller in that case
- return selection;
-}
-
-// A special extend for ajax options
-// that takes "flat" options (not to be deep extended)
-// Fixes #9887
-function ajaxExtend( target, src ) {
- var key, deep,
- flatOptions = jQuery.ajaxSettings.flatOptions || {};
- for ( key in src ) {
- if ( src[ key ] !== undefined ) {
- ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
- }
- }
- if ( deep ) {
- jQuery.extend( true, target, deep );
- }
-}
-
-jQuery.fn.extend({
- load: function( url, params, callback ) {
- if ( typeof url !== "string" && _load ) {
- return _load.apply( this, arguments );
-
- // Don't do a request if no elements are being requested
- } else if ( !this.length ) {
- return this;
- }
-
- var off = url.indexOf( " " );
- if ( off >= 0 ) {
- var selector = url.slice( off, url.length );
- url = url.slice( 0, off );
- }
-
- // Default to a GET request
- var type = "GET";
-
- // If the second parameter was provided
- if ( params ) {
- // If it's a function
- if ( jQuery.isFunction( params ) ) {
- // We assume that it's the callback
- callback = params;
- params = undefined;
-
- // Otherwise, build a param string
- } else if ( typeof params === "object" ) {
- params = jQuery.param( params, jQuery.ajaxSettings.traditional );
- type = "POST";
- }
- }
-
- var self = this;
-
- // Request the remote document
- jQuery.ajax({
- url: url,
- type: type,
- dataType: "html",
- data: params,
- // Complete callback (responseText is used internally)
- complete: function( jqXHR, status, responseText ) {
- // Store the response as specified by the jqXHR object
- responseText = jqXHR.responseText;
- // If successful, inject the HTML into all the matched elements
- if ( jqXHR.isResolved() ) {
- // #4825: Get the actual response in case
- // a dataFilter is present in ajaxSettings
- jqXHR.done(function( r ) {
- responseText = r;
- });
- // See if a selector was specified
- self.html( selector ?
- // Create a dummy div to hold the results
- jQuery("<div>")
- // inject the contents of the document in, removing the scripts
- // to avoid any 'Permission Denied' errors in IE
- .append(responseText.replace(rscript, ""))
-
- // Locate the specified elements
- .find(selector) :
-
- // If not, just inject the full result
- responseText );
- }
-
- if ( callback ) {
- self.each( callback, [ responseText, status, jqXHR ] );
- }
- }
- });
-
- return this;
- },
-
- serialize: function() {
- return jQuery.param( this.serializeArray() );
- },
-
- serializeArray: function() {
- return this.map(function(){
- return this.elements ? jQuery.makeArray( this.elements ) : this;
- })
- .filter(function(){
- return this.name && !this.disabled &&
- ( this.checked || rselectTextarea.test( this.nodeName ) ||
- rinput.test( this.type ) );
- })
- .map(function( i, elem ){
- var val = jQuery( this ).val();
-
- return val == null ?
- null :
- jQuery.isArray( val ) ?
- jQuery.map( val, function( val, i ){
- return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- }) :
- { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- }).get();
- }
-});
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
- jQuery.fn[ o ] = function( f ){
- return this.on( o, f );
- };
-});
-
-jQuery.each( [ "get", "post" ], function( i, method ) {
- jQuery[ method ] = function( url, data, callback, type ) {
- // shift arguments if data argument was omitted
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = undefined;
- }
-
- return jQuery.ajax({
- type: method,
- url: url,
- data: data,
- success: callback,
- dataType: type
- });
- };
-});
-
-jQuery.extend({
-
- getScript: function( url, callback ) {
- return jQuery.get( url, undefined, callback, "script" );
- },
-
- getJSON: function( url, data, callback ) {
- return jQuery.get( url, data, callback, "json" );
- },
-
- // Creates a full fledged settings object into target
- // with both ajaxSettings and settings fields.
- // If target is omitted, writes into ajaxSettings.
- ajaxSetup: function( target, settings ) {
- if ( settings ) {
- // Building a settings object
- ajaxExtend( target, jQuery.ajaxSettings );
- } else {
- // Extending ajaxSettings
- settings = target;
- target = jQuery.ajaxSettings;
- }
- ajaxExtend( target, settings );
- return target;
- },
-
- ajaxSettings: {
- url: ajaxLocation,
- isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
- global: true,
- type: "GET",
- contentType: "application/x-www-form-urlencoded",
- processData: true,
- async: true,
- /*
- timeout: 0,
- data: null,
- dataType: null,
- username: null,
- password: null,
- cache: null,
- traditional: false,
- headers: {},
- */
-
- accepts: {
- xml: "application/xml, text/xml",
- html: "text/html",
- text: "text/plain",
- json: "application/json, text/javascript",
- "*": allTypes
- },
-
- contents: {
- xml: /xml/,
- html: /html/,
- json: /json/
- },
-
- responseFields: {
- xml: "responseXML",
- text: "responseText"
- },
-
- // List of data converters
- // 1) key format is "source_type destination_type" (a single space in-between)
- // 2) the catchall symbol "*" can be used for source_type
- converters: {
-
- // Convert anything to text
- "* text": window.String,
-
- // Text to html (true = no transformation)
- "text html": true,
-
- // Evaluate text as a json expression
- "text json": jQuery.parseJSON,
-
- // Parse text as xml
- "text xml": jQuery.parseXML
- },
-
- // For options that shouldn't be deep extended:
- // you can add your own custom options here if
- // and when you create one that shouldn't be
- // deep extended (see ajaxExtend)
- flatOptions: {
- context: true,
- url: true
- }
- },
-
- ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
- ajaxTransport: addToPrefiltersOrTransports( transports ),
-
- // Main method
- ajax: function( url, options ) {
-
- // If url is an object, simulate pre-1.5 signature
- if ( typeof url === "object" ) {
- options = url;
- url = undefined;
- }
-
- // Force options to be an object
- options = options || {};
-
- var // Create the final options object
- s = jQuery.ajaxSetup( {}, options ),
- // Callbacks context
- callbackContext = s.context || s,
- // Context for global events
- // It's the callbackContext if one was provided in the options
- // and if it's a DOM node or a jQuery collection
- globalEventContext = callbackContext !== s &&
- ( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
- jQuery( callbackContext ) : jQuery.event,
- // Deferreds
- deferred = jQuery.Deferred(),
- completeDeferred = jQuery.Callbacks( "once memory" ),
- // Status-dependent callbacks
- statusCode = s.statusCode || {},
- // ifModified key
- ifModifiedKey,
- // Headers (they are sent all at once)
- requestHeaders = {},
- requestHeadersNames = {},
- // Response headers
- responseHeadersString,
- responseHeaders,
- // transport
- transport,
- // timeout handle
- timeoutTimer,
- // Cross-domain detection vars
- parts,
- // The jqXHR state
- state = 0,
- // To know if global events are to be dispatched
- fireGlobals,
- // Loop variable
- i,
- // Fake xhr
- jqXHR = {
-
- readyState: 0,
-
- // Caches the header
- setRequestHeader: function( name, value ) {
- if ( !state ) {
- var lname = name.toLowerCase();
- name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
- requestHeaders[ name ] = value;
- }
- return this;
- },
-
- // Raw string
- getAllResponseHeaders: function() {
- return state === 2 ? responseHeadersString : null;
- },
-
- // Builds headers hashtable if needed
- getResponseHeader: function( key ) {
- var match;
- if ( state === 2 ) {
- if ( !responseHeaders ) {
- responseHeaders = {};
- while( ( match = rheaders.exec( responseHeadersString ) ) ) {
- responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
- }
- }
- match = responseHeaders[ key.toLowerCase() ];
- }
- return match === undefined ? null : match;
- },
-
- // Overrides response content-type header
- overrideMimeType: function( type ) {
- if ( !state ) {
- s.mimeType = type;
- }
- return this;
- },
-
- // Cancel the request
- abort: function( statusText ) {
- statusText = statusText || "abort";
- if ( transport ) {
- transport.abort( statusText );
- }
- done( 0, statusText );
- return this;
- }
- };
-
- // Callback for when everything is done
- // It is defined here because jslint complains if it is declared
- // at the end of the function (which would be more logical and readable)
- function done( status, nativeStatusText, responses, headers ) {
-
- // Called once
- if ( state === 2 ) {
- return;
- }
-
- // State is "done" now
- state = 2;
-
- // Clear timeout if it exists
- if ( timeoutTimer ) {
- clearTimeout( timeoutTimer );
- }
-
- // Dereference transport for early garbage collection
- // (no matter how long the jqXHR object will be used)
- transport = undefined;
-
- // Cache response headers
- responseHeadersString = headers || "";
-
- // Set readyState
- jqXHR.readyState = status > 0 ? 4 : 0;
-
- var isSuccess,
- success,
- error,
- statusText = nativeStatusText,
- response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined,
- lastModified,
- etag;
-
- // If successful, handle type chaining
- if ( status >= 200 && status < 300 || status === 304 ) {
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
-
- if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) {
- jQuery.lastModified[ ifModifiedKey ] = lastModified;
- }
- if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) {
- jQuery.etag[ ifModifiedKey ] = etag;
- }
- }
-
- // If not modified
- if ( status === 304 ) {
-
- statusText = "notmodified";
- isSuccess = true;
-
- // If we have data
- } else {
-
- try {
- success = ajaxConvert( s, response );
- statusText = "success";
- isSuccess = true;
- } catch(e) {
- // We have a parsererror
- statusText = "parsererror";
- error = e;
- }
- }
- } else {
- // We extract error from statusText
- // then normalize statusText and status for non-aborts
- error = statusText;
- if ( !statusText || status ) {
- statusText = "error";
- if ( status < 0 ) {
- status = 0;
- }
- }
- }
-
- // Set data for the fake xhr object
- jqXHR.status = status;
- jqXHR.statusText = "" + ( nativeStatusText || statusText );
-
- // Success/Error
- if ( isSuccess ) {
- deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
- } else {
- deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
- }
-
- // Status-dependent callbacks
- jqXHR.statusCode( statusCode );
- statusCode = undefined;
-
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
- [ jqXHR, s, isSuccess ? success : error ] );
- }
-
- // Complete
- completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
-
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
- // Handle the global AJAX counter
- if ( !( --jQuery.active ) ) {
- jQuery.event.trigger( "ajaxStop" );
- }
- }
- }
-
- // Attach deferreds
- deferred.promise( jqXHR );
- jqXHR.success = jqXHR.done;
- jqXHR.error = jqXHR.fail;
- jqXHR.complete = completeDeferred.add;
-
- // Status-dependent callbacks
- jqXHR.statusCode = function( map ) {
- if ( map ) {
- var tmp;
- if ( state < 2 ) {
- for ( tmp in map ) {
- statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];
- }
- } else {
- tmp = map[ jqXHR.status ];
- jqXHR.then( tmp, tmp );
- }
- }
- return this;
- };
-
- // Remove hash character (#7531: and string promotion)
- // Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
- // We also use the url parameter if available
- s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
-
- // Extract dataTypes list
- s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
-
- // Determine if a cross-domain request is in order
- if ( s.crossDomain == null ) {
- parts = rurl.exec( s.url.toLowerCase() );
- s.crossDomain = !!( parts &&
- ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] ||
- ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
- ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
- );
- }
-
- // Convert data if not already a string
- if ( s.data && s.processData && typeof s.data !== "string" ) {
- s.data = jQuery.param( s.data, s.traditional );
- }
-
- // Apply prefilters
- inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
-
- // If request was aborted inside a prefiler, stop there
- if ( state === 2 ) {
- return false;
- }
-
- // We can fire global events as of now if asked to
- fireGlobals = s.global;
-
- // Uppercase the type
- s.type = s.type.toUpperCase();
-
- // Determine if request has content
- s.hasContent = !rnoContent.test( s.type );
-
- // Watch for a new set of requests
- if ( fireGlobals && jQuery.active++ === 0 ) {
- jQuery.event.trigger( "ajaxStart" );
- }
-
- // More options handling for requests with no content
- if ( !s.hasContent ) {
-
- // If data is available, append data to url
- if ( s.data ) {
- s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data;
- // #9682: remove data so that it's not used in an eventual retry
- delete s.data;
- }
-
- // Get ifModifiedKey before adding the anti-cache parameter
- ifModifiedKey = s.url;
-
- // Add anti-cache in url if needed
- if ( s.cache === false ) {
-
- var ts = jQuery.now(),
- // try replacing _= if it is there
- ret = s.url.replace( rts, "$1_=" + ts );
-
- // if nothing was replaced, add timestamp to the end
- s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" );
- }
- }
-
- // Set the correct header, if data is being sent
- if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
- jqXHR.setRequestHeader( "Content-Type", s.contentType );
- }
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- ifModifiedKey = ifModifiedKey || s.url;
- if ( jQuery.lastModified[ ifModifiedKey ] ) {
- jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
- }
- if ( jQuery.etag[ ifModifiedKey ] ) {
- jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
- }
- }
-
- // Set the Accepts header for the server, depending on the dataType
- jqXHR.setRequestHeader(
- "Accept",
- s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
- s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
- s.accepts[ "*" ]
- );
-
- // Check for headers option
- for ( i in s.headers ) {
- jqXHR.setRequestHeader( i, s.headers[ i ] );
- }
-
- // Allow custom headers/mimetypes and early abort
- if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
- // Abort if not done already
- jqXHR.abort();
- return false;
-
- }
-
- // Install callbacks on deferreds
- for ( i in { success: 1, error: 1, complete: 1 } ) {
- jqXHR[ i ]( s[ i ] );
- }
-
- // Get transport
- transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
-
- // If no transport, we auto-abort
- if ( !transport ) {
- done( -1, "No Transport" );
- } else {
- jqXHR.readyState = 1;
- // Send global event
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
- }
- // Timeout
- if ( s.async && s.timeout > 0 ) {
- timeoutTimer = setTimeout( function(){
- jqXHR.abort( "timeout" );
- }, s.timeout );
- }
-
- try {
- state = 1;
- transport.send( requestHeaders, done );
- } catch (e) {
- // Propagate exception as error if not done
- if ( state < 2 ) {
- done( -1, e );
- // Simply rethrow otherwise
- } else {
- throw e;
- }
- }
- }
-
- return jqXHR;
- },
-
- // Serialize an array of form elements or a set of
- // key/values into a query string
- param: function( a, traditional ) {
- var s = [],
- add = function( key, value ) {
- // If value is a function, invoke it and return its value
- value = jQuery.isFunction( value ) ? value() : value;
- s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
- };
-
- // Set traditional to true for jQuery <= 1.3.2 behavior.
- if ( traditional === undefined ) {
- traditional = jQuery.ajaxSettings.traditional;
- }
-
- // If an array was passed in, assume that it is an array of form elements.
- if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
- // Serialize the form elements
- jQuery.each( a, function() {
- add( this.name, this.value );
- });
-
- } else {
- // If traditional, encode the "old" way (the way 1.3.2 or older
- // did it), otherwise encode params recursively.
- for ( var prefix in a ) {
- buildParams( prefix, a[ prefix ], traditional, add );
- }
- }
-
- // Return the resulting serialization
- return s.join( "&" ).replace( r20, "+" );
- }
-});
-
-function buildParams( prefix, obj, traditional, add ) {
- if ( jQuery.isArray( obj ) ) {
- // Serialize array item.
- jQuery.each( obj, function( i, v ) {
- if ( traditional || rbracket.test( prefix ) ) {
- // Treat each array item as a scalar.
- add( prefix, v );
-
- } else {
- // If array item is non-scalar (array or object), encode its
- // numeric index to resolve deserialization ambiguity issues.
- // Note that rack (as of 1.0.0) can't currently deserialize
- // nested arrays properly, and attempting to do so may cause
- // a server error. Possible fixes are to modify rack's
- // deserialization algorithm or to provide an option or flag
- // to force array serialization to be shallow.
- buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add );
- }
- });
-
- } else if ( !traditional && obj != null && typeof obj === "object" ) {
- // Serialize object item.
- for ( var name in obj ) {
- buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
- }
-
- } else {
- // Serialize scalar item.
- add( prefix, obj );
- }
-}
-
-// This is still on the jQuery object... for now
-// Want to move this to jQuery.ajax some day
-jQuery.extend({
-
- // Counter for holding the number of active queries
- active: 0,
-
- // Last-Modified header cache for next request
- lastModified: {},
- etag: {}
-
-});
-
-/* Handles responses to an ajax request:
- * - sets all responseXXX fields accordingly
- * - finds the right dataType (mediates between content-type and expected dataType)
- * - returns the corresponding response
- */
-function ajaxHandleResponses( s, jqXHR, responses ) {
-
- var contents = s.contents,
- dataTypes = s.dataTypes,
- responseFields = s.responseFields,
- ct,
- type,
- finalDataType,
- firstDataType;
-
- // Fill responseXXX fields
- for ( type in responseFields ) {
- if ( type in responses ) {
- jqXHR[ responseFields[type] ] = responses[ type ];
- }
- }
-
- // Remove auto dataType and get content-type in the process
- while( dataTypes[ 0 ] === "*" ) {
- dataTypes.shift();
- if ( ct === undefined ) {
- ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
- }
- }
-
- // Check if we're dealing with a known content-type
- if ( ct ) {
- for ( type in contents ) {
- if ( contents[ type ] && contents[ type ].test( ct ) ) {
- dataTypes.unshift( type );
- break;
- }
- }
- }
-
- // Check to see if we have a response for the expected dataType
- if ( dataTypes[ 0 ] in responses ) {
- finalDataType = dataTypes[ 0 ];
- } else {
- // Try convertible dataTypes
- for ( type in responses ) {
- if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
- finalDataType = type;
- break;
- }
- if ( !firstDataType ) {
- firstDataType = type;
- }
- }
- // Or just use first one
- finalDataType = finalDataType || firstDataType;
- }
-
- // If we found a dataType
- // We add the dataType to the list if needed
- // and return the corresponding response
- if ( finalDataType ) {
- if ( finalDataType !== dataTypes[ 0 ] ) {
- dataTypes.unshift( finalDataType );
- }
- return responses[ finalDataType ];
- }
-}
-
-// Chain conversions given the request and the original response
-function ajaxConvert( s, response ) {
-
- // Apply the dataFilter if provided
- if ( s.dataFilter ) {
- response = s.dataFilter( response, s.dataType );
- }
-
- var dataTypes = s.dataTypes,
- converters = {},
- i,
- key,
- length = dataTypes.length,
- tmp,
- // Current and previous dataTypes
- current = dataTypes[ 0 ],
- prev,
- // Conversion expression
- conversion,
- // Conversion function
- conv,
- // Conversion functions (transitive conversion)
- conv1,
- conv2;
-
- // For each dataType in the chain
- for ( i = 1; i < length; i++ ) {
-
- // Create converters map
- // with lowercased keys
- if ( i === 1 ) {
- for ( key in s.converters ) {
- if ( typeof key === "string" ) {
- converters[ key.toLowerCase() ] = s.converters[ key ];
- }
- }
- }
-
- // Get the dataTypes
- prev = current;
- current = dataTypes[ i ];
-
- // If current is auto dataType, update it to prev
- if ( current === "*" ) {
- current = prev;
- // If no auto and dataTypes are actually different
- } else if ( prev !== "*" && prev !== current ) {
-
- // Get the converter
- conversion = prev + " " + current;
- conv = converters[ conversion ] || converters[ "* " + current ];
-
- // If there is no direct converter, search transitively
- if ( !conv ) {
- conv2 = undefined;
- for ( conv1 in converters ) {
- tmp = conv1.split( " " );
- if ( tmp[ 0 ] === prev || tmp[ 0 ] === "*" ) {
- conv2 = converters[ tmp[1] + " " + current ];
- if ( conv2 ) {
- conv1 = converters[ conv1 ];
- if ( conv1 === true ) {
- conv = conv2;
- } else if ( conv2 === true ) {
- conv = conv1;
- }
- break;
- }
- }
- }
- }
- // If we found no converter, dispatch an error
- if ( !( conv || conv2 ) ) {
- jQuery.error( "No conversion from " + conversion.replace(" "," to ") );
- }
- // If found converter is not an equivalence
- if ( conv !== true ) {
- // Convert with 1 or 2 converters accordingly
- response = conv ? conv( response ) : conv2( conv1(response) );
- }
- }
- }
- return response;
-}
-
-
-
-
-var jsc = jQuery.now(),
- jsre = /(\=)\?(&|$)|\?\?/i;
-
-// Default jsonp settings
-jQuery.ajaxSetup({
- jsonp: "callback",
- jsonpCallback: function() {
- return jQuery.expando + "_" + ( jsc++ );
- }
-});
-
-// Detect, normalize options and install callbacks for jsonp requests
-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
-
- var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
- ( typeof s.data === "string" );
-
- if ( s.dataTypes[ 0 ] === "jsonp" ||
- s.jsonp !== false && ( jsre.test( s.url ) ||
- inspectData && jsre.test( s.data ) ) ) {
-
- var responseContainer,
- jsonpCallback = s.jsonpCallback =
- jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback,
- previous = window[ jsonpCallback ],
- url = s.url,
- data = s.data,
- replace = "$1" + jsonpCallback + "$2";
-
- if ( s.jsonp !== false ) {
- url = url.replace( jsre, replace );
- if ( s.url === url ) {
- if ( inspectData ) {
- data = data.replace( jsre, replace );
- }
- if ( s.data === data ) {
- // Add callback manually
- url += (/\?/.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback;
- }
- }
- }
-
- s.url = url;
- s.data = data;
-
- // Install callback
- window[ jsonpCallback ] = function( response ) {
- responseContainer = [ response ];
- };
-
- // Clean-up function
- jqXHR.always(function() {
- // Set callback back to previous value
- window[ jsonpCallback ] = previous;
- // Call if it was a function and we have a response
- if ( responseContainer && jQuery.isFunction( previous ) ) {
- window[ jsonpCallback ]( responseContainer[ 0 ] );
- }
- });
-
- // Use data converter to retrieve json after script execution
- s.converters["script json"] = function() {
- if ( !responseContainer ) {
- jQuery.error( jsonpCallback + " was not called" );
- }
- return responseContainer[ 0 ];
- };
-
- // force json dataType
- s.dataTypes[ 0 ] = "json";
-
- // Delegate to script
- return "script";
- }
-});
-
-
-
-
-// Install script dataType
-jQuery.ajaxSetup({
- accepts: {
- script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
- },
- contents: {
- script: /javascript|ecmascript/
- },
- converters: {
- "text script": function( text ) {
- jQuery.globalEval( text );
- return text;
- }
- }
-});
-
-// Handle cache's special case and global
-jQuery.ajaxPrefilter( "script", function( s ) {
- if ( s.cache === undefined ) {
- s.cache = false;
- }
- if ( s.crossDomain ) {
- s.type = "GET";
- s.global = false;
- }
-});
-
-// Bind script tag hack transport
-jQuery.ajaxTransport( "script", function(s) {
-
- // This transport only deals with cross domain requests
- if ( s.crossDomain ) {
-
- var script,
- head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
-
- return {
-
- send: function( _, callback ) {
-
- script = document.createElement( "script" );
-
- script.async = "async";
-
- if ( s.scriptCharset ) {
- script.charset = s.scriptCharset;
- }
-
- script.src = s.url;
-
- // Attach handlers for all browsers
- script.onload = script.onreadystatechange = function( _, isAbort ) {
-
- if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
-
- // Handle memory leak in IE
- script.onload = script.onreadystatechange = null;
-
- // Remove the script
- if ( head && script.parentNode ) {
- head.removeChild( script );
- }
-
- // Dereference the script
- script = undefined;
-
- // Callback if not abort
- if ( !isAbort ) {
- callback( 200, "success" );
- }
- }
- };
- // Use insertBefore instead of appendChild to circumvent an IE6 bug.
- // This arises when a base node is used (#2709 and #4378).
- head.insertBefore( script, head.firstChild );
- },
-
- abort: function() {
- if ( script ) {
- script.onload( 0, 1 );
- }
- }
- };
- }
-});
-
-
-
-
-var // #5280: Internet Explorer will keep connections alive if we don't abort on unload
- xhrOnUnloadAbort = window.ActiveXObject ? function() {
- // Abort all pending requests
- for ( var key in xhrCallbacks ) {
- xhrCallbacks[ key ]( 0, 1 );
- }
- } : false,
- xhrId = 0,
- xhrCallbacks;
-
-// Functions to create xhrs
-function createStandardXHR() {
- try {
- return new window.XMLHttpRequest();
- } catch( e ) {}
-}
-
-function createActiveXHR() {
- try {
- return new window.ActiveXObject( "Microsoft.XMLHTTP" );
- } catch( e ) {}
-}
-
-// Create the request object
-// (This is still attached to ajaxSettings for backward compatibility)
-jQuery.ajaxSettings.xhr = window.ActiveXObject ?
- /* Microsoft failed to properly
- * implement the XMLHttpRequest in IE7 (can't request local files),
- * so we use the ActiveXObject when it is available
- * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
- * we need a fallback.
- */
- function() {
- return !this.isLocal && createStandardXHR() || createActiveXHR();
- } :
- // For all other browsers, use the standard XMLHttpRequest object
- createStandardXHR;
-
-// Determine support properties
-(function( xhr ) {
- jQuery.extend( jQuery.support, {
- ajax: !!xhr,
- cors: !!xhr && ( "withCredentials" in xhr )
- });
-})( jQuery.ajaxSettings.xhr() );
-
-// Create transport if the browser can provide an xhr
-if ( jQuery.support.ajax ) {
-
- jQuery.ajaxTransport(function( s ) {
- // Cross domain only allowed if supported through XMLHttpRequest
- if ( !s.crossDomain || jQuery.support.cors ) {
-
- var callback;
-
- return {
- send: function( headers, complete ) {
-
- // Get a new xhr
- var xhr = s.xhr(),
- handle,
- i;
-
- // Open the socket
- // Passing null username, generates a login popup on Opera (#2865)
- if ( s.username ) {
- xhr.open( s.type, s.url, s.async, s.username, s.password );
- } else {
- xhr.open( s.type, s.url, s.async );
- }
-
- // Apply custom fields if provided
- if ( s.xhrFields ) {
- for ( i in s.xhrFields ) {
- xhr[ i ] = s.xhrFields[ i ];
- }
- }
-
- // Override mime type if needed
- if ( s.mimeType && xhr.overrideMimeType ) {
- xhr.overrideMimeType( s.mimeType );
- }
-
- // X-Requested-With header
- // For cross-domain requests, seeing as conditions for a preflight are
- // akin to a jigsaw puzzle, we simply never set it to be sure.
- // (it can always be set on a per-request basis or even using ajaxSetup)
- // For same-domain requests, won't change header if already provided.
- if ( !s.crossDomain && !headers["X-Requested-With"] ) {
- headers[ "X-Requested-With" ] = "XMLHttpRequest";
- }
-
- // Need an extra try/catch for cross domain requests in Firefox 3
- try {
- for ( i in headers ) {
- xhr.setRequestHeader( i, headers[ i ] );
- }
- } catch( _ ) {}
-
- // Do send the request
- // This may raise an exception which is actually
- // handled in jQuery.ajax (so no try/catch here)
- xhr.send( ( s.hasContent && s.data ) || null );
-
- // Listener
- callback = function( _, isAbort ) {
-
- var status,
- statusText,
- responseHeaders,
- responses,
- xml;
-
- // Firefox throws exceptions when accessing properties
- // of an xhr when a network error occured
- // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
- try {
-
- // Was never called and is aborted or complete
- if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
-
- // Only called once
- callback = undefined;
-
- // Do not keep as active anymore
- if ( handle ) {
- xhr.onreadystatechange = jQuery.noop;
- if ( xhrOnUnloadAbort ) {
- delete xhrCallbacks[ handle ];
- }
- }
-
- // If it's an abort
- if ( isAbort ) {
- // Abort it manually if needed
- if ( xhr.readyState !== 4 ) {
- xhr.abort();
- }
- } else {
- status = xhr.status;
- responseHeaders = xhr.getAllResponseHeaders();
- responses = {};
- xml = xhr.responseXML;
-
- // Construct response list
- if ( xml && xml.documentElement /* #4958 */ ) {
- responses.xml = xml;
- }
- responses.text = xhr.responseText;
-
- // Firefox throws an exception when accessing
- // statusText for faulty cross-domain requests
- try {
- statusText = xhr.statusText;
- } catch( e ) {
- // We normalize with Webkit giving an empty statusText
- statusText = "";
- }
-
- // Filter status for non standard behaviors
-
- // If the request is local and we have data: assume a success
- // (success with no data won't get notified, that's the best we
- // can do given current implementations)
- if ( !status && s.isLocal && !s.crossDomain ) {
- status = responses.text ? 200 : 404;
- // IE - #1450: sometimes returns 1223 when it should be 204
- } else if ( status === 1223 ) {
- status = 204;
- }
- }
- }
- } catch( firefoxAccessException ) {
- if ( !isAbort ) {
- complete( -1, firefoxAccessException );
- }
- }
-
- // Call complete if needed
- if ( responses ) {
- complete( status, statusText, responses, responseHeaders );
- }
- };
-
- // if we're in sync mode or it's in cache
- // and has been retrieved directly (IE6 & IE7)
- // we need to manually fire the callback
- if ( !s.async || xhr.readyState === 4 ) {
- callback();
- } else {
- handle = ++xhrId;
- if ( xhrOnUnloadAbort ) {
- // Create the active xhrs callbacks list if needed
- // and attach the unload handler
- if ( !xhrCallbacks ) {
- xhrCallbacks = {};
- jQuery( window ).unload( xhrOnUnloadAbort );
- }
- // Add to list of active xhrs callbacks
- xhrCallbacks[ handle ] = callback;
- }
- xhr.onreadystatechange = callback;
- }
- },
-
- abort: function() {
- if ( callback ) {
- callback(0,1);
- }
- }
- };
- }
- });
-}
-
-
-
-
-var elemdisplay = {},
- iframe, iframeDoc,
- rfxtypes = /^(?:toggle|show|hide)$/,
- rfxnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
- timerId,
- fxAttrs = [
- // height animations
- [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
- // width animations
- [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
- // opacity animations
- [ "opacity" ]
- ],
- fxNow;
-
-jQuery.fn.extend({
- show: function( speed, easing, callback ) {
- var elem, display;
-
- if ( speed || speed === 0 ) {
- return this.animate( genFx("show", 3), speed, easing, callback );
-
- } else {
- for ( var i = 0, j = this.length; i < j; i++ ) {
- elem = this[ i ];
-
- if ( elem.style ) {
- display = elem.style.display;
-
- // Reset the inline display of this element to learn if it is
- // being hidden by cascaded rules or not
- if ( !jQuery._data(elem, "olddisplay") && display === "none" ) {
- display = elem.style.display = "";
- }
-
- // Set elements which have been overridden with display: none
- // in a stylesheet to whatever the default browser style is
- // for such an element
- if ( display === "" && jQuery.css(elem, "display") === "none" ) {
- jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) );
- }
- }
- }
-
- // Set the display of most of the elements in a second loop
- // to avoid the constant reflow
- for ( i = 0; i < j; i++ ) {
- elem = this[ i ];
-
- if ( elem.style ) {
- display = elem.style.display;
-
- if ( display === "" || display === "none" ) {
- elem.style.display = jQuery._data( elem, "olddisplay" ) || "";
- }
- }
- }
-
- return this;
- }
- },
-
- hide: function( speed, easing, callback ) {
- if ( speed || speed === 0 ) {
- return this.animate( genFx("hide", 3), speed, easing, callback);
-
- } else {
- var elem, display,
- i = 0,
- j = this.length;
-
- for ( ; i < j; i++ ) {
- elem = this[i];
- if ( elem.style ) {
- display = jQuery.css( elem, "display" );
-
- if ( display !== "none" && !jQuery._data( elem, "olddisplay" ) ) {
- jQuery._data( elem, "olddisplay", display );
- }
- }
- }
-
- // Set the display of the elements in a second loop
- // to avoid the constant reflow
- for ( i = 0; i < j; i++ ) {
- if ( this[i].style ) {
- this[i].style.display = "none";
- }
- }
-
- return this;
- }
- },
-
- // Save the old toggle function
- _toggle: jQuery.fn.toggle,
-
- toggle: function( fn, fn2, callback ) {
- var bool = typeof fn === "boolean";
-
- if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
- this._toggle.apply( this, arguments );
-
- } else if ( fn == null || bool ) {
- this.each(function() {
- var state = bool ? fn : jQuery(this).is(":hidden");
- jQuery(this)[ state ? "show" : "hide" ]();
- });
-
- } else {
- this.animate(genFx("toggle", 3), fn, fn2, callback);
- }
-
- return this;
- },
-
- fadeTo: function( speed, to, easing, callback ) {
- return this.filter(":hidden").css("opacity", 0).show().end()
- .animate({opacity: to}, speed, easing, callback);
- },
-
- animate: function( prop, speed, easing, callback ) {
- var optall = jQuery.speed( speed, easing, callback );
-
- if ( jQuery.isEmptyObject( prop ) ) {
- return this.each( optall.complete, [ false ] );
- }
-
- // Do not change referenced properties as per-property easing will be lost
- prop = jQuery.extend( {}, prop );
-
- function doAnimation() {
- // XXX 'this' does not always have a nodeName when running the
- // test suite
-
- if ( optall.queue === false ) {
- jQuery._mark( this );
- }
-
- var opt = jQuery.extend( {}, optall ),
- isElement = this.nodeType === 1,
- hidden = isElement && jQuery(this).is(":hidden"),
- name, val, p, e,
- parts, start, end, unit,
- method;
-
- // will store per property easing and be used to determine when an animation is complete
- opt.animatedProperties = {};
-
- for ( p in prop ) {
-
- // property name normalization
- name = jQuery.camelCase( p );
- if ( p !== name ) {
- prop[ name ] = prop[ p ];
- delete prop[ p ];
- }
-
- val = prop[ name ];
-
- // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default)
- if ( jQuery.isArray( val ) ) {
- opt.animatedProperties[ name ] = val[ 1 ];
- val = prop[ name ] = val[ 0 ];
- } else {
- opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing';
- }
-
- if ( val === "hide" && hidden || val === "show" && !hidden ) {
- return opt.complete.call( this );
- }
-
- if ( isElement && ( name === "height" || name === "width" ) ) {
- // Make sure that nothing sneaks out
- // Record all 3 overflow attributes because IE does not
- // change the overflow attribute when overflowX and
- // overflowY are set to the same value
- opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ];
-
- // Set display property to inline-block for height/width
- // animations on inline elements that are having width/height animated
- if ( jQuery.css( this, "display" ) === "inline" &&
- jQuery.css( this, "float" ) === "none" ) {
-
- // inline-level elements accept inline-block;
- // block-level elements need to be inline with layout
- if ( !jQuery.support.inlineBlockNeedsLayout || defaultDisplay( this.nodeName ) === "inline" ) {
- this.style.display = "inline-block";
-
- } else {
- this.style.zoom = 1;
- }
- }
- }
- }
-
- if ( opt.overflow != null ) {
- this.style.overflow = "hidden";
- }
-
- for ( p in prop ) {
- e = new jQuery.fx( this, opt, p );
- val = prop[ p ];
-
- if ( rfxtypes.test( val ) ) {
-
- // Tracks whether to show or hide based on private
- // data attached to the element
- method = jQuery._data( this, "toggle" + p ) || ( val === "toggle" ? hidden ? "show" : "hide" : 0 );
- if ( method ) {
- jQuery._data( this, "toggle" + p, method === "show" ? "hide" : "show" );
- e[ method ]();
- } else {
- e[ val ]();
- }
-
- } else {
- parts = rfxnum.exec( val );
- start = e.cur();
-
- if ( parts ) {
- end = parseFloat( parts[2] );
- unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" );
-
- // We need to compute starting value
- if ( unit !== "px" ) {
- jQuery.style( this, p, (end || 1) + unit);
- start = ( (end || 1) / e.cur() ) * start;
- jQuery.style( this, p, start + unit);
- }
-
- // If a +=/-= token was provided, we're doing a relative animation
- if ( parts[1] ) {
- end = ( (parts[ 1 ] === "-=" ? -1 : 1) * end ) + start;
- }
-
- e.custom( start, end, unit );
-
- } else {
- e.custom( start, val, "" );
- }
- }
- }
-
- // For JS strict compliance
- return true;
- }
-
- return optall.queue === false ?
- this.each( doAnimation ) :
- this.queue( optall.queue, doAnimation );
- },
-
- stop: function( type, clearQueue, gotoEnd ) {
- if ( typeof type !== "string" ) {
- gotoEnd = clearQueue;
- clearQueue = type;
- type = undefined;
- }
- if ( clearQueue && type !== false ) {
- this.queue( type || "fx", [] );
- }
-
- return this.each(function() {
- var index,
- hadTimers = false,
- timers = jQuery.timers,
- data = jQuery._data( this );
-
- // clear marker counters if we know they won't be
- if ( !gotoEnd ) {
- jQuery._unmark( true, this );
- }
-
- function stopQueue( elem, data, index ) {
- var hooks = data[ index ];
- jQuery.removeData( elem, index, true );
- hooks.stop( gotoEnd );
- }
-
- if ( type == null ) {
- for ( index in data ) {
- if ( data[ index ] && data[ index ].stop && index.indexOf(".run") === index.length - 4 ) {
- stopQueue( this, data, index );
- }
- }
- } else if ( data[ index = type + ".run" ] && data[ index ].stop ){
- stopQueue( this, data, index );
- }
-
- for ( index = timers.length; index--; ) {
- if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
- if ( gotoEnd ) {
-
- // force the next step to be the last
- timers[ index ]( true );
- } else {
- timers[ index ].saveState();
- }
- hadTimers = true;
- timers.splice( index, 1 );
- }
- }
-
- // start the next in the queue if the last step wasn't forced
- // timers currently will call their complete callbacks, which will dequeue
- // but only if they were gotoEnd
- if ( !( gotoEnd && hadTimers ) ) {
- jQuery.dequeue( this, type );
- }
- });
- }
-
-});
-
-// Animations created synchronously will run synchronously
-function createFxNow() {
- setTimeout( clearFxNow, 0 );
- return ( fxNow = jQuery.now() );
-}
-
-function clearFxNow() {
- fxNow = undefined;
-}
-
-// Generate parameters to create a standard animation
-function genFx( type, num ) {
- var obj = {};
-
- jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice( 0, num )), function() {
- obj[ this ] = type;
- });
-
- return obj;
-}
-
-// Generate shortcuts for custom animations
-jQuery.each({
- slideDown: genFx( "show", 1 ),
- slideUp: genFx( "hide", 1 ),
- slideToggle: genFx( "toggle", 1 ),
- fadeIn: { opacity: "show" },
- fadeOut: { opacity: "hide" },
- fadeToggle: { opacity: "toggle" }
-}, function( name, props ) {
- jQuery.fn[ name ] = function( speed, easing, callback ) {
- return this.animate( props, speed, easing, callback );
- };
-});
-
-jQuery.extend({
- speed: function( speed, easing, fn ) {
- var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
- complete: fn || !fn && easing ||
- jQuery.isFunction( speed ) && speed,
- duration: speed,
- easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
- };
-
- opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
- opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
-
- // normalize opt.queue - true/undefined/null -> "fx"
- if ( opt.queue == null || opt.queue === true ) {
- opt.queue = "fx";
- }
-
- // Queueing
- opt.old = opt.complete;
-
- opt.complete = function( noUnmark ) {
- if ( jQuery.isFunction( opt.old ) ) {
- opt.old.call( this );
- }
-
- if ( opt.queue ) {
- jQuery.dequeue( this, opt.queue );
- } else if ( noUnmark !== false ) {
- jQuery._unmark( this );
- }
- };
-
- return opt;
- },
-
- easing: {
- linear: function( p, n, firstNum, diff ) {
- return firstNum + diff * p;
- },
- swing: function( p, n, firstNum, diff ) {
- return ( ( -Math.cos( p*Math.PI ) / 2 ) + 0.5 ) * diff + firstNum;
- }
- },
-
- timers: [],
-
- fx: function( elem, options, prop ) {
- this.options = options;
- this.elem = elem;
- this.prop = prop;
-
- options.orig = options.orig || {};
- }
-
-});
-
-jQuery.fx.prototype = {
- // Simple function for setting a style value
- update: function() {
- if ( this.options.step ) {
- this.options.step.call( this.elem, this.now, this );
- }
-
- ( jQuery.fx.step[ this.prop ] || jQuery.fx.step._default )( this );
- },
-
- // Get the current size
- cur: function() {
- if ( this.elem[ this.prop ] != null && (!this.elem.style || this.elem.style[ this.prop ] == null) ) {
- return this.elem[ this.prop ];
- }
-
- var parsed,
- r = jQuery.css( this.elem, this.prop );
- // Empty strings, null, undefined and "auto" are converted to 0,
- // complex values such as "rotate(1rad)" are returned as is,
- // simple values such as "10px" are parsed to Float.
- return isNaN( parsed = parseFloat( r ) ) ? !r || r === "auto" ? 0 : r : parsed;
- },
-
- // Start an animation from one number to another
- custom: function( from, to, unit ) {
- var self = this,
- fx = jQuery.fx;
-
- this.startTime = fxNow || createFxNow();
- this.end = to;
- this.now = this.start = from;
- this.pos = this.state = 0;
- this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" );
-
- function t( gotoEnd ) {
- return self.step( gotoEnd );
- }
-
- t.queue = this.options.queue;
- t.elem = this.elem;
- t.saveState = function() {
- if ( self.options.hide && jQuery._data( self.elem, "fxshow" + self.prop ) === undefined ) {
- jQuery._data( self.elem, "fxshow" + self.prop, self.start );
- }
- };
-
- if ( t() && jQuery.timers.push(t) && !timerId ) {
- timerId = setInterval( fx.tick, fx.interval );
- }
- },
-
- // Simple 'show' function
- show: function() {
- var dataShow = jQuery._data( this.elem, "fxshow" + this.prop );
-
- // Remember where we started, so that we can go back to it later
- this.options.orig[ this.prop ] = dataShow || jQuery.style( this.elem, this.prop );
- this.options.show = true;
-
- // Begin the animation
- // Make sure that we start at a small width/height to avoid any flash of content
- if ( dataShow !== undefined ) {
- // This show is picking up where a previous hide or show left off
- this.custom( this.cur(), dataShow );
- } else {
- this.custom( this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur() );
- }
-
- // Start by showing the element
- jQuery( this.elem ).show();
- },
-
- // Simple 'hide' function
- hide: function() {
- // Remember where we started, so that we can go back to it later
- this.options.orig[ this.prop ] = jQuery._data( this.elem, "fxshow" + this.prop ) || jQuery.style( this.elem, this.prop );
- this.options.hide = true;
-
- // Begin the animation
- this.custom( this.cur(), 0 );
- },
-
- // Each step of an animation
- step: function( gotoEnd ) {
- var p, n, complete,
- t = fxNow || createFxNow(),
- done = true,
- elem = this.elem,
- options = this.options;
-
- if ( gotoEnd || t >= options.duration + this.startTime ) {
- this.now = this.end;
- this.pos = this.state = 1;
- this.update();
-
- options.animatedProperties[ this.prop ] = true;
-
- for ( p in options.animatedProperties ) {
- if ( options.animatedProperties[ p ] !== true ) {
- done = false;
- }
- }
-
- if ( done ) {
- // Reset the overflow
- if ( options.overflow != null && !jQuery.support.shrinkWrapBlocks ) {
-
- jQuery.each( [ "", "X", "Y" ], function( index, value ) {
- elem.style[ "overflow" + value ] = options.overflow[ index ];
- });
- }
-
- // Hide the element if the "hide" operation was done
- if ( options.hide ) {
- jQuery( elem ).hide();
- }
-
- // Reset the properties, if the item has been hidden or shown
- if ( options.hide || options.show ) {
- for ( p in options.animatedProperties ) {
- jQuery.style( elem, p, options.orig[ p ] );
- jQuery.removeData( elem, "fxshow" + p, true );
- // Toggle data is no longer needed
- jQuery.removeData( elem, "toggle" + p, true );
- }
- }
-
- // Execute the complete function
- // in the event that the complete function throws an exception
- // we must ensure it won't be called twice. #5684
-
- complete = options.complete;
- if ( complete ) {
-
- options.complete = false;
- complete.call( elem );
- }
- }
-
- return false;
-
- } else {
- // classical easing cannot be used with an Infinity duration
- if ( options.duration == Infinity ) {
- this.now = t;
- } else {
- n = t - this.startTime;
- this.state = n / options.duration;
-
- // Perform the easing function, defaults to swing
- this.pos = jQuery.easing[ options.animatedProperties[this.prop] ]( this.state, n, 0, 1, options.duration );
- this.now = this.start + ( (this.end - this.start) * this.pos );
- }
- // Perform the next step of the animation
- this.update();
- }
-
- return true;
- }
-};
-
-jQuery.extend( jQuery.fx, {
- tick: function() {
- var timer,
- timers = jQuery.timers,
- i = 0;
-
- for ( ; i < timers.length; i++ ) {
- timer = timers[ i ];
- // Checks the timer has not already been removed
- if ( !timer() && timers[ i ] === timer ) {
- timers.splice( i--, 1 );
- }
- }
-
- if ( !timers.length ) {
- jQuery.fx.stop();
- }
- },
-
- interval: 13,
-
- stop: function() {
- clearInterval( timerId );
- timerId = null;
- },
-
- speeds: {
- slow: 600,
- fast: 200,
- // Default speed
- _default: 400
- },
-
- step: {
- opacity: function( fx ) {
- jQuery.style( fx.elem, "opacity", fx.now );
- },
-
- _default: function( fx ) {
- if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
- fx.elem.style[ fx.prop ] = fx.now + fx.unit;
- } else {
- fx.elem[ fx.prop ] = fx.now;
- }
- }
- }
-});
-
-// Adds width/height step functions
-// Do not set anything below 0
-jQuery.each([ "width", "height" ], function( i, prop ) {
- jQuery.fx.step[ prop ] = function( fx ) {
- jQuery.style( fx.elem, prop, Math.max(0, fx.now) + fx.unit );
- };
-});
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.animated = function( elem ) {
- return jQuery.grep(jQuery.timers, function( fn ) {
- return elem === fn.elem;
- }).length;
- };
-}
-
-// Try to restore the default display value of an element
-function defaultDisplay( nodeName ) {
-
- if ( !elemdisplay[ nodeName ] ) {
-
- var body = document.body,
- elem = jQuery( "<" + nodeName + ">" ).appendTo( body ),
- display = elem.css( "display" );
- elem.remove();
-
- // If the simple way fails,
- // get element's real default display by attaching it to a temp iframe
- if ( display === "none" || display === "" ) {
- // No iframe to use yet, so create it
- if ( !iframe ) {
- iframe = document.createElement( "iframe" );
- iframe.frameBorder = iframe.width = iframe.height = 0;
- }
-
- body.appendChild( iframe );
-
- // Create a cacheable copy of the iframe document on first call.
- // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML
- // document to it; WebKit & Firefox won't allow reusing the iframe document.
- if ( !iframeDoc || !iframe.createElement ) {
- iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;
- iframeDoc.write( ( document.compatMode === "CSS1Compat" ? "<!doctype html>" : "" ) + "<html><body>" );
- iframeDoc.close();
- }
-
- elem = iframeDoc.createElement( nodeName );
-
- iframeDoc.body.appendChild( elem );
-
- display = jQuery.css( elem, "display" );
- body.removeChild( iframe );
- }
-
- // Store the correct default display
- elemdisplay[ nodeName ] = display;
- }
-
- return elemdisplay[ nodeName ];
-}
-
-
-
-
-var rtable = /^t(?:able|d|h)$/i,
- rroot = /^(?:body|html)$/i;
-
-if ( "getBoundingClientRect" in document.documentElement ) {
- jQuery.fn.offset = function( options ) {
- var elem = this[0], box;
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- try {
- box = elem.getBoundingClientRect();
- } catch(e) {}
-
- var doc = elem.ownerDocument,
- docElem = doc.documentElement;
-
- // Make sure we're not dealing with a disconnected DOM node
- if ( !box || !jQuery.contains( docElem, elem ) ) {
- return box ? { top: box.top, left: box.left } : { top: 0, left: 0 };
- }
-
- var body = doc.body,
- win = getWindow(doc),
- clientTop = docElem.clientTop || body.clientTop || 0,
- clientLeft = docElem.clientLeft || body.clientLeft || 0,
- scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop,
- scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
- top = box.top + scrollTop - clientTop,
- left = box.left + scrollLeft - clientLeft;
-
- return { top: top, left: left };
- };
-
-} else {
- jQuery.fn.offset = function( options ) {
- var elem = this[0];
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- var computedStyle,
- offsetParent = elem.offsetParent,
- prevOffsetParent = elem,
- doc = elem.ownerDocument,
- docElem = doc.documentElement,
- body = doc.body,
- defaultView = doc.defaultView,
- prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
- top = elem.offsetTop,
- left = elem.offsetLeft;
-
- while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
- if ( jQuery.support.fixedPosition && prevComputedStyle.position === "fixed" ) {
- break;
- }
-
- computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
- top -= elem.scrollTop;
- left -= elem.scrollLeft;
-
- if ( elem === offsetParent ) {
- top += elem.offsetTop;
- left += elem.offsetLeft;
-
- if ( jQuery.support.doesNotAddBorder && !(jQuery.support.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevOffsetParent = offsetParent;
- offsetParent = elem.offsetParent;
- }
-
- if ( jQuery.support.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevComputedStyle = computedStyle;
- }
-
- if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
- top += body.offsetTop;
- left += body.offsetLeft;
- }
-
- if ( jQuery.support.fixedPosition && prevComputedStyle.position === "fixed" ) {
- top += Math.max( docElem.scrollTop, body.scrollTop );
- left += Math.max( docElem.scrollLeft, body.scrollLeft );
- }
-
- return { top: top, left: left };
- };
-}
-
-jQuery.offset = {
-
- bodyOffset: function( body ) {
- var top = body.offsetTop,
- left = body.offsetLeft;
-
- if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) {
- top += parseFloat( jQuery.css(body, "marginTop") ) || 0;
- left += parseFloat( jQuery.css(body, "marginLeft") ) || 0;
- }
-
- return { top: top, left: left };
- },
-
- setOffset: function( elem, options, i ) {
- var position = jQuery.css( elem, "position" );
-
- // set position first, in-case top/left are set even on static elem
- if ( position === "static" ) {
- elem.style.position = "relative";
- }
-
- var curElem = jQuery( elem ),
- curOffset = curElem.offset(),
- curCSSTop = jQuery.css( elem, "top" ),
- curCSSLeft = jQuery.css( elem, "left" ),
- calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1,
- props = {}, curPosition = {}, curTop, curLeft;
-
- // need to be able to calculate position if either top or left is auto and position is either absolute or fixed
- if ( calculatePosition ) {
- curPosition = curElem.position();
- curTop = curPosition.top;
- curLeft = curPosition.left;
- } else {
- curTop = parseFloat( curCSSTop ) || 0;
- curLeft = parseFloat( curCSSLeft ) || 0;
- }
-
- if ( jQuery.isFunction( options ) ) {
- options = options.call( elem, i, curOffset );
- }
-
- if ( options.top != null ) {
- props.top = ( options.top - curOffset.top ) + curTop;
- }
- if ( options.left != null ) {
- props.left = ( options.left - curOffset.left ) + curLeft;
- }
-
- if ( "using" in options ) {
- options.using.call( elem, props );
- } else {
- curElem.css( props );
- }
- }
-};
-
-
-jQuery.fn.extend({
-
- position: function() {
- if ( !this[0] ) {
- return null;
- }
-
- var elem = this[0],
-
- // Get *real* offsetParent
- offsetParent = this.offsetParent(),
-
- // Get correct offsets
- offset = this.offset(),
- parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
-
- // Subtract element margins
- // note: when an element has margin: auto the offsetLeft and marginLeft
- // are the same in Safari causing offset.left to incorrectly be 0
- offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0;
- offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0;
-
- // Add offsetParent borders
- parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0;
- parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0;
-
- // Subtract the two offsets
- return {
- top: offset.top - parentOffset.top,
- left: offset.left - parentOffset.left
- };
- },
-
- offsetParent: function() {
- return this.map(function() {
- var offsetParent = this.offsetParent || document.body;
- while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
- offsetParent = offsetParent.offsetParent;
- }
- return offsetParent;
- });
- }
-});
-
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( ["Left", "Top"], function( i, name ) {
- var method = "scroll" + name;
-
- jQuery.fn[ method ] = function( val ) {
- var elem, win;
-
- if ( val === undefined ) {
- elem = this[ 0 ];
-
- if ( !elem ) {
- return null;
- }
-
- win = getWindow( elem );
-
- // Return the scroll offset
- return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
- jQuery.support.boxModel && win.document.documentElement[ method ] ||
- win.document.body[ method ] :
- elem[ method ];
- }
-
- // Set the scroll offset
- return this.each(function() {
- win = getWindow( this );
-
- if ( win ) {
- win.scrollTo(
- !i ? val : jQuery( win ).scrollLeft(),
- i ? val : jQuery( win ).scrollTop()
- );
-
- } else {
- this[ method ] = val;
- }
- });
- };
-});
-
-function getWindow( elem ) {
- return jQuery.isWindow( elem ) ?
- elem :
- elem.nodeType === 9 ?
- elem.defaultView || elem.parentWindow :
- false;
-}
-
-
-
-
-// Create width, height, innerHeight, innerWidth, outerHeight and outerWidth methods
-jQuery.each([ "Height", "Width" ], function( i, name ) {
-
- var type = name.toLowerCase();
-
- // innerHeight and innerWidth
- jQuery.fn[ "inner" + name ] = function() {
- var elem = this[0];
- return elem ?
- elem.style ?
- parseFloat( jQuery.css( elem, type, "padding" ) ) :
- this[ type ]() :
- null;
- };
-
- // outerHeight and outerWidth
- jQuery.fn[ "outer" + name ] = function( margin ) {
- var elem = this[0];
- return elem ?
- elem.style ?
- parseFloat( jQuery.css( elem, type, margin ? "margin" : "border" ) ) :
- this[ type ]() :
- null;
- };
-
- jQuery.fn[ type ] = function( size ) {
- // Get window width or height
- var elem = this[0];
- if ( !elem ) {
- return size == null ? null : this;
- }
-
- if ( jQuery.isFunction( size ) ) {
- return this.each(function( i ) {
- var self = jQuery( this );
- self[ type ]( size.call( this, i, self[ type ]() ) );
- });
- }
-
- if ( jQuery.isWindow( elem ) ) {
- // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
- // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat
- var docElemProp = elem.document.documentElement[ "client" + name ],
- body = elem.document.body;
- return elem.document.compatMode === "CSS1Compat" && docElemProp ||
- body && body[ "client" + name ] || docElemProp;
-
- // Get document width or height
- } else if ( elem.nodeType === 9 ) {
- // Either scroll[Width/Height] or offset[Width/Height], whichever is greater
- return Math.max(
- elem.documentElement["client" + name],
- elem.body["scroll" + name], elem.documentElement["scroll" + name],
- elem.body["offset" + name], elem.documentElement["offset" + name]
- );
-
- // Get or set width or height on the element
- } else if ( size === undefined ) {
- var orig = jQuery.css( elem, type ),
- ret = parseFloat( orig );
-
- return jQuery.isNumeric( ret ) ? ret : orig;
-
- // Set the width or height on the element (default to pixels if value is unitless)
- } else {
- return this.css( type, typeof size === "string" ? size : size + "px" );
- }
- };
-
-});
-
-
-
-
-// Expose jQuery to the global object
-window.jQuery = window.$ = jQuery;
-
-// Expose jQuery as an AMD module, but only for AMD loaders that
-// understand the issues with loading multiple versions of jQuery
-// in a page that all might call define(). The loader will indicate
-// they have special allowances for multiple jQuery versions by
-// specifying define.amd.jQuery = true. Register as a named module,
-// since jQuery can be concatenated with other files that may use define,
-// but not use a proper concatenation script that understands anonymous
-// AMD modules. A named AMD is safest and most robust way to register.
-// Lowercase jquery is used because AMD module names are derived from
-// file names, and jQuery is normally delivered in a lowercase file name.
-// Do this after creating the global so that if an AMD module wants to call
-// noConflict to hide this version of jQuery, it will work.
-if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
- define( "jquery", [], function () { return jQuery; } );
-}
-
-
-
-})( window );
diff --git a/build/documentation/api/js/jquery-ui-1.8.2.custom.min.js b/build/documentation/api/js/jquery-ui-1.8.2.custom.min.js
deleted file mode 100644
index c11e844f..00000000
--- a/build/documentation/api/js/jquery-ui-1.8.2.custom.min.js
+++ /dev/null
@@ -1,1012 +0,0 @@
-/*!
- * jQuery UI 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI
- */
-(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==
-"hidden")return false;b=b&&b=="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,f,g){return c.ui.isOverAxis(a,d,f)&&c.ui.isOverAxis(b,e,g)},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,
-NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect",
-"none")},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",
-1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==undefined)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");return(/input|select|textarea|button|object/.test(b)?
-!a.disabled:"a"==b||"area"==b?a.href||!isNaN(d):!isNaN(d))&&!c(a)["area"==b?"parents":"closest"](":hidden").length},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}})}})(jQuery);
-;/*!
- * jQuery UI Widget 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype=
-b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g=
-b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();
-this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f,
-h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=
-b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
-;/*!
- * jQuery UI Mouse 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- * jquery.ui.widget.js
- */
-(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&
-this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();
-return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&
-this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-
-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
-;/*
- * jQuery UI Position 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Position
- */
-(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h=
-0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+=
-g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k,
-elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"?
--b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position=
-"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery);
-;/*
- * jQuery UI Draggable 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Draggables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
-"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
-this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-
-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();
-d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||
-this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,
-b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==
-a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||
-0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
-this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-
-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment==
-"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&
-a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),
-10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
-this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():
-f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+
-this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+
-Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])?e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-
-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=
-this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.2"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");
-if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;
-c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=
-1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;
-this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=
-this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=
-d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;
-if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!=
-"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-
-b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
-width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h=c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&
-o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=
-p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&
-(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
-10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
-;/*
- * jQuery UI Droppable 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Droppables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.mouse.js
- * jquery.ui.draggable.js
- */
-(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
-a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
-this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
-this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
-d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
-a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.2"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
-switch(c){case "fit":return i<e&&g<k&&j<f&&h<l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=i&&
-e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
-"none";if(c[f].visible){c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight};e=="mousedown"&&c[f]._activate.call(c[f],b)}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
-a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=
-d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})}}})(jQuery);
-;/*
- * jQuery UI Resizable 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Resizables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.resizable",d.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");d.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
-_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&d.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(d('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
-top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
-this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!d(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
-nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var e=0;e<c.length;e++){var g=d.trim(c[e]),f=d('<div class="ui-resizable-handle '+("ui-resizable-"+g)+'"></div>');/sw|se|ne|nw/.test(g)&&f.css({zIndex:++a.zIndex});"se"==g&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[g]=".ui-resizable-"+g;this.element.append(f)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
-String)this.handles[i]=d(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=d(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}d(this.handles[i])}};this._renderAxis(this.element);this._handles=d(".ui-resizable-handle",this.element).disableSelection();
-this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();d(this.element).addClass("ui-resizable-autohide").hover(function(){d(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){d(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){d(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};
-if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(d(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),
-e=this.element;this.resizing=true;this.documentScroll={top:d(document).scrollTop(),left:d(document).scrollLeft()};if(e.is(".ui-draggable")||/absolute/.test(e.css("position")))e.css({position:"absolute",top:c.top,left:c.left});d.browser.opera&&/relative/.test(e.css("position"))&&e.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var g=m(this.helper.css("top"));if(a.containment){c+=d(a.containment).scrollLeft()||0;g+=d(a.containment).scrollTop()||0}this.offset=
-this.helper.offset();this.position={left:c,top:g};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:c,top:g};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:
-this.originalSize.width/this.originalSize.height||1;a=d(".ui-resizable-"+this.axis).css("cursor");d("body").css("cursor",a=="auto"?this.axis+"-resize":a);e.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,e=this._change[this.axis];if(!e)return false;c=e.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",
-b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var e=this._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName);e=g&&d.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height;
-g={width:c.size.width-(g?0:c.sizeDiff.width),height:c.size.height-e};e=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var f=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(d.extend(g,{top:f,left:e}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}d("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",
-b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,e=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(e=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(e=="nw"){b.top=
-a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,e=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,g=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,f=k(b.width)&&a.minWidth&&a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(f)b.width=a.minWidth;if(h)b.height=a.minHeight;if(e)b.width=a.maxWidth;if(g)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,
-l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(f&&l)b.left=i-a.minWidth;if(e&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(g&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var e=[c.css("borderTopWidth"),
-c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],g=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=d.map(e,function(f,h){f=parseInt(f,10)||0;h=parseInt(g[h],10)||0;return f+h})}d.browser.msie&&(d(b).is(":hidden")||d(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=
-this.element.offset();if(this._helper){this.helper=this.helper||d('<div style="overflow:hidden;"></div>');var a=d.browser.msie&&d.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+
-a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return d.extend(this._change.n.apply(this,
-arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return d.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){d.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});d.extend(d.ui.resizable,
-{version:"1.8.2"});d.ui.plugin.add("resizable","alsoResize",{start:function(){var b=d(this).data("resizable").options,a=function(c){d(c).each(function(){d(this).data("resizable-alsoresize",{width:parseInt(d(this).width(),10),height:parseInt(d(this).height(),10),left:parseInt(d(this).css("left"),10),top:parseInt(d(this).css("top"),10)})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else d.each(b.alsoResize,function(c){a(c)});
-else a(b.alsoResize)},resize:function(){var b=d(this).data("resizable"),a=b.options,c=b.originalSize,e=b.originalPosition,g={height:b.size.height-c.height||0,width:b.size.width-c.width||0,top:b.position.top-e.top||0,left:b.position.left-e.left||0},f=function(h,i){d(h).each(function(){var j=d(this),l=d(this).data("resizable-alsoresize"),p={};d.each((i&&i.length?i:["width","height","top","left"])||["width","height","top","left"],function(n,o){if((n=(l[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(/relative/.test(j.css("position"))&&
-d.browser.opera){b._revertToRelativePosition=true;j.css({position:"absolute",top:"auto",left:"auto"})}j.css(p)})};typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?d.each(a.alsoResize,function(h,i){f(h,i)}):f(a.alsoResize)},stop:function(){var b=d(this).data("resizable");if(b._revertToRelativePosition&&d.browser.opera){b._revertToRelativePosition=false;el.css({position:"relative"})}d(this).removeData("resizable-alsoresize-start")}});d.ui.plugin.add("resizable","animate",{stop:function(b){var a=
-d(this).data("resizable"),c=a.options,e=a._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName),f=g&&d.ui.hasScroll(e[0],"left")?0:a.sizeDiff.height;g={width:a.size.width-(g?0:a.sizeDiff.width),height:a.size.height-f};f=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(d.extend(g,h&&f?{top:h,left:f}:{}),{duration:c.animateDuration,easing:c.animateEasing,
-step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};e&&e.length&&d(e[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});d.ui.plugin.add("resizable","containment",{start:function(){var b=d(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof d?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
-d(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:d(document),left:0,top:0,width:d(document).width(),height:d(document).height()||document.body.parentNode.scrollHeight}}else{var e=d(a),g=[];d(["Top","Right","Left","Bottom"]).each(function(i,j){g[i]=m(e.css("padding"+j))});b.containerOffset=e.offset();b.containerPosition=e.position();b.containerSize={height:e.innerHeight()-g[3],width:e.innerWidth()-g[1]};c=b.containerOffset;
-var f=b.containerSize.height,h=b.containerSize.width;h=d.ui.hasScroll(a,"left")?a.scrollWidth:h;f=d.ui.hasScroll(a)?a.scrollHeight:f;b.parentData={element:a,left:c.left,top:c.top,width:h,height:f}}}},resize:function(b){var a=d(this).data("resizable"),c=a.options,e=a.containerOffset,g=a.position;b=a._aspectRatio||b.shiftKey;var f={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))f=e;if(g.left<(a._helper?e.left:0)){a.size.width+=a._helper?a.position.left-e.left:
-a.position.left-f.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?e.left:0}if(g.top<(a._helper?e.top:0)){a.size.height+=a._helper?a.position.top-e.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?e.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-f.left:a.offset.left-f.left)+a.sizeDiff.width);e=Math.abs((a._helper?a.offset.top-f.top:a.offset.top-
-e.top)+a.sizeDiff.height);g=a.containerElement.get(0)==a.element.parent().get(0);f=/relative|absolute/.test(a.containerElement.css("position"));if(g&&f)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(e+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-e;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=d(this).data("resizable"),a=b.options,c=b.containerOffset,e=b.containerPosition,
-g=b.containerElement,f=d(b.helper),h=f.offset(),i=f.outerWidth()-b.sizeDiff.width;f=f.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f});b._helper&&!a.animate&&/static/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f})}});d.ui.plugin.add("resizable","ghost",{start:function(){var b=d(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
-display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=d(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=d(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});d.ui.plugin.add("resizable","grid",{resize:function(){var b=
-d(this).data("resizable"),a=b.options,c=b.size,e=b.originalSize,g=b.originalPosition,f=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-e.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-e.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a}else if(/^(ne)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}else{if(/^(sw)$/.test(f)){b.size.width=e.width+h;b.size.height=
-e.height+a}else{b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}b.position.left=g.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
-;
-/*
- * jQuery UI Selectable 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Selectables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function($) {
-
-$.widget("ui.selectable", $.ui.mouse, {
- options: {
- appendTo: 'body',
- autoRefresh: true,
- distance: 0,
- filter: '*',
- tolerance: 'touch'
- },
- _create: function() {
- var self = this;
-
- this.element.addClass("ui-selectable");
-
- this.dragged = false;
-
- // cache selectee children based on filter
- var selectees;
- this.refresh = function() {
- selectees = $(self.options.filter, self.element[0]);
- selectees.each(function() {
- var $this = $(this);
- var pos = $this.offset();
- $.data(this, "selectable-item", {
- element: this,
- $element: $this,
- left: pos.left,
- top: pos.top,
- right: pos.left + $this.outerWidth(),
- bottom: pos.top + $this.outerHeight(),
- startselected: false,
- selected: $this.hasClass('ui-selected'),
- selecting: $this.hasClass('ui-selecting'),
- unselecting: $this.hasClass('ui-unselecting')
- });
- });
- };
- this.refresh();
-
- this.selectees = selectees.addClass("ui-selectee");
-
- this._mouseInit();
-
- this.helper = $("<div class='ui-selectable-helper'></div>");
- },
-
- destroy: function() {
- this.selectees
- .removeClass("ui-selectee")
- .removeData("selectable-item");
- this.element
- .removeClass("ui-selectable ui-selectable-disabled")
- .removeData("selectable")
- .unbind(".selectable");
- this._mouseDestroy();
-
- return this;
- },
-
- _mouseStart: function(event) {
- var self = this;
-
- this.opos = [event.pageX, event.pageY];
-
- if (this.options.disabled)
- return;
-
- var options = this.options;
-
- this.selectees = $(options.filter, this.element[0]);
-
- this._trigger("start", event);
-
- $(options.appendTo).append(this.helper);
- // position helper (lasso)
- this.helper.css({
- "z-index": 100,
- "position": "absolute",
- "left": event.clientX,
- "top": event.clientY,
- "width": 0,
- "height": 0
- });
-
- if (options.autoRefresh) {
- this.refresh();
- }
-
- this.selectees.filter('.ui-selected').each(function() {
- var selectee = $.data(this, "selectable-item");
- selectee.startselected = true;
- if (!event.metaKey) {
- selectee.$element.removeClass('ui-selected');
- selectee.selected = false;
- selectee.$element.addClass('ui-unselecting');
- selectee.unselecting = true;
- // selectable UNSELECTING callback
- self._trigger("unselecting", event, {
- unselecting: selectee.element
- });
- }
- });
-
- $(event.target).parents().andSelf().each(function() {
- var selectee = $.data(this, "selectable-item");
- if (selectee) {
- var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
- selectee.$element
- .removeClass(doSelect ? "ui-unselecting" : "ui-selected")
- .addClass(doSelect ? "ui-selecting" : "ui-unselecting");
- selectee.unselecting = !doSelect;
- selectee.selecting = doSelect;
- selectee.selected = doSelect;
- // selectable (UN)SELECTING callback
- if (doSelect) {
- self._trigger("selecting", event, {
- selecting: selectee.element
- });
- } else {
- self._trigger("unselecting", event, {
- unselecting: selectee.element
- });
- }
- return false;
- }
- });
-
- },
-
- _mouseDrag: function(event) {
- var self = this;
- this.dragged = true;
-
- if (this.options.disabled)
- return;
-
- var options = this.options;
-
- var x1 = this.opos[0], y1 = this.opos[1], x2 = event.pageX, y2 = event.pageY;
- if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; }
- if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; }
- this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
-
- this.selectees.each(function() {
- var selectee = $.data(this, "selectable-item");
- //prevent helper from being selected if appendTo: selectable
- if (!selectee || selectee.element == self.element[0])
- return;
- var hit = false;
- if (options.tolerance == 'touch') {
- hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
- } else if (options.tolerance == 'fit') {
- hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
- }
-
- if (hit) {
- // SELECT
- if (selectee.selected) {
- selectee.$element.removeClass('ui-selected');
- selectee.selected = false;
- }
- if (selectee.unselecting) {
- selectee.$element.removeClass('ui-unselecting');
- selectee.unselecting = false;
- }
- if (!selectee.selecting) {
- selectee.$element.addClass('ui-selecting');
- selectee.selecting = true;
- // selectable SELECTING callback
- self._trigger("selecting", event, {
- selecting: selectee.element
- });
- }
- } else {
- // UNSELECT
- if (selectee.selecting) {
- if (event.metaKey && selectee.startselected) {
- selectee.$element.removeClass('ui-selecting');
- selectee.selecting = false;
- selectee.$element.addClass('ui-selected');
- selectee.selected = true;
- } else {
- selectee.$element.removeClass('ui-selecting');
- selectee.selecting = false;
- if (selectee.startselected) {
- selectee.$element.addClass('ui-unselecting');
- selectee.unselecting = true;
- }
- // selectable UNSELECTING callback
- self._trigger("unselecting", event, {
- unselecting: selectee.element
- });
- }
- }
- if (selectee.selected) {
- if (!event.metaKey && !selectee.startselected) {
- selectee.$element.removeClass('ui-selected');
- selectee.selected = false;
-
- selectee.$element.addClass('ui-unselecting');
- selectee.unselecting = true;
- // selectable UNSELECTING callback
- self._trigger("unselecting", event, {
- unselecting: selectee.element
- });
- }
- }
- }
- });
-
- return false;
- },
-
- _mouseStop: function(event) {
- var self = this;
-
- this.dragged = false;
-
- var options = this.options;
-
- $('.ui-unselecting', this.element[0]).each(function() {
- var selectee = $.data(this, "selectable-item");
- selectee.$element.removeClass('ui-unselecting');
- selectee.unselecting = false;
- selectee.startselected = false;
- self._trigger("unselected", event, {
- unselected: selectee.element
- });
- });
- $('.ui-selecting', this.element[0]).each(function() {
- var selectee = $.data(this, "selectable-item");
- selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
- selectee.selecting = false;
- selectee.selected = true;
- selectee.startselected = true;
- self._trigger("selected", event, {
- selected: selectee.element
- });
- });
- this._trigger("stop", event);
-
- this.helper.remove();
-
- return false;
- }
-
-});
-
-$.extend($.ui.selectable, {
- version: "1.8.2"
-});
-
-})(jQuery);
-(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
-selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
-c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");
-b.unselecting=true;f._trigger("unselecting",c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=
-this;this.dragged=true;if(!this.options.disabled){var d=this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");
-a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=
-true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=
-false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.2"})})(jQuery);
-;/*
- * jQuery UI Sortable 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Sortables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable");
-this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,
-arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=
-c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,
-{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();
-if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",
-a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");
-if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+
-this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+
-b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+
-"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,
-c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==
-document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",
-null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):
-d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},
-_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/
-2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=
-d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=
-this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?
-h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),
-b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?
-i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,
-c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=
-this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-
-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],
-this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=
-1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",
-a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==
-this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||
-0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
-this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-
-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;
-if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=
-d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-
-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+
-this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
-this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;
-if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-
-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+
-(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&
-this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||
-this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",
-g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",
-this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=
-0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.2"})})(jQuery);
-;/*
- * jQuery UI Accordion 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Accordion
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},_create:function(){var a=this.options,b=this;this.running=0;this.element.addClass("ui-accordion ui-widget ui-helper-reset");
-this.element.children("li").addClass("ui-accordion-li-fix");this.headers=this.element.find(a.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
-if(a.navigation){var d=this.element.find("a").filter(a.navigationFilter);if(d.length){var f=d.closest(".ui-accordion-header");this.active=f.length?f:d.closest(".ui-accordion-content").prev()}}this.active=this._findActive(this.active||a.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");this._createIcons();this.resize();this.element.attr("role","tablist");this.headers.attr("role",
-"tab").bind("keydown",function(g){return b._keydown(g)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();this.active.length?this.active.attr("aria-expanded","true").attr("tabIndex","0"):this.headers.eq(0).attr("tabIndex","0");c.browser.safari||this.headers.find("a").attr("tabIndex","-1");a.event&&this.headers.bind(a.event+".accordion",function(g){b._clickHandler.call(b,g,this);g.preventDefault()})},_createIcons:function(){var a=
-this.options;if(a.icons){c("<span/>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");
-this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(a.autoHeight||a.fillHeight)b.css("height",
-"");return this},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();b&&this._createIcons()}},_keydown:function(a){var b=c.ui.keyCode;if(!(this.options.disabled||a.altKey||a.ctrlKey)){var d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},
-a.target);a.preventDefault()}if(g){c(a.target).attr("tabIndex","-1");c(g).attr("tabIndex","0");g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,
-b-c(this).innerHeight()+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a=="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=
-this.options;if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]==this.active[0];d.active=d.collapsible&&b?false:c(".ui-accordion-header",this.element).index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);
-a.next().addClass("ui-accordion-content-active")}e=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):e,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(e,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
-this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},e=this.active=c([]);this._toggle(e,f,g)}},_toggle:function(a,b,d,f,g){var e=this.options,k=this;this.toShow=a;this.toHide=b;this.data=d;var i=function(){if(k)return k._completed.apply(k,arguments)};this._trigger("changestart",null,this.data);this.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),
-toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var h=e.duration,j=e.animated;if(j&&!f[j]&&!c.easing[j])j="slide";f[j]||(f[j]=function(l){this.slide(l,{easing:j,
-duration:h||700})});f[j](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}i(true)}b.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();a.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(a){var b=this.options;this.running=a?0:--this.running;if(!this.running){b.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,
-{version:"1.8.2",animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},e={},k;b=a.toShow;k=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(i,h){e[h]="hide";i=(""+c.css(a.toShow[0],
-h)).match(/^([\d+-.]+)(.*)$/);g[h]={value:i[1],unit:i[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(e,{step:function(i,h){if(h.prop=="height")f=h.end-h.start===0?0:(h.now-h.start)/(h.end-h.start);a.toShow[0].style[h.prop]=f*g[h.prop].value+g[h.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css("width",k);a.toShow.css({overflow:d});a.complete()}})}else a.toHide.animate({height:"hide"},
-a);else a.toShow.animate({height:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
-;/*
- * jQuery UI Autocomplete 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Autocomplete
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.position.js
- */
-(function(e){e.widget("ui.autocomplete",{options:{minLength:1,delay:300},_create:function(){var a=this,c=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(d){var b=e.ui.keyCode;switch(d.keyCode){case b.PAGE_UP:a._move("previousPage",d);break;case b.PAGE_DOWN:a._move("nextPage",d);break;case b.UP:a._move("previous",d);d.preventDefault();
-break;case b.DOWN:a._move("next",d);d.preventDefault();break;case b.ENTER:case b.NUMPAD_ENTER:a.menu.active&&d.preventDefault();case b.TAB:if(!a.menu.active)return;a.menu.select(d);break;case b.ESCAPE:a.element.val(a.term);a.close(d);break;case b.LEFT:case b.RIGHT:case b.SHIFT:case b.CONTROL:case b.ALT:case b.COMMAND:case b.COMMAND_RIGHT:case b.INSERT:case b.CAPS_LOCK:case b.END:case b.HOME:break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){a.search(null,d)},a.options.delay);
-break}}).bind("focus.autocomplete",function(){a.selectedItem=null;a.previous=a.element.val()}).bind("blur.autocomplete",function(d){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(d);a._change(d)},150)});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("<ul></ul>").addClass("ui-autocomplete").appendTo("body",c).mousedown(function(){setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(d,b){b=b.item.data("item.autocomplete");
-false!==a._trigger("focus",null,{item:b})&&/^key/.test(d.originalEvent.type)&&a.element.val(b.value)},selected:function(d,b){b=b.item.data("item.autocomplete");false!==a._trigger("select",d,{item:b})&&a.element.val(b.value);a.close(d);d=a.previous;if(a.element[0]!==c.activeElement){a.element.focus();a.previous=d}a.selectedItem=b},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},
-destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,c;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(d,b){b(e.ui.autocomplete.filter(a,d.term))}}else if(typeof this.options.source===
-"string"){c=this.options.source;this.source=function(d,b){e.getJSON(c,d,b)}}else this.source=this.options.source},search:function(a,c){a=a!=null?a:this.element.val();if(a.length<this.options.minLength)return this.close(c);clearTimeout(this.closing);if(this._trigger("search")!==false)return this._search(a)},_search:function(a){this.term=this.element.addClass("ui-autocomplete-loading").val();this.source({term:a},this.response)},_response:function(a){if(a.length){a=this._normalize(a);this._suggest(a);
-this._trigger("open")}else this.close();this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this._trigger("close",a);this.menu.element.hide();this.menu.deactivate()}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return e.map(a,function(c){if(typeof c==="string")return{label:c,value:c};return e.extend({label:c.label||
-c.value,value:c.value||c.label},c)})},_suggest:function(a){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1),d;this._renderMenu(c,a);this.menu.deactivate();this.menu.refresh();this.menu.element.show().position({my:"left top",at:"left bottom",of:this.element,collision:"none"});a=c.width("").width();d=this.element.width();c.width(Math.max(a,d))},_renderMenu:function(a,c){var d=this;e.each(c,function(b,f){d._renderItem(a,f)})},_renderItem:function(a,c){return e("<li></li>").data("item.autocomplete",
-c).append("<a>"+c.label+"</a>").appendTo(a)},_move:function(a,c){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](c);else this.search(null,c)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")},filter:function(a,c){var d=new RegExp(e.ui.autocomplete.escapeRegex(c),
-"i");return e.grep(a,function(b){return d.test(b.label||b.value||b)})}})})(jQuery);
-(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(e(c.target).closest(".ui-menu-item a").length){c.preventDefault();a.select(c)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
--1).mouseenter(function(c){a.activate(c,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,c){this.deactivate();if(this.hasScroll()){var d=c.offset().top-this.element.offset().top,b=this.element.attr("scrollTop"),f=this.element.height();if(d<0)this.element.attr("scrollTop",b+d);else d>f&&this.element.attr("scrollTop",b+d-f+c.height())}this.active=c.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:c})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
-this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,c,d){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(d,a):this.activate(d,this.element.children(c))}else this.activate(d,this.element.children(c))},nextPage:function(a){if(this.hasScroll())if(!this.active||
-this.last())this.activate(a,this.element.children(":first"));else{var c=this.active.offset().top,d=this.element.height(),b=this.element.children("li").filter(function(){var f=e(this).offset().top-c-d+e(this).height();return f<10&&f>-10});b.length||(b=this.element.children(":last"));this.activate(a,b)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last"));
-else{var c=this.active.offset().top,d=this.element.height();result=this.element.children("li").filter(function(){var b=e(this).offset().top-c+d-e(this).height();return b<10&&b>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})})(jQuery);
-;/*
- * jQuery UI Button 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Button
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,e=a([]);if(c)e=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form});return e};a.widget("ui.button",{options:{text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",i);this._determineButtonType();
-this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",e="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",
-function(){c.disabled||a(this).removeClass(e)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active");b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",
-function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var f=b.element[0];h(f).not(f).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",
-function(f){if(c.disabled)return false;if(f.keyCode==a.ui.keyCode.SPACE||f.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(f){f.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled",c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?
-"input":"button";if(this.type==="checkbox"||this.type==="radio"){this.buttonElement=this.element.parents().last().find("[for="+this.element.attr("id")+"]");this.element.addClass("ui-helper-hidden-accessible");var b=this.element.is(":checked");b&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());
-this.hasTitle||this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
-true):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon ui-button-text-only"),
-c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>");d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon");
-this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()},
-destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery);
-;/*
- * jQuery UI Dialog 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Dialog
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.button.js
- * jquery.ui.draggable.js
- * jquery.ui.mouse.js
- * jquery.ui.position.js
- * jquery.ui.resizable.js
- */
-(function(c){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");var a=this,b=a.options,d=b.title||a.originalTitle||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
-b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
-h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
-e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
-a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
-b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",
-c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
-f[0]&&e.shiftKey){g.focus(1);return false}}});c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,
-function(g,f){g=c('<button type="button"></button>').text(g).click(function(){f.apply(b.element[0],arguments)}).appendTo(e);c.fn.button&&g.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");
-b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===undefined?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");
-a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",
-f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0];a=a||c.ui.dialog.prototype.options.position;if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(e,g){if(+b[e]===b[e]){d[e]=b[e];b[e]=
-g}})}else if(typeof a==="object"){if("left"in a){b[0]="left";d[0]=a.left}else if("right"in a){b[0]="right";d[0]=-a.right}if("top"in a){b[1]="top";d[1]=a.top}else if("bottom"in a){b[1]="bottom";d[1]=-a.bottom}}(a=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position({my:b.join(" "),at:b.join(" "),offset:d.join(" "),of:window,collision:"fit",using:function(e){var g=c(this).css(e).offset().top;g<0&&c(this).css("top",e.top-g)}});a||this.uiDialog.hide()},_setOption:function(a,
-b){var d=this,e=d.uiDialog,g=e.is(":data(resizable)"),f=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":b?d._makeDraggable():e.draggable("destroy");break;
-case "height":f=true;break;case "maxHeight":g&&e.resizable("option","maxHeight",b);f=true;break;case "maxWidth":g&&e.resizable("option","maxWidth",b);f=true;break;case "minHeight":g&&e.resizable("option","minHeight",b);f=true;break;case "minWidth":g&&e.resizable("option","minWidth",b);f=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",
-d.uiDialogTitlebar).html(""+(b||"&#160;"));break;case "width":f=true;break}c.Widget.prototype._setOption.apply(d,arguments);f&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",
-this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.2",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&
-c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&
-b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,
-document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,
-height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
-;/*
- * jQuery UI Slider 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Slider
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");b.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");
-this.range=d([]);if(b.range){if(b.range===true){this.range=d("<div></div>");if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}else this.range=d("<div></div>");this.range.appendTo(this.element).addClass("ui-slider-range");if(b.range==="min"||b.range==="max")this.range.addClass("ui-slider-range-"+b.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
-if(b.values&&b.values.length)for(;d(".ui-slider-handle",this.element).length<b.values.length;)d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();
-else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),g,h,i;if(!a.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e=
-false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");g=a._start(c,f);if(g===false)return}break}i=a.options.step;g=a.options.values&&a.options.values.length?(h=a.values(f)):(h=a.value());switch(c.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(g+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(g-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(g===
-a._valueMax())return;h=a._trimAlignValue(g+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(g===a._valueMin())return;h=a._trimAlignValue(g-i);break}a._slide(c,f,h);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(c,e);a._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
-this._mouseDestroy();return this},_mouseCapture:function(a){var b=this.options,c,e,f,g,h,i;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c={x:a.pageX,y:a.pageY};e=this._normValueFromMouse(c);f=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(j){var k=Math.abs(e-h.values(j));if(f>k){f=k;g=d(this);i=j}});if(b.range===true&&this.values(1)===b.min){i+=1;g=d(this.handles[i])}if(this._start(a,
-i)===false)return false;this._mouseSliding=true;h._handleIndex=i;g.addClass("ui-state-active").focus();b=g.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-g.width()/2,top:a.pageY-b.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)};e=this._normValueFromMouse(c);this._slide(a,i,e);return this._animateOff=true},_mouseStart:function(){return true},
-_mouseDrag:function(a){var b=this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;
-if(this.orientation==="horizontal"){b=this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=
-this.values(b);c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var e;if(this.options.values&&this.options.values.length){e=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>e||b===1&&c<e))c=e;if(c!==this.values(b)){e=this.values();e[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],
-value:c});a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=
-this._trimAlignValue(a);this._refreshValue();this._change(null,0)}return this._value()},values:function(a,b){var c,e,f;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;f<c.length;f+=1){c[f]=this._trimAlignValue(e[f]);this._change(null,f)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):this.value();
-else return this._values()},_setOption:function(a,b){var c,e=0;if(d.isArray(this.options.values))e=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
-this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<e;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];
-return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<this._valueMin())return this._valueMin();if(a>this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=a%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=
-this.options.range,b=this.options,c=this,e=!this._animateOff?b.animate:false,f,g={},h,i,j,k;if(this.options.values&&this.options.values.length)this.handles.each(function(l){f=(c.values(l)-c._valueMin())/(c._valueMax()-c._valueMin())*100;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](g,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(l===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},b.animate);if(l===1)c.range[e?"animate":"css"]({width:f-
-h+"%"},{queue:false,duration:b.animate})}else{if(l===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},b.animate);if(l===1)c.range[e?"animate":"css"]({height:f-h+"%"},{queue:false,duration:b.animate})}h=f});else{i=this.value();j=this._valueMin();k=this._valueMax();f=k!==j?(i-j)/(k-j)*100:0;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](g,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},
-b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.2"})})(jQuery);
-;/*
- * jQuery UI Tabs 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Tabs
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(d){function s(){return++u}function v(){return++w}var u=0,w=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&&
-e==this.options.selected||this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+s()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+v());return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c=
-d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]||
-(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
-this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected=
-this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
-if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass":
-"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs",
-function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show",
-null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs",
-function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g,
-j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",
-function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,
-"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",
-true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");
-this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=c}),function(h){return h>=c?--h:h});this._tabify();this._trigger("remove",
-null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this},
-select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing");
-if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}},
-abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.2"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate=
-function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k<a.anchors.length?k:0)},c);i&&i.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(i){i.clientX&&a.rotate(null)}:function(){t=b.selected;h()});if(c){this.element.bind("tabsshow",h);this.anchors.bind(b.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(b.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
-;/*
- * jQuery UI Datepicker 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- * jquery.ui.core.js
- */
-(function(d){function J(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
-"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
-"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
-minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}function E(a,b){d.extend(a,
-b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.2"}});var y=(new Date).getTime();d.extend(J.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=
-f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')}},
-_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&
-b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==
-""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,
-c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),
-true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor==
-Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);
-d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},
-_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=
-d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;
-for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&
-this._hideDatepicker();var h=this._getDateDatepicker(a,true);E(e.settings,f);this._attachments(d(a),e);this._autoSize(e);this._setDateDatepicker(a,h);this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&
-!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass,b.dpDiv).add(d("td."+d.datepicker._currentClass,b.dpDiv));c[0]?d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]):d.datepicker._hideDatepicker();
-return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||
-a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,
-a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));
-var c=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||
-a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);
-d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&
-d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,
-h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");
-this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");
-this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");
-a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),
-k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"];
-a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():
-"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&
-!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;
-b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){a=this._getInst(d(a)[0]);
-a.input&&a._selectingMonthYear&&!d.browser.msie&&a.input.focus();a._selectingMonthYear=!a._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a,
-"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||
-this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;
-for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1<a.length&&a.charAt(z+1)==p)&&z++;return p},m=function(p){o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"?4:p=="o"?3:2)+"}");p=b.substring(s).match(p);if(!p)throw"Missing number at position "+
-s;s+=p[0].length;return parseInt(p[0],10)},n=function(p,w,G){p=o(p)?G:w;for(w=0;w<p.length;w++)if(b.substr(s,p[w].length)==p[w]){s+=p[w].length;return w+1}throw"Unknown name at position "+s;},r=function(){if(b.charAt(s)!=a.charAt(z))throw"Unexpected literal at position "+s;s++},s=0,z=0;z<a.length;z++)if(j)if(a.charAt(z)=="'"&&!o("'"))j=false;else r();else switch(a.charAt(z)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":k=m("m");break;case "M":k=n("M",i,g);break;
-case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "'":if(o("'"))r();else j=true;break;default:r()}if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){k=1;l=u;do{e=this._getDaysInMonth(c,k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,
-k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?
-c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+1<a.length&&a.charAt(j+1)==o)&&j++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},k=function(o,m,n,r){return i(o)?r[m]:n[m]},l="",u=false;if(b)for(var j=0;j<a.length;j++)if(u)if(a.charAt(j)=="'"&&!i("'"))u=false;else l+=a.charAt(j);else switch(a.charAt(j)){case "d":l+=g("d",b.getDate(),2);break;
-case "D":l+=k("D",b.getDay(),e,f);break;case "o":l+=g("o",(b.getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5,3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=k("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(j)}return l},_possibleChars:function(a){for(var b="",c=false,
-e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),
-e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},
-_determineDate:function(a,b,c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,k=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=u.exec(h);j;){switch(j[2]||"d"){case "d":case "D":g+=parseInt(j[1],10);break;case "w":case "W":g+=parseInt(j[1],
-10)*7;break;case "m":case "M":l+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break;case "y":case "Y":k+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break}j=u.exec(h)}return new Date(k,l,g)};if(b=(b=b==null?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):b)&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;
-a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||
-a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
-new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&n<j?j:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a));
-n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', -"+k+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,
-g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', +"+k+", 'M');\" title=\""+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&
-a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+y+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,r)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
-y+".datepicker._gotoToday('#"+a.id+"');\">"+k+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),G=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var K=this._getDefaultDate(a),H="",C=0;C<i[0];C++){for(var L=
-"",D=0;D<i[1];D++){var M=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",x="";if(l){x+='<div class="ui-datepicker-group';if(i[1]>1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&C==0?c?
-f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var A=k?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+r[q]+'">'+s[q]+"</span></th>"}x+=A+"</tr></thead><tbody>";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
-A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var N=0;N<A;N++){x+="<tr>";var O=!k?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(q)+"</td>";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,I=B&&!G||!F[0]||j&&q<j||o&&q>o;O+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(B?" ui-datepicker-other-month":"")+(q.getTime()==M.getTime()&&g==a.selectedMonth&&
-a._keyEvent||K.getTime()==q.getTime()&&K.getTime()==M.getTime()?" "+this._dayOverClass:"")+(I?" "+this._unselectableClass+" ui-state-disabled":"")+(B&&!w?"":" "+F[1]+(q.getTime()==u.getTime()?" "+this._currentClass:"")+(q.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!B||w)&&F[2]?' title="'+F[2]+'"':"")+(I?"":' onclick="DP_jQuery_'+y+".datepicker._selectDay('#"+a.id+"',"+q.getMonth()+","+q.getFullYear()+', this);return false;"')+">"+(B&&!w?"&#xa0;":I?'<span class="ui-state-default">'+q.getDate()+
-"</span>":'<a class="ui-state-default'+(q.getTime()==b.getTime()?" ui-state-highlight":"")+(q.getTime()==u.getTime()?" ui-state-active":"")+(B?" ui-priority-secondary":"")+'" href="#">'+q.getDate()+"</a>")+"</td>";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=O+"</tr>"}g++;if(g>11){g=0;m++}x+="</tbody></table>"+(l?"</div>"+(i[0]>0&&D==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");L+=x}H+=L}H+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
-"");a._keyEvent=false;return H},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='<div class="ui-datepicker-title">',o="";if(h||!k)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+
-a.id+"');\">";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(j+=o+(h||!(k&&l)?"&#xa0;":""));if(h||!l)j+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,
-i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";b<=g;b++)j+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";j+="</select>"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?"&#xa0;":"")+o;j+="</div>";return j},_adjustInstDate:function(a,b,c){var e=
-a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,
-"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);
-c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,
-"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=
-function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));
-return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new J;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.2";window["DP_jQuery_"+y]=d})(jQuery);
-;/*
- * jQuery UI Progressbar 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Progressbar
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(b){b.widget("ui.progressbar",{options:{value:0},_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
-this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===undefined)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){switch(a){case "value":this.options.value=c;this._refreshValue();this._trigger("change");break}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;if(a<this._valueMin())a=this._valueMin();if(a>this._valueMax())a=this._valueMax();return a},
-_valueMin:function(){return 0},_valueMax:function(){return 100},_refreshValue:function(){var a=this.value();this.valueDiv[a===this._valueMax()?"addClass":"removeClass"]("ui-corner-right").width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.2"})})(jQuery);
-;/*
- * jQuery UI Effects 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/
- */
-jQuery.effects||function(f){function k(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
-16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return l.transparent;return l[f.trim(c).toLowerCase()]}function q(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return k(b)}function m(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
-a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function n(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in r||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function s(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function j(c,a,b,d){if(typeof c=="object"){d=
-a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(f.isFunction(b)){d=b;b=null}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=q(b.elem,a);b.end=k(b.end);b.colorInit=
-true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var l={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,
-183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,
-165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},o=["add","remove","toggle"],r={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=n(m.call(this)),p,t=e.attr("className");f.each(o,function(u,
-i){c[i]&&e[i+"Class"](c[i])});p=n(m.call(this));e.attr("className",t);e.animate(s(h,p),a,b,function(){f.each(o,function(u,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?
-f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===undefined?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.2",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==
-null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();
-var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});
-c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c||
-typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this,
-arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,
-a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+
-b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,
-10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*
-a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,
-a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==undefined)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==undefined)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,
-a,b,d,e,g){if(g==undefined)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,
-d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
-;/*
- * jQuery UI Effects Blind 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Blind
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","left"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,g);b.effects.removeWrapper(a);
-c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
-;/*
- * jQuery UI Effects Bounce 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Bounce
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","left"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
-3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
-b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
-;/*
- * jQuery UI Effects Clip 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Clip
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","left","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,c/2)}var h={};h[g.size]=
-f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Drop 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Drop
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","left","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e=="show"?1:
-0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Explode 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Explode
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
-0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
-e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
-;/*
- * jQuery UI Effects Fold 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Fold
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100*
-f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
-;/*
- * jQuery UI Effects Highlight 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Highlight
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
-this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Pulsate 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Pulsate
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
-a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
-;/*
- * jQuery UI Effects Scale 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Scale
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
-b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
-1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","left","width","height","overflow","opacity"],g=["position","top","left","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=c.effects.setMode(a,
-b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};if(m=="box"||m=="both"){if(d.from.y!=
-d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);a.css("overflow","hidden").css(a.from);
-if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);child.to=c.effects.setTransition(child,
-f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,n?e:g);c.effects.removeWrapper(a);b.callback&&
-b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Shake 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Shake
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","left"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=(h=="pos"?"-=":"+=")+
-e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
-;/*
- * jQuery UI Effects Slide 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Slide
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","left"],e=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(e=="show")a.css(f,b=="pos"?-g:g);var i={};i[f]=(e=="show"?b=="pos"?
-"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Transfer 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Effects/Transfer
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
-b.dequeue()})})}})(jQuery);
-; \ No newline at end of file
diff --git a/build/documentation/api/js/jquery.cookie.js b/build/documentation/api/js/jquery.cookie.js
deleted file mode 100644
index ab8e72a9..00000000
--- a/build/documentation/api/js/jquery.cookie.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * Cookie plugin
- *
- * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- */
-
-/**
- * Create a cookie with the given name and value and other optional parameters.
- *
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Set the value of a cookie.
- * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});
- * @desc Create a cookie with all available options.
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Create a session cookie.
- * @example $.cookie('the_cookie', null);
- * @desc Delete a cookie by passing null as value.
- *
- * @param String name The name of the cookie.
- * @param String value The value of the cookie.
- * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
- * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
- * If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
- * If set to null or omitted, the cookie will be a session cookie and will not be retained
- * when the the browser exits.
- * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
- * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
- * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
- * require a secure protocol (like HTTPS).
- * @type undefined
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-
-/**
- * Get the value of a cookie with the given name.
- *
- * @example $.cookie('the_cookie');
- * @desc Get the value of a cookie.
- *
- * @param String name The name of the cookie.
- * @return The value of the cookie.
- * @type String
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-jQuery.cookie = function(name, value, options)
-{
- if (typeof value != 'undefined')
- { // name and value given, set cookie
- options = options || {};
- if (value === null)
- {
- value = '';
- options.expires = -1;
- }
- var expires = '';
- if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString))
- {
- var date;
- if (typeof options.expires == 'number')
- {
- date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
- }
- else
- {
- date = options.expires;
- }
- expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
- }
- var path = options.path ? '; path=' + options.path : '';
- var domain = options.domain ? '; domain=' + options.domain : '';
- var secure = options.secure ? '; secure' : '';
- document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
- }
- else
- { // only name given, get cookie
- var cookieValue = null;
- if (document.cookie && document.cookie != '')
- {
- var cookies = document.cookie.split(';');
- for (var i = 0; i < cookies.length; i++)
- {
- var cookie = jQuery.trim(cookies[i]);
- // Does this cookie string begin with the name we want?
- if (cookie.substring(0, name.length + 1) == (name + '='))
- {
- cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
- break;
- }
- }
- }
- return cookieValue;
- }
-}; \ No newline at end of file
diff --git a/build/documentation/api/js/jquery.iviewer.js b/build/documentation/api/js/jquery.iviewer.js
deleted file mode 100644
index 76f620a4..00000000
--- a/build/documentation/api/js/jquery.iviewer.js
+++ /dev/null
@@ -1,1045 +0,0 @@
-/*
- * iviewer Widget for jQuery UI
- * https://github.com/can3p/iviewer
- *
- * Copyright (c) 2009 - 2012 Dmitry Petrov
- * Dual licensed under the MIT and GPL licenses.
- * - http://www.opensource.org/licenses/mit-license.php
- * - http://www.gnu.org/copyleft/gpl.html
- *
- * Author: Dmitry Petrov
- * Version: 0.7
- */
-
-( function( $, undefined ) {
-
-//this code was taken from the https://github.com/furf/jquery-ui-touch-punch
-var mouseEvents = {
- touchstart: 'mousedown',
- touchmove: 'mousemove',
- touchend: 'mouseup'
-};
-
-/**
- * Convert a touch event to a mouse-like
- */
-function makeMouseEvent (event) {
- var touch = event.originalEvent.changedTouches[0];
-
- return $.extend(event, {
- type: mouseEvents[event.type],
- which: 1,
- pageX: touch.pageX,
- pageY: touch.pageY,
- screenX: touch.screenX,
- screenY: touch.screenY,
- clientX: touch.clientX,
- clientY: touch.clientY,
- isTouchEvent: true
- });
-}
-
-var mouseProto = $.ui.mouse.prototype,
- _mouseInit = $.ui.mouse.prototype._mouseInit;
-
-mouseProto._mouseInit = function() {
- var self = this;
- self._touchActive = false;
-
- this.element.bind( 'touchstart.' + this.widgetName, function(event) {
- self._touchActive = true;
- return self._mouseDown(makeMouseEvent(event));
- })
-
- var self = this;
- // these delegates are required to keep context
- this._mouseMoveDelegate = function(event) {
- if (self._touchActive) {
- return self._mouseMove(makeMouseEvent(event));
- }
- };
- this._mouseUpDelegate = function(event) {
- if (self._touchActive) {
- self._touchActive = false;
- return self._mouseUp(makeMouseEvent(event));
- }
- };
-
- $(document)
- .bind('touchmove.'+ this.widgetName, this._mouseMoveDelegate)
- .bind('touchend.' + this.widgetName, this._mouseUpDelegate);
-
- _mouseInit.apply(this);
-}
-
-/**
- * Simple implementation of jQuery like getters/setters
- * var val = something();
- * something(val);
- */
-var setter = function(setter, getter) {
- return function(val) {
- if (arguments.length === 0) {
- return getter.apply(this);
- } else {
- setter.apply(this, arguments);
- }
- }
-};
-
-/**
- * Internet explorer rotates image relative left top corner, so we should
- * shift image when it's rotated.
- */
-var ieTransforms = {
- '0': {
- marginLeft: 0,
- marginTop: 0,
- filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod="auto expand")'
- },
-
- '90': {
- marginLeft: -1,
- marginTop: 1,
- filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod="auto expand")'
- },
-
- '180': {
- marginLeft: 0,
- marginTop: 0,
- filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod="auto expand")'
- },
-
- '270': {
- marginLeft: -1,
- marginTop: 1,
- filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod="auto expand")'
- }
- },
- useIeTransforms = (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) <= 8);
-
-$.widget( "ui.iviewer", $.ui.mouse, {
- widgetEventPrefix: "iviewer",
- options : {
- /**
- * start zoom value for image, not used now
- * may be equal to "fit" to fit image into container or scale in %
- **/
- zoom: "fit",
- /**
- * base value to scale image
- **/
- zoom_base: 100,
- /**
- * maximum zoom
- **/
- zoom_max: 800,
- /**
- * minimum zoom
- **/
- zoom_min: 25,
- /**
- * base of rate multiplier.
- * zoom is calculated by formula: zoom_base * zoom_delta^rate
- **/
- zoom_delta: 1.4,
- /**
- * whether the zoom should be animated.
- */
- zoom_animation: true,
- /**
- * if true plugin doesn't add its own controls
- **/
- ui_disabled: false,
- /**
- * if false, plugin doesn't bind resize event on window and this must
- * be handled manually
- **/
- update_on_resize: true,
- /**
- * event is triggered when zoom value is changed
- * @param int new zoom value
- * @return boolean if false zoom action is aborted
- **/
- onZoom: jQuery.noop,
- /**
- * event is triggered when zoom value is changed after image is set to the new dimensions
- * @param int new zoom value
- * @return boolean if false zoom action is aborted
- **/
- onAfterZoom: jQuery.noop,
- /**
- * event is fired on drag begin
- * @param object coords mouse coordinates on the image
- * @return boolean if false is returned, drag action is aborted
- **/
- onStartDrag: jQuery.noop,
- /**
- * event is fired on drag action
- * @param object coords mouse coordinates on the image
- **/
- onDrag: jQuery.noop,
- /**
- * event is fired on drag stop
- * @param object coords mouse coordinates on the image
- **/
- onStopDrag: jQuery.noop,
- /**
- * event is fired when mouse moves over image
- * @param object coords mouse coordinates on the image
- **/
- onMouseMove: jQuery.noop,
- /**
- * mouse click event
- * @param object coords mouse coordinates on the image
- **/
- onClick: jQuery.noop,
- /**
- * event is fired when image starts to load
- */
- onStartLoad: null,
- /**
- * event is fired, when image is loaded and initially positioned
- */
- onFinishLoad: null
- },
-
- _create: function() {
- var me = this;
-
- //drag variables
- this.dx = 0;
- this.dy = 0;
-
- /* object containing actual information about image
- * @img_object.object - jquery img object
- * @img_object.orig_{width|height} - original dimensions
- * @img_object.display_{width|height} - actual dimensions
- */
- this.img_object = {};
-
- this.zoom_object = {}; //object to show zoom status
-
- this._angle = 0;
-
- this.current_zoom = this.options.zoom;
-
- if(this.options.src === null){
- return;
- }
-
- this.container = this.element;
-
- this._updateContainerInfo();
-
- //init container
- this.container.css("overflow","hidden");
-
- if(this.options.update_on_resize == true)
- {
- $(window).resize(function()
- {
- me._updateContainerInfo();
- });
- }
-
- this.img_object = new $.ui.iviewer.ImageObject(this.options.zoom_animation);
-
- //init object
- this.img_object.object()
- //bind mouse events
- .click(function(e){return me._click(e)})
- .mousewheel(function(ev, delta)
- {
- //this event is there instead of containing div, because
- //at opera it triggers many times on div
- var zoom = (delta > 0)?1:-1;
- me.zoom_by(zoom);
- return false;
- })
- .prependTo(this.container);
-
- this.container.bind('mousemove', function(ev) { me._handleMouseMove(ev); });
-
- this.loadImage(this.options.src);
-
- if(!this.options.ui_disabled)
- {
- this.createui();
- }
-
- this._mouseInit();
- },
-
- destroy: function() {
- this._mouseDestroy();
- },
-
- _updateContainerInfo: function()
- {
- this.options.height = this.container.height();
- this.options.width = this.container.width();
- },
-
- loadImage: function( src )
- {
- this.current_zoom = this.options.zoom;
- var me = this;
-
- this._trigger('onStartLoad', 0, src);
-
- this.img_object.load(src, function() {
- me.container.addClass("iviewer_cursor");
-
- if(me.options.zoom == "fit"){
- me.fit(true);
- }
- else {
- me.set_zoom(me.options.zoom, true);
- }
-
- if(me.options.onFinishLoad)
- {
- me._trigger('onFinishLoad', 0, src);
- }
- });
- },
-
- /**
- * fits image in the container
- *
- * @param {boolean} skip_animation
- **/
- fit: function(skip_animation)
- {
- var aspect_ratio = this.img_object.orig_width() / this.img_object.orig_height();
- var window_ratio = this.options.width / this.options.height;
- var choose_left = (aspect_ratio > window_ratio);
- var new_zoom = 0;
-
- if(choose_left){
- new_zoom = this.options.width / this.img_object.orig_width() * 100;
- }
- else {
- new_zoom = this.options.height / this.img_object.orig_height() * 100;
- }
-
- this.set_zoom(new_zoom, skip_animation);
- },
-
- /**
- * center image in container
- **/
- center: function()
- {
- this.setCoords(-Math.round((this.img_object.display_width() - this.options.width)/2),
- -Math.round((this.img_object.display_height() - this.options.height)/2));
- },
-
- /**
- * move a point in container to the center of display area
- * @param x a point in container
- * @param y a point in container
- **/
- moveTo: function(x, y)
- {
- var dx = x-Math.round(this.options.width/2);
- var dy = y-Math.round(this.options.height/2);
-
- var new_x = this.img_object.x() - dx;
- var new_y = this.img_object.y() - dy;
-
- this.setCoords(new_x, new_y);
- },
-
- /**
- * Get container offset object.
- */
- getContainerOffset: function() {
- return jQuery.extend({}, this.container.offset());
- },
-
- /**
- * set coordinates of upper left corner of image object
- **/
- setCoords: function(x,y)
- {
- //do nothing while image is being loaded
- if(!this.img_object.loaded()) { return; }
-
- var coords = this._correctCoords(x,y);
- this.img_object.x(coords.x);
- this.img_object.y(coords.y);
- },
-
- _correctCoords: function( x, y )
- {
- x = parseInt(x, 10);
- y = parseInt(y, 10);
-
- //check new coordinates to be correct (to be in rect)
- if(y > 0){
- y = 0;
- }
- if(x > 0){
- x = 0;
- }
- if(y + this.img_object.display_height() < this.options.height){
- y = this.options.height - this.img_object.display_height();
- }
- if(x + this.img_object.display_width() < this.options.width){
- x = this.options.width - this.img_object.display_width();
- }
- if(this.img_object.display_width() <= this.options.width){
- x = -(this.img_object.display_width() - this.options.width)/2;
- }
- if(this.img_object.display_height() <= this.options.height){
- y = -(this.img_object.display_height() - this.options.height)/2;
- }
-
- return { x: x, y:y };
- },
-
-
- /**
- * convert coordinates on the container to the coordinates on the image (in original size)
- *
- * @return object with fields x,y according to coordinates or false
- * if initial coords are not inside image
- **/
- containerToImage : function (x,y)
- {
- var coords = { x : x - this.img_object.x(),
- y : y - this.img_object.y()
- };
-
- coords = this.img_object.toOriginalCoords(coords);
-
- return { x : util.descaleValue(coords.x, this.current_zoom),
- y : util.descaleValue(coords.y, this.current_zoom)
- };
- },
-
- /**
- * convert coordinates on the image (in original size, and zero angle) to the coordinates on the container
- *
- * @return object with fields x,y according to coordinates
- **/
- imageToContainer : function (x,y)
- {
- var coords = {
- x : util.scaleValue(x, this.current_zoom),
- y : util.scaleValue(y, this.current_zoom)
- };
-
- return this.img_object.toRealCoords(coords);
- },
-
- /**
- * get mouse coordinates on the image
- * @param e - object containing pageX and pageY fields, e.g. mouse event object
- *
- * @return object with fields x,y according to coordinates or false
- * if initial coords are not inside image
- **/
- _getMouseCoords : function(e)
- {
- var containerOffset = this.container.offset();
- coords = this.containerToImage(e.pageX - containerOffset.left, e.pageY - containerOffset.top);
-
- return coords;
- },
-
- /**
- * set image scale to the new_zoom
- *
- * @param {number} new_zoom image scale in %
- * @param {boolean} skip_animation
- **/
- set_zoom: function(new_zoom, skip_animation)
- {
- if (this._trigger('onZoom', 0, new_zoom) == false) {
- return;
- }
-
- //do nothing while image is being loaded
- if(!this.img_object.loaded()) { return; }
-
- if(new_zoom < this.options.zoom_min)
- {
- new_zoom = this.options.zoom_min;
- }
- else if(new_zoom > this.options.zoom_max)
- {
- new_zoom = this.options.zoom_max;
- }
-
- /* we fake these values to make fit zoom properly work */
- if(this.current_zoom == "fit")
- {
- var old_x = Math.round(this.options.width/2 + this.img_object.orig_width()/2);
- var old_y = Math.round(this.options.height/2 + this.img_object.orig_height()/2);
- this.current_zoom = 100;
- }
- else {
- var old_x = -this.img_object.x() + Math.round(this.options.width/2);
- var old_y = -this.img_object.y() + Math.round(this.options.height/2);
- }
-
- var new_width = util.scaleValue(this.img_object.orig_width(), new_zoom);
- var new_height = util.scaleValue(this.img_object.orig_height(), new_zoom);
- var new_x = util.scaleValue( util.descaleValue(old_x, this.current_zoom), new_zoom);
- var new_y = util.scaleValue( util.descaleValue(old_y, this.current_zoom), new_zoom);
-
- new_x = this.options.width/2 - new_x;
- new_y = this.options.height/2 - new_y;
-
- this.img_object.display_width(new_width);
- this.img_object.display_height(new_height);
-
- var coords = this._correctCoords( new_x, new_y ),
- self = this;
-
- this.img_object.setImageProps(new_width, new_height, coords.x, coords.y,
- skip_animation, function() {
- self._trigger('onAfterZoom', 0, new_zoom );
- });
- this.current_zoom = new_zoom;
-
- this.update_status();
- },
-
- /**
- * changes zoom scale by delta
- * zoom is calculated by formula: zoom_base * zoom_delta^rate
- * @param Integer delta number to add to the current multiplier rate number
- **/
- zoom_by: function(delta)
- {
- var closest_rate = this.find_closest_zoom_rate(this.current_zoom);
-
- var next_rate = closest_rate + delta;
- var next_zoom = this.options.zoom_base * Math.pow(this.options.zoom_delta, next_rate)
- if(delta > 0 && next_zoom < this.current_zoom)
- {
- next_zoom *= this.options.zoom_delta;
- }
-
- if(delta < 0 && next_zoom > this.current_zoom)
- {
- next_zoom /= this.options.zoom_delta;
- }
-
- this.set_zoom(next_zoom);
- },
-
- /**
- * Rotate image
- * @param {num} deg Degrees amount to rotate. Positive values rotate image clockwise.
- * Currently 0, 90, 180, 270 and -90, -180, -270 values are supported
- *
- * @param {boolean} abs If the flag is true if, the deg parameter will be considered as
- * a absolute value and relative otherwise.
- * @return {num|null} Method will return current image angle if called without any arguments.
- **/
- angle: function(deg, abs) {
- if (arguments.length === 0) { return this.img_object.angle(); }
-
- if (deg < -270 || deg > 270 || deg % 90 !== 0) { return; }
- if (!abs) { deg += this.img_object.angle(); }
- if (deg < 0) { deg += 360; }
- if (deg >= 360) { deg -= 360; }
-
- if (deg === this.img_object.angle()) { return; }
-
- this.img_object.angle(deg);
- //the rotate behavior is different in all editors. For now we just center the
- //image. However, it will be better to try to keep the position.
- this.center();
- this._trigger('angle', 0, { angle: this.img_object.angle() });
- },
-
- /**
- * finds closest multiplier rate for value
- * basing on zoom_base and zoom_delta values from settings
- * @param Number value zoom value to examine
- **/
- find_closest_zoom_rate: function(value)
- {
- if(value == this.options.zoom_base)
- {
- return 0;
- }
-
- function div(val1,val2) { return val1 / val2 };
- function mul(val1,val2) { return val1 * val2 };
-
- var func = (value > this.options.zoom_base)?mul:div;
- var sgn = (value > this.options.zoom_base)?1:-1;
-
- var mltplr = this.options.zoom_delta;
- var rate = 1;
-
- while(Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate)) - value) >
- Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate+1)) - value))
- {
- rate++;
- }
-
- return sgn * rate;
- },
-
- /* update scale info in the container */
- update_status: function()
- {
- if(!this.options.ui_disabled)
- {
- var percent = Math.round(100*this.img_object.display_height()/this.img_object.orig_height());
- if(percent)
- {
- this.zoom_object.html(percent + "%");
- }
- }
- },
-
- /**
- * Get some information about the image.
- * Currently orig_(width|height), display_(width|height), angle, zoom and src params are supported.
- *
- * @param {string} parameter to check
- * @param {boolean} withoutRotation if param is orig_width or orig_height and this flag is set to true,
- * method will return original image width without considering rotation.
- *
- */
- info: function(param, withoutRotation) {
- if (!param) { return; }
-
- switch (param) {
- case 'orig_width':
- case 'orig_height':
- if (withoutRotation) {
- return (this.img_object.angle() % 180 === 0 ? this.img_object[param]() :
- param === 'orig_width' ? this.img_object.orig_height() :
- this.img_object.orig_width());
- } else {
- return this.img_object[param]();
- }
- case 'display_width':
- case 'display_height':
- case 'angle':
- return this.img_object[param]();
- case 'zoom':
- return this.current_zoom;
- case 'src':
- return this.img_object.object().attr('src');
- }
- },
-
- /**
- * callback for handling mousdown event to start dragging image
- **/
- _mouseStart: function( e )
- {
- $.ui.mouse.prototype._mouseStart.call(this, e);
- if (this._trigger('onStartDrag', 0, this._getMouseCoords(e)) === false) {
- return false;
- }
-
- /* start drag event*/
- this.container.addClass("iviewer_drag_cursor");
-
- this.dx = e.pageX - this.img_object.x();
- this.dy = e.pageY - this.img_object.y();
- return true;
- },
-
- _mouseCapture: function( e ) {
- return true;
- },
-
- /**
- * Handle mouse move if needed. User can avoid using this callback, because
- * he can get the same information through public methods.
- * @param {jQuery.Event} e
- */
- _handleMouseMove: function(e) {
- this._trigger('onMouseMove', e, this._getMouseCoords(e));
- },
-
- /**
- * callback for handling mousemove event to drag image
- **/
- _mouseDrag: function(e)
- {
- $.ui.mouse.prototype._mouseDrag.call(this, e);
- var ltop = e.pageY - this.dy;
- var lleft = e.pageX - this.dx;
-
- this.setCoords(lleft, ltop);
- this._trigger('onDrag', e, this._getMouseCoords(e));
- return false;
- },
-
- /**
- * callback for handling stop drag
- **/
- _mouseStop: function(e)
- {
- $.ui.mouse.prototype._mouseStop.call(this, e);
- this.container.removeClass("iviewer_drag_cursor");
- this._trigger('onStopDrag', 0, this._getMouseCoords(e));
- },
-
- _click: function(e)
- {
- this._trigger('onClick', 0, this._getMouseCoords(e));
- },
-
- /**
- * create zoom buttons info box
- **/
- createui: function()
- {
- var me=this;
-
- $("<div>", { 'class': "iviewer_zoom_in iviewer_common iviewer_button"})
- .bind('mousedown touchstart',function(){me.zoom_by(1); return false;})
- .appendTo(this.container);
-
- $("<div>", { 'class': "iviewer_zoom_out iviewer_common iviewer_button"})
- .bind('mousedown touchstart',function(){me.zoom_by(- 1); return false;})
- .appendTo(this.container);
-
- $("<div>", { 'class': "iviewer_zoom_zero iviewer_common iviewer_button"})
- .bind('mousedown touchstart',function(){me.set_zoom(100); return false;})
- .appendTo(this.container);
-
- $("<div>", { 'class': "iviewer_zoom_fit iviewer_common iviewer_button"})
- .bind('mousedown touchstart',function(){me.fit(this); return false;})
- .appendTo(this.container);
-
- this.zoom_object = $("<div>").addClass("iviewer_zoom_status iviewer_common")
- .appendTo(this.container);
-
- $("<div>", { 'class': "iviewer_rotate_left iviewer_common iviewer_button"})
- .bind('mousedown touchstart',function(){me.angle(-90); return false;})
- .appendTo(this.container);
-
- $("<div>", { 'class': "iviewer_rotate_right iviewer_common iviewer_button" })
- .bind('mousedown touchstart',function(){me.angle(90); return false;})
- .appendTo(this.container);
-
- this.update_status(); //initial status update
- }
-
-} );
-
-/**
- * @class $.ui.iviewer.ImageObject Class represents image and provides public api without
- * extending image prototype.
- * @constructor
- * @param {boolean} do_anim Do we want to animate image on dimension changes?
- */
-$.ui.iviewer.ImageObject = function(do_anim) {
- this._img = $("<img>")
- //this is needed, because chromium sets them auto otherwise
- .css({ position: "absolute", top :"0px", left: "0px"});
-
- this._loaded = false;
- this._swapDimensions = false;
- this._do_anim = do_anim || false;
- this.x(0, true);
- this.y(0, true);
- this.angle(0);
-};
-
-
-/** @lends $.ui.iviewer.ImageObject.prototype */
-(function() {
- /**
- * Restore initial object state.
- *
- * @param {number} w Image width.
- * @param {number} h Image height.
- */
- this._reset = function(w, h) {
- this._angle = 0;
- this._swapDimensions = false;
- this.x(0);
- this.y(0);
-
- this.orig_width(w);
- this.orig_height(h);
- this.display_width(w);
- this.display_height(h);
- };
-
- /**
- * Check if image is loaded.
- *
- * @return {boolean}
- */
- this.loaded = function() { return this._loaded; };
-
- /**
- * Load image.
- *
- * @param {string} src Image url.
- * @param {Function=} loaded Function will be called on image load.
- */
- this.load = function(src, loaded) {
- var self = this;
-
- loaded = loaded || jQuery.noop;
- this._loaded = false;
-
- //If we assign new image url to the this._img IE9 fires onload event and image width and
- //height are set to zero. So, we create another image object and load image through it.
- var img = new Image();
- img.onload = function() {
- self._loaded = true;
- self._reset(this.width, this.height);
-
- self._img[0].src = src;
- loaded();
- };
- img.src = src;
-
- this._img
- .removeAttr("src")
- .removeAttr("width")
- .removeAttr("height")
- .removeAttr("style")
- .css({ position: "absolute", top :"0px", left: "0px"})
-
- this.angle(0);
- };
-
- this._dimension = function(prefix, name) {
- var horiz = '_' + prefix + '_' + name,
- vert = '_' + prefix + '_' + (name === 'height' ? 'width' : 'height');
- return setter(function(val) {
- this[this._swapDimensions ? horiz: vert] = val;
- },
- function() {
- return this[this._swapDimensions ? horiz: vert];
- });
- };
-
- /**
- * Getters and setter for common image dimensions.
- * display_ means real image tag dimensions
- * orig_ means physical image dimensions.
- * Note, that dimensions are swapped if image is rotated. It necessary,
- * because as little as possible code should know about rotation.
- */
- this.display_width = this._dimension('display', 'width'),
- this.display_height = this._dimension('display', 'height'),
- this.display_diff = function() { return Math.floor( this.display_width() - this.display_height() ) };
- this.orig_width = this._dimension('orig', 'width'),
- this.orig_height = this._dimension('orig', 'height'),
-
- /**
- * Setter for X coordinate. If image is rotated we need to additionaly shift an
- * image to map image coordinate to the visual position.
- *
- * @param {number} val Coordinate value.
- * @param {boolean} skipCss If true, we only set the value and do not touch the dom.
- */
- this.x = setter(function(val, skipCss) {
- this._x = val;
- if (!skipCss) {
- this._img.css("left",this._x + (this._swapDimensions ? this.display_diff() / 2 : 0) + "px");
- }
- },
- function() {
- return this._x;
- });
-
- /**
- * Setter for Y coordinate. If image is rotated we need to additionaly shift an
- * image to map image coordinate to the visual position.
- *
- * @param {number} val Coordinate value.
- * @param {boolean} skipCss If true, we only set the value and do not touch the dom.
- */
- this.y = setter(function(val, skipCss) {
- this._y = val;
- if (!skipCss) {
- this._img.css("top",this._y - (this._swapDimensions ? this.display_diff() / 2 : 0) + "px");
- }
- },
- function() {
- return this._y;
- });
-
- /**
- * Perform image rotation.
- *
- * @param {number} deg Absolute image angle. The method will work with values 0, 90, 180, 270 degrees.
- */
- this.angle = setter(function(deg) {
- var prevSwap = this._swapDimensions;
-
- this._angle = deg;
- this._swapDimensions = deg % 180 !== 0;
-
- if (prevSwap !== this._swapDimensions) {
- var verticalMod = this._swapDimensions ? -1 : 1;
- this.x(this.x() - verticalMod * this.display_diff() / 2, true);
- this.y(this.y() + verticalMod * this.display_diff() / 2, true);
- };
-
- var cssVal = 'rotate(' + deg + 'deg)',
- img = this._img;
-
- jQuery.each(['', '-webkit-', '-moz-', '-o-', '-ms-'], function(i, prefix) {
- img.css(prefix + 'transform', cssVal);
- });
-
- if (useIeTransforms) {
- jQuery.each(['-ms-', ''], function(i, prefix) {
- img.css(prefix + 'filter', ieTransforms[deg].filter);
- });
-
- img.css({
- marginLeft: ieTransforms[deg].marginLeft * this.display_diff() / 2,
- marginTop: ieTransforms[deg].marginTop * this.display_diff() / 2
- });
- }
- },
- function() { return this._angle; });
-
- /**
- * Map point in the container coordinates to the point in image coordinates.
- * You will get coordinates of point on image with respect to rotation,
- * but will be set as if image was not rotated.
- * So, if image was rotated 90 degrees, it's (0,0) point will be on the
- * top right corner.
- *
- * @param {{x: number, y: number}} point Point in container coordinates.
- * @return {{x: number, y: number}}
- */
- this.toOriginalCoords = function(point) {
- switch (this.angle()) {
- case 0: return { x: point.x, y: point.y }
- case 90: return { x: point.y, y: this.display_width() - point.x }
- case 180: return { x: this.display_width() - point.x, y: this.display_height() - point.y }
- case 270: return { x: this.display_height() - point.y, y: point.x }
- }
- };
-
- /**
- * Map point in the image coordinates to the point in container coordinates.
- * You will get coordinates of point on container with respect to rotation.
- * Note, if image was rotated 90 degrees, it's (0,0) point will be on the
- * top right corner.
- *
- * @param {{x: number, y: number}} point Point in container coordinates.
- * @return {{x: number, y: number}}
- */
- this.toRealCoords = function(point) {
- switch (this.angle()) {
- case 0: return { x: this.x() + point.x, y: this.y() + point.y }
- case 90: return { x: this.x() + this.display_width() - point.y, y: this.y() + point.x}
- case 180: return { x: this.x() + this.display_width() - point.x, y: this.y() + this.display_height() - point.y}
- case 270: return { x: this.x() + point.y, y: this.y() + this.display_height() - point.x}
- }
- };
-
- /**
- * @return {jQuery} Return image node. this is needed to add event handlers.
- */
- this.object = setter(jQuery.noop,
- function() { return this._img; });
-
- /**
- * Change image properties.
- *
- * @param {number} disp_w Display width;
- * @param {number} disp_h Display height;
- * @param {number} x
- * @param {number} y
- * @param {boolean} skip_animation If true, the animation will be skiped despite the
- * value set in constructor.
- * @param {Function=} complete Call back will be fired when zoom will be complete.
- */
- this.setImageProps = function(disp_w, disp_h, x, y, skip_animation, complete) {
- complete = complete || jQuery.noop;
-
- this.display_width(disp_w);
- this.display_height(disp_h);
- this.x(x, true);
- this.y(y, true);
-
- var w = this._swapDimensions ? disp_h : disp_w;
- var h = this._swapDimensions ? disp_w : disp_h;
-
- var params = {
- width: w,
- height: h,
- top: y - (this._swapDimensions ? this.display_diff() / 2 : 0) + "px",
- left: x + (this._swapDimensions ? this.display_diff() / 2 : 0) + "px"
- };
-
- if (useIeTransforms) {
- jQuery.extend(params, {
- marginLeft: ieTransforms[this.angle()].marginLeft * this.display_diff() / 2,
- marginTop: ieTransforms[this.angle()].marginTop * this.display_diff() / 2
- });
- }
-
- var swapDims = this._swapDimensions,
- img = this._img;
-
- //here we come: another IE oddness. If image is rotated 90 degrees with a filter, than
- //width and height getters return real width and height of rotated image. The bad news
- //is that to set height you need to set a width and vice versa. Fuck IE.
- //So, in this case we have to animate width and height manually.
- if(useIeTransforms && swapDims) {
- var ieh = this._img.width(),
- iew = this._img.height(),
- iedh = params.height - ieh;
- iedw = params.width - iew;
-
- delete params.width;
- delete params.height;
- }
-
- if (this._do_anim && !skip_animation) {
- this._img.animate(params, {
- duration: 200,
- complete: complete,
- step: function(now, fx) {
- if(useIeTransforms && swapDims && (fx.prop === 'top')) {
- var percent = (now - fx.start) / (fx.end - fx.start);
-
- img.height(ieh + iedh * percent);
- img.width(iew + iedw * percent);
- img.css('top', now);
- }
- }
- });
- } else {
- this._img.css(params);
- setTimeout(complete, 0); //both if branches should behave equally.
- }
- };
-
-}).apply($.ui.iviewer.ImageObject.prototype);
-
-
-
-var util = {
- scaleValue: function(value, toZoom)
- {
- return value * toZoom / 100;
- },
-
- descaleValue: function(value, fromZoom)
- {
- return value * 100 / fromZoom;
- }
-};
-
- } )( jQuery, undefined );
diff --git a/build/documentation/api/js/jquery.iviewer.min.js b/build/documentation/api/js/jquery.iviewer.min.js
deleted file mode 100644
index c703f722..00000000
--- a/build/documentation/api/js/jquery.iviewer.min.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * iviewer Widget for jQuery UI
- * https://github.com/can3p/iviewer
- *
- * Copyright (c) 2009 - 2012 Dmitry Petrov
- * Dual licensed under the MIT and GPL licenses.
- * - http://www.opensource.org/licenses/mit-license.php
- * - http://www.gnu.org/copyleft/gpl.html
- *
- * Author: Dmitry Petrov
- * Version: 0.7
- */
-(function($,undefined){var mouseEvents={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"};function makeMouseEvent(event){var touch=event.originalEvent.changedTouches[0];return $.extend(event,{type:mouseEvents[event.type],which:1,pageX:touch.pageX,pageY:touch.pageY,screenX:touch.screenX,screenY:touch.screenY,clientX:touch.clientX,clientY:touch.clientY,isTouchEvent:true})}var mouseProto=$.ui.mouse.prototype,_mouseInit=$.ui.mouse.prototype._mouseInit;mouseProto._mouseInit=function(){var self=
-this;self._touchActive=false;this.element.bind("touchstart."+this.widgetName,function(event){self._touchActive=true;return self._mouseDown(makeMouseEvent(event))});var self=this;this._mouseMoveDelegate=function(event){if(self._touchActive)return self._mouseMove(makeMouseEvent(event))};this._mouseUpDelegate=function(event){if(self._touchActive){self._touchActive=false;return self._mouseUp(makeMouseEvent(event))}};$(document).bind("touchmove."+this.widgetName,this._mouseMoveDelegate).bind("touchend."+
-this.widgetName,this._mouseUpDelegate);_mouseInit.apply(this)};var setter=function(setter,getter){return function(val){if(arguments.length===0)return getter.apply(this);else setter.apply(this,arguments)}};var ieTransforms={"0":{marginLeft:0,marginTop:0,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod="auto expand")'},"90":{marginLeft:-1,marginTop:1,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod="auto expand")'},"180":{marginLeft:0,
-marginTop:0,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod="auto expand")'},"270":{marginLeft:-1,marginTop:1,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod="auto expand")'}},useIeTransforms=jQuery.browser.msie&&parseInt(jQuery.browser.version,10)<=8;$.widget("ui.iviewer",$.ui.mouse,{widgetEventPrefix:"iviewer",options:{zoom:"fit",zoom_base:100,zoom_max:800,zoom_min:25,zoom_delta:1.4,zoom_animation:true,ui_disabled:false,
-update_on_resize:true,onZoom:jQuery.noop,onAfterZoom:jQuery.noop,onStartDrag:jQuery.noop,onDrag:jQuery.noop,onStopDrag:jQuery.noop,onMouseMove:jQuery.noop,onClick:jQuery.noop,onStartLoad:null,onFinishLoad:null},_create:function(){var me=this;this.dx=0;this.dy=0;this.img_object={};this.zoom_object={};this._angle=0;this.current_zoom=this.options.zoom;if(this.options.src===null)return;this.container=this.element;this._updateContainerInfo();this.container.css("overflow","hidden");if(this.options.update_on_resize==
-true)$(window).resize(function(){me._updateContainerInfo()});this.img_object=new $.ui.iviewer.ImageObject(this.options.zoom_animation);this.img_object.object().click(function(e){return me._click(e)}).mousewheel(function(ev,delta){var zoom=delta>0?1:-1;me.zoom_by(zoom);return false}).prependTo(this.container);this.container.bind("mousemove",function(ev){me._handleMouseMove(ev)});this.loadImage(this.options.src);if(!this.options.ui_disabled)this.createui();this._mouseInit()},destroy:function(){this._mouseDestroy()},
-_updateContainerInfo:function(){this.options.height=this.container.height();this.options.width=this.container.width()},loadImage:function(src){this.current_zoom=this.options.zoom;var me=this;this._trigger("onStartLoad",0,src);this.img_object.load(src,function(){me.container.addClass("iviewer_cursor");if(me.options.zoom=="fit")me.fit(true);else me.set_zoom(me.options.zoom,true);if(me.options.onFinishLoad)me._trigger("onFinishLoad",0,src)})},fit:function(skip_animation){var aspect_ratio=this.img_object.orig_width()/
-this.img_object.orig_height();var window_ratio=this.options.width/this.options.height;var choose_left=aspect_ratio>window_ratio;var new_zoom=0;if(choose_left)new_zoom=this.options.width/this.img_object.orig_width()*100;else new_zoom=this.options.height/this.img_object.orig_height()*100;this.set_zoom(new_zoom,skip_animation)},center:function(){this.setCoords(-Math.round((this.img_object.display_width()-this.options.width)/2),-Math.round((this.img_object.display_height()-this.options.height)/2))},moveTo:function(x,
-y){var dx=x-Math.round(this.options.width/2);var dy=y-Math.round(this.options.height/2);var new_x=this.img_object.x()-dx;var new_y=this.img_object.y()-dy;this.setCoords(new_x,new_y)},getContainerOffset:function(){return jQuery.extend({},this.container.offset())},setCoords:function(x,y){if(!this.img_object.loaded())return;var coords=this._correctCoords(x,y);this.img_object.x(coords.x);this.img_object.y(coords.y)},_correctCoords:function(x,y){x=parseInt(x,10);y=parseInt(y,10);if(y>0)y=0;if(x>0)x=0;
-if(y+this.img_object.display_height()<this.options.height)y=this.options.height-this.img_object.display_height();if(x+this.img_object.display_width()<this.options.width)x=this.options.width-this.img_object.display_width();if(this.img_object.display_width()<=this.options.width)x=-(this.img_object.display_width()-this.options.width)/2;if(this.img_object.display_height()<=this.options.height)y=-(this.img_object.display_height()-this.options.height)/2;return{x:x,y:y}},containerToImage:function(x,y){var coords=
-{x:x-this.img_object.x(),y:y-this.img_object.y()};coords=this.img_object.toOriginalCoords(coords);return{x:util.descaleValue(coords.x,this.current_zoom),y:util.descaleValue(coords.y,this.current_zoom)}},imageToContainer:function(x,y){var coords={x:util.scaleValue(x,this.current_zoom),y:util.scaleValue(y,this.current_zoom)};return this.img_object.toRealCoords(coords)},_getMouseCoords:function(e){var containerOffset=this.container.offset();coords=this.containerToImage(e.pageX-containerOffset.left,e.pageY-
-containerOffset.top);return coords},set_zoom:function(new_zoom,skip_animation){if(this._trigger("onZoom",0,new_zoom)==false)return;if(!this.img_object.loaded())return;if(new_zoom<this.options.zoom_min)new_zoom=this.options.zoom_min;else if(new_zoom>this.options.zoom_max)new_zoom=this.options.zoom_max;if(this.current_zoom=="fit"){var old_x=Math.round(this.options.width/2+this.img_object.orig_width()/2);var old_y=Math.round(this.options.height/2+this.img_object.orig_height()/2);this.current_zoom=100}else{var old_x=
--this.img_object.x()+Math.round(this.options.width/2);var old_y=-this.img_object.y()+Math.round(this.options.height/2)}var new_width=util.scaleValue(this.img_object.orig_width(),new_zoom);var new_height=util.scaleValue(this.img_object.orig_height(),new_zoom);var new_x=util.scaleValue(util.descaleValue(old_x,this.current_zoom),new_zoom);var new_y=util.scaleValue(util.descaleValue(old_y,this.current_zoom),new_zoom);new_x=this.options.width/2-new_x;new_y=this.options.height/2-new_y;this.img_object.display_width(new_width);
-this.img_object.display_height(new_height);var coords=this._correctCoords(new_x,new_y),self=this;this.img_object.setImageProps(new_width,new_height,coords.x,coords.y,skip_animation,function(){self._trigger("onAfterZoom",0,new_zoom)});this.current_zoom=new_zoom;this.update_status()},zoom_by:function(delta){var closest_rate=this.find_closest_zoom_rate(this.current_zoom);var next_rate=closest_rate+delta;var next_zoom=this.options.zoom_base*Math.pow(this.options.zoom_delta,next_rate);if(delta>0&&next_zoom<
-this.current_zoom)next_zoom*=this.options.zoom_delta;if(delta<0&&next_zoom>this.current_zoom)next_zoom/=this.options.zoom_delta;this.set_zoom(next_zoom)},angle:function(deg,abs){if(arguments.length===0)return this.img_object.angle();if(deg<-270||deg>270||deg%90!==0)return;if(!abs)deg+=this.img_object.angle();if(deg<0)deg+=360;if(deg>=360)deg-=360;if(deg===this.img_object.angle())return;this.img_object.angle(deg);this.center();this._trigger("angle",0,{angle:this.img_object.angle()})},find_closest_zoom_rate:function(value){if(value==
-this.options.zoom_base)return 0;function div(val1,val2){return val1/val2}function mul(val1,val2){return val1*val2}var func=value>this.options.zoom_base?mul:div;var sgn=value>this.options.zoom_base?1:-1;var mltplr=this.options.zoom_delta;var rate=1;while(Math.abs(func(this.options.zoom_base,Math.pow(mltplr,rate))-value)>Math.abs(func(this.options.zoom_base,Math.pow(mltplr,rate+1))-value))rate++;return sgn*rate},update_status:function(){if(!this.options.ui_disabled){var percent=Math.round(100*this.img_object.display_height()/
-this.img_object.orig_height());if(percent)this.zoom_object.html(percent+"%")}},info:function(param,withoutRotation){if(!param)return;switch(param){case "orig_width":case "orig_height":if(withoutRotation)return this.img_object.angle()%180===0?this.img_object[param]():param==="orig_width"?this.img_object.orig_height():this.img_object.orig_width();else return this.img_object[param]();case "display_width":case "display_height":case "angle":return this.img_object[param]();case "zoom":return this.current_zoom;
-case "src":return this.img_object.object().attr("src")}},_mouseStart:function(e){$.ui.mouse.prototype._mouseStart.call(this,e);if(this._trigger("onStartDrag",0,this._getMouseCoords(e))===false)return false;this.container.addClass("iviewer_drag_cursor");this.dx=e.pageX-this.img_object.x();this.dy=e.pageY-this.img_object.y();return true},_mouseCapture:function(e){return true},_handleMouseMove:function(e){this._trigger("onMouseMove",e,this._getMouseCoords(e))},_mouseDrag:function(e){$.ui.mouse.prototype._mouseDrag.call(this,
-e);var ltop=e.pageY-this.dy;var lleft=e.pageX-this.dx;this.setCoords(lleft,ltop);this._trigger("onDrag",e,this._getMouseCoords(e));return false},_mouseStop:function(e){$.ui.mouse.prototype._mouseStop.call(this,e);this.container.removeClass("iviewer_drag_cursor");this._trigger("onStopDrag",0,this._getMouseCoords(e))},_click:function(e){this._trigger("onClick",0,this._getMouseCoords(e))},createui:function(){var me=this;$("<div>",{"class":"iviewer_zoom_in iviewer_common iviewer_button"}).bind("mousedown touchstart",
-function(){me.zoom_by(1);return false}).appendTo(this.container);$("<div>",{"class":"iviewer_zoom_out iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.zoom_by(-1);return false}).appendTo(this.container);$("<div>",{"class":"iviewer_zoom_zero iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.set_zoom(100);return false}).appendTo(this.container);$("<div>",{"class":"iviewer_zoom_fit iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.fit(this);
-return false}).appendTo(this.container);this.zoom_object=$("<div>").addClass("iviewer_zoom_status iviewer_common").appendTo(this.container);$("<div>",{"class":"iviewer_rotate_left iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.angle(-90);return false}).appendTo(this.container);$("<div>",{"class":"iviewer_rotate_right iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.angle(90);return false}).appendTo(this.container);this.update_status()}});$.ui.iviewer.ImageObject=
-function(do_anim){this._img=$("<img>").css({position:"absolute",top:"0px",left:"0px"});this._loaded=false;this._swapDimensions=false;this._do_anim=do_anim||false;this.x(0,true);this.y(0,true);this.angle(0)};(function(){this._reset=function(w,h){this._angle=0;this._swapDimensions=false;this.x(0);this.y(0);this.orig_width(w);this.orig_height(h);this.display_width(w);this.display_height(h)};this.loaded=function(){return this._loaded};this.load=function(src,loaded){var self=this;loaded=loaded||jQuery.noop;
-this._loaded=false;var img=new Image;img.onload=function(){self._loaded=true;self._reset(this.width,this.height);self._img[0].src=src;loaded()};img.src=src;this._img.removeAttr("src").removeAttr("width").removeAttr("height").removeAttr("style").css({position:"absolute",top:"0px",left:"0px"});this.angle(0)};this._dimension=function(prefix,name){var horiz="_"+prefix+"_"+name,vert="_"+prefix+"_"+(name==="height"?"width":"height");return setter(function(val){this[this._swapDimensions?horiz:vert]=val},
-function(){return this[this._swapDimensions?horiz:vert]})};this.display_width=this._dimension("display","width"),this.display_height=this._dimension("display","height"),this.display_diff=function(){return Math.floor(this.display_width()-this.display_height())};this.orig_width=this._dimension("orig","width"),this.orig_height=this._dimension("orig","height"),this.x=setter(function(val,skipCss){this._x=val;if(!skipCss)this._img.css("left",this._x+(this._swapDimensions?this.display_diff()/2:0)+"px")},
-function(){return this._x});this.y=setter(function(val,skipCss){this._y=val;if(!skipCss)this._img.css("top",this._y-(this._swapDimensions?this.display_diff()/2:0)+"px")},function(){return this._y});this.angle=setter(function(deg){var prevSwap=this._swapDimensions;this._angle=deg;this._swapDimensions=deg%180!==0;if(prevSwap!==this._swapDimensions){var verticalMod=this._swapDimensions?-1:1;this.x(this.x()-verticalMod*this.display_diff()/2,true);this.y(this.y()+verticalMod*this.display_diff()/2,true)}var cssVal=
-"rotate("+deg+"deg)",img=this._img;jQuery.each(["","-webkit-","-moz-","-o-","-ms-"],function(i,prefix){img.css(prefix+"transform",cssVal)});if(useIeTransforms){jQuery.each(["-ms-",""],function(i,prefix){img.css(prefix+"filter",ieTransforms[deg].filter)});img.css({marginLeft:ieTransforms[deg].marginLeft*this.display_diff()/2,marginTop:ieTransforms[deg].marginTop*this.display_diff()/2})}},function(){return this._angle});this.toOriginalCoords=function(point){switch(this.angle()){case 0:return{x:point.x,
-y:point.y};case 90:return{x:point.y,y:this.display_width()-point.x};case 180:return{x:this.display_width()-point.x,y:this.display_height()-point.y};case 270:return{x:this.display_height()-point.y,y:point.x}}};this.toRealCoords=function(point){switch(this.angle()){case 0:return{x:this.x()+point.x,y:this.y()+point.y};case 90:return{x:this.x()+this.display_width()-point.y,y:this.y()+point.x};case 180:return{x:this.x()+this.display_width()-point.x,y:this.y()+this.display_height()-point.y};case 270:return{x:this.x()+
-point.y,y:this.y()+this.display_height()-point.x}}};this.object=setter(jQuery.noop,function(){return this._img});this.setImageProps=function(disp_w,disp_h,x,y,skip_animation,complete){complete=complete||jQuery.noop;this.display_width(disp_w);this.display_height(disp_h);this.x(x,true);this.y(y,true);var w=this._swapDimensions?disp_h:disp_w;var h=this._swapDimensions?disp_w:disp_h;var params={width:w,height:h,top:y-(this._swapDimensions?this.display_diff()/2:0)+"px",left:x+(this._swapDimensions?this.display_diff()/
-2:0)+"px"};if(useIeTransforms)jQuery.extend(params,{marginLeft:ieTransforms[this.angle()].marginLeft*this.display_diff()/2,marginTop:ieTransforms[this.angle()].marginTop*this.display_diff()/2});var swapDims=this._swapDimensions,img=this._img;if(useIeTransforms&&swapDims){var ieh=this._img.width(),iew=this._img.height(),iedh=params.height-ieh;iedw=params.width-iew;delete params.width;delete params.height}if(this._do_anim&&!skip_animation)this._img.animate(params,{duration:200,complete:complete,step:function(now,
-fx){if(useIeTransforms&&swapDims&&fx.prop==="top"){var percent=(now-fx.start)/(fx.end-fx.start);img.height(ieh+iedh*percent);img.width(iew+iedw*percent);img.css("top",now)}}});else{this._img.css(params);setTimeout(complete,0)}}}).apply($.ui.iviewer.ImageObject.prototype);var util={scaleValue:function(value,toZoom){return value*toZoom/100},descaleValue:function(value,fromZoom){return value*100/fromZoom}}})(jQuery,undefined);
diff --git a/build/documentation/api/js/jquery.mousewheel.min.js b/build/documentation/api/js/jquery.mousewheel.min.js
deleted file mode 100644
index e39a83ad..00000000
--- a/build/documentation/api/js/jquery.mousewheel.min.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
- * Licensed under the MIT License (LICENSE.txt).
- *
- * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
- * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
- * Thanks to: Seamus Leahy for adding deltaX and deltaY
- *
- * Version: 3.0.6
- *
- * Requires: 1.2.2+
- */
-(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=
-d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jquery.panzoom.js b/build/documentation/api/js/jquery.panzoom.js
deleted file mode 100644
index 33569c52..00000000
--- a/build/documentation/api/js/jquery.panzoom.js
+++ /dev/null
@@ -1,467 +0,0 @@
-/*
- * jQuery PanZoom Plugin
- * Pan and zoom an image within a parent div.
- *
- * version: 0.9.0
- * @requires jQuery v1.4.2 or later (earlier probably work, but untested so far)
- *
- * Copyright (c) 2011 Ben Lumley
- * Examples and documentation at: https://github.com/benlumley/jQuery-PanZoom
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
-*/
-
-(function( $ ){
-
- $.fn.panZoom = function(method) {
-
- if ( methods[method] ) {
- return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
- } else if ( typeof method === 'object' || ! method ) {
- return methods.init.apply( this, arguments );
- } else {
- $.error( 'Method ' + method + ' does not exist' );
- }
-
- };
-
- $.fn.panZoom.defaults = {
- zoomIn : false,
- zoomOut : false,
- panUp : false,
- panDown : false,
- panLeft : false,
- panRight : false,
- fit : false,
- out_x1 : false,
- out_y1 : false,
- out_x2 : false,
- out_y2 : false,
- min_width : 20,
- min_height : 20,
- zoom_step : 3,
- pan_step : 3,
- debug : false,
- directedit : false,
- aspect : true,
- factor : 1,
- animate : true,
- animate_duration : 200,
- animate_easing : 'linear',
- double_click : true,
- mousewheel : true,
- mousewheel_delta : 1,
- draggable : true,
- clickandhold : true
- };
-
- var settings = {}
-
- var methods = {
- 'init': function (options) {
- $.extend(settings, $.fn.panZoom.defaults, options);
- setupCSS.apply(this);
- setupData.apply(this);
- setupBindings.apply(this);
- methods.readPosition.apply(this);
- },
-
- 'destroy': function () {
- $(window).unbind('.panZoom');
- this.removeData('panZoom');
- },
-
- 'loadImage': function () {
- var data = this.data('panZoom');
- loadTargetDimensions.apply(this);
- methods.updatePosition.apply(this);
- if (data.last_image != null && data.last_image != this.attr('src')) {
- methods.fit.apply(this);
- }
- data.last_image = this.attr('src');
- data.loaded = true;
- },
-
- 'readPosition': function () {
- var data = this.data('panZoom');
- if (settings.out_x1) { data.position.x1 = settings.out_x1.val()*settings.factor }
- if (settings.out_y1) { data.position.y1 = settings.out_y1.val()*settings.factor }
- if (settings.out_x2) { data.position.x2 = settings.out_x2.val()*settings.factor }
- if (settings.out_y2) { data.position.y2 = settings.out_y2.val()*settings.factor }
- methods.updatePosition.apply(this);
- },
-
- 'updatePosition': function() {
- validatePosition.apply(this);
- writePosition.apply(this);
- applyPosition.apply(this);
- },
-
- 'fit': function () {
- var data = this.data('panZoom');
- data.position.x1 = 0;
- data.position.y1 = 0;
- data.position.x2 = data.viewport_dimensions.x;
- data.position.y2 = data.viewport_dimensions.y;
- methods.updatePosition.apply(this);
- },
-
- 'zoomIn': function (steps) {
- var data = this.data('panZoom');
- if (typeof(steps) == 'undefined') {
- var steps = getStepDimensions.apply(this);
- }
- console.debug(data.position);
- console.debug(data.viewport_dimensions);
- data.position.x1 = data.position.x1*1 - steps.zoom.x;
- data.position.x2 = data.position.x2*1 + steps.zoom.x;
- data.position.y1 = data.position.y1*1 - steps.zoom.y;
- data.position.y2 = data.position.y2*1 + steps.zoom.y;
- methods.updatePosition.apply(this);
- },
-
- 'zoomOut': function (steps) {
- var data = this.data('panZoom');
- if (typeof(steps) == 'undefined') {
- var steps = getStepDimensions.apply(this);
- }
- data.position.x1 = data.position.x1*1 + steps.zoom.x;
- data.position.x2 = data.position.x2*1 - steps.zoom.x;
- data.position.y1 = data.position.y1*1 + steps.zoom.y;
- data.position.y2 = data.position.y2*1 - steps.zoom.y;
- methods.updatePosition.apply(this);
- },
-
- 'panUp': function () {
- var data = this.data('panZoom');
- var steps = getStepDimensions.apply(this);
- data.position.y1 -= steps.pan.y;
- data.position.y2 -= steps.pan.y;
- methods.updatePosition.apply(this);
- },
-
- 'panDown': function () {
- var data = this.data('panZoom');
- var steps = getStepDimensions.apply(this);
- data.position.y1 = data.position.y1*1 + steps.pan.y;
- data.position.y2 = data.position.y2*1 + steps.pan.y;
- methods.updatePosition.apply(this);
- },
-
- 'panLeft': function () {
- var data = this.data('panZoom');
- var steps = getStepDimensions.apply(this);
- data.position.x1 -= steps.pan.x;
- data.position.x2 -= steps.pan.x;
- methods.updatePosition.apply(this);
- },
-
- 'panRight': function () {
- var data = this.data('panZoom');
- var steps = getStepDimensions.apply(this);
- data.position.x1 = data.position.x1*1 + steps.pan.x;
- data.position.x2 = data.position.x2*1 + steps.pan.x;
- methods.updatePosition.apply(this);
- },
-
- 'mouseWheel': function (delta) {
- // first calculate how much to zoom in/out
- var steps = getStepDimensions.apply(this);
- steps.zoom.x = steps.zoom.x * (Math.abs(delta) / settings.mousewheel_delta);
- steps.zoom.y = steps.zoom.y * (Math.abs(delta) / settings.mousewheel_delta);
-
- // then do it
- if (delta > 0) {
- methods.zoomIn.apply(this, [steps]);
- } else if (delta < 0) {
- methods.zoomOut.apply(this, [steps]);
- }
- },
-
- 'dragComplete': function() {
- var data = this.data('panZoom');
- data.position.x1 = this.position().left;
- data.position.y1 = this.position().top;
- data.position.x2 = this.position().left*1 + this.width();
- data.position.y2 = this.position().top*1 + this.height();
- methods.updatePosition.apply(this);
- },
-
- 'mouseDown': function (action) {
- methods[action].apply(this);
-
- if (settings.clickandhold) {
- var data = this.data('panZoom');
- methods.mouseUp.apply(this);
- data.mousedown_interval = window.setInterval(function (that, action) {
- that.panZoom(action);
- }, settings.animate_duration, this, action);
- }
- },
-
- 'mouseUp': function() {
- var data = this.data('panZoom');
- window.clearInterval(data.mousedown_interval);
- }
-
- }
-
- function setupBindings() {
-
- eventData = { target: this }
-
- // bind up controls
- if (settings.zoomIn) {
- settings.zoomIn.bind('mousedown.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomIn');
- }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseUp');
- });
- }
-
- if (settings.zoomOut) {
- settings.zoomOut.bind('mousedown.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomOut');
- }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseUp');
- });
- }
-
- if (settings.panUp) {
- settings.panUp.bind('mousedown.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseDown', 'panUp');
- }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseUp');
- });
- }
-
- if (settings.panDown) {
- settings.panDown.bind('mousedown.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseDown', 'panDown');
- }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseUp');
- });
- }
-
- if (settings.panLeft) {
- settings.panLeft.bind('mousedown.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseDown', 'panLeft');
- }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseUp');
- });
- }
-
- if (settings.panRight) {
- settings.panRight.bind('mousedown.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseDown', 'panRight');
- }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {
- event.preventDefault(); event.data.target.panZoom('mouseUp');
- });
- }
-
- if (settings.fit) { settings.fit.bind('click.panZoom', eventData, function(event) { event.preventDefault(); event.data.target.panZoom('fit'); } ); }
-
- // double click
- if (settings.double_click) {
- this.bind('dblclick.panZoom', eventData, function(event, delta) { event.data.target.panZoom('zoomIn') } );
- }
-
- // mousewheel
- if (settings.mousewheel && typeof(this.mousewheel) == 'function') {
- this.parent().mousewheel(function(event, delta) { event.preventDefault(); $(this).find('img').panZoom('mouseWheel', delta) } );
- } else if (settings.mousewheel) {
- alert('Mousewheel requires mousewheel from jQuery tools - please include jQuery tools or disable mousewheel to remove this warning.')
- }
-
- // direct form input
- if (settings.directedit) {
- $(settings.out_x1).add(settings.out_y1).add(settings.out_x2).add(settings.out_y2).bind('change.panZoom blur.panZoom', eventData, function(event) { event.data.target.panZoom('readPosition') } );
- }
-
- if (settings.draggable && typeof(this.draggable) == 'function') {
- this.draggable({
- stop: function () { $(this).panZoom('dragComplete'); }
- });
- } else if (settings.draggable) {
- alert('Draggable requires jQuery UI - please include jQuery UI or disable draggable to remove this warning.')
- }
-
- // image load
- $(this).bind('load.panZoom', eventData, function (event) { event.data.target.panZoom('loadImage') })
-
- }
-
- function setupData() {
- this.data('panZoom', {
- target_element: this,
- target_dimensions: { x: null, y: null },
- viewport_element: this.parent(),
- viewport_dimensions: { x: this.parent().width(), y: this.parent().height() },
- position: { x1: null, y1: null, x2: null, y2: null },
- last_image: null,
- loaded: false,
- mousewheel_delta: 0,
- mousedown_interval: false
- });
- if (settings.debug) {
- console.log(this.data('panZoom'));
- }
- }
-
- function setupCSS() {
- if (this.parent().css('position') == 'static') {
- this.parent().css('position', 'relative');
- }
- this.css({
- 'position': 'absolute',
- 'top': 0,
- 'left': 0
- });
- if (settings.draggable) {
- this.css({
- 'cursor': 'move'
- });
- }
- }
-
- function validatePosition() {
- var data = this.data('panZoom');
- // if dimensions are too small...
- if ( data.position.x2 - data.position.x1 < settings.min_width/settings.factor || data.position.y2 - data.position.y1 < settings.min_height/settings.factor ) {
- // and second co-ords are zero (IE: no dims set), fit image
- if (data.position.x2 == 0 || data.position.y2 == 0) {
- methods.fit.apply(this);
- }
- // otherwise, backout a bit
- else {
- if (data.position.x2 - data.position.x1 < settings.min_width/settings.factor) {
- data.position.x2 = data.position.x1*1+settings.min_width/settings.factor;
- }
- if (data.position.y2 - data.position.y1 < settings.min_height/settings.factor) {
- data.position.y2 = data.position.y1*1+settings.min_height/settings.factor;
- }
- }
- }
-
- if (settings.aspect) {
- target = data.target_dimensions.ratio;
- current = getCurrentAspectRatio.apply(this)
- if (current > target) {
- new_width = getHeight.apply(this) * target;
- diff = getWidth.apply(this) - new_width;
- data.position.x1 = data.position.x1*1 + (diff/2);
- data.position.x2 = data.position.x2*1 - (diff/2);
- } else if (current < target) {
- new_height = getWidth.apply(this) / target;
- diff = getHeight.apply(this) - new_height;
- data.position.y1 = data.position.y1*1 + (diff/2);
- data.position.y2 = data.position.y2*1 - (diff/2);
- }
- }
-
-
- }
-
- function applyPosition() {
- var data = this.data('panZoom');
-
- width = getWidth.apply(this);
- height = getHeight.apply(this);
- left_offset = getLeftOffset.apply(this);
- top_offset = getTopOffset.apply(this);
-
- properties = {
- 'top': Math.round(top_offset),
- 'left': Math.round(left_offset),
- 'width': Math.round(width),
- 'height': Math.round(height)
- }
-
- if (data.loaded && settings.animate) {
- applyAnimate.apply(this, [ properties ]);
- } else {
- applyCSS.apply(this, [ properties ]);
- }
-
- if (settings.debug) {
- console.log('--');
- console.log('width:' + width);
- console.log('height:' + height);
- console.log('left:' + left_offset);
- console.log('top:' + top_offset);
- }
- }
-
- function applyCSS() {
- this.css( properties );
- }
-
- function applyAnimate() {
- this.stop().animate( properties , settings.animate_duration, settings.animate_easing);
- }
-
- function getWidth() {
- var data = this.data('panZoom');
- width = (data.position.x2 - data.position.x1);
- return width;
- }
-
- function getLeftOffset() {
- var data = this.data('panZoom');
- return data.position.x1;
- }
-
- function getHeight() {
- var data = this.data('panZoom');
- height = (data.position.y2 - data.position.y1);
- return height;
- }
-
- function getTopOffset() {
- var data = this.data('panZoom');
- top_offset = data.position.y1;
- return top_offset;
- }
-
- function getCurrentAspectRatio() {
- return (getWidth.apply(this) / getHeight.apply(this));
- }
-
- function writePosition() {
- var data = this.data('panZoom');
- if (settings.out_x1) { settings.out_x1.val(Math.round(data.position.x1 / settings.factor)) }
- if (settings.out_y1) { settings.out_y1.val(Math.round(data.position.y1 / settings.factor)) }
- if (settings.out_x2) { settings.out_x2.val(Math.round(data.position.x2 / settings.factor)) }
- if (settings.out_y2) { settings.out_y2.val(Math.round(data.position.y2 / settings.factor)) }
- }
-
- function getStepDimensions() {
- var data = this.data('panZoom');
- ret = {
- zoom: {
- x: (settings.zoom_step/100 * data.viewport_dimensions.x),
- y: (settings.zoom_step/100 * data.viewport_dimensions.y)
- },
- pan: {
- x: (settings.pan_step/100 * data.viewport_dimensions.x),
- y: (settings.pan_step/100 * data.viewport_dimensions.y)
- }
- }
- return ret;
- }
-
- function loadTargetDimensions() {
- var data = this.data('panZoom');
- var img = document.createElement('img');
- img.src = this.attr('src');
- img.id = "jqpz-temp";
- $('body').append(img);
- data.target_dimensions.x = $('#jqpz-temp').width();
- data.target_dimensions.y = $('#jqpz-temp').height();
- $('#jqpz-temp').remove();
- data.target_dimensions.ratio = data.target_dimensions.x / data.target_dimensions.y;
- }
-
-})( jQuery ); \ No newline at end of file
diff --git a/build/documentation/api/js/jquery.splitter.js b/build/documentation/api/js/jquery.splitter.js
deleted file mode 100644
index ae312d22..00000000
--- a/build/documentation/api/js/jquery.splitter.js
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * jQuery.splitter.js - two-pane splitter window plugin
- *
- * version 1.51 (2009/01/09)
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- */
-
-/**
- * The splitter() plugin implements a two-pane resizable splitter window.
- * The selected elements in the jQuery object are converted to a splitter;
- * each selected element should have two child elements, used for the panes
- * of the splitter. The plugin adds a third child element for the splitbar.
- *
- * For more details see: http://methvin.com/splitter/
- *
- *
- * @example $('#MySplitter').splitter();
- * @desc Create a vertical splitter with default settings
- *
- * @example $('#MySplitter').splitter({type: 'h', accessKey: 'M'});
- * @desc Create a horizontal splitter resizable via Alt+Shift+M
- *
- * @name splitter
- * @type jQuery
- * @param Object options Options for the splitter (not required)
- * @cat Plugins/Splitter
- * @return jQuery
- * @author Dave Methvin (dave.methvin@gmail.com)
- */
-;
-(function($) {
-
- $.fn.splitter = function(args) {
- args = args || {};
- return this.each(function() {
- var zombie; // left-behind splitbar for outline resizes
- function startSplitMouse(evt) {
- if (opts.outline)
- zombie = zombie || bar.clone(false).insertAfter(A);
- panes.css("-webkit-user-select", "none"); // Safari selects A/B text on a move
- bar.addClass(opts.activeClass);
- $('<div class="splitterMask"></div>').insertAfter(bar);
- A._posSplit = A[0][opts.pxSplit] - evt[opts.eventPos];
- $(document)
- .bind("mousemove", doSplitMouse)
- .bind("mouseup", endSplitMouse);
- }
-
- function doSplitMouse(evt) {
- var newPos = A._posSplit + evt[opts.eventPos];
- if (opts.outline) {
- newPos = Math.max(0, Math.min(newPos, splitter._DA - bar._DA));
- bar.css(opts.origin, newPos);
- } else
- resplit(newPos);
- }
-
- function endSplitMouse(evt) {
- $('div.splitterMask').remove();
- bar.removeClass(opts.activeClass);
- var newPos = A._posSplit + evt[opts.eventPos];
- if (opts.outline) {
- zombie.remove();
- zombie = null;
- resplit(newPos);
- }
- panes.css("-webkit-user-select", "text"); // let Safari select text again
- $(document)
- .unbind("mousemove", doSplitMouse)
- .unbind("mouseup", endSplitMouse);
- }
-
- function resplit(newPos) {
- // Constrain new splitbar position to fit pane size limits
- newPos = Math.max(A._min, splitter._DA - B._max,
- Math.min(newPos, A._max, splitter._DA - bar._DA - B._min));
- // Resize/position the two panes
- bar._DA = bar[0][opts.pxSplit]; // bar size may change during dock
- bar.css(opts.origin, newPos).css(opts.fixed, splitter._DF);
- A.css(opts.origin, 0).css(opts.split, newPos).css(opts.fixed, splitter._DF);
- B.css(opts.origin, newPos + bar._DA)
- .css(opts.split, splitter._DA - bar._DA - newPos).css(opts.fixed, splitter._DF);
- // IE fires resize for us; all others pay cash
- if (!$.browser.msie)
- panes.trigger("resize");
- }
-
- function dimSum(jq, dims) {
- // Opera returns -1 for missing min/max width, turn into 0
- var sum = 0;
- for (var i = 1; i < arguments.length; i++)
- sum += Math.max(parseInt(jq.css(arguments[i])) || 0, 0);
- return sum;
- }
-
- // Determine settings based on incoming opts, element classes, and defaults
- var vh = (args.splitHorizontal ? 'h' : args.splitVertical ? 'v' : args.type) || 'v';
- var opts = $.extend({
- activeClass: 'active', // class name for active splitter
- pxPerKey: 8, // splitter px moved per keypress
- tabIndex: 0, // tab order indicator
- accessKey: '' // accessKey for splitbar
- }, {
- v: { // Vertical splitters:
- keyLeft: 39, keyRight: 37, cursor: "e-resize",
- splitbarClass: "vsplitbar", outlineClass: "voutline",
- type: 'v', eventPos: "pageX", origin: "left",
- split: "width", pxSplit: "offsetWidth", side1: "Left", side2: "Right",
- fixed: "height", pxFixed: "offsetHeight", side3: "Top", side4: "Bottom"
- },
- h: { // Horizontal splitters:
- keyTop: 40, keyBottom: 38, cursor: "n-resize",
- splitbarClass: "hsplitbar", outlineClass: "houtline",
- type: 'h', eventPos: "pageY", origin: "top",
- split: "height", pxSplit: "offsetHeight", side1: "Top", side2: "Bottom",
- fixed: "width", pxFixed: "offsetWidth", side3: "Left", side4: "Right"
- }
- }[vh], args);
-
- // Create jQuery object closures for splitter and both panes
- var splitter = $(this).css({position: "relative"});
- var panes = $(">*", splitter[0]).css({
- position: "absolute", // positioned inside splitter container
- "z-index": "1", // splitbar is positioned above
- "-moz-outline-style": "none" // don't show dotted outline
- });
- var A = $(panes[0]); // left or top
- var B = $(panes[1]); // right or bottom
-
- // Focuser element, provides keyboard support; title is shown by Opera accessKeys
- var focuser = $('<a href="javascript:void(0)"></a>')
- .attr({accessKey: opts.accessKey, tabIndex: opts.tabIndex, title: opts.splitbarClass})
- .bind($.browser.opera ? "click" : "focus", function() {
- this.focus();
- bar.addClass(opts.activeClass)
- })
- .bind("keydown", function(e) {
- var key = e.which || e.keyCode;
- var dir = key == opts["key" + opts.side1] ? 1 : key == opts["key" + opts.side2] ? -1 : 0;
- if (dir)
- resplit(A[0][opts.pxSplit] + dir * opts.pxPerKey, false);
- })
- .bind("blur", function() {
- bar.removeClass(opts.activeClass)
- });
-
- // Splitbar element, can be already in the doc or we create one
- var bar = $(panes[2] || '<div></div>')
- .insertAfter(A).css("z-index", "100").append(focuser)
- .attr({"class": opts.splitbarClass, unselectable: "on"})
- .css({position: "absolute", "user-select": "none", "-webkit-user-select": "none",
- "-khtml-user-select": "none", "-moz-user-select": "none", "top": "0px"})
- .bind("mousedown", startSplitMouse);
- // Use our cursor unless the style specifies a non-default cursor
- if (/^(auto|default|)$/.test(bar.css("cursor")))
- bar.css("cursor", opts.cursor);
-
- // Cache several dimensions for speed, rather than re-querying constantly
- bar._DA = bar[0][opts.pxSplit];
- splitter._PBF = $.boxModel ? dimSum(splitter, "border" + opts.side3 + "Width", "border" + opts.side4 + "Width") : 0;
- splitter._PBA = $.boxModel ? dimSum(splitter, "border" + opts.side1 + "Width", "border" + opts.side2 + "Width") : 0;
- A._pane = opts.side1;
- B._pane = opts.side2;
- $.each([A,B], function() {
- this._min = opts["min" + this._pane] || dimSum(this, "min-" + opts.split);
- this._max = opts["max" + this._pane] || dimSum(this, "max-" + opts.split) || 9999;
- this._init = opts["size" + this._pane] === true ?
- parseInt($.curCSS(this[0], opts.split)) : opts["size" + this._pane];
- });
-
- // Determine initial position, get from cookie if specified
- var initPos = A._init;
- if (!isNaN(B._init)) // recalc initial B size as an offset from the top or left side
- initPos = splitter[0][opts.pxSplit] - splitter._PBA - B._init - bar._DA;
- if (opts.cookie) {
- if (!$.cookie)
- alert('jQuery.splitter(): jQuery cookie plugin required');
- var ckpos = parseInt($.cookie(opts.cookie));
- if (!isNaN(ckpos))
- initPos = ckpos;
- $(window).bind("unload", function() {
- var state = String(bar.css(opts.origin)); // current location of splitbar
- $.cookie(opts.cookie, state, {expires: opts.cookieExpires || 365,
- path: opts.cookiePath || document.location.pathname});
- });
- }
- if (isNaN(initPos)) // King Solomon's algorithm
- initPos = Math.round((splitter[0][opts.pxSplit] - splitter._PBA - bar._DA) / 2);
-
- // Resize event propagation and splitter sizing
- if (opts.anchorToWindow) {
- // Account for margin or border on the splitter container and enforce min height
- splitter._hadjust = dimSum(splitter, "borderTopWidth", "borderBottomWidth", "marginBottom");
- splitter._hmin = Math.max(dimSum(splitter, "minHeight"), 20);
- $(window).bind("resize",
- function() {
- var top = splitter.offset().top;
- var wh = $(window).height();
- splitter.css("height", Math.max(wh - top - splitter._hadjust, splitter._hmin) + "px");
- if (!$.browser.msie) splitter.trigger("resize");
- }).trigger("resize");
- }
- else if (opts.resizeToWidth && !$.browser.msie)
- $(window).bind("resize", function() {
- splitter.trigger("resize");
- });
-
- // Resize event handler; triggered immediately to set initial position
- splitter.bind("resize",
- function(e, size) {
- // Custom events bubble in jQuery 1.3; don't Yo Dawg
- if (e.target != this) return;
- // Determine new width/height of splitter container
- splitter._DF = splitter[0][opts.pxFixed] - splitter._PBF;
- splitter._DA = splitter[0][opts.pxSplit] - splitter._PBA;
- // Bail if splitter isn't visible or content isn't there yet
- if (splitter._DF <= 0 || splitter._DA <= 0) return;
- // Re-divvy the adjustable dimension; maintain size of the preferred pane
- resplit(!isNaN(size) ? size : (!(opts.sizeRight || opts.sizeBottom) ? A[0][opts.pxSplit] :
- splitter._DA - B[0][opts.pxSplit] - bar._DA));
- }).trigger("resize", [initPos]);
- });
- };
-
-})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jquery.tools.min.js b/build/documentation/api/js/jquery.tools.min.js
deleted file mode 100644
index fab1735f..00000000
--- a/build/documentation/api/js/jquery.tools.min.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * jQuery Tools 1.2.5 - The missing UI library for the Web
- *
- * [toolbox.flashembed, toolbox.history, toolbox.expose, toolbox.mousewheel, tabs, tabs.slideshow, tooltip, tooltip.slide, tooltip.dynamic, scrollable, scrollable.autoscroll, scrollable.navigator, overlay, overlay.apple, dateinput, rangeinput, validator]
- *
- * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
- *
- * http://flowplayer.org/tools/
- *
- * jquery.event.wheel.js - rev 1
- * Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
- * Liscensed under the MIT License (MIT-LICENSE.txt)
- * http://www.opensource.org/licenses/mit-license.php
- * Created: 2008-07-01 | Updated: 2008-07-14
- *
- * -----
- *
- * File generated: Wed Sep 22 06:12:53 GMT 2010
- */
-(function(){function f(a,b){if(b)for(var c in b)if(b.hasOwnProperty(c))a[c]=b[c];return a}function l(a,b){var c=[];for(var d in a)if(a.hasOwnProperty(d))c[d]=b(a[d]);return c}function m(a,b,c){if(e.isSupported(b.version))a.innerHTML=e.getHTML(b,c);else if(b.expressInstall&&e.isSupported([6,65]))a.innerHTML=e.getHTML(f(b,{src:b.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title});else{if(!a.innerHTML.replace(/\s/g,"")){a.innerHTML="<h2>Flash version "+b.version+
-" or greater is required</h2><h3>"+(g[0]>0?"Your version is "+g:"You have no flash plugin installed")+"</h3>"+(a.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+k+"'>here</a></p>");if(a.tagName=="A")a.onclick=function(){location.href=k}}if(b.onFail){var d=b.onFail.call(this);if(typeof d=="string")a.innerHTML=d}}if(i)window[b.id]=document.getElementById(b.id);f(this,{getRoot:function(){return a},getOptions:function(){return b},getConf:function(){return c},
-getApi:function(){return a.firstChild}})}var i=document.all,k="http://www.adobe.com/go/getflashplayer",n=typeof jQuery=="function",o=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,j={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}});
-window.flashembed=function(a,b,c){if(typeof a=="string")a=document.getElementById(a.replace("#",""));if(a){if(typeof b=="string")b={src:b};return new m(a,f(f({},j),b),c)}};var e=f(window.flashembed,{conf:j,getVersion:function(){var a,b;try{b=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(c){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"))&&a.GetVariable("$version")}catch(d){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"))&&a.GetVariable("$version")}catch(h){}}}return(b=
-o.exec(b))?[b[1],b[3]]:[0,0]},asString:function(a){if(a===null||a===undefined)return null;var b=typeof a;if(b=="object"&&a.push)b="array";switch(b){case "string":a=a.replace(new RegExp('(["\\\\])',"g"),"\\$1");a=a.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+a+'"';case "array":return"["+l(a,function(d){return e.asString(d)}).join(",")+"]";case "function":return'"function()"';case "object":b=[];for(var c in a)a.hasOwnProperty(c)&&b.push('"'+c+'":'+e.asString(a[c]));return"{"+b.join(",")+"}"}return String(a).replace(/\s/g,
-" ").replace(/\'/g,'"')},getHTML:function(a,b){a=f({},a);var c='<object width="'+a.width+'" height="'+a.height+'" id="'+a.id+'" name="'+a.id+'"';if(a.cachebusting)a.src+=(a.src.indexOf("?")!=-1?"&":"?")+Math.random();c+=a.w3c||!i?' data="'+a.src+'" type="application/x-shockwave-flash"':' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';c+=">";if(a.w3c||i)c+='<param name="movie" value="'+a.src+'" />';a.width=a.height=a.id=a.w3c=a.src=null;a.onFail=a.version=a.expressInstall=null;for(var d in a)if(a[d])c+=
-'<param name="'+d+'" value="'+a[d]+'" />';a="";if(b){for(var h in b)if(b[h]){d=b[h];a+=h+"="+(/function|object/.test(typeof d)?e.asString(d):d)+"&"}a=a.slice(0,-1);c+='<param name="flashvars" value=\''+a+"' />"}c+="</object>";return c},isSupported:function(a){return g[0]>a[0]||g[0]==a[0]&&g[1]>=a[1]}}),g=e.getVersion();if(n){jQuery.tools=jQuery.tools||{version:"1.2.5"};jQuery.tools.flashembed={conf:j};jQuery.fn.flashembed=function(a,b){return this.each(function(){$(this).data("flashembed",flashembed(this,
-a,b))})}}})();
-(function(b){function h(c){if(c){var a=d.contentWindow.document;a.open().close();a.location.hash=c}}var g,d,f,i;b.tools=b.tools||{version:"1.2.5"};b.tools.history={init:function(c){if(!i){if(b.browser.msie&&b.browser.version<"8"){if(!d){d=b("<iframe/>").attr("src","javascript:false;").hide().get(0);b("body").append(d);setInterval(function(){var a=d.contentWindow.document;a=a.location.hash;g!==a&&b.event.trigger("hash",a)},100);h(location.hash||"#")}}else setInterval(function(){var a=location.hash;
-a!==g&&b.event.trigger("hash",a)},100);f=!f?c:f.add(c);c.click(function(a){var e=b(this).attr("href");d&&h(e);if(e.slice(0,1)!="#"){location.href="#"+e;return a.preventDefault()}});i=true}}};b(window).bind("hash",function(c,a){a?f.filter(function(){var e=b(this).attr("href");return e==a||e==a.replace("#","")}).trigger("history",[a]):f.eq(0).trigger("history",[a]);g=a});b.fn.history=function(c){b.tools.history.init(this);return this.bind("history",c)}})(jQuery);
-(function(b){function k(){if(b.browser.msie){var a=b(document).height(),d=b(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,a-d<20?d:a]}return[b(document).width(),b(document).height()]}function h(a){if(a)return a.call(b.mask)}b.tools=b.tools||{version:"1.2.5"};var l;l=b.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:0.8,startOpacity:0,color:"#fff",onLoad:null,
-onClose:null}};var c,i,e,g,j;b.mask={load:function(a,d){if(e)return this;if(typeof a=="string")a={color:a};a=a||g;g=a=b.extend(b.extend({},l.conf),a);c=b("#"+a.maskId);if(!c.length){c=b("<div/>").attr("id",a.maskId);b("body").append(c)}var m=k();c.css({position:"absolute",top:0,left:0,width:m[0],height:m[1],display:"none",opacity:a.startOpacity,zIndex:a.zIndex});a.color&&c.css("backgroundColor",a.color);if(h(a.onBeforeLoad)===false)return this;a.closeOnEsc&&b(document).bind("keydown.mask",function(f){f.keyCode==
-27&&b.mask.close(f)});a.closeOnClick&&c.bind("click.mask",function(f){b.mask.close(f)});b(window).bind("resize.mask",function(){b.mask.fit()});if(d&&d.length){j=d.eq(0).css("zIndex");b.each(d,function(){var f=b(this);/relative|absolute|fixed/i.test(f.css("position"))||f.css("position","relative")});i=d.css({zIndex:Math.max(a.zIndex+1,j=="auto"?0:j)})}c.css({display:"block"}).fadeTo(a.loadSpeed,a.opacity,function(){b.mask.fit();h(a.onLoad);e="full"});e=true;return this},close:function(){if(e){if(h(g.onBeforeClose)===
-false)return this;c.fadeOut(g.closeSpeed,function(){h(g.onClose);i&&i.css({zIndex:j});e=false});b(document).unbind("keydown.mask");c.unbind("click.mask");b(window).unbind("resize.mask")}return this},fit:function(){if(e){var a=k();c.css({width:a[0],height:a[1]})}},getMask:function(){return c},isLoaded:function(a){return a?e=="full":e},getConf:function(){return g},getExposed:function(){return i}};b.fn.mask=function(a){b.mask.load(a);return this};b.fn.expose=function(a){b.mask.load(a,this);return this}})(jQuery);
-(function(b){function c(a){switch(a.type){case "mousemove":return b.extend(a.data,{clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY});case "DOMMouseScroll":b.extend(a,a.data);a.delta=-a.detail/3;break;case "mousewheel":a.delta=a.wheelDelta/120;break}a.type="wheel";return b.event.handle.call(this,a,a.delta)}b.fn.mousewheel=function(a){return this[a?"bind":"trigger"]("wheel",a)};b.event.special.wheel={setup:function(){b.event.add(this,d,c,{})},teardown:function(){b.event.remove(this,
-d,c)}};var d=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"")})(jQuery);
-(function(c){function p(d,b,a){var e=this,l=d.add(this),h=d.find(a.tabs),i=b.jquery?b:d.children(b),j;h.length||(h=d.children());i.length||(i=d.parent().find(b));i.length||(i=c(b));c.extend(this,{click:function(f,g){var k=h.eq(f);if(typeof f=="string"&&f.replace("#","")){k=h.filter("[href*="+f.replace("#","")+"]");f=Math.max(h.index(k),0)}if(a.rotate){var n=h.length-1;if(f<0)return e.click(n,g);if(f>n)return e.click(0,g)}if(!k.length){if(j>=0)return e;f=a.initialIndex;k=h.eq(f)}if(f===j)return e;
-g=g||c.Event();g.type="onBeforeClick";l.trigger(g,[f]);if(!g.isDefaultPrevented()){o[a.effect].call(e,f,function(){g.type="onClick";l.trigger(g,[f])});j=f;h.removeClass(a.current);k.addClass(a.current);return e}},getConf:function(){return a},getTabs:function(){return h},getPanes:function(){return i},getCurrentPane:function(){return i.eq(j)},getCurrentTab:function(){return h.eq(j)},getIndex:function(){return j},next:function(){return e.click(j+1)},prev:function(){return e.click(j-1)},destroy:function(){h.unbind(a.event).removeClass(a.current);
-i.find("a[href^=#]").unbind("click.T");return e}});c.each("onBeforeClick,onClick".split(","),function(f,g){c.isFunction(a[g])&&c(e).bind(g,a[g]);e[g]=function(k){k&&c(e).bind(g,k);return e}});if(a.history&&c.fn.history){c.tools.history.init(h);a.event="history"}h.each(function(f){c(this).bind(a.event,function(g){e.click(f,g);return g.preventDefault()})});i.find("a[href^=#]").bind("click.T",function(f){e.click(c(this).attr("href"),f)});if(location.hash&&a.tabs=="a"&&d.find("[href="+location.hash+"]").length)e.click(location.hash);
-else if(a.initialIndex===0||a.initialIndex>0)e.click(a.initialIndex)}c.tools=c.tools||{version:"1.2.5"};c.tools.tabs={conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialIndex:0,event:"click",rotate:false,history:false},addEffect:function(d,b){o[d]=b}};var o={"default":function(d,b){this.getPanes().hide().eq(d).show();b.call()},fade:function(d,b){var a=this.getConf(),e=a.fadeOutSpeed,l=this.getPanes();e?l.fadeOut(e):l.hide();l.eq(d).fadeIn(a.fadeInSpeed,b)},slide:function(d,
-b){this.getPanes().slideUp(200);this.getPanes().eq(d).slideDown(400,b)},ajax:function(d,b){this.getPanes().eq(0).load(this.getTabs().eq(d).attr("href"),b)}},m;c.tools.tabs.addEffect("horizontal",function(d,b){m||(m=this.getPanes().eq(0).width());this.getCurrentPane().animate({width:0},function(){c(this).hide()});this.getPanes().eq(d).animate({width:m},function(){c(this).show();b.call()})});c.fn.tabs=function(d,b){var a=this.data("tabs");if(a){a.destroy();this.removeData("tabs")}if(c.isFunction(b))b=
-{onBeforeClick:b};b=c.extend({},c.tools.tabs.conf,b);this.each(function(){a=new p(c(this),d,b);c(this).data("tabs",a)});return b.api?a:this}})(jQuery);
-(function(c){function p(g,a){function m(f){var e=c(f);return e.length<2?e:g.parent().find(f)}var b=this,i=g.add(this),d=g.data("tabs"),h,j=true,n=m(a.next).click(function(){d.next()}),k=m(a.prev).click(function(){d.prev()});c.extend(b,{getTabs:function(){return d},getConf:function(){return a},play:function(){if(h)return b;var f=c.Event("onBeforePlay");i.trigger(f);if(f.isDefaultPrevented())return b;h=setInterval(d.next,a.interval);j=false;i.trigger("onPlay");return b},pause:function(){if(!h)return b;
-var f=c.Event("onBeforePause");i.trigger(f);if(f.isDefaultPrevented())return b;h=clearInterval(h);i.trigger("onPause");return b},stop:function(){b.pause();j=true}});c.each("onBeforePlay,onPlay,onBeforePause,onPause".split(","),function(f,e){c.isFunction(a[e])&&c(b).bind(e,a[e]);b[e]=function(q){return c(b).bind(e,q)}});a.autopause&&d.getTabs().add(n).add(k).add(d.getPanes()).hover(b.pause,function(){j||b.play()});a.autoplay&&b.play();a.clickable&&d.getPanes().click(function(){d.next()});if(!d.getConf().rotate){var l=
-a.disabledClass;d.getIndex()||k.addClass(l);d.onBeforeClick(function(f,e){k.toggleClass(l,!e);n.toggleClass(l,e==d.getTabs().length-1)})}}var o;o=c.tools.tabs.slideshow={conf:{next:".forward",prev:".backward",disabledClass:"disabled",autoplay:false,autopause:true,interval:3E3,clickable:true,api:false}};c.fn.slideshow=function(g){var a=this.data("slideshow");if(a)return a;g=c.extend({},o.conf,g);this.each(function(){a=new p(c(this),g);c(this).data("slideshow",a)});return g.api?a:this}})(jQuery);
-(function(f){function p(a,b,c){var h=c.relative?a.position().top:a.offset().top,d=c.relative?a.position().left:a.offset().left,i=c.position[0];h-=b.outerHeight()-c.offset[0];d+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))h-=f(window).scrollTop();var j=b.outerHeight()+a.outerHeight();if(i=="center")h+=j/2;if(i=="bottom")h+=j;i=c.position[1];a=b.outerWidth()+a.outerWidth();if(i=="center")d-=a/2;if(i=="left")d-=a;return{top:h,left:d}}function u(a,b){var c=this,h=a.add(c),d,i=0,j=
-0,m=a.attr("title"),q=a.attr("data-tooltip"),r=o[b.effect],l,s=a.is(":input"),v=s&&a.is(":checkbox, :radio, select, :button, :submit"),t=a.attr("type"),k=b.events[t]||b.events[s?v?"widget":"input":"def"];if(!r)throw'Nonexistent effect "'+b.effect+'"';k=k.split(/,\s*/);if(k.length!=2)throw"Tooltip: bad events configuration for "+t;a.bind(k[0],function(e){clearTimeout(i);if(b.predelay)j=setTimeout(function(){c.show(e)},b.predelay);else c.show(e)}).bind(k[1],function(e){clearTimeout(j);if(b.delay)i=
-setTimeout(function(){c.hide(e)},b.delay);else c.hide(e)});if(m&&b.cancelDefault){a.removeAttr("title");a.data("title",m)}f.extend(c,{show:function(e){if(!d){if(q)d=f(q);else if(b.tip)d=f(b.tip).eq(0);else if(m)d=f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m);else{d=a.next();d.length||(d=a.parent().next())}if(!d.length)throw"Cannot find tooltip for "+a;}if(c.isShown())return c;d.stop(true,true);var g=p(a,d,b);b.tip&&d.html(a.data("title"));e=e||f.Event();e.type="onBeforeShow";
-h.trigger(e,[g]);if(e.isDefaultPrevented())return c;g=p(a,d,b);d.css({position:"absolute",top:g.top,left:g.left});l=true;r[0].call(c,function(){e.type="onShow";l="full";h.trigger(e)});g=b.events.tooltip.split(/,\s*/);if(!d.data("__set")){d.bind(g[0],function(){clearTimeout(i);clearTimeout(j)});g[1]&&!a.is("input:not(:checkbox, :radio), textarea")&&d.bind(g[1],function(n){n.relatedTarget!=a[0]&&a.trigger(k[1].split(" ")[0])});d.data("__set",true)}return c},hide:function(e){if(!d||!c.isShown())return c;
-e=e||f.Event();e.type="onBeforeHide";h.trigger(e);if(!e.isDefaultPrevented()){l=false;o[b.effect][1].call(c,function(){e.type="onHide";h.trigger(e)});return c}},isShown:function(e){return e?l=="full":l},getConf:function(){return b},getTip:function(){return d},getTrigger:function(){return a}});f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(e,g){f.isFunction(b[g])&&f(c).bind(g,b[g]);c[g]=function(n){n&&f(c).bind(g,n);return c}})}f.tools=f.tools||{version:"1.2.5"};f.tools.tooltip=
-{conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:false,cancelDefault:true,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,b,c){o[a]=[b,c]}};var o={toggle:[function(a){var b=this.getConf(),c=this.getTip();b=b.opacity;b<1&&c.css({opacity:b});c.show();a.call()},function(a){this.getTip().hide();
-a.call()}],fade:[function(a){var b=this.getConf();this.getTip().fadeTo(b.fadeInSpeed,b.opacity,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};f.fn.tooltip=function(a){var b=this.data("tooltip");if(b)return b;a=f.extend(true,{},f.tools.tooltip.conf,a);if(typeof a.position=="string")a.position=a.position.split(/,?\s/);this.each(function(){b=new u(f(this),a);f(this).data("tooltip",b)});return a.api?b:this}})(jQuery);
-(function(d){var i=d.tools.tooltip;d.extend(i.conf,{direction:"up",bounce:false,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!d.browser.msie});var e={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};i.addEffect("slide",function(g){var a=this.getConf(),f=this.getTip(),b=a.slideFade?{opacity:a.opacity}:{},c=e[a.direction]||e.up;b[c[1]]=c[0]+"="+a.slideOffset;a.slideFade&&f.css({opacity:0});f.show().animate(b,a.slideInSpeed,g)},function(g){var a=this.getConf(),f=a.slideOffset,
-b=a.slideFade?{opacity:0}:{},c=e[a.direction]||e.up,h=""+c[0];if(a.bounce)h=h=="+"?"-":"+";b[c[1]]=h+"="+f;this.getTip().animate(b,a.slideOutSpeed,function(){d(this).hide();g.call()})})})(jQuery);
-(function(g){function j(a){var c=g(window),d=c.width()+c.scrollLeft(),h=c.height()+c.scrollTop();return[a.offset().top<=c.scrollTop(),d<=a.offset().left+a.width(),h<=a.offset().top+a.height(),c.scrollLeft()>=a.offset().left]}function k(a){for(var c=a.length;c--;)if(a[c])return false;return true}var i=g.tools.tooltip;i.dynamic={conf:{classNames:"top right bottom left"}};g.fn.dynamic=function(a){if(typeof a=="number")a={speed:a};a=g.extend({},i.dynamic.conf,a);var c=a.classNames.split(/\s/),d;this.each(function(){var h=
-g(this).tooltip().onBeforeShow(function(e,f){e=this.getTip();var b=this.getConf();d||(d=[b.position[0],b.position[1],b.offset[0],b.offset[1],g.extend({},b)]);g.extend(b,d[4]);b.position=[d[0],d[1]];b.offset=[d[2],d[3]];e.css({visibility:"hidden",position:"absolute",top:f.top,left:f.left}).show();f=j(e);if(!k(f)){if(f[2]){g.extend(b,a.top);b.position[0]="top";e.addClass(c[0])}if(f[3]){g.extend(b,a.right);b.position[1]="right";e.addClass(c[1])}if(f[0]){g.extend(b,a.bottom);b.position[0]="bottom";e.addClass(c[2])}if(f[1]){g.extend(b,
-a.left);b.position[1]="left";e.addClass(c[3])}if(f[0]||f[2])b.offset[0]*=-1;if(f[1]||f[3])b.offset[1]*=-1}e.css({visibility:"visible"}).hide()});h.onBeforeShow(function(){var e=this.getConf();this.getTip();setTimeout(function(){e.position=[d[0],d[1]];e.offset=[d[2],d[3]]},0)});h.onHide(function(){var e=this.getTip();e.removeClass(a.classNames)});ret=h});return a.api?ret:this}})(jQuery);
-(function(e){function p(f,c){var b=e(c);return b.length<2?b:f.parent().find(c)}function u(f,c){var b=this,n=f.add(b),g=f.children(),l=0,j=c.vertical;k||(k=b);if(g.length>1)g=e(c.items,f);e.extend(b,{getConf:function(){return c},getIndex:function(){return l},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return o.add(q)},getRoot:function(){return f},getItemWrap:function(){return g},getItems:function(){return g.children(c.item).not("."+c.clonedClass)},move:function(a,d){return b.seekTo(l+
-a,d)},next:function(a){return b.move(1,a)},prev:function(a){return b.move(-1,a)},begin:function(a){return b.seekTo(0,a)},end:function(a){return b.seekTo(b.getSize()-1,a)},focus:function(){return k=b},addItem:function(a){a=e(a);if(c.circular){g.children("."+c.clonedClass+":last").before(a);g.children("."+c.clonedClass+":first").replaceWith(a.clone().addClass(c.clonedClass))}else g.append(a);n.trigger("onAddItem",[a]);return b},seekTo:function(a,d,h){a.jquery||(a*=1);if(c.circular&&a===0&&l==-1&&d!==
-0)return b;if(!c.circular&&a<0||a>b.getSize()||a<-1)return b;var i=a;if(a.jquery)a=b.getItems().index(a);else i=b.getItems().eq(a);var r=e.Event("onBeforeSeek");if(!h){n.trigger(r,[a,d]);if(r.isDefaultPrevented()||!i.length)return b}i=j?{top:-i.position().top}:{left:-i.position().left};l=a;k=b;if(d===undefined)d=c.speed;g.animate(i,d,c.easing,h||function(){n.trigger("onSeek",[a])});return b}});e.each(["onBeforeSeek","onSeek","onAddItem"],function(a,d){e.isFunction(c[d])&&e(b).bind(d,c[d]);b[d]=function(h){h&&
-e(b).bind(d,h);return b}});if(c.circular){var s=b.getItems().slice(-1).clone().prependTo(g),t=b.getItems().eq(1).clone().appendTo(g);s.add(t).addClass(c.clonedClass);b.onBeforeSeek(function(a,d,h){if(!a.isDefaultPrevented())if(d==-1){b.seekTo(s,h,function(){b.end(0)});return a.preventDefault()}else d==b.getSize()&&b.seekTo(t,h,function(){b.begin(0)})});b.seekTo(0,0,function(){})}var o=p(f,c.prev).click(function(){b.prev()}),q=p(f,c.next).click(function(){b.next()});if(!c.circular&&b.getSize()>1){b.onBeforeSeek(function(a,
-d){setTimeout(function(){if(!a.isDefaultPrevented()){o.toggleClass(c.disabledClass,d<=0);q.toggleClass(c.disabledClass,d>=b.getSize()-1)}},1)});c.initialIndex||o.addClass(c.disabledClass)}c.mousewheel&&e.fn.mousewheel&&f.mousewheel(function(a,d){if(c.mousewheel){b.move(d<0?1:-1,c.wheelSpeed||50);return false}});if(c.touch){var m={};g[0].ontouchstart=function(a){a=a.touches[0];m.x=a.clientX;m.y=a.clientY};g[0].ontouchmove=function(a){if(a.touches.length==1&&!g.is(":animated")){var d=a.touches[0],h=
-m.x-d.clientX;d=m.y-d.clientY;b[j&&d>0||!j&&h>0?"next":"prev"]();a.preventDefault()}}}c.keyboard&&e(document).bind("keydown.scrollable",function(a){if(!(!c.keyboard||a.altKey||a.ctrlKey||e(a.target).is(":input")))if(!(c.keyboard!="static"&&k!=b)){var d=a.keyCode;if(j&&(d==38||d==40)){b.move(d==38?-1:1);return a.preventDefault()}if(!j&&(d==37||d==39)){b.move(d==37?-1:1);return a.preventDefault()}}});c.initialIndex&&b.seekTo(c.initialIndex,0,function(){})}e.tools=e.tools||{version:"1.2.5"};e.tools.scrollable=
-{conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var k;e.fn.scrollable=function(f){var c=this.data("scrollable");if(c)return c;f=e.extend({},e.tools.scrollable.conf,f);this.each(function(){c=new u(e(this),f);e(this).data("scrollable",c)});return f.api?c:this}})(jQuery);
-(function(b){var f=b.tools.scrollable;f.autoscroll={conf:{autoplay:true,interval:3E3,autopause:true}};b.fn.autoscroll=function(c){if(typeof c=="number")c={interval:c};var d=b.extend({},f.autoscroll.conf,c),g;this.each(function(){var a=b(this).data("scrollable");if(a)g=a;var e,h=true;a.play=function(){if(!e){h=false;e=setInterval(function(){a.next()},d.interval)}};a.pause=function(){e=clearInterval(e)};a.stop=function(){a.pause();h=true};d.autopause&&a.getRoot().add(a.getNaviButtons()).hover(a.pause,
-a.play);d.autoplay&&a.play()});return d.api?g:this}})(jQuery);
-(function(d){function p(b,g){var h=d(g);return h.length<2?h:b.parent().find(g)}var m=d.tools.scrollable;m.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};d.fn.navigator=function(b){if(typeof b=="string")b={navi:b};b=d.extend({},m.navigator.conf,b);var g;this.each(function(){function h(a,c,i){e.seekTo(c);if(j){if(location.hash)location.hash=a.attr("href").replace("#","")}else return i.preventDefault()}function f(){return k.find(b.naviItem||
-"> *")}function n(a){var c=d("<"+(b.naviItem||"a")+"/>").click(function(i){h(d(this),a,i)}).attr("href","#"+a);a===0&&c.addClass(l);b.indexed&&c.text(a+1);b.idPrefix&&c.attr("id",b.idPrefix+a);return c.appendTo(k)}function o(a,c){a=f().eq(c.replace("#",""));a.length||(a=f().filter("[href="+c+"]"));a.click()}var e=d(this).data("scrollable"),k=b.navi.jquery?b.navi:p(e.getRoot(),b.navi),q=e.getNaviButtons(),l=b.activeClass,j=b.history&&d.fn.history;if(e)g=e;e.getNaviButtons=function(){return q.add(k)};
-f().length?f().each(function(a){d(this).click(function(c){h(d(this),a,c)})}):d.each(e.getItems(),function(a){n(a)});e.onBeforeSeek(function(a,c){setTimeout(function(){if(!a.isDefaultPrevented()){var i=f().eq(c);!a.isDefaultPrevented()&&i.length&&f().removeClass(l).eq(c).addClass(l)}},1)});e.onAddItem(function(a,c){c=n(e.getItems().index(c));j&&c.history(o)});j&&f().history(o)});return b.api?g:this}})(jQuery);
-(function(a){function t(d,b){var c=this,j=d.add(c),o=a(window),k,f,m,g=a.tools.expose&&(b.mask||b.expose),n=Math.random().toString().slice(10);if(g){if(typeof g=="string")g={color:g};g.closeOnClick=g.closeOnEsc=false}var p=b.target||d.attr("rel");f=p?a(p):d;if(!f.length)throw"Could not find Overlay: "+p;d&&d.index(f)==-1&&d.click(function(e){c.load(e);return e.preventDefault()});a.extend(c,{load:function(e){if(c.isOpened())return c;var h=q[b.effect];if(!h)throw'Overlay: cannot find effect : "'+b.effect+
-'"';b.oneInstance&&a.each(s,function(){this.close(e)});e=e||a.Event();e.type="onBeforeLoad";j.trigger(e);if(e.isDefaultPrevented())return c;m=true;g&&a(f).expose(g);var i=b.top,r=b.left,u=f.outerWidth({margin:true}),v=f.outerHeight({margin:true});if(typeof i=="string")i=i=="center"?Math.max((o.height()-v)/2,0):parseInt(i,10)/100*o.height();if(r=="center")r=Math.max((o.width()-u)/2,0);h[0].call(c,{top:i,left:r},function(){if(m){e.type="onLoad";j.trigger(e)}});g&&b.closeOnClick&&a.mask.getMask().one("click",
-c.close);b.closeOnClick&&a(document).bind("click."+n,function(l){a(l.target).parents(f).length||c.close(l)});b.closeOnEsc&&a(document).bind("keydown."+n,function(l){l.keyCode==27&&c.close(l)});return c},close:function(e){if(!c.isOpened())return c;e=e||a.Event();e.type="onBeforeClose";j.trigger(e);if(!e.isDefaultPrevented()){m=false;q[b.effect][1].call(c,function(){e.type="onClose";j.trigger(e)});a(document).unbind("click."+n).unbind("keydown."+n);g&&a.mask.close();return c}},getOverlay:function(){return f},
-getTrigger:function(){return d},getClosers:function(){return k},isOpened:function(){return m},getConf:function(){return b}});a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(e,h){a.isFunction(b[h])&&a(c).bind(h,b[h]);c[h]=function(i){i&&a(c).bind(h,i);return c}});k=f.find(b.close||".close");if(!k.length&&!b.close){k=a('<a class="close"></a>');f.prepend(k)}k.click(function(e){c.close(e)});b.load&&c.load()}a.tools=a.tools||{version:"1.2.5"};a.tools.overlay={addEffect:function(d,
-b,c){q[d]=[b,c]},conf:{close:null,closeOnClick:true,closeOnEsc:true,closeSpeed:"fast",effect:"default",fixed:!a.browser.msie||a.browser.version>6,left:"center",load:false,mask:null,oneInstance:true,speed:"normal",target:null,top:"10%"}};var s=[],q={};a.tools.overlay.addEffect("default",function(d,b){var c=this.getConf(),j=a(window);if(!c.fixed){d.top+=j.scrollTop();d.left+=j.scrollLeft()}d.position=c.fixed?"fixed":"absolute";this.getOverlay().css(d).fadeIn(c.speed,b)},function(d){this.getOverlay().fadeOut(this.getConf().closeSpeed,
-d)});a.fn.overlay=function(d){var b=this.data("overlay");if(b)return b;if(a.isFunction(d))d={onBeforeLoad:d};d=a.extend(true,{},a.tools.overlay.conf,d);this.each(function(){b=new t(a(this),d);s.push(b);a(this).data("overlay",b)});return d.api?b:this}})(jQuery);
-(function(h){function k(d){var e=d.offset();return{top:e.top+d.height()/2,left:e.left+d.width()/2}}var l=h.tools.overlay,f=h(window);h.extend(l.conf,{start:{top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function o(d,e){var a=this.getOverlay(),c=this.getConf(),g=this.getTrigger(),p=this,m=a.outerWidth({margin:true}),b=a.data("img"),n=c.fixed?"fixed":"absolute";if(!b){b=a.css("backgroundImage");if(!b)throw"background-image CSS property not set for overlay";b=b.slice(b.indexOf("(")+1,b.indexOf(")")).replace(/\"/g,
-"");a.css("backgroundImage","none");b=h('<img src="'+b+'"/>');b.css({border:0,display:"none"}).width(m);h("body").append(b);a.data("img",b)}var i=c.start.top||Math.round(f.height()/2),j=c.start.left||Math.round(f.width()/2);if(g){g=k(g);i=g.top;j=g.left}if(c.fixed){i-=f.scrollTop();j-=f.scrollLeft()}else{d.top+=f.scrollTop();d.left+=f.scrollLeft()}b.css({position:"absolute",top:i,left:j,width:0,zIndex:c.zIndex}).show();d.position=n;a.css(d);b.animate({top:a.css("top"),left:a.css("left"),width:m},
-c.speed,function(){a.css("zIndex",c.zIndex+1).fadeIn(c.fadeInSpeed,function(){p.isOpened()&&!h(this).index(a)?e.call():a.hide()})}).css("position",n)}function q(d){var e=this.getOverlay().hide(),a=this.getConf(),c=this.getTrigger();e=e.data("img");var g={top:a.start.top,left:a.start.left,width:0};c&&h.extend(g,k(c));a.fixed&&e.css({position:"absolute"}).animate({top:"+="+f.scrollTop(),left:"+="+f.scrollLeft()},0);e.animate(g,a.closeSpeed,d)}l.addEffect("apple",o,q)})(jQuery);
-(function(d){function R(a,c){return 32-(new Date(a,c,32)).getDate()}function S(a,c){a=""+a;for(c=c||2;a.length<c;)a="0"+a;return a}function T(a,c,j){var q=a.getDate(),h=a.getDay(),r=a.getMonth();a=a.getFullYear();var f={d:q,dd:S(q),ddd:B[j].shortDays[h],dddd:B[j].days[h],m:r+1,mm:S(r+1),mmm:B[j].shortMonths[r],mmmm:B[j].months[r],yy:String(a).slice(2),yyyy:a};c=c.replace(X,function(s){return s in f?f[s]:s.slice(1,s.length-1)});return Y.html(c).html()}function v(a){return parseInt(a,10)}function U(a,
-c){return a.getFullYear()===c.getFullYear()&&a.getMonth()==c.getMonth()&&a.getDate()==c.getDate()}function C(a){if(a){if(a.constructor==Date)return a;if(typeof a=="string"){var c=a.split("-");if(c.length==3)return new Date(v(c[0]),v(c[1])-1,v(c[2]));if(!/^-?\d+$/.test(a))return;a=v(a)}c=new Date;c.setDate(c.getDate()+a);return c}}function Z(a,c){function j(b,e,g){n=b;D=b.getFullYear();E=b.getMonth();G=b.getDate();g=g||d.Event("api");g.type="change";H.trigger(g,[b]);if(!g.isDefaultPrevented()){a.val(T(b,
-e.format,e.lang));a.data("date",b);h.hide(g)}}function q(b){b.type="onShow";H.trigger(b);d(document).bind("keydown.d",function(e){if(e.ctrlKey)return true;var g=e.keyCode;if(g==8){a.val("");return h.hide(e)}if(g==27)return h.hide(e);if(d(V).index(g)>=0){if(!w){h.show(e);return e.preventDefault()}var i=d("#"+f.weeks+" a"),t=d("."+f.focus),o=i.index(t);t.removeClass(f.focus);if(g==74||g==40)o+=7;else if(g==75||g==38)o-=7;else if(g==76||g==39)o+=1;else if(g==72||g==37)o-=1;if(o>41){h.addMonth();t=d("#"+
-f.weeks+" a:eq("+(o-42)+")")}else if(o<0){h.addMonth(-1);t=d("#"+f.weeks+" a:eq("+(o+42)+")")}else t=i.eq(o);t.addClass(f.focus);return e.preventDefault()}if(g==34)return h.addMonth();if(g==33)return h.addMonth(-1);if(g==36)return h.today();if(g==13)d(e.target).is("select")||d("."+f.focus).click();return d([16,17,18,9]).index(g)>=0});d(document).bind("click.d",function(e){var g=e.target;if(!d(g).parents("#"+f.root).length&&g!=a[0]&&(!L||g!=L[0]))h.hide(e)})}var h=this,r=new Date,f=c.css,s=B[c.lang],
-k=d("#"+f.root),M=k.find("#"+f.title),L,I,J,D,E,G,n=a.attr("data-value")||c.value||a.val(),m=a.attr("min")||c.min,p=a.attr("max")||c.max,w;if(m===0)m="0";n=C(n)||r;m=C(m||c.yearRange[0]*365);p=C(p||c.yearRange[1]*365);if(!s)throw"Dateinput: invalid language: "+c.lang;if(a.attr("type")=="date"){var N=d("<input/>");d.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(b,e){N.attr(e,a.attr(e))});a.replaceWith(N);a=N}a.addClass(f.input);var H=
-a.add(h);if(!k.length){k=d("<div><div><a/><div/><a/></div><div><div/><div/></div></div>").hide().css({position:"absolute"}).attr("id",f.root);k.children().eq(0).attr("id",f.head).end().eq(1).attr("id",f.body).children().eq(0).attr("id",f.days).end().eq(1).attr("id",f.weeks).end().end().end().find("a").eq(0).attr("id",f.prev).end().eq(1).attr("id",f.next);M=k.find("#"+f.head).find("div").attr("id",f.title);if(c.selectors){var z=d("<select/>").attr("id",f.month),A=d("<select/>").attr("id",f.year);M.html(z.add(A))}for(var $=
-k.find("#"+f.days),O=0;O<7;O++)$.append(d("<span/>").text(s.shortDays[(O+c.firstDay)%7]));d("body").append(k)}if(c.trigger)L=d("<a/>").attr("href","#").addClass(f.trigger).click(function(b){h.show();return b.preventDefault()}).insertAfter(a);var K=k.find("#"+f.weeks);A=k.find("#"+f.year);z=k.find("#"+f.month);d.extend(h,{show:function(b){if(!(a.attr("readonly")||a.attr("disabled")||w)){b=b||d.Event();b.type="onBeforeShow";H.trigger(b);if(!b.isDefaultPrevented()){d.each(W,function(){this.hide()});
-w=true;z.unbind("change").change(function(){h.setValue(A.val(),d(this).val())});A.unbind("change").change(function(){h.setValue(d(this).val(),z.val())});I=k.find("#"+f.prev).unbind("click").click(function(){I.hasClass(f.disabled)||h.addMonth(-1);return false});J=k.find("#"+f.next).unbind("click").click(function(){J.hasClass(f.disabled)||h.addMonth();return false});h.setValue(n);var e=a.offset();if(/iPad/i.test(navigator.userAgent))e.top-=d(window).scrollTop();k.css({top:e.top+a.outerHeight({margins:true})+
-c.offset[0],left:e.left+c.offset[1]});if(c.speed)k.show(c.speed,function(){q(b)});else{k.show();q(b)}return h}}},setValue:function(b,e,g){var i=v(e)>=-1?new Date(v(b),v(e),v(g||1)):b||n;if(i<m)i=m;else if(i>p)i=p;b=i.getFullYear();e=i.getMonth();g=i.getDate();if(e==-1){e=11;b--}else if(e==12){e=0;b++}if(!w){j(i,c);return h}E=e;D=b;g=new Date(b,e,1-c.firstDay);g=g.getDay();var t=R(b,e),o=R(b,e-1),P;if(c.selectors){z.empty();d.each(s.months,function(x,F){m<new Date(b,x+1,-1)&&p>new Date(b,x,0)&&z.append(d("<option/>").html(F).attr("value",
-x))});A.empty();i=r.getFullYear();for(var l=i+c.yearRange[0];l<i+c.yearRange[1];l++)m<=new Date(l+1,-1,1)&&p>new Date(l,0,0)&&A.append(d("<option/>").text(l));z.val(e);A.val(b)}else M.html(s.months[e]+" "+b);K.empty();I.add(J).removeClass(f.disabled);l=!g?-7:0;for(var u,y;l<(!g?35:42);l++){u=d("<a/>");if(l%7===0){P=d("<div/>").addClass(f.week);K.append(P)}if(l<g){u.addClass(f.off);y=o-g+l+1;i=new Date(b,e-1,y)}else if(l>=g+t){u.addClass(f.off);y=l-t-g+1;i=new Date(b,e+1,y)}else{y=l-g+1;i=new Date(b,
-e,y);if(U(n,i))u.attr("id",f.current).addClass(f.focus);else U(r,i)&&u.attr("id",f.today)}m&&i<m&&u.add(I).addClass(f.disabled);p&&i>p&&u.add(J).addClass(f.disabled);u.attr("href","#"+y).text(y).data("date",i);P.append(u)}K.find("a").click(function(x){var F=d(this);if(!F.hasClass(f.disabled)){d("#"+f.current).removeAttr("id");F.attr("id",f.current);j(F.data("date"),c,x)}return false});f.sunday&&K.find(f.week).each(function(){var x=c.firstDay?7-c.firstDay:0;d(this).children().slice(x,x+1).addClass(f.sunday)});
-return h},setMin:function(b,e){m=C(b);e&&n<m&&h.setValue(m);return h},setMax:function(b,e){p=C(b);e&&n>p&&h.setValue(p);return h},today:function(){return h.setValue(r)},addDay:function(b){return this.setValue(D,E,G+(b||1))},addMonth:function(b){return this.setValue(D,E+(b||1),G)},addYear:function(b){return this.setValue(D+(b||1),E,G)},hide:function(b){if(w){b=d.Event();b.type="onHide";H.trigger(b);d(document).unbind("click.d").unbind("keydown.d");if(b.isDefaultPrevented())return;k.hide();w=false}return h},
-getConf:function(){return c},getInput:function(){return a},getCalendar:function(){return k},getValue:function(b){return b?T(n,b,c.lang):n},isOpen:function(){return w}});d.each(["onBeforeShow","onShow","change","onHide"],function(b,e){d.isFunction(c[e])&&d(h).bind(e,c[e]);h[e]=function(g){g&&d(h).bind(e,g);return h}});a.bind("focus click",h.show).keydown(function(b){var e=b.keyCode;if(!w&&d(V).index(e)>=0){h.show(b);return b.preventDefault()}return b.shiftKey||b.ctrlKey||b.altKey||e==9?true:b.preventDefault()});
-C(a.val())&&j(n,c)}d.tools=d.tools||{version:"1.2.5"};var W=[],Q,V=[75,76,38,39,74,72,40,37],B={};Q=d.tools.dateinput={conf:{format:"mm/dd/yy",selectors:false,yearRange:[-5,5],lang:"en",offset:[0,0],speed:0,firstDay:0,min:undefined,max:undefined,trigger:false,css:{prefix:"cal",input:"date",root:0,head:0,title:0,prev:0,next:0,month:0,year:0,days:0,body:0,weeks:0,today:0,current:0,week:0,off:0,sunday:0,focus:0,disabled:0,trigger:0}},localize:function(a,c){d.each(c,function(j,q){c[j]=q.split(",")});
-B[a]=c}};Q.localize("en",{months:"January,February,March,April,May,June,July,August,September,October,November,December",shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",days:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",shortDays:"Sun,Mon,Tue,Wed,Thu,Fri,Sat"});var X=/d{1,4}|m{1,4}|yy(?:yy)?|"[^"]*"|'[^']*'/g,Y=d("<a/>");d.expr[":"].date=function(a){var c=a.getAttribute("type");return c&&c=="date"||!!d(a).data("dateinput")};d.fn.dateinput=function(a){if(this.data("dateinput"))return this;
-a=d.extend(true,{},Q.conf,a);d.each(a.css,function(j,q){if(!q&&j!="prefix")a.css[j]=(a.css.prefix||"")+(q||j)});var c;this.each(function(){var j=new Z(d(this),a);W.push(j);j=j.getInput().data("dateinput",j);c=c?c.add(j):j});return c?c:this}})(jQuery);
-(function(e){function F(d,a){a=Math.pow(10,a);return Math.round(d*a)/a}function q(d,a){if(a=parseInt(d.css(a),10))return a;return(d=d[0].currentStyle)&&d.width&&parseInt(d.width,10)}function C(d){return(d=d.data("events"))&&d.onSlide}function G(d,a){function h(c,b,f,j){if(f===undefined)f=b/k*z;else if(j)f-=a.min;if(s)f=Math.round(f/s)*s;if(b===undefined||s)b=f*k/z;if(isNaN(f))return g;b=Math.max(0,Math.min(b,k));f=b/k*z;if(j||!n)f+=a.min;if(n)if(j)b=k-b;else f=a.max-f;f=F(f,t);var r=c.type=="click";
-if(D&&l!==undefined&&!r){c.type="onSlide";A.trigger(c,[f,b]);if(c.isDefaultPrevented())return g}j=r?a.speed:0;r=r?function(){c.type="change";A.trigger(c,[f])}:null;if(n){m.animate({top:b},j,r);a.progress&&B.animate({height:k-b+m.width()/2},j)}else{m.animate({left:b},j,r);a.progress&&B.animate({width:b+m.width()/2},j)}l=f;H=b;d.val(f);return g}function o(){if(n=a.vertical||q(i,"height")>q(i,"width")){k=q(i,"height")-q(m,"height");u=i.offset().top+k}else{k=q(i,"width")-q(m,"width");u=i.offset().left}}
-function v(){o();g.setValue(a.value!==undefined?a.value:a.min)}var g=this,p=a.css,i=e("<div><div/><a href='#'/></div>").data("rangeinput",g),n,l,u,k,H;d.before(i);var m=i.addClass(p.slider).find("a").addClass(p.handle),B=i.find("div").addClass(p.progress);e.each("min,max,step,value".split(","),function(c,b){c=d.attr(b);if(parseFloat(c))a[b]=parseFloat(c,10)});var z=a.max-a.min,s=a.step=="any"?0:a.step,t=a.precision;if(t===undefined)try{t=s.toString().split(".")[1].length}catch(I){t=0}if(d.attr("type")==
-"range"){var w=e("<input/>");e.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(c,b){w.attr(b,d.attr(b))});w.val(a.value);d.replaceWith(w);d=w}d.addClass(p.input);var A=e(g).add(d),D=true;e.extend(g,{getValue:function(){return l},setValue:function(c,b){o();return h(b||e.Event("api"),undefined,c,true)},getConf:function(){return a},getProgress:function(){return B},getHandle:function(){return m},getInput:function(){return d},step:function(c,
-b){b=b||e.Event();var f=a.step=="any"?1:a.step;g.setValue(l+f*(c||1),b)},stepUp:function(c){return g.step(c||1)},stepDown:function(c){return g.step(-c||-1)}});e.each("onSlide,change".split(","),function(c,b){e.isFunction(a[b])&&e(g).bind(b,a[b]);g[b]=function(f){f&&e(g).bind(b,f);return g}});m.drag({drag:false}).bind("dragStart",function(){o();D=C(e(g))||C(d)}).bind("drag",function(c,b,f){if(d.is(":disabled"))return false;h(c,n?b:f)}).bind("dragEnd",function(c){if(!c.isDefaultPrevented()){c.type=
-"change";A.trigger(c,[l])}}).click(function(c){return c.preventDefault()});i.click(function(c){if(d.is(":disabled")||c.target==m[0])return c.preventDefault();o();var b=m.width()/2;h(c,n?k-u-b+c.pageY:c.pageX-u-b)});a.keyboard&&d.keydown(function(c){if(!d.attr("readonly")){var b=c.keyCode,f=e([75,76,38,33,39]).index(b)!=-1,j=e([74,72,40,34,37]).index(b)!=-1;if((f||j)&&!(c.shiftKey||c.altKey||c.ctrlKey)){if(f)g.step(b==33?10:1,c);else if(j)g.step(b==34?-10:-1,c);return c.preventDefault()}}});d.blur(function(c){var b=
-e(this).val();b!==l&&g.setValue(b,c)});e.extend(d[0],{stepUp:g.stepUp,stepDown:g.stepDown});v();k||e(window).load(v)}e.tools=e.tools||{version:"1.2.5"};var E;E=e.tools.rangeinput={conf:{min:0,max:100,step:"any",steps:0,value:0,precision:undefined,vertical:0,keyboard:true,progress:false,speed:100,css:{input:"range",slider:"slider",progress:"progress",handle:"handle"}}};var x,y;e.fn.drag=function(d){document.ondragstart=function(){return false};d=e.extend({x:true,y:true,drag:true},d);x=x||e(document).bind("mousedown mouseup",
-function(a){var h=e(a.target);if(a.type=="mousedown"&&h.data("drag")){var o=h.position(),v=a.pageX-o.left,g=a.pageY-o.top,p=true;x.bind("mousemove.drag",function(i){var n=i.pageX-v;i=i.pageY-g;var l={};if(d.x)l.left=n;if(d.y)l.top=i;if(p){h.trigger("dragStart");p=false}d.drag&&h.css(l);h.trigger("drag",[i,n]);y=h});a.preventDefault()}else try{y&&y.trigger("dragEnd")}finally{x.unbind("mousemove.drag");y=null}});return this.data("drag",true)};e.expr[":"].range=function(d){var a=d.getAttribute("type");
-return a&&a=="range"||!!e(d).filter("input").data("rangeinput")};e.fn.rangeinput=function(d){if(this.data("rangeinput"))return this;d=e.extend(true,{},E.conf,d);var a;this.each(function(){var h=new G(e(this),e.extend(true,{},d));h=h.getInput().data("rangeinput",h);a=a?a.add(h):h});return a?a:this}})(jQuery);
-(function(e){function t(a,b,c){var k=a.offset().top,f=a.offset().left,l=c.position.split(/,?\s+/),p=l[0];l=l[1];k-=b.outerHeight()-c.offset[0];f+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))k-=e(window).scrollTop();c=b.outerHeight()+a.outerHeight();if(p=="center")k+=c/2;if(p=="bottom")k+=c;a=a.outerWidth();if(l=="center")f-=(a+b.outerWidth())/2;if(l=="left")f-=a;return{top:k,left:f}}function y(a){function b(){return this.getAttribute("type")==a}b.key="[type="+a+"]";return b}function u(a,
-b,c){function k(g,d,i){if(!(!c.grouped&&g.length)){var j;if(i===false||e.isArray(i)){j=h.messages[d.key||d]||h.messages["*"];j=j[c.lang]||h.messages["*"].en;(d=j.match(/\$\d/g))&&e.isArray(i)&&e.each(d,function(m){j=j.replace(this,i[m])})}else j=i[c.lang]||i;g.push(j)}}var f=this,l=b.add(f);a=a.not(":button, :image, :reset, :submit");e.extend(f,{getConf:function(){return c},getForm:function(){return b},getInputs:function(){return a},reflow:function(){a.each(function(){var g=e(this),d=g.data("msg.el");
-if(d){g=t(g,d,c);d.css({top:g.top,left:g.left})}});return f},invalidate:function(g,d){if(!d){var i=[];e.each(g,function(j,m){j=a.filter("[name='"+j+"']");if(j.length){j.trigger("OI",[m]);i.push({input:j,messages:[m]})}});g=i;d=e.Event()}d.type="onFail";l.trigger(d,[g]);d.isDefaultPrevented()||q[c.effect][0].call(f,g,d);return f},reset:function(g){g=g||a;g.removeClass(c.errorClass).each(function(){var d=e(this).data("msg.el");if(d){d.remove();e(this).data("msg.el",null)}}).unbind(c.errorInputEvent||
-"");return f},destroy:function(){b.unbind(c.formEvent+".V").unbind("reset.V");a.unbind(c.inputEvent+".V").unbind("change.V");return f.reset()},checkValidity:function(g,d){g=g||a;g=g.not(":disabled");if(!g.length)return true;d=d||e.Event();d.type="onBeforeValidate";l.trigger(d,[g]);if(d.isDefaultPrevented())return d.result;var i=[];g.not(":radio:not(:checked)").each(function(){var m=[],n=e(this).data("messages",m),v=r&&n.is(":date")?"onHide.v":c.errorInputEvent+".v";n.unbind(v);e.each(w,function(){var o=
-this,s=o[0];if(n.filter(s).length){o=o[1].call(f,n,n.val());if(o!==true){d.type="onBeforeFail";l.trigger(d,[n,s]);if(d.isDefaultPrevented())return false;var x=n.attr(c.messageAttr);if(x){m=[x];return false}else k(m,s,o)}}});if(m.length){i.push({input:n,messages:m});n.trigger("OI",[m]);c.errorInputEvent&&n.bind(v,function(o){f.checkValidity(n,o)})}if(c.singleError&&i.length)return false});var j=q[c.effect];if(!j)throw'Validator: cannot find effect "'+c.effect+'"';if(i.length){f.invalidate(i,d);return false}else{j[1].call(f,
-g,d);d.type="onSuccess";l.trigger(d,[g]);g.unbind(c.errorInputEvent+".v")}return true}});e.each("onBeforeValidate,onBeforeFail,onFail,onSuccess".split(","),function(g,d){e.isFunction(c[d])&&e(f).bind(d,c[d]);f[d]=function(i){i&&e(f).bind(d,i);return f}});c.formEvent&&b.bind(c.formEvent+".V",function(g){if(!f.checkValidity(null,g))return g.preventDefault()});b.bind("reset.V",function(){f.reset()});a[0]&&a[0].validity&&a.each(function(){this.oninvalid=function(){return false}});if(b[0])b[0].checkValidity=
-f.checkValidity;c.inputEvent&&a.bind(c.inputEvent+".V",function(g){f.checkValidity(e(this),g)});a.filter(":checkbox, select").filter("[required]").bind("change.V",function(g){var d=e(this);if(this.checked||d.is("select")&&e(this).val())q[c.effect][1].call(f,d,g)});var p=a.filter(":radio").change(function(g){f.checkValidity(p,g)});e(window).resize(function(){f.reflow()})}e.tools=e.tools||{version:"1.2.5"};var z=/\[type=([a-z]+)\]/,A=/^-?[0-9]*(\.[0-9]+)?$/,r=e.tools.dateinput,B=/^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$/i,
-C=/^(https?:\/\/)?[\da-z\.\-]+\.[a-z\.]{2,6}[#&+_\?\/\w \.\-=]*$/i,h;h=e.tools.validator={conf:{grouped:false,effect:"default",errorClass:"invalid",inputEvent:null,errorInputEvent:"keyup",formEvent:"submit",lang:"en",message:"<div/>",messageAttr:"data-message",messageClass:"error",offset:[0,0],position:"center right",singleError:false,speed:"normal"},messages:{"*":{en:"Please correct this value"}},localize:function(a,b){e.each(b,function(c,k){h.messages[c]=h.messages[c]||{};h.messages[c][a]=k})},
-localizeFn:function(a,b){h.messages[a]=h.messages[a]||{};e.extend(h.messages[a],b)},fn:function(a,b,c){if(e.isFunction(b))c=b;else{if(typeof b=="string")b={en:b};this.messages[a.key||a]=b}if(b=z.exec(a))a=y(b[1]);w.push([a,c])},addEffect:function(a,b,c){q[a]=[b,c]}};var w=[],q={"default":[function(a){var b=this.getConf();e.each(a,function(c,k){c=k.input;c.addClass(b.errorClass);var f=c.data("msg.el");if(!f){f=e(b.message).addClass(b.messageClass).appendTo(document.body);c.data("msg.el",f)}f.css({visibility:"hidden"}).find("p").remove();
-e.each(k.messages,function(l,p){e("<p/>").html(p).appendTo(f)});f.outerWidth()==f.parent().width()&&f.add(f.find("p")).css({display:"inline"});k=t(c,f,b);f.css({visibility:"visible",position:"absolute",top:k.top,left:k.left}).fadeIn(b.speed)})},function(a){var b=this.getConf();a.removeClass(b.errorClass).each(function(){var c=e(this).data("msg.el");c&&c.css({visibility:"hidden"})})}]};e.each("email,url,number".split(","),function(a,b){e.expr[":"][b]=function(c){return c.getAttribute("type")===b}});
-e.fn.oninvalid=function(a){return this[a?"bind":"trigger"]("OI",a)};h.fn(":email","Please enter a valid email address",function(a,b){return!b||B.test(b)});h.fn(":url","Please enter a valid URL",function(a,b){return!b||C.test(b)});h.fn(":number","Please enter a numeric value.",function(a,b){return A.test(b)});h.fn("[max]","Please enter a value smaller than $1",function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("max");return parseFloat(b)<=parseFloat(a)?true:[a]});h.fn("[min]","Please enter a value larger than $1",
-function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("min");return parseFloat(b)>=parseFloat(a)?true:[a]});h.fn("[required]","Please complete this mandatory field.",function(a,b){if(a.is(":checkbox"))return a.is(":checked");return!!b});h.fn("[pattern]",function(a){var b=new RegExp("^"+a.attr("pattern")+"$");return b.test(a.val())});e.fn.validator=function(a){var b=this.data("validator");if(b){b.destroy();this.removeData("validator")}a=e.extend(true,{},h.conf,a);if(this.is("form"))return this.each(function(){var c=
-e(this);b=new u(c.find(":input"),c,a);c.data("validator",b)});else{b=new u(this,this.eq(0).closest("form"),a);return this.data("validator",b)}}})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jquery.treeview.js b/build/documentation/api/js/jquery.treeview.js
deleted file mode 100644
index 02b452c2..00000000
--- a/build/documentation/api/js/jquery.treeview.js
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Treeview 1.5pre - jQuery plugin to hide and show branches of a tree
- *
- * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
- * http://docs.jquery.com/Plugins/Treeview
- *
- * Copyright (c) 2007 Jörn Zaefferer
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id: jquery.treeview.js 5759 2008-07-01 07:50:28Z joern.zaefferer $
- *
- */
-
-;(function($) {
-
- // TODO rewrite as a widget, removing all the extra plugins
- $.extend($.fn, {
- swapClass: function(c1, c2) {
- var c1Elements = this.filter('.' + c1);
- this.filter('.' + c2).removeClass(c2).addClass(c1);
- c1Elements.removeClass(c1).addClass(c2);
- return this;
- },
- replaceClass: function(c1, c2) {
- return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
- },
- hoverClass: function(className) {
- className = className || "hover";
- return this.hover(function() {
- $(this).addClass(className);
- }, function() {
- $(this).removeClass(className);
- });
- },
- heightToggle: function(animated, callback) {
- animated ?
- this.animate({ height: "toggle" }, animated, callback) :
- this.each(function(){
- jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
- if(callback)
- callback.apply(this, arguments);
- });
- },
- heightHide: function(animated, callback) {
- if (animated) {
- this.animate({ height: "hide" }, animated, callback);
- } else {
- this.hide();
- if (callback)
- this.each(callback);
- }
- },
- prepareBranches: function(settings) {
- if (!settings.prerendered) {
- // mark last tree items
- this.filter(":last-child:not(ul)").addClass(CLASSES.last);
- // collapse whole tree, or only those marked as closed, anyway except those marked as open
- this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
- }
- // return all items with sublists
- return this.filter(":has(>ul)");
- },
- applyClasses: function(settings, toggler) {
- // TODO use event delegation
- this.filter(":has(>ul):not(:has(>a))").find(">span").unbind("click.treeview").bind("click.treeview", function(event) {
- // don't handle click events on children, eg. checkboxes
- if ( this == event.target )
- toggler.apply($(this).next());
- }).add( $("a", this) ).hoverClass();
-
- if (!settings.prerendered) {
- // handle closed ones first
- this.filter(":has(>ul:hidden)")
- .addClass(CLASSES.expandable)
- .replaceClass(CLASSES.last, CLASSES.lastExpandable);
-
- // handle open ones
- this.not(":has(>ul:hidden)")
- .addClass(CLASSES.collapsable)
- .replaceClass(CLASSES.last, CLASSES.lastCollapsable);
-
- // create hitarea if not present
- var hitarea = this.find("div." + CLASSES.hitarea);
- if (!hitarea.length)
- hitarea = this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea);
- hitarea.removeClass().addClass(CLASSES.hitarea).each(function() {
- var classes = "";
- $.each($(this).parent().attr("class").split(" "), function() {
- classes += this + "-hitarea ";
- });
- $(this).addClass( classes );
- })
- }
-
- // apply event to hitarea
- this.find("div." + CLASSES.hitarea).click( toggler );
- },
- treeview: function(settings) {
-
- settings = $.extend({
- cookieId: "treeview"
- }, settings);
-
- if ( settings.toggle ) {
- var callback = settings.toggle;
- settings.toggle = function() {
- return callback.apply($(this).parent()[0], arguments);
- };
- }
-
- // factory for treecontroller
- function treeController(tree, control) {
- // factory for click handlers
- function handler(filter) {
- return function() {
- // reuse toggle event handler, applying the elements to toggle
- // start searching for all hitareas
- toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
- // for plain toggle, no filter is provided, otherwise we need to check the parent element
- return filter ? $(this).parent("." + filter).length : true;
- }) );
- return false;
- };
- }
- // click on first element to collapse tree
- $("a:eq(0)", control).click( handler(CLASSES.collapsable) );
- // click on second to expand tree
- $("a:eq(1)", control).click( handler(CLASSES.expandable) );
- // click on third to toggle tree
- $("a:eq(2)", control).click( handler() );
- }
-
- // handle toggle event
- function toggler() {
- $(this)
- .parent()
- // swap classes for hitarea
- .find(">.hitarea")
- .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
- .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
- .end()
- // swap classes for parent li
- .swapClass( CLASSES.collapsable, CLASSES.expandable )
- .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
- // find child lists
- .find( ">ul" )
- // toggle them
- .heightToggle( settings.animated, settings.toggle );
- if ( settings.unique ) {
- $(this).parent()
- .siblings()
- // swap classes for hitarea
- .find(">.hitarea")
- .replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
- .replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
- .end()
- .replaceClass( CLASSES.collapsable, CLASSES.expandable )
- .replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
- .find( ">ul" )
- .heightHide( settings.animated, settings.toggle );
- }
- }
- this.data("toggler", toggler);
-
- function serialize() {
- function binary(arg) {
- return arg ? 1 : 0;
- }
- var data = [];
- branches.each(function(i, e) {
- data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
- });
- $.cookie(settings.cookieId, data.join(""), settings.cookieOptions );
- }
-
- function deserialize() {
- var stored = $.cookie(settings.cookieId);
- if ( stored ) {
- var data = stored.split("");
- branches.each(function(i, e) {
- $(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
- });
- }
- }
-
- // add treeview class to activate styles
- this.addClass("treeview");
-
- // prepare branches and find all tree items with child lists
- var branches = this.find("li").prepareBranches(settings);
-
- switch(settings.persist) {
- case "cookie":
- var toggleCallback = settings.toggle;
- settings.toggle = function() {
- serialize();
- if (toggleCallback) {
- toggleCallback.apply(this, arguments);
- }
- };
- deserialize();
- break;
- case "location":
- var current = this.find("a").filter(function() {
- return this.href.toLowerCase() == location.href.toLowerCase();
- });
- if ( current.length ) {
- // TODO update the open/closed classes
- var items = current.addClass("selected").parents("ul, li").add( current.next() ).show();
- if (settings.prerendered) {
- // if prerendered is on, replicate the basic class swapping
- items.filter("li")
- .swapClass( CLASSES.collapsable, CLASSES.expandable )
- .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
- .find(">.hitarea")
- .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
- .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea );
- }
- }
- break;
- }
-
- branches.applyClasses(settings, toggler);
-
- // if control option is set, create the treecontroller and show it
- if ( settings.control ) {
- treeController(this, settings.control);
- $(settings.control).show();
- }
-
- return this;
- }
- });
-
- // classes used by the plugin
- // need to be styled via external stylesheet, see first example
- $.treeview = {};
- var CLASSES = ($.treeview.classes = {
- open: "open",
- closed: "closed",
- expandable: "expandable",
- expandableHitarea: "expandable-hitarea",
- lastExpandableHitarea: "lastExpandable-hitarea",
- collapsable: "collapsable",
- collapsableHitarea: "collapsable-hitarea",
- lastCollapsableHitarea: "lastCollapsable-hitarea",
- lastCollapsable: "lastCollapsable",
- lastExpandable: "lastExpandable",
- last: "last",
- hitarea: "hitarea"
- });
-
-})(jQuery); \ No newline at end of file
diff --git a/build/documentation/api/js/jquery.xml2json.js b/build/documentation/api/js/jquery.xml2json.js
deleted file mode 100644
index b8053baa..00000000
--- a/build/documentation/api/js/jquery.xml2json.js
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- ### jQuery XML to JSON Plugin v1.3 - 2013-02-18 ###
- * http://www.fyneworks.com/ - diego@fyneworks.com
- * Licensed under http://en.wikipedia.org/wiki/MIT_License
- ###
- Website: http://www.fyneworks.com/jquery/xml-to-json/
-*//*
- # INSPIRED BY: http://www.terracoder.com/
- AND: http://www.thomasfrank.se/xml_to_json.html
- AND: http://www.kawa.net/works/js/xml/objtree-e.html
-*//*
- This simple script converts XML (document of code) into a JSON object. It is the combination of 2
- 'xml to json' great parsers (see below) which allows for both 'simple' and 'extended' parsing modes.
-*/
-// Avoid collisions
-;if(window.jQuery) (function($){
-
- // Add function to jQuery namespace
- $.extend({
-
- // converts xml documents and xml text to json object
- xml2json: function(xml, extended) {
- if(!xml) return {}; // quick fail
-
- //### PARSER LIBRARY
- // Core function
- function parseXML(node, simple){
- if(!node) return null;
- var txt = '', obj = null, att = null;
- var nt = node.nodeType, nn = jsVar(node.localName || node.nodeName);
- var nv = node.text || node.nodeValue || '';
- /*DBG*/ //if(window.console) console.log(['x2j',nn,nt,nv.length+' bytes']);
- if(node.childNodes){
- if(node.childNodes.length>0){
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'CHILDREN',node.childNodes]);
- $.each(node.childNodes, function(n,cn){
- var cnt = cn.nodeType, cnn = jsVar(cn.localName || cn.nodeName);
- var cnv = cn.text || cn.nodeValue || '';
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>a',cnn,cnt,cnv]);
- if(cnt == 8){
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>b',cnn,'COMMENT (ignore)']);
- return; // ignore comment node
- }
- else if(cnt == 3 || cnt == 4 || !cnn){
- // ignore white-space in between tags
- if(cnv.match(/^\s+$/)){
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>c',cnn,'WHITE-SPACE (ignore)']);
- return;
- };
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>d',cnn,'TEXT']);
- txt += cnv.replace(/^\s+/,'').replace(/\s+$/,'');
- // make sure we ditch trailing spaces from markup
- }
- else{
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>e',cnn,'OBJECT']);
- obj = obj || {};
- if(obj[cnn]){
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>f',cnn,'ARRAY']);
-
- // http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child
- if(!obj[cnn].length) obj[cnn] = myArr(obj[cnn]);
- obj[cnn] = myArr(obj[cnn]);
-
- obj[cnn][ obj[cnn].length ] = parseXML(cn, true/* simple */);
- obj[cnn].length = obj[cnn].length;
- }
- else{
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>g',cnn,'dig deeper...']);
- obj[cnn] = parseXML(cn);
- };
- };
- });
- };//node.childNodes.length>0
- };//node.childNodes
- if(node.attributes){
- if(node.attributes.length>0){
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'ATTRIBUTES',node.attributes])
- att = {}; obj = obj || {};
- $.each(node.attributes, function(a,at){
- var atn = jsVar(at.name), atv = at.value;
- att[atn] = atv;
- if(obj[atn]){
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'attr>',atn,'ARRAY']);
-
- // http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child
- //if(!obj[atn].length) obj[atn] = myArr(obj[atn]);//[ obj[ atn ] ];
- obj[cnn] = myArr(obj[cnn]);
-
- obj[atn][ obj[atn].length ] = atv;
- obj[atn].length = obj[atn].length;
- }
- else{
- /*DBG*/ //if(window.console) console.log(['x2j',nn,'attr>',atn,'TEXT']);
- obj[atn] = atv;
- };
- });
- //obj['attributes'] = att;
- };//node.attributes.length>0
- };//node.attributes
- if(obj){
- obj = $.extend( (txt!='' ? new String(txt) : {}),/* {text:txt},*/ obj || {}/*, att || {}*/);
- //txt = (obj.text) ? (typeof(obj.text)=='object' ? obj.text : [obj.text || '']).concat([txt]) : txt;
- txt = (obj.text) ? ([obj.text || '']).concat([txt]) : txt;
- if(txt) obj.text = txt;
- txt = '';
- };
- var out = obj || txt;
- //console.log([extended, simple, out]);
- if(extended){
- if(txt) out = {};//new String(out);
- txt = out.text || txt || '';
- if(txt) out.text = txt;
- if(!simple) out = myArr(out);
- };
- return out;
- };// parseXML
- // Core Function End
- // Utility functions
- var jsVar = function(s){ return String(s || '').replace(/-/g,"_"); };
-
- // NEW isNum function: 01/09/2010
- // Thanks to Emile Grau, GigaTecnologies S.L., www.gigatransfer.com, www.mygigamail.com
- function isNum(s){
- // based on utility function isNum from xml2json plugin (http://www.fyneworks.com/ - diego@fyneworks.com)
- // few bugs corrected from original function :
- // - syntax error : regexp.test(string) instead of string.test(reg)
- // - regexp modified to accept comma as decimal mark (latin syntax : 25,24 )
- // - regexp modified to reject if no number before decimal mark : ".7" is not accepted
- // - string is "trimmed", allowing to accept space at the beginning and end of string
- var regexp=/^((-)?([0-9]+)(([\.\,]{0,1})([0-9]+))?$)/
- return (typeof s == "number") || regexp.test(String((s && typeof s == "string") ? jQuery.trim(s) : ''));
- };
- // OLD isNum function: (for reference only)
- //var isNum = function(s){ return (typeof s == "number") || String((s && typeof s == "string") ? s : '').test(/^((-)?([0-9]*)((\.{0,1})([0-9]+))?$)/); };
-
- var myArr = function(o){
-
- // http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child
- //if(!o.length) o = [ o ]; o.length=o.length;
- if(!$.isArray(o)) o = [ o ]; o.length=o.length;
-
- // here is where you can attach additional functionality, such as searching and sorting...
- return o;
- };
- // Utility functions End
- //### PARSER LIBRARY END
-
- // Convert plain text to xml
- if(typeof xml=='string') xml = $.text2xml(xml);
-
- // Quick fail if not xml (or if this is a node)
- if(!xml.nodeType) return;
- if(xml.nodeType == 3 || xml.nodeType == 4) return xml.nodeValue;
-
- // Find xml root node
- var root = (xml.nodeType == 9) ? xml.documentElement : xml;
-
- // Convert xml to json
- var out = parseXML(root, true /* simple */);
-
- // Clean-up memory
- xml = null; root = null;
-
- // Send output
- return out;
- },
-
- // Convert text to XML DOM
- text2xml: function(str) {
- // NOTE: I'd like to use jQuery for this, but jQuery makes all tags uppercase
- //return $(xml)[0];
-
- /* prior to jquery 1.9 */
- /*
- var out;
- try{
- var xml = ((!$.support.opacity && !$.support.style))?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser();
- xml.async = false;
- }catch(e){ throw new Error("XML Parser could not be instantiated") };
- try{
- if((!$.support.opacity && !$.support.style)) out = (xml.loadXML(str))?xml:false;
- else out = xml.parseFromString(str, "text/xml");
- }catch(e){ throw new Error("Error parsing XML string") };
- return out;
- */
-
- /* jquery 1.9+ */
- return $.parseXML(str);
- }
-
- }); // extend $
-
-})(jQuery);
diff --git a/build/documentation/api/js/menu.js b/build/documentation/api/js/menu.js
deleted file mode 100644
index e94e5314..00000000
--- a/build/documentation/api/js/menu.js
+++ /dev/null
@@ -1,31 +0,0 @@
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
-
-function menu_open() {
- menu_canceltimer();
- menu_close();
- ddmenuitem = $(this).find('ul').css('visibility', 'visible');
-}
-
-function menu_close() {
- if (ddmenuitem) ddmenuitem.css('visibility', 'hidden');
-}
-
-function menu_timer() {
- closetimer = window.setTimeout(menu_close, timeout);
-}
-
-function menu_canceltimer() {
- if (closetimer) {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
-}
-
-$(document).ready(function() {
- $('#file-nav > li').bind('mouseover', menu_open);
- $('#file-nav > li').bind('mouseout', menu_timer);
-});
-
-document.onclick = menu_close; \ No newline at end of file
diff --git a/build/documentation/api/js/prettify/lang-apollo.js b/build/documentation/api/js/prettify/lang-apollo.js
deleted file mode 100644
index 7098baf4..00000000
--- a/build/documentation/api/js/prettify/lang-apollo.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,
-null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]);
diff --git a/build/documentation/api/js/prettify/lang-clj.js b/build/documentation/api/js/prettify/lang-clj.js
deleted file mode 100644
index 542a2205..00000000
--- a/build/documentation/api/js/prettify/lang-clj.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- Copyright (C) 2011 Google 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.
-*/
-var a=null;
-PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a],
-["typ",/^:[\dA-Za-z-]+/]]),["clj"]);
diff --git a/build/documentation/api/js/prettify/lang-css.js b/build/documentation/api/js/prettify/lang-css.js
deleted file mode 100644
index 041e1f59..00000000
--- a/build/documentation/api/js/prettify/lang-css.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
-/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
diff --git a/build/documentation/api/js/prettify/lang-go.js b/build/documentation/api/js/prettify/lang-go.js
deleted file mode 100644
index fc18dc07..00000000
--- a/build/documentation/api/js/prettify/lang-go.js
+++ /dev/null
@@ -1 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]);
diff --git a/build/documentation/api/js/prettify/lang-hs.js b/build/documentation/api/js/prettify/lang-hs.js
deleted file mode 100644
index 9d77b083..00000000
--- a/build/documentation/api/js/prettify/lang-hs.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n \r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/,
-null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]);
diff --git a/build/documentation/api/js/prettify/lang-lisp.js b/build/documentation/api/js/prettify/lang-lisp.js
deleted file mode 100644
index 02a30e8d..00000000
--- a/build/documentation/api/js/prettify/lang-lisp.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var a=null;
-PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a],
-["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","scm"]);
diff --git a/build/documentation/api/js/prettify/lang-lua.js b/build/documentation/api/js/prettify/lang-lua.js
deleted file mode 100644
index e83a3c46..00000000
--- a/build/documentation/api/js/prettify/lang-lua.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],
-["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]);
diff --git a/build/documentation/api/js/prettify/lang-ml.js b/build/documentation/api/js/prettify/lang-ml.js
deleted file mode 100644
index 6df02d72..00000000
--- a/build/documentation/api/js/prettify/lang-ml.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],
-["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]);
diff --git a/build/documentation/api/js/prettify/lang-n.js b/build/documentation/api/js/prettify/lang-n.js
deleted file mode 100644
index 6c2e85b9..00000000
--- a/build/documentation/api/js/prettify/lang-n.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var a=null;
-PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\xa0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
-a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/,
-a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]);
diff --git a/build/documentation/api/js/prettify/lang-proto.js b/build/documentation/api/js/prettify/lang-proto.js
deleted file mode 100644
index f006ad8c..00000000
--- a/build/documentation/api/js/prettify/lang-proto.js
+++ /dev/null
@@ -1 +0,0 @@
-PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]);
diff --git a/build/documentation/api/js/prettify/lang-scala.js b/build/documentation/api/js/prettify/lang-scala.js
deleted file mode 100644
index 60d034de..00000000
--- a/build/documentation/api/js/prettify/lang-scala.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/],
-["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]);
diff --git a/build/documentation/api/js/prettify/lang-sql.js b/build/documentation/api/js/prettify/lang-sql.js
deleted file mode 100644
index da705b0b..00000000
--- a/build/documentation/api/js/prettify/lang-sql.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/],["kwd",/^(?:add|all|alter|and|any|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|merge|national|nocheck|nonclustered|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|percent|plan|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rule|save|schema|select|session_user|set|setuser|shutdown|some|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|union|unique|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|writetext)(?=[^\w-]|$)/i,
-null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^[_a-z][\w-]*/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/]]),["sql"]);
diff --git a/build/documentation/api/js/prettify/lang-tex.js b/build/documentation/api/js/prettify/lang-tex.js
deleted file mode 100644
index ce96fbbd..00000000
--- a/build/documentation/api/js/prettify/lang-tex.js
+++ /dev/null
@@ -1 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]);
diff --git a/build/documentation/api/js/prettify/lang-vb.js b/build/documentation/api/js/prettify/lang-vb.js
deleted file mode 100644
index 07506b03..00000000
--- a/build/documentation/api/js/prettify/lang-vb.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0\u2028\u2029]+/,null,"\t\n\r Â\xa0

"],["str",/^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i,null,'"“â€'],["com",/^['\u2018\u2019].*/,null,"'‘’"]],[["kwd",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i,
-null],["com",/^rem.*/i],["lit",/^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*])/i],["pun",/^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/],["pun",/^(?:\[|])/]]),["vb","vbs"]);
diff --git a/build/documentation/api/js/prettify/lang-vhdl.js b/build/documentation/api/js/prettify/lang-vhdl.js
deleted file mode 100644
index 128b5b6c..00000000
--- a/build/documentation/api/js/prettify/lang-vhdl.js
+++ /dev/null
@@ -1,3 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"]],[["str",/^(?:[box]?"(?:[^"]|"")*"|'.')/i],["com",/^--[^\n\r]*/],["kwd",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i,
-null],["typ",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],["typ",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i,null],["lit",/^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i],
-["pln",/^(?:[a-z]\w*|\\[^\\]*\\)/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/]]),["vhdl","vhd"]);
diff --git a/build/documentation/api/js/prettify/lang-wiki.js b/build/documentation/api/js/prettify/lang-wiki.js
deleted file mode 100644
index 9b0b4487..00000000
--- a/build/documentation/api/js/prettify/lang-wiki.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t Â\xa0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]);
-PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]);
diff --git a/build/documentation/api/js/prettify/lang-xq.js b/build/documentation/api/js/prettify/lang-xq.js
deleted file mode 100644
index e323ae32..00000000
--- a/build/documentation/api/js/prettify/lang-xq.js
+++ /dev/null
@@ -1,3 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["var pln",/^\$[\w-]+/,null,"$"]],[["pln",/^[\s=][<>][\s=]/],["lit",/^@[\w-]+/],["tag",/^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["com",/^\(:[\S\s]*?:\)/],["pln",/^[(),/;[\]{}]$/],["str",/^(?:"(?:[^"\\{]|\\[\S\s])*(?:"|$)|'(?:[^'\\{]|\\[\S\s])*(?:'|$))/,null,"\"'"],["kwd",/^(?:xquery|where|version|variable|union|typeswitch|treat|to|then|text|stable|sortby|some|self|schema|satisfies|returns|return|ref|processing-instruction|preceding-sibling|preceding|precedes|parent|only|of|node|namespace|module|let|item|intersect|instance|in|import|if|function|for|follows|following-sibling|following|external|except|every|else|element|descending|descendant-or-self|descendant|define|default|declare|comment|child|cast|case|before|attribute|assert|ascending|as|ancestor-or-self|ancestor|after|eq|order|by|or|and|schema-element|document-node|node|at)\b/],
-["typ",/^(?:xs:yearMonthDuration|xs:unsignedLong|xs:time|xs:string|xs:short|xs:QName|xs:Name|xs:long|xs:integer|xs:int|xs:gYearMonth|xs:gYear|xs:gMonthDay|xs:gDay|xs:float|xs:duration|xs:double|xs:decimal|xs:dayTimeDuration|xs:dateTime|xs:date|xs:byte|xs:boolean|xs:anyURI|xf:yearMonthDuration)\b/,null],["fun pln",/^(?:xp:dereference|xinc:node-expand|xinc:link-references|xinc:link-expand|xhtml:restructure|xhtml:clean|xhtml:add-lists|xdmp:zip-manifest|xdmp:zip-get|xdmp:zip-create|xdmp:xquery-version|xdmp:word-convert|xdmp:with-namespaces|xdmp:version|xdmp:value|xdmp:user-roles|xdmp:user-last-login|xdmp:user|xdmp:url-encode|xdmp:url-decode|xdmp:uri-is-file|xdmp:uri-format|xdmp:uri-content-type|xdmp:unquote|xdmp:unpath|xdmp:triggers-database|xdmp:trace|xdmp:to-json|xdmp:tidy|xdmp:subbinary|xdmp:strftime|xdmp:spawn-in|xdmp:spawn|xdmp:sleep|xdmp:shutdown|xdmp:set-session-field|xdmp:set-response-encoding|xdmp:set-response-content-type|xdmp:set-response-code|xdmp:set-request-time-limit|xdmp:set|xdmp:servers|xdmp:server-status|xdmp:server-name|xdmp:server|xdmp:security-database|xdmp:security-assert|xdmp:schema-database|xdmp:save|xdmp:role-roles|xdmp:role|xdmp:rethrow|xdmp:restart|xdmp:request-timestamp|xdmp:request-status|xdmp:request-cancel|xdmp:request|xdmp:redirect-response|xdmp:random|xdmp:quote|xdmp:query-trace|xdmp:query-meters|xdmp:product-edition|xdmp:privilege-roles|xdmp:privilege|xdmp:pretty-print|xdmp:powerpoint-convert|xdmp:platform|xdmp:permission|xdmp:pdf-convert|xdmp:path|xdmp:octal-to-integer|xdmp:node-uri|xdmp:node-replace|xdmp:node-kind|xdmp:node-insert-child|xdmp:node-insert-before|xdmp:node-insert-after|xdmp:node-delete|xdmp:node-database|xdmp:mul64|xdmp:modules-root|xdmp:modules-database|xdmp:merging|xdmp:merge-cancel|xdmp:merge|xdmp:md5|xdmp:logout|xdmp:login|xdmp:log-level|xdmp:log|xdmp:lock-release|xdmp:lock-acquire|xdmp:load|xdmp:invoke-in|xdmp:invoke|xdmp:integer-to-octal|xdmp:integer-to-hex|xdmp:http-put|xdmp:http-post|xdmp:http-options|xdmp:http-head|xdmp:http-get|xdmp:http-delete|xdmp:hosts|xdmp:host-status|xdmp:host-name|xdmp:host|xdmp:hex-to-integer|xdmp:hash64|xdmp:hash32|xdmp:has-privilege|xdmp:groups|xdmp:group-serves|xdmp:group-servers|xdmp:group-name|xdmp:group-hosts|xdmp:group|xdmp:get-session-field-names|xdmp:get-session-field|xdmp:get-response-encoding|xdmp:get-response-code|xdmp:get-request-username|xdmp:get-request-user|xdmp:get-request-url|xdmp:get-request-protocol|xdmp:get-request-path|xdmp:get-request-method|xdmp:get-request-header-names|xdmp:get-request-header|xdmp:get-request-field-names|xdmp:get-request-field-filename|xdmp:get-request-field-content-type|xdmp:get-request-field|xdmp:get-request-client-certificate|xdmp:get-request-client-address|xdmp:get-request-body|xdmp:get-current-user|xdmp:get-current-roles|xdmp:get|xdmp:function-name|xdmp:function-module|xdmp:function|xdmp:from-json|xdmp:forests|xdmp:forest-status|xdmp:forest-restore|xdmp:forest-restart|xdmp:forest-name|xdmp:forest-delete|xdmp:forest-databases|xdmp:forest-counts|xdmp:forest-clear|xdmp:forest-backup|xdmp:forest|xdmp:filesystem-file|xdmp:filesystem-directory|xdmp:exists|xdmp:excel-convert|xdmp:eval-in|xdmp:eval|xdmp:estimate|xdmp:email|xdmp:element-content-type|xdmp:elapsed-time|xdmp:document-set-quality|xdmp:document-set-property|xdmp:document-set-properties|xdmp:document-set-permissions|xdmp:document-set-collections|xdmp:document-remove-properties|xdmp:document-remove-permissions|xdmp:document-remove-collections|xdmp:document-properties|xdmp:document-locks|xdmp:document-load|xdmp:document-insert|xdmp:document-get-quality|xdmp:document-get-properties|xdmp:document-get-permissions|xdmp:document-get-collections|xdmp:document-get|xdmp:document-forest|xdmp:document-delete|xdmp:document-add-properties|xdmp:document-add-permissions|xdmp:document-add-collections|xdmp:directory-properties|xdmp:directory-locks|xdmp:directory-delete|xdmp:directory-create|xdmp:directory|xdmp:diacritic-less|xdmp:describe|xdmp:default-permissions|xdmp:default-collections|xdmp:databases|xdmp:database-restore-validate|xdmp:database-restore-status|xdmp:database-restore-cancel|xdmp:database-restore|xdmp:database-name|xdmp:database-forests|xdmp:database-backup-validate|xdmp:database-backup-status|xdmp:database-backup-purge|xdmp:database-backup-cancel|xdmp:database-backup|xdmp:database|xdmp:collection-properties|xdmp:collection-locks|xdmp:collection-delete|xdmp:collation-canonical-uri|xdmp:castable-as|xdmp:can-grant-roles|xdmp:base64-encode|xdmp:base64-decode|xdmp:architecture|xdmp:apply|xdmp:amp-roles|xdmp:amp|xdmp:add64|xdmp:add-response-header|xdmp:access|trgr:trigger-set-recursive|trgr:trigger-set-permissions|trgr:trigger-set-name|trgr:trigger-set-module|trgr:trigger-set-event|trgr:trigger-set-description|trgr:trigger-remove-permissions|trgr:trigger-module|trgr:trigger-get-permissions|trgr:trigger-enable|trgr:trigger-disable|trgr:trigger-database-online-event|trgr:trigger-data-event|trgr:trigger-add-permissions|trgr:remove-trigger|trgr:property-content|trgr:pre-commit|trgr:post-commit|trgr:get-trigger-by-id|trgr:get-trigger|trgr:document-scope|trgr:document-content|trgr:directory-scope|trgr:create-trigger|trgr:collection-scope|trgr:any-property-content|thsr:set-entry|thsr:remove-term|thsr:remove-synonym|thsr:remove-entry|thsr:query-lookup|thsr:lookup|thsr:load|thsr:insert|thsr:expand|thsr:add-synonym|spell:suggest-detailed|spell:suggest|spell:remove-word|spell:make-dictionary|spell:load|spell:levenshtein-distance|spell:is-correct|spell:insert|spell:double-metaphone|spell:add-word|sec:users-collection|sec:user-set-roles|sec:user-set-password|sec:user-set-name|sec:user-set-description|sec:user-set-default-permissions|sec:user-set-default-collections|sec:user-remove-roles|sec:user-privileges|sec:user-get-roles|sec:user-get-description|sec:user-get-default-permissions|sec:user-get-default-collections|sec:user-doc-permissions|sec:user-doc-collections|sec:user-add-roles|sec:unprotect-collection|sec:uid-for-name|sec:set-realm|sec:security-version|sec:security-namespace|sec:security-installed|sec:security-collection|sec:roles-collection|sec:role-set-roles|sec:role-set-name|sec:role-set-description|sec:role-set-default-permissions|sec:role-set-default-collections|sec:role-remove-roles|sec:role-privileges|sec:role-get-roles|sec:role-get-description|sec:role-get-default-permissions|sec:role-get-default-collections|sec:role-doc-permissions|sec:role-doc-collections|sec:role-add-roles|sec:remove-user|sec:remove-role-from-users|sec:remove-role-from-role|sec:remove-role-from-privileges|sec:remove-role-from-amps|sec:remove-role|sec:remove-privilege|sec:remove-amp|sec:protect-collection|sec:privileges-collection|sec:privilege-set-roles|sec:privilege-set-name|sec:privilege-remove-roles|sec:privilege-get-roles|sec:privilege-add-roles|sec:priv-doc-permissions|sec:priv-doc-collections|sec:get-user-names|sec:get-unique-elem-id|sec:get-role-names|sec:get-role-ids|sec:get-privilege|sec:get-distinct-permissions|sec:get-collection|sec:get-amp|sec:create-user-with-role|sec:create-user|sec:create-role|sec:create-privilege|sec:create-amp|sec:collections-collection|sec:collection-set-permissions|sec:collection-remove-permissions|sec:collection-get-permissions|sec:collection-add-permissions|sec:check-admin|sec:amps-collection|sec:amp-set-roles|sec:amp-remove-roles|sec:amp-get-roles|sec:amp-doc-permissions|sec:amp-doc-collections|sec:amp-add-roles|search:unparse|search:suggest|search:snippet|search:search|search:resolve-nodes|search:resolve|search:remove-constraint|search:parse|search:get-default-options|search:estimate|search:check-options|prof:value|prof:reset|prof:report|prof:invoke|prof:eval|prof:enable|prof:disable|prof:allowed|ppt:clean|pki:template-set-request|pki:template-set-name|pki:template-set-key-type|pki:template-set-key-options|pki:template-set-description|pki:template-in-use|pki:template-get-version|pki:template-get-request|pki:template-get-name|pki:template-get-key-type|pki:template-get-key-options|pki:template-get-id|pki:template-get-description|pki:need-certificate|pki:is-temporary|pki:insert-trusted-certificates|pki:insert-template|pki:insert-signed-certificates|pki:insert-certificate-revocation-list|pki:get-trusted-certificate-ids|pki:get-template-ids|pki:get-template-certificate-authority|pki:get-template-by-name|pki:get-template|pki:get-pending-certificate-requests-xml|pki:get-pending-certificate-requests-pem|pki:get-pending-certificate-request|pki:get-certificates-for-template-xml|pki:get-certificates-for-template|pki:get-certificates|pki:get-certificate-xml|pki:get-certificate-pem|pki:get-certificate|pki:generate-temporary-certificate-if-necessary|pki:generate-temporary-certificate|pki:generate-template-certificate-authority|pki:generate-certificate-request|pki:delete-template|pki:delete-certificate|pki:create-template|pdf:make-toc|pdf:insert-toc-headers|pdf:get-toc|pdf:clean|p:status-transition|p:state-transition|p:remove|p:pipelines|p:insert|p:get-by-id|p:get|p:execute|p:create|p:condition|p:collection|p:action|ooxml:runs-merge|ooxml:package-uris|ooxml:package-parts-insert|ooxml:package-parts|msword:clean|mcgm:polygon|mcgm:point|mcgm:geospatial-query-from-elements|mcgm:geospatial-query|mcgm:circle|math:tanh|math:tan|math:sqrt|math:sinh|math:sin|math:pow|math:modf|math:log10|math:log|math:ldexp|math:frexp|math:fmod|math:floor|math:fabs|math:exp|math:cosh|math:cos|math:ceil|math:atan2|math:atan|math:asin|math:acos|map:put|map:map|map:keys|map:get|map:delete|map:count|map:clear|lnk:to|lnk:remove|lnk:insert|lnk:get|lnk:from|lnk:create|kml:polygon|kml:point|kml:interior-polygon|kml:geospatial-query-from-elements|kml:geospatial-query|kml:circle|kml:box|gml:polygon|gml:point|gml:interior-polygon|gml:geospatial-query-from-elements|gml:geospatial-query|gml:circle|gml:box|georss:point|georss:geospatial-query|georss:circle|geo:polygon|geo:point|geo:interior-polygon|geo:geospatial-query-from-elements|geo:geospatial-query|geo:circle|geo:box|fn:zero-or-one|fn:years-from-duration|fn:year-from-dateTime|fn:year-from-date|fn:upper-case|fn:unordered|fn:true|fn:translate|fn:trace|fn:tokenize|fn:timezone-from-time|fn:timezone-from-dateTime|fn:timezone-from-date|fn:sum|fn:subtract-dateTimes-yielding-yearMonthDuration|fn:subtract-dateTimes-yielding-dayTimeDuration|fn:substring-before|fn:substring-after|fn:substring|fn:subsequence|fn:string-to-codepoints|fn:string-pad|fn:string-length|fn:string-join|fn:string|fn:static-base-uri|fn:starts-with|fn:seconds-from-time|fn:seconds-from-duration|fn:seconds-from-dateTime|fn:round-half-to-even|fn:round|fn:root|fn:reverse|fn:resolve-uri|fn:resolve-QName|fn:replace|fn:remove|fn:QName|fn:prefix-from-QName|fn:position|fn:one-or-more|fn:number|fn:not|fn:normalize-unicode|fn:normalize-space|fn:node-name|fn:node-kind|fn:nilled|fn:namespace-uri-from-QName|fn:namespace-uri-for-prefix|fn:namespace-uri|fn:name|fn:months-from-duration|fn:month-from-dateTime|fn:month-from-date|fn:minutes-from-time|fn:minutes-from-duration|fn:minutes-from-dateTime|fn:min|fn:max|fn:matches|fn:lower-case|fn:local-name-from-QName|fn:local-name|fn:last|fn:lang|fn:iri-to-uri|fn:insert-before|fn:index-of|fn:in-scope-prefixes|fn:implicit-timezone|fn:idref|fn:id|fn:hours-from-time|fn:hours-from-duration|fn:hours-from-dateTime|fn:floor|fn:false|fn:expanded-QName|fn:exists|fn:exactly-one|fn:escape-uri|fn:escape-html-uri|fn:error|fn:ends-with|fn:encode-for-uri|fn:empty|fn:document-uri|fn:doc-available|fn:doc|fn:distinct-values|fn:distinct-nodes|fn:default-collation|fn:deep-equal|fn:days-from-duration|fn:day-from-dateTime|fn:day-from-date|fn:data|fn:current-time|fn:current-dateTime|fn:current-date|fn:count|fn:contains|fn:concat|fn:compare|fn:collection|fn:codepoints-to-string|fn:codepoint-equal|fn:ceiling|fn:boolean|fn:base-uri|fn:avg|fn:adjust-time-to-timezone|fn:adjust-dateTime-to-timezone|fn:adjust-date-to-timezone|fn:abs|feed:unsubscribe|feed:subscription|feed:subscribe|feed:request|feed:item|feed:description|excel:clean|entity:enrich|dom:set-pipelines|dom:set-permissions|dom:set-name|dom:set-evaluation-context|dom:set-domain-scope|dom:set-description|dom:remove-pipeline|dom:remove-permissions|dom:remove|dom:get|dom:evaluation-context|dom:domains|dom:domain-scope|dom:create|dom:configuration-set-restart-user|dom:configuration-set-permissions|dom:configuration-set-evaluation-context|dom:configuration-set-default-domain|dom:configuration-get|dom:configuration-create|dom:collection|dom:add-pipeline|dom:add-permissions|dls:retention-rules|dls:retention-rule-remove|dls:retention-rule-insert|dls:retention-rule|dls:purge|dls:node-expand|dls:link-references|dls:link-expand|dls:documents-query|dls:document-versions-query|dls:document-version-uri|dls:document-version-query|dls:document-version-delete|dls:document-version-as-of|dls:document-version|dls:document-update|dls:document-unmanage|dls:document-set-quality|dls:document-set-property|dls:document-set-properties|dls:document-set-permissions|dls:document-set-collections|dls:document-retention-rules|dls:document-remove-properties|dls:document-remove-permissions|dls:document-remove-collections|dls:document-purge|dls:document-manage|dls:document-is-managed|dls:document-insert-and-manage|dls:document-include-query|dls:document-history|dls:document-get-permissions|dls:document-extract-part|dls:document-delete|dls:document-checkout-status|dls:document-checkout|dls:document-checkin|dls:document-add-properties|dls:document-add-permissions|dls:document-add-collections|dls:break-checkout|dls:author-query|dls:as-of-query|dbk:convert|dbg:wait|dbg:value|dbg:stopped|dbg:stop|dbg:step|dbg:status|dbg:stack|dbg:out|dbg:next|dbg:line|dbg:invoke|dbg:function|dbg:finish|dbg:expr|dbg:eval|dbg:disconnect|dbg:detach|dbg:continue|dbg:connect|dbg:clear|dbg:breakpoints|dbg:break|dbg:attached|dbg:attach|cvt:save-converted-documents|cvt:part-uri|cvt:destination-uri|cvt:basepath|cvt:basename|cts:words|cts:word-query-weight|cts:word-query-text|cts:word-query-options|cts:word-query|cts:word-match|cts:walk|cts:uris|cts:uri-match|cts:train|cts:tokenize|cts:thresholds|cts:stem|cts:similar-query-weight|cts:similar-query-nodes|cts:similar-query|cts:shortest-distance|cts:search|cts:score|cts:reverse-query-weight|cts:reverse-query-nodes|cts:reverse-query|cts:remainder|cts:registered-query-weight|cts:registered-query-options|cts:registered-query-ids|cts:registered-query|cts:register|cts:query|cts:quality|cts:properties-query-query|cts:properties-query|cts:polygon-vertices|cts:polygon|cts:point-longitude|cts:point-latitude|cts:point|cts:or-query-queries|cts:or-query|cts:not-query-weight|cts:not-query-query|cts:not-query|cts:near-query-weight|cts:near-query-queries|cts:near-query-options|cts:near-query-distance|cts:near-query|cts:highlight|cts:geospatial-co-occurrences|cts:frequency|cts:fitness|cts:field-words|cts:field-word-query-weight|cts:field-word-query-text|cts:field-word-query-options|cts:field-word-query-field-name|cts:field-word-query|cts:field-word-match|cts:entity-highlight|cts:element-words|cts:element-word-query-weight|cts:element-word-query-text|cts:element-word-query-options|cts:element-word-query-element-name|cts:element-word-query|cts:element-word-match|cts:element-values|cts:element-value-ranges|cts:element-value-query-weight|cts:element-value-query-text|cts:element-value-query-options|cts:element-value-query-element-name|cts:element-value-query|cts:element-value-match|cts:element-value-geospatial-co-occurrences|cts:element-value-co-occurrences|cts:element-range-query-weight|cts:element-range-query-value|cts:element-range-query-options|cts:element-range-query-operator|cts:element-range-query-element-name|cts:element-range-query|cts:element-query-query|cts:element-query-element-name|cts:element-query|cts:element-pair-geospatial-values|cts:element-pair-geospatial-value-match|cts:element-pair-geospatial-query-weight|cts:element-pair-geospatial-query-region|cts:element-pair-geospatial-query-options|cts:element-pair-geospatial-query-longitude-name|cts:element-pair-geospatial-query-latitude-name|cts:element-pair-geospatial-query-element-name|cts:element-pair-geospatial-query|cts:element-pair-geospatial-boxes|cts:element-geospatial-values|cts:element-geospatial-value-match|cts:element-geospatial-query-weight|cts:element-geospatial-query-region|cts:element-geospatial-query-options|cts:element-geospatial-query-element-name|cts:element-geospatial-query|cts:element-geospatial-boxes|cts:element-child-geospatial-values|cts:element-child-geospatial-value-match|cts:element-child-geospatial-query-weight|cts:element-child-geospatial-query-region|cts:element-child-geospatial-query-options|cts:element-child-geospatial-query-element-name|cts:element-child-geospatial-query-child-name|cts:element-child-geospatial-query|cts:element-child-geospatial-boxes|cts:element-attribute-words|cts:element-attribute-word-query-weight|cts:element-attribute-word-query-text|cts:element-attribute-word-query-options|cts:element-attribute-word-query-element-name|cts:element-attribute-word-query-attribute-name|cts:element-attribute-word-query|cts:element-attribute-word-match|cts:element-attribute-values|cts:element-attribute-value-ranges|cts:element-attribute-value-query-weight|cts:element-attribute-value-query-text|cts:element-attribute-value-query-options|cts:element-attribute-value-query-element-name|cts:element-attribute-value-query-attribute-name|cts:element-attribute-value-query|cts:element-attribute-value-match|cts:element-attribute-value-geospatial-co-occurrences|cts:element-attribute-value-co-occurrences|cts:element-attribute-range-query-weight|cts:element-attribute-range-query-value|cts:element-attribute-range-query-options|cts:element-attribute-range-query-operator|cts:element-attribute-range-query-element-name|cts:element-attribute-range-query-attribute-name|cts:element-attribute-range-query|cts:element-attribute-pair-geospatial-values|cts:element-attribute-pair-geospatial-value-match|cts:element-attribute-pair-geospatial-query-weight|cts:element-attribute-pair-geospatial-query-region|cts:element-attribute-pair-geospatial-query-options|cts:element-attribute-pair-geospatial-query-longitude-name|cts:element-attribute-pair-geospatial-query-latitude-name|cts:element-attribute-pair-geospatial-query-element-name|cts:element-attribute-pair-geospatial-query|cts:element-attribute-pair-geospatial-boxes|cts:document-query-uris|cts:document-query|cts:distance|cts:directory-query-uris|cts:directory-query-depth|cts:directory-query|cts:destination|cts:deregister|cts:contains|cts:confidence|cts:collections|cts:collection-query-uris|cts:collection-query|cts:collection-match|cts:classify|cts:circle-radius|cts:circle-center|cts:circle|cts:box-west|cts:box-south|cts:box-north|cts:box-east|cts:box|cts:bearing|cts:arc-intersection|cts:and-query-queries|cts:and-query-options|cts:and-query|cts:and-not-query-positive-query|cts:and-not-query-negative-query|cts:and-not-query|css:get|css:convert|cpf:success|cpf:failure|cpf:document-set-state|cpf:document-set-processing-status|cpf:document-set-last-updated|cpf:document-set-error|cpf:document-get-state|cpf:document-get-processing-status|cpf:document-get-last-updated|cpf:document-get-error|cpf:check-transition|alert:spawn-matching-actions|alert:rule-user-id-query|alert:rule-set-user-id|alert:rule-set-query|alert:rule-set-options|alert:rule-set-name|alert:rule-set-description|alert:rule-set-action|alert:rule-remove|alert:rule-name-query|alert:rule-insert|alert:rule-id-query|alert:rule-get-user-id|alert:rule-get-query|alert:rule-get-options|alert:rule-get-name|alert:rule-get-id|alert:rule-get-description|alert:rule-get-action|alert:rule-action-query|alert:remove-triggers|alert:make-rule|alert:make-log-action|alert:make-config|alert:make-action|alert:invoke-matching-actions|alert:get-my-rules|alert:get-all-rules|alert:get-actions|alert:find-matching-rules|alert:create-triggers|alert:config-set-uri|alert:config-set-trigger-ids|alert:config-set-options|alert:config-set-name|alert:config-set-description|alert:config-set-cpf-domain-names|alert:config-set-cpf-domain-ids|alert:config-insert|alert:config-get-uri|alert:config-get-trigger-ids|alert:config-get-options|alert:config-get-name|alert:config-get-id|alert:config-get-description|alert:config-get-cpf-domain-names|alert:config-get-cpf-domain-ids|alert:config-get|alert:config-delete|alert:action-set-options|alert:action-set-name|alert:action-set-module-root|alert:action-set-module-db|alert:action-set-module|alert:action-set-description|alert:action-remove|alert:action-insert|alert:action-get-options|alert:action-get-name|alert:action-get-module-root|alert:action-get-module-db|alert:action-get-module|alert:action-get-description|zero-or-one|years-from-duration|year-from-dateTime|year-from-date|upper-case|unordered|true|translate|trace|tokenize|timezone-from-time|timezone-from-dateTime|timezone-from-date|sum|subtract-dateTimes-yielding-yearMonthDuration|subtract-dateTimes-yielding-dayTimeDuration|substring-before|substring-after|substring|subsequence|string-to-codepoints|string-pad|string-length|string-join|string|static-base-uri|starts-with|seconds-from-time|seconds-from-duration|seconds-from-dateTime|round-half-to-even|round|root|reverse|resolve-uri|resolve-QName|replace|remove|QName|prefix-from-QName|position|one-or-more|number|not|normalize-unicode|normalize-space|node-name|node-kind|nilled|namespace-uri-from-QName|namespace-uri-for-prefix|namespace-uri|name|months-from-duration|month-from-dateTime|month-from-date|minutes-from-time|minutes-from-duration|minutes-from-dateTime|min|max|matches|lower-case|local-name-from-QName|local-name|last|lang|iri-to-uri|insert-before|index-of|in-scope-prefixes|implicit-timezone|idref|id|hours-from-time|hours-from-duration|hours-from-dateTime|floor|false|expanded-QName|exists|exactly-one|escape-uri|escape-html-uri|error|ends-with|encode-for-uri|empty|document-uri|doc-available|doc|distinct-values|distinct-nodes|default-collation|deep-equal|days-from-duration|day-from-dateTime|day-from-date|data|current-time|current-dateTime|current-date|count|contains|concat|compare|collection|codepoints-to-string|codepoint-equal|ceiling|boolean|base-uri|avg|adjust-time-to-timezone|adjust-dateTime-to-timezone|adjust-date-to-timezone|abs)\b/],
-["pln",/^[\w:-]+/],["pln",/^[\t\n\r \xa0]+/]]),["xq","xquery"]);
diff --git a/build/documentation/api/js/prettify/lang-yaml.js b/build/documentation/api/js/prettify/lang-yaml.js
deleted file mode 100644
index c38729b6..00000000
--- a/build/documentation/api/js/prettify/lang-yaml.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var a=null;
-PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]);
diff --git a/build/documentation/api/js/prettify/prettify.min.js b/build/documentation/api/js/prettify/prettify.min.js
deleted file mode 100644
index eef5ad7e..00000000
--- a/build/documentation/api/js/prettify/prettify.min.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
-(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
-[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
-f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
-(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
-{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
-t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
-"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
-l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
-q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
-q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
-"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
-a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
-for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
-m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
-a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
-j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
-"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
-H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
-J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
-I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
-["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
-/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
-["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
-hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
-!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
-250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
-PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
diff --git a/build/documentation/api/js/sidebar.js b/build/documentation/api/js/sidebar.js
deleted file mode 100644
index e9096fff..00000000
--- a/build/documentation/api/js/sidebar.js
+++ /dev/null
@@ -1,45 +0,0 @@
-jQuery.expr[':'].Contains = function(a, i, m) {
- return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
-};
-
-$(function() {
- $("#sidebar-nav").accordion({
- autoHeight: false,
- navigation: true,
- collapsible: true
- }).accordion("activate", false)
- .find('a.link').unbind('click').click(
- function(ev) {
- ev.cancelBubble = true; // IE
- if (ev.stopPropagation) {
- ev.stopPropagation(); // the rest
- }
-
- return true;
- }).prev().prev().remove();
-
- $("#sidebar-nav>h3").click(function() {
- if ($(this).attr('initialized') == 'true') return;
-
- $(this).next().find(".sidebar-nav-tree").treeview({
- collapsed: true,
- persist: "cookie"
- });
- $(this).attr('initialized', true);
- });
-});
-
-function tree_search(input) {
- treeview = $(input).parent().parent().next();
-
- // Expand all items
- treeview.find('.expandable-hitarea').click();
-
- // make all items visible again
- treeview.find('li:hidden').show();
-
- // hide all items that do not match the given search criteria
- if ($(input).val()) {
- treeview.find('li').not(':has(a:Contains(' + $(input).val() + '))').hide();
- }
-}
diff --git a/build/documentation/api/js/template.js b/build/documentation/api/js/template.js
deleted file mode 100644
index 3da48f38..00000000
--- a/build/documentation/api/js/template.js
+++ /dev/null
@@ -1,248 +0,0 @@
-$.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
-$.browser.ipad = /ipad/.test(navigator.userAgent.toLowerCase());
-
-/**
- * Initializes page contents for progressive enhancement.
- */
-function initializeContents()
-{
- // hide all more buttons because they are not needed with JS
- $(".element a.more").hide();
-
- $(".clickable.class,.clickable.interface,.clickable.trait").click(function() {
- document.location = $("a.more", this).attr('href');
- });
-
- // change the cursor to a pointer to make it more explicit that this it clickable
- // do a background color change on hover to emphasize the clickability eveb more
- // we do not use CSS for this because when JS is disabled this behaviour does not
- // apply and we do not want the hover
- $(".element.method,.element.function,.element.class.clickable,.element.interface.clickable,.element.trait.clickable,.element.property.clickable")
- .css("cursor", "pointer")
- .hover(function() {
- $(this).css('backgroundColor', '#F8FDF6')
- }, function(){
- $(this).css('backgroundColor', 'white')}
- );
-
- $("ul.side-nav.nav.nav-list li.nav-header").contents()
- .filter(function(){return this.nodeType == 3 && $.trim($(this).text()).length > 0})
- .wrap('<span class="side-nav-header" />');
-
- $("ul.side-nav.nav.nav-list li.nav-header span.side-nav-header")
- .css("cursor", "pointer");
-
- // do not show tooltips on iPad; it will cause the user having to click twice
- if (!$.browser.ipad) {
- $('.btn-group.visibility,.btn-group.view,.btn-group.type-filter,.icon-custom')
- .tooltip({'placement':'bottom'});
- $('.element').tooltip({'placement':'left'});
- }
-
- $('.btn-group.visibility,.btn-group.view,.btn-group.type-filter')
- .show()
- .css('display', 'inline-block')
- .find('button')
- .find('i').click(function(){ $(this).parent().click(); });
-
- // set the events for the visibility buttons and enable by default.
- function toggleVisibility(event)
- {
- // because the active class is toggled _after_ this event we toggle it for the duration of this event. This
- // will make the next piece of code generic
- if (event) {
- $(this).toggleClass('active');
- }
-
- $('.element.public,.side-nav li.public').toggle($('.visibility button.public').hasClass('active'));
- $('.element.protected,.side-nav li.protected').toggle($('.visibility button.protected').hasClass('active'));
- $('.element.private,.side-nav li.private').toggle($('.visibility button.private').hasClass('active'));
- $('.element.public.inherited,.side-nav li.public.inherited').toggle(
- $('.visibility button.public').hasClass('active') && $('.visibility button.inherited').hasClass('active')
- );
- $('.element.protected.inherited,.side-nav li.protected.inherited').toggle(
- $('.visibility button.protected').hasClass('active') && $('.visibility button.inherited').hasClass('active')
- );
- $('.element.private.inherited,.side-nav li.private.inherited').toggle(
- $('.visibility button.private').hasClass('active') && $('.visibility button.inherited').hasClass('active')
- );
-
- // and untoggle the active class again so that bootstrap's default handling keeps working
- if (event) {
- $(this).toggleClass('active');
- }
- }
- $('.visibility button.public').on("click", toggleVisibility);
- $('.visibility button.protected').on("click", toggleVisibility);
- $('.visibility button.private').on("click", toggleVisibility);
- $('.visibility button.inherited').on("click", toggleVisibility);
- toggleVisibility();
-
- $('.type-filter button.critical').click(function() {
- packageContentDivs = $('.package-contents');
- packageContentDivs.show();
- $('tr.critical').toggle($(this).hasClass('active'));
- packageContentDivs.each(function() {
- var rowCount = $(this).find('tbody tr:visible').length;
-
- $(this).find('.badge-info').html(rowCount);
- $(this).toggle(rowCount > 0);
- });
- });
- $('.type-filter button.error').click(function(){
- packageContentDivs = $('.package-contents');
- packageContentDivs.show();
- $('tr.error').toggle($(this).hasClass('active'));
- packageContentDivs.each(function() {
- var rowCount = $(this).find('tbody tr:visible').length;
-
- $(this).find('.badge-info').html(rowCount);
- $(this).toggle(rowCount > 0);
- });
- });
- $('.type-filter button.notice').click(function(){
- packageContentDivs = $('.package-contents');
- packageContentDivs.show();
- $('tr.notice').toggle($(this).hasClass('active'));
- packageContentDivs.each(function() {
- var rowCount = $(this).find('tbody tr:visible').length;
-
- $(this).find('.badge-info').html(rowCount);
- $(this).toggle(rowCount > 0);
- });
- });
-
- $('.view button.details').click(function(){
- $('.side-nav li.view-simple').removeClass('view-simple');
- }).button('toggle').click();
-
- $('.view button.simple').click(function(){
- $('.side-nav li').addClass('view-simple');
- });
-
- $('ul.side-nav.nav.nav-list li.nav-header span.side-nav-header').click(function(){
- $(this).siblings('ul').collapse('toggle');
- });
-
-// sorting example
-// $('ol li').sort(
-// function(a, b) { return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1; }
-// ).appendTo('ol');
-}
-
-$(document).ready(function() {
- prettyPrint();
-
- initializeContents();
-
- // do not show tooltips on iPad; it will cause the user having to click twice
- if(!$.browser.ipad) {
- $(".side-nav a").tooltip({'placement': 'top'});
- }
-
- // chrome cannot deal with certain situations; warn the user about reduced features
- if ($.browser.chrome && (window.location.protocol == 'file:')) {
- $("body > .container").prepend(
- '<div class="alert alert-error"><a class="close" data-dismiss="alert">×</a>' +
- 'You are using Google Chrome in a local environment; AJAX interaction has been ' +
- 'disabled because Chrome cannot <a href="http://code.google.com/p/chromium/issues/detail?id=40787">' +
- 'retrieve files using Ajax</a>.</div>'
- );
- }
-
- $('ul.nav-namespaces li a, ul.nav-packages li a').click(function(){
- // Google Chrome does not do Ajax locally
- if ($.browser.chrome && (window.location.protocol == 'file:'))
- {
- return true;
- }
-
- $(this).parents('.side-nav').find('.active').removeClass('active');
- $(this).parent().addClass('active');
- $('div.namespace-contents').load(
- this.href + ' div.namespace-contents', function(){
- initializeContents();
- $(window).scrollTop($('div.namespace-contents').position().top);
- }
- );
- $('div.package-contents').load(
- this.href + ' div.package-contents', function(){
- initializeContents();
- $(window).scrollTop($('div.package-contents').position().top);
- }
- );
-
- return false;
- });
-
- function filterPath(string)
- {
- return string
- .replace(/^\//, '')
- .replace(/(index|default).[a-zA-Z]{3,4}$/, '')
- .replace(/\/$/, '');
- }
-
- var locationPath = filterPath(location.pathname);
-
- // the ipad already smoothly scrolls and does not detect the scrollable
- // element if top=0; as such we disable this behaviour for the iPad
- if (!$.browser.ipad) {
- $('a[href*=#]').each(function ()
- {
- var thisPath = filterPath(this.pathname) || locationPath;
- if (locationPath == thisPath && (location.hostname == this.hostname || !this.hostname) && this.hash.replace(/#/, ''))
- {
- var target = decodeURIComponent(this.hash.replace(/#/,''));
- // note: I'm using attribute selector, because id selector can't match elements with '$'
- var $target = $('[id="'+target+'"]');
-
- if ($target.length > 0)
- {
- $(this).click(function (event)
- {
- var scrollElem = scrollableElement('html', 'body');
- var targetOffset = $target.offset().top;
-
- event.preventDefault();
- $(scrollElem).animate({scrollTop:targetOffset}, 400, function ()
- {
- location.hash = target;
- });
- });
- }
- }
- });
- }
-
- // use the first element that is "scrollable"
- function scrollableElement(els)
- {
- for (var i = 0, argLength = arguments.length; i < argLength; i++)
- {
- var el = arguments[i], $scrollElement = $(el);
- if ($scrollElement.scrollTop() > 0)
- {
- return el;
- }
- else
- {
- $scrollElement.scrollTop(1);
- var isScrollable = $scrollElement.scrollTop() > 0;
- $scrollElement.scrollTop(0);
- if (isScrollable)
- {
- return el;
- }
- }
- }
- return [];
- }
-
- // Hide API Documentation menu if it's empty
- $('.nav .dropdown a[href=#api]').next().filter(function(el) {
- if ($(el).children().length == 0) {
- return true;
- }
- }).parent().hide();
-});
diff --git a/build/documentation/api/markers.html b/build/documentation/api/markers.html
deleted file mode 100644
index 36ed3df8..00000000
--- a/build/documentation/api/markers.html
+++ /dev/null
@@ -1,264 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; Markers
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="js/bootstrap.js" type="text/javascript"></script>
- <script src="js/template.js" type="text/javascript"></script>
- <script src="js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="img/favicon.ico"/>
- <link rel="apple-touch-icon" href="img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
- <div class="row">
- <div class="span4">
- <ul class="side-nav nav nav-list">
- <li class="nav-header">Navigation</li>
- <li><a href="#service/previewservice.php"><i class="icon-file"></i> service/previewservice.php</a></li>
- <li><a href="#service/searchmediaservice.php"><i class="icon-file"></i> service/searchmediaservice.php</a></li>
- <li><a href="#preview/preview.php"><i class="icon-file"></i> preview/preview.php</a></li>
- <li><a href="#environment/environment.php"><i class="icon-file"></i> environment/environment.php</a></li>
- <li><a href="#service/filesservice.php"><i class="icon-file"></i> service/filesservice.php</a></li>
- </ul>
- </div>
-
- <div class="span8">
-
- <ul class="breadcrumb">
- <li><a href="?"><i class="icon-map-marker"></i></a><span class="divider">\</span></li>
- <li>Markers</li>
- </ul>
-
-
- <div id="marker-accordion">
- <div class="package-contents">
- <a name="service/previewservice.php" id="service/previewservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/previewservice.php
- <span class="pull-right badge badge-info">3</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>TODO</td>
- <td>92</td>
- <td>Native SVG could be disabled via admin settings</td>
- </tr>
- <tr>
- <td>TODO</td>
- <td>160</td>
- <td>Get the max size from the settings</td>
- </tr>
- <tr>
- <td>TODO</td>
- <td>40</td>
- <td>This hard-coded array could be replaced by admin settings</td>
- </tr>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="service/searchmediaservice.php" id="service/searchmediaservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/searchmediaservice.php
- <span class="pull-right badge badge-info">1</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>TODO</td>
- <td>179</td>
- <td>We could potentially check if the file is readable ($file-&gt;stat() maybe) in order to
- only return valid files, but this may slow down operations</td>
- </tr>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="preview/preview.php" id="preview/preview.php"></a>
- <h3>
- <i class="icon-file"></i>
- preview/preview.php
- <span class="pull-right badge badge-info">2</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>TODO</td>
- <td>28</td>
- <td>On OC8.2, replace \OC\Preview with IPreview</td>
- </tr>
- <tr>
- <td>TODO</td>
- <td>175</td>
- <td>Need to read scaling setting from settings</td>
- </tr>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="environment/environment.php" id="environment/environment.php"></a>
- <h3>
- <i class="icon-file"></i>
- environment/environment.php
- <span class="pull-right badge badge-info">2</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>TODO</td>
- <td>127</td>
- <td>Replace with this in 8.2 (https://github.com/owncloud/core/pull/16965)</td>
- </tr>
- <tr>
- <td>TODO</td>
- <td>33</td>
- <td>remove the serverContainer once OCP\IUserManager has a getUserFolder() method</td>
- </tr>
- </table>
- </div>
- </div>
- <div class="package-contents">
- <a name="service/filesservice.php" id="service/filesservice.php"></a>
- <h3>
- <i class="icon-file"></i>
- service/filesservice.php
- <span class="pull-right badge badge-info">1</span>
- </h3>
- <div>
- <table class="table markers table-bordered">
- <tr>
- <th>Type</th>
- <th>Line</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>TODO</td>
- <td>190</td>
- <td>Test to see by how much using file_exists slows things down</td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.AppInfo.html b/build/documentation/api/namespaces/OCA.Gallery.AppInfo.html
deleted file mode 100644
index 28901ffd..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.AppInfo.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\AppInfo
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Application" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Application .collapse">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a> </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.Controller.html b/build/documentation/api/namespaces/OCA.Gallery.Controller.html
deleted file mode 100644
index f155d3de..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.Controller.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Controller
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_JsonHttpError" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_JsonHttpError .collapse">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a> </div>
-
- <div id="trait_PathManipulation" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_PathManipulation .collapse">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigController .collapse">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_FilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesController .collapse">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PageController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PageController .collapse">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewController .collapse">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicConfigController .collapse">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicFilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicFilesController .collapse">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicPreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicPreviewController .collapse">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a> </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.Environment.html b/build/documentation/api/namespaces/OCA.Gallery.Environment.html
deleted file mode 100644
index a2c7b336..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.Environment.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Environment
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Environment" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Environment .collapse">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a> </div>
-
- <div id="class_EnvironmentException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvironmentException .collapse">
- <h1>EnvironmentException<a href="../classes/OCA.Gallery.Environment.EnvironmentException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.EnvironmentException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundEnvException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundEnvException .collapse">
- <h1>NotFoundEnvException<a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html" class="more">« More »</a> </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.Http.html b/build/documentation/api/namespaces/OCA.Gallery.Http.html
deleted file mode 100644
index 31c0af87..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.Http.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Http
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_ImageResponse" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ImageResponse .collapse">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a> </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.Middleware.html b/build/documentation/api/namespaces/OCA.Gallery.Middleware.html
deleted file mode 100644
index 0a57a02a..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.Middleware.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Middleware
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_CheckException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckException .collapse">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a> </div>
-
- <div id="class_CheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckMiddleware .collapse">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_EnvCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvCheckMiddleware .collapse">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
- <p>Once all checks have been passed, the environment is ready to use</p>
- </div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_SharingCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SharingCheckMiddleware .collapse">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a> </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.Preview.html b/build/documentation/api/namespaces/OCA.Gallery.Preview.html
deleted file mode 100644
index f841f32a..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.Preview.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Preview
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Preview" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Preview .collapse">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a> </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.Service.html b/build/documentation/api/namespaces/OCA.Gallery.Service.html
deleted file mode 100644
index ffbd7723..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.Service.html
+++ /dev/null
@@ -1,274 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Service
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_Base64Encode" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_Base64Encode .collapse">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigParser" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigParser .collapse">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a> </div>
-
- <div id="class_ConfigService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigService .collapse">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">
- <p>Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</p>
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a> </div>
-
- <div id="class_DownloadService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_DownloadService .collapse">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a> </div>
-
- <div id="class_FilesService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesService .collapse">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a> </div>
-
- <div id="class_ForbiddenServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ForbiddenServiceException .collapse">
- <h1>ForbiddenServiceException<a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundServiceException .collapse">
- <h1>NotFoundServiceException<a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewService .collapse">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchFolderService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchFolderService .collapse">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchMediaService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchMediaService .collapse">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a> </div>
-
- <div id="class_Service" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Service .collapse">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a> </div>
-
- <div id="class_ServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ServiceException .collapse">
- <h1>ServiceException<a href="../classes/OCA.Gallery.Service.ServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_ThumbnailService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ThumbnailService .collapse">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a> </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.Gallery.html b/build/documentation/api/namespaces/OCA.Gallery.html
deleted file mode 100644
index 849d8add..00000000
--- a/build/documentation/api/namespaces/OCA.Gallery.html
+++ /dev/null
@@ -1,697 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.Gallery.html" title="Gallery">
- <i class="icon-th"></i> Gallery
- </a>
- <ul class="nav nav-list nav-namespaces">
-
- <li>
- <a href="OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_JsonHttpError" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_JsonHttpError .collapse">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a> </div>
-
- <div id="trait_PathManipulation" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_PathManipulation .collapse">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigController .collapse">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_FilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesController .collapse">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PageController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PageController .collapse">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewController .collapse">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicConfigController .collapse">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicFilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicFilesController .collapse">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicPreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicPreviewController .collapse">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_Base64Encode" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_Base64Encode .collapse">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigParser" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigParser .collapse">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a> </div>
-
- <div id="class_ConfigService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigService .collapse">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">
- <p>Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</p>
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a> </div>
-
- <div id="class_DownloadService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_DownloadService .collapse">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a> </div>
-
- <div id="class_FilesService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesService .collapse">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a> </div>
-
- <div id="class_ForbiddenServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ForbiddenServiceException .collapse">
- <h1>ForbiddenServiceException<a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundServiceException .collapse">
- <h1>NotFoundServiceException<a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewService .collapse">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchFolderService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchFolderService .collapse">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchMediaService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchMediaService .collapse">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a> </div>
-
- <div id="class_Service" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Service .collapse">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a> </div>
-
- <div id="class_ServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ServiceException .collapse">
- <h1>ServiceException<a href="../classes/OCA.Gallery.Service.ServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_ThumbnailService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ThumbnailService .collapse">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Environment" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Environment .collapse">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a> </div>
-
- <div id="class_EnvironmentException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvironmentException .collapse">
- <h1>EnvironmentException<a href="../classes/OCA.Gallery.Environment.EnvironmentException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.EnvironmentException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundEnvException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundEnvException .collapse">
- <h1>NotFoundEnvException<a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_ImageResponse" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ImageResponse .collapse">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_CheckException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckException .collapse">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a> </div>
-
- <div id="class_CheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckMiddleware .collapse">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_EnvCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvCheckMiddleware .collapse">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
- <p>Once all checks have been passed, the environment is ready to use</p>
- </div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_SharingCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SharingCheckMiddleware .collapse">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Preview" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Preview .collapse">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Application" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Application .collapse">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/OCA.html b/build/documentation/api/namespaces/OCA.html
deleted file mode 100644
index 1326b036..00000000
--- a/build/documentation/api/namespaces/OCA.html
+++ /dev/null
@@ -1,709 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/OCA.html" title="OCA">
- <i class="icon-th"></i> OCA
- </a>
- <ul class="nav nav-list nav-namespaces">
-
- <li>
- <a href="OCA.Gallery.html" title="Gallery">
- <i class="icon-th"></i> Gallery
- </a>
- <ul class="nav nav-list nav-namespaces">
-
- <li>
- <a href="OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
-
- </ul>
- </li>
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_JsonHttpError" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_JsonHttpError .collapse">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a> </div>
-
- <div id="trait_PathManipulation" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_PathManipulation .collapse">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigController .collapse">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_FilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesController .collapse">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PageController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PageController .collapse">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewController .collapse">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicConfigController .collapse">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicFilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicFilesController .collapse">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicPreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicPreviewController .collapse">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_Base64Encode" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_Base64Encode .collapse">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigParser" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigParser .collapse">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a> </div>
-
- <div id="class_ConfigService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigService .collapse">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">
- <p>Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</p>
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a> </div>
-
- <div id="class_DownloadService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_DownloadService .collapse">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a> </div>
-
- <div id="class_FilesService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesService .collapse">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a> </div>
-
- <div id="class_ForbiddenServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ForbiddenServiceException .collapse">
- <h1>ForbiddenServiceException<a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundServiceException .collapse">
- <h1>NotFoundServiceException<a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewService .collapse">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchFolderService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchFolderService .collapse">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchMediaService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchMediaService .collapse">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a> </div>
-
- <div id="class_Service" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Service .collapse">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a> </div>
-
- <div id="class_ServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ServiceException .collapse">
- <h1>ServiceException<a href="../classes/OCA.Gallery.Service.ServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_ThumbnailService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ThumbnailService .collapse">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Environment" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Environment .collapse">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a> </div>
-
- <div id="class_EnvironmentException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvironmentException .collapse">
- <h1>EnvironmentException<a href="../classes/OCA.Gallery.Environment.EnvironmentException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.EnvironmentException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundEnvException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundEnvException .collapse">
- <h1>NotFoundEnvException<a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_ImageResponse" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ImageResponse .collapse">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_CheckException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckException .collapse">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a> </div>
-
- <div id="class_CheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckMiddleware .collapse">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_EnvCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvCheckMiddleware .collapse">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
- <p>Once all checks have been passed, the environment is ready to use</p>
- </div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_SharingCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SharingCheckMiddleware .collapse">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Preview" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Preview .collapse">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../namespaces/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Application" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Application .collapse">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/namespaces/default.html b/build/documentation/api/namespaces/default.html
deleted file mode 100644
index 8e07a022..00000000
--- a/build/documentation/api/namespaces/default.html
+++ /dev/null
@@ -1,721 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Namespaces
- </li>
- <a href="../namespaces/default.html" title="\">
- <i class="icon-th"></i> \
- </a>
- <ul class="nav nav-list nav-namespaces">
-
- <li>
- <a href="OCA.html" title="OCA">
- <i class="icon-th"></i> OCA
- </a>
- <ul class="nav nav-list nav-namespaces">
-
- <li>
- <a href="OCA.Gallery.html" title="Gallery">
- <i class="icon-th"></i> Gallery
- </a>
- <ul class="nav nav-list nav-namespaces">
-
- <li>
- <a href="OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-namespaces">
-
-
- </ul>
- </li>
-
- </ul>
- </li>
-
- </ul>
- </li>
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 namespace-contents">
-
-
-
-
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_JsonHttpError" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_JsonHttpError .collapse">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a> </div>
-
- <div id="trait_PathManipulation" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_PathManipulation .collapse">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigController .collapse">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_FilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesController .collapse">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PageController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PageController .collapse">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewController .collapse">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicConfigController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicConfigController .collapse">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicFilesController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicFilesController .collapse">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a> </div>
-
- <div id="class_PublicPreviewController" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PublicPreviewController .collapse">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">
- <p>Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</p>
- </div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="trait_Base64Encode" class="element ajax clickable trait" data-toggle="collapse" data-target="#trait_Base64Encode .collapse">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a> </div>
-
-
-
- <div id="class_ConfigParser" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigParser .collapse">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a> </div>
-
- <div id="class_ConfigService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ConfigService .collapse">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">
- <p>Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</p>
- </div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a> </div>
-
- <div id="class_DownloadService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_DownloadService .collapse">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a> </div>
-
- <div id="class_FilesService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_FilesService .collapse">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a> </div>
-
- <div id="class_ForbiddenServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ForbiddenServiceException .collapse">
- <h1>ForbiddenServiceException<a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundServiceException .collapse">
- <h1>NotFoundServiceException<a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_PreviewService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_PreviewService .collapse">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchFolderService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchFolderService .collapse">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a> </div>
-
- <div id="class_SearchMediaService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SearchMediaService .collapse">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a> </div>
-
- <div id="class_Service" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Service .collapse">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a> </div>
-
- <div id="class_ServiceException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ServiceException .collapse">
- <h1>ServiceException<a href="../classes/OCA.Gallery.Service.ServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ServiceException.html" class="more">« More »</a> </div>
-
- <div id="class_ThumbnailService" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ThumbnailService .collapse">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Environment" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Environment .collapse">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a> </div>
-
- <div id="class_EnvironmentException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvironmentException .collapse">
- <h1>EnvironmentException<a href="../classes/OCA.Gallery.Environment.EnvironmentException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.EnvironmentException.html" class="more">« More »</a> </div>
-
- <div id="class_NotFoundEnvException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_NotFoundEnvException .collapse">
- <h1>NotFoundEnvException<a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_ImageResponse" class="element ajax clickable class" data-toggle="collapse" data-target="#class_ImageResponse .collapse">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_CheckException" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckException .collapse">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a> </div>
-
- <div id="class_CheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_CheckMiddleware .collapse">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_EnvCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_EnvCheckMiddleware .collapse">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">
- <p>Once all checks have been passed, the environment is ready to use</p>
- </div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a> </div>
-
- <div id="class_SharingCheckMiddleware" class="element ajax clickable class" data-toggle="collapse" data-target="#class_SharingCheckMiddleware .collapse">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Preview" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Preview .collapse">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
- <div class="namespace-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="class_Application" class="element ajax clickable class" data-toggle="collapse" data-target="#class_Application .collapse">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse">
-
- </div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a> </div>
-
- </div>
-
-
-
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/Default.html b/build/documentation/api/packages/Default.html
deleted file mode 100644
index 4faeda81..00000000
--- a/build/documentation/api/packages/Default.html
+++ /dev/null
@@ -1,797 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo;
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/default.html" title="\">
- <i class="icon-th"></i> \
- </a>
- <ul class="nav nav-list nav-packages">
-
- <li>
- <a href="../packages/Default.html" title="Default">
- <i class="icon-th"></i> Default
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.html" title="OCA">
- <i class="icon-th"></i> OCA
- </a>
- <ul class="nav nav-list nav-packages">
-
- <li>
- <a href="OCA.Gallery.html" title="Gallery">
- <i class="icon-th"></i> Gallery
- </a>
- <ul class="nav nav-list nav-packages">
-
- <li>
- <a href="OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.SharingCheckMiddleware.html" title="SharingCheckMiddleware">
- <i class="icon-th"></i> SharingCheckMiddleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
-
- </ul>
- </li>
-
- </ul>
- </li>
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/default.html">\</a>
- </li>
-
- </ul>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/Default.html">Default</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="EnvironmentException" class="element ajax clickable class">
- <h1>EnvironmentException<a href="../classes/OCA.Gallery.Environment.EnvironmentException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Environment.EnvironmentException.html" class="more">« More »</a>
- </div>
-
- <div id="ForbiddenServiceException" class="element ajax clickable class">
- <h1>ForbiddenServiceException<a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ForbiddenServiceException.html" class="more">« More »</a>
- </div>
-
- <div id="NotFoundEnvException" class="element ajax clickable class">
- <h1>NotFoundEnvException<a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Environment.NotFoundEnvException.html" class="more">« More »</a>
- </div>
-
- <div id="NotFoundServiceException" class="element ajax clickable class">
- <h1>NotFoundServiceException<a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.NotFoundServiceException.html" class="more">« More »</a>
- </div>
-
- <div id="ServiceException" class="element ajax clickable class">
- <h1>ServiceException<a href="../classes/OCA.Gallery.Service.ServiceException.html">¶</a></h1>
- <p class="short_description">Thrown when the service cannot reply to a request</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ServiceException.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
- </ul>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
- </ul>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="JsonHttpError" class="element ajax clickable trait">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a>
- </div>
-
- <div id="PathManipulation" class="element ajax clickable trait">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigController" class="element ajax clickable class">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="FilesController" class="element ajax clickable class">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PageController" class="element ajax clickable class">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewController" class="element ajax clickable class">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicConfigController" class="element ajax clickable class">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicFilesController" class="element ajax clickable class">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicPreviewController" class="element ajax clickable class">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="Base64Encode" class="element ajax clickable trait">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigParser" class="element ajax clickable class">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a>
- </div>
-
- <div id="ConfigService" class="element ajax clickable class">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a>
- </div>
-
- <div id="DownloadService" class="element ajax clickable class">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a>
- </div>
-
- <div id="FilesService" class="element ajax clickable class">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewService" class="element ajax clickable class">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchFolderService" class="element ajax clickable class">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchMediaService" class="element ajax clickable class">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a>
- </div>
-
- <div id="Service" class="element ajax clickable class">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a>
- </div>
-
- <div id="ThumbnailService" class="element ajax clickable class">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="ImageResponse" class="element ajax clickable class">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.SharingCheckMiddleware.html">SharingCheckMiddleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="SharingCheckMiddleware" class="element ajax clickable class">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="CheckException" class="element ajax clickable class">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a>
- </div>
-
- <div id="CheckMiddleware" class="element ajax clickable class">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a>
- </div>
-
- <div id="EnvCheckMiddleware" class="element ajax clickable class">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">Once all checks have been passed, the environment is ready to use</div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Preview" class="element ajax clickable class">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Environment" class="element ajax clickable class">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Application" class="element ajax clickable class">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.AppInfo.html b/build/documentation/api/packages/OCA.Gallery.AppInfo.html
deleted file mode 100644
index 62b7aaa1..00000000
--- a/build/documentation/api/packages/OCA.Gallery.AppInfo.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\AppInfo
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Application" class="element ajax clickable class">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.Controller.html b/build/documentation/api/packages/OCA.Gallery.Controller.html
deleted file mode 100644
index 0a668f6b..00000000
--- a/build/documentation/api/packages/OCA.Gallery.Controller.html
+++ /dev/null
@@ -1,237 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Controller
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="JsonHttpError" class="element ajax clickable trait">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a>
- </div>
-
- <div id="PathManipulation" class="element ajax clickable trait">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigController" class="element ajax clickable class">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="FilesController" class="element ajax clickable class">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PageController" class="element ajax clickable class">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewController" class="element ajax clickable class">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicConfigController" class="element ajax clickable class">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicFilesController" class="element ajax clickable class">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicPreviewController" class="element ajax clickable class">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.Environment.html b/build/documentation/api/packages/OCA.Gallery.Environment.html
deleted file mode 100644
index c26f4696..00000000
--- a/build/documentation/api/packages/OCA.Gallery.Environment.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Environment
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Environment" class="element ajax clickable class">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.Http.html b/build/documentation/api/packages/OCA.Gallery.Http.html
deleted file mode 100644
index 982193ef..00000000
--- a/build/documentation/api/packages/OCA.Gallery.Http.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Http
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="ImageResponse" class="element ajax clickable class">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.Middleware.html b/build/documentation/api/packages/OCA.Gallery.Middleware.html
deleted file mode 100644
index 1db53acb..00000000
--- a/build/documentation/api/packages/OCA.Gallery.Middleware.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Middleware
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="CheckException" class="element ajax clickable class">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a>
- </div>
-
- <div id="CheckMiddleware" class="element ajax clickable class">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a>
- </div>
-
- <div id="EnvCheckMiddleware" class="element ajax clickable class">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">Once all checks have been passed, the environment is ready to use</div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.Preview.html b/build/documentation/api/packages/OCA.Gallery.Preview.html
deleted file mode 100644
index d330d760..00000000
--- a/build/documentation/api/packages/OCA.Gallery.Preview.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Preview
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Preview" class="element ajax clickable class">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.Service.html b/build/documentation/api/packages/OCA.Gallery.Service.html
deleted file mode 100644
index 67815c0a..00000000
--- a/build/documentation/api/packages/OCA.Gallery.Service.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\Service
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="Base64Encode" class="element ajax clickable trait">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigParser" class="element ajax clickable class">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a>
- </div>
-
- <div id="ConfigService" class="element ajax clickable class">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a>
- </div>
-
- <div id="DownloadService" class="element ajax clickable class">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a>
- </div>
-
- <div id="FilesService" class="element ajax clickable class">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewService" class="element ajax clickable class">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchFolderService" class="element ajax clickable class">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchMediaService" class="element ajax clickable class">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a>
- </div>
-
- <div id="Service" class="element ajax clickable class">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a>
- </div>
-
- <div id="ThumbnailService" class="element ajax clickable class">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.SharingCheckMiddleware.html b/build/documentation/api/packages/OCA.Gallery.SharingCheckMiddleware.html
deleted file mode 100644
index 030e050f..00000000
--- a/build/documentation/api/packages/OCA.Gallery.SharingCheckMiddleware.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery\SharingCheckMiddleware
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.SharingCheckMiddleware.html" title="SharingCheckMiddleware">
- <i class="icon-th"></i> SharingCheckMiddleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.SharingCheckMiddleware.html">SharingCheckMiddleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="SharingCheckMiddleware" class="element ajax clickable class">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.Gallery.html b/build/documentation/api/packages/OCA.Gallery.html
deleted file mode 100644
index bd9842a0..00000000
--- a/build/documentation/api/packages/OCA.Gallery.html
+++ /dev/null
@@ -1,688 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA\Gallery
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.Gallery.html" title="Gallery">
- <i class="icon-th"></i> Gallery
- </a>
- <ul class="nav nav-list nav-packages">
-
- <li>
- <a href="OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.SharingCheckMiddleware.html" title="SharingCheckMiddleware">
- <i class="icon-th"></i> SharingCheckMiddleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
- </ul>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="JsonHttpError" class="element ajax clickable trait">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a>
- </div>
-
- <div id="PathManipulation" class="element ajax clickable trait">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigController" class="element ajax clickable class">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="FilesController" class="element ajax clickable class">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PageController" class="element ajax clickable class">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewController" class="element ajax clickable class">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicConfigController" class="element ajax clickable class">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicFilesController" class="element ajax clickable class">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicPreviewController" class="element ajax clickable class">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="Base64Encode" class="element ajax clickable trait">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigParser" class="element ajax clickable class">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a>
- </div>
-
- <div id="ConfigService" class="element ajax clickable class">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a>
- </div>
-
- <div id="DownloadService" class="element ajax clickable class">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a>
- </div>
-
- <div id="FilesService" class="element ajax clickable class">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewService" class="element ajax clickable class">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchFolderService" class="element ajax clickable class">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchMediaService" class="element ajax clickable class">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a>
- </div>
-
- <div id="Service" class="element ajax clickable class">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a>
- </div>
-
- <div id="ThumbnailService" class="element ajax clickable class">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="ImageResponse" class="element ajax clickable class">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.SharingCheckMiddleware.html">SharingCheckMiddleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="SharingCheckMiddleware" class="element ajax clickable class">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="CheckException" class="element ajax clickable class">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a>
- </div>
-
- <div id="CheckMiddleware" class="element ajax clickable class">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a>
- </div>
-
- <div id="EnvCheckMiddleware" class="element ajax clickable class">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">Once all checks have been passed, the environment is ready to use</div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Preview" class="element ajax clickable class">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Environment" class="element ajax clickable class">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Application" class="element ajax clickable class">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/build/documentation/api/packages/OCA.html b/build/documentation/api/packages/OCA.html
deleted file mode 100644
index 0aaa7f0b..00000000
--- a/build/documentation/api/packages/OCA.html
+++ /dev/null
@@ -1,710 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
- <meta charset="utf-8"/>
- <title> &raquo; \OCA
-</title>
- <meta name="author" content=""/>
- <meta name="description" content=""/>
-
- <link href="../css/template.css" rel="stylesheet" media="all"/>
-
- <!--[if lt IE 9]>
- <script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
- <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script>
- <script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
- <script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
- <script src="../js/bootstrap.js" type="text/javascript"></script>
- <script src="../js/template.js" type="text/javascript"></script>
- <script src="../js/prettify/prettify.min.js" type="text/javascript"></script>
-
- <link rel="shortcut icon" href="../img/favicon.ico"/>
- <link rel="apple-touch-icon" href="../img/apple-touch-icon.png"/>
- <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png"/>
- <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png"/>
- </head>
-<body>
-
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span> <span class="icon-bar"></span>
- <span class="icon-bar"></span> </a>
- <a class="brand" href="../index.html">Gallery PHP code documentation</a>
-
- <div class="nav-collapse">
- <ul class="nav">
- <li class="dropdown">
- <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
- API Documentation <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a>Namespaces</a></li>
- <li><a href="../namespaces/OCA.html">OCA</a></li>
- </ul>
- </li>
- <li class="dropdown" id="charts-menu">
- <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
- Charts <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../graph_class.html">
- <i class="icon-list-alt"></i>&#160;Class hierarchy diagram
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" id="reports-menu">
- <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
- Reports <b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li>
- <a href="../errors.html">
- <i class="icon-list-alt"></i>&#160;Errors
- </a>
- </li>
- <li>
- <a href="../markers.html">
- <i class="icon-list-alt"></i>&#160;Markers
- </a>
- </li>
- <li>
- <a href="../deprecated.html">
- <i class="icon-list-alt"></i>&#160;Deprecated
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="go_to_top">
- <a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>
- </div>
- </div>
-
- <div id="___" class="container">
- <noscript>
- <div class="alert alert-warning">
- Javascript is disabled; several features are only available if Javascript is enabled.
- </div>
- </noscript>
-
-
-
- <div class="row">
-
- <div class="span4">
- <div class="btn-group view pull-right" data-toggle="buttons-radio">
- <button class="btn details" title="Show descriptions and method names">
- <i class="icon-list"></i></button><button class="btn simple" title="Show only method names">
- <i class="icon-align-justify"></i>
- </button>
- </div>
- <ul class="side-nav nav nav-list">
- <li class="nav-header">
- <i class="icon-map-marker"></i> Packages
- </li>
- <a href="../packages/OCA.html" title="OCA">
- <i class="icon-th"></i> OCA
- </a>
- <ul class="nav nav-list nav-packages">
-
- <li>
- <a href="OCA.Gallery.html" title="Gallery">
- <i class="icon-th"></i> Gallery
- </a>
- <ul class="nav nav-list nav-packages">
-
- <li>
- <a href="OCA.Gallery.AppInfo.html" title="AppInfo">
- <i class="icon-th"></i> AppInfo
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Controller.html" title="Controller">
- <i class="icon-th"></i> Controller
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Environment.html" title="Environment">
- <i class="icon-th"></i> Environment
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Http.html" title="Http">
- <i class="icon-th"></i> Http
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Middleware.html" title="Middleware">
- <i class="icon-th"></i> Middleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Preview.html" title="Preview">
- <i class="icon-th"></i> Preview
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.Service.html" title="Service">
- <i class="icon-th"></i> Service
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
- <li>
- <a href="OCA.Gallery.SharingCheckMiddleware.html" title="SharingCheckMiddleware">
- <i class="icon-th"></i> SharingCheckMiddleware
- </a>
- <ul class="nav nav-list nav-packages">
-
-
- </ul>
- </li>
-
- </ul>
- </li>
-
- </ul>
- </ul>
- </div>
-
- <div class="span8 package-contents">
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
- </ul>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
- </ul>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Controller.html">Controller</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="JsonHttpError" class="element ajax clickable trait">
- <h1>JsonHttpError<a href="../classes/OCA.Gallery.Controller.JsonHttpError.html">¶</a></h1>
- <p class="short_description">Our classes extend both Controller and ApiController, so we need to use
-traits to add some common methods</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.JsonHttpError.html" class="more">« More »</a>
- </div>
-
- <div id="PathManipulation" class="element ajax clickable trait">
- <h1>PathManipulation<a href="../classes/OCA.Gallery.Controller.PathManipulation.html">¶</a></h1>
- <p class="short_description"></p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PathManipulation.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigController" class="element ajax clickable class">
- <h1>ConfigController<a href="../classes/OCA.Gallery.Controller.ConfigController.html">¶</a></h1>
- <p class="short_description">Class ConfigController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.ConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="FilesController" class="element ajax clickable class">
- <h1>FilesController<a href="../classes/OCA.Gallery.Controller.FilesController.html">¶</a></h1>
- <p class="short_description">Class FilesController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.FilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PageController" class="element ajax clickable class">
- <h1>PageController<a href="../classes/OCA.Gallery.Controller.PageController.html">¶</a></h1>
- <p class="short_description">Generates templates for the landing page from within ownCloud, the public
-gallery and error pages</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PageController.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewController" class="element ajax clickable class">
- <h1>PreviewController<a href="../classes/OCA.Gallery.Controller.PreviewController.html">¶</a></h1>
- <p class="short_description">Class PreviewController</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Controller.PreviewController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicConfigController" class="element ajax clickable class">
- <h1>PublicConfigController<a href="../classes/OCA.Gallery.Controller.PublicConfigController.html">¶</a></h1>
- <p class="short_description">Class PublicConfigController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicConfigController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicFilesController" class="element ajax clickable class">
- <h1>PublicFilesController<a href="../classes/OCA.Gallery.Controller.PublicFilesController.html">¶</a></h1>
- <p class="short_description">Class PublicFilesController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicFilesController.html" class="more">« More »</a>
- </div>
-
- <div id="PublicPreviewController" class="element ajax clickable class">
- <h1>PublicPreviewController<a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html">¶</a></h1>
- <p class="short_description">Class PublicPreviewController</p>
- <div class="details collapse">Note: Type casting only works if the &quot;@param&quot; parameters are also included in this class as
-their not yet inherited</div>
- <a href="../classes/OCA.Gallery.Controller.PublicPreviewController.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Service.html">Service</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
- <div id="Base64Encode" class="element ajax clickable trait">
- <h1>Base64Encode<a href="../classes/OCA.Gallery.Service.Base64Encode.html">¶</a></h1>
- <p class="short_description">Base64 encoding utility method</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Base64Encode.html" class="more">« More »</a>
- </div>
-
-
-
- <div id="ConfigParser" class="element ajax clickable class">
- <h1>ConfigParser<a href="../classes/OCA.Gallery.Service.ConfigParser.html">¶</a></h1>
- <p class="short_description">Parses configuration files</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ConfigParser.html" class="more">« More »</a>
- </div>
-
- <div id="ConfigService" class="element ajax clickable class">
- <h1>ConfigService<a href="../classes/OCA.Gallery.Service.ConfigService.html">¶</a></h1>
- <p class="short_description">Finds configurations files and returns a configuration array</p>
- <div class="details collapse">Checks the current and parent folders for configuration files and the privacy flag
-Supports explicit inheritance</div>
- <a href="../classes/OCA.Gallery.Service.ConfigService.html" class="more">« More »</a>
- </div>
-
- <div id="DownloadService" class="element ajax clickable class">
- <h1>DownloadService<a href="../classes/OCA.Gallery.Service.DownloadService.html">¶</a></h1>
- <p class="short_description">Prepares the file to download</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.DownloadService.html" class="more">« More »</a>
- </div>
-
- <div id="FilesService" class="element ajax clickable class">
- <h1>FilesService<a href="../classes/OCA.Gallery.Service.FilesService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.FilesService.html" class="more">« More »</a>
- </div>
-
- <div id="PreviewService" class="element ajax clickable class">
- <h1>PreviewService<a href="../classes/OCA.Gallery.Service.PreviewService.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.PreviewService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchFolderService" class="element ajax clickable class">
- <h1>SearchFolderService<a href="../classes/OCA.Gallery.Service.SearchFolderService.html">¶</a></h1>
- <p class="short_description">Contains various methods to retrieve information from the filesystem</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchFolderService.html" class="more">« More »</a>
- </div>
-
- <div id="SearchMediaService" class="element ajax clickable class">
- <h1>SearchMediaService<a href="../classes/OCA.Gallery.Service.SearchMediaService.html">¶</a></h1>
- <p class="short_description">Searches the instance for media files which can be shown</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.SearchMediaService.html" class="more">« More »</a>
- </div>
-
- <div id="Service" class="element ajax clickable class">
- <h1>Service<a href="../classes/OCA.Gallery.Service.Service.html">¶</a></h1>
- <p class="short_description">Contains methods which all services will need</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.Service.html" class="more">« More »</a>
- </div>
-
- <div id="ThumbnailService" class="element ajax clickable class">
- <h1>ThumbnailService<a href="../classes/OCA.Gallery.Service.ThumbnailService.html">¶</a></h1>
- <p class="short_description">Deals with any thumbnail specific requests</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Service.ThumbnailService.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Http.html">Http</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="ImageResponse" class="element ajax clickable class">
- <h1>ImageResponse<a href="../classes/OCA.Gallery.Http.ImageResponse.html">¶</a></h1>
- <p class="short_description">A renderer for images</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Http.ImageResponse.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.SharingCheckMiddleware.html">SharingCheckMiddleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="SharingCheckMiddleware" class="element ajax clickable class">
- <h1>SharingCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks whether the &quot;sharing check&quot; is enabled</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.SharingCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Middleware.html">Middleware</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="CheckException" class="element ajax clickable class">
- <h1>CheckException<a href="../classes/OCA.Gallery.Middleware.CheckException.html">¶</a></h1>
- <p class="short_description">Thrown when one of the tests in the &quot;check&quot; middlewares fails</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckException.html" class="more">« More »</a>
- </div>
-
- <div id="CheckMiddleware" class="element ajax clickable class">
- <h1>CheckMiddleware<a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Middleware.CheckMiddleware.html" class="more">« More »</a>
- </div>
-
- <div id="EnvCheckMiddleware" class="element ajax clickable class">
- <h1>EnvCheckMiddleware<a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html">¶</a></h1>
- <p class="short_description">Checks that we have a valid token linked to a valid resource and that the
-user is authorised to access it</p>
- <div class="details collapse">Once all checks have been passed, the environment is ready to use</div>
- <a href="../classes/OCA.Gallery.Middleware.EnvCheckMiddleware.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Preview.html">Preview</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Preview" class="element ajax clickable class">
- <h1>Preview<a href="../classes/OCA.Gallery.Preview.Preview.html">¶</a></h1>
- <p class="short_description">Generates previews</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Preview.Preview.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.Environment.html">Environment</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Environment" class="element ajax clickable class">
- <h1>Environment<a href="../classes/OCA.Gallery.Environment.Environment.html">¶</a></h1>
- <p class="short_description">Builds the environment so that the services have access to the files and folders&#039; owner</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.Environment.Environment.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
- <ul class="breadcrumb">
- <li><a href="../index.html"><i class="icon-th"></i></a></li>
-
-
-
-
- <li>
- <span class="divider">\</span><a href="../packages/OCA.html">OCA</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.html">Gallery</a>
- </li>
-
-
- <li>
- <span class="divider">\</span><a href="OCA.Gallery.AppInfo.html">AppInfo</a>
- </li>
-
- </ul>
-
-
-
-
- <div class="package-indent">
- <h3><i class="icon-custom icon-class"></i> Classes, interfaces and traits</h3>
-
-
- <div id="Application" class="element ajax clickable class">
- <h1>Application<a href="../classes/OCA.Gallery.AppInfo.Application.html">¶</a></h1>
- <p class="short_description">Class Application</p>
- <div class="details collapse"></div>
- <a href="../classes/OCA.Gallery.AppInfo.Application.html" class="more">« More »</a>
- </div>
-
- </div>
-
-
-
-
- </div>
- </div>
- </div>
-
- <footer class="span12">
- Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by
- <a href="http://glyphicons.com/">Glyphicons</a>.<br/>
- Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and<br/>
- generated on Sat, 15 Aug 2015 01:15:08 +0000.<br/>
- </footer>
- </body>
-</html>
diff --git a/controller/files.php b/controller/files.php
index 30615c0e..55b5b760 100644
--- a/controller/files.php
+++ b/controller/files.php
@@ -14,6 +14,7 @@
namespace OCA\Gallery\Controller;
+use OCP\Files\File;
use OCP\Files\Folder;
use OCP\ILogger;
@@ -22,6 +23,8 @@ use OCP\AppFramework\Http;
use OCA\Gallery\Service\SearchFolderService;
use OCA\Gallery\Service\ConfigService;
use OCA\Gallery\Service\SearchMediaService;
+use OCA\Gallery\Service\DownloadService;
+use OCA\Gallery\Service\ServiceException;
/**
* Trait Files
@@ -45,6 +48,10 @@ trait Files {
*/
private $searchMediaService;
/**
+ * @var DownloadService
+ */
+ private $downloadService;
+ /**
* @var ILogger
*/
private $logger;
@@ -127,4 +134,46 @@ trait Files {
];
}
+ /**
+ * Generates the download data
+ *
+ * @param int $fileId the ID of the file of which we need a large preview of
+ * @param string|null $filename
+ *
+ * @return array|false
+ */
+ private function getDownload($fileId, $filename) {
+ $download = false;
+ $file = $this->getFile($fileId);
+ if ($file) {
+ $download = $this->downloadService->downloadFile($file);
+ }
+ if ($download) {
+ if (is_null($filename)) {
+ $filename = $file->getName();
+ }
+ $download['name'] = $filename;
+ }
+
+ return $download;
+ }
+
+ /**
+ * Retrieves the file based on the given ID
+ *
+ * @param int $fileId
+ *
+ * @return File
+ */
+ private function getFile($fileId) {
+ try {
+ /** @type File $file */
+ $file = $this->downloadService->getResourceFromId($fileId);
+ } catch (ServiceException $exception) {
+ $file = false;
+ }
+
+ return $file;
+ }
+
}
diff --git a/controller/filesapicontroller.php b/controller/filesapicontroller.php
index 283a4e65..8c0be4c1 100644
--- a/controller/filesapicontroller.php
+++ b/controller/filesapicontroller.php
@@ -13,13 +13,18 @@
namespace OCA\Gallery\Controller;
use OCP\IRequest;
+use OCP\IURLGenerator;
use OCP\ILogger;
use OCP\AppFramework\ApiController;
+use OCP\AppFramework\Http;
+use OCP\AppFramework\Http\RedirectResponse;
+use OCA\Gallery\Http\ImageResponse;
use OCA\Gallery\Service\SearchFolderService;
use OCA\Gallery\Service\ConfigService;
use OCA\Gallery\Service\SearchMediaService;
+use OCA\Gallery\Service\DownloadService;
/**
* Class FilesApiController
@@ -31,29 +36,38 @@ class FilesApiController extends ApiController {
use Files;
use JsonHttpError;
+ /** @var IURLGenerator */
+ private $urlGenerator;
+
/**
* Constructor
*
* @param string $appName
* @param IRequest $request
+ * @param IURLGenerator $urlGenerator
* @param SearchFolderService $searchFolderService
* @param ConfigService $configService
* @param SearchMediaService $searchMediaService
+ * @param DownloadService $downloadService
* @param ILogger $logger
*/
public function __construct(
$appName,
IRequest $request,
+ IURLGenerator $urlGenerator,
SearchFolderService $searchFolderService,
ConfigService $configService,
SearchMediaService $searchMediaService,
+ DownloadService $downloadService,
ILogger $logger
) {
parent::__construct($appName, $request);
+ $this->urlGenerator = $urlGenerator;
$this->searchFolderService = $searchFolderService;
$this->configService = $configService;
$this->searchMediaService = $searchMediaService;
+ $this->downloadService = $downloadService;
$this->logger = $logger;
}
@@ -83,4 +97,34 @@ class FilesApiController extends ApiController {
}
}
+ /**
+ * @NoAdminRequired
+ * @NoCSRFRequired
+ * @CORS
+ *
+ * Sends the file matching the fileId
+ *
+ * @param int $fileId the ID of the file we want to download
+ * @param string|null $filename
+ *
+ * @return ImageResponse|RedirectResponse
+ */
+ public function download($fileId, $filename = null) {
+ $download = $this->getDownload($fileId, $filename);
+
+ if (!$download) {
+ $url = $this->urlGenerator->linkToRoute(
+ $this->appName . '.page.error_page',
+ [
+ 'message' => 'There was a problem accessing the file',
+ 'code' => Http::STATUS_NOT_FOUND
+ ]
+ );
+
+ return new RedirectResponse($url);
+ }
+
+ return new ImageResponse($download);
+ }
+
}
diff --git a/controller/filescontroller.php b/controller/filescontroller.php
index 4bd388eb..a925e8f6 100644
--- a/controller/filescontroller.php
+++ b/controller/filescontroller.php
@@ -13,13 +13,18 @@
namespace OCA\Gallery\Controller;
use OCP\IRequest;
+use OCP\IURLGenerator;
use OCP\ILogger;
use OCP\AppFramework\Controller;
+use OCP\AppFramework\Http;
+use OCP\AppFramework\Http\RedirectResponse;
+use OCA\Gallery\Http\ImageResponse;
use OCA\Gallery\Service\SearchFolderService;
use OCA\Gallery\Service\ConfigService;
use OCA\Gallery\Service\SearchMediaService;
+use OCA\Gallery\Service\DownloadService;
/**
* Class FilesController
@@ -31,29 +36,38 @@ class FilesController extends Controller {
use Files;
use JsonHttpError;
+ /** @var IURLGenerator */
+ private $urlGenerator;
+
/**
* Constructor
*
* @param string $appName
* @param IRequest $request
+ * @param IURLGenerator $urlGenerator
* @param SearchFolderService $searchFolderService
* @param ConfigService $configService
* @param SearchMediaService $searchMediaService
+ * @param DownloadService $downloadService
* @param ILogger $logger
*/
public function __construct(
$appName,
IRequest $request,
+ IURLGenerator $urlGenerator,
SearchFolderService $searchFolderService,
ConfigService $configService,
SearchMediaService $searchMediaService,
+ DownloadService $downloadService,
ILogger $logger
) {
parent::__construct($appName, $request);
+ $this->urlGenerator = $urlGenerator;
$this->searchFolderService = $searchFolderService;
$this->configService = $configService;
$this->searchMediaService = $searchMediaService;
+ $this->downloadService = $downloadService;
$this->logger = $logger;
}
@@ -86,4 +100,32 @@ class FilesController extends Controller {
}
}
+ /**
+ * @NoAdminRequired
+ *
+ * Sends the file matching the fileId
+ *
+ * @param int $fileId the ID of the file we want to download
+ * @param string|null $filename
+ *
+ * @return ImageResponse|RedirectResponse
+ */
+ public function download($fileId, $filename = null) {
+ $download = $this->getDownload($fileId, $filename);
+
+ if (!$download) {
+ $url = $this->urlGenerator->linkToRoute(
+ $this->appName . '.page.error_page',
+ [
+ 'message' => 'There was a problem accessing the file',
+ 'code' => Http::STATUS_NOT_FOUND
+ ]
+ );
+
+ return new RedirectResponse($url);
+ }
+
+ return new ImageResponse($download);
+ }
+
}
diff --git a/controller/filespubliccontroller.php b/controller/filespubliccontroller.php
index e894c7b6..90c06a1a 100644
--- a/controller/filespubliccontroller.php
+++ b/controller/filespubliccontroller.php
@@ -38,4 +38,18 @@ class FilesPublicController extends FilesController {
return parent::getList($location, $features, $etag, $mediatypes);
}
+ /**
+ * @PublicPage
+ * @NoCSRFRequired
+ *
+ * Sends the file matching the fileId
+ *
+ * @inheritDoc
+ *
+ * @param int $fileId the ID of the file we want to download
+ * @param string|null $filename
+ */
+ public function download($fileId, $filename = null) {
+ return parent::download($fileId, $filename);
+ }
}
diff --git a/controller/pagecontroller.php b/controller/pagecontroller.php
index e90d7d68..d3c9f146 100644
--- a/controller/pagecontroller.php
+++ b/controller/pagecontroller.php
@@ -17,7 +17,6 @@ namespace OCA\Gallery\Controller;
use OCP\IURLGenerator;
use OCP\IRequest;
use OCP\IConfig;
-use OCP\Files\File;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
@@ -26,7 +25,6 @@ use OCP\AppFramework\Http\RedirectResponse;
use OCA\Gallery\Environment\Environment;
use OCA\Gallery\Http\ImageResponse;
-use OCA\Gallery\Service\ServiceException;
use OCA\Gallery\Service\DownloadService;
/**
@@ -111,7 +109,7 @@ class PageController extends Controller {
* @PublicPage
* @NoCSRFRequired
*
- * Shows the albums and pictures or download the single file the token gives access to
+ * Shows the albums and pictures or redirects to the download location the token gives access to
*
* @param string $token
* @param null|string $filename
@@ -123,7 +121,16 @@ class PageController extends Controller {
if ($node->getType() === 'dir') {
return $this->showPublicPage($token);
} else {
- return $this->downloadFile($node, $filename);
+ $url = $this->urlGenerator->linkToRoute(
+ $this->appName . '.files_public.download',
+ [
+ 'token' => $token,
+ 'fileId' => $node->getId(),
+ 'filename' => $filename
+ ]
+ );
+
+ return new RedirectResponse($url);
}
}
@@ -209,36 +216,6 @@ class PageController extends Controller {
}
/**
- * Downloads the file associated with a token
- *
- * @param File $file
- * @param string|null $filename
- *
- * @return ImageResponse|RedirectResponse
- */
- private function downloadFile($file, $filename) {
- try {
- $download = $this->downloadService->downloadFile($file);
- if (is_null($filename)) {
- $filename = $file->getName();
- }
- $download['name'] = $filename;
-
- return new ImageResponse($download);
- } catch (ServiceException $exception) {
- $url = $this->urlGenerator->linkToRoute(
- $this->appName . '.page.error_page',
- [
- 'message' => $exception->getMessage(),
- 'code' => Http::STATUS_NOT_FOUND
- ]
- );
-
- return new RedirectResponse($url);
- }
- }
-
- /**
* Determines if we can add external shared to this instance
*
* @return array
diff --git a/controller/preview.php b/controller/preview.php
index e8345897..ebae0068 100644
--- a/controller/preview.php
+++ b/controller/preview.php
@@ -115,9 +115,8 @@ trait Preview {
/** @type File $file */
$file = $this->previewService->getResourceFromId($fileId);
if (!is_null($file)) {
- $previewRequired = $this->isPreviewRequired($file, $animatedPreview);
$data = $this->getPreviewData(
- $file, $previewRequired, $width, $height, $keepAspect, $base64Encode
+ $file, $animatedPreview, $width, $height, $keepAspect, $base64Encode
);
} else {
// Uncaught problem, should never reach this point...
@@ -133,39 +132,20 @@ trait Preview {
}
/**
- * Returns true if we need to generate a preview for that file
- *
- * @param $file
+ * @param File $file
* @param bool $animatedPreview
- *
- * @return bool
- */
- private function isPreviewRequired($file, $animatedPreview) {
- $previewRequired = false;
-
- if (!$this->download) {
- $previewRequired =
- $this->previewService->isPreviewRequired($file, $animatedPreview);
- }
-
- return $previewRequired;
- }
-
- /**
- * @param $file
- * @param $previewRequired
- * @param $width
- * @param $height
- * @param $keepAspect
- * @param $base64Encode
+ * @param int $width
+ * @param int $height
+ * @param bool $keepAspect
+ * @param bool $base64Encode
*
* @return array
*/
private function getPreviewData(
- $file, $previewRequired, $width, $height, $keepAspect, $base64Encode
+ $file, $animatedPreview, $width, $height, $keepAspect, $base64Encode
) {
$status = Http::STATUS_OK;
- if ($previewRequired) {
+ if ($this->previewService->isPreviewRequired($file, $animatedPreview)) {
$type = 'preview';
$preview = $this->previewService->createPreview(
$file, $width, $height, $keepAspect, $base64Encode
@@ -211,22 +191,4 @@ trait Preview {
return $this->getErrorData($status);
}
- /**
- * Returns an URL based on the HTTP status code
- *
- * @param string $appName
- * @param int $status
- *
- * @return string
- */
- private function getErrorUrl($appName, $status) {
- return $this->urlGenerator->linkToRoute(
- $appName . '.page.error_page',
- [
- 'message' => 'There was a problem accessing the file',
- 'code' => $status
- ]
- );
- }
-
}
diff --git a/controller/previewapicontroller.php b/controller/previewapicontroller.php
index d59548b7..dfa2b5b3 100644
--- a/controller/previewapicontroller.php
+++ b/controller/previewapicontroller.php
@@ -19,7 +19,6 @@ use OCP\Files\File;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
-use OCP\AppFramework\Http\RedirectResponse;
use OCP\AppFramework\Http\JSONResponse;
use OCA\Gallery\Http\ImageResponse;
@@ -116,26 +115,15 @@ class PreviewApiController extends ApiController {
* @param int $fileId the ID of the file of which we need a large preview of
* @param int $width
* @param int $height
- * @param string|null $download
*
- * @return ImageResponse|RedirectResponse|Http\JSONResponse
+ * @return ImageResponse|Http\JSONResponse
*/
- public function getPreview($fileId, $width, $height, $download) {
- if (!is_null($download)) {
- $this->download = true;
- }
+ public function getPreview($fileId, $width, $height) {
/** @type File $file */
list($file, $preview, $status) = $this->getData($fileId, $width, $height);
- if ($preview === null) {
- if ($this->download) {
- $url = $this->getErrorUrl($this->appName, $status);
-
- return new RedirectResponse($url);
- } else {
-
- return new JSONResponse(['message' => 'Oh Nooooes!', 'success' => false], $status);
- }
+ if (!$preview) {
+ return new JSONResponse(['message' => 'Oh Nooooes!', 'success' => false], $status);
}
$preview['name'] = $file->getName();
diff --git a/controller/previewcontroller.php b/controller/previewcontroller.php
index a25519b9..2bc695e6 100644
--- a/controller/previewcontroller.php
+++ b/controller/previewcontroller.php
@@ -14,13 +14,11 @@ namespace OCA\Gallery\Controller;
use OCP\IRequest;
use OCP\IURLGenerator;
-use OCP\IEventSource;
use OCP\ILogger;
use OCP\Files\File;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
-use OCP\AppFramework\Http\RedirectResponse;
use OCP\AppFramework\Http\JSONResponse;
use OCA\Gallery\Http\ImageResponse;
@@ -120,26 +118,15 @@ class PreviewController extends Controller {
* @param int $fileId the ID of the file of which we need a large preview of
* @param int $width
* @param int $height
- * @param string|null $download
*
- * @return ImageResponse|RedirectResponse|Http\JSONResponse
+ * @return ImageResponse|Http\JSONResponse
*/
- public function getPreview($fileId, $width, $height, $download) {
- if (!is_null($download)) {
- $this->download = true;
- }
+ public function getPreview($fileId, $width, $height) {
/** @type File $file */
list($file, $preview, $status) = $this->getData($fileId, $width, $height);
- if ($preview === null) {
- if ($this->download) {
- $url = $this->getErrorUrl($this->appName, $status);
-
- return new RedirectResponse($url);
- } else {
-
- return new JSONResponse(['message' => 'Oh Nooooes!', 'success' => false], $status);
- }
+ if (!$preview) {
+ return new JSONResponse(['message' => 'Oh Nooooes!', 'success' => false], $status);
}
$preview['name'] = $file->getName();
diff --git a/controller/previewpubliccontroller.php b/controller/previewpubliccontroller.php
index 0570e746..bacaf266 100644
--- a/controller/previewpubliccontroller.php
+++ b/controller/previewpubliccontroller.php
@@ -55,10 +55,9 @@ class PreviewPublicController extends PreviewController {
* @param int $fileId the ID of the file of which we need a large preview of
* @param int $width
* @param int $height
- * @param string|null $download
*/
- public function getPreview($fileId, $width, $height, $download) {
- return parent::getPreview($fileId, $width, $height, $download);
+ public function getPreview($fileId, $width, $height) {
+ return parent::getPreview($fileId, $width, $height);
}
}
diff --git a/http/imageresponse.php b/http/imageresponse.php
index d7cde78d..b6bd2004 100644
--- a/http/imageresponse.php
+++ b/http/imageresponse.php
@@ -39,8 +39,10 @@ class ImageResponse extends Response {
$this->setStatus($statusCode);
$this->addHeader('Content-type', $image['mimetype'] . '; charset=utf-8');
-
- \OCP\Response::setContentDispositionHeader($name, 'attachment');
+ $this->addHeader('Content-Disposition',
+ 'attachment; filename*=UTF-8\'\'' . rawurlencode($name) . '; filename="'
+ . rawurlencode($name) . '"'
+ );
}
/**
diff --git a/js/gallery.js b/js/gallery.js
index 44846013..7a7aa52d 100644
--- a/js/gallery.js
+++ b/js/gallery.js
@@ -63,7 +63,7 @@
etag: albumEtag
};
// Only use the folder as a GET parameter and not as part of the URL
- var url = Gallery.utility.buildGalleryUrl('files', '', params);
+ var url = Gallery.utility.buildGalleryUrl('files/list', '', params);
return $.getJSON(url).then(function (/**{{albuminfo:Object, files:Array}}*/ data) {
/**@type {{
* fileid: number,
@@ -323,7 +323,12 @@
}).map(function (image) {
var name = OC.basename(image.path);
var previewUrl = Gallery.utility.getPreviewUrl(image.fileId, image.etag);
- var downloadUrl = previewUrl + '&download';
+ var params = {
+ c: image.etag,
+ requesttoken: oc_requesttoken
+ };
+ var downloadUrl = Gallery.utility.buildGalleryUrl('files/download', '/' + image.fileId,
+ params);
return {
name: name,
diff --git a/js/galleryfileaction.js b/js/galleryfileaction.js
index 314d2e10..8b140961 100644
--- a/js/galleryfileaction.js
+++ b/js/galleryfileaction.js
@@ -88,7 +88,12 @@
requesttoken: oc_requesttoken
};
imageUrl = galleryFileAction.buildGalleryUrl('preview', '/' + file.id, params);
- downloadUrl = imageUrl + '&download';
+ params = {
+ c: file.etag,
+ requesttoken: oc_requesttoken
+ };
+ downloadUrl =
+ galleryFileAction.buildGalleryUrl('files/download', '/' + file.id, params);
images.push({
name: file.name,
diff --git a/tests/_support/ApiTester.php b/tests/_support/ApiTester.php
index b7cec20a..41210a3c 100644
--- a/tests/_support/ApiTester.php
+++ b/tests/_support/ApiTester.php
@@ -15,12 +15,28 @@
* @method \Codeception\Lib\Friend haveFriend($name, $actorClass = null)
*
* @SuppressWarnings(PHPMD)
-*/
-class ApiTester extends \Codeception\Actor
-{
- use _generated\ApiTesterActions;
+ */
+class ApiTester extends \Codeception\Actor {
+ use _generated\ApiTesterActions;
- /**
- * Define custom actions here
- */
+ /**
+ * Define custom actions here
+ *
+ * @param array $file
+ * @param string $filename
+ */
+
+ public function downloadAFile($file, $filename = null) {
+ $I = $this;
+ if (!$filename) {
+ $filename = $file['name'];
+ }
+ $filename = urlencode($filename);
+ $I->seeResponseCodeIs(200);
+ $I->seeHttpHeader('Content-type', $file['mediatype'] . '; charset=utf-8');
+ $I->seeHttpHeader(
+ 'Content-Disposition', 'attachment; filename*=UTF-8\'\'' . $filename . '; filename="'
+ . $filename . '"'
+ );
+ }
}
diff --git a/tests/_support/Helper/Api.php b/tests/_support/Helper/Api.php
index 005d1b0b..cb8bae42 100644
--- a/tests/_support/Helper/Api.php
+++ b/tests/_support/Helper/Api.php
@@ -36,6 +36,18 @@ class Api extends \Codeception\Module {
* @throws \Codeception\Exception\ModuleException
*/
public function getFilesDataForFolder($folderPath) {
- return $this->getModule('\Helper\DataSetup')->getFilesDataForFolder($folderPath);
+ return $this->getModule('\Helper\DataSetup')
+ ->getFilesDataForFolder($folderPath);
+ }
+
+ /**
+ * @return mixed
+ * @throws \Codeception\Exception\ModuleException
+ */
+ public function getSharedFile() {
+ $sharedFile['file'] = $this->getModule('\Helper\DataSetup')->sharedFile;
+ $sharedFile['token'] = $this->getModule('\Helper\DataSetup')->sharedFileToken;
+
+ return $sharedFile;
}
}
diff --git a/tests/_support/Helper/DataSetup.php b/tests/_support/Helper/DataSetup.php
index 7e2cc8a1..1d721775 100644
--- a/tests/_support/Helper/DataSetup.php
+++ b/tests/_support/Helper/DataSetup.php
@@ -81,14 +81,14 @@ class DataSetup extends \Codeception\Module {
public $sharedFolderName = 'shared1';
/** @var string */
public $sharedFolderToken;
+ /** @var string */
+ public $passwordForFolderShare = 'p@ssw0rd4sh@re5';
/** @var File */
public $sharedFile;
/** @var string */
public $sharedFileName = 'testimage-wide.png';
/** @var string */
public $sharedFileToken;
- /** @var string */
- public $passwordForShares = 'p@ssw0rd4sh@re5';
/** @var CoreTestCase */
private $coreTestCase;
@@ -365,8 +365,10 @@ class DataSetup extends \Codeception\Module {
$this->server->getConfig()
->setAppValue('core', 'shareapi_allow_links', 'yes');
- // Set so that this case is always covered
- $shareWith = $this->passwordForShares;
+ // Only password protect the folders
+ if ($nodeType === 'folder') {
+ $shareWith = $this->passwordForFolderShare;
+ }
$shareType = \OCP\Share::SHARE_TYPE_LINK;
}
diff --git a/tests/_support/Step/Api/TokenUser.php b/tests/_support/Step/Api/TokenUser.php
new file mode 100644
index 00000000..ceb2a434
--- /dev/null
+++ b/tests/_support/Step/Api/TokenUser.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * ownCloud - gallery
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Olivier Paroz <owncloud@interfasys.ch>
+ *
+ * @copyright Olivier Paroz 2015
+ */
+
+namespace Step\Api;
+
+class TokenUser extends \ApiTester {
+
+ /**
+ * Retrieves the shared file and its token
+ */
+ public function getSharedFileInformation() {
+ $I = $this;
+ $sharedFile = $I->getSharedFile();
+
+ $fileMetaData = [
+ 'name' => $sharedFile['file']->getName(),
+ 'mediatype' => $sharedFile['file']->getMimetype(),
+ 'token' => $sharedFile['token']
+ ];
+
+ return $fileMetaData;
+ }
+
+}
diff --git a/tests/_support/_generated/AcceptanceTesterActions.php b/tests/_support/_generated/AcceptanceTesterActions.php
index 395ff204..2a50444f 100644
--- a/tests/_support/_generated/AcceptanceTesterActions.php
+++ b/tests/_support/_generated/AcceptanceTesterActions.php
@@ -1,4 +1,4 @@
-<?php //[STAMP] eea54e8c0b1094a11a5b2dda9348d860
+<?php //[STAMP] 090a923f8af576070553f88011b5ec00
namespace _generated;
// This class was automatically generated by build task
@@ -20,6 +20,21 @@ trait AcceptanceTesterActions
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
+ * Returns a list of ids available in the given folder
+ *
+ * @param string $folderPath
+ *
+ * @return array<string,int|string>
+ * @see \Helper\DataSetup::getFilesDataForFolder()
+ */
+ public function getFilesDataForFolder($folderPath) {
+ return $this->getScenario()->runStep(new \Codeception\Step\Action('getFilesDataForFolder', func_get_args()));
+ }
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
* Changes the subdomain for the 'url' configuration parameter.
* Does not open a page; use `amOnPage` for that.
*
diff --git a/tests/_support/_generated/ApiTesterActions.php b/tests/_support/_generated/ApiTesterActions.php
index a64a4d27..d3c031be 100644
--- a/tests/_support/_generated/ApiTesterActions.php
+++ b/tests/_support/_generated/ApiTesterActions.php
@@ -1,4 +1,4 @@
-<?php //[STAMP] 0f88c0cce4c0d1b1984d8ae16fa4644b
+<?php //[STAMP] fca24ce90a907d625b57471272f29c22
namespace _generated;
// This class was automatically generated by build task
@@ -20,7 +20,9 @@ trait ApiTesterActions
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
- * @return mixed
+ * Retrieves the user's credentials from the test data
+ *
+ * @return mixed
* @throws \Codeception\Exception\ModuleException
* @see \Helper\Api::getUserCredentials()
*/
@@ -44,6 +46,33 @@ trait ApiTesterActions
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
+ * Returns a list of ids available in the given folder
+ *
+ * @param string $folderPath
+ *
+ * @return array<string,int|string>
+ * @see \Helper\DataSetup::getFilesDataForFolder()
+ */
+ public function getFilesDataForFolder($folderPath) {
+ return $this->getScenario()->runStep(new \Codeception\Step\Action('getFilesDataForFolder', func_get_args()));
+ }
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ * @return mixed
+ * @throws \Codeception\Exception\ModuleException
+ * @see \Helper\Api::getSharedFile()
+ */
+ public function getSharedFile() {
+ return $this->getScenario()->runStep(new \Codeception\Step\Action('getSharedFile', func_get_args()));
+ }
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
* Sets HTTP header
*
* @param $name
diff --git a/tests/_support/_generated/IntegrationTesterActions.php b/tests/_support/_generated/IntegrationTesterActions.php
index e60628a5..2dea9391 100644
--- a/tests/_support/_generated/IntegrationTesterActions.php
+++ b/tests/_support/_generated/IntegrationTesterActions.php
@@ -1,4 +1,4 @@
-<?php //[STAMP] cd0096ba11e9960cf9250dc3d5fee0ee
+<?php //[STAMP] 2ab543bb9cfa3d42406c0d655af4c148
namespace _generated;
// This class was automatically generated by build task
@@ -346,4 +346,19 @@ trait IntegrationTesterActions
public function fail($message) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('fail', func_get_args()));
}
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ * Returns a list of ids available in the given folder
+ *
+ * @param string $folderPath
+ *
+ * @return array<string,int|string>
+ * @see \Helper\DataSetup::getFilesDataForFolder()
+ */
+ public function getFilesDataForFolder($folderPath) {
+ return $this->getScenario()->runStep(new \Codeception\Step\Action('getFilesDataForFolder', func_get_args()));
+ }
}
diff --git a/tests/api/DownloadCest.php b/tests/api/DownloadCest.php
new file mode 100644
index 00000000..a1ef12dd
--- /dev/null
+++ b/tests/api/DownloadCest.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * ownCloud - gallery
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Olivier Paroz <owncloud@interfasys.ch>
+ *
+ * @copyright Olivier Paroz 2015
+ */
+
+use Page\Gallery as GalleryApp;
+
+/**
+ * Class DownloadCest
+ */
+class DownloadCest {
+
+ private $apiUrl;
+
+ /**
+ * Sets up the environment for this series of tests
+ *
+ * @param ApiTester $I
+ */
+ public function _before(ApiTester $I) {
+ $this->apiUrl = GalleryApp::$URL . 'api/files/download';
+ }
+
+ public function _after(ApiTester $I) {
+ }
+
+ /**
+ * Connects to the API as an anonymous user
+ *
+ * @param \Step\Api\Anonymous $I
+ */
+ public function unauthorizedAccess(\Step\Api\Anonymous $I) {
+ $I->connectToTheApi($this->apiUrl. '/9999999', 'the download API');
+ }
+
+ public function downloadFile(\Step\Api\User $I) {
+ $I->am('an app');
+ $I->wantTo('download a file');
+
+ $I->getUserCredentialsAndUseHttpAuthentication();
+ $data = $I->getFilesDataForFolder('');
+ $file = $data[0];
+ $url = $this->apiUrl . '/' . $file['id'];
+ $I->sendGET($url);
+ $I->downloadAFile($file);
+ }
+
+ public function fileNotFoundPage(\Step\Api\User $I) {
+ $I->am('an app');
+ $I->wantTo('download a file without a valid fileId');
+ $I->amGoingTo("send a fileId which doesn't exist");
+ $I->expectTo("be redirected to an error 404 page");
+ $I->getUserCredentialsAndUseHttpAuthentication();
+ $url = $this->apiUrl . '/9999999';
+ $I->sendGET($url);
+ $I->seeResponseCodeIs(404);
+ $I->seeHttpHeader('Content-type', 'text/html; charset=UTF-8');
+ }
+}
diff --git a/tests/api/DownloadWithTokenCest.php b/tests/api/DownloadWithTokenCest.php
new file mode 100644
index 00000000..f2f12a0c
--- /dev/null
+++ b/tests/api/DownloadWithTokenCest.php
@@ -0,0 +1,74 @@
+<?php
+/**
+ * ownCloud - gallery
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Olivier Paroz <owncloud@interfasys.ch>
+ *
+ * @copyright Olivier Paroz 2015
+ */
+
+use Page\Gallery as GalleryApp;
+
+/**
+ * Class DownloadWithTokenCest
+ */
+class DownloadWithTokenCest {
+
+ private $apiUrl;
+ private $browserHeader = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
+
+ /**
+ * Sets up the environment for this series of tests
+ *
+ * @param ApiTester $I
+ */
+ public function _before(\Step\Api\TokenUser $I) {
+ $this->apiUrl = GalleryApp::$URL . 's/';
+ $I->haveHttpHeader('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
+ }
+
+ public function _after(ApiTester $I) {
+ }
+
+ public function downloadFile(\Step\Api\TokenUser $I) {
+ $I->am('a file owner');
+ $I->wantTo('insert a file in a forum');
+
+ $fileMetaData = $I->getSharedFileInformation();
+ $I->haveHttpHeader('Accept',$this->browserHeader);
+ $I->sendGET($this->apiUrl . $fileMetaData['token']);
+ $I->downloadAFile($fileMetaData);
+ }
+
+ public function downloadFileWithCustomFilename(\Step\Api\TokenUser $I) {
+ $I->am('a file owner');
+ $I->wantTo('insert a file in a forum');
+
+ $fileMetaData = $I->getSharedFileInformation();
+ // Note: The share file is a PNG
+ $filename = 'jackinabox.png';
+ $url = $this->apiUrl . $fileMetaData['token'] . '/' . $filename;
+ $I->haveHttpHeader('Accept',$this->browserHeader);
+ $I->sendGET($url);
+ $I->downloadAFile($fileMetaData, $filename);
+ }
+
+ /**
+ * When a token is not valid we get an error 400, NOT 404
+ *
+ * @param \Step\Api\TokenUser $I
+ */
+ public function fileNotFoundPage(\Step\Api\TokenUser $I) {
+ $I->am('a file owner');
+ $I->wantTo('insert a file in a forum');
+ $I->amGoingTo("send a bogus token");
+ $I->expectTo("be redirected to an error 400 page");
+ $I->haveHttpHeader('Accept',$this->browserHeader);
+ $I->sendGET($this->apiUrl . '1AmaW1cK3d70k3N');
+ $I->seeResponseCodeIs(400);
+ $I->seeHttpHeader('Content-type', 'text/html; charset=UTF-8');
+ }
+}
diff --git a/tests/api/GetPreviewCest.php b/tests/api/GetPreviewCest.php
index 2b205b57..8846725b 100644
--- a/tests/api/GetPreviewCest.php
+++ b/tests/api/GetPreviewCest.php
@@ -37,7 +37,7 @@ class GetPreviewCest {
* @param \Step\Api\Anonymous $I
*/
public function unauthorizedAccess(\Step\Api\Anonymous $I) {
- $I->connectToTheApi($this->apiUrl. '/12345/1920/1080', 'the preview API');
+ $I->connectToTheApi($this->apiUrl. '/9999999/1920/1080', 'the preview API');
}
public function getPreview(\Step\Api\User $I) {
@@ -48,15 +48,8 @@ class GetPreviewCest {
$data = $I->getFilesDataForFolder('');
$file = $data[0];
$url = $this->apiUrl . '/' . $file['id'] . '/1920/1080';
- $filename = urlencode($file['name']);
$I->sendGET($url);
- $I->seeResponseCodeIs(200);
- $I->seeHttpHeader('Content-type', $file['mediatype'] . '; charset=utf-8');
- $I->seeHttpHeader(
- 'Content-Disposition', 'attachment; filename*=UTF-8\'\'' . $filename . '; filename="'
- . $filename . '"'
- );
-
+ $I->downloadAFile($file);
}
public function emptyResponse(\Step\Api\User $I) {
@@ -65,7 +58,7 @@ class GetPreviewCest {
$I->amGoingTo("send a fileId which doesn't exist");
$I->expectTo("receive a 404");
$I->getUserCredentialsAndUseHttpAuthentication();
- $url = $this->apiUrl . '/0/1920/1080';
+ $url = $this->apiUrl . '/9999999/1920/1080';
$I->sendGET($url);
$I->seeResponseCodeIs(404);
}
diff --git a/tests/integration/GalleryIntegrationTest.php b/tests/integration/GalleryIntegrationTest.php
index 43149877..086a5736 100644
--- a/tests/integration/GalleryIntegrationTest.php
+++ b/tests/integration/GalleryIntegrationTest.php
@@ -50,7 +50,7 @@ abstract class GalleryIntegrationTest extends \Codeception\TestCase\Test {
/** @var string */
public $sharedFileToken;
/** @var string */
- public $passwordForShares;
+ public $passwordForFolderShare;
/** @var Folder */
protected $sharedFolder;
/** @var string */
@@ -95,7 +95,7 @@ abstract class GalleryIntegrationTest extends \Codeception\TestCase\Test {
$this->sharedFileName = $this->sharedFile->getName();
$this->sharedFolderToken = $setupData->sharedFolderToken;
$this->sharedFileToken = $setupData->sharedFileToken;
- $this->passwordForShares = $setupData->passwordForShares;
+ $this->passwordForFolderShare = $setupData->passwordForFolderShare;
}
protected function _after() {
diff --git a/tests/integration/environment/EnvironmentTest.php b/tests/integration/environment/EnvironmentTest.php
index 5ec31dc8..b50f8945 100644
--- a/tests/integration/environment/EnvironmentTest.php
+++ b/tests/integration/environment/EnvironmentTest.php
@@ -124,7 +124,7 @@ class EnvironmentTest extends GalleryIntegrationTest {
// The password is defined in the bootstrap
$this->assertTrue(
$this->server->getHasher()
- ->verify($this->passwordForShares, $result)
+ ->verify($this->passwordForFolderShare, $result)
);
}
diff --git a/tests/unit/controller/FilesApiControllerTest.php b/tests/unit/controller/FilesApiControllerTest.php
new file mode 100644
index 00000000..e0f00ddb
--- /dev/null
+++ b/tests/unit/controller/FilesApiControllerTest.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * ownCloud - gallery
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Olivier Paroz <owncloud@interfasys.ch>
+ *
+ * @copyright Olivier Paroz 2015
+ */
+
+namespace OCA\Gallery\Controller;
+
+require_once __DIR__ . '/FilesControllerTest.php';
+
+/**
+ * Class FilesApiControllerTest
+ *
+ * @package OCA\Gallery\Controller
+ */
+class FilesApiControllerTest extends FilesControllerTest {
+
+ public function setUp() {
+ parent::setUp();
+ $this->controller = new FilesController(
+ $this->appName,
+ $this->request,
+ $this->urlGenerator,
+ $this->searchFolderService,
+ $this->configService,
+ $this->searchMediaService,
+ $this->downloadService,
+ $this->logger
+ );
+ }
+
+}
diff --git a/tests/unit/controller/FilesControllerTest.php b/tests/unit/controller/FilesControllerTest.php
new file mode 100644
index 00000000..8aaaf9fe
--- /dev/null
+++ b/tests/unit/controller/FilesControllerTest.php
@@ -0,0 +1,202 @@
+<?php
+/**
+ * ownCloud - gallery
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Olivier Paroz <owncloud@interfasys.ch>
+ *
+ * @copyright Olivier Paroz 2015
+ */
+
+namespace OCA\Gallery\Controller;
+
+use OCP\IRequest;
+use OCP\IURLGenerator;
+use OCP\ILogger;
+
+use OCP\AppFramework\IAppContainer;
+use OCP\AppFramework\Http;
+use OCP\AppFramework\Http\RedirectResponse;
+
+use OCA\Gallery\AppInfo\Application;
+use OCA\Gallery\Http\ImageResponse;
+use OCA\Gallery\Service\SearchFolderService;
+use OCA\Gallery\Service\ConfigService;
+use OCA\Gallery\Service\SearchMediaService;
+use OCA\Gallery\Service\DownloadService;
+
+/**
+ * Class FilesControllerTest
+ *
+ * @package OCA\Gallery\Controller
+ */
+class FilesControllerTest extends \Test\TestCase {
+
+ /** @var IAppContainer */
+ protected $container;
+ /** @var string */
+ protected $appName = 'gallery';
+ /** @var IRequest */
+ protected $request;
+ /** @var ConfigController */
+ protected $controller;
+ /** @var IURLGenerator */
+ protected $urlGenerator;
+ /** @var SearchFolderService */
+ protected $searchFolderService;
+ /** @var ConfigService */
+ protected $configService;
+ /** @var SearchMediaService */
+ protected $searchMediaService;
+ /** @var DownloadService */
+ protected $downloadService;
+ /** @var ILogger */
+ protected $logger;
+
+ /**
+ * Test set up
+ */
+ public function setUp() {
+ parent::setUp();
+
+ $app = new Application;
+ $this->container = $app->getContainer();
+ $this->container['UserFolder'] = $this->getMockBuilder('OCP\Files\Folder')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->request = $this->getMockBuilder('\OCP\IRequest')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->urlGenerator = $this->getMockBuilder('\OCP\IURLGenerator')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->searchFolderService =
+ $this->getMockBuilder('\OCA\Gallery\Service\SearchFolderService')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->configService = $this->getMockBuilder('\OCA\Gallery\Service\ConfigService')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->searchMediaService = $this->getMockBuilder('\OCA\Gallery\Service\SearchMediaService')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->downloadService = $this->getMockBuilder('\OCA\Gallery\Service\DownloadService')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->logger = $this->getMockBuilder('\OCP\ILogger')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->controller = new FilesController(
+ $this->appName,
+ $this->request,
+ $this->urlGenerator,
+ $this->searchFolderService,
+ $this->configService,
+ $this->searchMediaService,
+ $this->downloadService,
+ $this->logger
+ );
+ }
+
+ public function testDownload() {
+ $fileId = 1234;
+ $filename = null;
+
+ $download = $this->mockGetDownload($fileId, $filename);
+
+ /** @type ImageResponse $response */
+ $response = $this->controller->download($fileId, $filename);
+
+ $this->assertEquals(Http::STATUS_OK, $response->getStatus());
+ $this->assertEquals(
+ $download['mimetype'] . '; charset=utf-8', $response->getHeaders()['Content-type']
+ );
+ $this->assertEquals($download['preview'], $response->render());
+ }
+
+ public function testDownloadWithWrongId() {
+ $fileId = 99999;
+ $filename = null;
+
+ $this->mockGetDownloadWithWrongId($fileId);
+
+ $redirect = new RedirectResponse(
+ $this->urlGenerator->linkToRoute($this->appName . '.page.error_page')
+ );
+
+ $response = $this->controller->download($fileId, $filename);
+
+ $this->assertEquals($redirect->getRedirectURL(), $response->getRedirectURL());
+ }
+
+
+ /**
+ * Mocks Files->getDownload
+ *
+ * @param int $fileId the ID of the file of which we need a large preview of
+ * @param string|null $filename
+ *
+ * @return array
+ */
+ private function mockGetDownload($fileId, $filename) {
+ $file = $this->mockFile($fileId);
+
+ $this->downloadService->expects($this->once())
+ ->method('getResourceFromId')
+ ->with($this->equalTo($fileId))
+ ->willReturn($file);
+
+ $download = [
+ 'preview' => $file->getContent(),
+ 'mimetype' => $file->getMimeType(),
+ ];
+
+ if ($download) {
+ if (is_null($filename)) {
+ $filename = $file->getName();
+ }
+ $download['name'] = $filename;
+ }
+
+ $this->downloadService->expects($this->once())
+ ->method('downloadFile')
+ ->with($this->equalTo($file))
+ ->willReturn($download);
+
+ return $download;
+ }
+
+ /**
+ * @param int $fileId
+ */
+ private function mockGetDownloadWithWrongId($fileId) {
+ $this->downloadService->expects($this->once())
+ ->method('getResourceFromId')
+ ->with($this->equalTo($fileId))
+ ->willReturn(false);
+ }
+
+ /**
+ * @param $fileId
+ *
+ * @return object|\PHPUnit_Framework_MockObject_MockObject
+ */
+ private function mockFile($fileId) {
+ $file = $this->getMockBuilder('OCP\Files\File')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $file->method('getId')
+ ->willReturn($fileId);
+ $file->method('getContent')
+ ->willReturn(file_get_contents(\OC::$SERVERROOT . '/tests/data/testimage.jpg'));
+ $file->method('getName')
+ ->willReturn('testimage.jpg');
+ $file->method('getMimeType')
+ ->willReturn('image/jpeg');
+
+ return $file;
+ }
+
+}
diff --git a/tests/unit/controller/FilesPublicControllerTest.php b/tests/unit/controller/FilesPublicControllerTest.php
new file mode 100644
index 00000000..5af98480
--- /dev/null
+++ b/tests/unit/controller/FilesPublicControllerTest.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * ownCloud - gallery
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Olivier Paroz <owncloud@interfasys.ch>
+ *
+ * @copyright Olivier Paroz 2015
+ */
+
+namespace OCA\Gallery\Controller;
+
+require_once __DIR__ . '/FilesControllerTest.php';
+/**
+ * Class FilesPublicControllerTest
+ *
+ * @package OCA\Gallery\Controller
+ */
+class FilesPublicControllerTest extends FilesControllerTest {
+
+ public function setUp() {
+ parent::setUp();
+ $this->controller = new FilesController(
+ $this->appName,
+ $this->request,
+ $this->urlGenerator,
+ $this->searchFolderService,
+ $this->configService,
+ $this->searchMediaService,
+ $this->downloadService,
+ $this->logger
+ );
+ }
+
+}