# HG changeset patch # User cavaliet # Date 1300898076 -3600 # Node ID 2e2989c3072c88a1df669c1b5aa5140d91d3ac30 # Parent ba02faf089df3d2d75769329acbaac1a4b97c395# Parent 5cba2808cde062d4137b857ef3e7f8e72a2eae99 fusionner diff -r 5cba2808cde0 -r 2e2989c3072c .hgignore --- a/.hgignore Thu Feb 17 18:43:37 2011 +0100 +++ b/.hgignore Wed Mar 23 17:34:36 2011 +0100 @@ -23,4 +23,13 @@ ^src/ldt/dist$ syntax: regexp -^web/static/media/ldt$ \ No newline at end of file +^web/static/media/ldt$ +syntax: regexp +^virtualenv/setup/project-boot\.py$ +syntax: regexp +^virtualenv/setup/env/ + +syntax: regexp +^src/ldt/build$ +syntax: regexp +^src/ldt/ldt\.egg-info$ \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c .pydevproject --- a/.pydevproject Thu Feb 17 18:43:37 2011 +0100 +++ b/.pydevproject Wed Mar 23 17:34:36 2011 +0100 @@ -1,11 +1,11 @@ - - - - -python_platform -python 2.6 - -/platform/src/ldt -/platform/web - - + + + + +python_platform +python 2.6 + +/platform/src/ldt +/platform/web + + diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_flat_75_ffffff_40x100.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_flat_75_ffffff_40x100.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_glass_65_ffffff_1x400.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_glass_65_ffffff_1x400.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_glass_75_dadada_1x400.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_glass_75_dadada_1x400.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png Binary file client/player/res/css/jq-css/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-icons_222222_256x240.png Binary file client/player/res/css/jq-css/themes/base/images/ui-icons_222222_256x240.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-icons_2e83ff_256x240.png Binary file client/player/res/css/jq-css/themes/base/images/ui-icons_2e83ff_256x240.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-icons_454545_256x240.png Binary file client/player/res/css/jq-css/themes/base/images/ui-icons_454545_256x240.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-icons_888888_256x240.png Binary file client/player/res/css/jq-css/themes/base/images/ui-icons_888888_256x240.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/images/ui-icons_cd0a0a_256x240.png Binary file client/player/res/css/jq-css/themes/base/images/ui-icons_cd0a0a_256x240.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/css/jq-css/themes/base/jquery-ui.css --- a/client/player/res/css/jq-css/themes/base/jquery-ui.css Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,570 +0,0 @@ -/* - * jQuery UI CSS Framework @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } -/* - * jQuery UI Accordion @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Accordion#theming - */ -/* IE/Win - Fix animation bug - #4615 */ -.ui-accordion { width: 100%; } -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { display: inline; } -.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } -.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } -.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } -.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } -.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; }/* - * jQuery UI Autocomplete @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Datepicker @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; } -.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } -.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } -.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } -.ui-datepicker .ui-datepicker-prev { left:2px; } -.ui-datepicker .ui-datepicker-next { right:2px; } -.ui-datepicker .ui-datepicker-prev-hover { left:1px; } -.ui-datepicker .ui-datepicker-next-hover { right:1px; } -.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } -.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } -.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } -.ui-datepicker select.ui-datepicker-month-year {width: 100%;} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} -.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } -.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } -.ui-datepicker td { border: 0; padding: 1px; } -.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } -.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } -.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { width:auto; } -.ui-datepicker-multi .ui-datepicker-group { float:left; } -.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } -.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } -.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } -.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; } - -/* RTL support */ -.ui-datepicker-rtl { direction: rtl; } -.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } -.ui-datepicker-rtl .ui-datepicker-group { float:right; } -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } - -/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ -.ui-datepicker-cover { - display: none; /*sorry for IE5*/ - display/**/: block; /*sorry for IE5*/ - position: absolute; /*must have*/ - z-index: -1; /*must have*/ - filter: mask(); /*must have*/ - top: -4px; /*must have*/ - left: -4px; /*must have*/ - width: 200px; /*must have*/ - height: 200px; /*must have*/ -}/* - * jQuery UI Dialog @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog#theming - */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } -.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } -.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } -.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } -.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } -/* - * jQuery UI Progressbar @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar#theming - */ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* - * jQuery UI Resizable @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizable#theming - */ -.ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} -.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } -.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } -.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } -.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } -.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* - * jQuery UI Selectable @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectable#theming - */ -.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } -/* - * jQuery UI Slider @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Slider#theming - */ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Tabs#theming - */ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* - * jQuery UI CSS Framework @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/ - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } -.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } -.ui-widget-content a { color: #222222/*{fcContent}*/; } -.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } -.ui-widget-header a { color: #222222/*{fcHeader}*/; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } -.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } -.ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } -.ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } -.ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } -.ui-corner-top { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } -.ui-corner-right { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } -.ui-corner-left { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } -.ui-corner-all { -moz-border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; border-radius: 4px/*{cornerRadius}*/; } - -/* Overlays */ -.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } -.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/res/js/jquery-ui.min.js --- a/client/player/res/js/jquery-ui.min.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,399 +0,0 @@ -/*! - * jQuery UI 1.8.4 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.4",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); -(function(b,j){var k=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 k.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(true,{},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!==j){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){b.data(c,this.widgetName,this);this.element=b(c);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===j)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); -(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); -(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.leftthis.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.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left').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=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=j&&f<=l||h>=j&&h<=l||fl)&&(e>= -i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), -top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= -this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", -nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== -String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/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,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); -this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; -if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), -d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset= -this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: -this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", -b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height; -f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", -b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="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,d=l(b.width)&&a.maxWidth&&a.maxWidthb.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, -k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ -a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this, -arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable, -{version:"1.8.4"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize, -function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n= -(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition= -false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left- -a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize", -b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top", -"Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset, -f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left= -a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+ -a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&& -e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative", -height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width= -d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(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("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, -c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", -c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= -this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){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=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]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute|| -"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")}, -_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!= -this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a= -this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable"); -if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h= -0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width= -this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f}, -update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b= -null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this)); -this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])? -g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive", -g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over= -0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e").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=k.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=k.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=k.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=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c, -a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+ -b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2, -10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)* -a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ -e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); -(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); -(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); -(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); -(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); -b.dequeue()})})}})(jQuery); -(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,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); -a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); -if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var f=d.closest(".ui-accordion-header");a.active=f.length?f:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",function(g){return a._keydown(g)}).next().attr("role", -"tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(g){a._clickHandler.call(a,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers); -this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex"); -this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); -b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,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())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; -if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected); -a.next().addClass("ui-accordion-content-active")}h=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):h,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(h,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); -this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},h=this.active=c([]);this._toggle(h,f,g)}},_toggle:function(a,b,d,f,g){var h=this,e=h.options;h.toShow=a;h.toHide=b;h.data=d;var j=function(){if(h)return h._completed.apply(h,arguments)};h._trigger("changestart",null,h.data);h.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),toHide:b,complete:j, -down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,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 i=e.duration,k=e.animated;if(k&&!f[k]&&!c.easing[k])k="slide";f[k]||(f[k]=function(l){this.slide(l,{easing:k,duration:i||700})}); -f[k](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.4",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={},h={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){h[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);g[i]={value:j[1], -unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(h,{step:function(j,i){if(i.prop=="height")f=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=f*g[i.prop].value+g[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",paddingTop:"hide", -paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); -(function(e){e.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},_create:function(){var a=this,b=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(c){if(!a.options.disabled){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage", -c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:case d.NUMPAD_ENTER:a.menu.element.is(":visible")&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay); -break}}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("
    ").addClass("ui-autocomplete").appendTo(e(this.options.appendTo||"body",b)[0]).mousedown(function(c){var d=a.menu.element[0]; -c.target===d&&setTimeout(function(){e(document).one("mousedown",function(f){f.target!==a.element[0]&&f.target!==d&&!e.ui.contains(d,f.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");var f=a.previous;if(a.element[0]!==b.activeElement){a.element.focus(); -a.previous=f}false!==a._trigger("select",c,{item:d})&&a.element.val(d.value);a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");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,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a,b;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(a,c.term))}}else if(typeof this.options.source==="string"){b=this.options.source;this.source=function(c,d){e.getJSON(b, -c,d)}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();if(a.length").data("item.autocomplete",b).append(e("").text(b.label)).appendTo(a)},_move:function(a, -b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value|| -d)})}})})(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(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});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(b){a.activate(b, -e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},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.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c, -this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}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 b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-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()").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?"-primary":"-secondary"));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary"); -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); -(function(d,G){function L(){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('
    ')}function E(a,b){d.extend(a, -b);for(var c in b)if(b[c]==null||b[c]==G)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.4"}});var y=(new Date).getTime();d.extend(L.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('
    ')}}, -_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(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== -""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, -c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), -true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}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-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){var b= -this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._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-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+112?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&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a)); -n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";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)?''+r+"":f?"":''+r+"";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?'":"";e=e?'
    '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
    ":"";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"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var M=this._getDefaultDate(a),I="",C=0;C1)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+='
    '+(/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)+'
    ';var A=k?'":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=A+"";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 O=0;O";var P=!k?"":'";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,K=B&&!H||!F[0]||j&&qo;P+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=P+""}g++;if(g>11){g=0;m++}x+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(q)+""+(B&&!w?" ":K?''+q.getDate()+ -"":''+q.getDate()+"")+"
    "+(l?""+(i[0]>0&&D==i[1]-1?'
    ':""):"");N+=x}I+=N}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': -"");a._keyEvent=false;return I},_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='
    ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";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+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
    ";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&&ba?a:b},_notifyChange:function(a){var b=this._get(a, -"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(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 L;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.4";window["DP_jQuery_"+y]=d})(jQuery); -(function(c,j){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",of:window,collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title"); -if(typeof this.originalTitle!=="string")this.originalTitle="";var a=this,b=a.options,d=b.title||a.originalTitle||" ",f=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
    ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(i){a.moveToTop(false, -i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var e=(a.uiDialogTitlebar=c("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i); -return false}).appendTo(e);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id",f).html(d).prependTo(e);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;e.find("*").add(e).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,f=d.options;if(f.modal&&!a||!f.stack&&!f.modal)return d._trigger("focus",b);if(f.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ= -f.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(f){if(f.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),e=g.filter(":first");g=g.filter(":last");if(f.target===g[0]&&!f.shiftKey){e.focus(1);return false}else if(f.target===e[0]&&f.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false, -f=c("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
    ").addClass("ui-dialog-buttonset").appendTo(f);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(e,h){e=c('').text(e).click(function(){h.apply(b.element[0],arguments)}).appendTo(g);c.fn.button&&e.button()});f.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(e){return{position:e.position, -offset:e.offset}}var b=this,d=b.options,f=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",e,a(h))},drag:function(e,h){b._trigger("drag",e,a(h))},stop:function(e,h){d.position=[h.position.left-f.scrollLeft(),h.position.top-f.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g); -b._trigger("dragStop",e,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}a=a===j?this.options.resizable:a;var d=this,f=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:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:d._minHeight(), -handles:a,start:function(e,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",e,b(h))},resize:function(e,h){d._trigger("resize",e,b(h))},stop:function(e,h){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();d._trigger("resizeStop",e,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],f;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,e){if(+b[g]===b[g]){d[g]=b[g];b[g]=e}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(f=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a); -f||this.uiDialog.hide()},_setOption:function(a,b){var d=this,f=d.uiDialog,g=f.is(":data(resizable)"),e=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);e=true;break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":f.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case "draggable":b? -d._makeDraggable():f.draggable("destroy");break;case "height":e=true;break;case "maxHeight":g&&f.resizable("option","maxHeight",b);e=true;break;case "maxWidth":g&&f.resizable("option","maxWidth",b);e=true;break;case "minHeight":g&&f.resizable("option","minHeight",b);e=true;break;case "minWidth":g&&f.resizable("option","minWidth",b);e=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&f.resizable("destroy");g&&typeof b==="string"&&f.resizable("option","handles",b);!g&&b!==false&& -d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break;case "width":e=true;break}c.Widget.prototype._setOption.apply(d,arguments);e&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();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.4",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("
    ").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 a0?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); -(function(b,c){b.widget("ui.progressbar",{options:{value:0},min:0,max:100,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this._value()});this.valueDiv=b("
    ").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===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a=this.value();this.valueDiv.toggleClass("ui-corner-right", -a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.4"})})(jQuery); -(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("
    ");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("
    ");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("").appendTo(this.element).addClass("ui-slider-handle"); -if(b.values&&b.values.length)for(;d(".ui-slider-handle",this.element).length").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"),h,g,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");h=a._start(c,f);if(h===false)return}break}i=a.options.step;h=a.options.values&&a.options.values.length?(g=a.values(f)):(g=a.value());switch(c.keyCode){case d.ui.keyCode.HOME:g=a._valueMin();break;case d.ui.keyCode.END:g=a._valueMax();break;case d.ui.keyCode.PAGE_UP:g=a._trimAlignValue(h+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:g=a._trimAlignValue(h-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(h=== -a._valueMax())return;g=a._trimAlignValue(h+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(h===a._valueMin())return;g=a._trimAlignValue(h-i);break}a._slide(c,f,g);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,h,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});e=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(i){var j=Math.abs(c-h.values(i));if(e>j){e=j;f=d(this);g=i}});if(b.range===true&&this.values(1)===b.min){g+=1;f=d(this.handles[g])}if(this._start(a, -g)===false)return false;this._mouseSliding=true;h._handleIndex=g;f.addClass("ui-state-active").focus();b=f.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-f.width()/2,top:a.pageY-b.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= -this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= -this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); -c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var 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&&c1){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;fthis._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,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({width:f- -g+"%"},{queue:false,duration:b.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:b.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,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.4"})})(jQuery); -(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
    ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(true)},_setOption:function(a,e){if(a=="selected")this.options.collapsible&& -e==this.options.selected||this.select(e);else{this.options[a]=e;this._tabify()}},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var a=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[a].concat(d.makeArray(arguments)))},_ui:function(a,e){return{tab:a,panel:e,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var a= -d(this);a.html(a.data("label.tabs")).removeData("label.tabs")})},_tabify:function(a){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var b=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| -(q=d("base")[0])&&l===q.href)){j=f.hash;f.href=j}if(h.test(j))b.panels=b.panels.add(b._sanitizeSelector(j));else if(j!=="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=b._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(c.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(b.panels[g-1]||b.list);f.data("destroy.tabs",true)}b.panels=b.panels.add(f)}else c.disabled.push(g)});if(a){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); -this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(b._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= -this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return b.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); -if(c.selected>=0&&this.anchors.length){this.panels.eq(c.selected).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");b.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[c.selected],b.panels[c.selected]))});this.load(c.selected)}d(window).bind("unload",function(){b.lis.add(b.anchors).unbind(".tabs");b.lis=b.anchors=b.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[c.collapsible?"addClass": -"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);a=0;for(var i;i=this.lis[a];a++)d(i)[d.inArray(a,c.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", -function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);b._trigger("show", -null,b._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");b._trigger("show",null,b._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);b.element.dequeue("tabs")})}:function(g,f){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");b.element.dequeue("tabs")};this.anchors.bind(c.event+".tabs", -function(){var g=this,f=d(g).closest("li"),j=b.panels.filter(":not(.ui-tabs-hide)"),l=d(b._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||b._trigger("select",null,b._ui(this,l[0]))===false){this.blur();return false}c.selected=b.anchors.index(this);b.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){s(g, -j)}).dequeue("tabs");this.blur();return false}else if(!j.length){c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this));this.blur();return false}c.cookie&&b._cookie(c.selected,c.cookie);if(l.length){j.length&&b.element.queue("tabs",function(){s(g,j)});b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", -function(){return false})},_getIndex:function(a){if(typeof a=="string")a=this.anchors.index(this.anchors.filter("[href$="+a+"]"));return a},destroy:function(){var a=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 b=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){b.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")});a.cookie&&this._cookie(null,a.cookie);return this},add:function(a,e,b){if(b===p)b=this.anchors.length; -var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,a).replace(/#\{label\}/g,e));a=!a.indexOf("#")?a.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var i=d("#"+a);i.length||(i=d(h.panelTemplate).attr("id",a).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(b>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[b]); -i.insertBefore(this.panels[b])}h.disabled=d.map(h.disabled,function(k){return k>=b?++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(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[b],this.panels[b]));return this},remove:function(a){a=this._getIndex(a);var e=this.options,b=this.lis.eq(a).remove(),c=this.panels.eq(a).remove(); -if(b.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(a+(a+1=a?--h:h});this._tabify();this._trigger("remove",null,this._ui(b.find("a")[0],c[0]));return this},enable:function(a){a=this._getIndex(a);var e=this.options;if(d.inArray(a,e.disabled)!=-1){this.lis.eq(a).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(b){return b!=a});this._trigger("enable",null, -this._ui(this.anchors[a],this.panels[a]));return this}},disable:function(a){a=this._getIndex(a);var e=this.options;if(a!=e.selected){this.lis.eq(a).addClass("ui-state-disabled");e.disabled.push(a);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))}return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this}, -load:function(a){a=this._getIndex(a);var e=this,b=this.options,c=this.anchors.eq(a)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(a).addClass("ui-state-processing");if(b.spinner){var i=d("span",c);i.data("label.tabs",i.html()).html(b.spinner)}this.xhr=d.ajax(d.extend({},b.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();b.cache&&d.data(c,"cache.tabs", -true);e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.error(k,n,a,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(a, -e){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.4"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(a,e){var b=this,c=this.options,h=b._rotate||(b._rotate=function(i){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var k=c.selected;b.select(++k)[^>]*$|^#([\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
    a"; -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="";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-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=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=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-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;j0){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":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=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 hl[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=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";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=""; -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="

    ";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="
    ";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=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},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-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=/"},F={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_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
    ","
    "];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;b0||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;e0?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]===""&&!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=//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("
    ").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").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=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.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 -r 5cba2808cde0 -r 2e2989c3072c client/player/res/js/jquery.tools.min.js --- a/client/player/res/js/jquery.tools.min.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,116 +0,0 @@ -/* - * jQuery Tools 1.2.4 - 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 Aug 18 09:10:10 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="

    Flash version "+b.version+ -" or greater is required

    "+(g[0]>0?"Your version is "+g:"You have no flash plugin installed")+"

    "+(a.tagName=="A"?"

    Click here to download latest version

    ":"

    Download latest version from here

    ");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='';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+= -'';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+='"}c+="";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.4"};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.4"};b.tools.history={init:function(c){if(!i){if(b.browser.msie&&b.browser.version<"8"){if(!d){d=b("";var tm=b.firstChild;tm.src="//api.tweetmeme.com/button.js?url="+_euc(attr.share.url)+"&"+passthrough}else{if(sv==="facebook_like"){var fblike;passthrough=_ate.util.toKV(_parseThirdPartyAttributes(b,"fb:like"));if(!_ate.bro.msi){fblike=d.ce("iframe")}else{b.innerHTML='";fblike=b.firstChild}fblike.style.overflow="hidden";fblike.style.border="none";fblike.style.borderWidth="0px";fblike.style.width="82px";fblike.style.height="25px";fblike.style.marginTop="-2px";fblike.src="//www.facebook.com/plugins/like.php?href="+_euc(attr.share.url)+"&layout=button_count&show_faces=false&width=100&action=like&font=arial&"+passthrough;if(!_ate.bro.msi){b.appendChild(fblike)}}else{if(sv.indexOf("preferred")>-1){if(b._iss){continue}window.addthis_product="tbx-"+_atc.ver;s=c.match(/addthis_button_preferred_([0-9]+)(?:\s|$)/);var svidx=((s&&s.length)?Math.min(12,Math.max(1,parseInt(s[1]))):1)-1;if(window._atw){var excl=_atw.conf.services_exclude,locopts=_atw.loc,opts=_uniquify(addthis_options.replace(",more","").split(",").concat(locopts.split(",")));do{sv=opts[svidx++]}while((excl.indexOf(sv)>-1||(b.parentNode.services||{})[sv])&&svidx-1){if(!b.parentNode.services){b.parentNode.services={}}b.parentNode.services[sv]=1}if(!hc&&c.indexOf(a)==-1){b.className+=" "+a+"b"}options={singleservice:sv}}}if(b._ips){if(!options){options={}}options.issh=true}_render([b],attr,options);b.ost=1;window.addthis_product="tbx-"+_atc.ver}}}},gat=function(s,au,conf,share){var pageTracker=conf.data_ga_tracker,propertyId=conf.data_ga_property;if(propertyId&&typeof(window._gat)=="object"){pageTracker=_gat._getTracker(propertyId)}if(pageTracker&&typeof(pageTracker)=="string"){pageTracker=window[pageTracker]}if(pageTracker&&typeof(pageTracker)=="object"){var gaUrl=au||(share||{}).url||location.href;if(gaUrl.toLowerCase().replace("https","http").indexOf("http%3a%2f%2f")==0){gaUrl=_duc(gaUrl)}try{pageTracker._trackEvent("addthis",s,gaUrl)}catch(e){try{pageTracker._initData();pageTracker._trackEvent("addthis",s,gaUrl)}catch(e){}}}};_ate.gat=gat;addthis.update=function(which,what,value){if(which=="share"){if(!window.addthis_share){window.addthis_share={}}window.addthis_share[what]=value;upShare[what]=value;for(var i in addthis.links){var o=addthis.links[i],rx=new RegExp("&"+what+"=(.*)&"),ns="&"+what+"="+_euc(value)+"&";o.href=o.href.replace(rx,ns);if(o.href.indexOf(what)==-1){o.href+=ns}}for(var i in addthis.ems){var o=addthis.ems[i];o.href=genieu(addthis_share)}}else{if(which=="config"){if(!window.addthis_config){window.addthis_config={}}window.addthis_config[what]=value;upConfig[what]=value}}};addthis._render=_render;var rsrcs=[new _ate.resource.Resource("counter",_atr+"js/250/api.sharecounter.js",function(){return window.addthis.counter.ost}),new _ate.resource.Resource("countercss",_atr+"static/r07/counter40.css",function(){return true})];addthis.counter=function(what,config,share){if(what){what=addthis._select(what);if(what.length){for(var k in rsrcs){rsrcs[k].load()}}}};addthis.button=function(what,config,share){_render(what,{conf:config,share:share},{internal:"img"})};addthis.toolbox=function(what,config,share){var toolboxes=_select(what);for(var i=0;iB){delete a[d];_ate.cookie.sck("_atshc",o(a),0,1)}}},y=function(d){var a=_ate.cookie.rck("_atshc"),w=A(d)+1;u(d,w);if(!a){a={}}else{a=q(a)}if(a[d.url]){delete a[d.url]}a[_euc(d.url)]=w;_ate.cookie.sck("_atshc",o(a),0,1)},A=function(a){var d=0;if(a&&a.firstChild&&a.firstChild.firstChild){d=parseInt(a.firstChild.firstChild.nodeValue);if(isNaN(d)){d=0}}return d},u=function(d,D){if(!d){return}if(d.firstChild&&d.firstChild.nodeType==3){d.removeChild(d.firstChild)}if(!d.firstChild){var F=x.ce("a"),B=x.ce("a"),E=x.ce("span"),a=x.createTextNode("Share"),w=d.addthis_conf||{},C=d.addthis_share||{};F.className="addthis_button_expanded";B.className="atc_s addthis_button_compact";d.appendChild(F);d.appendChild(B);B.appendChild(E);E.appendChild(a);w.ui_offset_top=18;w.ui_offset_left=-4;addthis.button(B,w,C);addthis._render([F],{conf:w,share:C},{nohover:true,singleservice:"more"})}if(d.firstChild.firstChild){d.firstChild.removeChild(d.firstChild.firstChild)}D=x.createTextNode(D);d.firstChild.appendChild(D)},b=function(a,d){u(a,i(d))},f=[],l=function(a,B,C){var d=0,w=g(a.url);if(B.error){d="?"}else{d=B.shares}if(!isNaN(w)&&((isNaN(d)&&w>0)||w>d)){d=w}c(a.url,d);C(a,d)},m={},t={},v=function(a,w){if(!t[a.url]){t[a.url]=[]}t[a.url].push(a);if(m[a.url]){w(a,m[a.url])}else{_ate.ed.addEventListener("addthis.menu.share",function(B){try{if(B.data.service&&B.data.url==a.url){y(a)}}catch(B){}});var d="sc_"+encodeURIComponent(a.url).replace(/[0-3][A-Z]|[^a-zA-Z0-9]/g,"");if(!_ate.cbs){_ate.cbs={}}if(!_ate.cbs[d]){_ate.cbs[d]=function(C){if(s){img=new Image();z.imgz.push(img);img.src="//l.addthiscdn.com/live/t00/mu.gif?a=sc&t="+((new Date()).getTime()-_ate.cbs["time_"+d])}if(C&&!C.error&&C.shares){m[a.url]=C.shares}for(var B=0;B-1?addthis.util.getAttributes(a.parentNode,w,D):null,d=addthis.util.getAttributes(a,C?C.conf:w,C?C.share:D,true);if(!a.ost){a.url=d.share.url||(n.addthis_share||{}).url;a.addthis_conf=d.conf;a.addthis_share=d.share;a.ost=1;u(a,"--");v(a,function(F,G){b(F,G)})}}}};addthis.addEventListener("addthis.ready",function(){addthis.counter=function(w,a,d){h(w,a,d)};addthis.counter.ost=1;addthis.counter(".addthis_counter")});return addthis})()});_ate.extend(addthis,{user:(function(){var f=_ate,c=addthis,g={},d=0,j;function i(a,k){return f.reduce(["getID","getServiceShareHistory"],a,k)}function h(a,k){return function(l){setTimeout(function(){l(f[a]||k)},0)}}function b(){if(d){return}if(j!==null){clearTimeout(j)}j=null;d=1;i(function(l,a,k){g[a]=g[a].queuer.flush(h.apply(c,l[k]),c);return l},[["uid",""],["_ssh",[]]])}f._rec.push(b);j=setTimeout(b,5000);g.getPreferredServices=function(a){if(window._atw){a(addthis_options.split(","))}else{f.plo.push(["pref",a]);_ate.alg();if(f.gssh){f.pld=f.ajs("static/r07/menu57.js")}else{if(!f.pld){f.pld=1;_ate._rec.push(function(k){if(k.ssh){_ate.pld=_ate.ajs("static/r07/menu57.js")}})}}}};return i(function(k,a){k[a]=(new c._Queuer(a)).call;return k},g)})()}); \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/ajax-responder.js --- a/client/player/test/emission_fichiers/ajax-responder.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,347 +0,0 @@ -// $Id: ajax-responder.js,v 1.18.2.6 2010/01/22 06:48:08 merlinofchaos Exp $ -/** - * @file - * - * CTools flexible AJAX responder object. - */ - -(function ($) { - Drupal.CTools = Drupal.CTools || {}; - Drupal.CTools.AJAX = Drupal.CTools.AJAX || {}; - Drupal.CTools.AJAX.commands = Drupal.CTools.AJAX.commands || {}; - - /** - * Success callback for an ajax request. - * - * This function expects to receive a packet of data from a JSON object - * which is essentially a list of commands. Each commands must have a - * 'command' setting and this setting must resolve to a function in the - * Drupal.CTools.AJAX.commands space. - */ - Drupal.CTools.AJAX.respond = function(data) { - for (i in data) { - if (data[i]['command'] && Drupal.CTools.AJAX.commands[data[i]['command']]) { - Drupal.CTools.AJAX.commands[data[i]['command']](data[i]); - } - } - }; - - /** - * Generic replacement click handler to open the modal with the destination - * specified by the href of the link. - */ - Drupal.CTools.AJAX.clickAJAXLink = function() { - if ($(this).hasClass('ctools-ajaxing')) { - return false; - } - - var url = $(this).attr('href'); - var object = $(this); - $(this).addClass('ctools-ajaxing'); - try { - url = url.replace(/nojs/g, 'ajax'); - $.ajax({ - type: "POST", - url: url, - data: { 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - }, - dataType: 'json' - }); - } - catch (err) { - alert("An error occurred while attempting to process " + url); - $(this).removeClass('ctools-ajaxing'); - return false; - } - - return false; - }; - - /** - * Generic replacement click handler to open the modal with the destination - * specified by the href of the link. - */ - Drupal.CTools.AJAX.clickAJAXButton = function() { - if ($(this).hasClass('ctools-ajaxing')) { - return false; - } - - // Put our button in. - this.form.clk = this; - - var url = Drupal.CTools.AJAX.findURL(this); - $(this).addClass('ctools-ajaxing'); - var object = $(this); - try { - if (url) { - url = url.replace('/nojs/', '/ajax/'); - $.ajax({ - type: "POST", - url: url, - data: { 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - }, - dataType: 'json' - }); - } - else { - var form = this.form; - url = $(form).attr('action'); - url = url.replace('/nojs/', '/ajax/'); - $(form).ajaxSubmit({ - type: "POST", - url: url, - data: { 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - }, - dataType: 'json' - }); - } - } - catch (err) { - alert("An error occurred while attempting to process " + url); - $(this).removeClass('ctools-ajaxing'); - return false; - } - return false; - }; - - /** - * Display error in a more fashion way - */ - Drupal.CTools.AJAX.handleErrors = function(xhr, path) { - var error_text = ''; - - if ((xhr.status == 500 && xhr.responseText) || xhr.status == 200) { - error_text = xhr.responseText; - - // Replace all < and > by < and > - error_text = error_text.replace("/&(lt|gt);/g", function (m, p) { - return (p == "lt")? "<" : ">"; - }); - - // Now, replace all html tags by empty spaces - error_text = error_text.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,""); - - // Fix end lines - error_text = error_text.replace(/[\n]+\s+/g,"\n"); - } - else if (xhr.status == 500) { - error_text = xhr.status + ': ' + Drupal.t("Internal server error. Please see server or PHP logs for error information."); - } - else { - error_text = xhr.status + ': ' + xhr.statusText; - } - - alert(Drupal.t("An error occurred at @path.\n\nError Description: @error", {'@path': path, '@error': error_text})); - } - - /** - * Generic replacement for change handler to execute ajax method. - */ - Drupal.CTools.AJAX.changeAJAX = function () { - if ($(this).hasClass('ctools-ajaxing')) { - return false; - } - - var url = Drupal.CTools.AJAX.findURL(this); - $(this).addClass('ctools-ajaxing'); - var object = $(this); - var form_id = $(object).parents('form').get(0).id; - try { - if (url) { - url = url.replace('/nojs/', '/ajax/'); - $.ajax({ - type: "POST", - url: url, - data: {'ctools_changed': $(this).val(), 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - if ($(object).hasClass('ctools-ajax-submit-onchange')) { - $('form#' + form_id).submit(); - } - }, - dataType: 'json' - }); - } - else { - if ($(object).hasClass('ctools-ajax-submit-onchange')) { - $('form#' + form_id).submit(); - } - return false; - } - } - catch (err) { - alert("An error occurred while attempting to process " + url); - $(this).removeClass('ctools-ajaxing'); - return false; - } - return false; - }; - - /** - * Find a URL for an AJAX button. - * - * The URL for this gadget will be composed of the values of items by - * taking the ID of this item and adding -url and looking for that - * class. They need to be in the form in order since we will - * concat them all together using '/'. - */ - Drupal.CTools.AJAX.findURL = function(item) { - var url = ''; - var url_class = '.' + $(item).attr('id') + '-url'; - $(url_class).each( - function() { - if (url && $(this).val()) { - url += '/'; - } - url += $(this).val(); - }); - return url; - }; - - Drupal.CTools.AJAX.commands.prepend = function(data) { - $(data.selector).prepend(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.append = function(data) { - $(data.selector).append(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.replace = function(data) { - $(data.selector).replaceWith(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.after = function(data) { - var object = $(data.data); - $(data.selector).after(object); - Drupal.attachBehaviors(object); - }; - - Drupal.CTools.AJAX.commands.before = function(data) { - var object = $(data.data); - $(data.selector).before(object); - Drupal.attachBehaviors(object); - }; - - Drupal.CTools.AJAX.commands.html = function(data) { - $(data.selector).html(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.remove = function(data) { - $(data.selector).remove(); - }; - - Drupal.CTools.AJAX.commands.changed = function(data) { - if (!$(data.selector).hasClass('changed')) { - $(data.selector).addClass('changed'); - if (data.star) { - $(data.selector).find(data.star).append(' * '); - } - } - }; - - Drupal.CTools.AJAX.commands.alert = function(data) { - alert(data.text, data.title); - }; - - Drupal.CTools.AJAX.commands.css = function(data) { - /* - if (data.selector && data.selector.contains('* html ')) { - // This indicates an IE hack and we should only do it if we are IE. - if (!jQuery.browser.msie) { - return; - } - data.selector = data.selector.replace('* html ', ''); - } - */ - $(data.selector).css(data.argument); - }; - - Drupal.CTools.AJAX.commands.settings = function(data) { - $.extend(Drupal.settings, data.argument); - }; - - Drupal.CTools.AJAX.commands.data = function(data) { - $(data.selector).data(data.name, data.value); - }; - - Drupal.CTools.AJAX.commands.attr = function(data) { - $(data.selector).attr(data.name, data.value); - }; - - Drupal.CTools.AJAX.commands.restripe = function(data) { - // :even and :odd are reversed because jquery counts from 0 and - // we count from 1, so we're out of sync. - $('tbody tr:not(:hidden)', $(data.selector)) - .removeClass('even') - .removeClass('odd') - .filter(':even') - .addClass('odd') - .end() - .filter(':odd') - .addClass('even'); - }; - - Drupal.CTools.AJAX.commands.redirect = function(data) { - location.href = data.url; - }; - - Drupal.CTools.AJAX.commands.reload = function(data) { - location.reload(); - }; - - Drupal.CTools.AJAX.commands.submit = function(data) { - $(data.selector).submit(); - } - - - /** - * Bind links that will open modals to the appropriate function. - */ - Drupal.behaviors.CToolsAJAX = function(context) { - // Bind links - $('a.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) - .addClass('ctools-use-ajax-processed') - .click(Drupal.CTools.AJAX.clickAJAXLink); - - // Bind buttons - $('input.ctools-use-ajax:not(.ctools-use-ajax-processed), button.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) - .addClass('ctools-use-ajax-processed') - .click(Drupal.CTools.AJAX.clickAJAXButton); - - // Bind select - $('select, input:text, input:radio, input:checkbox', context) - .filter('.ctools-use-ajax-onchange:not(.ctools-use-ajax-processed)') - .addClass('ctools-use-ajax-processed') - .change(Drupal.CTools.AJAX.changeAJAX); - }; -})(jQuery); diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/baudin.jpg Binary file client/player/test/emission_fichiers/baudin.jpg has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/comment.js --- a/client/player/test/emission_fichiers/comment.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -// $Id: comment.js,v 1.5 2007/09/12 18:29:32 goba Exp $ - -Drupal.behaviors.comment = function (context) { - var parts = new Array("name", "homepage", "mail"); - var cookie = ''; - for (i=0;i<3;i++) { - cookie = Drupal.comment.getCookie('comment_info_' + parts[i]); - if (cookie != '') { - $("#comment-form input[name=" + parts[i] + "]:not(.comment-processed)", context) - .val(cookie) - .addClass('comment-processed'); - } - } -}; - -Drupal.comment = {}; - -Drupal.comment.getCookie = function(name) { - var search = name + '='; - var returnValue = ''; - - if (document.cookie.length > 0) { - offset = document.cookie.indexOf(search); - if (offset != -1) { - offset += search.length; - var end = document.cookie.indexOf(';', offset); - if (end == -1) { - end = document.cookie.length; - } - returnValue = decodeURIComponent(document.cookie.substring(offset, end).replace(/\+/g, '%20')); - } - } - - return returnValue; -}; diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/css_8af77a07a1f960afe4e4736580827c7c.css --- a/client/player/test/emission_fichiers/css_8af77a07a1f960afe4e4736580827c7c.css Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -.header-footer{display:none;} \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css --- a/client/player/test/emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -.header-footer{font-family:'FreeSans','Arial';font-size:11pt;}.clearer{clear:both;height:0;width:0;} -#header-commun{margin:7px 0 0px 0;padding:0 0 0px;border-bottom:1px solid #DDDDDD;}body.blogs #header-commun{margin:7px 0 12px 0;}#header-content{ -width:1000px;margin:0 auto;}#header-commun ul{margin:0 auto 3px auto;padding:0; -float:left;}#header-commun li{display:inline;list-style-type:circle;background:transparent url(/sites/all/themes/franceculture/images/circle.png) no-repeat scroll 0 2px;padding:0 6px 0 24px;}#header-commun li.first-header{list-style-type:none;background:transparent none repeat scroll 0 0;padding-left:0;}#header-commun li.last-header{padding-right:0;}#header-commun li a{text-decoration:none;color:#000000;font-weight:normal;}#header-commun li a:hover{text-decoration:underline;}#header-commun li a:visited{} -#header-commun form{float:left;}#header-commun form input{margin:0;padding:0;float:left;}#header-commun form #recherche_site{background-image:url(/sites/all/themes/franceculture/images/input.png);background-repeat:no-repeat;border:medium none;height:21px;padding:3px 0 3px 5px;}#header-commun form #submit_recherche{background:transparent url(/sites/all/themes/franceculture/images/submit.png) no-repeat scroll 0 0;border:none;color:#FFFFFF;font-size:9pt;font-weight:bold;height:22px;padding:0 0 5px;width:22px;} - - -#footer-commun{background:transparent url(/sites/all/themes/franceculture/images/fondu.png) repeat-x scroll 0 0;padding:0px 0 0 0;}.content-header-footer{padding:25px 0 0 0;background-color:#ffffff;}#footer-commun li{list-style-type:none;}.footer-franceculture a{color:#000000;text-decoration:none;font-weight:normal;}#footer-chaine{margin:0 auto;padding:0 0 10px 0;width:1000px;font-size:12px;}#sous-footer{border-top:1px solid #929292;}#footer-rf{margin:0 auto;padding:15px 0 0 0;width:1000px;}#footer-rf a:hover{color:#1454a1;} -.colonne-footer{float:left;margin-left:35px;}.colonne-footer-first{margin-left:0;}.colonne-footer h4{font-size:13pt;margin:0 0 10px;padding:0;color:#000000;}.colonne-footer ul{margin:0;padding:0;}.colonne-footer li{margin:0;padding:2px 0;} -#colonne-liens-footer{width:95px;}#colonne-liens-footer img{border:none;}#colonne-liens-footer p{margin:7px 0;}#colonne-liens-footer p a{background-color:#f0f0f0;padding:3px;}#colonne-liens-footer p a:hover{color:#ffffff;background-color:#aaaaaa;} -#colonne-ecouter-footer{width:90px;} -#colonne-thematique-footer{width:500px;height:1px;}#colonne-thematique-footer li{color:#929292;}#colonne-thematique-footer a:hover{color:#000000;font-weight:bold;text-decoration:underline;} -#colonne-partager-footer{width:205px;color:#929292;}#colonne-partager-footer div{margin-bottom:10px;}#liens-partage-footer li{padding:4px 0;width:102px;}#liens-partage-footer ul.gauche li{float:left;}#liens-partage-footer ul.gauche li.clearer{width:0;float:none;}#liens-partage-footer a{padding:0 0 2px 25px;}#facebook-footer a{background:transparent url(/sites/all/themes/franceculture/images/facebook-gris.png) no-repeat scroll 0 0;}#facebook-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/facebook-footer.png) no-repeat scroll 0 0;}#twitter-footer a{background:transparent url(/sites/all/themes/franceculture/images/twitter-gris.png) no-repeat scroll 0 0;}#twitter-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/twitter.png) no-repeat scroll 0 0;}#dailymotion-footer a{background:transparent url(/sites/all/themes/franceculture/images/dailymotion-gris.png) no-repeat scroll 0 0;}#dailymotion-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/dailymotion.png) no-repeat scroll 0 0;}#autres-footer a{background:transparent url(/sites/all/themes/franceculture/images/autres-gris.png) no-repeat scroll 0 0;}#autres-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/autres.png) no-repeat scroll 0 0;} -#footer-rf ul{margin:0;padding:0 10px 0 0;}#footer-rf li{display:inline;border-left:1px solid #000000;margin:0;padding:0 10px;}#footer-rf li.first{border:none;padding:0 10px 0 0;}#footer-rf li.last{padding:0 40px 0 10px;}#footer-rf .haut-de-page{background:transparent url(/sites/all/themes/franceculture/images/top.png) no-repeat scroll bottom left;font-size:10pt;padding:0 0 0 13px;}#footer-rf .last-page{border:none;float:right;margin-right:103px;}#footer-rf p{color:#929292;font-size:10pt;padding:5px 0 25px 0;margin:0;} - -.footer-franceculture a:hover,.footer-franceculture:hover,#footer-rf a#top-page:hover,.footer-franceculture .color-chaine a,.footer-franceculture .color-chaine{color:#773694;}a.gris{color:#929292;} -#pub-bottom-right{width:728px;} \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css --- a/client/player/test/emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,390 +0,0 @@ -.flickr_badge_wrapper{display:block;width:216px;margin:auto}.flickr_badge_image{float:left;width:100px;padding-right:8px;padding-top:8px;height:75px;overflow:hidden;}.flickr_badge_source{float:left;width:100px;padding-right:8px;padding-top:25px;}.flickr_badge_uber_wrapper{text-align:center;}.flickr_badge_source_txt{font-size:11px;}.twitterBlock ul li{list-style:none;padding:5px;margin:0;background-image:none;background-color:#ffffff;color:#575757;}.block .twitterBlock ul{padding:2px;margin:0;}.block .twitterUser{font-family:'Lucida Grande',sans-serif;font-size:15px;font-weight:normal;}.widget_ytb{width:264px;}.widget_ytb .ytb_vide_list{width:264px;display:block;}.widget_ytb .ytb_vide_list .ytb_item{width:88px;float:left;margin:0;padding:0;height:64px;}.widget_ytb .ytb_vide_list .ytb_item:hover{width:86px;float:left;margin:0;padding:0;height:62px;border:black solid 1px;} - -.node-unpublished{background-color:#fff4f4;}.preview .node{background-color:#ffffea;}#node-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#node-admin-buttons{float:left; - margin-left:0.5em; - clear:right;}td.revision-current{background:#ffc;}.node-form .form-text{display:block;width:95%;}.node-form .container-inline .form-text{display:inline;width:auto;}.node-form .standard{clear:both;}.node-form textarea{display:block;width:95%;}.node-form .attachments fieldset{float:none;display:block;}.terms-inline{display:inline;} - - -fieldset{margin-bottom:1em;padding:.5em;}form{margin:0;padding:0;}hr{height:1px;border:1px solid gray;}img{border:0;}table{border-collapse:collapse;}th{text-align:left; - padding-right:1em; - border-bottom:3px solid #ccc;} -.clear-block:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.clear-block{display:inline-block;}/* Hides from IE-mac \*/ -* html .clear-block{height:1%;}.clear-block{display:block;} - - - -body.drag{cursor:move;}th.active img{display:inline;}tr.even,tr.odd{background-color:#eee;border-bottom:1px solid #ccc;padding:0.1em 0.6em;}tr.drag{background-color:#fffff0;}tr.drag-previous{background-color:#ffd;}td.active{background-color:#ddd;}td.checkbox,th.checkbox{text-align:center;}tbody{border-top:1px solid #ccc;}tbody th{border-bottom:1px solid #ccc;}thead th{text-align:left; - padding-right:1em; - border-bottom:3px solid #ccc;} -.breadcrumb{padding-bottom:.5em}div.indentation{width:20px;height:1.7em;margin:-0.4em 0.2em -0.4em -0.4em; - padding:0.42em 0 0.42em 0.6em; - float:left;}div.tree-child{background:url(/misc/tree.png) no-repeat 11px center;}div.tree-child-last{background:url(/misc/tree-bottom.png) no-repeat 11px center;}div.tree-child-horizontal{background:url(/misc/tree.png) no-repeat -11px center;}.error{color:#e55;}div.error{border:1px solid #d77;}div.error,tr.error{background:#fcc;color:#200;padding:2px;}.warning{color:#e09010;}div.warning{border:1px solid #f0c020;}div.warning,tr.warning{background:#ffd;color:#220;padding:2px;}.ok{color:#008000;}div.ok{border:1px solid #00aa00;}div.ok,tr.ok{background:#dfd;color:#020;padding:2px;}.item-list .icon{color:#555;float:right; - padding-left:0.25em; - clear:right;}.item-list .title{font-weight:bold;}.item-list ul{margin:0 0 0.75em 0;padding:0;}.item-list ul li{margin:0 0 0.25em 1.5em; - padding:0;list-style:disc;}ol.task-list li.active{font-weight:bold;}.form-item{margin-top:1em;margin-bottom:1em;}tr.odd .form-item,tr.even .form-item{margin-top:0;margin-bottom:0;white-space:nowrap;}tr.merge-down,tr.merge-down td,tr.merge-down th{border-bottom-width:0 !important;}tr.merge-up,tr.merge-up td,tr.merge-up th{border-top-width:0 !important;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid red;}.form-item .description{font-size:0.85em;}.form-item label{display:block;font-weight:bold;}.form-item label.option{display:inline;font-weight:normal;}.form-checkboxes,.form-radios{margin:1em 0;}.form-checkboxes .form-item,.form-radios .form-item{margin-top:0.4em;margin-bottom:0.4em;}.marker,.form-required{color:#f00;}.more-link{text-align:right;}.more-help-link{font-size:0.85em;text-align:right;}.nowrap{white-space:nowrap;}.item-list .pager{clear:both;text-align:center;}.item-list .pager li{background-image:none;display:inline;list-style-type:none;padding:0.5em;}.pager-current{font-weight:bold;}.tips{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;font-size:0.9em;}dl.multiselect dd.b,dl.multiselect dd.b .form-item,dl.multiselect dd.b select{font-family:inherit;font-size:inherit;width:14em;}dl.multiselect dd.a,dl.multiselect dd.a .form-item{width:8em;}dl.multiselect dt,dl.multiselect dd{float:left; - line-height:1.75em;padding:0;margin:0 1em 0 0;}dl.multiselect .form-item{height:1.75em;margin:0;} -.container-inline div,.container-inline label{display:inline;} -ul.primary{border-collapse:collapse;padding:0 0 0 1em; - white-space:nowrap;list-style:none;margin:5px;height:auto;line-height:normal;border-bottom:1px solid #bbb;}ul.primary li{display:inline;}ul.primary li a{background-color:#ddd;border-color:#bbb;border-width:1px;border-style:solid solid none solid;height:auto;margin-right:0.5em; - padding:0 1em;text-decoration:none;}ul.primary li.active a{background-color:#fff;border:1px solid #bbb;border-bottom:#fff 1px solid;}ul.primary li a:hover{background-color:#eee;border-color:#ccc;border-bottom-color:#eee;}ul.secondary{border-bottom:1px solid #bbb;padding:0.5em 1em;margin:5px;}ul.secondary li{display:inline;padding:0 1em;border-right:1px solid #ccc;}ul.secondary a{padding:0;text-decoration:none;}ul.secondary a.active{border-bottom:4px solid #999;} - -#autocomplete{position:absolute;border:1px solid;overflow:hidden;z-index:100;}#autocomplete ul{margin:0;padding:0;list-style:none;}#autocomplete li{background:#fff;color:#000;white-space:pre;cursor:default;}#autocomplete li.selected{background:#0072b9;color:#fff;} -html.js input.form-autocomplete{background-image:url(/misc/throbber.gif);background-repeat:no-repeat;background-position:100% 2px;}html.js input.throbbing{background-position:100% -18px;} -html.js fieldset.collapsed{border-bottom-width:0;border-left-width:0;border-right-width:0;margin-bottom:0;height:1em;}html.js fieldset.collapsed *{display:none;}html.js fieldset.collapsed legend{display:block;}html.js fieldset.collapsible legend a{padding-left:15px; - background:url(/misc/menu-expanded.png) 5px 75% no-repeat;}html.js fieldset.collapsed legend a{background-image:url(/misc/menu-collapsed.png); - background-position:5px 50%;} -* html.js fieldset.collapsed legend,* html.js fieldset.collapsed legend *,* html.js fieldset.collapsed table *{display:inline;} -html.js fieldset.collapsible{position:relative;}html.js fieldset.collapsible legend a{display:block;} -html.js fieldset.collapsible .fieldset-wrapper{overflow:auto;} -.resizable-textarea{width:95%;}.resizable-textarea .grippie{height:9px;overflow:hidden;background:#eee url(/misc/grippie.png) no-repeat center 2px;border:1px solid #ddd;border-top-width:0;cursor:s-resize;}html.js .resizable-textarea textarea{margin-bottom:0;width:100%;display:block;} -.draggable a.tabledrag-handle{cursor:move;float:left; - height:1.7em;margin:-0.4em 0 -0.4em -0.5em; - padding:0.42em 1.5em 0.42em 0.5em; - text-decoration:none;}a.tabledrag-handle:hover{text-decoration:none;}a.tabledrag-handle .handle{margin-top:4px;height:13px;width:13px;background:url(/misc/draggable.png) no-repeat 0 0;}a.tabledrag-handle-hover .handle{background-position:0 -20px;} -.joined + .grippie{height:5px;background-position:center 1px;margin-bottom:-2px;} -.teaser-checkbox{padding-top:1px;}div.teaser-button-wrapper{float:right; - padding-right:5%; - margin:0;}.teaser-checkbox div.form-item{float:right; - margin:0 5% 0 0; - padding:0;}textarea.teaser{display:none;}html.js .no-js{display:none;} -.progress{font-weight:bold;}.progress .bar{background:#fff url(/misc/progress.gif);border:1px solid #00375a;height:1.5em;margin:0 0.2em;}.progress .filled{background:#0072b9;height:1em;border-bottom:0.5em solid #004a73;width:0%;}.progress .percentage{float:right;}.progress-disabled{float:left;}.ahah-progress{float:left;}.ahah-progress .throbber{width:15px;height:15px;margin:2px;background:transparent url(/misc/throbber.gif) no-repeat 0px -18px;float:left;}tr .ahah-progress .throbber{margin:0 2px;}.ahah-progress-bar{width:16em;} -#first-time strong{display:block;padding:1.5em 0 .5em;} -tr.selected td{background:#ffc;} -table.sticky-header{margin-top:0;background:#fff;} -#clean-url.install{display:none;} -html.js .js-hide{display:none;} -#system-modules div.incompatible{font-weight:bold;} -#system-themes-form div.incompatible{font-weight:bold;} -span.password-strength{visibility:hidden;}input.password-field{margin-right:10px;}div.password-description{padding:0 2px;margin:4px 0 0 0;font-size:0.85em;max-width:500px;}div.password-description ul{margin-bottom:0;}.password-parent{margin:0 0 0 0;} -input.password-confirm{margin-right:10px;}.confirm-parent{margin:5px 0 0 0;}span.password-confirm{visibility:hidden;}span.password-confirm span{font-weight:normal;} - -ul.menu{list-style:none;border:none;text-align:left;}ul.menu li{margin:0 0 0 0.5em;}li.expanded{list-style-type:circle;list-style-image:url(/misc/menu-expanded.png);padding:0.2em 0.5em 0 0; - margin:0;}li.collapsed{list-style-type:disc;list-style-image:url(/misc/menu-collapsed.png); - padding:0.2em 0.5em 0 0; - margin:0;}li.leaf{list-style-type:square;list-style-image:url(/misc/menu-leaf.png);padding:0.2em 0.5em 0 0; - margin:0;}li a.active{color:#000;}td.menu-disabled{background:#ccc;}ul.links{margin:0;padding:0;}ul.links.inline{display:inline;}ul.links li{display:inline;list-style-type:none;padding:0 0.5em;}.block ul{margin:0;padding:0 0 0.25em 1em;} - -#permissions td.module{font-weight:bold;}#permissions td.permission{padding-left:1.5em;}#access-rules .access-type,#access-rules .rule-type{margin-right:1em; - float:left;}#access-rules .access-type .form-item,#access-rules .rule-type .form-item{margin-top:0;}#access-rules .mask{clear:both;}#user-login-form{text-align:center;}#user-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#user-admin-buttons{float:left; - margin-left:0.5em; - clear:right;}#user-admin-settings fieldset .description{font-size:0.85em;padding-bottom:.5em;} -.profile{clear:both;margin:1em 0;}.profile .picture{float:right; - margin:0 1em 1em 0;}.profile h3{border-bottom:1px solid #ccc;}.profile dl{margin:0 0 1.5em 0;}.profile dt{margin:0 0 0.2em 0;font-weight:bold;}.profile dd{margin:0 0 1em 0;} - - -.field .field-label,.field .field-label-inline,.field .field-label-inline-first{font-weight:bold;}.field .field-label-inline,.field .field-label-inline-first{display:inline;}.field .field-label-inline{visibility:hidden;} -.node-form .content-multiple-table td.content-multiple-drag{width:30px;padding-right:0;}.node-form .content-multiple-table td.content-multiple-drag a.tabledrag-handle{padding-right:.5em;}.node-form .content-add-more .form-submit{margin:0;}.content-multiple-remove-button{display:block;float:right;height:14px;width:16px;margin:2px 0 1px 0;padding:0;background:transparent url(/sites/all/modules/contrib/cck/images/remove.png) no-repeat 0 0;border-bottom:#C2C9CE 1px solid;border-right:#C2C9CE 1px solid;}.content-multiple-remove-button:hover{background-position:0 -14px;}.content-multiple-removed-row .content-multiple-remove-button{background-position:0 -28px;}.content-multiple-removed-row .content-multiple-remove-button:hover{background-position:0 -42px;}html.js .content-multiple-removed-row{background-color:#ffffcc;}.content-multiple-weight-header,.content-multiple-remove-header,.content-multiple-remove-cell,.content-multiple-table td.delta-order{text-align:center;}html.js .content-multiple-weight-header,html.js .content-multiple-remove-header span,html.js .content-multiple-table td.delta-order,html.js .content-multiple-remove-checkbox{display:none;}.node-form .number{display:inline;width:auto;}.node-form .text{width:auto;} -.form-item #autocomplete .reference-autocomplete{white-space:normal;}.form-item #autocomplete .reference-autocomplete label{display:inline;font-weight:normal;} -#content-field-overview-form .advanced-help-link,#content-display-overview-form .advanced-help-link{margin:4px 4px 0 0;}#content-field-overview-form .label-group,#content-display-overview-form .label-group,#content-copy-export-form .label-group{font-weight:bold;}table#content-field-overview .label-add-new-field,table#content-field-overview .label-add-existing-field,table#content-field-overview .label-add-new-group{float:left;}table#content-field-overview tr.content-add-new .tabledrag-changed{display:none;}table#content-field-overview tr.content-add-new .description{margin-bottom:0;}table#content-field-overview .content-new{font-weight:bold;padding-bottom:.5em;} -.advanced-help-topic h3,.advanced-help-topic h4,.advanced-help-topic h5,.advanced-help-topic h6{margin:1em 0 .5em 0;}.advanced-help-topic dd{margin-bottom:.5em;}.advanced-help-topic span.code{background-color:#EDF1F3;font-family:"Bitstream Vera Sans Mono",Monaco,"Lucida Console",monospace;font-size:0.9em;padding:1px;}.advanced-help-topic .content-border{border:1px solid #AAA} -.ctools-locked{color:red;border:1px solid red;padding:1em;}.ctools-owns-lock{background:#FFFFDD none repeat scroll 0 0;border:1px solid #F0C020;padding:1em;}a.ctools-ajaxing,input.ctools-ajaxing,select.ctools-ajaxing{padding-right:18px !important;background:url(/sites/all/modules/contrib/ctools/images/status-active.gif) right center no-repeat;}div.ctools-ajaxing{float:left;width:18px;background:url(/sites/all/modules/contrib/ctools/images/status-active.gif) center center no-repeat;} -.container-inline-date{width:auto;clear:both;display:inline-block;vertical-align:top;margin-right:0.5em;}.container-inline-date .form-item{float:none;padding:0;margin:0;}.container-inline-date .form-item .form-item{float:left;}.container-inline-date .form-item,.container-inline-date .form-item input{width:auto;}.container-inline-date .description{clear:both;}.container-inline-date .form-item input,.container-inline-date .form-item select,.container-inline-date .form-item option{margin-right:5px;}.container-inline-date .date-spacer{margin-left:-5px;}.views-right-60 .container-inline-date div{padding:0;margin:0;}.container-inline-date .date-timezone .form-item{float:none;width:auto;clear:both;} -#calendar_div,#calendar_div td,#calendar_div th{margin:0;padding:0;}#calendar_div,.calendar_control,.calendar_links,.calendar_header,.calendar{width:185px;border-collapse:separate;margin:0;}.calendar td{padding:0;} -span.date-display-single{}span.date-display-start{}span.date-display-end{}span.date-display-separator{}.date-repeat-input{float:left; - width:auto;margin-right:5px;}.date-repeat-input select{min-width:7em;}.date-repeat fieldset{clear:both;float:none;}.date-views-filter-wrapper{min-width:250px;}.date-views-filter input{float:left !important; - margin-right:2px !important; - padding:0 !important;width:12em;min-width:12em;}.date-nav{width:100%;}.date-nav div.date-prev{text-align:left; - width:24%;float:left;}.date-nav div.date-next{text-align:right; - width:24%;float:right;}.date-nav div.date-heading{text-align:center;width:50%;float:left;}.date-nav div.date-heading h3{margin:0;padding:0;}.date-clear{float:none;clear:both;display:block;}.date-clear-block{float:none;width:auto;clear:both;} - .date-clear-block:after{content:" ";display:block;height:0;clear:both;visibility:hidden;}.date-clear-block{display:inline-block;}/* Hides from IE-mac \*/ - * html .date-clear-block{height:1%;}.date-clear-block{display:block;} - -.date-container .date-format-delete{margin-top:1.8em;margin-left:1.5em;float:left;}.date-container .date-format-name{float:left;}.date-container .date-format-type{float:left;padding-left:10px;}.date-container .select-container{clear:left;float:left;} -div.date-calendar-day{line-height:1;width:40px;float:left;margin:6px 10px 0 0;background:#F3F3F3;border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #bbb;border-bottom:1px solid #bbb;color:#999;text-align:center;font-family:Georgia,Arial,Verdana,sans;}div.date-calendar-day span{display:block;text-align:center;}div.date-calendar-day span.month{font-size:.9em;background-color:#B5BEBE;color:white;padding:2px;text-transform:uppercase;}div.date-calendar-day span.day{font-weight:bold;font-size:2em;}div.date-calendar-day span.year{font-size:.9em;padding:2px;} -#ui-datepicker-div table,#ui-datepicker-div td,#ui-datepicker-div th{margin:0;padding:0;}#ui-datepicker-div,#ui-datepicker-div table,.ui-datepicker-div,.ui-datepicker-div table,.ui-datepicker-inline,.ui-datepicker-inline table{font-size:12px !important;}.ui-datepicker-div,.ui-datepicker-inline,#ui-datepicker-div{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;background:#ffffff;border:2px solid #d3d3d3;font-family:Verdana,Arial,sans-serif;font-size:1.1em;margin:0;padding:2.5em .5em .5em .5em;position:relative;width:15.5em;}#ui-datepicker-div{background:#ffffff;display:none;z-index:9999;}.ui-datepicker-inline{display:block;float:left;}.ui-datepicker-control{display:none;}.ui-datepicker-current{display:none;}.ui-datepicker-next,.ui-datepicker-prev{background:#e6e6e6 url(/sites/all/modules/contrib/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; - left:.5em; - position:absolute;top:.5em;}.ui-datepicker-next{left:14.6em;}.ui-datepicker-next:hover,.ui-datepicker-prev:hover{background:#dadada url(/sites/all/modules/contrib/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;}.ui-datepicker-next a,.ui-datepicker-prev a{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/888888_7x7_arrow_left.gif) 50% 50% no-repeat; - border:1px solid #d3d3d3;cursor:pointer;display:block;font-size:1em;height:1.4em;text-indent:-999999px;width:1.3em;}.ui-datepicker-next a{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/888888_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:hover{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/454545_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:hover{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/454545_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:active{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/222222_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:active{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/222222_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-header select{background:#e6e6e6;border:1px solid #d3d3d3;color:#555555;font-size:1em;line-height:1.4em;margin:0 !important;padding:0 !important;position:absolute;top:.5em;}.ui-datepicker-header select.ui-datepicker-new-month{left:2.2em; - width:7em;}.ui-datepicker-header select.ui-datepicker-new-year{left:9.4em; - width:5em;}table.ui-datepicker{text-align:right; - width:15.5em;}table.ui-datepicker td a{color:#555555;display:block;padding:.1em .3em .1em 0; - text-decoration:none;}table.ui-datepicker tbody{border-top:none;}table.ui-datepicker tbody td a{background:#e6e6e6 url(/sites/all/modules/contrib/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; - border:1px solid #ffffff;cursor:pointer;}table.ui-datepicker tbody td a:hover{background:#dadada url(/sites/all/modules/contrib/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; - border:1px solid #999999;color:#212121;}table.ui-datepicker tbody td a:active{background:#ffffff url(/sites/all/modules/contrib/date/date_popup/themes/images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; - border:1px solid #dddddd;color:#222222;}table.ui-datepicker .ui-datepicker-title-row td{ - color:#222222;font-size:.9em;padding:.3em 0;text-align:center;text-transform:uppercase;}table.ui-datepicker .ui-datepicker-title-row td a{color:#222222;} - - - - - - -.filefield-icon{float:left; - margin-right:0.4em;} - - -.filefield-element{margin:1em 0;white-space:normal;}.filefield-element .widget-preview{float:left; - padding-right:10px; - border-right:1px solid #CCC; - margin-right:10px; - max-width:30%;}.filefield-element .widget-edit{float:left; - max-width:70%;}.filefield-element .filefield-preview{width:16em;overflow:hidden;}.filefield-element .widget-edit .form-item{margin:0 0 1em 0;}.filefield-element input.form-submit,.filefield-element input.form-file{margin:0;}.filefield-element input.progress-disabled{float:none;display:inline;}.filefield-element div.ahah-progress,.filefield-element div.throbber{display:inline;float:none;padding:1px 13px 2px 3px;}.filefield-element div.ahah-progress-bar{display:none;margin-top:4px;width:28em;padding:0;}.filefield-element div.ahah-progress-bar div.bar{margin:0;} - - - -.filefield-generic-edit .filefield-icon{float:left; - margin-right:0.7em; - margin-top:0.3em;}.filefield-generic-edit-description{margin-right:6em;} -.filefield-generic-edit .form-text{width:99%;}.filefield-generic-edit .description{white-space:normal;margin-bottom:0;overflow:auto;} - -form.fivestar-widget{clear:both;display:block;}form.fivestar-widget select,form.fivestar-widget input{margin:0;} -.fivestar-combo-stars .fivestar-static-form-item{float:left; - margin-right:40px;}.fivestar-combo-stars .fivestar-form-item{float:left;} -.fivestar-static-form-item .form-item,.fivestar-form-item .form-item{margin:0;} -div.fivestar-widget-static{display:block;}div.fivestar-widget-static br{clear:left;}div.fivestar-widget-static .star{float:left; - width:17px;height:15px;overflow:hidden;text-indent:-999em;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0;}div.fivestar-widget-static .star span.on{display:block;width:100%;height:100%;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 -32px;}div.fivestar-widget-static .star span.off{display:block;width:100%;height:100%;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0;} -div.fivestar-widget{display:block;}div.fivestar-widget .cancel,div.fivestar-widget .star{float:left; - width:17px;height:15px;overflow:hidden;text-indent:-999em;}div.fivestar-widget .cancel,div.fivestar-widget .cancel a{background:url(/sites/all/modules/contrib/fivestar/widgets/default/delete.gif) no-repeat 0 -16px; - text-decoration:none;}div.fivestar-widget .star,div.fivestar-widget .star a{background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0; - text-decoration:none;}div.fivestar-widget .cancel a,div.fivestar-widget .star a{display:block;width:100%;height:100%;background-position:0 0; - cursor:pointer;}div.fivestar-widget div.on a{background-position:0 -16px;}div.fivestar-widget div.hover a,div.rating div a:hover{background-position:0 -32px;}form.fivestar-widget div.description{margin-bottom:0;} - -.simplenews-subscription-filter .form-item{clear:both;line-height:1.75em;margin:0pt 1em 0pt 0pt;}.simplenews-subscription-filter .form-item label{float:left;width:12em;}.simplenews-subscription-filter .spacer{margin-left:12em;}.simplenews-subscription-filter .form-select,.simplenews-subscription-filter .form-text{width:14em;}.block-simplenews .issues-link,.block-simplenews .issues-list{margin-top:1em;}.block-simplenews .issues-list .newsletter-created{display:none;} - - -.wrapper.tagadelic{text-align:justify;margin-right:1em;}.tagadelic.level1{font-size:1em;}.tagadelic.level2{font-size:1.2em;}.tagadelic.level3{font-size:1.4em;}.tagadelic.level4{font-size:1.6em;}.tagadelic.level5{font-size:1.8em;}.tagadelic.level6{font-size:2em;}.tagadelic.level7{font-size:2.2em;}.tagadelic.level8{font-size:2.4em;}.tagadelic.level9{font-size:2.6em;}.tagadelic.level10{font-size:2.8em;} -div.field-type-asin{display:block;clear:both;border-top:2px solid #DDD;padding-top:3px;}div.amazon-item{clear:both;}div.amazon-item img{float:left;padding-left:3px;margin-bottom:1em;margin-right:1em;}div.amazon-item div{padding-left:1em;margin-left:100px;height:4em;} -#edit-antidot-search-block-form-1-wrapper{display:inline;} -#form_submit_search{}#edit-keys-wrapper{float:left;margin:0 3px 0 0;padding:0;}.result .tagged{background-color:none;}#edit-keys{height:20px;}#submit_resultat_page{flao:left;}#fc_antidot_recherche_check_emission-wrapper label{color:#032649;font-size:11px;font-weight:bold;margin:5px 0 0 5px;}.pager span.pager-next{margin-left:3px;}#edit-keys-wrapper{position:relative;overflow:hidden;} -#SuggestPopupBox,#SuggestPopupPage{background-color:white;border:1px solid #999999;z-index:500;position:absolute;}#SuggestPopupBox{ -top:49px;left:362px;width:200px;}#SuggestPopupPage{ -width:279px;top:26px;left:0;position:absolute;z-index:550;}#SuggestPopupBox .suj-reponse,#SuggestPopupPage .suj-reponse{ -padding:2px 0 2px 10px;font-weight:bold;background-color:white;cursor:pointer;height:21px;}#SuggestPopupBox .suj-reponse:hover,#SuggestPopupPage .suj-reponse:hover{background-color:#DECFE2;}#SuggestPopupBox .active,#SuggestPopupPage .active{background-color:#DECFE2;}#fc-antidot-recherche-form .form-item{height:35px;overflow:visible;}#share,#share .addthis_toolbox addthis_default_style,#share .addthis_toolbox addthis_default_style a,#main{z-index:0;position:relative;overflow:visible;}.more{z-index:0;position:relative;overflow:hiddent;} -a.lien-radio{float:left;height:30px;width:38px;}a.autres_sites{color:#666666;display:block;text-align:right;margin-top:5px;}p.ligne-autre-site{margin-left:48px;margin-bottom:0px;}#resultats_crawl li{min-height:36px;}#fc_antidot_recherche_check_emission-wrapper{z-index:0;overflow:visible;position:relative;} -div.grille-programmes li{list-style:none;}div.grille-programmes .clearer{clear:both;} -div.grilles-programmes div.entete{} -div.grille-programmes div.navigation{padding:1em;background-color:#EEE;}div.grille-programmes div.navigation li{display:inline;} -div.grilles-programmes div.tranches{margin:1em 0;} -div.grille-programmes div.emissions{padding:1em 0;}div.grille-programmes div.emission{padding:1em;margin:1em 0;border:1px solid #CCC;}div.grille-programmes div.emission img.image-liste{float:right;margin:0 0 1em 1em;} -div.grille-programmes div.diffusion{padding:1em;margin:1em 0;border:1px solid #CCC;background-color:#EEE;} -div.grille-programmes div.tranche{border:1px dashed #ccc;background-color:#EEE;} - - -#quiz_progress{font-style:italic;font-size:80%;}span.multichoice_answer_text p{display:inline;} -.quiz_question_bullet{font-weight:bold;font-size:120%;}#quiz_score_possible,#quiz_score_percent{font-weight:bold;}.quiz_summary_question{margin-bottom:0.5em;}tr.quiz_summary_qrow{background:transparent;}td.quiz_summary_qcell{vertical-align:top;padding:1em 1em 0em 0em;}td.quiz_summary_qcell table tr{background:transparent;}td.quiz_summary_qcell table td{vertical-align:top;padding:.5em;}.quiz_answer_feedback{font-style:italic;}.quiz_summary_header{font-weight:bold;}.quiz_summary_text{}div.multichoice_answer_correct{padding:5px;border:1px solid green;}div.multichoice_answer_incorrect{padding:5px;border:1px solid red;}.add-questions{background:transparent url(/sites/all/modules/rf/quiz/images/add.png) no-repeat scroll 0% 10%;padding:0 0 1em 2em;} -div.panel-navigation ul.menu{display:inline;padding:0 1em 0 0;line-height:2.5em;}div.panel-navigation ul.menu li{display:inline;font-size:1.0em;list-style-type:none;background:#efefef;border:1px solid #aaa;margin:0;padding:4px 8px;}div.panel-navigation ul.menu li{font-weight:bold;} -div.emission-navigation ul.menu{display:inline;padding:0 1em 0 0;line-height:2.5em;}div.emission-navigation ul.menu li{display:inline;font-size:1.0em;list-style-type:none;background:#efefef;border:1px solid #aaa;margin:0;padding:4px 8px;}div.emission-navigation ul.menu li{font-weight:bold;} - -div.fieldgroup{margin:.5em 0 1em 0;}div.fieldgroup .content{padding-left:1em;} - -div.panel-pane div.admin-links{font-size:xx-small;margin-right:1em;}div.panel-pane div.admin-links li a{color:#ccc;}div.panel-pane div.admin-links li{padding-bottom:2px;background:white;z-index:201;}div.panel-pane div.admin-links:hover a,div.panel-pane div.admin-links-hover a{color:#000;}div.panel-pane div.admin-links a:before{content:"[";}div.panel-pane div.admin-links a:after{content:"]";}div.panel-pane div.panel-hide{display:none;} -div.panel-pane div.panel-hide-hover,div.panel-pane:hover div.panel-hide{display:block;position:absolute;z-index:200;margin-top:-1.5em;}div.panel-pane div.node{margin:0;padding:0;}div.panel-pane div.feed a{float:right;} -.views-exposed-form .views-exposed-widget{float:left; - padding:.5em 1em 0 0;}.views-exposed-form .views-exposed-widget .form-submit{margin-top:1.6em;}.views-exposed-form .form-item,.views-exposed-form .form-submit{margin-top:0;margin-bottom:0;}.views-exposed-form label{font-weight:bold;}.views-exposed-widgets{margin-bottom:.5em;}html.js a.views-throbbing,html.js span.views-throbbing{background:url(/sites/all/modules/contrib/views/images/status-active.gif) no-repeat right center;padding-right:18px;} - -div.view div.views-admin-links{font-size:xx-small;margin-right:1em;margin-top:1em;}.block div.view div.views-admin-links{margin-top:0;}div.view div.views-admin-links ul{padding-left:0;}div.view div.views-admin-links li a{color:#ccc;}div.view div.views-admin-links li{padding-bottom:2px;z-index:201;}div.view div.views-admin-links-hover a,div.view div.views-admin-links:hover a{color:#000;}div.view div.views-admin-links-hover,div.view div.views-admin-links:hover{background:transparent;;}div.view div.views-admin-links a:before{content:"[";}div.view div.views-admin-links a:after{content:"]";}div.view div.views-hide{display:none;} -div.view div.views-hide-hover,div.view:hover div.views-hide{display:block;position:absolute;z-index:200;} -div.view:hover div.views-hide{margin-top:-1.5em;} -.views-view-grid tbody{border-top:none;} - -#popups-overlay{position:absolute;z-index:8;background:black;top:0;}#popups-loading{position:absolute;z-index:10;opacity:0.75;width:100px;height:100px;display:none;}.popups-box{position:absolute;z-index:9;background:white;border:1px solid black;padding:0.5em;width:600px;overflow:auto;}.popups-title{font-weight:bold;margin-bottom:0.25em;}.popups-title div.title{float:left;}.popups-title .popups-close{float:right;}.popups-title .popups-close a{font-weight:normal;} -.popups-box div.messages{background:transparent;border:none;padding:0;margin:0;} -#popups-overlay{background:#773584;opacity:.80;}.popups-box{padding:0;border:10px #EBEBEB solid;-moz-border-radius:10px;-webkit-border-radius:10px;}.popups-inner{height:100%;}.popups-box{width:440px;z-index:600;}body.page-node-edit .popups-box,body.section-admin .popups-box,body.page-node-add .popups-box,body.section-tableau-de-bord .popups-box{width:700px;}.popups-title{background:#EBEBEB url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}.popups-title .title,.popups-title .popups-close{display:inline;background:#EBEBEB;padding:0 5px;}.popups-title .popups-close a{display:block;width:9px;text-indent:-9999999px;outline:none;cursor:pointer;background:transparent url(/sites/all/themes/franceculture/images/popups-close.png) no-repeat center right;margin-right:5px;}.popups-title div.title{float:none;}.popups-title .popups-close{padding-right:0;}.popups-body{background:white;padding:5px 10px;overflow:auto;height:auto;} - -label.content-multigroup{font-weight:bold;} -hr.content-multigroup{} -.content-multigroup-wrapper .field .field-label-inline{visibility:visible;} -.content-multigroup-edit-table-multiple-columns label,.content-multigroup-edit-table-multiple-columns .description{display:none;} -.content-multigroup-display-table-multiple-columns .field .field-label,.content-multigroup-display-table-multiple-columns .field .field-label-inline,.content-multigroup-display-table-multiple-columns .field .field-label-inline-first{display:none;} -.content-multigroup-display-table-single-column .content-multigroup-wrapper{clear:both;}.content-multigroup-display-table-single-column .content-multigroup-wrapper label.content-multigroup{display:block;}.content-multigroup-display-table-single-column .content-multigroup-wrapper .field{float:left;margin-right:1em;} - -.indented{margin-left:25px;}.comment-unpublished{background-color:#fff4f4;}.preview .comment{background-color:#ffffea;} - - -html{font-size:75%;}body{line-height:1.5;}h1{font-size:2em;margin:0 0 .5em;padding:0;}h2{font-size:1.5em;}h3{font-size:1.25em;}h4{font-size:1.17em;}h5,h6{font-size:1em;}h1,h2,h3,h4,h5,h6,h1 img,h2 img,h3 img,h4 img,h5 img,h6 img,em,dfn,del,ins{margin:0;padding:0;}p{margin:0 0 1.5em;padding:0;}blockquote p{margin:0;}strong{font-weight:bold;}em,dfn{font-style:italic;}dfn{font-weight:bold;}del{color:#666;}ins{border-bottom:none;text-decoration:none;}pre,code,tt,samp,kbd,var{font:1em "Lucida Console",Monaco,"DejaVu Sans Mono",monospace;}blockquote,q{font-style:italic;quotes:"" "";}blockquote{margin:0 0 1.5em;padding:0 0 0 3em;}blockquote:before,blockquote:after,q:before,q:after{content:"";}table{border-color:#C0C0C0;border-spacing:0;margin:1em 0;padding:0;}caption,th,td{text-align:left;}caption,th{font-weight:bold;}table,td,th{vertical-align:middle;}tbody,tfoot,thead,tr{margin:0;padding:0;}thead th{border-bottom:.1875em solid #C0C0C0;color:#494949;font-weight:bold;}td,th{border-bottom:1px solid #CCC;margin:0;padding:.375em .5em;}tr.odd,tr.info{background-color:#F5F5F5;}tr.even{background-color:#FFF;}tr.drag{background-color:#FFFFF0;}tr.drag-previous{background-color:#FFD;}tr.odd td.active{background-color:#EEE;}tr.even td.active{background-color:#F7F7F7;}td.region,td.module,td.container td.category{background-color:#EEE;border-bottom:1px solid #CCC;border-top:1.5em solid #FFF;color:#222;font-weight:bold;}tr:first-child td.region,tr:first-child td.module,tr:first-child td.container{border-top-width:0;}#forum table{width:100%;}#forum tr td.forum{background-position:5px 5px!important;padding-left:1.67em;}#forum tr td.forum .name{padding-left:.375em;}#forum div.indent{margin-left:.5em;}.section-admin table{width:100%;}.description{color:#555;}div.messages{font-weight:normal;margin:1em 0;}div.messages ul{margin:0 0 0 1.25em;}div.error{background:#FFF3F6 url(/sites/all/themes/franceculture/images/error.png) no-repeat .5em .45em;border:1px solid #C00000;color:#C00000;}tr.error{background:#FFEFF3;color:#E41F0B;}div.notice{background:#FFF6BF;color:#514721;border-color:#FFD324;}.error a,.notice a,.success a{text-decoration:underline;}div.status{background:#F1FFCF url(/sites/all/themes/franceculture/images/ok.png) no-repeat .75em .6em;border:1px solid #4DA449;color:#2A6827;}div.help{background:#F7F8F8 url(/sites/all/themes/franceculture/images/info.png) no-repeat .5em .45em;border:1px solid #66BEF4;color:#000D2F;margin:1em 0;}div.warning{background:#FFF6DF url(/sites/all/themes/franceculture/images/warning.png) no-repeat .5em .45em;border:1px solid #FFB900;color:#9F3800;}div.messages,div.warning,div.help,div.status,div.error{padding:.6em 1em .6em 3em;}div.help code,div.messages code{font-weight:bold;} -#saving{font-size:1em;font-weight:bold;background:url(/sites/all/themes/franceculture/images/loading.gif) no-repeat 12px 1px;display:none;padding-left:36px;}#saving p{margin:0;}#saving-notice{font-size:0.9em;font-style:italic;background:#FFC;}table tr.warning{background-color:#F7E8C5;}table tr.warning td{color:#9F3800;}table tr.warning.merge-up td{color:#514721;}div.ok,tr.ok,table tr.ok td{color:#222;padding:1em .5em;}.update tr.ok{background:#F1FFCF;}.update tr.error{background:#FFEFF3;}.update tr.warning{background:#FFF6DF;}.update tr.error .version-recommended{background:#FFEFF4;}.update .info{padding:0 0 0 1em;}.includes{color:#222;}div.help p:last-child,div.help ul:last-child{margin-bottom:0;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid #C00000;}.form-item strong.error em{font-weight:bold;color:#E41F0B;font-size:1.2em;}.block-region{border:1px dotted #000;color:#000;font:1.25em "Lucida Console",Monaco,"DejaVu Sans Mono",monospace;padding:3px 6px 1px;}.node-unpublished,.comment-unpublished{background-color:#FFF6DF;}.unpublished{visibility:hidden;}.node-unpublished .unpublished,.comment-unpublished .unpublished{background:transparent url(/sites/all/themes/franceculture/images/warning-small.png) no-repeat 0 .1em;color:#FFB900;font-size:.94em;margin-left:.5em;padding-left:18px;visibility:visible;}.admin-dependencies,.admin-required,.admin-enabled,.admin-disabled,.admin-missing{font-weight:bold;}ul,ol{margin:0 0 1.5em 1.75em;padding:0;}li{margin:0;padding:0;}ul ul,ul ol,ol ol,ol ul,.block ul ul,.block ul ol,.block ol ol,.block ol ul,.item-list ul ul,.item-list ul ol,.item-list ol ol,.item-list ol ul{margin:0 0 0 1.75em;}ul{list-style-type:disc;}ul ul{list-style-type:circle;}ul ul ul{list-style-type:square;}ul ul ul ul{list-style-type:circle;}ol{list-style-type:decimal;}ol ol{list-style-type:lower-alpha;}ol ol ol{list-style-type:lower-roman;}dt{font-weight:bold;}dd{margin:0 0 1.5em 1.75em;}.item-list ul,.item-list ol{margin:0 0 0 1.75em;padding:0;}form{margin:0 0 1.5em;padding:0;} -input.text,input.title,textarea,select{border:1px solid #C0C0C0;margin:.375em 0;} - -input.text,input.title{padding:.375em;}input.title{font-size:1.5em;}input.form-text,textarea{border:1px solid #CCC;height:auto;padding:.1875em;} -div.form-item{margin-bottom:1em;margin-top:1em;}.form-item textarea.error{padding:.1875em;}.form-item .description{font-size:.9em;line-height:1.667em;}span.form-required,span.marker{color:#8A1F11;}div.form-item div.description img{margin:0;}#node-admin-filter ul{padding:.375em 0;}#edit-operation-wrapper select{margin:.375em;}div.resizable-textarea textarea{margin-top:0;}.tips{font-size:1em;margin-left:3em;padding:.1875em .375em .1875em 1.5em;}label,legend{margin:0;padding:0;}fieldset{background:transparent;border:1px solid #dadada;margin:1.5em 0;padding:.75em;}*:first-child+html fieldset{background-color:transparent;background-position:0 .75em;padding:0 1em .75em;}*:first-child+html fieldset > .description,*:first-child+html fieldset .fieldset-wrapper .description{padding-top:1.5em;}fieldset legend{display:block;font-weight:bold;padding:0 1em 0 0;}*:first-child+html fieldset legend,*:first-child+html fieldset.collapsed legend{display:inline;}html.js fieldset.collapsed{background:transparent;padding-bottom:.75em;padding-top:0;}#user-login-form li.openid-link,#user-login-form li.user-link{text-align:center;}html.js #user-login-form li.openid-link,html.js #user-login li.openid-link{list-style:none;}#user-login-form ul{margin-top:0;}#user-login ul{margin:0 0 5px;}#user-login ul li{margin:0;}#user-login-form li.openid-link,#user-login li.openid-link{background:none;}#user-login-form li.openid-link a,#user-login li.openid-link a{background:transparent url(/sites/all/themes/franceculture/images/openid.png) no-repeat 0 0;padding:0 20px;}#user-login-form .item-list li{list-style:none;}div.admin-panel{border:1px solid #DDD;margin:0 0 .75em;padding:0;}div.admin .left,div.admin .right{margin-left:0;margin-right:0;width:49%;}.admin-panel h3{background:#EEE;color:#222;padding:0 0 0 .5em;}.admin-panel .body{padding:0 1em;}.admin-panel p{margin:0;padding:1em 0 0;}.admin-panel ul,.admin-panel ul.menu,.admin-panel .item-list ul{padding:0 0 1em;}.admin-panel .item-list ul{margin:0;}.admin-panel ul li{color:#555;}.admin-panel dl{margin:0;padding:1em 0;}.admin-panel dt{font-weight:normal;}.admin-panel dd{color:#555;font-size:.94em;margin-left:0;}.admin .compact-link{margin:0 0 1em;}.page-admin-by-module .admin-panel .body{margin:0;}.page-admin-by-module .admin-panel .body p{color:#555;font-size:.94em;}#user-admin-filter ul li,#node-admin-filter ul li{list-style:none;}.more-help-link{font-size:.94em;line-height:1.667em;}#permissions td.permission{padding-left:.5em;}#permissions td.module{background:#EEE;color:#222;font-weight:bold;}tr .block{border:0;}.local-tasks{margin-bottom:1em;}ul.primary{border-bottom-color:#CCC;margin:1.5em 0 0;padding:0 0 .2em .3em;}ul.primary li a{background-color:#F5F5F5;border-color:#CCC;margin-right:.08em;padding:.1em .75em .2em;}.local-tasks ul.primary li a:hover{background-color:#F7F7F7;border-color:#DDD;color:#C1272D}.local-tasks ul.primary li.active a{background-color:#FFF;border-bottom-color:#FFF;}ul.secondary{border-bottom:1px solid #CCC;margin:1em 0 0 0;padding:0 .3em 1em;}ul.secondary li{border-right:0;list-style:none;padding:0 2em 0 0;}ul.secondary li a:hover,ul.secondary li a.active{border-bottom:none;text-decoration:underline;}body.admin-menu{margin-top:2em !important;}#admin-menu{font:0.9em Arial,Helvetica,sans-serif;}#admin-menu ul li a:focus{color:#000;border:0;background:#FFFF00;} -#genesis-1a .two-sidebars .content-inner{margin:0 22em;}#genesis-1a .sidebar-left .content-inner{margin-left:22em;}#genesis-1a .sidebar-right .content-inner{margin-right:22em;}#genesis-1a #sidebar-left{width:20em;margin-left:-100%;}#genesis-1a #sidebar-right{width:20em;margin-left:-20em;}#genesis-1b .two-sidebars .content-inner{margin:0 25.25%;}#genesis-1b .sidebar-left .content-inner{margin-left:25.25%;}#genesis-1b .sidebar-right .content-inner{margin-right:25.25%;}#genesis-1b #sidebar-left{width:24.25%;margin-left:-100%;}#genesis-1b #sidebar-right{width:24.25%;margin-left:-24.25%;}#genesis-1c .two-sidebars .content-inner{margin:0 260px;}#genesis-1c .sidebar-left .content-inner{margin-left:260px;}#genesis-1c .sidebar-right .content-inner{margin-right:260px;}#genesis-1c #sidebar-left{width:240px;margin-left:-100%;}#genesis-1c #sidebar-right{width:240px;margin-left:-240px;}#genesis-2a .two-sidebars .content-inner{margin-right:44em;}#genesis-2a .sidebar-left .content-inner{margin-right:22em;}#genesis-2a .sidebar-right .content-inner{margin-right:22em;}#genesis-2a #sidebar-left{width:20em;margin-left:-42em;}#genesis-2a #sidebar-right{width:20em;margin-left:-20em;}#genesis-2a .sidebar-left #sidebar-left{width:20em;margin-left:-20em;}#genesis-2b .two-sidebars .content-inner{margin-right:50.5%;}#genesis-2b .sidebar-left .content-inner{margin-right:25.25%;}#genesis-2b .sidebar-right .content-inner{margin-right:25.25%;}#genesis-2b #sidebar-left{width:24.25%;margin-left:-49.5%;}#genesis-2b #sidebar-right{width:24.25%;margin-left:-24.25%;}#genesis-2b .sidebar-left #sidebar-left{width:24.25%;margin-left:-24.25%;}#genesis-2c .two-sidebars .content-inner{margin-right:520px;}#genesis-2c .sidebar-left .content-inner{margin-right:260px;}#genesis-2c .sidebar-right .content-inner{margin-right:260px;}#genesis-2c #sidebar-left{width:240px;margin-left:-500px;}#genesis-2c #sidebar-right{width:240px;margin-left:-240px;}#genesis-2c .sidebar-left #sidebar-left{width:240px;margin-left:-240px;}#genesis-3a .two-sidebars .content-inner{margin-left:44em;}#genesis-3a .sidebar-left .content-inner{margin-left:22em;}#genesis-3a .sidebar-right .content-inner{margin-left:22em;}#genesis-3a #sidebar-left{width:20em;margin-left:-100%;}#genesis-3a #sidebar-right{width:20em;margin-left:-100%;}#genesis-3a .two-sidebars #sidebar-right{width:20em;position:relative;left:22em;}#genesis-3b .two-sidebars .content-inner{margin-left:50.5%;}#genesis-3b .sidebar-left .content-inner{margin-left:25.25%;}#genesis-3b .sidebar-right .content-inner{margin-left:25.25%;}#genesis-3b #sidebar-left{width:24.25%;margin-left:-100%;}#genesis-3b #sidebar-right{width:24.25%;margin-left:-100%;}#genesis-3b .two-sidebars #sidebar-right{width:24.25%;position:relative;left:25.25%;}#genesis-3c .two-sidebars .content-inner{margin-left:520px;}#genesis-3c .sidebar-left .content-inner{margin-left:260px;}#genesis-3c .sidebar-right .content-inner{margin-left:260px;}#genesis-3c #sidebar-left{width:240px;margin-left:-100%;}#genesis-3c #sidebar-right{width:240px;margin-left:-100%;}#genesis-3c .two-sidebars #sidebar-right{width:240px;position:relative;left:260px;}#genesis-4 .two-sidebars .content-inner{margin-right:40%;}#genesis-4 .sidebar-left .content-inner{margin-right:40%;}#genesis-4 .sidebar-right .content-inner{margin-right:40%;}#genesis-4 #sidebar-left{width:37%;margin-left:-37%;}#genesis-4 #sidebar-right{width:37%;margin-left:-37%;}#genesis-4 .sidebar-left #sidebar-left{width:37%;margin-left:-37%;}.gpanel{clear:both;margin:.75em 0;}.gpanel .region{display:inline;position:relative;}.two-col-50 .region{width:49.5%;}.two-col-50 .col-1{float:left;}.two-col-50 .col-2{float:right;}.two-col-50 .gpanel{margin:0;}#two-col-50-nested .col-2{width:48.5%;}.col-1 #two-col-50-nested .region,.col-2 #two-col-50-nested .col-2{width:49%;}.three-col-33 .region{float:left;width:32%;}.three-col-33 .col-2{right:-1%;width:34%;}.three-col-33 .col-3{right:-2%;}.four-col-25 .section-1{float:left;width:49.5%;}.four-col-25 .section-2{float:right;width:49.5%;}.four-col-25 .col-1,.four-col-25 .col-3{float:left;width:49%;}.four-col-25 .col-2,.four-col-25 .col-4{float:right;width:49%;}.gpanel .region .inner{margin:0;}.gpanel .last .inner{margin-right:0;}#container{position:relative;margin:0 auto;}#columns{display:inline-block;margin-bottom:1em;}#container > #columns{display:block;}#content-column,#sidebar-left,#sidebar-right{float:left;}#content-column{width:100%;margin-bottom:1em;}.clear,#nav,#columns,#breadcrumb,#content-bottom,#secondary-content,#tertiary-content,#footer-wrapper,#footer,#footer-message{clear:both;} -div.block{position:relative;}div.block div.block-edit{font-size:.9em;position:absolute;right:0;top:0;visibility:hidden;z-index:40;}div.block:hover div.block-edit{display:block;font-family:Arial,Helvetica,"Nimbus Sans",sans-serif;visibility:visible;}div.block div.block-edit a{text-decoration:none;color:#ccc;}div.block div.block-edit a:before{content:"[";}div.block div.block-edit a:after{content:"]";}div.block div.block-edit a:hover{color:#000;background:#FFF;}div.block div.block-edit li{display:inline;float:left;list-style:none;margin:0 0 0 .5em;}div.view div.views-admin-links{font-size:.85em;}.block div.view div.views-admin-links{margin-top:1.8em;}#main-content div.view div.views-admin-links{margin-top:-.8em;}div.view div.views-admin-links li a{text-decoration:none;width:5em;}div.view div.views-admin-links li a:hover{color:#000;background:#FFF;}div.view div.views-admin-links-hover a,div.view div.views-admin-links:hover a{color:#CCC;} - -li.leaf{list-style:none outside none !important;padding:0 !important;}.item-list ul,.item-list ol{margin:0;padding:0;}.item-list ul li{list-style:none;margin:0;padding:0;}#header form{margin:0;}div.views-cloud{line-height:1.2;}div.views-cloud span{margin:2px 5px;}div.views-cloud div{white-space:normal;}div.views-cloud span.views-cloud-size-3 a,div.views-cloud span.views-cloud-size-4 a{color:#262626;}.comments-count{font-style:italic;}.comments-count,.theme2,.type{font-size:11px;display:inline;margin:0 3px 0 0;}#comments .post img{float:left;margin:0 10px 0 0;}#comment-form label{color:#000000;font-size:14px;margin:0 0 5px;}div.ctools-modal-content textarea#edit-body{width:500px;height:400px;}#sidebar-right .block ul{padding:0 0 0.25em 0;}ul.primary li a{background-color:#DECFE2;} - -#acces-rapide{display:none;}.back-to-top{display:none;} - body{color:#4D4D4D;font-size:12px;line-height:17px;font-family:'Arial','FreeSans';}img{border:none;}a{text-decoration:none;color:#032649;font-weight:bold;}a:hover{text-decoration:underline;}a img,a:hover img{text-decoration:none;}a.ext{text-decoration:underline;}p{margin:0 0 5px 0;}ul{padding:0;margin:0;}ol{padding:0;margin:0;}li{list-style-type:none;padding:0;margin:0;}h1{color:#262626;font-size:24px;line-height:26px;letter-spacing:0.2px;margin:0 0 15px 0;}body.section-rubrique h1,body.section-partenariats h1{color:#773584;}h2{line-height:20px;font-size:16px;letter-spacing:0.5px;margin:0 0 3px 0;padding:0;}h3{font-size:12px;line-height:18px;margin:0 0 2px 0;padding:0;} - input.idleField{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;}.section-admin input.idleField{color:#000000;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;}input.focusField{border:1px dotted #773584 !important;background-color:#ad86b5;color:#fff;} - #sidebar-right h3{font-size:14px;line-height:14px;}.titre-barre{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}.titre-barre-gris{background:url(/sites/all/themes/franceculture/images/titre-barre-gris.gif) repeat-x 0 2px;color:#BABCBE;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#footer-top .titre-barre{padding:0 0 15px 0;}.titre-barre span,.titre-barre-gris span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}.titre-barre span.picto-ecoute{background:#ebebeb url(/sites/all/themes/franceculture/images/picto-ecoute-gris.png) no-repeat 5px 3px;padding-left:28px;}.titre-barre a{font-size:12px;font-weight:normal;line-height:12px;letter-spacing:-0.1px;cursor:default;display:block;color:#773584;}.titre-barre a:hover{text-decoration:none;}.titre-barre a.red{color:#C1272D;}.clear{clear:both;}.rss{padding:0 0 5px 5px;}.pictos{margin:2px 0 0 5px;background-color:#C1272D;}.sep{margin:0 0 6px 0;padding:0 0 6px 0;border-bottom:1px solid #CFCFCF;}.sep-last{margin:0;padding:0 0 6px 0;border-bottom:0 solid;}a.sep{display:block;}.read-more{text-align:right;font-size:11px;}.date{font-weight:bold;font-size:11px;}.timer{color:#C1272D;font-size:11px;margin:0 0 0 5px;font-weight:bold;}.timer-liste{font-size:11px;font-weight:bold;}.timer a{color:#C1272D;}.img-float{float:left;margin:0 10px 0 0;}.block{display:block;min-height:100px;margin:0 0 10px 0;}#footer-top .block{min-height:0;margin:0;}body.section-admin .block{min-height:0px;}.num-com{background:url(/sites/all/themes/franceculture/images/num-com-bg-rose.png) repeat-x 0 0;color:#000;font-size:10px;margin-left:10px;}.num-com:hover{text-decoration:none;}.num-com span{background:url(/sites/all/themes/franceculture/images/num-com-rose.png) no-repeat 100% 0;padding:0 3px 9px 3px;}.soon{padding:1px 4px;color:#fff;background-color:#C1272D;font-weight:bold;font-size:10px;margin-left:5px;}.violet{color:#773584;font-size:11px;}.cours{background-color:#E8E8E8;padding:0 5px;margin-right:5px;}.cours a{padding:0 5px;}.quiz{background-color:#DECFE2;padding:0 10px;margin-right:5px;}.quiz a{padding:0 10px;}.answer a{font-size:10px;background:url(/sites/all/themes/franceculture/images/answer.png) no-repeat 0 0;padding:0 5px 9px;}.answer a.none{background:#e4d7e6 none;padding:0 5px;}.rank-1{font-size:12px;}.rank-2{font-size:12px;color:#262626;}.rank-3{font-size:16px;color:#262626;}.btn-emission{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-emission.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:3px 20px 4px;margin-left:20px;}.btn-emission:hover{background-position:0 -22px;text-decoration:none;}.btn-liste-ecoute{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-liste-ecoute.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:4px 25px;margin-left:20px;}.btn-liste-ecoute:hover{background-position:0 -23px;text-decoration:none;}.more-doc{display:block;text-align:right;margin-top:15px;padding-right:15px;line-height:12px;cursor:pointer;}.more-doc:hover{text-decoration:none;}#edit-mollom-captcha-wrapper a#mollom-audio-captcha{display:none;}#edit-mollom-captcha-wrapper span{color:#fff;}#edit-mollom-captcha-wrapper span.form-required{color:#8A1F11;} - - - .retour-home{position:absolute;top:0;left:0;margin:18px 0 0 0;}.search{float:right;margin:10px 25px 0 0px;width:400px;} - #header .block{float:right;margin:22px 0 0 0;width:385px;}#header label,#header .block-simplenews p,#header #block-block-17 a{color:#773584;font-weight:bold;float:left;margin:0 10px 0 0;line-height:24px;}#header #block-block-17 a{float:right;}#header .block-simplenews p,#header .block-simplenews div,#header .block-simplenews form{display:inline;}#header .block-simplenews label{display:none;}#header input,#header .block-simplenews div.user-mail{padding:4px 10px 5px 10px;float:left;width:145px;}body.blogs #block-simplenews-65{display:none;}#header input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}#header .temp{margin:0 0 0 2px;} - #menu-principal{position:absolute;top:0;right:0;margin:108px 15px 0 0;}#menu-principal li{float:left;}#menu-principal a{color:#fff;padding:6px 8px 5px 9px;font-size:14px;font-weight:bold;display:block;background-color:#28042D;}#menu-principal a:hover,#menu-principal a.active{background-color:#773584;text-decoration:none;}#menu-principal .first a{margin:0 0 0 1px;}#menu-principal .menu-action a{padding:5px 10px 6px 10px;background-color:#4D4D4D;}#menu-principal .menu-action a:hover,#menu-principal .menu-action a.active{background-color:#C1272D;} - #menu-top{position:absolute;top:0;right:0;margin:80px 0 0 0;}#menu-top li{float:left;background-color:#DECFE2;}#menu-top a{color:#000;padding:5px 11px 6px;font-size:13px;font-weight:bold;display:block;}#menu-top a:hover,#menu-top a.active{background-color:#773584;color:#fff;text-decoration:none;}#menu-top .login{margin:0 0 0 1px;}#menu-top .login a{color:#56045D;}#menu-top .register a{color:#56045D;font-weight:normal;font-size:12px;}#menu-top .register a:hover,#menu-top .login a:hover,#menu-top .login a.active,#menu-top .register a.active{color:#fff;}#menu-top .disconnect a{margin:0 20px;}#menu-top .go-profil a{background:url(/sites/all/themes/franceculture/images/btn-edit-profil.png) no-repeat 0 0;display:block;text-align:center;width:54px;height:19px;color:#fff;margin:4px 4px 5px 4px;padding:0;}#menu-top .go-profil a:hover{background-position:0 -19px;} - .urgent{border:1px solid #CFCFCF;margin-bottom:15px;}.urgent-inner{background-color:#F5DCE3;margin:2px;padding:5px;position:relative;width:654px;}.urgent-inner span{color:#DC0000;font-size:11px;font-weight:bold;}.urgent-inner h1{color:#DC0000;font-size:16px;font-weight:bold;line-height:18px;margin-bottom:5px;}.urgent-inner a{font-size:11px;background:url(/sites/all/themes/franceculture/images/urg-up.png) no-repeat 0 4px;position:absolute;bottom:0;right:0;margin:0 10px 10px 0;line-height:11px;padding-left:10px;cursor:pointer;}.urgent-inner a:hover{text-decoration:none;} - .tabs{font-size:11px;color:#032649;}.tabs a{color:#032649;font-weight:bold;}.tabs a.active{color:#773584;} - #content-left{line-height:15px;}body .list-article li{margin:0 0 0 0;clear:left;padding:25px 0 0 0}.rubrique{background:url(/sites/all/themes/franceculture/images/bg-rubrique.png) repeat-x 0 0;font-size:11px;margin:0 0 3px 0;}.rubrique a,.rubrique span{background:#fff none;padding:0 5px 0 0;}.list-article .first{padding-top:0px;}.list-article .last{margin-bottom:25px;}.list-article .first .illustration{margin-bottom:15px;}.list-article .large .illustration{margin-right:0}.list-article .illustration{float:left;margin-right:20px;}.front .list-article .illustration{margin-bottom:25px;}.list-article .video{margin-top:15px;}img.imagefield-field_fleuve_image,img.imagecache-image_liste,img.imagecache-evenement_image_liste{float:left;margin-right:20px;} - .biographie{color:#262626;font-size:14px;line-height:18px;letter-spacing:0.1px;margin-bottom:35px;}.biographie p,body.node-type-rf-personne#tinymce p{margin-bottom:15px;} - #share,#block-print-0{position:absolute;top:0;right:0;text-align:right;min-height:0;}#share .share-mail{background:url(/sites/all/themes/franceculture/images/share-mail.png) no-repeat 100% 4px;padding-right:15px;margin-right:20px;}#share .share-mail span{display:none;}#share .share-more{padding-left:15px;}#share .share-services{margin-left:10px;}#share .share-services span{margin-right:5px;}.share-script .more-services{display:none;}.share-script .more-services.active{display:inline;}.share-script .more-services.active a{float:none;}.share-script .more-services.active a span{float:none;display:inline;padding:1px 8px;}#block-print-0{right:210px;}#block-print-0 .print-page{background:url(/sites/all/themes/franceculture/images/share-print.png) no-repeat 100% 2px;padding-right:15px;margin-right:17px;} - .pager{border:1px solid #CFCFCF;padding:5px;text-align:right;color:#032649;margin:50px 0 30px 0;}.pager a,.pager span.pager-current{font-size:14px;line-height:14px;color:#032649;display:inline-block;height:15px;text-align:center;padding:0;vertical-align:center;}.pager span.pager-item,.pager span.pager-current{margin:0 3px;}.pager span.pager-previous span,.pager span.pager-next span{display:none;}.pager span.pager-previous{background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat 0 0;width:15px;margin-right:3px;}.pager span.pager-next{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png) no-repeat 0 0;width:15px;margin-left:3px;}.pager span.pager-previous a,.pager span.pager-next a{width:15px;}.pager span.pager-current{color:#773584;} - .player{background:url(/sites/all/themes/franceculture/images/player-article.png) no-repeat 0 0;width:650px;height:75px;color:#fff;font-weight:bold;margin:20px 0 0 0;}.player .ecouter{float:left;width:65px;}.player .ecouter a{font-size:10px;display:block;padding:38px 0 0 0;text-align:center;color:#fff;}.player .ecouter a:hover{text-decoration:none;}.player .played{float:left;width:430px;margin:12px 0 0 0;}.player .played img{margin:8px 0 0 0;}.player .action{float:left;width:155px;margin-top:12px;}.player .action a{color:#fff;display:block;margin-bottom:7px;padding-left:22px;} - .com{margin-bottom:40px;}.com .post{margin-bottom:20px;}.com .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}.com .post .auth{font-weight:bold;color:#032649;}.com .post .submited .date{margin-left:5px;}.com .post p{font-size:12px;color:#4D4D4D;margin-left:55px;}#comment-form .preview .post{margin-bottom:20px;}#comment-form .preview .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}#comment-form .preview .post .auth{font-weight:bold;color:#032649;}#comment-form .preview .post .submited .date{margin-left:5px;}#comment-form .preview .post p{font-size:12px;color:#4D4D4D;margin-left:55px;} -#comment-form{margin-bottom:40px;}#comment-form img{margin:0 0 15px 0;}#comment-form label,#comment-form input.form-text,#comment-form textarea{display:block;font-weight:normal;}#comment-form label{color:#000;font-size:14px;margin:0 0 5px 0;}#comment-form input.form-text{border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;width:210px;margin:0 0 15px 0;}#comment-form textarea{padding:4px 10px 5px 10px;color:#999999;width:633px;margin:0 0 15px 0;}#fc-quelisentils-comment-form input.form-submit,#comment-form input.form-submit,.section-liste-ecoute #node-form input.form-submit{background-color:#773587;text-align:center;color:#fff;font-size:13px;font-weight:bold;cursor:pointer;padding:2px 5px;width:80px;}.section-liste-ecoute #node-form input.form-submit{width:100px;}#fc-quelisentils-comment-form input.form-submit:hover,#comment-form - input.form-submit:hover,.section-liste-ecoute #node-form input.form-submit:hover{background-color:#C1272D;}#comment-form .fieldset-wrapper label,#comment-form .fieldset-wrapper input{display:inline;} - #footer-top ul{float:left;border-left:1px solid #CFCFCF;padding:0 0 0 15px;margin:0 0 0 15px;font-size:11px;line-height:16px;display:inline;}ul.no-border{border:none;padding:0 30px 0 0;margin:0;width:80px;}ul.tools{width:100px;}ul.france-culture{width:450px;}ul.ecoute-culture{width:230px;}#footer a{color:#fff;font-size:16px;}#footer ul{float:left;}#footer li{display:inline;border-right:2px solid #fff;padding:0 30px 5px 0;margin:0 30px 0 0;}.signature-rf{float:right;text-align:right;font-size:10px;color:#888b8b;line-height:12px;}.signature-rf a{display:block;color:#888b8b;font-size:10px;font-weight:bold;} - - #content-right{line-height:15px;}#content-right .panel-pane,.list-rubrique li{margin-bottom:30px;margin-top:0 !important;padding-left:10px;}#content-right .panel-pane label,.list-rubrique li label{margin:10px 0 5px 0;display:block;}#content-right .panel-pane input,.list-rubrique li input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:180px}#content-right .panel-pane input.form-text:focus,#content-right .panel-pane input.focusField{color:#FFF;}#content-right .panel-pane input.submit,.list-rubrique li input.submit{padding:0;border:none;margin:0 0 0 2px;width:22px;height:22px;background-color:#773584;}#content-right .panel-pane select,.list-rubrique li select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;float:left;width:100%;margin:0 0 10px 0;} - #content-right .panel-pane .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#content-right .panel-pane .title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}body.node-type-panel #content-left .panel-pane .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.node-type-panel #content-left .panel-pane .title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;} - .acheter li a{color:#000;font-weight:normal;font-style:italic;}.acheter li span{color:#808080;font-style:italic;font-size:11px;}#content-right .acheter li{border-bottom:1px solid #CFCFCF;margin:10px 0 0 0;padding:0 0 10px 0;} - body.lecture #sidebar-right .plus ul{padding-left:20px;padding-right:20px;}body.lecture #sidebar-right .plus li{clear:left;margin:20px 0 0 0;}body.lecture #sidebar-right .plus p{float:right;width:140px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.lecture #sidebar-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}body.lecture #sidebar-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;}body.profil #content-right .plus li{clear:left;margin:10px 0;}body.profil #content-right .plus p{float:right;width:130px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.profil #content-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}body.profil #content-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;} - body.profil #content-right .rel-doc li{clear:left;margin:10px 0;}body.profil #content-right .rel-doc img{float:left;margin:0 10px 15px 0;}body.profil #content-right .rel-doc p{font-size:12px;color:#4D4D4D;display:inline;line-height:14px;}body.profil #content-right .rel-doc p a{margin:0;}body.profil #content-right .rel-doc p span{display:block;margin-bottom:5px;color:#032649;}body.profil #content-right .rel-doc p span.date{font-weight:bold;color:#4D4D4D;font-size:11px;}body.profil #content-right .rel-doc p.theme a{display:block;text-align:right;}body.profil #content-right .rel-doc p.theme input{float:none;width:113px;margin:20px 0;} - #sidebar-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#sidebar-right .block .title{margin:0 10px 5px 10px;}#sidebar-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#sidebar-right .block .title a{font-size:12px;font-weight:normal;line-height:12px;letter-spacing:-0.1px;cursor:default;display:block;color:#773584;}#sidebar-right .block .context{padding:0 10px 5px;}#sidebar-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#sidebar-right .block ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}#sidebar-right .block li.first,#sidebar-right .block li.views-row-first{margin-top:0;}#sidebar-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - #sidebar-right .block-ecoute{background:#fff url(/sites/all/themes/franceculture/images/player-noir-bg.png) repeat-y 0 0;margin:0 0 10px 0;line-height:14px;}#sidebar-right .block-ecoute .block-inner{background:url(/sites/all/themes/franceculture/images/player-noir-top.png) no-repeat 0 0;padding:15px 0 0 0;color:#fff;}#sidebar-right .block-ecoute .titre-barre{background:url(/sites/all/themes/franceculture/images/titre-barre-noir.gif) repeat-x 0 2px;margin:0 19px 5px 10px;}#sidebar-right .block-ecoute h2 span{background:#323232 url(/sites/all/themes/franceculture/images/picto-cult-noir.png) no-repeat 5px 0;color:#fff;padding-left:28px;}#sidebar-right .block-ecoute .context{background-color:#fff;margin:0 19px 15px 10px;border-top:1px solid #666666;border-bottom:1px solid #666666;border-right:none;border-left:none;padding:15px 10px;color:#4D4D4D;}#sidebar-right .block-ecoute .context p{padding:0;}#sidebar-right .block-ecoute h3 a{display:block;}#sidebar-right .block-ecoute h3 .timer{font-size:14px;display:block;margin:0 0 2px 0;}#sidebar-right .block-ecoute p{padding-left:10px;padding-right:19px;}#sidebar-right .block-ecoute p a{color:#fff;background-color:#121212;}#sidebar-right .block-ecoute p .timer{font-size:12px;margin:0;}#sidebar-right .block-ecoute p.auteur{background:url(/sites/all/themes/franceculture/images/player-noir-bottom.png) no-repeat 0 100%;padding-bottom:25px;display:block;margin:2px 0 0 0;}#sidebar-right .block-ecoute .closure{background:url(/sites/all/themes/franceculture/images/player-noir-bottom.png) no-repeat 0 100%;height:15px;display:block;margin:2px 0 0 0;border:none;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard .context{height:40px;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard .default{font-weight:bold;margin-top:7px;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard{height:140px;} - #sidebar-right .block-list{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block-list .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block-list .titre-barre{margin:0 10px 5px 10px;}#sidebar-right .block-list .titre-barre span{background-color:#ebebeb;}#sidebar-right .block-list .context{padding:0 10px 5px;}#sidebar-right .block-list .context a{float:left;margin:10px 10px 0 10px;width:120px;text-align:center;line-height:16px;}#sidebar-right .block-list label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block-list ul,.block-list ol,.block-list .context{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding-top:1px;}#sidebar-right .block-list ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block-list li{border-bottom:1px solid #CFCFCF;margin:20px 20px 0 20px;padding:0 0 15px 0;}#sidebar-right .block-list .read-more{padding:0 20px 0 0;display:block;margin:5px 0 0 0;clear:left;}#sidebar-right .block-list .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - #sidebar-right .block-user{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block-user .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block-user .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#sidebar-right .block-user .title{margin:0 10px 5px 10px;}#sidebar-right .block-user .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#sidebar-right .block-user .context{padding:0 10px 5px;}#sidebar-right .block-user label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block-user .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#sidebar-right .block-user ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block-user li{border-bottom:1px solid #CFCFCF;margin:2px 0;padding:0;border-top-width:0;}#sidebar-right .block-user li.first{margin-top:0;}#sidebar-right .block-user .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - #sidebar-right #block-fcbloc-sur-le-meme-theme{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right #block-fcbloc-sur-le-meme-theme .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;margin:0 10px 5px 10px;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;background-color:#ebebeb;}#sidebar-right #block-fcbloc-sur-le-meme-theme .context{padding:0 10px 5px;}#sidebar-right #block-fcbloc-sur-le-meme-theme .context a{float:left;margin:10px 10px 0 10px;width:120px;text-align:center;line-height:16px;}#sidebar-right #block-fcbloc-sur-le-meme-theme label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right #block-fcbloc-sur-le-meme-theme ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right #block-fcbloc-sur-le-meme-theme li{border-bottom:1px solid #CFCFCF;margin:20px 0 0 0;padding:0 0 15px 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme li.last{padding:0;border-bottom:0px}#sidebar-right #block-fcbloc-sur-le-meme-theme li.first{margin-top:0;}#sidebar-right #block-fcbloc-sur-le-meme-theme .read-more{padding:0 20px 0 0;display:block;margin:5px 0 0 0;clear:left;}#sidebar-right #block-fcbloc-sur-le-meme-theme .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme p a{font-weight:normal;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;margin:0 10px 5px 10px;} - #sidebar-right #block-fcbloc-publicite.block .block-inner,#sidebar-right #block-fcbloc-publicite.block .block-content,#sidebar-right #block-fcbloc-publicite.block .closure{background:none;padding:0;margin:0;}#sidebar-right #block-fcbloc-publicite.block .closure{display:none;}#sidebar-right #block-fcbloc-publicite.block .title span{background-color:#FFF;}#sidebar-right #block-fcbloc-publicite.block .title{margin:0;}#sidebar-right #block-fcbloc-publicite.block .pub-inner{width:300px;height:250px;}#sidebar-right #block-fcbloc-publicite.block p.pub-notice{display:block;text-align:center;background-color:#c7c7c7;color:#808080;padding:2px;margin:0;}#sidebar-right #block-fcbloc-publicite.block{margin-bottom:15px;} - #sidebar-right #block-views-partenariats_fo_liste-block_1.block,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .block-inner,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .block-content,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .closure{background:none;padding:0;margin:0;}#sidebar-right #block-views-partenariats_fo_liste-block_1.block .title span{background-color:#FFF;}#sidebar-right #block-views-partenariats_fo_liste-block_1.block .title{margin:0;} - #sidebar-right #block-views-lesplusconsultes-block_3 h2.title span{background:#ebebeb url(/sites/all/themes/franceculture/images/picto-ecoute-gris.png) no-repeat 3px 50%;padding-left:28px;} - #content-right .propos li{border-bottom:none;margin-top:15px;padding-bottom:5px;}#content-right .propos li .date{font-size:12px;display:block;margin-bottom:5px;} - #sidebar-right .aide .closure{height:15px;}#sidebar-right .aide li{border-bottom:none;margin-top:10px;padding-bottom:0;} - .block-nav a{display:block;margin-bottom:5px;} - #content-right .qr .read-more{background:none;padding-bottom:5px;}#content-right .qr .closure{background-color:#ebebeb;padding-top:10px;height:40px;}#content-right .qr .closure a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;width:280px;height:20px;margin:2px 10px;padding-top:2px;}#content-right .qr .closure a:hover{background-position:0 -22px;text-decoration:none;}#sidebar-right .qr-posezvotrequestion a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;height:20px;margin:10px 10px -15px;padding-top:2px;}#sidebar-right .qr-posezvotrequestion a:hover{background-position:0 -22px;text-decoration:none;} - #sidebar-right .equipe li{border-bottom:none;padding-bottom:5px;margin-top:15px;} - #content-right .votre-liste ol li{list-style-position:inside;border-bottom:none;font-weight:normal;color:#4D4D4D;} - #content-right .sujet li{margin-bottom:5px;padding-bottom:5px;border-bottom:0;}#content-right .sujet .illustration{float:left;margin-right:5px;}#content-right .sujet .timer{margin-left:0;} - #content-right #block-fc_evenement-proposer-un-evenement ul{padding:0 0 0.25em 0;}#content-right #block-fc_evenement-proposer-un-evenement{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#content-right #block-fc_evenement-proposer-un-evenement .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#content-right #block-fc_evenement-proposer-un-evenement .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#content-right #block-fc_evenement-proposer-un-evenement .title{margin:0 10px 5px 10px;}#content-right #block-fc_evenement-proposer-un-evenement .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#content-right #block-fc_evenement-proposer-un-evenement .context{padding:0 10px 5px;}#content-right #block-fc_evenement-proposer-un-evenement .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#content-right #block-fc_evenement-proposer-un-evenement li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}#content-right #block-fc_evenement-proposer-un-evenement li.first{margin-top:0;}#content-right #block-fc_evenement-proposer-un-evenement .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:35px;display:block;}#content-right #block-fc_evenement-proposer-un-evenement .desc .grippie{margin-left:25px;} - #content-right #block-fc_evenement-proposer-un-evenement .form-item label{font-weight:normal}#content-right #block-fc_evenement-proposer-un-evenement input.submit{width:100px;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.file-add,#content-right #block-fc_evenement-proposer-un-evenement input.submit.file-remove{width:100px;margin-left:25px;border:2px outset;height:25px;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.suite{background:url(/sites/all/themes/franceculture/images/btn-evenement.png) no-repeat 0 0;margin-left:185px;margin-top:0;text-align:center;width:85px;height:25px;color:#fff;border:none;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.suite:hover{background-position:0 -25px;text-decoration:none;}#content-right #block-fc_evenement-proposer-un-evenement p.connect{height:30px;width:120px;margin-left:125px;padding:5px 20px;background:url(/sites/all/themes/franceculture/images/btn-evenement-connect.png) no-repeat 0 0;}#content-right #block-fc_evenement-proposer-un-evenement p.connect:hover{background-position:0 -39px;}#content-right #block-fc_evenement-proposer-un-evenement p.connect a{font-size:13px;color:#fff}#content-right #block-fc_evenement-proposer-un-evenement p.connect a:hover{text-decoration:none;}#content-right #block-fc_evenement-proposer-un-evenement div.messages{margin:1em;}#content-right #block-fc_evenement-proposer-un-evenement .quand .description{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .quand{margin-left:25px;}#content-right #block-fc_evenement-proposer-un-evenement .quand label{margin-left:5px;}#content-right #block-fc_evenement-proposer-un-evenement .quand .container-inline-date.date-clear-block{clear:none;display:inline;float:left;margin-top:10px;}#content-right #block-fc_evenement-proposer-un-evenement .quand label span.form-required{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .quand label span.form-required{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .desc .form-item .description{margin-left:25px;clear:left;}#content-right #block-fc_evenement-proposer-un-evenement .ahah-progress-throbber{margin-top:-22px;margin-left:145px;}#content-right #block-fc_evenement-proposer-un-evenement .ahah-progress-bar{width:235px;float:left;margin-left:25px;}#content-right #block-fc_evenement-proposer-un-evenement .supl span.field-prefix{margin-left:25px;font-size:13px;}#content-right #block-fc_evenement-proposer-un-evenement .supl input{margin-left:0px;width:195px;}#content-right #block-fc_evenement-proposer-un-evenement .supl #legal-wrapper{margin:10px 25px 5px;} - #sidebar-right .form-com p,#content-right .form-com p{background:transparent url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding-top:11px;text-align:center;color:#C1272D;}#sidebar-right .form-com label,#content-right .form-com label{margin:10px 25px 5px 25px;background:none;text-align:left;color:#4D4D4D;font-size:12px;padding:0;}#sidebar-right .form-com label span,#content-right .form-com label span{color:#C1272D;font-size:13px;}#sidebar-right .form-com input,#sidebar-right .form-com textarea,#content-right .form-com input,#content-right .form-com textarea{margin:0 25px;width:230px;padding:3px 5px;}#content-right .form-com select,#sidebar-right .form-com select{margin:0 25px;width:240px;padding:3px 5px;}#sidebar-right .form-com img,#content-right .form-com img{margin:10px 25px;text-align:center;}#sidebar-right .form-com input.submit,#content-right .form-com input.submit{width:80px;margin-top:20px;}#sidebar-right .form-com input.submit,#content-right .form-com input.submit{background-color:#773587;text-align:center;color:#fff;font-size:13px;font-weight:bold;cursor:pointer;padding:2px 5px;width:80px;}#sidebar-right .form-com input.submit:hover,#content-right .form-com input.submit:hover{background-color:#C1272D;}#content-right .form-com .quoi,#content-right .form-com .quand,#content-right .form-com .ou,#sidebar-right .form-com .quoi,#sidebar-right .form-com .quand,#sidebar-right .form-com .ou{margin-bottom:20px;}#content-right .form-com .quand input,#sidebar-right .form-com .quand input{width:75px;float:left;margin:0 0 0 5px;padding:2px 5px;display:inline;}#content-right .form-com .quand input.submit,#sidebar-right .form-com .quand input.submit{width:22px;height:22px;margin:0 0 0 2px;padding:0;border:none;}#content-right .form-com .quand label,#sidebar-right .form-com .quand label{float:left;margin:5px 0 0 25px;display:inline;}#content-right .form-com .ou .cp,#sidebar-right .form-com .ou .cp{float:left;width:90px;margin:15px 0 0 25px;display:inline;}#content-right .form-com .ou .cp input,#sidebar-right .form-com .ou .cp input{width:70px;margin:0;}#content-right .form-com .ou .cp label,#sidebar-right .form-com .ou .cp label{margin:0;}#content-right .form-com .ou .commune,#sidebar-right .form-com .ou .commune{float:left;width:170px;margin:15px 0 0 0;}#content-right .form-com .ou .commune input,#sidebar-right .form-com .ou .commune input{width:140px;margin:0;}#content-right .form-com .ou .commune label,#sidebar-right .form-com .ou .commune label{margin:0;}#content-right .form-com .desc,#sidebar-right .form-com .desc{margin-bottom:20px;}#content-right .form-com .desc input,#sidebar-right .form-com .desc input{width:160px;float:left;margin:0 0 0 25px;padding:2px 5px;display:inline;}#content-right .form-com .desc input.submit,#sidebar-right .form-com .desc input.submit{width:80px;height:22px;margin:0 0 0 2px;padding:0;border:none;} - #content-right .plus ul{padding-left:20px;padding-right:20px;}#content-right .plus li{clear:left;margin:20px 0 0 0;}#content-right .plus p{float:right;width:140px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}#content-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}#content-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;} - .search-col-right p{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding:20px 0 0 25px;height:30px;margin:0;}.search-col-right input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:205px;}.search-col-right input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}body.lecture .search-col-right .closure{height:15px;} - .writter{padding:0 16px 0 0;border-right:1px solid #CFCFCF;margin:10px 0;}.book{padding:0 0 0 17px;margin:10px 0;}.who{display:block;font-size:16px;margin-bottom:2px;}body.page-accueil div.view-quelisentils img.imagecache-personne_image_liste,body.node-type-rf-personne div.view-quelisentils img.imagecache-personne_image_liste,body.page-taxonomy-term-131 div.view-quelisentils img.imagecache-personne_image_liste{padding:0 16px 0 0;border-right:1px solid #CFCFCF;margin:10px 0;}body.page-accueil div.view-quelisentils img.imagecache-oeuvre_image_liste,body.node-type-rf-personne div.view-quelisentils img.imagecache-oeuvre_image_liste,body.page-taxonomy-term-131 div.view-quelisentils img.imagecache-oeuvre_image_liste{padding:0 0 0 15px;margin:10px 0;} - .profil-extra img{margin-bottom:20px;}.profil-extra td{padding-bottom:8px;color:#262626;}.profil-extra .ref{width:85px;}.profil-extra .ref.map{width:225px;}.profil-extra .infos{padding-left:10px;} - .oeuvre p{color:#666666;font-size:11px;margin-left:105px;}.oeuvre a.title{display:block;font-size:12px;margin-bottom:3px;}.oeuvre span.format{color:#4D4D4D;font-weight:bold;display:block;margin-bottom:3px;} - .rel-emission .position{position:relative;text-align:right;width:235px;margin-bottom:8px;}.rel-emission .position a{display:block;height:45px;}.rel-emission .position p{position:absolute;top:0;left:0;margin:10px 0 0 5px;font-size:13px;font-weight:bold;color:#fff;z-index:10;width:110px;text-align:left;line-height:13px;}.rel-emission .position .opacity{position:absolute;bottom:0;left:0;display:block;width:120px;height:40px;opacity:0.8;}.rel-emission .position .opacity span{display:none;} - .position .docks{background-color:#29ABE2;}.position .theme1-131{background-color:#D2D721;}.position .theme1-130{background-color:#47758D;}.position .theme1-135{background-color:#1B97CD;}.position .theme1-132{background-color:#EED7A1;}.position .theme1-133{background-color:#EF6F60;}.position .theme1-289{background-color:#FFED00;}.position .theme1-290{background-color:#8E5698;}.position .theme1-134{background-color:#FBB03B;} - - - .part{position:relative;margin-bottom:10px;width:300px;}.part img{border:10px solid #EBEBEB;}.part .opaque{position:absolute;bottom:0;left:0;margin:0 0 10px 10px;height:30px;width:280px;background-color:#000;opacity:0.7;z-index:10;}.part p{color:#fff;font-size:16px;font-weight:bold;position:absolute;bottom:0;left:0;margin:0 0 15px 15px;z-index:20;} - #sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist{padding-bottom:50px;padding-top:5px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a{float:none;margin:0;text-align:left;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist .illustration{float:left;margin-right:20px;width:70px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.submit{background:transparent url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat scroll 0 0;color:#FFFFFF;float:right;padding:4px 10px;text-align:center;width:140px;margin-top:20px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.submit:hover{background-position:0 -25px;text-decoration:none;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist{position:relative;overflow:hidden;height:220px;margin:10px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist div.field-items{position:absolute;height:200em;width:260px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist div.field-items div.field-item{top:5px;border-bottom:1px solid #CFCFCF;padding:7px 0;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.disabled{visibility:hidden !important;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.prev{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png);cursor:pointer;display:block;height:15px;left:5px;margin:40px 0 0 5px;top:0;position:absolute;width:280px;z-index:10;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.next{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);cursor:pointer;display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;z-index:10;margin-bottom:75px;margin-left:150px;} - - #content-bottom{background:url(/sites/all/themes/franceculture/images/bg_bottom.png) repeat-y 0 0;}#content-bottom .clear-close{background:url(/sites/all/themes/franceculture/images/bg-bottom_bottom.png) no-repeat 0 100%;height:32px;clear:both;}#content-bottom .titre-barre span{background-color:#ebebeb;}#content-bottom ol{margin:10px 15px 0 15px;}#content-bottom li{border-bottom:1px solid #CFCFCF;}#cb-left{background:transparent url(/sites/all/themes/franceculture/images/cb-left_top.png) no-repeat 0 0;}#cb-right{background:transparent url(/sites/all/themes/franceculture/images/cb-right_top.png) no-repeat 0 0;}#cb-left li{margin:0 0 15px 0;padding:0 0 15px 0;}#cb-left .auteur{display:block;margin:10px 0 5px 0;}#cb-right li{list-style-type:decimal;list-style-position:inside;font-weight:bold;color:#032649;margin:0 0 6px 0;padding:0 0 6px 0;}#block-views-lesplusconsultes-block_1{background:transparent url(/sites/all/themes/franceculture/images/cb-right_top.png) no-repeat 0 0;}#block-views-lesplusconsultes-block_1 li{list-style-type:decimal;list-style-position:inside;font-weight:bold;color:#032649;margin:0 0 6px 0;padding:0 0 6px 0;}#block-views-lesplusconsultes-block_1 h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#block-views-lesplusconsultes-block_1 h2.title span{background-color:#EBEBEB;display:inline-block;padding:0 5px;letter-spacing:0;} - - - body.blogs .blog-home{position:absolute;top:0;right:0;margin-top:-12px;margin-right:-12px;z-index:10;}body.blogs .opacity h1{position:absolute;bottom:0;left:0;margin-bottom:5px;margin-left:15px;display:block;opacity:0.8;color:#fff;padding:15px;line-height:20px;background-color:#29ABE2;font-size:30px;}body.blogs .opacity h1 a{color:#FFF;text-decoration:none;}body.blogs .opacity h1 a.le-blog-de{display:block;font-size:12px;color:#032649;}body.blogs .opacity-bottom{position:absolute;bottom:0;left:0;width:990px;height:5px;opacity:0.8;background-color:#29ABE2;} - body.blogs .list-article{margin-bottom:40px;}body.blogs .list-article li{margin-top:15px;padding-top:10px;border-top:1px solid #CFCFCF;}body.blogs .item-list ul{margin:0;}body.blogs .item-list li{margin:15px 0 0;padding-top:10px;border-top:1px solid #CFCFCF;list-style:none;}.blog-illu{float:left;position:relative;background:url(/sites/all/themes/franceculture/images/blog-ill-top.png) no-repeat 0 0;padding-top:10px;width:100px;margin-right:20px;}.blog-illu .date{position:absolute;top:0;left:0;z-index:20;margin-top:12px;color:#fff;display:block;text-align:center;width:100px;font-size:14px;}.blog-illu .opaque{position:absolute;top:0;left:0;width:100px;height:20px;background-color:#000;opacity:0.7;margin-top:10px;}.blog-illu span{border-bottom:1px solid #CFCFCF;margin-bottom:2px;padding-bottom:2px;font-size:11px;display:block;font-weight:bold;}.blog-illu span.auteur{border-bottom:none;}.blog-infos{float:left;width:520px;}.view-id-personne_fo_fleuve .blog-infos{width:auto;float:none;}.blog-infos p,body.node-type-rf-billet-blog#tinymce p{font-size:13px;color:#262626;line-height:18px;margin-bottom:10px;}body.blogs .pager{clear:left;}body.blogs .form-com{clear:both;}body.blogs #content .blog-infos .illustration{position:relative;float:left;margin:0 15px 25px 0;}body.blogs #content .blog-infos .large{margin-right:0;}body.blogs #content .blog-infos .illustration .opaque{position:absolute;bottom:0;left:0;width:100%;background-color:#000;opacity:0.7;}body.blogs #content .blog-infos .illustration .opaque p{font-weight:bold;color:#fff;font-size:11px;margin:2px 10px;} - #sidebar-right #block-views-864a217bf1f0671a8b7d686e759c3554 .block-content ul.views-summary li{margin-top:0;}#sidebar-right #block-views-864a217bf1f0671a8b7d686e759c3554 .block-content ul.views-summary li ~ li{margin-top:20px;} - #sidebar-right #block-fc_widget_twitter-field_twitter .block-content ul li{margin-top:0;}#sidebar-right #block-fc_widget_twitter-field_twitter .block-content ul li ~ li{margin-top:20px;} - - h1 .more{color:#773584;font-size:12px;font-weight:bold;}h1 .more .result,h1 .more .tag{font-size:24px;margin:0 5px;}.more-infos input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:270px;display:inline;}.more-infos input.submit{padding:0;border:none;margin:0 0 0 2px;width:77px;height:26px;background-color:#773584;}.more-infos input.box{float:left;margin:6px 0 0 20px;display:inline;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;width:15px;height:15px;}.more-infos label.box{float:left;margin:5px 0 0 5px;display:inline;color:#032649;font-size:11px;font-weight:bold;}.trie{margin-top:30px;color:#032649;font-size:11px;font-weight:bold;}.trie a{color:#032649;margin:0 3px;}.trie a.first{margin-left:0;}.trie a.active{color:#773584;}.result li{border-top:1px solid #CFCFCF;margin:0 0 15px 0;padding:10px 0 0 0;clear:both;}.result .illustration{float:right;margin-left:20px;}.result .tagged{background-color:#FFFF00;} - body.page-theme #content-inner .more{color:#773584;font-size:13px;font-weight:bold;margin:10px 0 20px 0;}body.page-theme #content-inner .more select{border-color:#CCCCCC #666666 #666666 #CCCCCC;border-style:solid;border-width:1px;margin-left:10px;padding:2px;width:200px;color:#4D4D4D;font-size:12px;}body.page-theme .list-article li{clear:both;}body.page-theme .list-article li .illustration{float:left;margin-right:10px;} - div#grille-programmes #grille-navigation{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}div#grille-programmes h1{color:#773584;padding-bottom:20px;margin-bottom:0;}div#grille-programmes .btn-liste-ecoute{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-liste-ecoute.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:4px 33px;line-height:15px;width:185px;text-align:center;float:right;display:block;}div#grille-programmes .btn-liste-ecoute:hover{background-position:0 -23px;text-decoration:none;} - div#grille-programmes .script-prog a.prev,div#grille-programmes .script-prog a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.gif) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:73px;margin-left:6px;}div#grille-programmes .script-prog a.disabled{visibility:hidden !important;}div#grille-programmes .script-prog a.next,div#grille-programmes .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.gif);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:73px;margin-right:6px;}div#grille-programmes .script-prog div.scrollable{position:relative;overflow:hidden;width:960px;height:31px;margin:0 0 0 5px;background-color:#EBEBEB;}div#grille-programmes #grille-navigation .script-prog ol{margin:0;}div#grille-programmes .script-prog #thumbs{position:absolute;width:10000em;clear:both;left:-1644px;} - div#grille-programmes .script-prog #thumbs li{width:137px;height:31px;cursor:pointer;margin:0;float:left;padding:0;position:relative;line-height:15px;text-align:center;background:url(/sites/all/themes/franceculture/images/li-prog.png) no-repeat 0 0;color:#032649;font-size:15px;font-weight:bold;}div#grille-programmes .script-prog #thumbs li.active{background:url(/sites/all/themes/franceculture/images/li-prog-active.png) no-repeat 0 0;}div#grille-programmes .script-prog #thumbs li a{display:block;height:100%;padding-top:7px;text-transform:lowercase;} - .plage-horaire a.prev,.plage-horaire a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.gif) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:73px;margin-left:1px;}.plage-horaire a.disabled{visibility:hidden !important;}.plage-horaire a.next,.plage-horaire a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.gif);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:73px;margin-right:1px;}.plage-horaire{width:960px;background-color:#fff;border-right:1px solid #CFCFCF;border-left:1px solid #CFCFCF;border-top:1px solid #CFCFCF;border-bottom:5px solid #C1272D;margin-top:5px;height:125px;padding:0 14px;position:relative;}.plage-horaire .horaire-inner{overflow:hidden;width:960px;height:125px;position:relative;}div#grille-programmes #thumbs2{position:absolute;width:10000em;clear:both;}.plage-horaire li{width:160px;height:125px;float:left;}.plage-horaire li div{width:140px;height:115px;position:relative;float:left;padding:10px 10px 0;}.plage-horaire li p{color:#032649;font-weight:bold;}.plage-horaire li.col-2{width:348px;}.plage-horaire h2{color:#4D4D4D;font-size:12px;font-weight:normal;}.plage-horaire a{display:block;height:100%;}.plage-horaire a:hover{text-decoration:none;}.plage-horaire span{position:absolute;bottom:0;left:0;height:16px;width:159px;background-color:#F9E9E9;font-size:11px;font-weight:bold;color:#ED1C24;display:block;padding:2px 0 2px 5px;}.plage-horaire span a{color:#ED1C24;}.plage-horaire span.second{margin-left:164px;}.plage-horaire .active span{background-color:#ED1C24;color:#fff;}.plage-horaire .active span a{color:#fff;} - .detail-plage{border-left:1px solid #CFCFCF;border-right:1px solid #CFCFCF;border-bottom:1px solid #CFCFCF;background:url(/sites/all/themes/franceculture/images/prog-horaire.png) repeat-x 0 0;padding:2px 15px 20px 15px;margin-bottom:40px;}.detail-plage .heure{color:#C1272D;font-size:18px;font-weight:bold;margin:5px 0 10px 0;}.detail-plage .heure .debut{float:left;}.detail-plage .heure .fin{float:right;}.detail-plage .programme p{padding-top:16px;}.detail-plage .programme img{float:left;margin-right:30px;}.detail-plage .programme h3{color:#C1272D;font-size:11px;font-weight:bold;line-height:11px;}.detail-plage .programme h2{font-size:20px;}.detail-plage .programme .btn-emission{padding:3px 25px 4px;float:right;line-height:15px;}.detail-plage .programme ul{margin:20px 0 0 0;float:left;width:300px;}.detail-plage .programme ul.split{margin-left:30px;}.detail-plage .programme li{border-bottom:1px solid #CFCFCF;margin-bottom:3px;padding-bottom:5px;font-size:11px;line-height:14px;}.detail-plage .programme li a{font-size:12px;}.detail-plage .programme li span{color:#C1272D;font-weight:bold;margin-right:2px;} - .detail-arbo{border:1px solid #CFCFCF;padding:30px;margin-top:5px;}.detail-arbo ul{margin-left:120px;}.detail-arbo li.actionnable{border-top:1px solid #CFCFCF;margin-top:10px;padding-top:10px;position:relative;width:810px;cursor:pointer;}.detail-arbo .action{position:absolute;top:0;right:0;margin:10px 0 0 0;cursor:pointer;}.detail-arbo span{color:#C1272D;font-weight:bold;}.detail-arbo span.plage{font-size:16px;display:block;width:50px;float:left;}.detail-arbo h2{margin-left:55px;}.detail-arbo p{margin-left:55px;color:#333333;font-size:12px;}.detail-arbo li ul{margin-left:55px;}.detail-arbo li li span{margin-right:3px;}.detail-arbo li li p{margin:0;} - body.section-podcasts .attachment-before .view-display-id-attachment_1{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}body.section-podcasts .attachment-before .view-display-id-attachment_1{padding-bottom:0;margin-bottom:0;}body.section-podcasts .attachment-before .view-display-id-attachment_1 .view-content{margin:0 0 15px 30px;}body.section-podcasts .attachment-before .view-display-id-attachment_1 .view-content li{display:block;float:left;margin:0 5px;position:relative;}body.section-podcasts li div.content{position:absolute;top:0;left:0;width:176px;border-top:1px solid #000;padding-bottom:15px;background:url(/sites/all/themes/franceculture/images/bandeau-podcast-bottom.gif) no-repeat 0 100%;margin-top:-55px;margin-left:-3px;z-index:100;}body.section-podcasts li div.content p{background:url(/sites/all/themes/franceculture/images/bandeau-podcast-bg.png) repeat-y 0 0;padding:5px 15px;margin:0;font-size:11px;font-weight:bold;line-height:11px;}body.section-podcasts li div.content p .timer{display:block;margin:0;} - body.podcasts .modifier{text-align:right;margin:30px 20px 0 0;height:25px;}body.podcasts .modifier a{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 18px;float:right;}body.podcasts .modifier a:hover{background-position:0 -25px;text-decoration:none;}body.podcasts .closure{height:60px;background-color:#ebebeb;padding-top:10px;}body.podcasts .closure a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;width:280px;height:20px;margin:2px 10px;padding-top:2px;}body.podcasts .closure a:hover{background-position:0 -22px;text-decoration:none;} - body.section-podcasts h1{color:#773584;padding-bottom:10px;margin-bottom:0;}body.section-podcasts .primary-tabs{width:970px;height:31px;margin:0;margin-top:10px;}body.section-podcasts .primary-tabs span{float:left;}body.section-podcasts .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.section-podcasts .primary-tabs span a:hover{text-decoration:none;}body.section-podcasts .primary-tabs span.themes a{background:url(/sites/all/themes/franceculture/images/tab-theme.png) no-repeat 0 0;width:130px;height:26px;}body.section-podcasts .primary-tabs span.themes a.active{background:url(/sites/all/themes/franceculture/images/tab-theme-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.alpha a{background:url(/sites/all/themes/franceculture/images/tab-alpha.png) no-repeat 0 0;width:200px;height:26px;}body.section-podcasts .primary-tabs span.alpha a.active{background:url(/sites/all/themes/franceculture/images/tab-alpha-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.prod a{background:url(/sites/all/themes/franceculture/images/tab-prod.png) no-repeat 0 0;width:150px;height:26px;}body.section-podcasts .primary-tabs span.prod a.active{background:url(/sites/all/themes/franceculture/images/tab-prod-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.cle{background:url(/sites/all/themes/franceculture/images/tab-cle.png) no-repeat 0 0;width:490px;height:31px;color:#fff;font-size:11px;}body.section-podcasts .primary-tabs span.cle input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:225px;margin:5px 0 0 10px}body.section-podcasts .primary-tabs span.cle input.submit{padding:0;border:none;margin:5px 0 0 2px;width:22px;height:22px;background-color:#773584;}body.section-podcasts .primary-tabs span.cle span{margin:5px 0 0 10px;line-height:12px;}body.section-podcasts .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.section-podcasts .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} - body.section-podcasts .views-view-grid li img{float:right;margin-left:15px;}body.section-podcasts .views-view-grid li .views-field-title{font-size:16px;margin:0 0 5px 0;}body.section-podcasts .views-view-grid li span{display:block;margin-bottom:5px;letter-spacing:-0.2px;}body.section-podcasts .views-view-grid li span.timer{margin:0 0 5px 0;}body.section-podcasts .views-view-grid li .views-field-field-generique-personne-nid .field-content{display:inline;} - body.section-podcast .article-full{margin-bottom:30px;}body.section-podcast #content-left h2.titre-barre{margin-bottom:30px;}body.section-podcast .article-full h2{font-size:24px;color:#262626;}body.section-podcast .article-full h3{font-size:16px;color:#773584;margin:10px 0 5px 0;}body.section-podcast .article-full p{margin:10px 0 10px 215px;}body.section-podcast .article-full .illustration{float:left;margin:0 15px 25px 0;}body.section-podcast .article-full .instal{background:url(/sites/all/themes/franceculture/images/instal-bg.png) no-repeat 0 0;height:88px;margin:0 0 5px 215px;}body.section-podcast .article-full .instal a{font-size:11px;float:left;display:block;margin-top:10px;text-align:center;}body.section-podcast .article-full .instal a:hover{text-decoration:none;}body.section-podcast .article-full .instal a.itune{width:88px;}body.section-podcast .article-full .instal a.reader{width:85px;}body.section-podcast .article-full .instal a.yahoo{width:85px;}body.section-podcast .article-full .instal a.netvibes{width:85px;}body.section-podcast .article-full .instal a.netvibes span{margin-top:3px;}body.section-podcast .article-full .instal a.lien-rss{width:75px;}body.section-podcast .article-full .instal a.lien-rss span{margin-top:5px;}body.section-podcast .article-full .instal span{display:block;} - body.podcasts .script-vertical h2{margin-bottom:36px;}body.podcasts .script-vertical h2.titre-barre{margin-bottom:5px;}body.podcasts .script-vertical .liste-ecoute{position:relative;}body.podcasts .script-vertical a.prev,body.podcasts .script-vertical a.prevPage{display:block;width:260px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin:40px 0 0 20px;}body.podcasts .script-vertical a.disabled{visibility:hidden !important;}body.podcasts .script-vertical a.next,body.podcasts .script-vertical a.nextPage{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;cursor:pointer;z-index:10;margin-bottom:120px;margin-left:159px;}body.podcasts .script-vertical div.scrollable-vertical{position:relative;overflow:hidden;width:300px;height:421px;margin:0;background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;}body.podcasts .script-vertical #thumbs-vertical{position:absolute;width:10000em;clear:both;background:none;}body.podcasts .script-vertical #thumbs-vertical li{cursor:pointer;padding:15px 0 5px 0;margin:10px 20px 0 20px;clear:left;width:260px;height:109px;}body.podcasts .script-vertical #thumbs-vertical li .illustration{float:left;}body.podcasts .script-vertical #thumbs-vertical li p{margin-left:60px;}body.podcasts .script-vertical #thumbs-vertical li p a{display:block;margin-bottom:5px;line-height:15px;}body.podcasts .script-vertical #thumbs-vertical li p span{display:block;margin-top:5px;}body.podcasts .script-vertical #thumbs-vertical li p span span{display:inline;margin:0 0 0 5px;} - - - body.emissions #content-top{margin-bottom:-30px;}body.section-emissions .view-header{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}body.section-emissions #content #content-inner,body.section-grille-des-programmes #content #content-inner,body.section-programmes #content #content-inner{padding-top:0;}body.section-emissions h1{color:#773584;padding-bottom:10px;margin-bottom:0;} - body.section-emissions .primary-tabs{width:970px;margin:0;}body.section-emissions .primary-tabs span{float:left;}body.section-emissions .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.section-emissions .primary-tabs span a:hover{text-decoration:none;}body.section-emissions .primary-tabs span.themes a{background:url(/sites/all/themes/franceculture/images/tab-theme.png) no-repeat 0 0;width:125px;height:26px;}body.section-emissions .primary-tabs span.themes a.active{background:url(/sites/all/themes/franceculture/images/tab-theme-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.alpha a{background:url(/sites/all/themes/franceculture/images/tab-alpha.png) no-repeat 0 0;width:200px;height:26px;}body.section-emissions .primary-tabs span.alpha a.active{background:url(/sites/all/themes/franceculture/images/tab-alpha-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.prod a{background:url(/sites/all/themes/franceculture/images/tab-prod.png) no-repeat 0 0;width:150px;height:26px;}body.section-emissions .primary-tabs span.prod a.active{background:url(/sites/all/themes/franceculture/images/tab-prod-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.cle{background:url(/sites/all/themes/franceculture/images/tab-cle.png) no-repeat 0 0;width:490px;height:31px;color:#fff;font-size:11px;}body.section-emissions .primary-tabs span.cle input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:225px;margin:5px 0 0 10px}body.section-emissions .primary-tabs span.cle input.submit{padding:0;border:none;margin:5px 0 0 2px;width:22px;height:22px;background-color:#773584;}body.section-emissions .primary-tabs span.cle span{margin:5px 0 0 10px;line-height:12px;}body.section-emissions .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.section-emissions .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} - body.emissions .list-rubrique li h2{margin-bottom:30px;}body.emissions .list-rubrique li h2.titre-barre{font-size:16px;}body.emissions .list-rubrique li li.clear{float:left;width:100%;height:40px;}body.emissions .list-rubrique li li.clear span{display:none;}body.emissions .list-rubrique li li.first{padding-left:0;margin-left:0;border-left:none;}body.emissions .list-rubrique li li{float:left;width:305px;border-left:1px solid #CFCFCF;margin:0 0 0 15px;padding:0 0 0 15px;color:#4D4D4D;font-size:11px;font-weight:bold;line-height:12px;}body.emissions .list-rubrique li li img{margin-bottom:5px;}body.emissions .list-rubrique li li h3{font-size:16px;margin:0 0 5px 0;}body.emissions .list-rubrique li li span{display:block;margin-bottom:5px;letter-spacing:-0.2px;}body.emissions .list-rubrique li li span.date{display:inline;}body.emissions .list-rubrique li li span.timer{margin:0 0 5px 0;display:inline;}body.emissions .list-rubrique li li span.timer img{margin-bottom:0;}body.emissions .list-rubrique li li p{font-weight:normal;margin-top:5px;}body.emissions .list-rubrique li li .rubrique{height:20px;}ul.views-view-grid li{float:left;width:305px;border-left:1px solid #CFCFCF;margin:0 0 0 15px;padding:0 0 0 15px;color:#4D4D4D;font-size:11px;font-weight:bold;line-height:12px;}ul.views-view-grid li.col-1{padding-left:0;margin-left:0;border-left:none;}ul.views-view-grid li.empty{float:left;width:100%;height:40px;}ul.views-view-grid li .rubrique{height:20px;}ul.views-view-grid li h3{font-size:16px;margin:0 0 5px 0;}ul.views-view-grid li span.date{display:inline;}ul.views-view-grid li span.timer{margin:0 0 5px 0;display:inline;}ul.views-view-grid li span.timer img{margin-bottom:0;}ul.views-view-grid li p{font-weight:normal;margin-top:5px;}div.views-view-grid-title{clear:left;margin-bottom:30px;}div.views-view-grid-title h2.titre-barre{font-size:16px;} - body.emissions .article-full{color:#262626;font-size:14px;margin-bottom:40px;}body.emissions .article-full p.theme{font-size:13px;margin-top:30px;}body.emissions .article-full p.theme a{font-size:12px;margin:0 2px;}body.emissions .bandeau{position:relative;margin-bottom:20px;margin-left:15px;}body.emissions .bandeau h1{position:absolute;top:0;left:0;margin-top:10px;margin-left:-10px;display:block;opacity:0.95;height:75px;color:#fff;padding:5px 10px 10px 20px;line-height:20px;max-width:300px;}body.emissions .bandeau h1 span{display:block;font-size:12px;color:#032649;font-weight:bold;}body.emissions .bandeau h1 .site{background:url(/sites/all/themes/franceculture/images/emission.gif) no-repeat 0 0;display:block;font-size:12px;text-align:center;width:132px;height:17px;line-height:15px;}body.emissions .bandeau .illu-small{position:absolute;top:0;right:0;margin:13px 13px 0 0;}body.emissions .bandeau p{background-color:#EBEBEB;color:#032649;padding:2px 10px;font-size:12px;font-weight:bold;}body.emissions .bandeau p span{margin-left:15px;}body.emissions .bandeau h1.docks{background-color:#29ABE2;}body.emissions .bandeau h1.chemins{background-color:#D9E021;}body.emissions .bandeau h1.theme1-131{background-color:#D2D721;}body.emissions .bandeau h1.theme1-130{background-color:#47758D;}body.emissions .bandeau h1.theme1-135{background-color:#1B97CD;}body.emissions .bandeau h1.theme1-132{background-color:#EED7A1;}body.emissions .bandeau h1.theme1-133{background-color:#EF6F60;}body.emissions .bandeau h1.theme1-289{background-color:#FFED00;}body.emissions .bandeau h1.theme1-290{background-color:#8E5698;}body.emissions .bandeau h1.theme1-134{background-color:#FBB03B;}body.emissions .bandeau div.image{height:100px;} - - - .titre-plus{margin:0 0 20px 0;}.titre-plus h2{color:#262626;font-size:24px;line-height:26px;}.titre-plus .date{margin-right:10px;}.titre-plus .listen{float:left;width:90px;text-align:center;}.titre-plus .listen span{color:#C1272D;font-size:11px;display:block;font-weight:bold;}body.emissions #content .rel-doc{margin-bottom:40px;}body.emissions #content .rel-doc li{float:left;width:215px;}body.emissions #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.emissions #content .rel-doc li.clear span{display:none;}body.emissions #content .rel-doc p{float:right;width:110px;margin-right:5px;font-size:12px;color:#666666;display:inline;line-height:14px;}body.emissions #content .rel-doc p a{display:block;}body.emissions #content .rel-doc p span{display:block;margin-bottom:5px;color:#032649;}body.emissions #sidebar-right #block-fcbloc-emission-contact .block-content{padding:15px 0 0;}body.emissions #sidebar-right #block-fcbloc-emission-contact .grippie{width:240px;margin:0 25px;}body.emissions #sidebar-right #block-fcbloc-emission-contact #edit-mollom-captcha-wrapper .description{width:240px;margin:0 25px;} - .node-rf_diffusion .rel-sites a{display:block;}.node-rf_diffusion .rel-sites a.timer{margin-left:0;}.node-rf_diffusion .rel-sites li{margin-bottom:20px;}.node-rf_diffusion .rel-sites li.last{margin-bottom:0;} - span.views-field-field-diffusion-date-debut-fin-value span.date-display-single{font-size:11px;font-weight:bold;} - p.invites{margin-top:15px;} - body.mini-site #content-top{position:relative;background-color:#f1ebf3;padding:15px;margin-bottom:30px;}body.mini-site h1{color:#773584;margin-bottom:0;}body.mini-site .biographie{margin-bottom:20px;}body.mini-site .biographie h2{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;}body.mini-site .biographie p.infos{color:#4D4D4D;font-size:12px;margin-bottom:10px;}body.mini-site .biographie p.infos span{color:#808080;font-style:italic;display:block;}body.mini-site .biographie p{color:#262626;font-size:14px;line-height:18px;} - body.culture #content-top,body.culture-accueil h1#page-title{position:relative;background-color:#f1ebf3;padding:15px 15px 0;margin:0 0 15px 0;border-top:1px #CFCFCF solid;}body.culture #content-top .block{height:auto;min-height:0;margin-bottom:0;}body.culture #content-top #block-fc_cultureac-culture-module{margin:0 -15px;background:white;}body.culture h1{color:#773584;margin:0 0 15px;}body.culture-accueil h1#page-title{padding:15px;}body.culture-accueil h2,body.culture-accueil h3{font-size:16px;}body.culture-accueil .more{font-size:11px;text-align:right;}body.culture-accueil li p{font-size:12px;line-height:15px;}body.culture .view-id-cultureac_term .view-content p.rubrique{clear:left;} - body.section #content-top{position:relative;background-color:#f1ebf3;padding:15px 15px 0 15px;margin:0 0 15px 0;} - body.module #content-top{position:relative;background-color:#f1ebf3;padding:15px 15px 0 15px;margin:0 0 15px 0;} - body.culture .primary-tabs{width:970px;height:31px;margin:0;}body.culture .primary-tabs span{float:left;}body.culture .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.culture .primary-tabs span a:hover{text-decoration:none;}body.culture .primary-tabs span a{background:url(/sites/all/themes/franceculture/images/tab-sec.png) no-repeat 0 0;width:240px;height:26px;}body.culture .primary-tabs span a.active{background:url(/sites/all/themes/franceculture/images/tab-sec-active.png) no-repeat 0 0;}body.culture .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.culture .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} - .first-article{border-right:1px solid #f1ebf3;border-left:1px solid #f1ebf3;border-bottom:1px solid #CFCFCF;margin-bottom:20px;padding:5px 15px 20px;}.first-article img{float:left;margin-right:10px;}.first-article h2{font-size:24px;margin-bottom:10px;color:#262626;}.first-article h3{font-size:14px;margin-bottom:5px;color:#262626;}body.culture .first-article p{font-size:14px;line-height:18px;}body.culture .first-article .sousthemes{margin-bottom:15px;}.first-article p{font-size:12px;color:#262626;line-height:15px;} - body.culture .article-teaser{margin-bottom:20px;}body.culture .article-teaser h2{font-size:24px;margin-bottom:5px;color:#262626;}body.culture .article-teaser p{font-weight:bold;}body.culture .article-full .illustration{float:left;margin:0 15px 25px 0;}body.culture .article-full p,body.node-type-fc-cours#tinymce p{font-size:14px;line-height:18px;color:#262626;} - body.qr .tri-qr{margin-bottom:60px;color:#262626;font-size:14px;}body.qr .tri-qr h2{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;margin-bottom:30px;}body.qr .tri-qr p{display:block;margin:0 0 5px;}body.qr .tri-qr span.floating-select{float:left;width:300px;margin-right:20px;margin-top:20px;}body.qr .tri-qr label{display:block;color:#262626;font-size:14px;margin-bottom:5px;}body.qr .tri-qr select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;width:250px;margin:0 10px 5px 0;}body.qr .tri-qr input.submit{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:3px 13px 4px;font-weight:bold;color:#fff;border:none;cursor:pointer;}body.qr .tri-qr input.submit:hover{background-position:0 -25px;text-decoration:none;} - body.qr .all-qr{margin-bottom:40px;}body.qr .all-qr .post{margin-bottom:20px;border-bottom:1px solid #CFCFCF;padding-bottom:15px;}body.qr .all-qr .post .submited{color:#000;font-size:12px;margin-bottom:10px;display:block;}body.qr .all-qr .post .submited .quiz{color:#773584;font-size:11px;font-weight:normal;margin-left:10px;}body.qr .all-qr .post .auth{font-weight:bold;color:#032649;}body.qr .all-qr .post .submited .date{margin-left:5px;}body.qr .all-qr .post p{font-size:12px;line-height:15px;color:#262626;margin-left:55px;}body.qr .all-qr .q-r{float:right;margin:00;font-size:12px;font-weight:bold;height:40px;}body.qr .all-qr .q-r span{background:url(/sites/all/themes/franceculture/images/answer-big.png);padding:5px 13px 15px 13px;margin-right:10px;color:#773584;}body.qr .all-qr .q-r a{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 13px;color:#fff;}body.qr .all-qr .q-r a:hover{background-position:0 -25px;text-decoration:none;}body.qr .all-qr .q-r span.none{background:#e4d7e6 none;padding:5px 13px;} - .validation h2{font-size:24px;color:#262626;margin:20px 0 30px 0;}.validation img{float:left;margin-right:10px;}.validation .end{color:#773584;font-size:20px;margin-bottom:15px;}.validation p{color:#262626;font-size:14px;line-height:18px;margin-bottom:15px;}.validation .score span{color:#929497;font-size:19px;}.validation .liens{margin:30px 0 0 0;}.validation .liens a{background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:5px 23px;text-align:center;color:#fff;}.validation a.facelien{background:url(/sites/all/themes/franceculture/images/facebook.png) no-repeat 0 0;padding:5px 33px 5px 50px;margin-right:20px;}.validation .form-com{margin:50px 0 20px 0;}.validation .form-com span.floating-select{float:left;width:300px;margin-right:20px;margin-top:20px;}.validation .form-com .desc{color:#4D4D4D;font-size:12px;font-style:italic;} - .quiz-q{margin:40px 0;position:relative;}.quiz-q fieldset{border:3px solid #773584;padding:20px 20px 10px 20px;}.quiz-q legend{font-size:12px;color:#773584;font-weight:bold;padding:0 0.5em;}.quiz-q img{float:left;margin:0 20px 0 0;}.quiz-q h3{color:#262626;font-size:16px;margin-bottom:10px;}.quiz-q p{font-size:14px;color:#262626;}.quiz-q .date{margin-left:5px;}.quiz-q .q-r{margin:20px 0 0 0;font-size:12px;font-weight:bold;float:right;}.quiz-q .q-r span{background:url(/sites/all/themes/franceculture/images/answer-big.png) no-repeat;padding:5px 13px 15px 13px;margin-right:10px;color:#773584;display:inline-block;height:15px;}.quiz-q .q-r a{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 13px 5px 13px;color:#fff;display:inline-block;margin-bottom:10px;height:15px;}.quiz-q .q-r a:hover{background-position:0 -25px;text-decoration:none;} - .questionnaire{position:relative;margin-left:50px;}.questionnaire h3{color:#4D4D4D;font-size:14px;margin-bottom:10px;}.questionnaire .num{position:absolute;top:0;left:0;margin-left:-50px;color:#A6A8AB;font-size:14px;}.questionnaire img{display:block;margin-bottom:10px;}.questionnaire label{color:#4D4D4D;font-size:12px;}.questionnaire input.form-submit{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat scroll 0 0;border:none;color:#FFFFFF;cursor:pointer;font-weight:bold;padding:3px 13px 4px;display:block;margin-top:30px;text-align:center;width:81px;}.questionnaire input.form-submit:hover{background-position:0 -25px;text-decoration:none;}.questionnaire .form-radios,.questionnaire .form-checkboxes,#multichoice-render-question-form .form-radios,#multichoice-render-question-form .form-checkboxes{clear:both;} - body.qr .com{margin-bottom:40px;}body.qr .com .post{margin-bottom:20px;border-bottom:1px solid #CFCFCF;padding-bottom:15px;}body.qr .com .post .submited{color:#000;font-size:14px;margin-bottom:10px;display:block;}body.qr .com .post .submited .quiz{color:#773584;font-size:11px;font-weight:normal;margin-left:10px;}body.qr .com .post .auth{font-weight:bold;color:#032649;}body.qr .com .post .submited .date{margin-left:5px;}body.qr .com .post p{font-size:14px;line-height:18px;color:#262626;margin-left:55px;}body.qr .com .quiz-go{float:right;background:url(/sites/all/themes/franceculture/images/quiz-go.png) no-repeat 0 0;display:block;padding:5px 20px;color:#fff;margin-top:15px;}body.qr .com .quiz-go:hover{background-position:0 -25px;text-decoration:none;}body.qr .com .best{background-color:#f6f1f7;padding:15px 25px;}body.qr .com .best .meilleure{color:#773584;font-size:11px;font-weight:normal;} - .rubrique-culture li{float:left;width:300px;position:relative;height:435px;margin-bottom:20px;}.rubrique-culture li.left{margin-right:40px;}.rubrique-culture li h2,.rubrique-culture li h3{font-size:16px;}.rubrique-culture li p{color:#4D4D4D;}.rubrique-culture li .more{font-size:11px;position:absolute;bottom:0;right:0;} - body.culture .list-rubrique li{margin-top:10px;clear:left;}body.culture .list-rubrique li img.illustration{float:left;margin:0 15px 15px 0;}body.culture .list-rubrique li .auteur{display:block;margin-bottom:15px;} - body.culture .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.culture .list-article li.first{border-top-width:0;}body.culture .list-article li img{float:left;margin:0 15px 15px 0;}body.culture .list-article li .auteur{display:block;margin-bottom:15px;} - .rel-quiz{margin:40px 0;clear:both;}.rel-quiz h3{font-size:14px;}.rel-quiz .quiz-go{float:right;background:url(/sites/all/themes/franceculture/images/quiz-go.png) no-repeat 0 0;display:block;padding:5px 16px;color:#fff;margin-top:15px;} - .liste-cours{margin:20px 0;}body.culture .liste-cours li{border-bottom:1px solid #CFCFCF;margin-bottom:15px;padding-bottom:10px;} - - .profil-infos{margin-bottom:30px;}.profil-infos img{float:left;margin-right:10px;}.profil-infos p{color:#262626;margin-bottom:15px;font-size:14px;}.profil-infos a.submit{float:right;background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:4px 10px;text-align:center;width:140px;color:#fff;}.profil-infos a.submit.larger{background-image:url(/sites/all/themes/franceculture/images/btn-larger.png);width:180px;}.profil-infos a.submit:hover{background-position:0 -25px;text-decoration:none;}.profil-infos a.facebook-modif{float:right;background:url(/sites/all/themes/franceculture/images/btn-fbconnect-modification.png) no-repeat 0 0;padding:3px 5px 3px 25px;text-align:center;width:170px;color:#fff;font-size:11px;}.profil-infos a.facebook-modif:hover{background-position:0 -23px;text-decoration:none;} - .user-lecture{margin-bottom:30px;}.user-lecture img{float:left;margin-right:10px;}.user-lecture h3{font-size:16px;}.user-lecture .date{display:block;}.user-lecture .more{margin:50px 0 0 0;text-align:right;}#fc-quelisentils-que-lisez-vous span.date{display:inline;}.user-lecture .avatars{width:530px;margin:0 0 0 auto;}.user-lecture .avatars li{float:left;width:130px;margin-right:2px;clear:none;padding:0;}.user-lecture .more-review,.user-lecture .more-avatar{clear:both;}.user-lecture .unfold,.view-quelisentils .unfold,#personne-articles .unfold{background:url(/sites/all/themes/franceculture/images/urg-down.png) no-repeat 100% 4px;padding-right:10px;}.user-lecture .fold,.view-quelisentils .fold,#personne-articles .fold{background:url(/sites/all/themes/franceculture/images/urg-up.png) no-repeat 100% 4px;padding-right:10px;} - .user-question{margin-bottom:30px;clear:both;}.user-question ul{margin-top:20px;}.user-question li{width:300px;float:left;}.user-question li.border{padding-left:20px;margin-left:19px;border-left:1px solid #CFCFCF;}.user-question li h3 a{display:block;}.user-question .more-link{margin:20px 0 0 0;text-align:right;clear:left;} - .user-com{margin-bottom:30px;clear:both;}.user-com li{margin-bottom:20px;}.user-com .date{display:block;}.user-com h3 a{display:block;font-size:14px;} - .user-agenda{margin-bottom:30px;}.user-agenda ul{margin-top:20px;}.user-agenda li{width:300px;float:left;padding-bottom:5px;}.user-agenda li.border{padding-left:20px;margin-left:19px;border-left:1px solid #CFCFCF;}.user-agenda li.none{clear:left;}.user-agenda .more{margin:20px 0 0 0;text-align:right;float:right;} - .infos-connexion{margin-bottom:30px;}.infos-connexion h2{margin-bottom:20px;}.infos-connexion label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:330px;text-align:right;font-size:13px;}.infos-connexion input{border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:3px;}.infos-connexion .description{margin-left:340px;color:#808080;font-size:12px;font-style:italic;}.infos-connexion span.password-strength,.infos-connexion span.password-confirm,.infos-connexion div.password-description{margin-left:340px;display:none;} - .infos-vous{margin-bottom:30px;}.infos-vous h2{margin-bottom:20px;}.infos-vous img{margin-bottom:3px;margin-left:340px;}.infos-vous label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:330px;text-align:right;font-size:13px;}.infos-vous label.option{width:640px;font-size:12px;line-height:12px;margin-right:2px;}.infos-vous label.option input{width:15px;margin:0 0 3px 2px;float:right;}.infos-vous input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:3px;}.infos-vous input.submit{padding:0;border:none;margin:0 0 3px 3px;width:71px;height:25px;background-color:#773584;}.infos-vous input.submit-v{padding:0;border:none;margin:20px 20px 3px 3px;width:71px;height:25px;background-color:#773584;float:right;}.infos-vous select{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:302px;margin-bottom:3px;}.infos-vous textarea{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:20px;}.infos-vous .grippie{width:300px;margin:0 0 3px 340px;display:inline-block;}.infos-vous .resizable-textarea{display:inline;}.infos-vous .resizable-textarea textarea{width:280px!important;}.infos-vous .description{margin-left:320px;color:#808080;font-size:12px;font-style:italic;}.infos-vous #edit-contact-1-wrapper .description{display:inline-block;} - .infos-vous fieldset{display:none;}.infos-vous input.focusField{color:#fff;}html.js .infos-vous input.form-autocomplete{background-position:100% 6px}html.js .infos-vous input.throbbing{background-position:100% -14px} - - body.page-contact h1#page-title{display:none;}body.page-contact h1{color:#773584;}.ecrire{float:left;width:405px;}.ecrire{margin-bottom:30px;}.ecrire label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:150px;text-align:right;font-size:13px;font-weight:normal;}.ecrire label.option{float:right;}.ecrire label.option input{width:12px;height:12px;padding:0;}.ecrire input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:220px;margin-bottom:3px;}.ecrire select{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:242px;margin-bottom:3px;}.ecrire textarea{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:220px;}.ecrire input.submit-v{padding:0;border:none;margin:10px 3px 0 3px;width:71px;height:25px;background-color:#773584;float:right;}.ecrire-desc{float:left;margin-left:10px;padding-left:19px;width:220px;border-left:1px solid #CFCFCF;}.ecrire-desc p{margin-bottom:10px;}.ecrire-desc li{margin-bottom:10px;list-style-type:disc;list-style-position:inside;}.ecrire .grippie{width:240px;margin:0 0 3px 160px;display:inline-block;}.ecrire .resizable-textarea{display:inline;}.ecrire .resizable-textarea textarea{width:220px!important;height:50px;}.ecrire .form-item{margin-bottom:0;margin-top:0;}.ecrire input.focusField{color:#fff;} - - body.frequence h1{color:#773584;}body.frequence #content-inner p{color:#262626;margin-bottom:10px;}body.frequence #content-inner label{float:left;margin:0 10px 10px 0;line-height:24px;}body.frequence #content-inner input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px 3px 10px;float:left;width:145px;margin-bottom:10px;}body.frequence #content-inner input.submit{padding:0;border:none;margin:0 0 10px 15px;width:103px;height:26px;background-color:#773584;}body.frequence #content-inner p.loc{font-size:14px;border-bottom:1px solid #CFCFCF;padding-bottom:5px;clear:both;}body.frequence #content-inner p.loc span{color:#773584;font-weight:bold;} - - body.section-votre-agenda #content-top{position:relative;background-color:#f1ebf3;padding:15px;margin-bottom:30px;}body.section-votre-agenda h1{color:#773584;margin-bottom:0;}body.section-votre-agenda .script-read a.prev,body.section-votre-agenda .script-read a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:105px;margin-left:-7px;}body.section-votre-agenda .script-read a.disabled{visibility:hidden !important;}body.section-votre-agenda .script-read a.next,body.section-votre-agenda .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:105px;margin-right:-7px;}body.section-votre-agenda .script-read div.scrollable{position:relative;overflow:hidden;width:960px;height:165px;margin:10px 0 0 0;background-color:#fff;}body.section-votre-agenda #content-top .script-read ol{margin:0;}body.section-votre-agenda .script-read .thumbs{position:absolute;width:10000em;clear:both;}body.section-votre-agenda .script-read .thumbs li{width:210px;height:150px;cursor:pointer;margin:15px 0 0 0;float:left;padding:0 15px 0 15px;position:relative;line-height:15px;}body.section-votre-agenda .script-read .thumbs li .num{position:absolute;bottom:0;left:0;margin:0 15px;}body.section-votre-agenda .script-read .thumbs li img{float:left;margin-right:10px;}body.section-votre-agenda .script-read .thumbs li h2{font-size:12px;line-height:15px;}body.section-votre-agenda div.agenda_error{background:#FFF3F6 url(/sites/all/themes/franceculture/images/error.png) no-repeat .5em .45em;border:1px solid #C00000;color:#C00000;}body.section-votre-agenda div.agenda_error a{text-decoration:underline;}body.section-votre-agenda form input.focusField{color:#fff;} - .board{margin-bottom:60px;}.board form{margin:0;}.board .ou{float:left;width:215px;background-color:#EBEBEB;height:230px;}.board .quand{float:left;width:215px;margin:0 5px;background-color:#EBEBEB;height:230px;}.board .quoi{float:left;width:215px;background-color:#EBEBEB;height:230px;}.board h3{text-align:center;margin-bottom:5px;}.board select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;width:190px;margin:0 10px 5px 10px;}.board label{font-size:14px;color:#4D4D4D;font-weight:normal;}.board .ou img{margin:0 10px;}.board .quand label{float:left;margin:0 3px 10px 10px;}.board .quand input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px;float:left;width:150px;margin-bottom:10px;}.board .quand input.submit{padding:0;border:none;margin:0 0 11px 7px;width:22px;height:22px;background-color:#773584;}.board .quoi input{margin-bottom:5px;}.board .quoi label{margin:0 0 5px 5px;}.board .s-submit{padding:0;border:none;margin:20px 0 0 2px;width:103px;height:26px;background-color:#773584;float:right;}.board .quoi label.option{display:block;}.board .ou .form-item{margin:0;}.board .quand #edit-date-min-value-wrapper div.description,.board .quand #edit-date-max-value-wrapper div.description{display:none;} - body.section-votre-agenda .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.section-votre-agenda .list-article li img{float:left;margin:0 15px 15px 0;}body.section-votre-agenda .list-article li .auteur{display:block;margin-bottom:15px;} - form#views-exposed-form-evenement-fo-liste-block-1 .views-exposed-form .views-exposed-widget{width:100%;} - - body.node-type-rf-article #content .article-teaser{margin:0 0 20px 0;}body.node-type-rf-article #content .article-teaser p{margin:0 0 10px 0;}body.node-type-rf-article #content .article-teaser .date{display:block;margin:0 0 10px 0;}body.node-type-rf-article #content p{color:#262626;font-size:14px;line-height:18px;}body.node-type-rf-article #content .article-full p,body.node-type-rf-article#tinymce p{margin:0 0 10px 0;}body.node-type-rf-article #content .article-full .large{width:640px;}body.node-type-rf-article #content .article-full .small{width:320px;}body.node-type-rf-article #content .article-full .dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;}body.node-type-rf-article #content .article-full .opaque p{color:#fff;font-weight:bold;font-style:italic;padding:5px 10px 10px 10px;font-size:12px;margin:0;}body.node-type-rf-article #content .article-full .opaque span{font-style:normal;text-transform:uppercase;font-size:9px;margin-left:5px;}body.node-type-rf-article #content .article-full .video .opaque{margin-bottom:33px;}body.node-type-rf-article #content .article-full p.theme,body.node-type-rf-billet-blog #content p.theme{clear:both;font-size:13px;}body.node-type-rf-article #content .article-full p.theme a,body.node-type-rf-billet-blog #content p.theme a{font-size:12px;margin:0 2px;}body.node-type-rf-article #content .article-full p.auteur{float:right;margin:0 0 8px 0;} - body.node-type-rf-article #content .article-full .list-rubrique li{margin-bottom:20px;}body.node-type-rf-article #content .article-full .list-rubrique li p{color:#4D4D4D;font-size:12px;line-height:14px;margin-bottom:20px;}body.node-type-rf-article #content .article-full .list-rubrique li a.title{font-size:12px;display:block;margin-bottom:5px;}body.node-type-rf-article #content .article-full .list-rubrique li a.timer,body.node-type-rf-article #content .article-full .list-rubrique li span.date{display:block;}body.node-type-rf-article #content .article-full .list-rubrique li .timer{margin:0;}body.node-type-rf-article #content .article-full .list-rubrique li .image{margin-bottom:10px;}body.node-type-rf-article #content .article-full .list-rubrique li .image p{margin:0 0 0 110px;}body.node-type-rf-article #content .article-full .field-field-article-image-page div div{line-height:1px;} - body.node-type-rf-article #content .rel-liens{margin-bottom:0px;}body.node-type-rf-article #content .rel-liens div{margin-bottom:20px;}body.node-type-rf-article #content .rel-liens div a{font-size:12px;display:block;margin:0 0 5px 0;} - body.node-type-rf-article #content .rel-doc{margin-bottom:40px;}body.node-type-rf-article #content .rel-doc li{float:left;width:215px;margin-bottom:20px;}body.node-type-rf-article #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.node-type-rf-article #content .rel-doc p{float:right;width:100px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.node-type-rf-article #content .rel-doc p a{font-size:12px;display:block;margin:0 0 5px 0;}body.node-type-rf-article #content .rel-doc p span{font-size:12px;font-style:italic;display:block;margin-top:5px;}.rel-doc .liste-clear{width:100% !important;} - body.section-liste-ecoute h1{background:url(/sites/all/themes/franceculture/images/liste-ecoute-title.png) no-repeat 0 0;color:#fff;text-align:center;height:45px;padding:15px 0 0 45px;}body.section-liste-ecoute #content-inner fieldset,body.section-liste-ecoute #edit-title-wrapper,body.section-liste-ecoute .vertical-tabs{display:none!important;}body.section-liste-ecoute #content #content-right{float:right;}body.section-liste-ecoute #content-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}body.section-liste-ecoute #content-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}body.section-liste-ecoute #content-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 30px 5px;text-align:center;}body.section-liste-ecoute #content-right .block .title{margin:0 10px 5px 10px;}body.section-liste-ecoute #content-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}body.section-liste-ecoute #content-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}body.section-liste-ecoute #content-right .block ol{background:transparent url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding-top:1px;}body.section-liste-ecoute #content-right .block ol li{border-bottom:medium none;color:#4d4d4d;font-weight:normal;list-style-position:inside;list-style-type:decimal;margin-top:10px;}body.section-liste-ecoute #content-right .block li{margin:20px 20px 0;padding:0 0 15px 0;}body.section-liste-ecoute #content-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - body.section-liste-ecoute .list-article li{border-bottom:1px solid #CFCFCF;margin-bottom:15px;padding-bottom:15px;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.odd,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.even{background-color:#FFFFFF;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd .form-item,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even .form-item{white-space:normal;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.odd.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.even.content-multiple-removed-row{background-color:#FFFFCC;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-remove-button,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-remove-button{background-image:url(/sites/all/themes/franceculture/images/picto-supprimer.png);height:18px;width:18px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-remove-button:hover,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-remove-button:hover{background-position:0 -18px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-removed-row .content-multiple-remove-button,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-removed-row .content-multiple-remove-button{background-position:0 -36px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-removed-row .content-multiple-remove-button:hover,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-removed-row .content-multiple-remove-button:hover{background-position:0 -54px;}body.section-liste-ecoute table#field_liste_lecture_son_values thead,body.section-liste-ecoute table#field_liste_lecture_abonnements_values thead{display:none;}body.section-liste-ecoute table#field_liste_lecture_son_values td,body.section-liste-ecoute table#field_liste_lecture_abonnements_values td{width:100%;}body.section-liste-ecoute table#field_liste_lecture_son_values td.content-multiple-drag{width:20px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td.content-multiple-drag{display:none;}body.section-liste-ecoute table#field_liste_lecture_son_values .illustration{float:left;margin-right:20px;}body.section-liste-ecoute .form-item #autocomplete .reference-autocomplete{background:url(/sites/all/themes/franceculture/images/more-red.png) no-repeat right;padding:2px;margin:0px 2px;}body.section-liste-ecoute #node-form input.focusField,body.section-liste-ecoute #content-left .baladeur input.focusField{color:#fff;}html.js body.section-liste-ecoute input.form-autocomplete{background-position:100% 7px}html.js body.section-liste-ecoute input.throbbing{background-position:100% -14px} - .baladeur{color:#262626;line-height:18px;font-size:14px;width:600px;margin-left:10px;margin-bottom:50px;}body.section-liste-ecoute #content-left .baladeur input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:125px;}body.section-liste-ecoute #content-left .baladeur input.submit{padding:0;border:none;margin:0 0 0 2px;width:120px;height:27px;background-color:#773584;} - body.section-liste-ecoute #content-left input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:330px;}body.section-liste-ecoute #content-left input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values{margin:20px 0 40px 0;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values tbody{border-top:none;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper{margin:5px 0;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper .form-item{white-space:normal;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3{font-size:16px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3 span{font-size:11px;margin-left:10px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3 span.author{color:#032649;font-weight:bold;} - - body.lecture h1{position:relative;background-color:#f1ebf3;padding:15px;color:#773584;margin-bottom:15px;}body.page-quelisentils h1,body.page-quelisentils-derniers-avis h1{margin-bottom:0;padding-bottom:0;}body.lecture #content-top{background-color:#f1ebf3;padding:1px 15px 15px;margin-bottom:30px;}body.lecture .script-read a.prev,body.lecture .script-read a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:7;margin-top:105px;margin-left:-7px;}body.lecture .script-read a.disabled{visibility:hidden !important;}body.lecture .script-read a.next,body.lecture .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:7;margin-top:105px;margin-right:-7px;}body.lecture .script-read div.scrollable{position:relative;overflow:hidden;width:960px;height:330px;margin:10px 0 0 0;background-color:#fff;}body.lecture #content-top .script-read ol{margin:0;}body.lecture .script-read .thumbs{position:absolute;width:10000em;clear:both;}body.lecture .script-read .thumbs li{width:210px;height:285px;cursor:pointer;margin:15px 0;float:left;padding:0 15px 15px 15px;border-right:1px solid #CFCFCF;position:relative;}body.lecture .script-read .thumbs li .num{position:absolute;bottom:0;left:0;margin:0 15px;}body.lecture .script-read .writter{padding:0;border-right:none;margin:0 5px 5px 0;}body.lecture .script-read .book{padding:0;margin:0 0 5px 5px;}body.lecture #content-top .who-read{margin-top:20px;}body.lecture #content-top .who-read input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:180px}body.lecture #content-top .who-read input.submit{padding:0;border:none;margin:0 0 0 2px;width:22px;height:22px;background-color:#773584;}body.lecture #content-top .who-read label{float:left;margin-right:20px;}body.lecture #content-top .who-read .date{font-size:12px;}body.lecture #content-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}body.lecture #content-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}body.lecture #content-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.lecture #content-right .block .title{margin:0 10px 5px 10px;}body.lecture #content-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}body.lecture #content-right .block .context{padding:0 10px 5px;}body.lecture #content-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}body.lecture #content-right .block .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}body.lecture #content-right .block ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}body.lecture #content-right .block li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}body.lecture #content-right .block li.first,#sidebar-right .block li.views-row-first{margin-top:0;}body.lecture #content-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - body.lecture .node-rf_oeuvre{margin-bottom:20px;}body.lecture .node-rf_oeuvre h2.title{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;}body.lecture .node-rf_oeuvre p.infos{color:#4D4D4D;font-size:12px;margin-bottom:10px;}body.lecture .node-rf_oeuvre p.infos span{color:#808080;font-style:italic;display:block;}body.lecture .node-rf_oeuvre p,body.node-type-rf-oeuvre#tinymce p{color:#262626;font-size:14px;line-height:18px;}body.lecture .node-rf_oeuvre .illustration{margin:0 15px 15px 0;float:left;}body.lecture #content-inner .illustration{margin:0 15px 15px 0;float:left;}body.lecture .node-rf_oeuvre .theme a{float:right;font-size:11px;}.node-rf_oeuvre #quelisentils-oeuvre div.view-display-id-block_2{clear:left;padding-top:8px;}.node-rf_oeuvre #quelisentils-oeuvre div.views-row{clear:left;}.node-rf_oeuvre #quelisentils-oeuvre div.views-row p{margin-left:65px;}.node-rf_oeuvre #quelisentils-oeuvre p a{display:block;text-align:right;}.node-rf_oeuvre #quelisentils-oeuvre a.submit{margin-top:10px;text-align:center;}#quelisentils-oeuvre a.submit,#fc-quelisentils-que-lisez-vous a.submit,body.section-quelisentils a.submit{display:block;background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:4px 10px;text-align:center;width:140px;color:#fff;}#quelisentils-oeuvre a.submit:hover,#fc-quelisentils-que-lisez-vous a.submit:hover,body.section-quelisentils a.submit:hover{background-position:0 -25px;text-decoration:none;}body.section-quelisentils .node-rf_oeuvre .theme a.submit{float:left;} - body.lecture #content .rel-doc{margin-bottom:40px;}body.lecture #content .rel-doc li{float:left;width:215px;padding-left:0;margin-left:0;border-left:0;}body.lecture #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.lecture #content .rel-doc li.clear span{display:none;}body.lecture #content .rel-doc p{margin-right:5px;font-size:12px;color:#666666;line-height:14px;}body.lecture #content .rel-doc p a{display:block;}body.lecture #content .rel-doc p span{display:block;margin-bottom:5px;color:#032649;} - body.lecture #content .com{margin-bottom:40px;}body.lecture #content .com .img-float{margin-bottom:20px;}body.lecture #content .com .post{margin-bottom:20px;clear:left;}body.lecture #content .com .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}body.lecture #content .com .post .auth{font-weight:bold;color:#032649;}body.lecture #content .com .post .submited .date{margin-left:5px;}body.lecture #content .com .post p{font-size:12px;color:#4D4D4D;margin-left:55px;} - #fc-quelisentils-search-form table{width:100%;}#fc-quelisentils-search-form table .form-item{white-space:normal;} - #fc-quelisentils-que-lisez-vous{margin-top:20px;}body.page-accueil #fc-quelisentils-que-lisez-vous #edit-title-wrapper,body.page-accueil #fc-quelisentils-que-lisez-vous #autocomplete{display:block;margin:0;}body.node-type-rf-personne #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title,body.page-accueil #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title,body.page-taxonomy-term-131 #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title{width:178px;}#fc-quelisentils-que-lisez-vous #edit-submit{vertical-align:middle;float:none;border-width:0;width:auto;padding:0 0 0 2px;}#fc-quelisentils-que-lisez-vous #autocomplete img{clear:left;margin-right:5px;}#fc-quelisentils-que-lisez-vous #autocomplete li{height:32px;}#fc-quelisentils-que-lisez-vous #autocomplete{width:auto !important;background:white;}#fc-quelisentils-comment-form #edit-comment{width:650px;} - body.lecture .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.lecture .list-article li img{float:left;margin:0 15px 15px 0;}body.lecture .list-article li .auteur{display:block;margin-bottom:15px;} - body.node-type-rf-page h1{color:#773584;}body.node-type-rf-page #content-inner p{color:#262626;margin-bottom:10px;} - body.section-rubrique #content-right h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.section-rubrique #content-right h2.title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}body.section-rubrique #content-inner .view-display-id-attachment_1 .list-article{width:400px;} -.script-vertical h2{margin-bottom:36px;}.script-vertical a.prev,.script-vertical a.prevPage{display:block;width:284px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin:42px 0 0 24px;}.script-vertical a.disabled{visibility:hidden !important;}.script-vertical a.next,.script-vertical a.nextPage{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;cursor:pointer;z-index:10;margin-bottom:-5px;margin-left:159px;}.script-vertical div.scrollable-vertical{position:relative;overflow:hidden;width:284px;height:330px;margin:10px 15px 0 15px;}#content-bottom .script-vertical ol{margin:0;}.script-vertical #thumbs-vertical{position:absolute;width:10000em;clear:both;}.script-vertical #thumbs-vertical li{width:284px;height:150px;padding:0 0 5px 0;} - - -.jcarousel-clip{z-index:2;padding:0;margin:0;overflow:hidden;position:relative;width:658px;}.jcarousel-list{z-index:1;overflow:hidden;position:relative;} -#wrap{position:relative;border:1px solid #CFCFCF;}.script .target{padding:5px 0;width:658px;background:url(/sites/all/themes/franceculture/images/script-bg.png) repeat-x 0 20px;margin:0 5px;}.script #mycarousel-prev{display:block;width:15px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:6;margin-left:-10px;text-indent:-10000px;font-size:0;margin-top:265px;}.script #mycarousel-next{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:6;margin-right:-10px;text-indent:-10000px;font-size:0;margin-top:265px;}.script #thumbs{height:240px;}.script #thumbs li h3{color:#032649;font-size:18px;line-height:16px;margin:10px 0 5px 0;}.script #thumbs li{float:left;width:658px;height:235px;cursor:pointer;padding:0 0 5px 0;}.script #thumbs li img{float:left;margin-right:10px;}.script #thumbs li p a{color:#4D4D4D;font-weight:normal;}.script .jcarousel-control{height:72px;}.script .jcarousel-control span{display:none;}.script .jcarousel-control h3{text-decoration:none;color:#032649;font-weight:bold;padding:0;display:inline;float:left;width:164px;height:65px;}.script .jcarousel-control a{cursor:pointer;padding:0 5px;display:block;color:#032649;width:153px;height:65px;border-right:1px solid #CFCFCF;}.script .jcarousel-control a:hover{text-decoration:none;border-bottom:7px solid #28042D;}.script .jcarousel-control .titre4 a{border-right:none;}.up1 .jcarousel-control .titre1 a{border-bottom:7px solid #28042D;}.up2 .jcarousel-control .titre2 a{border-bottom:7px solid #28042D;}.up3 .jcarousel-control .titre3 a{border-bottom:7px solid #28042D;}.up4 .jcarousel-control .titre4 a{border-bottom:7px solid #28042D;border-right:none;} -.dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;}.dnd-drop-wrapper .image img{display:block;}.dnd-drop-wrapper .image{display:table;width:1px;}.dnd-drop-wrapper .image .opaque{width:100%;background-color:#000;opacity:0.7;}.dnd-drop-wrapper .image .opaque p{color:#fff;font-weight:bold;font-style:italic;padding:5px 10px 10px 10px;font-size:12px;margin:0;}.dnd-drop-wrapper .image .opaque span{font-style:normal;text-transform:uppercase;font-size:9px;margin-left:5px;}.dnd-library-wrapper div.meta{margin-left:52px;}.node-type-rf-personne .dnd-fields-wrapper .mceLayout,.node-type-rf-personne .dnd-fields-wrapper .mceLayout iframe,.node-type-rf-oeuvre .dnd-fields-wrapper .mceLayout,.node-type-rf-oeuvre .dnd-fields-wrapper .mceLayout iframe,.node-type-rf-evenement .dnd-fields-wrapper .mceLayout,.node-type-rf-evenement .dnd-fields-wrapper .mceLayout iframe{width:400px !important;}.node-type-rf-billet-blog .dnd-fields-wrapper .mceLayout,.node-type-rf-billet-blog .dnd-fields-wrapper .mceLayout iframe{width:520px !important;}.dnd-fields-wrapper .mceLayout,.dnd-fields-wrapper .mceLayout iframe{width:657px !important;}.popups-box .popups-inner .dnd-fields-wrapper .mceLayout,.popups-box .popups-inner .dnd-fields-wrapper .mceLayout iframe{width:100% !important;}.mee-wrap-editor-library{float:none;}body#tinymce p{font-size:14px;}.mee-filter-form fieldset{display:none;} -.dnd-drop-wrapper .atom-Video{width:480px;height:365px;}.dnd-drop-wrapper .atom-SoundSlide{width:560px;height:489px;}.dnd-drop-wrapper .atom-Audio{min-width:300px;min-height:20px;}#tinymce .dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;border-bottom:green solid 10px;} -div.view-dossier-fo-panes li{clear:both;}div.view-dossier-fo-panes img.imagecache-image_liste{margin-bottom:10px;}div.node-panel p.theme{margin-top:20px;} -form#rf-userregister-form .infos-connexion input,form#fc-userregister-form-userprofile .infos-connexion input{width:200px;margin-bottom:0;}form#rf-userregister-form .infos-connexion input.idleField,form#fc-userregister-form-userprofile .infos-connexion input.idleField{border:1px solid #CCCCCC;}form#rf-userregister-form div.form-item,form#fc-userregister-form-userprofile div.form-item{margin:5px 0;clear:both;}form#rf-userregister-form .infos-connexion label,form#fc-userregister-form-userprofile .infos-connexion label{line-height:13px;width:158px;}form#rf-userregister-form .infos-connexion .description,form#fc-userregister-form-userprofile .infos-connexion .description{clear:both;margin-left:168px;font-size:11px;}form#rf-userregister-form .infos-connexion input.submit-v,form#fc-userregister-form-userprofile .infos-connexion input.submit-v{padding:0;border:none;margin:20px 20px 3px 3px;width:71px;height:25px;background-color:#773584;float:right;}form#rf-userregister-form .infos-connexion label.option,form#fc-userregister-form-userprofile .infos-connexion label.option{width:395px;font-size:12px;line-height:12px;margin-right:2px;display:block;}form#rf-userregister-form .infos-connexion label.option input,form#fc-userregister-form-userprofile .infos-connexion label.option input{width:15px;margin:0 0 3px 2px;float:right;} - -#sidebar-right .block-fc_widget_dailymotion,#sidebar-right .block-fc_widget_deezer{background-image:none;} -#homebox.column-count-2 .homebox-column{width:48%;}#homebox table span a.flag-processed{white-space:nowrap;}#homebox table span.flag-flagged-message{left:-5px;}#homebox table span.flag-unflagged-message{left:-25px;}.portlet-content .views-processed .view-filters{display:none;}#homebox div.view-header{text-align:left;} -body.section-search form#search-form input.form-text{float:left;height:14px;padding:5px;}body.section-search form#search-form input.submit-lancer{float:left;margin-left:3px;clear:right;}body.section-search div.box{clear:both;padding-top:10px;}body.section-search fieldset.search-advanced{clear:both;padding-top:10px;} -.shoutbox-msg blockquote{color:#032649;font-weight:bold;font-size:12px;line-height:17px;} -fieldset.group-mea tr .form-item .description,fieldset.vertical-tabs-group_mea tr .form-item .description{white-space:normal;} -.node-form span.form-required{font-size:17px;}.node-form .form-item .required{background-color:#EBEBEB;border:1px solid #CCCCFF;}a.popups-reference{font-size:13px;line-height:40px;}#node-form #group-diffusion-generique-items{display:none;} -.hierarchical-select-wrapper .hierarchical-select option.has-children{padding-right:14px;} -#fchook-envoyer-diffusion-sms-form input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:125px;}#fchook-envoyer-diffusion-sms-form input.submit{padding:0;border:none;margin:0 0 0 2px;width:120px;height:27px;background-color:#773584;}#fchook-envoyer-diffusion-sms-form input.focusField{color:#fff;} -.panel-pane.hidden-pane .pane-title:after{content:" statut:masqué";}.panel-pane.changed .pane-title:after{content:" statut:modifications non enregistrées";}.panel-pane.hidden-pane.changed .pane-title:after{content:" statut:masqué & modifié";} -#ui-datepicker-div{width:200px;}.ui-datepicker-next label,.ui-datepicker-prev label{border:1px solid #d3d3d3;cursor:pointer;display:block;font-size:1em;height:1.4em;text-indent:-999999px;width:1.3em;} -#edit-profile-commune-wrapper{display:none;}.label-nowrap{white-space:pre;}body{margin:0;padding:0;background:#fff;}body.blogs{margin:0px 0 0 0;background:#fff none;}body#tinymce,body#mceContentBody,body.mceContentBody,body#nodepicker{background:#fff none;}#page{margin:0 0 20px 0;padding:0;}#header{position:relative;height:155px;}#page{background:#fff url(/sites/all/themes/franceculture/images/body.png) no-repeat 50% -40px;margin:0 0 0px 0;padding:0;}body.blogs #page{background:#fff none;}#page-inner{margin:0 auto;padding:0;width:990px;}#main{width:990px;}#content{width:655px;margin-left:0;margin-right:-990px;float:left;overflow:visible;}body #content-bottom{margin:30px 0 0 0;}#content-top{padding:0 0 20px 0;background-color:#fff;}body #cb-left{width:314px;padding:5px 10px 0;float:left;position:relative;}body #block-views-lesplusconsultes-block_1,body #cb-right{width:314px;padding:5px 10px 0;float:left;}#sidebar-right{width:300px;margin-right:0;float:left;margin-left:690px;margin-right:-990px;overflow:visible;}#footer-top{margin:0 0 0 0;padding:0px 0 8px 0;width:990px;}#footer{color:#fff;height:75px;padding:25px 0 0 0;width:990px;} -body.front #content,body.node-type-panel #content{width:670px;}body.front #content-inner{background:url(/sites/all/themes/franceculture/images/bg-content.png) repeat-y 0 0;}body.front #content-left,body.node-type-panel #content-left{width:400px;padding:0 18px 0 0;float:left;clear:left;}body.front #content-right,body.node-type-panel #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-panel .panel-pane,body.node-type-panel .panel-pane li{clear:both;} -body.no-sidebars #content{width:990px;}body.no-sidebars #content-left{width:655px;padding:0 18px 0 0;float:left;}body.no-sidebars #content-right{width:300px;padding:0 0 0 17px;float:left;} -body.not-front #content{padding-top:20px;position:relative;}body.not-front #content-inner{padding-top:15px;border-top:1px solid #CFCFCF;} -body.section-rubrique #content{width:670px;}body.section-rubrique #content-right{width:234px;padding:0 0 0 35px;float:right;background:#fff url(/sites/all/themes/franceculture/images/bg-content-right.png) repeat-y 0 0;min-height:300px;height:auto !important;height:300px;margin-bottom:20px;}body.section-rubrique #content-inner{border-top-width:0;padding-top:0;}body.section-rubrique h1{border-top:1px solid #CFCFCF;padding-top:15px;} -body.lecture #content-inner{padding-top:0;border-top-width:0;}body.lecture #content-right{float:right;} -body.culture #content-inner{padding-top:0;border-top-width:0;} -body.agenda #content-inner{padding-top:0;} -body.section-podcasts #content-inner,body.section-podcast #content-inner{padding-top:0;}body.podcasts #content-left,body.podcasts #content-right{margin-top:20px;} -div#grille-programmes #content-inner{padding-top:0;} -body.emissions #content-left,body.emissions #content-right{margin-top:20px;}body.emissions #content-inner{padding-top:0;border-top-width:0;} -body.article .article-full #content-left,body.node-type-panel .article-full #content-left{width:310px;padding:0 18px 0 0;float:left;}body.article .article-full #content-right,body.node-type-panel .article-full #content-right{width:310px;padding:0 0 0 17px;float:left;} -body.profil #content{width:670px;}body.profil #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;}body.profil #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-rf-personne #content{width:670px;}body.node-type-rf-personne #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-personne #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-rf-personne #content-inner{border-top-width:0;} -body.node-type-rf-evenement #content{width:670px;}body.node-type-rf-evenement #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-evenement #content-right{width:235px;padding:0 0 0 17px;float:left;} -body.node-type-rf-oeuvre #content{width:670px;}body.node-type-rf-oeuvre #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-oeuvre #content-right{width:235px;padding:0 0 0 17px;float:left;} -body.recherche #content{padding-top:0;position:relative;}body.recherche #content-inner{border-top:none;} -body.mini-site #main{padding-top:90px;position:relative;}body.mini-site #main #content{position:static;padding-top:0;}body.mini-site #main #content #content-inner{border-top:0;}body.mini-site #main #content-top{position:absolute;top:0;left:0;width:960px;margin:20px 0 0 0;} -body.blogs #header{position:relative;height:165px;margin-bottom:20px;}body.blogs #content-inner{padding-top:0;border-top:none;} -body.page-node-edit #content,body.page-node-add #content{width:100%;} -body.section-partenariats #content{width:670px;}body.section-partenariats #content-right{width:234px;padding:0 0 0 35px;float:right;background:#fff url(/sites/all/themes/franceculture/images/bg-content-right.png) repeat-y 0 0;min-height:300px;height:auto !important;height:300px;margin-bottom:20px;}body.section-partenariats #content-inner{border-top-width:0;padding-top:0;}body.section-partenariats h1{border-top:1px solid #CFCFCF;padding-top:15px;} \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/culture_les_retours_du_dimanche.jpg Binary file client/player/test/emission_fichiers/culture_les_retours_du_dimanche.jpg has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/direct.png Binary file client/player/test/emission_fichiers/direct.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/drupal.js --- a/client/player/test/emission_fichiers/drupal.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,290 +0,0 @@ -// $Id: drupal.js,v 1.41.2.4 2009/07/21 08:59:10 goba Exp $ - -var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} }; - -/** - * Set the variable that indicates if JavaScript behaviors should be applied - */ -Drupal.jsEnabled = true; - -/** - * Attach all registered behaviors to a page element. - * - * Behaviors are event-triggered actions that attach to page elements, enhancing - * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors - * object as follows: - * @code - * Drupal.behaviors.behaviorName = function () { - * ... - * }; - * @endcode - * - * Drupal.attachBehaviors is added below to the jQuery ready event and so - * runs on initial page load. Developers implementing AHAH/AJAX in their - * solutions should also call this function after new page content has been - * loaded, feeding in an element to be processed, in order to attach all - * behaviors to the new content. - * - * Behaviors should use a class in the form behaviorName-processed to ensure - * the behavior is attached only once to a given element. (Doing so enables - * the reprocessing of given elements, which may be needed on occasion despite - * the ability to limit behavior attachment to a particular element.) - * - * @param context - * An element to attach behaviors to. If none is given, the document element - * is used. - */ -Drupal.attachBehaviors = function(context) { - context = context || document; - // Execute all of them. - jQuery.each(Drupal.behaviors, function() { - this(context); - }); -}; - -/** - * Encode special characters in a plain-text string for display as HTML. - */ -Drupal.checkPlain = function(str) { - str = String(str); - var replace = { '&': '&', '"': '"', '<': '<', '>': '>' }; - for (var character in replace) { - var regex = new RegExp(character, 'g'); - str = str.replace(regex, replace[character]); - } - return str; -}; - -/** - * Translate strings to the page language or a given language. - * - * See the documentation of the server-side t() function for further details. - * - * @param str - * A string containing the English string to translate. - * @param args - * An object of replacements pairs to make after translation. Incidences - * of any key in this array are replaced with the corresponding value. - * Based on the first character of the key, the value is escaped and/or themed: - * - !variable: inserted as is - * - @variable: escape plain text to HTML (Drupal.checkPlain) - * - %variable: escape text and theme as a placeholder for user-submitted - * content (checkPlain + Drupal.theme('placeholder')) - * @return - * The translated string. - */ -Drupal.t = function(str, args) { - // Fetch the localized version of the string. - if (Drupal.locale.strings && Drupal.locale.strings[str]) { - str = Drupal.locale.strings[str]; - } - - if (args) { - // Transform arguments before inserting them - for (var key in args) { - switch (key.charAt(0)) { - // Escaped only - case '@': - args[key] = Drupal.checkPlain(args[key]); - break; - // Pass-through - case '!': - break; - // Escaped and placeholder - case '%': - default: - args[key] = Drupal.theme('placeholder', args[key]); - break; - } - str = str.replace(key, args[key]); - } - } - return str; -}; - -/** - * Format a string containing a count of items. - * - * This function ensures that the string is pluralized correctly. Since Drupal.t() is - * called by this function, make sure not to pass already-localized strings to it. - * - * See the documentation of the server-side format_plural() function for further details. - * - * @param count - * The item count to display. - * @param singular - * The string for the singular case. Please make sure it is clear this is - * singular, to ease translation (e.g. use "1 new comment" instead of "1 new"). - * Do not use @count in the singular string. - * @param plural - * The string for the plural case. Please make sure it is clear this is plural, - * to ease translation. Use @count in place of the item count, as in "@count - * new comments". - * @param args - * An object of replacements pairs to make after translation. Incidences - * of any key in this array are replaced with the corresponding value. - * Based on the first character of the key, the value is escaped and/or themed: - * - !variable: inserted as is - * - @variable: escape plain text to HTML (Drupal.checkPlain) - * - %variable: escape text and theme as a placeholder for user-submitted - * content (checkPlain + Drupal.theme('placeholder')) - * Note that you do not need to include @count in this array. - * This replacement is done automatically for the plural case. - * @return - * A translated string. - */ -Drupal.formatPlural = function(count, singular, plural, args) { - var args = args || {}; - args['@count'] = count; - // Determine the index of the plural form. - var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1); - - if (index == 0) { - return Drupal.t(singular, args); - } - else if (index == 1) { - return Drupal.t(plural, args); - } - else { - args['@count['+ index +']'] = args['@count']; - delete args['@count']; - return Drupal.t(plural.replace('@count', '@count['+ index +']')); - } -}; - -/** - * Generate the themed representation of a Drupal object. - * - * All requests for themed output must go through this function. It examines - * the request and routes it to the appropriate theme function. If the current - * theme does not provide an override function, the generic theme function is - * called. - * - * For example, to retrieve the HTML that is output by theme_placeholder(text), - * call Drupal.theme('placeholder', text). - * - * @param func - * The name of the theme function to call. - * @param ... - * Additional arguments to pass along to the theme function. - * @return - * Any data the theme function returns. This could be a plain HTML string, - * but also a complex object. - */ -Drupal.theme = function(func) { - for (var i = 1, args = []; i < arguments.length; i++) { - args.push(arguments[i]); - } - - return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args); -}; - -/** - * Parse a JSON response. - * - * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message. - */ -Drupal.parseJson = function (data) { - if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) { - return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') }; - } - return eval('(' + data + ');'); -}; - -/** - * Freeze the current body height (as minimum height). Used to prevent - * unnecessary upwards scrolling when doing DOM manipulations. - */ -Drupal.freezeHeight = function () { - Drupal.unfreezeHeight(); - var div = document.createElement('div'); - $(div).css({ - position: 'absolute', - top: '0px', - left: '0px', - width: '1px', - height: $('body').css('height') - }).attr('id', 'freeze-height'); - $('body').append(div); -}; - -/** - * Unfreeze the body height - */ -Drupal.unfreezeHeight = function () { - $('#freeze-height').remove(); -}; - -/** - * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of - * drupal_urlencode() in PHP). This function should only be used on paths, not - * on query string arguments. - */ -Drupal.encodeURIComponent = function (item, uri) { - uri = uri || location.href; - item = encodeURIComponent(item).replace(/%2F/g, '/'); - return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F'); -}; - -/** - * Get the text selection in a textarea. - */ -Drupal.getSelection = function (element) { - if (typeof(element.selectionStart) != 'number' && document.selection) { - // The current selection - var range1 = document.selection.createRange(); - var range2 = range1.duplicate(); - // Select all text. - range2.moveToElementText(element); - // Now move 'dummy' end point to end point of original range. - range2.setEndPoint('EndToEnd', range1); - // Now we can calculate start and end points. - var start = range2.text.length - range1.text.length; - var end = start + range1.text.length; - return { 'start': start, 'end': end }; - } - return { 'start': element.selectionStart, 'end': element.selectionEnd }; -}; - -/** - * Build an error message from ahah response. - */ -Drupal.ahahError = function(xmlhttp, uri) { - if (xmlhttp.status == 200) { - if (jQuery.trim(xmlhttp.responseText)) { - var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText }); - } - else { - var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri }); - } - } - else { - var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status }); - } - return message.replace(/\n/g, '
    '); -} - -// Global Killswitch on the element -$(document.documentElement).addClass('js'); -// Attach all behaviors. -$(document).ready(function() { - Drupal.attachBehaviors(this); -}); - -/** - * The default themes. - */ -Drupal.theme.prototype = { - - /** - * Formats text for emphasized display in a placeholder inside a sentence. - * - * @param str - * The text to format (plain-text). - * @return - * The formatted text (html). - */ - placeholder: function(str) { - return '' + Drupal.checkPlain(str) + ''; - } -}; diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/fc_antidot_recherche.js --- a/client/player/test/emission_fichiers/fc_antidot_recherche.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,246 +0,0 @@ -// integration du suggest (module antidot) -Drupal.behaviors.fc_antidot_recherche = function (){ - - // recupère l'adresse du proxy - var urlP = Drupal.settings.adresseProxy; -var as_pos = 0; -var as_pos2 = 0; - /** - * traitement de la sujestion sur le bloc de recherche - * pour économiser des appels à antidot - * la requete est lancée si l'utilisateur saisi plus de 3 lettres - * elle n'est pas lancée si : - * la dernière requete a retourné 0 ou un resultat et que le mot actuel est semblable au mot précedent+1car - */ - var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g"); - - // - $('#search_top_page').keyup(function(e){ - if(e.keyCode>=48 || e.keyCode == 8){ - var queryBox = $('#search_top_page').val(); - // active le bouton de recherche en fonction de la pressence de mot clé - if(expression.test(queryBox)){ - $('#search_top_page-wrapper #edit-submit').attr('disabled', 'disabled'); - }else{ - $('#search_top_page-wrapper #edit-submit').removeAttr('disabled'); - } - - - var prec = ""; - if(jQuery.trim(queryBox).length > 2){ - if($('#SuggestPopupBox').length == 0){ - $('#search_top_page-wrapper').append('
    '); - // pour le stockage de la requete precedente - $('#search_top_page-wrapper').append(''); - }else{ - $('#SuggestPopupBox').css("display", 'block'); - prec = $('#SuggestPrecBox').text(); - } - //si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete - - if ($('#SuggestPopupBox ul li').length < 2 && prec !="" && queryBox.indexOf(prec) == 0){ - - var suj = $('#SuggestPopupBox ul li').text(); - // si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone - if ( prec == "" || suj=="" || suj.indexOf(queryBox) !=0 ){ - $('#SuggestPopupBox').css("display", 'none'); - } - } else { - $('#SuggestPrecBox').text(queryBox); - // récupère le resultat de la sujestion - - $.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryBox,function(data){ - // s'il y a des sujestions on les traites puis affiche - if(data[1].length > 0){ - $('#SuggestPopupBox').text(""); - var liste =""; - $.each(data[1], function(i, item) { - liste += "
  • "+item+"
  • "; - }); - $('#SuggestPopupBox').append("
      "+liste+"
    "); - // place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche - - $('#SuggestPopupBox ul li').click(function(){ - var reponse = $(this).text(); - $('#search_top_page').val(reponse); - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - $('#SuggestPrecBox').text(""); - }); - - }else{ - // sinon on masque le champ - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - } - }); - } - $('#SuggestPrecBox').text(queryBox); - }else{ - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - $('#SuggestPrecBox').text(""); - - } - } - }); -/* fin traitement de la sujestion sur le bloc de recherche */ -$('#search_top_page').keypress(function(e){ - - if($('#SuggestPopupBox').text()!=''){ - switch(e.keyCode){ - //down - case 40: - if(as_pos<$('#SuggestPopupBox ul li').length){ - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active'); - as_pos++; - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active'); - var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text(); - $('#search_top_page').val(donne); - } - break; - //up - case 38: - if(as_pos>0){ - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active'); - as_pos--; - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active'); - var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text(); - $('#search_top_page').val(donne); - } - break; - } - - } -}); -// -$('body').click(function(){ - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - $('#SuggestPrecBox').text(""); - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - $('#SuggestPrecPage').text(""); - as_pos = 0; - as_pos2 = 0; -}); - - -$('#edit-keys').keypress(function(e){ - - if($('#SuggestPopupPage').text()!=''){ - switch(e.keyCode){ - case 40: - if(as_pos2<$('#SuggestPopupPage ul li').length){ - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active'); - as_pos2++; - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active'); -var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text(); - $('#edit-keys').val(donne); - } - break; - case 38: - if(as_pos2>0){ - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active'); - as_pos2--; - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active'); -var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text(); - $('#edit-keys').val(donne); - } - break; - } - } -}); - - -/* traitement de la sujestion sur la page de recherche */ - $('#edit-keys').keyup(function(e){ - if(e.keyCode>=48 || e.keyCode == 8){ - var queryPage = $('#edit-keys').val(); - var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g"); - - // active le bouton de recherche en fonction de la pressence de mot clé - if(expression.test(queryPage)){ - $('#submit_resultat_page').attr('disabled', 'disabled'); - }else{ - $('#submit_resultat_page').removeAttr('disabled'); - - } - - var precPage = ""; - if(jQuery.trim(queryPage).length > 2){ - if($('#SuggestPopupPage').length == 0){ - $('#edit-keys-wrapper').append('
    '); - // pour le stockage de la requete precedente - $('#edit-keys-wrapper').append(''); - }else{ - $('#SuggestPopupPage').css("display", 'block'); - precPage = $('#SuggestPrecPage').text(); - } - //si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete - if ($('#SuggestPopupPage ul li').length < 2 && precPage !="" && queryPage.indexOf(precPage) == 0){ - - var sujPage = $('#SuggestPopupPage ul li').text(); - // si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone - if ( precPage == "" || sujPage =="" || suj.indexOf(queryPage) !=0 ){ - $('#SuggestPopupPage').css("display", 'none'); - } - } else { - $('#SuggestPrecPage').text(queryPage); - // récupère le resultat de la sujestion - $.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryPage,function(data){ - // s'il y a des sujestions on les traites puis affiche - if(data[1].length > 0){ - $('#SuggestPopupPage').text(""); - var liste =""; - $.each(data[1], function(i, item) { - liste += "
  • "+item+"
  • "; - }); - $('#SuggestPopupPage').append("
      "+liste+"
    "); - // place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche - $('#SuggestPopupPage ul li').click(function(){ - var reponse = $(this).text(); - $('#edit-keys').val(reponse); - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - $('#SuggestPrecPage').text(""); - }); - - }else{ - // sinon on masque le champ - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - } - }); - } - $('#SuggestPrecPage').text(queryPage); - }else{ - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - $('#SuggestPrecPage').text(""); - } -} - }); - -/* fin traitement de la sujestion sur la page de recherche */ - - - // surligner les résultats - var key = $('#edit-keys').val(); - if (!key) { - return; - } - var tableau = key.split(' '); - var key2 = ''; - for (var i=0;i=3){ - key2 += tableau[i] + ' '; - } - } - var options = {exact:"exact",style_name_suffix:false,style_name:"tagged",keys:key2}; - jQuery(document).SearchHighlight(options); - -}; - - - diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/fc_bloc_direct.js --- a/client/player/test/emission_fichiers/fc_bloc_direct.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -Drupal.behaviors.fcBlocDirect = function(context) { - // Set up interval - if (context == document && typeof(Drupal.settings.rf_bloc_suppress) == 'undefined') { // Only one is enough - var fcBlocDirectUpdateInterval = setInterval('fcBlocDirectUpdate()', Drupal.settings.fc_bloc_direct.interval); - if (Drupal.settings.fc_bloc_direct.refresh_on_load === 1) { - fcBlocDirectUpdate(); - }; - }; -}; - -// Interval callback -function fcBlocDirectUpdate() { - var url = Drupal.settings.basePath + 'fc_bloc_direct/refresh'; - $.ajax({ - method: 'get', - url : url, - dataType : 'json', - error: function(xhr) { - // Do nothing in production mode - // Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - success: Drupal.CTools.AJAX.respond - }); -}; diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/fc_widget_twitter.js --- a/client/player/test/emission_fichiers/fc_widget_twitter.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -function twitterCallback2(twitters) { - var statusHTML = []; - var username = ""; - for (var i=0; i]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { - return ''+url+''; - }).replace(/\B@([_a-z0-9]+)/ig, function(reply) { - return reply.charAt(0)+''+reply.substring(1)+''; - }); - statusHTML.push('
  • '+status+''+relative_time(twitters[i].created_at)+'
  • '); - } - document.getElementById('twitter_update_list_'+username).innerHTML = statusHTML.join(''); -} - -function relative_time(time_value) { - var values = time_value.split(" "); - time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; - var parsed_date = Date.parse(time_value); - var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); - var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); - delta = delta + (relative_to.getTimezoneOffset() * 60); - - if (delta < 60) { - return " il y a moins d'une minute"; - } else if(delta < 120) { - return ' il y a une minute'; - } else if(delta < (60*60)) { - return ' il y a '+(parseInt(delta / 60)).toString() + ' minutes '; - } else if(delta < (120*60)) { - return ' il y a une heure'; - } else if(delta < (24*60*60)) { - return ' il y a ' + (parseInt(delta / 3600)).toString() + ' heures'; - } else if(delta < (48*60*60)) { - return ' il y a un jour'; - } else { - return ' il y a '+(parseInt(delta / 86400)).toString() + ' jours'; - } - } \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/fivestar.js --- a/client/player/test/emission_fichiers/fivestar.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,394 +0,0 @@ -/** - * Modified Star Rating - jQuery plugin - * - * Copyright (c) 2006 Wil Stuckey - * - * Original source available: http://sandbox.wilstuckey.com/jquery-ratings/ - * Extensively modified by Lullabot: http://www.lullabot.com - * - * 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 degradeable star rating interface out of a simple form structure. - * Returns a modified jQuery object containing the new interface. - * - * @example jQuery('form.rating').fivestar(); - * @cat plugin - * @type jQuery - * - */ -(function($){ // Create local scope. - /** - * Takes the form element, builds the rating interface and attaches the proper events. - * @param {Object} $obj - */ - var buildRating = function($obj){ - var $widget = buildInterface($obj), - $stars = $('.star', $widget), - $cancel = $('.cancel', $widget), - $summary = $('.fivestar-summary', $obj), - feedbackTimerId = 0, - summaryText = $summary.html(), - summaryHover = $obj.is('.fivestar-labels-hover'), - currentValue = $("select", $obj).val(), - cancelTitle = $('label', $obj).html(), - voteTitle = cancelTitle != Drupal.settings.fivestar.titleAverage ? cancelTitle : Drupal.settings.fivestar.titleUser, - voteChanged = false; - - // Record star display. - if ($obj.is('.fivestar-user-stars')) { - var starDisplay = 'user'; - } - else if ($obj.is('.fivestar-average-stars')) { - var starDisplay = 'average'; - currentValue = $("input[name=vote_average]", $obj).val(); - } - else if ($obj.is('.fivestar-combo-stars')) { - var starDisplay = 'combo'; - } - else { - var starDisplay = 'none'; - } - - // Smart is intentionally separate, so the average will be set if necessary. - if ($obj.is('.fivestar-smart-stars')) { - var starDisplay = 'smart'; - } - - // Record text display. - if ($summary.size()) { - var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - } - else { - var textDisplay = 'none'; - } - - // Add hover and focus events. - $stars - .mouseover(function(){ - event.drain(); - event.fill(this); - }) - .mouseout(function(){ - event.drain(); - event.reset(); - }); - $stars.children() - .focus(function(){ - event.drain(); - event.fill(this.parentNode) - }) - .blur(function(){ - event.drain(); - event.reset(); - }).end(); - - // Cancel button events. - $cancel - .mouseover(function(){ - event.drain(); - $(this).addClass('on') - }) - .mouseout(function(){ - event.reset(); - $(this).removeClass('on') - }); - $cancel.children() - .focus(function(){ - event.drain(); - $(this.parentNode).addClass('on') - }) - .blur(function(){ - event.reset(); - $(this.parentNode).removeClass('on') - }).end(); - - // Click events. - $cancel.click(function(){ - currentValue = 0; - event.reset(); - voteChanged = false; - // Inform a user that his vote is being processed - if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { - setFeedbackText(Drupal.settings.fivestar.feedbackDeletingVote); - } - // Save the currentValue in a hidden field. - $("select", $obj).val(0); - // Update the title. - cancelTitle = starDisplay != 'smart' ? cancelTitle : Drupal.settings.fivestar.titleAverage; - $('label', $obj).html(cancelTitle); - // Update the smart classes on the widget if needed. - if ($obj.is('.fivestar-smart-text')) { - $obj.removeClass('fivestar-user-text').addClass('fivestar-average-text'); - $summary[0].className = $summary[0].className.replace(/-user/, '-average'); - textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - } - if ($obj.is('.fivestar-smart-stars')) { - $obj.removeClass('fivestar-user-stars').addClass('fivestar-average-stars'); - } - // Submit the form if needed. - $("input.fivestar-path", $obj).each(function() { - var token = $("input.fivestar-token", $obj).val(); - $.ajax({ - type: 'GET', - data: { token: token }, - dataType: 'xml', - url: this.value + '/' + 0, - success: voteHook - }); - }); - return false; - }); - $stars.click(function(){ - currentValue = $('select option', $obj).get($stars.index(this) + $cancel.size() + 1).value; - // Save the currentValue to the hidden select field. - $("select", $obj).val(currentValue); - // Update the display of the stars. - voteChanged = true; - event.reset(); - // Inform a user that his vote is being processed. - if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { - setFeedbackText(Drupal.settings.fivestar.feedbackSavingVote); - } - // Update the smart classes on the widget if needed. - if ($obj.is('.fivestar-smart-text')) { - $obj.removeClass('fivestar-average-text').addClass('fivestar-user-text'); - $summary[0].className = $summary[0].className.replace(/-average/, '-user'); - textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - } - if ($obj.is('.fivestar-smart-stars')) { - $obj.removeClass('fivestar-average-stars').addClass('fivestar-user-stars'); - } - // Submit the form if needed. - $("input.fivestar-path", $obj).each(function () { - var token = $("input.fivestar-token", $obj).val(); - $.ajax({ - type: 'GET', - data: { token: token }, - dataType: 'xml', - url: this.value + '/' + currentValue, - success: voteHook - }); - }); - return false; - }); - - var event = { - fill: function(el){ - // Fill to the current mouse position. - var index = $stars.index(el) + 1; - $stars - .children('a').css('width', '100%').end() - .filter(':lt(' + index + ')').addClass('hover').end(); - // Update the description text and label. - if (summaryHover && !feedbackTimerId) { - var summary = $("select option", $obj)[index + $cancel.size()].text; - var value = $("select option", $obj)[index + $cancel.size()].value; - $summary.html(summary != index + 1 ? summary : ' '); - $('label', $obj).html(voteTitle); - } - }, - drain: function() { - // Drain all the stars. - $stars - .filter('.on').removeClass('on').end() - .filter('.hover').removeClass('hover').end(); - // Update the description text. - if (summaryHover && !feedbackTimerId) { - var cancelText = $("select option", $obj)[1].text; - $summary.html(($cancel.size() && cancelText != 0) ? cancelText : ' '); - if (!voteChanged) { - $('label', $obj).html(cancelTitle); - } - } - }, - reset: function(){ - // Reset the stars to the default index. - var starValue = currentValue/100 * $stars.size(); - var percent = (starValue - Math.floor(starValue)) * 100; - $stars.filter(':lt(' + Math.floor(starValue) + ')').addClass('on').end(); - if (percent > 0) { - $stars.eq(Math.floor(starValue)).addClass('on').children('a').css('width', percent + "%").end().end(); - } - // Restore the summary text and original title. - if (summaryHover && !feedbackTimerId) { - $summary.html(summaryText ? summaryText : ' '); - } - if (voteChanged) { - $('label', $obj).html(voteTitle); - } - else { - $('label', $obj).html(cancelTitle); - } - } - }; - - var setFeedbackText = function(text) { - // Kill previous timer if it isn't finished yet so that the text we - // are about to set will not get cleared too early. - feedbackTimerId = 1; - $summary.html(text); - }; - - /** - * Checks for the presence of a javascript hook 'fivestarResult' to be - * called upon completion of a AJAX vote request. - */ - var voteHook = function(data) { - var returnObj = { - result: { - count: $("result > count", data).text(), - average: $("result > average", data).text(), - summary: { - average: $("summary average", data).text(), - average_count: $("summary average_count", data).text(), - user: $("summary user", data).text(), - user_count: $("summary user_count", data).text(), - combo: $("summary combo", data).text(), - count: $("summary count", data).text() - } - }, - vote: { - id: $("vote id", data).text(), - tag: $("vote tag", data).text(), - type: $("vote type", data).text(), - value: $("vote value", data).text() - }, - display: { - stars: starDisplay, - text: textDisplay - } - }; - // Check for a custom callback. - if (window.fivestarResult) { - fivestarResult(returnObj); - } - // Use the default. - else { - fivestarDefaultResult(returnObj); - } - // Update the summary text. - summaryText = returnObj.result.summary[returnObj.display.text]; - if ($(returnObj.result.summary.average).is('.fivestar-feedback-enabled')) { - // Inform user that his/her vote has been processed. - if (returnObj.vote.value != 0) { // check if vote has been saved or deleted - setFeedbackText(Drupal.settings.fivestar.feedbackVoteSaved); - } - else { - setFeedbackText(Drupal.settings.fivestar.feedbackVoteDeleted); - } - // Setup a timer to clear the feedback text after 3 seconds. - feedbackTimerId = setTimeout(function() { clearTimeout(feedbackTimerId); feedbackTimerId = 0; $summary.html(returnObj.result.summary[returnObj.display.text]); }, 2000); - } - // Update the current star currentValue to the previous average. - if (returnObj.vote.value == 0 && (starDisplay == 'average' || starDisplay == 'smart')) { - currentValue = returnObj.result.average; - event.reset(); - } - }; - - event.reset(); - return $widget; - }; - - /** - * Accepts jQuery object containing a single fivestar widget. - * Returns the proper div structure for the star interface. - * - * @return jQuery - * @param {Object} $widget - * - */ - var buildInterface = function($widget){ - var $container = $('
    '); - var $options = $("select option", $widget); - var size = $('option', $widget).size() - 1; - var cancel = 1; - for (var i = 1, option; option = $options[i]; i++){ - if (option.value == "0") { - cancel = 0; - $div = $(''); - } - else { - var zebra = (i + cancel - 1) % 2 == 0 ? 'even' : 'odd'; - var count = i + cancel - 1; - var first = count == 1 ? ' star-first' : ''; - var last = count == size + cancel - 1 ? ' star-last' : ''; - $div = $(''); - } - $container.append($div[0]); - } - $container.addClass('fivestar-widget-' + (size + cancel - 1)); - // Attach the new widget and hide the existing widget. - $('select', $widget).after($container).css('display', 'none'); - return $container; - }; - - /** - * Standard handler to update the average rating when a user changes their - * vote. This behavior can be overridden by implementing a fivestarResult - * function in your own module or theme. - * @param object voteResult - * Object containing the following properties from the vote result: - * voteResult.result.count The current number of votes for this item. - * voteResult.result.average The current average of all votes for this item. - * voteResult.result.summary.average The textual description of the average. - * voteResult.result.summary.user The textual description of the user's current vote. - * voteResult.vote.id The id of the item the vote was placed on (such as the nid) - * voteResult.vote.type The type of the item the vote was placed on (such as 'node') - * voteResult.vote.tag The multi-axis tag the vote was placed on (such as 'vote') - * voteResult.vote.average The average of the new vote saved - * voteResult.display.stars The type of star display we're using. Either 'average', 'user', or 'combo'. - * voteResult.display.text The type of text display we're using. Either 'average', 'user', or 'combo'. - */ - function fivestarDefaultResult(voteResult) { - // Update the summary text. - $('div.fivestar-summary-'+voteResult.vote.tag+'-'+voteResult.vote.id).html(voteResult.result.summary[voteResult.display.text]); - // If this is a combo display, update the average star display. - if (voteResult.display.stars == 'combo') { - $('div.fivestar-form-'+voteResult.vote.id).each(function() { - // Update stars. - var $stars = $('.fivestar-widget-static .star span', this); - var average = voteResult.result.average/100 * $stars.size(); - var index = Math.floor(average); - $stars.removeClass('on').addClass('off').css('width', 'auto'); - $stars.filter(':lt(' + (index + 1) + ')').removeClass('off').addClass('on'); - $stars.eq(index).css('width', ((average - index) * 100) + "%"); - // Update summary. - var $summary = $('.fivestar-static-form-item .fivestar-summary', this); - if ($summary.size()) { - var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - $summary.html(voteResult.result.summary[textDisplay]); - } - }); - } - }; - - /** - * Set up the plugin - */ - $.fn.fivestar = function() { - var stack = []; - this.each(function() { - var ret = buildRating($(this)); - stack.push(ret); - }); - return stack; - }; - - // Fix ie6 background flicker problem. - if ($.browser.msie == true) { - try { - document.execCommand('BackgroundImageCache', false, true); - } catch(err) {} - } - - Drupal.behaviors.fivestar = function(context) { - $('div.fivestar-form-item:not(.fivestar-processed)', context).addClass('fivestar-processed').fivestar(); - $('input.fivestar-submit', context).css('display', 'none'); - } - -})(jQuery); \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/footer.js --- a/client/player/test/emission_fichiers/footer.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -function boutonHautDePage(){ - $("#top-page").click(function() { - var hauteur = 0; - $('html,body').animate({scrollTop: hauteur}, 1000); - }); - return false; -} -// -Drupal.behaviors.franceculture_header_footer = function (){ - boutonHautDePage(); -} diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/fr_4fb8f115d8d263374d07dafa1b2a40b5.js --- a/client/player/test/emission_fichiers/fr_4fb8f115d8d263374d07dafa1b2a40b5.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -Drupal.locale = { 'pluralFormula': function($n) { return Number(($n!=1)); }, 'strings': {"Unspecified error":"Erreur non sp\u00e9cifi\u00e9e","Save":"Enregistrer","Cancel":"Annuler","Continue":"Continuer","Required":"Obligatoire","Optional":"Facultatif","Published":"Publi\u00e9","Edit":"Modifier","Promoted to front page":"Promu en page d'accueil","Create new revision":"Cr\u00e9er une r\u00e9vision","Select all rows in this table":"S\u00e9lectionner toutes les lignes du tableau","Deselect all rows in this table":"D\u00e9s\u00e9lectionner toutes les lignes du tableau","None":"Aucun","Removed":"Supprim\u00e9","Drag to re-order":"Cliquer-d\u00e9poser pour r\u00e9-organiser","Changes made in this table will not be saved until the form is submitted.":"Les modifications r\u00e9alis\u00e9es sur cette table ne seront enregistr\u00e9s que lorsque le formulaire sera soumis.","The changes to these blocks will not be saved until the \x3cem\x3eSave blocks\x3c\/em\x3e button is clicked.":"N'oubliez pas de cliquer sur \x3cem\x3eEnregistrer les blocs\x3c\/em\x3e pour confirmer les modifications apport\u00e9es ici.","jQuery UI Tabs: Mismatching fragment identifier.":"Onglets d'interface jQuery : identifiant de fragment ne correspondant pas.","jQuery UI Tabs: Not enough arguments to add tab.":"Onglets d'interface jQuery : pas assez d'arguments pour ajouter l'onglet.","Automatic alias":"Alias automatique","Split summary at cursor":"Cr\u00e9er un r\u00e9sum\u00e9 \u00e0 partir du curseur","Join summary":"Fusionner le r\u00e9sum\u00e9 et le corps du message","The selected file %filename cannot not be uploaded. Only files with the following extensions are allowed: %extensions.":"Le fichier s\u00e9lectionn\u00e9 %filename n'a pas pu \u00eatre t\u00e9l\u00e9vers\u00e9. Seuls les fichiers poss\u00e9dant les extensions suivantes sont autoris\u00e9s : %extensions.","Testing clean URLs...":"Test des URLs simplifi\u00e9es...","Your server has been successfully tested to support this feature.":"Le test a r\u00e9ussi. Votre serveur supporte cette fonctionnalit\u00e9.","Your system configuration does not currently support this feature. The \x3ca href=\"http:\/\/drupal.org\/node\/15365\"\x3ehandbook page on Clean URLs\x3c\/a\x3e has additional troubleshooting information.":"La configuration de votre syst\u00e8me ne supporte pas cette fonctionnalit\u00e9. La \x3ca href=\"http:\/\/drupal.org\/node\/15365\"\x3epage du manuel sur les URLs simplifi\u00e9es\x3c\/a\x3e apporte une aide suppl\u00e9mentaire.","Remove this item":"Supprimer cet \u00e9l\u00e9ment","An error occurred. \n@uri\n@text":"Une erreur s'est produite. \n@uri\n@text","An error occurred. \n@uri\n(no information available).":"Une erreur s'est produite. \n@uri\n(aucune information suppl\u00e9mentaire)","An HTTP error @status occurred. \n@uri":"Une erreur HTTP @status s'est produite. \n@uri","1 attachment":["@count fichier attach\u00e9","@count fichiers attach\u00e9s"],"Close":"Fermer","An error occured while trying to save you settings.":"Une erreur est survenue lors de la sauvegarde de vos param\u00e8tres.","Not in book":"Pas dans le livre","New book":"Nouveau livre","By @name on @date":"Par @name le @date","By @name":"Par @name","Sticky on top of lists":"Epingl\u00e9 en haut des listes","Not in menu":"Pas dans le menu","No attachments":"Aucune pi\u00e8ce jointe","Alias: @alias":"Alias : @alias","No alias":"Aucun alias","No flags":"Aucun flag","No terms":"Aucun terme","An error occurred at ":"Une erreur s'est produite \u00e0","Don't create new revision":"Ne pas cr\u00e9er de nouvelle r\u00e9vision","An error occurred at @path.":"Une erreur est survenu \u00e0 @path.","Save and send":"Sauvegarder et envoyer","Save and send test":"Sauvegarder et envoyer un test","Loading...":"Chargement...","Received an invalid response from the server.":"Nous avons re\u00e7u une r\u00e9ponse non valide de la part du serveur.","The link cannot be inserted because the parent window cannot be found.":"Le lien ne peut \u00eatre ins\u00e9r\u00e9 parce que la fen\u00eatre parente ne peut \u00eatre trouv\u00e9e.","Check all items in this group":"Cocher tous les \u00e9l\u00e9ments de ce groupe","Toggle the values of all items in this group":"Changer les valeurs de tous les \u00e9l\u00e9ments de ce groupe","Uncheck all items in this group":"D\u00e9cocher tous les \u00e9l\u00e9ments de ce groupe","Uncheck all":"D\u00e9cocher tout","Toggle":"Changer","Check all":"Tout cocher","Bad Response form submission":"Le formulaire n'a pu \u00eatre enregistr\u00e9, peut-\u00eatre n'avez-vous pas \"ajouter\" une image ?"} }; \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/franceculture.png Binary file client/player/test/emission_fichiers/franceculture.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/high.js --- a/client/player/test/emission_fichiers/high.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){17.2m.27=6(b){4 c=b.2g||1j.22;5(!c&&b.J==Y)x F;j.A=$.2a({E:"E",1h:\'21\',1b:1T},b);5(b.C)j.C.1O(b.C);4 q=b.J!=Y?b.J.K().X(/[\\s,\\+\\.]+/):j.V(c,j.C);5(q&&q.1y("")){j.1v(q);x F.G(6(){4 a=F;5(a==1j)a=$("P")[0];j.1n(a,q)})}1l x F};4 j={A:{},m:[],C:[[/^9:\\/\\/(k\\.)?23\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1X\\./i,/p=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1S\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1R\\./i,/1Q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1P\\./i,/1N=([^&]+)/i],[/^9:\\/\\/(k\\.)?1M\\.Z/i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1L\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1K\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1H\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1G\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1F\\.Z/i,/([^\\?\\/]+)(?:\\?.*)$/i]],N:{},V:6(b,c){b=1D(b);4 d=1A;$.G(c,6(i,n){5(n[0].1w(b)){4 a=b.v(n[1]);5(a){d=a[1].K();x 2k}}});5(d){d=d.Q(/(\\\'|")/,\'\\$1\');d=d.X(/[\\s,\\+\\.]+/)}x d},H:[[/[\\1r-\\1q\\1s-\\2c]/7,\'a\'],[/[\\1o\\29-\\1m]/7,\'c\'],[/[\\28-\\26]/7,\'e\'],[/[\\25-\\1i]/7,\'i\'],[/\\1g/7,\'n\'],[/[\\24-\\1f\\1t]/7,\'o\'],[/[\\1e-\\20]/7,\'s\'],[/[\\1Y-\\1c]/7,\'t\'],[/[\\1U-\\1a]/7,\'u\'],[/\\19/7,\'y\'],[/[\\16\\15\\14\\13]/7,\'\\\'\']],L:/[\\16\\15\\1r-\\1q\\1o-\\1i\\1g-\\1f\\1t-\\1a\\19\\1s-\\1m\\1e-\\1c\\14\\13]/7,M:6(q){j.L.11=0;5(j.L.1w(q)){12(4 i=0,l=j.H.z;i\'+g.1p(v.r,v[0].z)+"";r=v.r+v[0].z}5(h){h+=g.2e(r);4 i=$.2d([],$(""+h+"")[0].R);S+=i.z-1;e+=i.z-1;$(f).2l(i).2b()}}1l{5(f.O==1&&f.2n.B(j.W)==-1)j.T(f,b,c)}}}}}})(17)',62,148,'||||var|if|function|ig||http|||||||||||www||regex|||||index||||match||return||length|options|search|engines|elHighlight|exact|this|each|regexAccent|span|keys|toLowerCase|matchAccent|replaceAccent|subs|nodeType|body|replace|childNodes|endIndex|hiliteTree|noHighlight|decodeURL|nosearch|split|undefined|com|escapeRegEx|lastIndex|for|u2019|u2018|x92|x91|jQuery|case|xFF|xDC|style_name_suffix|u0167|highlight|u015A|xD6|xD1|style_name|xCF|document|whole|else|u010D|hiliteElement|xC7|substr|xC5|xC0|u0100|xD8|textNoAcc|buildReplaceTools|test|nohighlight|join|break|null|textarea|cript|decodeURIComponent|gi|technorati|alltheweb|lycos|switch|push|feedster|altavista|ask|userQuery|unshift|aol|query|live|msn|true|xD9|new|RegExp|yahoo|u0162|tyle|u0161|hilite|referrer|google|xD2|xCC|xCB|SearchHighlight|xC8|u0106|extend|remove|u0105|merge|substring|class|debug_referrer|exec|while|data|false|before|fn|nodeName'.split('|'),0,{})) diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/inscription.png Binary file client/player/test/emission_fichiers/inscription.png has changed diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/jquery.js --- a/client/player/test/emission_fichiers/jquery.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -/** - * jQuery.timers - Timer abstractions for jQuery - * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com) - * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/). - * Date: 2009/02/08 - * - * @author Blair Mitchelmore - * @version 1.1.2 - * - **/ - -jQuery.fn.extend({ - everyTime: function(interval, label, fn, times, belay) { - return this.each(function() { - jQuery.timer.add(this, interval, label, fn, times, belay); - }); - }, - oneTime: function(interval, label, fn) { - return this.each(function() { - jQuery.timer.add(this, interval, label, fn, 1); - }); - }, - stopTime: function(label, fn) { - return this.each(function() { - jQuery.timer.remove(this, label, fn); - }); - } -}); - -jQuery.event.special - -jQuery.extend({ - timer: { - global: [], - guid: 1, - dataKey: "jQuery.timer", - regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/, - powers: { - // Yeah this is major overkill... - 'ms': 1, - 'cs': 10, - 'ds': 100, - 's': 1000, - 'das': 10000, - 'hs': 100000, - 'ks': 1000000 - }, - timeParse: function(value) { - if (value == undefined || value == null) - return null; - var result = this.regex.exec(jQuery.trim(value.toString())); - if (result[2]) { - var num = parseFloat(result[1]); - var mult = this.powers[result[2]] || 1; - return num * mult; - } else { - return value; - } - }, - add: function(element, interval, label, fn, times, belay) { - var counter = 0; - - if (jQuery.isFunction(label)) { - if (!times) - times = fn; - fn = label; - label = interval; - } - - interval = jQuery.timer.timeParse(interval); - - if (typeof interval != 'number' || isNaN(interval) || interval <= 0) - return; - - if (times && times.constructor != Number) { - belay = !!times; - times = 0; - } - - times = times || 0; - belay = belay || false; - - var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {}); - - if (!timers[label]) - timers[label] = {}; - - fn.timerID = fn.timerID || this.guid++; - - var handler = function() { - if (belay && this.inProgress) - return; - this.inProgress = true; - if ((++counter > times && times !== 0) || fn.call(element, counter) === false) - jQuery.timer.remove(element, label, fn); - this.inProgress = false; - }; - - handler.timerID = fn.timerID; - - if (!timers[label][fn.timerID]) - timers[label][fn.timerID] = window.setInterval(handler,interval); - - this.global.push( element ); - - }, - remove: function(element, label, fn) { - var timers = jQuery.data(element, this.dataKey), ret; - - if ( timers ) { - - if (!label) { - for ( label in timers ) - this.remove(element, label, fn); - } else if ( timers[label] ) { - if ( fn ) { - if ( fn.timerID ) { - window.clearInterval(timers[label][fn.timerID]); - delete timers[label][fn.timerID]; - } - } else { - for ( var fn in timers[label] ) { - window.clearInterval(timers[label][fn]); - delete timers[label][fn]; - } - } - - for ( ret in timers[label] ) break; - if ( !ret ) { - ret = null; - delete timers[label]; - } - } - - for ( ret in timers ) break; - if ( !ret ) - jQuery.removeData(element, this.dataKey); - } - } - } -}); - -jQuery(window).bind("unload", function() { - jQuery.each(jQuery.timer.global, function(index, item) { - jQuery.timer.remove(item); - }); -}); \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/jquery_002.js --- a/client/player/test/emission_fichiers/jquery_002.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/*! Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net) - * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) - * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. - * 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. - * - * Version: 3.0.2 - * - * Requires: 1.2.2+ - */ - -(function($) { - -var types = ['DOMMouseScroll', 'mousewheel']; - -$.event.special.mousewheel = { - setup: function() { - if ( this.addEventListener ) - for ( var i=types.length; i; ) - this.addEventListener( types[--i], handler, false ); - else - this.onmousewheel = handler; - }, - - teardown: function() { - if ( this.removeEventListener ) - for ( var i=types.length; i; ) - this.removeEventListener( types[--i], handler, false ); - else - this.onmousewheel = null; - } -}; - -$.fn.extend({ - mousewheel: function(fn) { - return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); - }, - - unmousewheel: function(fn) { - return this.unbind("mousewheel", fn); - } -}); - - -function handler(event) { - var args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true; - - event = $.event.fix(event || window.event); - event.type = "mousewheel"; - - if ( event.wheelDelta ) delta = event.wheelDelta/120; - if ( event.detail ) delta = -event.detail/3; - - // Add events and delta to the front of the arguments - args.unshift(event, delta); - - return $.event.handle.apply(this, args); -} - -})(jQuery); \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/jquery_003.js --- a/client/player/test/emission_fichiers/jquery_003.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,457 +0,0 @@ -/** - * jquery.scrollable 1.0.2. Put your HTML scroll. - * - * Copyright (c) 2009 Tero Piirainen - * http://flowplayer.org/tools/scrollable.html - * - * Dual licensed under MIT and GPL 2+ licenses - * http://www.opensource.org/licenses - * - * Launch : March 2008 - * Version : 1.0.2 - Tue Feb 24 2009 10:52:08 GMT-0000 (GMT+00:00) - */ -(function($) { - - function fireEvent(opts, name, self, arg) { - var fn = opts[name]; - - if ($.isFunction(fn)) { - try { - return fn.call(self, arg); - - } catch (error) { - if (opts.alert) { - alert("Error calling scrollable." + name + ": " + error); - } else { - throw error; - } - return false; - } - } - return true; - } - - var current = null; - - - // constructor - function Scrollable(root, conf) { - - // current instance - var self = this; - if (!current) { current = self; } - - // horizontal flag - var horizontal = !conf.vertical; - - - // wrap (root elements for items) - var wrap = $(conf.items, root); - - // current index - var index = 0; - - - // get handle to navigational elements - var navi = root.siblings(conf.navi).eq(0); - var prev = root.siblings(conf.prev).eq(0); - var next = root.siblings(conf.next).eq(0); - var prevPage = root.siblings(conf.prevPage).eq(0); - var nextPage = root.siblings(conf.nextPage).eq(0); - - - // methods - $.extend(self, { - - getVersion: function() { - return [1, 0, 1]; - }, - - getIndex: function() { - return index; - }, - - getConf: function() { - return conf; - }, - - getSize: function() { - return self.getItems().size(); - }, - - getPageAmount: function() { - return Math.ceil(this.getSize() / conf.size); - }, - - getPageIndex: function() { - return Math.ceil(index / conf.size); - }, - - getRoot: function() { - return root; - }, - - getItemWrap: function() { - return wrap; - }, - - getItems: function() { - return wrap.children(); - }, - - /* all seeking functions depend on this */ - seekTo: function(i, time, fn) { - - // default speed - time = time || conf.speed; - - // function given as second argument - if ($.isFunction(time)) { - fn = time; - time = conf.speed; - } - - if (i < 0) { i = 0; } - if (i > self.getSize() - conf.size) { return self; } - - var item = self.getItems().eq(i); - if (!item.length) { return self; } - - // onBeforeSeek - if (fireEvent(conf, "onBeforeSeek", self, i) === false) { - return self; - } - - if (horizontal) { - var left = -(item.outerWidth(true) * i); - wrap.animate({left: left}, time, conf.easing, fn ? function() { fn.call(self); } : null); - - } else { - var top = -(item.outerHeight(true) * i); // wrap.offset().top - item.offset().top; - wrap.animate({top: top}, time, conf.easing, fn ? function() { fn.call(self); } : null); - } - - - // navi status update - if (navi.length) { - var klass = conf.activeClass; - var page = Math.ceil(i / conf.size); - page = Math.min(page, navi.children().length - 1); - navi.children().removeClass(klass).eq(page).addClass(klass); - } - - // prev buttons disabled flag - if (i === 0) { - prev.add(prevPage).addClass(conf.disabledClass); - } else { - prev.add(prevPage).removeClass(conf.disabledClass); - } - - // next buttons disabled flag - if (i >= self.getSize() - conf.size) { - next.add(nextPage).addClass(conf.disabledClass); - } else { - next.add(nextPage).removeClass(conf.disabledClass); - } - - current = self; - index = i; - - // onSeek after index being updated - fireEvent(conf, "onSeek", self, i); - - return self; - - }, - - move: function(offset, time, fn) { - var to = index + offset; - if (conf.loop && to > (self.getSize() - conf.size)) { - to = 0; - } - return this.seekTo(to, time, fn); - }, - - next: function(time, fn) { - return this.move(1, time, fn); - }, - - prev: function(time, fn) { - return this.move(-1, time, fn); - }, - - movePage: function(offset, time, fn) { - return this.move(conf.size * offset, time, fn); - }, - - setPage: function(page, time, fn) { - var size = conf.size; - var index = size * page; - var lastPage = index + size >= this.getSize(); - if (lastPage) { - index = this.getSize() - conf.size; - } - return this.seekTo(index, time, fn); - }, - - prevPage: function(time, fn) { - return this.setPage(this.getPageIndex() - 1, time, fn); - }, - - nextPage: function(time, fn) { - return this.setPage(this.getPageIndex() + 1, time, fn); - }, - - begin: function(time, fn) { - return this.seekTo(0, time, fn); - }, - - end: function(time, fn) { - return this.seekTo(this.getSize() - conf.size, time, fn); - }, - - reload: function() { - return load(); - }, - - click: function(index, time, fn) { - - var item = self.getItems().eq(index); - var klass = conf.activeClass; - - if (!item.hasClass(klass) && (index >= 0 || index < this.getSize())) { - self.getItems().removeClass(klass); - item.addClass(klass); - var delta = Math.floor(conf.size / 2); - var to = index - delta; - - // next to last item must work - if (to > self.getSize() - conf.size) { to--; } - - if (to !== index) { - return this.seekTo(to, time, fn); - } - } - - return self; - } - - }); - - - // mousewheel - if ($.isFunction($.fn.mousewheel)) { - root.bind("mousewheel.scrollable", function(e, delta) { - // opera goes to opposite direction - var step = $.browser.opera ? 1 : -1; - - self.move(delta > 0 ? step : -step, 50); - return false; - }); - } - - // prev button - prev.addClass(conf.disabledClass).click(function() { - self.prev(); - }); - - - // next button - next.click(function() { - self.next(); - }); - - // prev page button - nextPage.click(function() { - self.nextPage(); - }); - - - // next page button - prevPage.addClass(conf.disabledClass).click(function() { - self.prevPage(); - }); - - - // keyboard - if (conf.keyboard) { - - // unfortunately window.keypress does not work on IE. - $(window).unbind("keypress.scrollable").bind("keypress.scrollable", function(evt) { - - var el = current; - if (!el) { return; } - - if (horizontal && (evt.keyCode == 37 || evt.keyCode == 39)) { - el.move(evt.keyCode == 37 ? -1 : 1); - return evt.preventDefault(); - } - - if (!horizontal && (evt.keyCode == 38 || evt.keyCode == 40)) { - el.move(evt.keyCode == 38 ? -1 : 1); - return evt.preventDefault(); - } - - return true; - - }); - } - - // navi - function load() { - - navi.each(function() { - - var nav = $(this); - - // generate new entries - if (nav.is(":empty") || nav.data("me") == self) { - - nav.empty(); - nav.data("me", self); - - for (var i = 0; i < self.getPageAmount(); i++) { - - var item = $("<" + conf.naviItem + "/>").attr("href", i).click(function(e) { - var el = $(this); - el.parent().children().removeClass(conf.activeClass); - el.addClass(conf.activeClass); - self.setPage(el.attr("href")); - return e.preventDefault(); - }); - - if (i === 0) { item.addClass(conf.activeClass); } - nav.append(item); - } - - // assign onClick events to existing entries - } else { - - // find a entries first -> syntaxically correct - var els = nav.children(); - - els.each(function(i) { - var item = $(this); - item.attr("href", i); - if (i === 0) { item.addClass(conf.activeClass); } - - item.click(function() { - nav.find("." + conf.activeClass).removeClass(conf.activeClass); - item.addClass(conf.activeClass); - self.setPage(item.attr("href")); - }); - - }); - } - - }); - - - // item.click() - if (conf.clickable) { - self.getItems().each(function(index, arg) { - var el = $(this); - if (!el.data("set")) { - el.bind("click.scrollable", function() { - self.click(index); - }); - el.data("set", true); - } - }); - } - - - // hover - if (conf.hoverClass) { - self.getItems().hover(function() { - $(this).addClass(conf.hoverClass); - }, function() { - $(this).removeClass(conf.hoverClass); - }); - } - - return self; - } - - load(); - - - // interval stuff - var timer = null; - - function setTimer() { - timer = setInterval(function() { - self.next(); - - }, conf.interval); - } - - if (conf.interval > 0) { - - root.hover(function() { - clearInterval(timer); - }, function() { - setTimer(); - }); - - setTimer(); - } - - } - - - // jQuery plugin implementation - jQuery.prototype.scrollable = function(conf) { - - // already constructed --> return API - var api = this.eq(typeof conf == 'number' ? conf : 0).data("scrollable"); - if (api) { return api; } - - - var opts = { - - // basics - size: 5, - vertical:false, - clickable: true, - loop: false, - interval: 0, - speed: 400, - keyboard: true, - - // other - activeClass:'active', - disabledClass: 'disabled', - hoverClass: null, - easing: 'swing', - - // navigational elements - items: '.items', - prev: '.prev', - next: '.next', - prevPage: '.prevPage', - nextPage: '.nextPage', - navi: '.navi', - naviItem: 'a', - - - // callbacks - onBeforeSeek: null, - onSeek: null, - alert: true - }; - - - $.extend(opts, conf); - - this.each(function() { - var el = new Scrollable($(this), opts); - $(this).data("scrollable", el); - }); - - return this; - - }; - - -})(jQuery); diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/emission_fichiers/jquery_004.js --- a/client/player/test/emission_fichiers/jquery_004.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/*! -* jQuery Form Plugin -* version: 2.43 (12-MAR-2010) -* @requires jQuery v1.3.2 or later -* -* Examples and documentation at: http://malsup.com/jquery/form/ -* Dual licensed under the MIT and GPL licenses: -* http://www.opensource.org/licenses/mit-license.php -* http://www.gnu.org/licenses/gpl.html -*/ -(function(b){function o(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function d(){function r(){var p=h.attr("target"),n=h.attr("action");j.setAttribute("target",z);j.getAttribute("method")!="POST"&&j.setAttribute("method","POST");j.getAttribute("action")!=g.url&&j.setAttribute("action",g.url);g.skipEncodingOverride|| -h.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});g.timeout&&setTimeout(function(){C=true;s()},g.timeout);var m=[];try{if(g.extraData)for(var u in g.extraData)m.push(b('').appendTo(j)[0]);t.appendTo("body");t.data("form-plugin-onload",s);j.submit()}finally{j.setAttribute("action",n);p?j.setAttribute("target",p):h.removeAttr("target");b(m).remove()}}function s(){if(!D){var p=true;try{if(C)throw"timeout";var n,m;m=v.contentWindow? -v.contentWindow.document:v.contentDocument?v.contentDocument:v.document;var u=g.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);o("isXml="+u);if(!u&&(m.body==null||m.body.innerHTML=="")){if(--G){o("requeing onLoad callback, DOM not available");setTimeout(s,250);return}o("Could not access iframe DOM after 100 tries.");return}o("response detected");D=true;i.responseText=m.body?m.body.innerHTML:null;i.responseXML=m.XMLDocument?m.XMLDocument:m;i.getResponseHeader=function(H){return{"content-type":g.dataType}[H]}; -if(g.dataType=="json"||g.dataType=="script"){var E=m.getElementsByTagName("textarea")[0];if(E)i.responseText=E.value;else{var F=m.getElementsByTagName("pre")[0];if(F)i.responseText=F.innerHTML}}else if(g.dataType=="xml"&&!i.responseXML&&i.responseText!=null)i.responseXML=A(i.responseText);n=b.httpData(i,g.dataType)}catch(B){o("error caught:",B);p=false;i.error=B;b.handleError(g,i,"error",B)}if(p){g.success(n,"success");w&&b.event.trigger("ajaxSuccess",[i,g])}w&&b.event.trigger("ajaxComplete",[i,g]); -w&&!--b.active&&b.event.trigger("ajaxStop");if(g.complete)g.complete(i,p?"success":"error");setTimeout(function(){t.removeData("form-plugin-onload");t.remove();i.responseXML=null},100)}}function A(p,n){if(window.ActiveXObject){n=new ActiveXObject("Microsoft.XMLDOM");n.async="false";n.loadXML(p)}else n=(new DOMParser).parseFromString(p,"text/xml");return n&&n.documentElement&&n.documentElement.tagName!="parsererror"?n:null}var j=h[0];if(b(":input[name=submit]",j).length)alert('Error: Form elements must not be named "submit".'); -else{var g=b.extend({},b.ajaxSettings,a),q=b.extend(true,{},b.extend(true,{},b.ajaxSettings),g),z="jqFormIO"+(new Date).getTime(),t=b(' -
    -
    - - - - -
    retour en haut de page - -
    - -
    -
    -
    -
    - -
    - -
    -

    Les Retours du dimanche - - par Caroline - Broué, Hervé -Gardette - Le site de l'émission -

    -
    - Les Retours du 
-dimanche - -
    -

    le dimanche de 18h10 à 19h

    -
    -
    - -
    -
    -
    - -
    - -
    - - -
    -
    - - Ecoutez l'émission - - 50 minutes -
    -

    - Le salaire de la politique ; les vuvuzelas ; l'actualité -politique belge - 0 - -

    -

    - 20.06.2010 - 18:10 -

    -
    -
    - - -
    -
    -
    -
    - - -
    - -

    le sociologue Alain Garrigou ©Radio -France

    -
    - - -

    Au sommaire des Retours du dimanche :

     

    La - - - revue -d'actualités : rappel des petits et grands évènements de la semaine. : il - faut reconnaître un mérite à Raymond Domenech et à ses joueurs...

     

    L'entretien - - - - : "Le salaire de la politique", après que la question de la rémunération des -politiques a été posée par le -premier ministre cette semaine. Invité : l'historien -et professeur en science politique Alain Garrigou, -auteur de Mourir pour des Idées, la vie posthume d'Alphone Baudin, - paru aux éditions Les Belles Lettres en avril 2010.

     

     

    - - - - - - -
    - - - - - - -
    - -

    La - revue de -presse : les vuvuzelas comme phénomène identitaire, ces - trompettes qui occupent le fond sonore de tous les matchs de la coupe -du monde de football qui se déroule en ce moment en Afrique du Sud.
    -
    La bulle sonore : Patrick Roegiers pour revenir - sur l'actualité politique en Belgique. Notre invité -est romancier, auteur de La Belgique, Le roman d'un pays, paru -chez Découvertes Gallimard en 2005, et Le mal du pays, autoportrait -de la Belgique, publié au Seuil en 2003. Il a récemment publié La - Nuit du Monde, au Seuil en janvier 2010.

     

    - La -chronique d'Anthony Bellanger de Courrier - -International.

    -


    Et comme chaque semaine : le sujet choisi par l'invité, notre -choix pour -la semaine à venir...

    -
    -
    -
    - -

    Invités :
    - Alain -Garrigou, professeur agrégé d'histoire et docteur en science -politique à l'université de Paris-X Nanterre
    Patrick - Roegiers

    -

    Thèmes : - Information| Débat| - Gouvernement| - Histoire

    - -
    -
    -
    -

    0 commentaire

    -
    -

    Votre commentaire

    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    - -

    Enregistrement des -données…

    - - -
    -
    -
    - -
    -
    - - - -
    -
    -
    - - - -
    -
    - - -
    - - - - -
    -
    - - - - -
    -
    - - - - - - - - - - - - - - -
    \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/indexFC2.htm --- a/client/player/test/indexFC2.htm Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1974 +0,0 @@ - - - - - - - - - - - Le salaire de la politique ; les vuvuzelas ; l'actualité -politique belge - Information - France Culture - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - -
    retour en haut de page - -
    - -
    -
    -
    -
    - -
    - -
    -

    Les Retours du dimanche - - par Caroline - Broué, Hervé -Gardette - Le site de l'émission -

    -
    - Les Retours du 
-dimanche - -
    -

    le dimanche de 18h10 à 19h

    -
    -
    - -
    -
    -
    - -
    - -
    - - -
    -
    - - Ecoutez l'émission - - 50 minutes -
    -

    - Le salaire de la politique ; les vuvuzelas ; l'actualité -politique belge - 0 - -

    -

    - 20.06.2010 - 18:10 -

    -
    -
    - - -
    -
    -
    -
    - - -
    - -

    le sociologue Alain Garrigou ©Radio -France

    -
    - - -

    Au sommaire des Retours du dimanche :

     

    La - - - revue -d'actualités : rappel des petits et grands évènements de la semaine. : il - faut reconnaître un mérite à Raymond Domenech et à ses joueurs...

     

    L'entretien - - - - : "Le salaire de la politique", après que la question de la rémunération des -politiques a été posée par le -premier ministre cette semaine. Invité : l'historien -et professeur en science politique Alain Garrigou, -auteur de Mourir pour des Idées, la vie posthume d'Alphone Baudin, - paru aux éditions Les Belles Lettres en avril 2010.

     

     

    - - - - - - -
    - - - - - - -
    - -

    La - revue de -presse : les vuvuzelas comme phénomène identitaire, ces - trompettes qui occupent le fond sonore de tous les matchs de la coupe -du monde de football qui se déroule en ce moment en Afrique du Sud.
    -
    La bulle sonore : Patrick Roegiers pour revenir - sur l'actualité politique en Belgique. Notre invité -est romancier, auteur de La Belgique, Le roman d'un pays, paru -chez Découvertes Gallimard en 2005, et Le mal du pays, autoportrait -de la Belgique, publié au Seuil en 2003. Il a récemment publié La - Nuit du Monde, au Seuil en janvier 2010.

     

    - La -chronique d'Anthony Bellanger de Courrier - -International.

    -


    Et comme chaque semaine : le sujet choisi par l'invité, notre -choix pour -la semaine à venir...

    -
    -
    -
    - -

    Invités :
    - Alain -Garrigou, professeur agrégé d'histoire et docteur en science -politique à l'université de Paris-X Nanterre
    Patrick - Roegiers

    -

    Thèmes : - Information| Débat| - Gouvernement| - Histoire

    - -
    -
    -
    -

    0 commentaire

    -
    -

    Votre commentaire

    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    - -

    Enregistrement des -données…

    - - -
    -
    -
    - -
    -
    - - - -
    -
    -
    - - - -
    -
    - - -
    - - - - -
    -
    - - - - -
    -
    - - - - - - - - - - - - - - -
    \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/test-youtube.json --- a/client/player/test/test-youtube.json Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,461 +0,0 @@ -{ - "tags": [ - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.147547", - "dc:title": "suffrage universel", - "dc:modified": "2010-09-15T15:28:02.147547", - "dc:creator": "IRI" - }, - "id": "d4000614-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.148547", - "dc:title": "Patrick Rogiers", - "dc:modified": "2010-09-15T15:28:02.148547", - "dc:creator": "IRI" - }, - "id": "d4002126-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.145004", - "dc:title": "Kirgistan", - "dc:modified": "2010-09-15T15:28:02.145004", - "dc:creator": "IRI" - }, - "id": "d3ff94ae-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.146232", - "dc:title": "Alphonse Baudin", - "dc:modified": "2010-09-15T15:28:02.146232", - "dc:creator": "IRI" - }, - "id": "d3ffbf06-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.147547", - "dc:title": "mandats rétribués", - "dc:modified": "2010-09-15T15:28:02.147547", - "dc:creator": "IRI" - }, - "id": "d3fffa02-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.148547", - "dc:title": "Belgique", - "dc:modified": "2010-09-15T15:28:02.148547", - "dc:creator": "IRI" - }, - "id": "d400197e-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.146745", - "dc:title": "18juin", - "dc:modified": "2010-09-15T15:28:02.146745", - "dc:creator": "IRI" - }, - "id": "d3ffd32e-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.148547", - "dc:title": "Wallons", - "dc:modified": "2010-09-15T15:28:02.148547", - "dc:creator": "IRI" - }, - "id": "d4002874-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.149993", - "dc:title": "theatre.doc", - "dc:modified": "2010-09-15T15:28:02.149993", - "dc:creator": "IRI" - }, - "id": "d40051f0-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.146745", - "dc:title": "marée noire", - "dc:modified": "2010-09-15T15:28:02.146745", - "dc:creator": "IRI" - }, - "id": "d3ffde82-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.148547", - "dc:title": "Flamands", - "dc:modified": "2010-09-15T15:28:02.148547", - "dc:creator": "IRI" - }, - "id": "d4001d70-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.147547", - "dc:title": "Auguste Baudin", - "dc:modified": "2010-09-15T15:28:02.147547", - "dc:creator": "IRI" - }, - "id": "d3fff26e-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.145004", - "dc:title": "retraite", - "dc:modified": "2010-09-15T15:28:02.145004", - "dc:creator": "IRI" - }, - "id": "d3ff9d3c-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.147547", - "dc:title": "financement politique", - "dc:modified": "2010-09-15T15:28:02.147547", - "dc:creator": "IRI" - }, - "id": "d3fff656-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.146745", - "dc:title": "Bloody Sunday", - "dc:modified": "2010-09-15T15:28:02.146745", - "dc:creator": "IRI" - }, - "id": "d3ffd716-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.148547", - "dc:title": "éléction", - "dc:modified": "2010-09-15T15:28:02.148547", - "dc:creator": "IRI" - }, - "id": "d4002c2a-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.147547", - "dc:title": "suffrage directs", - "dc:modified": "2010-09-15T15:28:02.147547", - "dc:creator": "IRI" - }, - "id": "d400022c-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.148547", - "dc:title": "vuvuzela", - "dc:modified": "2010-09-15T15:28:02.148547", - "dc:creator": "IRI" - }, - "id": "d40024c8-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.146745", - "dc:title": "Domenech", - "dc:modified": "2010-09-15T15:28:02.146745", - "dc:creator": "IRI" - }, - "id": "d3ffdacc-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.149511", - "dc:title": "sociologie du sport", - "dc:modified": "2010-09-15T15:28:02.149511", - "dc:creator": "IRI" - }, - "id": "d4003f12-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.145004", - "dc:title": "Mondiale", - "dc:modified": "2010-09-15T15:28:02.145004", - "dc:creator": "IRI" - }, - "id": "d3ff997c-c0dd-11df-bfff-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-15T15:28:02.147547", - "dc:title": "professionalisation de la politique", - "dc:modified": "2010-09-15T15:28:02.147547", - "dc:creator": "IRI" - }, - "id": "d3fffdae-c0dd-11df-bfff-00145ea4a2be" - } - ], - "views": null, - "lists": [ - { - "items": [ - { - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560" - }, - { - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795" - }, - { - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831" - }, - { - "id-ref": "c_DE60F95E-73B8-922D-3AC7-6FB197A1BF16" - } - ], - "meta": { - "dc:contributor": "undefined", - "dc:created": "2010-09-15T15:28:02.144361", - "dc:creator": "perso", - "id-ref": "franceculture_retourdudimanche20100620", - "dc:title": "Découpages personnels", - "editable": "false", - "dc:modified": "2010-09-15T15:28:02.144361", - "dc:description": "" - }, - "id": "ens_perso" - } - ], - "medias": [ - { - "origin": "0", - "http://advene.liris.cnrs.fr/ns/frame_of_reference/ms": "o=0", - "href": "rtmp://media.iri.centrepompidou.fr/ddc_player/video/franceculture/franceculture_retourdudimanche20100620.flv", - "meta": { - "dc:contributor": "IRI", - "item": { - "name": "streamer", - "value": "rtmp://media.iri.centrepompidou.fr/ddc_player/" - }, - "dc:created": "2010-06-25T16:58:36.186952", - "dc:duration": 603000, - "dc:creator": "onubufonu", - "dc:created.contents": "2010-06-25", - "dc:title": "Andrei Tarkovsky interview part 1 ", - "dc:creator.contents": "IRI", - "dc:modified": "2010-06-25T16:58:36.187009", - "dc:description": "Test Youtube local example with Json" - }, - "id": "franceculture_retourdudimanche20100620", - "unit": "ms" - } - ], - "meta": { - "dc:contributor": "admin", - "dc:created": "2010-07-12T00:30:40.272719", - "dc:creator": "admin", - "main_media": { - "id-ref": "franceculture_retourdudimanche20100620" - }, - "dc:description": "", - "dc:title": "RetourDimanche20juin_decoupageChronique", - "id": "ef4dcc2e-8d3b-11df-8a24-00145ea4a2be", - "dc:modified": "2010-09-13T11:07:51.331011" - }, - "annotations": [ - { - "begin": 202000, - "end": 252000, - "tags": [ - { - "id-ref": "d3ff94ae-c0dd-11df-bfff-00145ea4a2be" - }, - { - "id-ref": "d3ff997c-c0dd-11df-bfff-00145ea4a2be" - }, - { - "id-ref": "d3ff9d3c-c0dd-11df-bfff-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "6684774", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": null - }, - "description": "", - "title": "Générique" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-15T15:28:02.144394", - "dc:modified": "2010-09-15T15:28:02.144394", - "dc:creator": "perso" - }, - "id": "s_38948-15F4-E7CB-EBC5-6FB51DAC635C" - }, - { - "begin": 50000, - "end": 182000, - "tags": [ - { - "id-ref": "d3ff94ae-c0dd-11df-bfff-00145ea4a2be" - }, - { - "id-ref": "d3ff997c-c0dd-11df-bfff-00145ea4a2be" - }, - { - "id-ref": "d3ff9d3c-c0dd-11df-bfff-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "16776960", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": null - }, - "description": "", - "title": "Générique" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-15T15:28:02.144394", - "dc:modified": "2010-09-15T15:28:02.144394", - "dc:creator": "perso" - }, - "id": "s_38978-15F4-E7CB-EBC5-6FB51DAC635C" - }, - { - "begin": 2, - "end": 12000, - "tags": [ - { - "id-ref": "d3ff94ae-c0dd-11df-bfff-00145ea4a2be" - }, - { - "id-ref": "d3ff997c-c0dd-11df-bfff-00145ea4a2be" - }, - { - "id-ref": "d3ff9d3c-c0dd-11df-bfff-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "16776960", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": null - }, - "description": "", - "title": "Générique" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-15T15:28:02.144394", - "dc:modified": "2010-09-15T15:28:02.144394", - "dc:creator": "perso" - }, - "id": "s_32C565F4-15F4-E7CB-EBC5-6FB51DAC635C" - }, - { - "begin": 25000, - "end": 35000, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "6684774", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": null - }, - "description": "description de test ...", - "title": "Sommaire" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-15T15:28:02.144394", - "dc:modified": "2010-09-15T15:28:02.144394", - "dc:creator": "perso" - }, - "id": "s_8F385150-64B3-7539-AB94-6FB51DAC40B4" - } - - ], - "annotation-types": [ - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Chapitrage Notes", - "id": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-15T15:28:02.144394", - "dc:description": "", - "dc:modified": "2010-09-15T15:28:02.144394" - }, - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Mes notes", - "id": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-15T15:28:02.150138", - "dc:description": "", - "dc:modified": "2010-09-15T15:28:02.150138" - }, - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Mes notes", - "id": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-15T15:28:02.159006", - "dc:description": "", - "dc:modified": "2010-09-15T15:28:02.159006" - }, - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Chapitrage", - "id": "c_DE60F95E-73B8-922D-3AC7-6FB197A1BF16", - "dc:created": "2010-09-15T15:28:02.163372", - "dc:description": "", - "dc:modified": "2010-09-15T15:28:02.163372" - } - ] -} \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c client/player/test/test.json --- a/client/player/test/test.json Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1456 +0,0 @@ -test({ - "tags": [ - { - "meta": { - "dc:contributor": "IRI ", - "dc:created": "2010-09-06T15:53:44.618963", - "dc:title": "suffrage universel", - "dc:modified": "2010-09-06T15:53:44.618963", - "dc:creator": "IRI" - }, - "id": "edaabd04-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.621828", - "dc:title": "Patrick Rogiers", - "dc:modified": "2010-09-06T15:53:44.621828", - "dc:creator": "IRI" - }, - "id": "edab1fec-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.575615", - "dc:title": "Kirgistan", - "dc:modified": "2010-09-06T15:53:44.575615", - "dc:creator": "IRI" - }, - "id": "eda50fb2-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.600158", - "dc:title": "Alphonse Baudin", - "dc:modified": "2010-09-06T15:53:44.600158", - "dc:creator": "IRI" - }, - "id": "eda8ba7c-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.618963", - "dc:title": "mandats rétribués", - "dc:modified": "2010-09-06T15:53:44.618963", - "dc:creator": "IRI" - }, - "id": "edaab0b6-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.621828", - "dc:title": "Belgique", - "dc:modified": "2010-09-06T15:53:44.621828", - "dc:creator": "IRI" - }, - "id": "edab1808-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.609400", - "dc:title": "18juin", - "dc:modified": "2010-09-06T15:53:44.609400", - "dc:creator": "IRI" - }, - "id": "edaa23f8-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.621828", - "dc:title": "Wallons", - "dc:modified": "2010-09-06T15:53:44.621828", - "dc:creator": "IRI" - }, - "id": "edab2730-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.626707", - "dc:title": "theatre.doc", - "dc:modified": "2010-09-06T15:53:44.626707", - "dc:creator": "IRI" - }, - "id": "edabd6b2-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.609400", - "dc:title": "marée noire", - "dc:modified": "2010-09-06T15:53:44.609400", - "dc:creator": "IRI" - }, - "id": "edaa3aaa-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.621828", - "dc:title": "Flamands", - "dc:modified": "2010-09-06T15:53:44.621828", - "dc:creator": "IRI" - }, - "id": "edab1c36-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.618963", - "dc:title": "Auguste Baudin", - "dc:modified": "2010-09-06T15:53:44.618963", - "dc:creator": "IRI" - }, - "id": "edaaa8dc-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.575615", - "dc:title": "retraite", - "dc:modified": "2010-09-06T15:53:44.575615", - "dc:creator": "IRI" - }, - "id": "eda7047a-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.618963", - "dc:title": "financement politique", - "dc:modified": "2010-09-06T15:53:44.618963", - "dc:creator": "IRI" - }, - "id": "edaaad00-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.609400", - "dc:title": "Bloody Sunday", - "dc:modified": "2010-09-06T15:53:44.609400", - "dc:creator": "IRI" - }, - "id": "edaa329e-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.621828", - "dc:title": "éléction", - "dc:modified": "2010-09-06T15:53:44.621828", - "dc:creator": "IRI" - }, - "id": "edab2b68-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.618963", - "dc:title": "suffrage directs", - "dc:modified": "2010-09-06T15:53:44.618963", - "dc:creator": "IRI" - }, - "id": "edaab962-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.621828", - "dc:title": "vuvuzela", - "dc:modified": "2010-09-06T15:53:44.621828", - "dc:creator": "IRI" - }, - "id": "edab238e-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.609400", - "dc:title": "Domenech", - "dc:modified": "2010-09-06T15:53:44.609400", - "dc:creator": "IRI" - }, - "id": "edaa36ea-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.624524", - "dc:title": "sociologie du sport", - "dc:modified": "2010-09-06T15:53:44.624524", - "dc:creator": "IRI" - }, - "id": "edab8162-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.575615", - "dc:title": "Mondiale", - "dc:modified": "2010-09-06T15:53:44.575615", - "dc:creator": "IRI" - }, - "id": "eda60c8c-b9ce-11df-9e63-00145ea4a2be" - }, - { - "meta": { - "dc:contributor": "IRI", - "dc:created": "2010-09-06T15:53:44.618963", - "dc:title": "professionalisation de la politique", - "dc:modified": "2010-09-06T15:53:44.618963", - "dc:creator": "IRI" - }, - "id": "edaab5c0-b9ce-11df-9e63-00145ea4a2be" - } - ], - "views": null, - "lists": [ - { - "items": [ - { - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560" - }, - { - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795" - }, - { - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831" - }, - { - "id-ref": "c_DE60F95E-73B8-922D-3AC7-6FB197A1BF16" - } - ], - "meta": { - "dc:contributor": "undefined", - "dc:created": "2010-09-06T15:53:44.572185", - "dc:creator": "perso", - "id-ref": "franceculture_retourdudimanche20100620", - "dc:title": "Découpages personnels", - "editable": "false", - "dc:modified": "2010-09-06T15:53:44.572185", - "dc:description": "" - }, - "id": "ens_perso" - } - ], - "medias": [ - { - "origin": "0", - "http://advene.liris.cnrs.fr/ns/frame_of_reference/ms": "o=0", - "href": "rtmp://media.iri.centrepompidou.fr/ddc_player/video/franceculture/franceculture_retourdudimanche20100620.flv", - "meta": { - "dc:contributor": "IRI", - "item": { - "name": "streamer", - "value": "rtmp://media.iri.centrepompidou.fr/ddc_player/" - }, - "dc:created": "2010-06-25T16:58:36.186952", - "dc:duration": 3016000, - "dc:creator": "IRI", - "dc:created.contents": "2010-06-25", - "dc:title": "FC Retour du dimanche 2010-06-20", - "dc:creator.contents": "IRI", - "dc:modified": "2010-06-25T16:58:36.187009", - "dc:description": "France Culture. Retour du dimanche 2010-06-20" - }, - "id": "franceculture_retourdudimanche20100620", - "unit": "ms" - } - ], - "meta": { - "dc:contributor": "admin", - "dc:created": "2010-07-12T00:30:40.272719", - "dc:creator": "admin", - "main_media": { - "id-ref": "franceculture_retourdudimanche20100620" - }, - "dc:description": "", - "dc:title": "RetourDimanche20juin_decoupageChronique", - "id": "ef4dcc2e-8d3b-11df-8a24-00145ea4a2be", - "dc:modified": "2010-08-25T11:39:25.507013" - }, - "annotations": [ - { - "begin": "0", - "end": 88414, - "tags": [ - { - "id-ref": "eda50fb2-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "eda60c8c-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "eda7047a-b9ce-11df-9e63-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "16776960", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "Générique" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_32C565F4-15F4-E7CB-EBC5-6FB51DAC635C" - }, - { - "begin": "88422", - "end": 169831, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "6684774", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "Sommaire" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_8F385150-64B3-7539-AB94-6FB51DAC40B4" - }, - { - "begin": "170235", - "end": 316123, - "tags": [ - { - "id-ref": "eda8ba7c-b9ce-11df-9e63-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "10027008", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "L'invité : Alain Guarrigue, sur Alphonse Baudin", - "title": "Présentation de l'invité - Alain Garrigou" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_948A7C82-DD23-8CAC-27D4-6FB51DAC7D41" - }, - { - "begin": "316720", - "end": 694781, - "tags": [ - { - "id-ref": "edaa23f8-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaa329e-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaa36ea-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaa36ea-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaa3aaa-b9ce-11df-9e63-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "6736896", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "Revue d'actualité - Hervé Gardette" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_54DB840E-01AC-D042-37E2-B2BA1E18B47C" - }, - { - "begin": "695261", - "end": 1772062, - "tags": [ - { - "id-ref": "edaaa8dc-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaaad00-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaab0b6-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaab5c0-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaab962-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edaabd04-b9ce-11df-9e63-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "10027008", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "Invité spécial - Alain Garrigou" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_BDB0677D-DBF9-D198-896B-B2BDB9012D54" - }, - { - "begin": "1772707", - "end": 2515173, - "tags": [ - { - "id-ref": "edab1808-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edab1c36-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edab1fec-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edab238e-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edab2730-b9ce-11df-9e63-00145ea4a2be" - }, - { - "id-ref": "edab2b68-b9ce-11df-9e63-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "6749952", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "Revue de presse - Hervé Gardette" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_3FC1D037-34A3-FEF7-541C-B2C31ED973A8" - }, - { - "begin": "2516091", - "end": 2646767, - "tags": [ - { - "id-ref": "edab8162-b9ce-11df-9e63-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "10027008", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "Le sujet de l'invité : la sociologie du sport - Alain Garrigou" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_82613B88-9578-DC2C-D7D0-B2C5BE0B7BDA" - }, - { - "begin": "2647012", - "end": 3012503, - "tags": [ - { - "id-ref": "edabd6b2-b9ce-11df-9e63-00145ea4a2be" - } - ], - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "16776960", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "Chronique du Courrier International - Antony Bélanger" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:modified": "2010-09-06T15:53:44.572226", - "dc:creator": "perso" - }, - "id": "s_24324ACF-E8D0-46FE-E977-B2C7D1A1FBAA" - }, - { - "begin": "902235", - "end": 1022560, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Garrigou : financement politique, suffrage universel et direct et mandats rétribués,", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_C5118055-7575-43BD-05BA-B2B91B977B61" - }, - { - "begin": "1022560", - "end": 1029340, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Caroline Broué", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_224FA6AF-AC6B-5412-C882-B2B91B97A0BC" - }, - { - "begin": "1029340", - "end": 1123892, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Garrigou : professionalisation de la politique, promotion sociale et financière", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_99950FC3-A79B-9A08-5E90-B2B91B97C844" - }, - { - "begin": "1123892", - "end": 1135827, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "CBroué : mourir pour des idées", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_7DE30BA7-4E61-F41D-9EB8-B2B91B97C4C1" - }, - { - "begin": "1135827", - "end": 1195874, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Archives Radio : Auguste Bodin, mourrir pour 25 francs", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_C588B92E-EB4F-B383-4D50-B2B91B97B4C2" - }, - { - "begin": "1195874", - "end": 1215565, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "C.Broué : geste et figure du député. Emblématique.", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_87A5F46B-9588-4C02-24B6-B2B91B97037A" - }, - { - "begin": "1215565", - "end": 1391433, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Garrigou : mourrir pour des idées est valorisé, grandeur humaine au 19è siècle\nVictor Hugo esthétise Bodin\nSouscription de bodin ou se révèle Gambetta", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_1CF29EC2-1109-25FF-F8D7-B2B91B97944A" - }, - { - "begin": "1391433", - "end": 1451340, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "C.Broué : héros civique, figure disparue,\ndéfense de l'indémnité parlementaire\nl'intérete a repris le dessus sur la politique", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_B3A6C0FE-10B0-91D2-BC98-B2B91B97EC15" - }, - { - "begin": "1451340", - "end": 1539483, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Garrigou : humour de Bodin, \non ne meurt pas pour de l'argent, \nl'argent n'est pas une conviction,\nHéros : héros guerrier, le Saint ou martyr,", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_FE44EC82-002E-3A78-B712-B2B91B975C76" - }, - { - "begin": "1539483", - "end": 1547610, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "C.Broué : Degaulle figure de héros civique ?", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_943F5904-D438-F263-C8B4-B2B91B97608C" - }, - { - "begin": "1547610", - "end": 1659484, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Garrigou : appel à la désobéissance, résistance de Bodin et Résistance de J.Moulin\nhéros civique : personnage anonyme\nca n'est pas le soldat, ni le saint, ni le Grand Homme", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_FBB30EA9-8699-E909-62BA-B2B91B9792C6" - }, - { - "begin": "1659484", - "end": 1720413, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "C.Broué : autonomisation du champs politique par rapport à l'intéret économique.\nperspective contemporaine : tenter de rétablir une certaine morale publique.", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_8F2D73FD-4C22-DE0A-E22A-B2B91B97CA92" - }, - { - "begin": "1720413", - "end": 1773308, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Garrigou : société post-héroique : la politique est une question économique\nsociété d'irresponsabilité,", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_716B6123-2040-71A2-3B8F-B2B91B978EF1" - }, - { - "begin": "1773308", - "end": 1846311, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Gardette : transition\nBelgique a voté. Flamand fait une percée historique. Tsunami politique ?\ninstabilité politique", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_1D64F959-8A86-FD3E-3FD1-B2B91B972648" - }, - { - "begin": "1846311", - "end": 2176406, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Patrick Rogiers : sur les résutats des élections belges", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_D7398F00-E4F5-9692-88D0-B2B91B976204" - }, - { - "begin": "2176406", - "end": 2207985, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Gardette : transition\nC. Broué : montée des nationalismes et séparatismes", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_21BCA9F6-A71C-C601-1247-B2B91B97A664" - }, - { - "begin": "2207985", - "end": 2248713, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Garrigou : sur les séparatismes, narcissisme des petites différences", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_45E25D8E-416B-8158-23DD-B2B91B9745CE" - }, - { - "begin": "2248713", - "end": 2519086, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "H. Gardette : Vuvuzela : tradition et calvaire", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_88FBDAB0-64C7-74B9-7C5A-B2B91B977EC3" - }, - { - "begin": "2519086", - "end": 2540542, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "C.Broué : question à Garrigou : sociologie du sport", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_6506C8B0-AAB0-3678-31FD-B2B91B978702" - }, - { - "begin": "2540542", - "end": 2647121, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Elimination de l'équipe de France\nArgent, politique du foot", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_CB104420-63C8-F957-78CF-B2B91B97D0B0" - }, - { - "begin": "2647121", - "end": 2657384, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "intermède musical", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_1947C9C6-B47F-1544-AD5E-B2B91B97A552" - }, - { - "begin": "2657384", - "end": 3012515, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Antony Bélanger (Courrier International) : Moscou, pièce de théatre à guichet fermé\nTheatre.doc : agonie de l'avocat en prison", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_874A4942-9AA9-CA9A-F595-B2B91B97210A" - }, - { - "begin": "3012515", - "end": 3013515, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:modified": "2010-09-06T15:53:44.626882", - "dc:creator": "perso" - }, - "id": "s_1F7790E7-BC3F-6C87-9B4F-B2B91B9769B6" - }, - { - "begin": "206240", - "end": 316720, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Interview : Alphonse Baudin\n\"comment meurt vos 25 francs\"\nabolitionniste, barricade,Victor Hugo, Victor", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_9CA4F1C6-6FA0-7070-EBCA-B293F1474ECC" - }, - { - "begin": "316720", - "end": 546458, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "actualité de Gardette : \n- Domenech et défaite francaise contre le Mexique\n- La France aura eu besoin de De Gaulle\n- 18 juin : 1815, défaite de waterloo\ndéfaite de Dien Bien \n- Belgique: éléctions et divorce Wallon et Flamands\n- Kirgistan : Pogrom contre les Ouzbeks, 200 morts.\n- Conflits Israélo-palestinien : enquete indépendante\n- Bloody Sunday, London dairy, répression sanglante. Rapport conclut à la seule culpabilité de l'armée britannique", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_F1A706C3-8CFD-8479-FE1A-B293F147FB10" - }, - { - "begin": "546458", - "end": 552728, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "intermède musicale", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_D87336F4-AF1E-1192-AD6F-B293F14750F6" - }, - { - "begin": "552728", - "end": 694963, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Retraite, travail allongé : méthode douce du gouvernement\nTony Eward communicant BP\nCatastrophe dans le Var\nApéro saucisson et pinard interdit\nécrivain portugais Saramago : l'évangile selon Jésus Christ", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_EA074915-79A3-E8C3-A7BD-B293F1472B4A" - }, - { - "begin": "695261", - "end": 725426, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "commentaire Alain Guarigou", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_20B4A5D9-D87C-329A-8D6E-B293F147D954" - }, - { - "begin": "725716", - "end": 784695, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Fond public - fond privé", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_F0A40BE7-0DE5-F4AE-00E7-B293F147C76E" - }, - { - "begin": "784695", - "end": 802807, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Gardette : Francois Fillon veut montrer l'exemple", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_801AE38E-9E88-347D-365A-B293F147FA32" - }, - { - "begin": "802807", - "end": 853566, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Reportage : Fillon et les privilèges des politiques", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_F5F3F6C7-2152-6FCA-3838-B293F147F4A6" - }, - { - "begin": "853566", - "end": 870284, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Caroline Broué à Garrigou : les privilèges ?", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_F01AD8C9-6F7F-0ED8-FCB8-B293F147EAE0" - }, - { - "begin": "870284", - "end": 899309, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "Réponse : privilège du cumul.", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_306A6A5E-BB28-DBB3-1B2C-B293F147B879" - }, - { - "begin": "899309", - "end": 900309, - "tags": null, - "media": "franceculture_retourdudimanche20100620", - "content": { - "mimetype": "application/x-ldt-structured", - "color": "255", - "audio": { - "mimetype": "audio/mp3", - "src": "", - "href": "" - }, - "description": "", - "title": "" - }, - "meta": { - "dc:contributor": "perso", - "id-ref": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:modified": "2010-09-06T15:53:44.675786", - "dc:creator": "perso" - }, - "id": "s_40445FD2-80E5-F9C9-57B8-B293F1472D60" - } - ], - "annotation-types": [ - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Chapitrage Notes", - "id": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", - "dc:created": "2010-09-06T15:53:44.572226", - "dc:description": "", - "dc:modified": "2010-09-06T15:53:44.572226" - }, - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Mes notes", - "id": "c_F6BB72C6-686E-1E8A-D775-B2B91B97C795", - "dc:created": "2010-09-06T15:53:44.626882", - "dc:description": "", - "dc:modified": "2010-09-06T15:53:44.626882" - }, - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Mes notes", - "id": "c_393E05F0-80CC-9D29-A42B-B293F1478831", - "dc:created": "2010-09-06T15:53:44.675786", - "dc:description": "", - "dc:modified": "2010-09-06T15:53:44.675786" - }, - { - "dc:contributor": "perso", - "dc:creator": "perso", - "dc:title": "Chapitrage", - "id": "c_DE60F95E-73B8-922D-3AC7-6FB197A1BF16", - "dc:created": "2010-09-06T15:53:44.699595", - "dc:description": "", - "dc:modified": "2010-09-06T15:53:44.699595" - } - ] -}) \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c sbin/build/client.xml --- a/sbin/build/client.xml Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c sbin/build/compil.bat --- a/sbin/build/compil.bat Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ant -f client.xml \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c sbin/res/compiler.jar Binary file sbin/res/compiler.jar has changed diff -r 5cba2808cde0 -r 2e2989c3072c sbin/res/jquery-1.3.2.externs.js --- a/sbin/res/jquery-1.3.2.externs.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,715 +0,0 @@ -/* - * Copyright 2009 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. - */ - -/** - * @fileoverview Externs for jQuery 1.3.2. - * The externs defined here are in the order of the jQuery documentation pages. - * Note that some functions use different return types depending on the number - * of parameters passed in. In this cases, you may need to annotate the type - * of the result in your code, so the JSCompiler understands which type you're - * expecting. For example: - * var elt = /** @type {Element} * / (foo.get(0)); - * @see http://docs.jquery.com/ -* - */ - -/** - * @param {string|Node|Element|Array.|Function} arg - * @param {(jQueryObject|Document)=} opt_arg - * @return {jQueryObject} - */ -var $ = function(arg, opt_arg) {}; - -var jQuery = {}; - -/** @constructor */ -function jQueryObject() {}; - - -// http://docs.jquery.com/Core - Object accessors - -/** - * @param {Function} callback - * @return {jQueryObject} - */ -jQueryObject.prototype.each = function(callback) {}; - -/** @return {number} */ -jQueryObject.prototype.size = function() {}; - -/** @type {number} */ -jQueryObject.prototype.length; - -/** @return {string} */ -jQueryObject.prototype.selector = function() {}; - -/** @return {Element} */ -jQueryObject.prototype.context = function() {}; - -/** - * @param {number=} opt_index - * @return {Element|Array.} - */ -jQueryObject.prototype.get = function(opt_index) {}; - -/** - * @param {Element|jQueryObject} subject - * @return {number} - */ -jQueryObject.prototype.index = function(subject) {}; - - -// http://docs.jquery.com/Core - Data - -/** - * @param {string} name - * @param {string=} opt_value - * @return {*} - */ -jQueryObject.prototype.data = function(name, opt_value) {}; - -/** - * @param {string} name - * @return {jQueryObject} - */ -jQueryObject.prototype.removeData = function(name) {}; - -/** - * @param {(string|Function|Array.)=} opt_arg1 - * @param {(Function|Array.)=} opt_arg2 - * @return {Array.|jQueryObject} - */ -jQueryObject.prototype.queue = function(opt_arg1, opt_arg2) {}; - -/** - * @param {string=} opt_name - * @return {jQueryObject} - */ -jQueryObject.prototype.dequeue = function(opt_name) {}; - - -// http://docs.jquery.com/Attributes - Attr - -/** - * @param {string|Object} nameOrProperties - * @param {*=} opt_value - * @return {Object|jQueryObject} - */ -jQueryObject.prototype.attr = function(nameOrProperties, opt_value) {}; - -/** - * @param {string} name - * @return {jQueryObject} - */ -jQueryObject.prototype.removeAttr = function(name) {}; - - -// http://docs.jquery.com/Attributes - Class - -/** - * @param {string} klass - * @return {jQueryObject} - */ -jQueryObject.prototype.addClass = function(klass) {}; - -/** - * @param {string} klass - * @return {boolean} - */ -jQueryObject.prototype.hasClass = function(klass) {}; - -/** - * @param {string=} opt_klass - * @return {jQueryObject} - */ -jQueryObject.prototype.removeClass = function(opt_klass) {}; - -/** - * @param {string} klass - * @param {boolean=} opt_switch - * @return {jQueryObject} - */ -jQueryObject.prototype.toggleClass = function(klass, opt_switch) {}; - - -// http://docs.jquery.com/Attributes - HTML, Text, Value - -/** - * @param {string} opt_val - * @return {string|jQueryObject} - */ -jQueryObject.prototype.html = function(opt_val) {}; - -/** - * @param {string=} opt_val - * @return {string|jQueryObject} - */ -jQueryObject.prototype.text = function(opt_val) {}; - -/** - * @param {string|Array.} opt_val - * @return {string|Array|jQueryObject} - */ -jQueryObject.prototype.val = function(opt_val) {}; - - -// http://docs.jquery.com/Traversing - Filtering - -/** - * @param {number} index - * @return {jQueryObject} - */ -jQueryObject.prototype.eq = function(index) {}; - -/** - * @param {string|Function} arg - * @return {jQueryObject} - */ -jQueryObject.prototype.filter = function(arg) {}; - -/** - * @param {string} expr - * @return {boolean} - */ -jQueryObject.prototype.is = function(expr) {}; - -/** - * @param {Function} callback - * @return {jQueryObject} - */ -jQueryObject.prototype.map = function(callback) {}; - -/** - * @param {string} expr - * @return {jQueryObject} - */ -jQueryObject.prototype.not = function(expr) {}; - -/** - * @param {number} start - * @param {number=} opt_end - * @return {jQueryObject} - */ -jQueryObject.prototype.slice = function(start, opt_end) {}; - - -// http://docs.jquery.com/Traversing - Finding, Chaining - -/** - * @param {string|Element|Array.} expr - * @return {jQueryObject} - */ -jQueryObject.prototype.add = function(expr) {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.children = function(opt_expr) {}; - -/** - * @param {string} expr - * @return {jQueryObject} - */ -jQueryObject.prototype.closest = function(expr) {}; - -/** - * @return {jQueryObject} - */ -jQueryObject.prototype.contents = function() {}; - -/** - * @param {string} expr - * @return {jQueryObject} - */ -jQueryObject.prototype.find = function(expr) {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.next = function(opt_expr) {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.nextAll = function(opt_expr) {}; - -/** - * @return {jQueryObject} - */ -jQueryObject.prototype.offsetParent = function() {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.parent = function(opt_expr) {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.parents = function(opt_expr) {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.prev = function(opt_expr) {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.prevAll = function(opt_expr) {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.siblings = function(opt_expr) {}; - -/** - * @return {jQueryObject} - */ -jQueryObject.prototype.andSelf = function() {}; - -/** - * @return {jQueryObject} - */ -jQueryObject.prototype.end = function() {}; - - -// http://docs.jquery.com/Manipulation - -/** - * @param {string|Node|Element|jQueryObject} content - * @return {jQueryObject} - */ -jQueryObject.prototype.append = function(content) {}; - -/** - * @param {string} selector - * @return {jQueryObject} - */ -jQueryObject.prototype.appendTo = function(selector) {}; - -/** - * @param {string|Node|Element|jQueryObject} content - * @return {jQueryObject} - */ -jQueryObject.prototype.prepend = function(content) {}; - -/** - * @param {string} selector - * @return {jQueryObject} - */ -jQueryObject.prototype.prependTo = function(selector) {}; - -/** - * @param {string|Node|Element|jQueryObject} content - * @return {jQueryObject} - */ -jQueryObject.prototype.after = function(content) {}; - -/** - * @param {string|Node|Element|jQueryObject} content - * @return {jQueryObject} - */ -jQueryObject.prototype.before = function(content) {}; - -/** - * @param {string} selector - * @return {jQueryObject} - */ -jQueryObject.prototype.insertAfter = function(selector) {}; - -/** - * @param {string} selector - * @return {jQueryObject} - */ -jQueryObject.prototype.insertBefore = function(selector) {}; - -/** - * @param {string|Element} arg - * @return {jQueryObject} - */ -jQueryObject.prototype.wrap = function(arg) {}; - -/** - * @param {string|Element} arg - * @return {jQueryObject} - */ -jQueryObject.prototype.wrapAll = function(arg) {}; - -/** - * @param {string|Element} arg - * @return {jQueryObject} - */ -jQueryObject.prototype.wrapInner = function(arg) {}; - -/** - * @param {string|Node|Element|jQueryObject} content - * @return {jQueryObject} - */ -jQueryObject.prototype.replaceWith = function(content) {}; - -/** - * @param {string} selector - * @return {jQueryObject} - */ -jQueryObject.prototype.replaceAll = function(selector) {}; - -/** - * @return {jQueryObject} - */ -jQueryObject.prototype.empty = function() {}; - -/** - * @param {string=} opt_expr - * @return {jQueryObject} - */ -jQueryObject.prototype.remove = function(opt_expr) {}; - -/** - * @param {boolean=} opt_cloneEvents - * @return {jQueryObject} - */ -jQueryObject.prototype.clone = function(opt_cloneEvents) {}; - - -// http://docs.jquery.com/CSS - -/** - * @param {string|Object} nameOrProperties - * @param {(string|number|Function)=} opt_value - * @return {Object|jQueryObject|string} - */ -jQueryObject.prototype.css = function(nameOrProperties, opt_value) {}; - -/** - * @return {Object} - */ -jQueryObject.prototype.offset = function() {}; - -/** - * @return {Object} - */ -jQueryObject.prototype.position = function() {}; - -/** - * @param {number=} opt_val - * @return {number|jQueryObject} - */ -jQueryObject.prototype.scrollTop = function(opt_val) {}; - -/** - * @param {number=} opt_val - * @return {number|jQueryObject} - */ -jQueryObject.prototype.scrollLeft = function(opt_val) {}; - -/** - * @param {number=} opt_val - * @return {number|jQueryObject} - */ -jQueryObject.prototype.height = function(opt_val) {}; - -/** - * @param {number=} opt_val - * @return {number|jQueryObject} - */ -jQueryObject.prototype.width = function(opt_val) {}; - -/** - * @return {number} - */ -jQueryObject.prototype.innerHeight = function() {}; - -/** - * @return {number} - */ -jQueryObject.prototype.innerWidth = function() {}; - -/** - * @param {boolean=} opt_margin - * @return {number} - */ -jQueryObject.prototype.outerHeight = function(opt_margin) {}; - -/** - * @param {boolean=} opt_margin - * @return {number} - */ -jQueryObject.prototype.outerWidth = function(opt_margin) {}; - - -// http://docs.jquery.com/Events - -/** - * @param {string} type - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.live = function(type, fn) {}; - -/** - * @param {string=} opt_type - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.die = function(opt_type, opt_fn) {}; - -/** - * @param {Function} over - * @param {Function} out - * @return {jQueryObject} - */ -jQueryObject.prototype.hover = function(over, out) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.blur = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.change = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.click = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.dblclick = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.error = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.focus = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.keydown = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.keypress = function(opt_fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.keyup = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.load = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.mousedown = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.mouseenter = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.mouseleave = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.mousemove = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.mouseout = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.mouseover = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.mouseup = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.resize = function(fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.scroll = function(fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.select = function(opt_fn) {}; - -/** - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.submit = function(opt_fn) {}; - -/** - * @param {Function} fn - * @return {jQueryObject} - */ -jQueryObject.prototype.unload = function(fn) {}; - - -// http://docs.jquery.com/Effects - -/** - * @param {(number|string)=} opt_speed - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.show = function(opt_speed, opt_fn) {}; - -/** - * @param {(number|string)=} opt_speed - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.hide = function(opt_speed, opt_fn) {}; - -/** - * toggle() is defined as both an event and an effect... sigh. - * @param {(Function|boolean|number|string)=} opt_arg1 - * @param {Function=} opt_fn2 - * @param {...Function} var_args - * @return {jQueryObject} - */ -jQueryObject.prototype.toggle = function(opt_arg1, opt_fn2, var_args) {}; - -/** - * @param {(number|string)=} opt_speed - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.slideDown = function(opt_speed, opt_fn) {}; - -/** - * @param {(number|string)=} opt_speed - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.slideUp = function(opt_speed, opt_fn) {}; - -/** - * @param {(number|string)=} opt_speed - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.slideToggle = function(opt_speed, opt_fn) {}; - -/** - * @param {(number|string)=} opt_speed - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.fadeIn = function(opt_speed, opt_fn) {}; - -/** - * @param {(number|string)=} opt_speed - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.fadeOut = function(opt_speed, opt_fn) {}; - -/** - * @param {(number|string)=} opt_speed - * @param {number=} opt_opacity - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.fadeTo = function(opt_speed, opt_opacity, opt_fn) {}; - -/** - * @param {Object} params - * @param {(number|string|Object)=} opt_durationOrOptions - * @param {string=} opt_easing - * @param {Function=} opt_fn - * @return {jQueryObject} - */ -jQueryObject.prototype.animate = function( - params, opt_durationOrOptions, opt_easing, opt_fn) {}; - -/** - * @param {boolean} opt_clearQueue - * @param {boolean} opt_gotoEnd - * @return {jQueryObject} - */ -jQueryObject.prototype.stop = function(opt_clearQueue, opt_gotoEnd) {}; - -jQuery.fx = {}; - -/** @type {boolean} */ -jQuery.fx.off; - -// http://docs.jquery.com/Utilities - -/** - * @param {number|string|Object} value - * @param {Array} array - * @return {number} - */ -jQueryObject.prototype.inArray = function(value, array) {}; diff -r 5cba2808cde0 -r 2e2989c3072c sql/update_db_00_03_to_00_04.1.sql --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sql/update_db_00_03_to_00_04.1.sql Wed Mar 23 17:34:36 2011 +0100 @@ -0,0 +1,2 @@ +ALTER TABLE ldt_utils_media + ADD COLUMN mimetype_field character varying(512); \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c sql/update_db_00_03_to_00_04.2.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sql/update_db_00_03_to_00_04.2.py Wed Mar 23 17:34:36 2011 +0100 @@ -0,0 +1,15 @@ +#! /usr/bin/env python + +from django.core.management import setup_environ +from ldtplatform import settings + +setup_environ(settings) + + +from ldt.ldt_utils.models import Media + +for media in Media.objects.all(): + mimetype = media.mimetype + if not media.mimetype_field and mimetye: + media.mimetype_field = minetype + media.save() diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/MANIFEST.in --- a/src/ldt/MANIFEST.in Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -include *.txt -recursive-include docs *.txt diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/.htaccess --- a/src/ldt/ldt/.htaccess Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -SetEnv DJANGO_SETTINGS_MODULE ldt.settings -SetEnv PY_USE_XMLPLUS true -SetEnv PROJECT_PATH /iridata/users/wakimd/hg/franceculture/web -SetEnv PYTHON_PATH /iridata/users/wakimd/Env/Efculture/lib/python2.6/site-packages - -Options ExecCGI FollowSymLinks -SetHandler wsgi-script - -RewriteEngine On -RewriteCond %{REQUEST_FILENAME} !-f -RewriteRule ^(.*)$ /dev/~wakimd/franceculture/franceculture/modwsgi.wsgi/$1 [QSA,PT,L] - -Header set Pragma "no-cache" -Header set Cache-Control "no-cache" -Header set Expires "-1" - diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/.htaccess.tmpl --- a/src/ldt/ldt/.htaccess.tmpl Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -SetHandler python-program -PythonPath "['D:/wuj/dev/ldt', 'D:/wuj/dev/ldt/lib'] + sys.path" -PythonHandler django.core.handlers.modpython -SetEnv DJANGO_SETTINGS_MODULE ldt.settings -SetEnv PY_USE_XMLPLUS true -PythonInterpreter ldt -PythonOption django.root /dev/ldt/ldt -PythonDebug on -Header set Pragma "no-cache" -Header set Cache-Control "no-cache" -Header set Expires "-1" \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/admin.py --- a/src/ldt/ldt/ldt_utils/admin.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/admin.py Wed Mar 23 17:34:36 2011 +0100 @@ -1,15 +1,15 @@ +from django.conf import settings +from django.conf.urls.defaults import * from django.contrib import admin -from django.conf.urls.defaults import * from django.shortcuts import render_to_response from django.template import RequestContext -from django.conf import settings -from models import * +from fileimport import * from forms import * -from fileimport import * -from ldt.ldt_utils import STORE -from ldt.ldt_utils import ANALYZER +from ldt.ldt_utils import ANALYZER, STORE +from ldt.ldt_utils.contentindexer import ContentIndexer +from models import * +import lucene -import lucene admin.site.register(Project) diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/contentindexer.py --- a/src/ldt/ldt/ldt_utils/contentindexer.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/contentindexer.py Wed Mar 23 17:34:36 2011 +0100 @@ -1,18 +1,9 @@ -import tempfile -import os -import os.path -from ldt.utils import zipfileext -import urllib +from django.conf import settings +from ldt.ldt_utils.models import Segment +import lucene +import lxml.etree +import urllib # import ldt.utils.log -import ldt.utils.xml -from django.conf import settings -from models import Content -import fnmatch -import uuid -import lucene -from ldt.ldt_utils import STORE -from ldt.ldt_utils import ANALYZER -import lxml.etree def Property(func): return property(**func()) diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/fileimport.py --- a/src/ldt/ldt/ldt_utils/fileimport.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/fileimport.py Wed Mar 23 17:34:36 2011 +0100 @@ -5,6 +5,7 @@ from models import Content, Media import fnmatch import lxml.etree +import mimetypes import os.path import shutil import tempfile @@ -48,7 +49,7 @@ # for just import a file ldt and get the title for every media if 'http' in self.src: #url = urllib.urlopen(self.src) - path = url + path = self.src #doc = xml.dom.minidom.parse(url) #for import a zip, get title and copy file .iri in the media directory else: @@ -139,7 +140,7 @@ def saveContent(self): - defaults_media = {'src':unicode(self.videourl), 'title':unicode(self.title), 'description':unicode(self.desc), 'videopath': unicode(self.videopath.rstrip("/") + "/")} + defaults_media = {'src':unicode(self.videourl), 'mimetype_field': mimetypes.guess_type(self.videourl), 'title':unicode(self.title), 'description':unicode(self.desc), 'videopath': unicode(self.videopath.rstrip("/") + "/")} media, media_created = Media.objects.get_or_create(src=unicode(self.videourl), defaults=defaults_media) if not media_created: for key, value in defaults_media.items(): diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/models.py Wed Mar 23 17:34:36 2011 +0100 @@ -11,6 +11,7 @@ import os.path import tagging.fields import uuid +import mimetypes class Author(models.Model): @@ -26,7 +27,7 @@ external_id = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('media.external_id')) external_permalink = models.URLField(max_length=1024, verify_exists=False, null=True, blank=True, verbose_name=_('media.external_permalink')) external_publication_url = models.URLField(max_length=1024, verify_exists=True, null=True, blank=True, verbose_name=_('media.external_publication_url')) - external_src_url = models.URLField(max_length=1024, verify_exists=False, null=True, blank=True, verbose_name=_('media.external_src_url')) + external_src_url = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('media.external_src_url')) creation_date = models.DateTimeField(auto_now_add=True, verbose_name=_('media.creation_date')) media_creation_date = models.DateTimeField(null=True, blank=True, verbose_name=_('media.media_creation_date')) update_date = models.DateTimeField(auto_now=True, verbose_name=_('media.update_date')) @@ -36,6 +37,22 @@ description = models.TextField(null=True, blank=True, verbose_name=_('description')) title = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('title')) src = models.CharField(max_length=1024, unique=True, verbose_name=_('media.src')) + mimetype_field = models.CharField(max_length=512,null=True, blank=True, verbose_name=_('media.mimetype')) + + def mimetype(): #@NoSelf + def fget(self): + if self.mimetype_field : + return self.mimetype_field + elif self.src: + return mimetypes.guess_type(self.src.rstrip()) + else: + return None + + def fset(self,value): + self.mimetype_field = value + + return locals() + mimetype = property(**mimetype()) def stream_src(): #@NoSelf @@ -101,6 +118,16 @@ self.save() return self.duration + def mimetype(): #@NoSelf + def fget(self): + if self.media_obj: + return self.media_obj.mimetype + else: + return None + return locals() + + mimetype = property(**mimetype()) + def delete(self): super(Content, self).delete() writer = lucene.IndexWriter(STORE, ANALYZER, True, lucene.IndexWriter.MaxFieldLength.UNLIMITED) @@ -279,7 +306,31 @@ return res[0].get(u'abstract') else: return None - + + def stream_mode(): #@NoSelf + def fget(self): + modes = [] + for content in self.contents.all(): + mimetype = content.mimetype + if mimetype: + mode = mimetype.split("/")[0] + if "audio" == mode or "video" == mode: + modes.append(mode) + else: + modes.append("video") + else: + modes.append("video") + def filter_video(current, item): + if not current: + return item + elif current == item: + return item + else: + return "video" + return reduce(filter_video, modes) + return locals() + + stream_mode = property(**stream_mode()) @staticmethod def create_project(user, title, contents): diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/content_list.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/content_list.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/content_list.html Wed Mar 23 17:34:36 2011 +0100 @@ -6,39 +6,39 @@ diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html Wed Mar 23 17:34:36 2011 +0100 @@ -1,19 +1,24 @@ +{% extends "ldt/ldt_raw_base.html" %} + {% load i18n %} {# form of copy of project ldt #} - - - - - - - -
    -
    {% trans "Copy your project" %}
    - -
    {% csrf_token %} - - -
    -
    - - +{% block css_import %} + {{ block.super }} + + + +{% endblock %} +{% block body %} +
    +
    {% trans "Copy your project" %}
    + +
    {% csrf_token %} +
    + + +
    +
    + +
    +
    +
    +{% endblock %} diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Wed Mar 23 17:34:36 2011 +0100 @@ -8,6 +8,7 @@ + {{ content_form.media.js }} {% endblock %} @@ -25,7 +26,7 @@ $(document).ready(function() { $("#close_button").click(function (e) { e.preventDefault(); - parent.$.nyroModalRemove(); + parent.$.nmTop().close(); }); $("#submit_button_write").click(function(e) { $(".submitcontent-loader-content").show(); @@ -36,7 +37,28 @@ $(".media_fields").hide(); $("#media_field_"+$(e.target).val()).show(); }); + // The textinput's id for external url is id_media-src + $('#id_media-src').bind('textchange', function(e) { testUrlValue(e); }); }); + function testUrlValue(e){ + // First, we remove the current thumbnail if there is one. + if($('#media_field_create').children().size()>2){ + $('#external_thumbnail').remove(); + $('#media_fields_div').height(50); + } + // If the pasted text is a youtube url, we get the default thumbnail of the video and display it. + url = $('#id_media-src').val(); + if(url.match("youtube") && url.match("[\\?&]v=([^&#]*)")){ + results = url.match("[\\?&]v=([^&#]*)"); + vid = ( results === null ) ? url : results[1].substring(0,11); + if(vid.length===11){ + //$('#id_content-description').val($('#media_field_create') + 'Youtube Thumbnail'); + $('#media_field_create').append('Youtube Thumbnail'); + $('#media_fields_div').height(150); + } + } + } + {% endblock %} diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Wed Mar 23 17:34:36 2011 +0100 @@ -23,7 +23,7 @@ $(document).ready(function() { $("#close_button").click(function (e) { e.preventDefault(); - parent.$.nyroModalRemove(); + parent.$.nmTop().close(); }); }); @@ -32,7 +32,7 @@ {% block body %}
    {% if ldt_id %}{% trans "Update your project" %}{% else %}{% trans "Create your project" %}{% endif %}
    -
    + {% csrf_token %} diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html Wed Mar 23 17:34:36 2011 +0100 @@ -18,7 +18,7 @@ diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt.html Wed Mar 23 17:34:36 2011 +0100 @@ -6,43 +6,20 @@ Ligne de Temps - IRI - + + - -
     
    - +{% include "ldt/ldt_utils/partial/ldt_div.html" %} diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt_full.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt_full.html Wed Mar 23 17:34:36 2011 +0100 @@ -0,0 +1,26 @@ +{% extends "ldt/ldt_utils/workspace_base.html" %} +{% load i18n %} + +{% block js_import %} + {{block.super}} + +{% endblock %} + + +{% block content %} + {% include "ldt/ldt_utils/partial/ldt_div.html" %} +{% endblock %} + diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html Wed Mar 23 17:34:36 2011 +0100 @@ -11,9 +11,9 @@ src:'{{ json_url }}', load:'jsonp'}, gui:{ - width:650, - height:1, - mode:'radio', + width:{{ player_width }}, + height:{{ player_height }}, + mode:'{{ stream_mode }}', container:'{{ player_id }}_embed', debug:false, css:'{{WEB_URL}}{{LDT_MEDIA_PREFIX}}css/LdtPlayer.css'}, diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/ldt_div.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/ldt_div.html Wed Mar 23 17:34:36 2011 +0100 @@ -0,0 +1,38 @@ +{% comment %} +Yes we include swfobject.js in the middle of the page... +{% endcomment %} + +
     
    + + diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Wed Mar 23 17:34:36 2011 +0100 @@ -9,7 +9,11 @@ {% for project in projects %} {% url ldt.ldt_utils.views.project_json_id project.ldt_id as json_url_id %} -
    {% trans 'open ldt' %}
    + {% if is_gecko %} +
    {% trans 'open ldt' %}
    + {% else %} +
    {% trans 'open ldt' %}
    + {% endif %}
    {% trans 'copy project' %}
    {% trans 'link json by id' %}
    diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html Wed Mar 23 17:34:36 2011 +0100 @@ -3,7 +3,7 @@ {% block js_import %} {{block.super}} - + {% endblock %} @@ -20,21 +20,20 @@ function init_events(base_node) { init_events_all(base_node, "{% url ldt.ldt_utils.views.popup_embed %}", content_filter_url, project_filter_url, publish_project_url, unpublish_project_url); - + } -$(document).ready(function(){ - +$(document).ready(function(){ + input_list_init = [ {'input_selector':"#searchcontentsinput", 'container_selector':"#contentslistcontainer", 'url':content_filter_url}, {'input_selector':"#searchprojectsinput", 'container_selector':"#projectslistcontainer", 'url':project_filter_url} ]; - + searchFieldInit(input_list_init); - + init_events(document); - }); diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/urls.py --- a/src/ldt/ldt/ldt_utils/urls.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/urls.py Wed Mar 23 17:34:36 2011 +0100 @@ -40,6 +40,7 @@ url(r'^space/content/update/(?P[\w-]+)$', 'views.write_content'), url(r'^space/ldt/$', 'views.list_ldt'), url(r'^space/ldt/indexproject/(?P.*)$', 'views.indexProject'), + url(r'^space/ldt/indexprojectfull/(?P.*)$', 'views.indexProjectFull'), url(r'^space/ldt/init/(?P.*)/(?P.+)$', 'views.init', name='space_ldt_init'), url(r'^space/ldt/project/(?P.*)$', 'views.ldtProject'), url(r'^space/ldt/create/$', 'views.create_ldt_view'), diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/ldt_utils/views.py --- a/src/ldt/ldt/ldt_utils/views.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/views.py Wed Mar 23 17:34:36 2011 +0100 @@ -23,7 +23,6 @@ from ldt.ldt_utils.models import Content, Project, Owner from ldt.ldt_utils.projectserializer import ProjectSerializer from ldt.ldt_utils.utils import boolean_convert -from lxml import etree from lxml.html import fromstring, fragment_fromstring from models import * from projectserializer import * @@ -52,10 +51,13 @@ # get list of projects project_list = Project.objects.all() - + + is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1); + # render list return render_to_response("ldt/ldt_utils/workspace.html", - {'contents': content_list, 'projects': project_list}, + {'contents': content_list, 'projects': project_list, + 'is_gecko': is_gecko}, context_instance=RequestContext(request)) @@ -68,18 +70,32 @@ project = Project.objects.get(ldt_id=ldt_id); + stream_mode = project.stream_mode + if stream_mode != "video": + stream_mode = 'radio' + + player_width = 650 + player_height = 480 + + if stream_mode == 'radio': + player_height = 1 + if not ldt_auth.checkAccess(request.user, project): return HttpResponseForbidden(_("You can not access this project")) ps = ProjectSerializer(project, from_contents=False, from_display=True) annotations = ps.getAnnotations(first_cutting=True) + + rend_dict = {'json_url':json_url, 'player_id':player_id, 'annotations':annotations, 'ldt_id': ldt_id, 'stream_mode': stream_mode, 'player_width': player_width, 'player_height': player_height} embed_rendered = dict((typestr, - (lambda s:escape(lxml.etree.tostring(fragment_fromstring(render_to_string("ldt/ldt_utils/partial/embed_%s.html" % (s), {'json_url':json_url, 'player_id':player_id, 'annotations':annotations, 'ldt_id': ldt_id}, context_instance=RequestContext(request))), pretty_print=True)))(typestr)) + (lambda s:escape(lxml.etree.tostring(fragment_fromstring(render_to_string("ldt/ldt_utils/partial/embed_%s.html" % (s), rend_dict, context_instance=RequestContext(request))), pretty_print=True)))(typestr)) for typestr in ('player', 'seo_body', 'seo_meta', 'links')) + rend_dict['embed_rendered'] = embed_rendered + return render_to_response("ldt/ldt_utils/embed_popup.html", - {'json_url':json_url, 'player_id':player_id, 'embed_rendered':embed_rendered, 'annotations':annotations, 'ldt_id' : ldt_id}, + rend_dict, context_instance=RequestContext(request)) @@ -87,7 +103,6 @@ @login_required def projectsfilter(request, filter, is_owner=False, status=0): - project_list = None is_owner = boolean_convert(is_owner) status = int(status) query = Q() @@ -219,13 +234,13 @@ for resultMap in res: if iri_ids is None or resultMap['iri_id'] in iri_ids: - seg = etree.SubElement(iri, 'seg') - seg.set('idctt', resultMap['iri_id']) + seg = lxml.etree.SubElement(iri, 'seg') + seg.set('idctt', resultMap['iri_id']) seg.set('idens', resultMap['ensemble_id']) seg.set('iddec', resultMap['decoupage_id']) seg.set('idseg', resultMap['element_id']) seg.set('idvue', "") - seg.set('crit', "") + seg.set('crit', "") return doc @@ -289,6 +304,20 @@ return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': urlStr, 'posturl': posturl, 'id': id, 'readonly': readonly}, context_instance=RequestContext(request)) +def indexProjectFull(request, id): + + urlStr = settings.WEB_URL + reverse("space_ldt_init", args=['ldtProject', id]) + posturl = settings.WEB_URL + reverse("ldt.ldt_utils.views.save_ldtProject") + language_code = request.LANGUAGE_CODE[:2] + + ldt = get_object_or_404(Project, ldt_id=id) + if ldt.state == 2: #published + readonly = 'true' + else: + readonly = 'false' + + return render_to_response('ldt/ldt_utils/init_ldt_full.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': urlStr, 'posturl': posturl, 'id': id, 'readonly': readonly}, context_instance=RequestContext(request)) + def init(request, method, url): ldtgen = LdtUtils() @@ -298,7 +327,7 @@ resp['Cache-Control'] = 'no-cache, must-revalidate' resp['Pragma'] = 'no-cache' - resp.write(etree.tostring(doc, pretty_print=True, xml_declaration=True, encoding="utf-8")) + resp.write(lxml.etree.tostring(doc, pretty_print=True, xml_declaration=True, encoding="utf-8")) return resp def ldtProject(request, id): @@ -397,7 +426,7 @@ dc = u"{%s}" % dc_ns nsmap = {u'rdf' : rdf_ns, u'dc':dc_ns} - rdf_root = etree.Element(rdf + u"RDF", nsmap=nsmap) + rdf_root = lxml.etree.Element(rdf + u"RDF", nsmap=nsmap) logging.debug("RDF annotations : " + repr(annotations)) @@ -405,21 +434,21 @@ uri = u"" if 'uri' in annotation and annotation['uri']: uri = unicode(annotation['uri']) - annot_desc = etree.SubElement(rdf_root, rdf + u"Description") + annot_desc = lxml.etree.SubElement(rdf_root, rdf + u"Description") annot_desc.set(rdf + u'about', uri) if annotation['title']: - etree.SubElement(annot_desc, dc + 'title').text = etree.CDATA(unicode(annotation['title'])) + lxml.etree.SubElement(annot_desc, dc + 'title').text = lxml.etree.CDATA(unicode(annotation['title'])) if annotation['desc']: - etree.SubElement(annot_desc, dc + 'description').text = etree.CDATA(unicode(annotation['desc'])) + lxml.etree.SubElement(annot_desc, dc + 'description').text = lxml.etree.CDATA(unicode(annotation['desc'])) if annotation['tags']: for tag in annotation['tags']: - etree.SubElement(annot_desc, dc + 'subject').text = etree.CDATA(unicode(tag)) - etree.SubElement(annot_desc, dc + 'coverage').text = u"start=%s, duration=%s" % (annotation['begin'], annotation['duration']) + lxml.etree.SubElement(annot_desc, dc + 'subject').text = lxml.etree.CDATA(unicode(tag)) + lxml.etree.SubElement(annot_desc, dc + 'coverage').text = u"start=%s, duration=%s" % (annotation['begin'], annotation['duration']) resp.write(u"\n") resp.write(u"\n") - resp.write(etree.tostring(rdf_root, xml_declaration=False, encoding="utf-8", pretty_print=True)) + resp.write(lxml.etree.tostring(rdf_root, xml_declaration=False, encoding="utf-8", pretty_print=True)) return resp @@ -429,7 +458,7 @@ id = request.POST['id'] ldtproject = Project.objects.get(ldt_id=id) - #save xml ldt + #save xml ldt ldtproject.ldt = ldt @@ -505,7 +534,7 @@ def loading(request): - return render_to_response('ldt/ldt_utils/loading.html', context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/loading.html', context_instance=RequestContext(request)) @login_required @@ -518,10 +547,17 @@ if form.is_valid(): user = request.user project = Project.create_project(title=form.cleaned_data['title'], user=user, contents=contents) - return HttpResponseRedirect(reverse('ldt.ldt_utils.views.indexProject', args=[project.ldt_id])) + # Modal window is not used with firefox + is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1); + if is_gecko : + return HttpResponseRedirect(reverse('ldt.ldt_utils.views.indexProjectFull', args=[project.ldt_id])) + else: + return HttpResponseRedirect(reverse('ldt.ldt_utils.views.indexProject', args=[project.ldt_id])) else: form = AddProjectForm() - return render_to_response('ldt/ldt_utils/create_ldt.html', {'form':form, 'contents':contents, 'create_project_action':reverse("ldt.ldt_utils.views.create_project", args=[iri_id])}, context_instance=RequestContext(request)) + # Modal window is not used with firefox, so we ask to submit the form in _parent in firefox case. + target_parent = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1); + return render_to_response('ldt/ldt_utils/create_ldt.html', {'form':form, 'contents':contents, 'create_project_action':reverse("ldt.ldt_utils.views.create_project", args=[iri_id]), 'target_parent':target_parent}, context_instance=RequestContext(request)) @login_required def update_project(request, ldt_id): @@ -629,6 +665,7 @@ # see if media must be created cleaned_data = {} cleaned_data.update(media_form.cleaned_data) + media_input_type = content_form.cleaned_data["media_input_type"] @@ -647,7 +684,6 @@ #complet src destination_file = None source_file = None - destination_file_path = None try: if media_input_type == "url": url = cleaned_data["external_src_url"] @@ -707,21 +743,23 @@ del cleaned_data["media_file"] if not cleaned_data['videopath']: cleaned_data['videopath'] = settings.STREAM_URL + mimetype = cleaned_data.get('mimetype_field',None) + if not mimetype: + mimetype = mimetypes.guess_type(cleaned_data['src']) + cleaned_data['mimetype_field'] = mimetype media, created = Media.objects.get_or_create(src=cleaned_data['src'], defaults=cleaned_data) else: media = None - if media and not created: + if media and not created: for attribute in ('external_id', 'external_permalink', 'external_publication_url', 'external_src_url', 'media_creation_date', 'videopath', 'duration', 'description', 'title'): setattr(media, attribute, cleaned_data.get(attribute)) + mimetype = cleaned_data.get('mimetype_field',None) + if not mimetype: + mimetype = mimetypes.guess_type(media.src) + media.mimetype_field = mimetype + media.save() - #except Exception as inst: -# logging.debug("write_content_base : POST error when saving media:" + str(inst)) - # form_status = "error" - #TODO: set error message - #media_form.errors = _("Error when saving the media : " + e.message) - - #if needed preparetemp file and copy temp file to destination if form_status != "error": @@ -739,10 +777,6 @@ form_status = 'saved' media_form = MediaForm(instance=media, prefix="media") content_form = ContentForm(instance=content, prefix="content") - #except: - #logging.debug("write_content_base : POST error when saving content:" + str(inst)) - #form_status = "error" - #TODO : set error on content form else: form_status = 'error' else: diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/locale/en/LC_MESSAGES/django.mo Binary file src/ldt/ldt/locale/en/LC_MESSAGES/django.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/locale/en/LC_MESSAGES/django.po --- a/src/ldt/ldt/locale/en/LC_MESSAGES/django.po Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/locale/en/LC_MESSAGES/django.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,199 +7,203 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-27 15:49+0100\n" +"POT-Creation-Date: 2011-03-03 15:12+0100\n" "PO-Revision-Date: 2010-02-17 03:53+0100\n" "Last-Translator: Yves-Marie Haussonne \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" -#: forms/widgets.py:17 +#: .\forms\widgets.py:17 msgid "Date" msgstr "Date" -#: forms/widgets.py:17 +#: .\forms\widgets.py:17 msgid "Time" msgstr "Time" -#: ldt_utils/forms.py:43 ldt_utils/models.py:82 +#: .\ldt_utils\forms.py:43 .\ldt_utils\models.py:100 msgid "content.content_creation_date" msgstr "content creation date" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "content.media_input_type" msgstr "Media source type" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "file_upload" msgstr "file upload" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "url" msgstr "url" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "existing_media" msgstr "existing media" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "create_media" msgstr "create media" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "none_media" msgstr "no media" -#: ldt_utils/models.py:25 +#: .\ldt_utils\models.py:27 msgid "media.external_id" msgstr "external id" -#: ldt_utils/models.py:26 +#: .\ldt_utils\models.py:28 msgid "media.external_permalink" msgstr "media permalink" -#: ldt_utils/models.py:27 +#: .\ldt_utils\models.py:29 msgid "media.external_publication_url" msgstr "media publication url" -#: ldt_utils/models.py:28 +#: .\ldt_utils\models.py:30 msgid "media.external_src_url" msgstr "media external source url" -#: ldt_utils/models.py:29 +#: .\ldt_utils\models.py:31 msgid "media.creation_date" msgstr "media object creation date" -#: ldt_utils/models.py:30 +#: .\ldt_utils\models.py:32 msgid "media.media_creation_date" msgstr "media creation date" -#: ldt_utils/models.py:31 +#: .\ldt_utils\models.py:33 msgid "media.update_date" msgstr "update date" -#: ldt_utils/models.py:32 +#: .\ldt_utils\models.py:34 msgid "media.videopath" msgstr "videopath" -#: ldt_utils/models.py:33 +#: .\ldt_utils\models.py:35 msgid "media.duration" msgstr "duration (ms)" -#: ldt_utils/models.py:34 +#: .\ldt_utils\models.py:36 msgid "media.creator" msgstr "media creator" -#: ldt_utils/models.py:35 +#: .\ldt_utils\models.py:37 msgid "description" msgstr "description" -#: ldt_utils/models.py:36 -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:69 +#: .\ldt_utils\models.py:38 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:69 msgid "title" msgstr "Title" -#: ldt_utils/models.py:37 +#: .\ldt_utils\models.py:39 msgid "media.src" msgstr "media source" -#: ldt_utils/models.py:74 +#: .\ldt_utils\models.py:40 +msgid "media.mimetype" +msgstr "mimetype" + +#: .\ldt_utils\models.py:92 msgid "content.iri_id" msgstr "iri id" -#: ldt_utils/models.py:75 +#: .\ldt_utils\models.py:93 msgid "content.iriurl" msgstr "iri url" -#: ldt_utils/models.py:76 +#: .\ldt_utils\models.py:94 msgid "content.creation_date" msgstr "content creation date" -#: ldt_utils/models.py:77 +#: .\ldt_utils\models.py:95 msgid "content.update_date" msgstr "content update date" -#: ldt_utils/models.py:78 +#: .\ldt_utils\models.py:96 msgid "content.title" msgstr "title" -#: ldt_utils/models.py:79 +#: .\ldt_utils\models.py:97 msgid "content.description" msgstr "description" -#: ldt_utils/models.py:80 +#: .\ldt_utils\models.py:98 msgid "content.authors" msgstr "authors" -#: ldt_utils/models.py:81 +#: .\ldt_utils\models.py:99 msgid "content.duration" msgstr "duration (ms)" -#: ldt_utils/models.py:260 +#: .\ldt_utils\models.py:288 msgid "created by" msgstr "created by" -#: ldt_utils/models.py:261 +#: .\ldt_utils\models.py:289 msgid "changed by" msgstr "changed by" -#: ldt_utils/views.py:72 ldt_utils/views.py:332 ldt_utils/views.py:378 +#: .\ldt_utils\views.py:81 .\ldt_utils\views.py:358 .\ldt_utils\views.py:404 msgid "You can not access this project" msgstr "You can not access this project" -#: ldt_utils/views.py:536 +#: .\ldt_utils\views.py:562 #, python-format msgid "the project %(title)s is published. please unpublish before deleting." msgstr "the project %(title)s is published. please unpublish before deleting." -#: ldt_utils/views.py:537 +#: .\ldt_utils\views.py:563 msgid "can not delete the project. Please correct the following error" msgstr "can not delete the project. Please correct the following error" -#: ldt_utils/views.py:538 +#: .\ldt_utils\views.py:564 msgid "title error deleting project" msgstr "Error when deleting project" -#: ldt_utils/views.py:540 +#: .\ldt_utils\views.py:566 #, python-format msgid "please confirm deleting project %(title)s" msgstr "Please confirm deleting project %(title)s" -#: ldt_utils/views.py:541 +#: .\ldt_utils\views.py:567 msgid "confirm deletion" msgstr "Confirm deletion" -#: ldt_utils/views.py:695 +#: .\ldt_utils\views.py:721 msgid "Problem when downloading file from url : " msgstr "Problem when downloading file from url: " -#: ldt_utils/views.py:698 +#: .\ldt_utils\views.py:724 msgid "Problem when uploading file : " msgstr "Problem when uploading file: " -#: ldt_utils/views.py:768 +#: .\ldt_utils\views.py:792 #, python-format msgid "There is %(count)d error when deleting content" msgid_plural "There are %(count)d errors when deleting content" msgstr[0] "There is %(count)d error when deleting content" msgstr[1] "There are %(count)d errors when deleting content" -#: ldt_utils/views.py:769 +#: .\ldt_utils\views.py:793 msgid "title error deleting content" msgstr "Error when deleting content" -#: ldt_utils/views.py:771 +#: .\ldt_utils\views.py:795 #, python-format msgid "Confirm delete content %(titles)s" msgstr "Confirm delete content %(titles)s" -#: ldt_utils/views.py:772 +#: .\ldt_utils\views.py:796 msgid "confirm delete content" msgstr "Confirm delete content" -#: ldt_utils/views.py:803 +#: .\ldt_utils\views.py:827 #, python-format msgid "" "Content '%(title)s' is referenced by this project : %(project_titles)s. " @@ -214,58 +218,59 @@ "Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. " "Please delete them beforehand." -#: ldt_utils/templates/admin/ldt_utils/app_action.html:4 -#: templates/admin/cms_change_list.html:7 -#: templates/admin/page_app_index.html:8 -#: templates/admin/page_change_form.html:17 -#: templates/admin/page_change_list.html:25 -#: user/templates/registration/logged_out.html:4 +#: .\ldt_utils\templates\admin\ldt_utils\app_action.html.py:4 +#: .\templates\admin\cms_change_list.html.py:7 +#: .\templates\admin\page_app_index.html.py:8 +#: .\templates\admin\page_change_form.html.py:17 +#: .\templates\admin\page_change_list.html.py:25 +#: .\user\templates\registration\logged_out.html.py:4 msgid "Home" msgstr "Home" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:55 -#: templates/admin/page_base.html:19 -#: user/templates/ldt/user/login_form.html:33 -#: user/templates/ldt/user/space.html:6 user/templates/ldt/user/space.html:9 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:55 +#: .\templates\admin\page_base.html.py:19 +#: .\user\templates\ldt\user\login_form.html.py:33 +#: .\user\templates\ldt\user\space.html.py:6 +#: .\user\templates\ldt\user\space.html.py:9 msgid "Space" msgstr "Space" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:56 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:56 msgid "Ldt Project" msgstr "Ldt Project" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:59 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:59 msgid "Contents" msgstr "Contents" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:63 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:63 msgid "Create new content" msgstr "Create new content" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:66 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:66 msgid "Content" msgstr "Content" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:70 -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:77 -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:11 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:70 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:77 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:11 msgid "create project" msgstr "Create new project" -#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:11 +#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:12 msgid "Copy your project" msgstr "Copy your project" -#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:14 -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:38 +#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:16 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:38 msgid "Title" msgstr "Title" -#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:16 +#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:20 msgid "Copy" msgstr "Copy" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:47 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:47 msgid "" "The operation could not be performed because one or more error(s) occurred." "
    Please resubmit the content form after making the following changes:" @@ -273,7 +278,7 @@ "The operation could not be performed because one or more error(s) occurred." "
    Please resubmit the content form after making the following changes:" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:58 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:58 msgid "" "The operation could not be performed because one or more error(s) occurred." "
    Please resubmit the media form after making the following changes:" @@ -281,213 +286,220 @@ "The operation could not be performed because one or more error(s) occurred." "
    Please resubmit the media form after making the following changes:" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:68 -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:21 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:68 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:21 msgid "Create content" msgstr "Create content" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:105 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:105 msgid "media file is being processed please wait." msgstr "media file is being processed please wait." -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:109 -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:59 -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:49 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:109 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:59 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:49 msgid "close_cancel" msgstr "Close" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:110 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:110 msgid "delete" msgstr "Approve delete" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:111 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:111 msgid "write" msgstr "write" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:34 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:34 msgid "Update your project" msgstr "Create your project" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:34 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:34 msgid "Create your project" msgstr "Create your project" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:40 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:40 msgid "List of contents" msgstr "List of contents" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:42 -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:3 -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:3 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:42 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:3 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:3 msgid "name" msgstr "name" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:61 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:61 msgid "delete_project" msgstr "delete project" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:62 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:62 msgid "update_project" msgstr "update project" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:64 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:64 msgid "create_project" msgstr "Create new project" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:60 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:60 msgid "project id" msgstr "project id" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:61 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:61 msgid "copy to clipboard" msgstr "copy to clipboard" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_player" msgstr "player" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_seo_body" msgstr "seo" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_seo_meta" msgstr "meta" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_links" msgstr "links" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:84 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:84 msgid "clik here to see the project content" msgstr "clik here to see the project content" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:30 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30 msgid "error" msgstr "Error" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:30 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30 msgid "confirm" msgstr "Confirm deletion" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:45 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:45 msgid "close_error" msgstr "Close" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:50 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:50 msgid "do_delete" msgstr "Approve delete" -#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:77 -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:63 +#: .\ldt_utils\templates\ldt\ldt_utils\init_ldt_full.html.py:17 +msgid "" +"Your current work is modified. Click Cancel and save it one last time before " +"leaving. Click OK to leave without saving." +msgstr "Your current work is modified. Click Cancel and save it one last time before leaving. Click OK to leave without saving." + +#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:77 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:63 msgid "project list" msgstr "Projects" -#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:79 -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:54 -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:65 +#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:79 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:54 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:65 msgid "search" msgstr "search" -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:52 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:52 msgid "content list" msgstr "contents" -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:12 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:12 msgid "preview media" msgstr "preview media" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:12 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:12 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:28 msgid "open ldt" msgstr "open ldt" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:13 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:13 msgid "copy project" msgstr "Copy your project" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:14 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:14 msgid "link json by id" msgstr "link json by id" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:17 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:17 msgid "Project published, click to unpublish" msgstr "Project published, click to unpublish" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:19 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:19 msgid "Project not published, click to publish" msgstr "Project not published, click to publish" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:36 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:37 msgid "Create project" msgstr "Create new project" -#: templates/admin/cms_change_form.html:30 +#: .\templates\admin\cms_change_form.html.py:30 msgid "Approve page deletion" msgstr "Approve page deletion" -#: templates/admin/cms_change_form.html:36 +#: .\templates\admin\cms_change_form.html.py:36 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(requires approvement at %(moderation_level)s level)" -#: templates/admin/cms_change_form.html:37 +#: .\templates\admin\cms_change_form.html.py:37 msgid "(you can perform actions on this page directly)" msgstr "(you can perform actions on this page directly)" -#: templates/admin/cms_change_form.html:50 +#: .\templates\admin\cms_change_form.html.py:50 msgid "Remove delete request" msgstr "Remove delete request" -#: templates/admin/cms_change_form.html:52 +#: .\templates\admin\cms_change_form.html.py:52 msgid "Approve delete" msgstr "Approve delete" -#: templates/admin/cms_change_form.html:52 +#: .\templates\admin\cms_change_form.html.py:52 msgid "Approve" msgstr "Approve" -#: templates/admin/cms_change_form.html:52 -#: templates/admin/cms_change_form.html:53 +#: .\templates\admin\cms_change_form.html.py:52 +#: .\templates\admin\cms_change_form.html.py:53 msgid "draft" msgstr "draft" -#: templates/admin/cms_change_form.html:53 +#: .\templates\admin\cms_change_form.html.py:53 msgid "Preview" msgstr "Preview" -#: templates/admin/cms_change_form.html:56 -#: templates/admin/page_change_form.html:27 +#: .\templates\admin\cms_change_form.html.py:56 +#: .\templates\admin\page_change_form.html.py:27 msgid "History" msgstr "History" -#: templates/admin/cms_change_form.html:57 -#: templates/admin/page_change_form.html:28 +#: .\templates\admin\cms_change_form.html.py:57 +#: .\templates\admin\page_change_form.html.py:28 msgid "View on site" msgstr "View on site" -#: templates/admin/cms_change_form.html:87 -#: templates/admin/page_change_form.html:38 -#: templates/admin/page_change_list.html:54 -#: templates/cms/admin/cms/page/change_form.html:24 +#: .\templates\admin\cms_change_form.html.py:87 +#: .\templates\admin\page_change_form.html.py:38 +#: .\templates\admin\page_change_list.html.py:54 +#: .\templates\cms\admin\cms\page\change_form.html.py:24 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Please correct the error below." msgstr[1] "Please correct the errors below." -#: templates/admin/cms_change_form.html:107 +#: .\templates\admin\cms_change_form.html.py:107 msgid "All permissions" msgstr "All permissions" -#: templates/admin/cms_change_form.html:108 -#: templates/admin/cms_change_form.html:120 +#: .\templates\admin\cms_change_form.html.py:108 +#: .\templates\admin\cms_change_form.html.py:120 msgid "Loading..." msgstr "Loading..." -#: templates/admin/cms_change_form.html:119 +#: .\templates\admin\cms_change_form.html.py:119 msgid "Page states" msgstr "Page states" -#: templates/admin/cms_change_form.html:142 +#: .\templates\admin\cms_change_form.html.py:142 #, python-format msgid "" "This page must be moderated at level %(moderation_level)s, post a message " @@ -496,228 +508,277 @@ "This page must be moderated at level %(moderation_level)s, post a message " "for moderator." -#: templates/admin/cms_change_form.html:144 +#: .\templates\admin\cms_change_form.html.py:144 msgid "Request approvemet" msgstr "Request approvemet" -#: templates/admin/cms_change_form.html:234 -#: user/templates/registration/registration_form.html:16 +#: .\templates\admin\cms_change_form.html.py:234 +#: .\user\templates\registration\registration_form.html.py:16 msgid "Save" msgstr "Save" -#: templates/admin/cms_change_form.html:235 +#: .\templates\admin\cms_change_form.html.py:235 msgid "Save and continue editing" msgstr "Save and continue editing" -#: templates/admin/cms_change_list.html:51 +#: .\templates\admin\cms_change_list.html.py:51 msgid "Successfully moved" msgstr "Successfully moved" -#: templates/admin/cms_change_list.html:76 +#: .\templates\admin\cms_change_list.html.py:76 #, python-format msgid "Recover deleted %(name)s" msgstr "Recover deleted %(name)s" -#: templates/admin/cms_change_list.html:79 -#: templates/admin/page_change_list.html:46 +#: .\templates\admin\cms_change_list.html.py:79 +#: .\templates\admin\page_change_list.html.py:46 #, python-format msgid "Add %(name)s" msgstr "Add %(name)s" -#: templates/admin/cms_change_list.html:91 +#: .\templates\admin\cms_change_list.html.py:91 msgid "Pages on:" msgstr "Pages on:" -#: templates/admin/cms_change_list.html:108 +#: .\templates\admin\cms_change_list.html.py:108 msgid "on" msgstr "on" -#: templates/admin/cms_change_list.html:108 +#: .\templates\admin\cms_change_list.html.py:108 msgid "off" msgstr "off" -#: templates/admin/cms_change_list.html:110 -#: templates/admin/page_change_list.html:65 +#: .\templates\admin\cms_change_list.html.py:110 +#: .\templates\admin\page_change_list.html.py:65 msgid "Filter" msgstr "Filter" -#: templates/admin/index.html:18 templates/admin/page_index.html:18 +#: .\templates\admin\index.html.py:18 .\templates\admin\page_index.html.py:18 #, python-format msgid "Models available in the %(name)s application." msgstr "Models available in the %(name)s application." -#: templates/admin/index.html:19 templates/admin/page_app_index.html:10 -#: templates/admin/page_index.html:19 +#: .\templates\admin\index.html.py:19 +#: .\templates\admin\page_app_index.html.py:10 +#: .\templates\admin\page_index.html.py:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: templates/admin/index.html:29 templates/admin/page_change_form.html:20 -#: templates/admin/page_index.html:29 +#: .\templates\admin\index.html.py:29 +#: .\templates\admin\page_change_form.html.py:20 +#: .\templates\admin\page_index.html.py:29 msgid "Add" msgstr "Add" -#: templates/admin/index.html:35 templates/admin/page_index.html:35 +#: .\templates\admin\index.html.py:35 .\templates\admin\page_index.html.py:35 msgid "Change" msgstr "changed by" -#: templates/admin/index.html:64 templates/admin/page_index.html:45 +#: .\templates\admin\index.html.py:64 .\templates\admin\page_index.html.py:45 msgid "You don't have permission to edit anything." msgstr "You don't have permission to edit anything." -#: templates/admin/index.html:72 templates/admin/page_index.html:53 +#: .\templates\admin\index.html.py:72 .\templates\admin\page_index.html.py:53 msgid "Recent Actions" msgstr "Recent Actions" -#: templates/admin/index.html:73 templates/admin/page_index.html:54 +#: .\templates\admin\index.html.py:73 .\templates\admin\page_index.html.py:54 msgid "My Actions" msgstr "My Actions" -#: templates/admin/index.html:77 templates/admin/page_index.html:58 +#: .\templates\admin\index.html.py:77 .\templates\admin\page_index.html.py:58 msgid "None available" msgstr "None available" -#: templates/admin/index.html:91 templates/admin/page_index.html:72 +#: .\templates\admin\index.html.py:91 .\templates\admin\page_index.html.py:72 msgid "Unknown content" msgstr "Unknown content" -#: templates/admin/page_base.html:20 templates/admin/page_index.html:11 +#: .\templates\admin\page_base.html.py:20 +#: .\templates\admin\page_index.html.py:11 msgid "Pages" msgstr "Pages" -#: templates/admin/page_base_site.html:7 +#: .\templates\admin\page_base_site.html.py:7 msgid "Django administration" msgstr "Django administration" -#: templates/admin/page_login.html:8 +#: .\templates\admin\page_login.html.py:8 msgid "Connexion" msgstr "Login" -#: templates/admin/page_login.html:20 +#: .\templates\admin\page_login.html.py:20 msgid "Username:" msgstr "Username:" -#: templates/admin/page_login.html:24 +#: .\templates\admin\page_login.html.py:24 msgid "Password:" msgstr "Password:" -#: templates/admin/page_login.html:29 -#: user/templates/registration/login.html:39 +#: .\templates\admin\page_login.html.py:29 +#: .\user\templates\registration\login.html.py:39 msgid "Create an account" msgstr "Create an account" -#: templates/admin/page_login.html:30 -#: user/templates/registration/login.html:40 +#: .\templates\admin\page_login.html.py:30 +#: .\user\templates\registration\login.html.py:40 msgid "Forget password?" msgstr "Forget password?" -#: templates/admin/page_login.html:32 -#: user/templates/ldt/user/login_form.html:37 -#: user/templates/ldt/user/login_form.html:45 -#: user/templates/registration/login.html:21 -#: user/templates/registration/password_reset_complete.html:14 +#: .\templates\admin\page_login.html.py:32 +#: .\user\templates\ldt\user\login_form.html.py:37 +#: .\user\templates\ldt\user\login_form.html.py:45 +#: .\user\templates\registration\login.html.py:21 +#: .\user\templates\registration\password_reset_complete.html.py:14 msgid "Log in" msgstr "Log in" -#: templates/cms/admin/cms/page/change_form.html:11 +#: .\templates\cms\admin\cms\page\change_form.html.py:11 msgid "Documentation" msgstr "Documentation" -#: templates/cms/admin/cms/page/change_form.html:11 +#: .\templates\cms\admin\cms\page\change_form.html.py:11 msgid "Change password" msgstr "Change password" -#: templates/cms/admin/cms/page/change_form.html:11 -#: templates/ldt/ldt_base.html:54 user/templates/ldt/user/login_form.html:34 +#: .\templates\cms\admin\cms\page\change_form.html.py:11 +#: .\templates\ldt\ldt_base.html.py:121 +#: .\user\templates\ldt\user\login_form.html.py:34 msgid "Log out" msgstr "Log out" -#: templates/cms/admin/cms/page/change_form.html:42 +#: .\templates\cms\admin\cms\page\change_form.html.py:42 msgid "Ordering" msgstr "Ordering" -#: templates/cms/admin/cms/page/change_form.html:45 +#: .\templates\cms\admin\cms\page\change_form.html.py:45 msgid "Order:" msgstr "Order:" -#: templates/ldt/ldt_base.html:26 +#: .\templates\ldt\ldt_base.html.py:95 msgid "header_title" msgstr "Ldt Platform" -#: templates/ldt/ldt_base.html:44 +#: .\templates\ldt\ldt_base.html.py:111 msgid "home" msgstr "home" -#: templates/ldt/ldt_base.html:45 +#: .\templates\ldt\ldt_base.html.py:112 msgid "contents" msgstr "Contents" -#: templates/ldt/ldt_base.html:46 +#: .\templates\ldt\ldt_base.html.py:113 msgid "indexation projects" msgstr "indexation projects" -#: templates/ldt/ldt_base.html:47 +#: .\templates\ldt\ldt_base.html.py:114 msgid "accounts" msgstr "accounts" -#: templates/ldt/ldt_base.html:48 user/templates/ldt/user/change_email.html:6 -#: user/templates/ldt/user/change_email_done.html:6 -#: user/templates/ldt/user/login_form.html:32 -#: user/templates/registration/password_change_done.html:7 -#: user/templates/registration/password_change_form.html:13 +#: .\templates\ldt\ldt_base.html.py:115 +#: .\user\templates\ldt\user\change_email.html.py:6 +#: .\user\templates\ldt\user\change_email_done.html.py:6 +#: .\user\templates\ldt\user\login_form.html.py:32 +#: .\user\templates\registration\password_change_done.html.py:7 +#: .\user\templates\registration\password_change_form.html.py:13 msgid "Profiles" msgstr "Profiles" -#: templates/ldt/ldt_base.html:62 +#: .\templates\ldt\ldt_base.html.py:129 msgid "Langue" msgstr "Langue" -#: templates/ldt/ldt_raw_base.html:13 +#: .\templates\ldt\ldt_raw_base.html.py:13 msgid "page_title" msgstr "Ldt Platform" -#: user/admin.py:15 +#: .\text\models.py:22 +msgid "annotation.external_id" +msgstr "external id" + +#: .\text\models.py:23 +msgid "annotation.uri" +msgstr "uri" + +#: .\text\models.py:24 +msgid "annotation.tags" +msgstr "tags" + +#: .\text\models.py:25 +msgid "annotation.title" +msgstr "title" + +#: .\text\models.py:26 +msgid "annotation.description" +msgstr "description" + +#: .\text\models.py:27 +msgid "annotation.text" +msgstr "text" + +#: .\text\models.py:28 +msgid "annotation.color" +msgstr "color" + +#: .\text\models.py:29 +msgid "creator.title" +msgstr "title" + +#: .\text\models.py:30 +msgid "contributor.title" +msgstr "title" + +#: .\text\models.py:31 +msgid "annotation.creation_date" +msgstr "creation date" + +#: .\text\models.py:32 +msgid "annotation.update_date" +msgstr "update date" + +#: .\user\admin.py:13 msgid "User details" msgstr "User details" -#: user/admin.py:16 +#: .\user\admin.py:14 msgid "Groups" msgstr "Groups" -#: user/admin.py:17 +#: .\user\admin.py:15 msgid "Permissions" msgstr "Permissions" -#: user/admin.py:27 user/templates/ldt/user/login_form.html:61 +#: .\user\admin.py:25 .\user\templates\ldt\user\login_form.html.py:61 msgid "Password" msgstr "Password" -#: user/forms.py:31 +#: .\user\forms.py:31 msgid "New password" msgstr "New password" -#: user/forms.py:33 +#: .\user\forms.py:33 msgid "New password confirmation" msgstr "New password confirmation" -#: user/forms.py:78 user/forms.py:79 +#: .\user\forms.py:78 .\user\forms.py:79 msgid "E-mail" msgstr "E-mail" -#: user/forms.py:90 +#: .\user\forms.py:90 msgid "The two emails didn't match." msgstr "The two emails didn't match." -#: user/views.py:45 user/templates/registration/login.html:24 +#: .\user\views.py:45 .\user\templates\registration\login.html.py:24 msgid "Sorry, that's not a valid username or password." msgstr "Sorry, that's not a valid username or password." -#: user/templates/ldt/user/change_email.html:7 -#: user/templates/ldt/user/change_email.html:10 -msgid "Modification de l'adresse émail" +#: .\user\templates\ldt\user\change_email.html.py:7 +#: .\user\templates\ldt\user\change_email.html.py:10 +msgid "Modification de l'adresse émail" msgstr "E-mail change" -#: user/templates/ldt/user/change_email.html:26 +#: .\user\templates\ldt\user\change_email.html.py:26 msgid "" "Please enter your new e-mail twice so we can verify you typed it in " "correctly." @@ -725,134 +786,134 @@ "Please enter your new e-mail twice so we can verify you typed it in " "correctly." -#: user/templates/ldt/user/change_email.html:32 +#: .\user\templates\ldt\user\change_email.html.py:32 msgid "email" msgstr "email" -#: user/templates/ldt/user/change_email.html:41 -msgid "Confirmation de l'adresse émail" +#: .\user\templates\ldt\user\change_email.html.py:41 +msgid "Confirmation de l'adresse émail" msgstr "E-mail confirmation" -#: user/templates/ldt/user/change_email.html:48 +#: .\user\templates\ldt\user\change_email.html.py:48 msgid "change my e-mail" msgstr "Change my e-mail" -#: user/templates/ldt/user/change_email_done.html:7 -#: user/templates/ldt/user/change_email_done.html:10 +#: .\user\templates\ldt\user\change_email_done.html.py:7 +#: .\user\templates\ldt\user\change_email_done.html.py:10 msgid "email change" msgstr "email change" -#: user/templates/ldt/user/change_email_done.html:12 +#: .\user\templates\ldt\user\change_email_done.html.py:12 msgid "email changed" msgstr "changed by" -#: user/templates/ldt/user/change_email_done.html:13 +#: .\user\templates\ldt\user\change_email_done.html.py:13 msgid "back to profile" msgstr "back to profile" -#: user/templates/ldt/user/home.html:9 +#: .\user\templates\ldt\user\home.html.py:9 msgid "Se connecter" msgstr "Login" -#: user/templates/ldt/user/home.html:10 -msgid "Créer un compte" +#: .\user\templates\ldt\user\home.html.py:10 +msgid "Créer un compte" msgstr "Create an account" -#: user/templates/ldt/user/home.html:11 -msgid "récupérer mot de passe" +#: .\user\templates\ldt\user\home.html.py:11 +msgid "récupérer mot de passe" msgstr "Forget password?" -#: user/templates/ldt/user/login_form.html:50 +#: .\user\templates\ldt\user\login_form.html.py:50 msgid "create account" msgstr "create account" -#: user/templates/ldt/user/login_form.html:54 +#: .\user\templates\ldt\user\login_form.html.py:54 msgid "Pseudo" msgstr "Username" -#: user/templates/ldt/user/login_form.html:57 -#: user/templates/ldt/user/login_form.html:64 +#: .\user\templates\ldt\user\login_form.html.py:57 +#: .\user\templates\ldt\user\login_form.html.py:64 msgid "this field is compulsory" msgstr "this field is compulsory" -#: user/templates/ldt/user/login_form.html:68 +#: .\user\templates\ldt\user\login_form.html.py:68 msgid "reset password" msgstr "reset password" -#: user/templates/ldt/user/login_form.html:71 +#: .\user\templates\ldt\user\login_form.html.py:71 msgid "Connection" msgstr "Login" -#: user/templates/ldt/user/profile.html:6 -#: user/templates/registration/password_change_form.html:14 -#: user/templates/registration/password_change_form.html:17 +#: .\user\templates\ldt\user\profile.html.py:6 +#: .\user\templates\registration\password_change_form.html.py:14 +#: .\user\templates\registration\password_change_form.html.py:17 msgid "Password change" msgstr "Password change" -#: user/templates/ldt/user/profile.html:7 +#: .\user\templates\ldt\user\profile.html.py:7 msgid "Mail change" msgstr "Mail change" -#: user/templates/ldt/user/space.html:13 +#: .\user\templates\ldt\user\space.html.py:13 msgid "Page" msgstr "Pages" -#: user/templates/ldt/user/space.html:16 +#: .\user\templates\ldt\user\space.html.py:16 msgid "Projets Lignes de temps" msgstr "Lignes de temps projects" -#: user/templates/registration/activate.html:6 -#: user/templates/registration/activate.html:9 +#: .\user\templates\registration\activate.html.py:6 +#: .\user\templates\registration\activate.html.py:9 msgid "Activate account" msgstr "Activate account" -#: user/templates/registration/activate.html:12 +#: .\user\templates\registration\activate.html.py:12 msgid "You have activated your account" msgstr "You have activated your account" -#: user/templates/registration/activate.html:13 +#: .\user\templates\registration\activate.html.py:13 msgid "Go back to login page" msgstr "Go back to login page" -#: user/templates/registration/activation_complete.html:4 -#: user/templates/registration/registration_complete.html:8 +#: .\user\templates\registration\activation_complete.html.py:4 +#: .\user\templates\registration\registration_complete.html.py:8 msgid "Sign up successfully" msgstr "Sign up successfully" -#: user/templates/registration/activation_complete.html:6 +#: .\user\templates\registration\activation_complete.html.py:6 msgid "activation completed" msgstr "activation completed" -#: user/templates/registration/logged_out.html:8 +#: .\user\templates\registration\logged_out.html.py:8 msgid "Thanks for spending some quality time with the Web site today." msgstr "Thanks for spending some quality time with the Web site today." -#: user/templates/registration/logged_out.html:10 +#: .\user\templates\registration\logged_out.html.py:10 msgid "Log in again" msgstr "Log in again" -#: user/templates/registration/login.html:46 +#: .\user\templates\registration\login.html.py:46 msgid "login" msgstr "login" -#: user/templates/registration/password_change_done.html:3 -#: user/templates/registration/password_change_done.html:11 +#: .\user\templates\registration\password_change_done.html.py:3 +#: .\user\templates\registration\password_change_done.html.py:11 msgid "password change successful" msgstr "password change successful" -#: user/templates/registration/password_change_done.html:8 +#: .\user\templates\registration\password_change_done.html.py:8 msgid "password change" msgstr "password change" -#: user/templates/registration/password_change_done.html:14 +#: .\user\templates\registration\password_change_done.html.py:14 msgid "Your password has been changed." msgstr "Your password has been changed." -#: user/templates/registration/password_change_done.html:15 +#: .\user\templates\registration\password_change_done.html.py:15 msgid "Go back to profiles" msgstr "Go back to profiles" -#: user/templates/registration/password_change_form.html:20 +#: .\user\templates\registration\password_change_form.html.py:20 msgid "" "Please enter your old password, for security's sake, and then enter your new " "password twice so we can verify you typed it in correctly." @@ -860,44 +921,44 @@ "Please enter your old password, for security's sake, and then enter your new " "password twice so we can verify you typed it in correctly." -#: user/templates/registration/password_change_form.html:26 +#: .\user\templates\registration\password_change_form.html.py:26 msgid "Old password:" msgstr "Old password:" -#: user/templates/registration/password_change_form.html:32 -#: user/templates/registration/password_reset_confirm.html:19 +#: .\user\templates\registration\password_change_form.html.py:32 +#: .\user\templates\registration\password_reset_confirm.html.py:19 msgid "New password:" msgstr "New password:" -#: user/templates/registration/password_change_form.html:38 -#: user/templates/registration/password_reset_confirm.html:21 +#: .\user\templates\registration\password_change_form.html.py:38 +#: .\user\templates\registration\password_reset_confirm.html.py:21 msgid "Confirm password:" msgstr "Confirm password:" -#: user/templates/registration/password_change_form.html:44 -#: user/templates/registration/password_reset_confirm.html:22 +#: .\user\templates\registration\password_change_form.html.py:44 +#: .\user\templates\registration\password_reset_confirm.html.py:22 msgid "Change my password" msgstr "Change my password" -#: user/templates/registration/password_reset_complete.html:6 -#: user/templates/registration/password_reset_confirm.html:6 -#: user/templates/registration/password_reset_confirm.html:9 -#: user/templates/registration/password_reset_done.html:6 -#: user/templates/registration/password_reset_form.html:13 -#: user/templates/registration/password_reset_form.html:15 -#: user/templates/registration/password_reset_form.html:18 +#: .\user\templates\registration\password_reset_complete.html.py:6 +#: .\user\templates\registration\password_reset_confirm.html.py:6 +#: .\user\templates\registration\password_reset_confirm.html.py:9 +#: .\user\templates\registration\password_reset_done.html.py:6 +#: .\user\templates\registration\password_reset_form.html.py:13 +#: .\user\templates\registration\password_reset_form.html.py:15 +#: .\user\templates\registration\password_reset_form.html.py:18 msgid "Password reset" msgstr "Password reset" -#: user/templates/registration/password_reset_complete.html:9 +#: .\user\templates\registration\password_reset_complete.html.py:9 msgid "Password reset complete" msgstr "Password reset complete" -#: user/templates/registration/password_reset_complete.html:12 +#: .\user\templates\registration\password_reset_complete.html.py:12 msgid "Your password has been set. You may go ahead and log in now." msgstr "Your password has been set. You may go ahead and log in now." -#: user/templates/registration/password_reset_confirm.html:15 +#: .\user\templates\registration\password_reset_confirm.html.py:15 msgid "" "Please enter your new password twice so we can verify you typed it in " "correctly." @@ -905,11 +966,11 @@ "Please enter your new password twice so we can verify you typed it in " "correctly." -#: user/templates/registration/password_reset_confirm.html:27 +#: .\user\templates\registration\password_reset_confirm.html.py:27 msgid "Password reset unsuccessful" msgstr "Password reset unsuccessful" -#: user/templates/registration/password_reset_confirm.html:29 +#: .\user\templates\registration\password_reset_confirm.html.py:29 msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." @@ -917,11 +978,11 @@ "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." -#: user/templates/registration/password_reset_done.html:8 +#: .\user\templates\registration\password_reset_done.html.py:8 msgid "Password reset successful" msgstr "Password reset successful" -#: user/templates/registration/password_reset_done.html:12 +#: .\user\templates\registration\password_reset_done.html.py:12 msgid "" "We've e-mailed you instructions for setting your password to the e-mail " "address you submitted. You should be receiving it shortly." @@ -929,33 +990,33 @@ "We've e-mailed you instructions for setting your password to the e-mail " "address you submitted. You should be receiving it shortly." -#: user/templates/registration/password_reset_email.html:2 +#: .\user\templates\registration\password_reset_email.html.py:2 msgid "You're receiving this e-mail because you requested a password reset" msgstr "You're receiving this e-mail because you requested a password reset" -#: user/templates/registration/password_reset_email.html:3 +#: .\user\templates\registration\password_reset_email.html.py:3 #, python-format msgid "for your user account at %(site_name)s" msgstr "for your user account at %(site_name)s" -#: user/templates/registration/password_reset_email.html:5 +#: .\user\templates\registration\password_reset_email.html.py:5 msgid "Please go to the following page and choose a new password:" msgstr "Please go to the following page and choose a new password:" -#: user/templates/registration/password_reset_email.html:9 +#: .\user\templates\registration\password_reset_email.html.py:9 msgid "Your username, in case you've forgotten:" msgstr "Your username, in case you've forgotten:" -#: user/templates/registration/password_reset_email.html:11 +#: .\user\templates\registration\password_reset_email.html.py:11 msgid "Thanks for using our site!" msgstr "Thanks for using our site!" -#: user/templates/registration/password_reset_email.html:13 +#: .\user\templates\registration\password_reset_email.html.py:13 #, python-format msgid "The %(site_name)s team" msgstr "The %(site_name)s team" -#: user/templates/registration/password_reset_form.html:22 +#: .\user\templates\registration\password_reset_form.html.py:22 msgid "" "Forgotten your password? Enter your e-mail address below, and we'll e-mail " "instructions for setting a new one." @@ -963,37 +1024,35 @@ "Forgotten your password? Enter your e-mail address below, and we'll e-mail " "instructions for setting a new one." -#: user/templates/registration/password_reset_form.html:27 -msgid "Adresse émail" +#: .\user\templates\registration\password_reset_form.html.py:27 +msgid "Adresse émail" msgstr "E-mail" -#: user/templates/registration/password_reset_form.html:32 +#: .\user\templates\registration\password_reset_form.html.py:32 msgid "Reset my password" msgstr "Reset my password" -#: user/templates/registration/registration_active.html:5 -#: user/templates/registration/registration_active.html:7 +#: .\user\templates\registration\registration_active.html.py:5 +#: .\user\templates\registration\registration_active.html.py:7 msgid "Activate the account" msgstr "Activate the account" -#: user/templates/registration/registration_active.html:9 +#: .\user\templates\registration\registration_active.html.py:9 msgid "" -"Vous avez bien activé votre compte, vous pouvez accedez à votre espace " +"Vous avez bien activé votre compte, vous pouvez accedez à votre espace " "personnel." -msgstr "" -"Vous avez bien activé votre compte, vous pouvez accedez à votre espace " -"personnel." +msgstr "Your account is now activated. You can now access your profile." -#: user/templates/registration/registration_active.html:10 -msgid "retourner à la page de connexion" +#: .\user\templates\registration\registration_active.html.py:10 +msgid "retourner à la page de connexion" msgstr "go back to login page" -#: user/templates/registration/registration_complete.html:6 -#: user/templates/registration/registration_form.html:11 +#: .\user\templates\registration\registration_complete.html.py:6 +#: .\user\templates\registration\registration_form.html.py:11 msgid "Sign up" msgstr "Sign up" -#: user/templates/registration/registration_complete.html:10 +#: .\user\templates\registration\registration_complete.html.py:10 msgid "" "We've e-mailed you instructions for activate your account to the e-mail " "address you submitted. You should be receiving it shortly." diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/locale/fr/LC_MESSAGES/django.po --- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,200 +7,203 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-27 15:49+0100\n" +"POT-Creation-Date: 2011-03-03 15:12+0100\n" "PO-Revision-Date: 2010-03-09 15:52+0100\n" "Last-Translator: Yves-Marie Haussonne \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" -#: forms/widgets.py:17 +#: .\forms\widgets.py:17 msgid "Date" msgstr "Date" -#: forms/widgets.py:17 +#: .\forms\widgets.py:17 msgid "Time" msgstr "Time" -#: ldt_utils/forms.py:43 ldt_utils/models.py:82 +#: .\ldt_utils\forms.py:43 .\ldt_utils\models.py:100 msgid "content.content_creation_date" msgstr "Date de creation du contenu" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "content.media_input_type" msgstr "Source du média" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "file_upload" msgstr "upload fichier" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "url" msgstr "url" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "existing_media" msgstr "média existant" -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "create_media" -msgstr "source serveur de stream" +msgstr "source externe : fichier streamé, statique, url youtube..." -#: ldt_utils/forms.py:44 +#: .\ldt_utils\forms.py:44 msgid "none_media" msgstr "Aucun" -#: ldt_utils/models.py:25 +#: .\ldt_utils\models.py:27 msgid "media.external_id" msgstr "id externe" -#: ldt_utils/models.py:26 +#: .\ldt_utils\models.py:28 msgid "media.external_permalink" msgstr "permalien externe" -#: ldt_utils/models.py:27 +#: .\ldt_utils\models.py:29 msgid "media.external_publication_url" msgstr "url de publication externe" -#: ldt_utils/models.py:28 +#: .\ldt_utils\models.py:30 msgid "media.external_src_url" msgstr "url source" -#: ldt_utils/models.py:29 +#: .\ldt_utils\models.py:31 msgid "media.creation_date" msgstr "Date de création" -#: ldt_utils/models.py:30 +#: .\ldt_utils\models.py:32 msgid "media.media_creation_date" msgstr "Date de création du média" -#: ldt_utils/models.py:31 +#: .\ldt_utils\models.py:33 msgid "media.update_date" msgstr "Date de maj" -#: ldt_utils/models.py:32 +#: .\ldt_utils\models.py:34 msgid "media.videopath" msgstr "videopath" -#: ldt_utils/models.py:33 +#: .\ldt_utils\models.py:35 msgid "media.duration" msgstr "Durée du contenu (ms)" -#: ldt_utils/models.py:34 +#: .\ldt_utils\models.py:36 msgid "media.creator" msgstr "Créateur" -#: ldt_utils/models.py:35 +#: .\ldt_utils\models.py:37 msgid "description" msgstr "description" -#: ldt_utils/models.py:36 -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:69 +#: .\ldt_utils\models.py:38 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:69 msgid "title" msgstr "Titre" -#: ldt_utils/models.py:37 +#: .\ldt_utils\models.py:39 msgid "media.src" msgstr "Sources" -#: ldt_utils/models.py:74 +#: .\ldt_utils\models.py:40 +msgid "media.mimetype" +msgstr "mimetype" + +#: .\ldt_utils\models.py:92 msgid "content.iri_id" msgstr "iri id" -#: ldt_utils/models.py:75 +#: .\ldt_utils\models.py:93 msgid "content.iriurl" msgstr "iri url" -#: ldt_utils/models.py:76 +#: .\ldt_utils\models.py:94 msgid "content.creation_date" msgstr "date de création" -#: ldt_utils/models.py:77 +#: .\ldt_utils\models.py:95 msgid "content.update_date" msgstr "Date de maj" -#: ldt_utils/models.py:78 +#: .\ldt_utils\models.py:96 msgid "content.title" msgstr "titre" -#: ldt_utils/models.py:79 +#: .\ldt_utils\models.py:97 msgid "content.description" msgstr "Description" -#: ldt_utils/models.py:80 +#: .\ldt_utils\models.py:98 msgid "content.authors" msgstr "Autheurs" -#: ldt_utils/models.py:81 +#: .\ldt_utils\models.py:99 msgid "content.duration" msgstr "Durée (ms)" -#: ldt_utils/models.py:260 +#: .\ldt_utils\models.py:288 msgid "created by" msgstr "créé par" -#: ldt_utils/models.py:261 +#: .\ldt_utils\models.py:289 msgid "changed by" msgstr "modifié par" -#: ldt_utils/views.py:72 ldt_utils/views.py:332 ldt_utils/views.py:378 +#: .\ldt_utils\views.py:81 .\ldt_utils\views.py:358 .\ldt_utils\views.py:404 msgid "You can not access this project" msgstr "vous n'avez pas l'autorisation d'accéder à ce projet" -#: ldt_utils/views.py:536 +#: .\ldt_utils\views.py:562 #, python-format msgid "the project %(title)s is published. please unpublish before deleting." msgstr "Le projet %(title)s est publié. Déplublier le avant de l'effacer." -#: ldt_utils/views.py:537 +#: .\ldt_utils\views.py:563 msgid "can not delete the project. Please correct the following error" -msgstr "" -"Le projet ne peut pas être effacé. Veuillez corriger les erreurs suivantes." +msgstr "Le projet ne peut pas être effacé. Veuillez corriger les erreurs suivantes." -#: ldt_utils/views.py:538 +#: .\ldt_utils\views.py:564 msgid "title error deleting project" msgstr "Erreur lors de l'effacement du projet" -#: ldt_utils/views.py:540 +#: .\ldt_utils\views.py:566 #, python-format msgid "please confirm deleting project %(title)s" msgstr "Confirmer l'efaccement du projet intitulé %(title)s" -#: ldt_utils/views.py:541 +#: .\ldt_utils\views.py:567 msgid "confirm deletion" msgstr "Confirmation d'effacement" -#: ldt_utils/views.py:695 +#: .\ldt_utils\views.py:721 msgid "Problem when downloading file from url : " msgstr "Problème lors du téléchargement du fichier : " -#: ldt_utils/views.py:698 +#: .\ldt_utils\views.py:724 msgid "Problem when uploading file : " msgstr "Problème lors de l'upload du fichier : " -#: ldt_utils/views.py:768 +#: .\ldt_utils\views.py:792 #, python-format msgid "There is %(count)d error when deleting content" msgid_plural "There are %(count)d errors when deleting content" msgstr[0] "Il y a %(count)d erreur lors de l'effacement du contenu" msgstr[1] "Il y a %(count)d erreurs lors de l'effacement du contenu" -#: ldt_utils/views.py:769 +#: .\ldt_utils\views.py:793 msgid "title error deleting content" msgstr "Erreur lors de l'effacement du contenu" -#: ldt_utils/views.py:771 +#: .\ldt_utils\views.py:795 #, python-format msgid "Confirm delete content %(titles)s" msgstr "Veuillez confirmer l'effacement du contenu %(titles)s" -#: ldt_utils/views.py:772 +#: .\ldt_utils\views.py:796 msgid "confirm delete content" msgstr "Confirmation effacement contenu" -#: ldt_utils/views.py:803 +#: .\ldt_utils\views.py:827 #, python-format msgid "" "Content '%(title)s' is referenced by this project : %(project_titles)s. " @@ -212,797 +215,839 @@ "Le contenu '%(title)s' est référencé par le projet '%(project_titles)s'." "Veuillez l'effacer préalablement." msgstr[1] "" -"Le contenu '%(title)s' est référencé par les projets suivants : " -"'%(project_titles)s'.Veuillez les effacer préalablement." +"Le contenu '%(title)s' est référencé par les projets suivants : '%" +"(project_titles)s'.Veuillez les effacer préalablement." -#: ldt_utils/templates/admin/ldt_utils/app_action.html:4 -#: templates/admin/cms_change_list.html:7 -#: templates/admin/page_app_index.html:8 -#: templates/admin/page_change_form.html:17 -#: templates/admin/page_change_list.html:25 -#: user/templates/registration/logged_out.html:4 +#: .\ldt_utils\templates\admin\ldt_utils\app_action.html.py:4 +#: .\templates\admin\cms_change_list.html.py:7 +#: .\templates\admin\page_app_index.html.py:8 +#: .\templates\admin\page_change_form.html.py:17 +#: .\templates\admin\page_change_list.html.py:25 +#: .\user\templates\registration\logged_out.html.py:4 msgid "Home" msgstr "Accueil" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:55 -#: templates/admin/page_base.html:19 -#: user/templates/ldt/user/login_form.html:33 -#: user/templates/ldt/user/space.html:6 user/templates/ldt/user/space.html:9 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:55 +#: .\templates\admin\page_base.html.py:19 +#: .\user\templates\ldt\user\login_form.html.py:33 +#: .\user\templates\ldt\user\space.html.py:6 +#: .\user\templates\ldt\user\space.html.py:9 msgid "Space" msgstr "Esp. perso" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:56 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:56 msgid "Ldt Project" msgstr "Projet lignes de temps" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:59 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:59 msgid "Contents" msgstr "Liste des contenus" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:63 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:63 msgid "Create new content" msgstr "Créer un nouveau contenu" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:66 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:66 msgid "Content" msgstr "Contenu" -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:70 -#: ldt_utils/templates/ldt/ldt_utils/content_list.html:77 -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:11 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:70 +#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:77 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:11 msgid "create project" msgstr "Créer un nouveau projet d'indexation" -#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:11 +#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:12 msgid "Copy your project" msgstr "Copier votre projet" -#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:14 -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:38 +#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:16 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:38 msgid "Title" msgstr "Titre" -#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:16 +#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:20 msgid "Copy" msgstr "Copier" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:47 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:47 msgid "" "The operation could not be performed because one or more error(s) occurred." "
    Please resubmit the content form after making the following changes:" -msgstr "" -"Opération impossible à cause d'une ou plusieurs erreurs.
    Veuillez " +msgstr "Opération impossible à cause d'une ou plusieurs erreurs.
    Veuillez " "resoumettre le formulaire contenu après avoir fait les changements suivants:" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:58 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:58 msgid "" "The operation could not be performed because one or more error(s) occurred." "
    Please resubmit the media form after making the following changes:" -msgstr "" -"opération impossible à cause d'une ou plusieurs erreurs.
    Veuillez " +msgstr "opération impossible à cause d'une ou plusieurs erreurs.
    Veuillez " "resoumettre le formulaire media après avoir fait les changements suivants:" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:68 -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:21 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:68 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:21 msgid "Create content" msgstr "Créer un contenu" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:105 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:105 msgid "media file is being processed please wait." msgstr "Le fichier média est en cours de traitement. Veullez patienter." -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:109 -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:59 -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:49 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:109 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:59 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:49 msgid "close_cancel" msgstr "Fermer" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:110 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:110 msgid "delete" msgstr "Effacer" -#: ldt_utils/templates/ldt/ldt_utils/create_content.html:111 +#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:111 msgid "write" msgstr "Enregistrer" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:34 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:34 msgid "Update your project" msgstr "Mettre à jour votre projet Lignes de Temps" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:34 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:34 msgid "Create your project" msgstr "Créer votre projet Lignes de Temps" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:40 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:40 msgid "List of contents" msgstr "Liste de contenus" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:42 -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:3 -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:3 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:42 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:3 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:3 msgid "name" msgstr "nom" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:61 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:61 msgid "delete_project" msgstr "Effacer" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:62 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:62 msgid "update_project" msgstr "Mettre à jour" -#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:64 +#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:64 msgid "create_project" msgstr "Créer un nouveau projet Ligne de Temps" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:60 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:60 msgid "project id" msgstr "Identifiant du projet " -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:61 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:61 msgid "copy to clipboard" msgstr "Copier l'id dans le presse-papiers" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_player" msgstr "Code Lecteur métadata" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_seo_body" msgstr "Code SEO" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_seo_meta" msgstr "Code balise meta en-tête" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:70 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:70 msgid "popup_links" msgstr "Liste de liens" -#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:84 +#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:84 msgid "clik here to see the project content" msgstr "cliquer ici pour voir le contenu du projet" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:30 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30 msgid "error" msgstr "Erreur" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:30 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30 msgid "confirm" msgstr "Confirmation d'effacement" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:45 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:45 msgid "close_error" msgstr "Fermer" -#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:50 +#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:50 msgid "do_delete" msgstr "Effacer" -#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:77 -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:63 +#: .\ldt_utils\templates\ldt\ldt_utils\init_ldt_full.html.py:17 +msgid "" +"Your current work is modified. Click Cancel and save it one last time before " +"leaving. Click OK to leave without saving." +msgstr "Vous avez un travail en cours. Cliquez sur Annuler et sauvegardez votre travail une dernière fois. Cliquez sur OK pour quitter sans sauvegarder." + +#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:77 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:63 msgid "project list" msgstr "Liste des projets" -#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:79 -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:54 -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:65 +#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:79 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:54 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:65 msgid "search" msgstr "Recherche" -#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:52 +#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:52 msgid "content list" msgstr "Liste des contenus" -#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:12 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:12 msgid "preview media" msgstr "aperçu" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:12 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:12 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:28 msgid "open ldt" msgstr "Ouvrir sous Lignes de Temps" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:13 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:13 msgid "copy project" msgstr "Copier votre projet" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:14 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:14 msgid "link json by id" msgstr "Ouvrir le lecteur de métadata" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:17 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:17 msgid "Project published, click to unpublish" msgstr "Projet publié, cliquer pour de-publier" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:19 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:19 msgid "Project not published, click to publish" msgstr "Projet non publié, cliquer pour publier" -#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:36 +#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:37 msgid "Create project" msgstr "Créer un nouveau projet d'indexation" -#: templates/admin/cms_change_form.html:30 +#: .\templates\admin\cms_change_form.html.py:30 msgid "Approve page deletion" msgstr "Accepter l'effacement de la page" -#: templates/admin/cms_change_form.html:36 +#: .\templates\admin\cms_change_form.html.py:36 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(Demande l'approbation au niveau %(moderation_level)s)" -#: templates/admin/cms_change_form.html:37 +#: .\templates\admin\cms_change_form.html.py:37 msgid "(you can perform actions on this page directly)" msgstr "(Vous pouvez agir sur cette page directement)" -#: templates/admin/cms_change_form.html:50 +#: .\templates\admin\cms_change_form.html.py:50 msgid "Remove delete request" msgstr "Effacer la requête d'affacement" -#: templates/admin/cms_change_form.html:52 +#: .\templates\admin\cms_change_form.html.py:52 msgid "Approve delete" msgstr "Accepter l'effacement" -#: templates/admin/cms_change_form.html:52 +#: .\templates\admin\cms_change_form.html.py:52 msgid "Approve" msgstr "Accepter" -#: templates/admin/cms_change_form.html:52 -#: templates/admin/cms_change_form.html:53 +#: .\templates\admin\cms_change_form.html.py:52 +#: .\templates\admin\cms_change_form.html.py:53 msgid "draft" msgstr "brouillon" -#: templates/admin/cms_change_form.html:53 +#: .\templates\admin\cms_change_form.html.py:53 msgid "Preview" msgstr "Aperçu" -#: templates/admin/cms_change_form.html:56 -#: templates/admin/page_change_form.html:27 +#: .\templates\admin\cms_change_form.html.py:56 +#: .\templates\admin\page_change_form.html.py:27 msgid "History" msgstr "Histoire" -#: templates/admin/cms_change_form.html:57 -#: templates/admin/page_change_form.html:28 +#: .\templates\admin\cms_change_form.html.py:57 +#: .\templates\admin\page_change_form.html.py:28 msgid "View on site" msgstr "Voir sur le site" -#: templates/admin/cms_change_form.html:87 -#: templates/admin/page_change_form.html:38 -#: templates/admin/page_change_list.html:54 -#: templates/cms/admin/cms/page/change_form.html:24 +#: .\templates\admin\cms_change_form.html.py:87 +#: .\templates\admin\page_change_form.html.py:38 +#: .\templates\admin\page_change_list.html.py:54 +#: .\templates\cms\admin\cms\page\change_form.html.py:24 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Veuillez corriger l'erreur ci-dessous" msgstr[1] "Veuillez corriger les erreurs ci-dessous" -#: templates/admin/cms_change_form.html:107 +#: .\templates\admin\cms_change_form.html.py:107 msgid "All permissions" msgstr "Toutes le parmissions" -#: templates/admin/cms_change_form.html:108 -#: templates/admin/cms_change_form.html:120 +#: .\templates\admin\cms_change_form.html.py:108 +#: .\templates\admin\cms_change_form.html.py:120 msgid "Loading..." msgstr "Chargement..." -#: templates/admin/cms_change_form.html:119 +#: .\templates\admin\cms_change_form.html.py:119 msgid "Page states" msgstr "Etat de la page" -#: templates/admin/cms_change_form.html:142 +#: .\templates\admin\cms_change_form.html.py:142 #, python-format msgid "" "This page must be moderated at level %(moderation_level)s, post a message " "for moderator." -msgstr "" -"Le niveau nécessaire pour modérer cette page est le niveau " -"%(moderation_level)s, laisser un message pour le modérateur" +msgstr "Le niveau nécessaire pour modérer cette page est le niveau %" +"(moderation_level)s, laisser un message pour le modérateur" -#: templates/admin/cms_change_form.html:144 +#: .\templates\admin\cms_change_form.html.py:144 msgid "Request approvemet" msgstr "Demander l'approbation" -#: templates/admin/cms_change_form.html:234 -#: user/templates/registration/registration_form.html:16 +#: .\templates\admin\cms_change_form.html.py:234 +#: .\user\templates\registration\registration_form.html.py:16 msgid "Save" msgstr "Enregistrer" -#: templates/admin/cms_change_form.html:235 +#: .\templates\admin\cms_change_form.html.py:235 msgid "Save and continue editing" msgstr "Sauver et continuer l'édition" -#: templates/admin/cms_change_list.html:51 +#: .\templates\admin\cms_change_list.html.py:51 msgid "Successfully moved" msgstr "Déplacement réussi" -#: templates/admin/cms_change_list.html:76 +#: .\templates\admin\cms_change_list.html.py:76 #, python-format msgid "Recover deleted %(name)s" msgstr "Récupérer %(name)s effacé" -#: templates/admin/cms_change_list.html:79 -#: templates/admin/page_change_list.html:46 +#: .\templates\admin\cms_change_list.html.py:79 +#: .\templates\admin\page_change_list.html.py:46 #, python-format msgid "Add %(name)s" msgstr "Ajouter %(name)s" -#: templates/admin/cms_change_list.html:91 +#: .\templates\admin\cms_change_list.html.py:91 msgid "Pages on:" msgstr "Pages sur:" -#: templates/admin/cms_change_list.html:108 +#: .\templates\admin\cms_change_list.html.py:108 msgid "on" msgstr "on" -#: templates/admin/cms_change_list.html:108 +#: .\templates\admin\cms_change_list.html.py:108 msgid "off" msgstr "off" -#: templates/admin/cms_change_list.html:110 -#: templates/admin/page_change_list.html:65 +#: .\templates\admin\cms_change_list.html.py:110 +#: .\templates\admin\page_change_list.html.py:65 msgid "Filter" msgstr "Filtre" -#: templates/admin/index.html:18 templates/admin/page_index.html:18 +#: .\templates\admin\index.html.py:18 .\templates\admin\page_index.html.py:18 #, python-format msgid "Models available in the %(name)s application." msgstr "Le modèle disponible dans l'application %(name)s." -#: templates/admin/index.html:19 templates/admin/page_app_index.html:10 -#: templates/admin/page_index.html:19 +#: .\templates\admin\index.html.py:19 +#: .\templates\admin\page_app_index.html.py:10 +#: .\templates\admin\page_index.html.py:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: templates/admin/index.html:29 templates/admin/page_change_form.html:20 -#: templates/admin/page_index.html:29 +#: .\templates\admin\index.html.py:29 +#: .\templates\admin\page_change_form.html.py:20 +#: .\templates\admin\page_index.html.py:29 msgid "Add" msgstr "Ajouter" -#: templates/admin/index.html:35 templates/admin/page_index.html:35 +#: .\templates\admin\index.html.py:35 .\templates\admin\page_index.html.py:35 msgid "Change" msgstr "modifié par" -#: templates/admin/index.html:64 templates/admin/page_index.html:45 +#: .\templates\admin\index.html.py:64 .\templates\admin\page_index.html.py:45 msgid "You don't have permission to edit anything." msgstr "Vous n'aver pas l'autorisation d'éditer quoi que ce soit." -#: templates/admin/index.html:72 templates/admin/page_index.html:53 +#: .\templates\admin\index.html.py:72 .\templates\admin\page_index.html.py:53 msgid "Recent Actions" msgstr "Actions récentes" -#: templates/admin/index.html:73 templates/admin/page_index.html:54 +#: .\templates\admin\index.html.py:73 .\templates\admin\page_index.html.py:54 msgid "My Actions" msgstr "Mes actions" -#: templates/admin/index.html:77 templates/admin/page_index.html:58 +#: .\templates\admin\index.html.py:77 .\templates\admin\page_index.html.py:58 msgid "None available" msgstr "Aucune disponible" -#: templates/admin/index.html:91 templates/admin/page_index.html:72 +#: .\templates\admin\index.html.py:91 .\templates\admin\page_index.html.py:72 msgid "Unknown content" msgstr "Contenu inconnu" -#: templates/admin/page_base.html:20 templates/admin/page_index.html:11 +#: .\templates\admin\page_base.html.py:20 +#: .\templates\admin\page_index.html.py:11 msgid "Pages" msgstr "Pages" -#: templates/admin/page_base_site.html:7 +#: .\templates\admin\page_base_site.html.py:7 msgid "Django administration" msgstr "Administration de Django" -#: templates/admin/page_login.html:8 +#: .\templates\admin\page_login.html.py:8 msgid "Connexion" msgstr "Connexion" -#: templates/admin/page_login.html:20 +#: .\templates\admin\page_login.html.py:20 msgid "Username:" msgstr "Nom de utilisateur :" -#: templates/admin/page_login.html:24 +#: .\templates\admin\page_login.html.py:24 msgid "Password:" msgstr "Mot de passe :" -#: templates/admin/page_login.html:29 -#: user/templates/registration/login.html:39 +#: .\templates\admin\page_login.html.py:29 +#: .\user\templates\registration\login.html.py:39 msgid "Create an account" msgstr "Créer un compte" -#: templates/admin/page_login.html:30 -#: user/templates/registration/login.html:40 +#: .\templates\admin\page_login.html.py:30 +#: .\user\templates\registration\login.html.py:40 msgid "Forget password?" msgstr "Oubliez le mot de passe?" -#: templates/admin/page_login.html:32 -#: user/templates/ldt/user/login_form.html:37 -#: user/templates/ldt/user/login_form.html:45 -#: user/templates/registration/login.html:21 -#: user/templates/registration/password_reset_complete.html:14 +#: .\templates\admin\page_login.html.py:32 +#: .\user\templates\ldt\user\login_form.html.py:37 +#: .\user\templates\ldt\user\login_form.html.py:45 +#: .\user\templates\registration\login.html.py:21 +#: .\user\templates\registration\password_reset_complete.html.py:14 msgid "Log in" msgstr "Connexion" -#: templates/cms/admin/cms/page/change_form.html:11 +#: .\templates\cms\admin\cms\page\change_form.html.py:11 msgid "Documentation" msgstr "Documentation" -#: templates/cms/admin/cms/page/change_form.html:11 +#: .\templates\cms\admin\cms\page\change_form.html.py:11 msgid "Change password" msgstr "Modifier le mot de passe" -#: templates/cms/admin/cms/page/change_form.html:11 -#: templates/ldt/ldt_base.html:54 user/templates/ldt/user/login_form.html:34 +#: .\templates\cms\admin\cms\page\change_form.html.py:11 +#: .\templates\ldt\ldt_base.html.py:121 +#: .\user\templates\ldt\user\login_form.html.py:34 msgid "Log out" msgstr "Déconnexion" -#: templates/cms/admin/cms/page/change_form.html:42 +#: .\templates\cms\admin\cms\page\change_form.html.py:42 msgid "Ordering" msgstr "Ordre" -#: templates/cms/admin/cms/page/change_form.html:45 +#: .\templates\cms\admin\cms\page\change_form.html.py:45 msgid "Order:" msgstr "Ordre :" -#: templates/ldt/ldt_base.html:26 +#: .\templates\ldt\ldt_base.html.py:95 msgid "header_title" msgstr "Plateforme Ldt" -#: templates/ldt/ldt_base.html:44 +#: .\templates\ldt\ldt_base.html.py:111 msgid "home" msgstr "accueil" -#: templates/ldt/ldt_base.html:45 +#: .\templates\ldt\ldt_base.html.py:112 msgid "contents" msgstr "Liste des contenus" -#: templates/ldt/ldt_base.html:46 +#: .\templates\ldt\ldt_base.html.py:113 msgid "indexation projects" msgstr "Projets d'indexation" -#: templates/ldt/ldt_base.html:47 +#: .\templates\ldt\ldt_base.html.py:114 msgid "accounts" msgstr "Comptes" -#: templates/ldt/ldt_base.html:48 user/templates/ldt/user/change_email.html:6 -#: user/templates/ldt/user/change_email_done.html:6 -#: user/templates/ldt/user/login_form.html:32 -#: user/templates/registration/password_change_done.html:7 -#: user/templates/registration/password_change_form.html:13 +#: .\templates\ldt\ldt_base.html.py:115 +#: .\user\templates\ldt\user\change_email.html.py:6 +#: .\user\templates\ldt\user\change_email_done.html.py:6 +#: .\user\templates\ldt\user\login_form.html.py:32 +#: .\user\templates\registration\password_change_done.html.py:7 +#: .\user\templates\registration\password_change_form.html.py:13 msgid "Profiles" msgstr "Mon profil" -#: templates/ldt/ldt_base.html:62 +#: .\templates\ldt\ldt_base.html.py:129 msgid "Langue" msgstr "Langue" -#: templates/ldt/ldt_raw_base.html:13 +#: .\templates\ldt\ldt_raw_base.html.py:13 msgid "page_title" msgstr "Plateforme Ldt" -#: user/admin.py:15 +#: .\text\models.py:22 +msgid "annotation.external_id" +msgstr "id externe" + +#: .\text\models.py:23 +msgid "annotation.uri" +msgstr "uri" + +#: .\text\models.py:24 +msgid "annotation.tags" +msgstr "tags" + +#: .\text\models.py:25 +msgid "annotation.title" +msgstr "titre" + +#: .\text\models.py:26 +msgid "annotation.description" +msgstr "Description" + +#: .\text\models.py:27 +msgid "annotation.text" +msgstr "texte d'annotation" + +#: .\text\models.py:28 +msgid "annotation.color" +msgstr "couleur d'annotation" + +#: .\text\models.py:29 +msgid "creator.title" +msgstr "titre" + +#: .\text\models.py:30 +msgid "contributor.title" +msgstr "titre" + +#: .\text\models.py:31 +msgid "annotation.creation_date" +msgstr "date de création" + +#: .\text\models.py:32 +msgid "annotation.update_date" +msgstr "Date de maj" + +#: .\user\admin.py:13 msgid "User details" msgstr "Détail utilisateur" -#: user/admin.py:16 +#: .\user\admin.py:14 msgid "Groups" msgstr "Groupes" -#: user/admin.py:17 +#: .\user\admin.py:15 msgid "Permissions" msgstr "Permissions" -#: user/admin.py:27 user/templates/ldt/user/login_form.html:61 +#: .\user\admin.py:25 .\user\templates\ldt\user\login_form.html.py:61 msgid "Password" msgstr "Mot de passe" -#: user/forms.py:31 +#: .\user\forms.py:31 msgid "New password" msgstr "Nouveau mot de passe" -#: user/forms.py:33 +#: .\user\forms.py:33 msgid "New password confirmation" msgstr "Confirmation du nouveau mot de passe" -#: user/forms.py:78 user/forms.py:79 +#: .\user\forms.py:78 .\user\forms.py:79 msgid "E-mail" msgstr "E-mail" -#: user/forms.py:90 +#: .\user\forms.py:90 msgid "The two emails didn't match." msgstr "les deux emails ne correspondent pas" -#: user/views.py:45 user/templates/registration/login.html:24 +#: .\user\views.py:45 .\user\templates\registration\login.html.py:24 msgid "Sorry, that's not a valid username or password." msgstr "Saisissez un nom d'utilisateur et un mot de passe valide." -#: user/templates/ldt/user/change_email.html:7 -#: user/templates/ldt/user/change_email.html:10 -msgid "Modification de l'adresse émail" +#: .\user\templates\ldt\user\change_email.html.py:7 +#: .\user\templates\ldt\user\change_email.html.py:10 +msgid "Modification de l'adresse émail" msgstr "Modification de l'adresse email" -#: user/templates/ldt/user/change_email.html:26 +#: .\user\templates\ldt\user\change_email.html.py:26 msgid "" "Please enter your new e-mail twice so we can verify you typed it in " "correctly." -msgstr "" -"Saisissez deux fois votre nouvelle adresse émail afin de vérifier qu'il est " +msgstr "Saisissez deux fois votre nouvelle adresse émail afin de vérifier qu'il est " "correctment" -#: user/templates/ldt/user/change_email.html:32 +#: .\user\templates\ldt\user\change_email.html.py:32 msgid "email" msgstr "adresse émail" -#: user/templates/ldt/user/change_email.html:41 -msgid "Confirmation de l'adresse émail" +#: .\user\templates\ldt\user\change_email.html.py:41 +msgid "Confirmation de l'adresse émail" msgstr "Confirmation de l'adresse email" -#: user/templates/ldt/user/change_email.html:48 +#: .\user\templates\ldt\user\change_email.html.py:48 msgid "change my e-mail" msgstr "Changer l'adresse émail" -#: user/templates/ldt/user/change_email_done.html:7 -#: user/templates/ldt/user/change_email_done.html:10 +#: .\user\templates\ldt\user\change_email_done.html.py:7 +#: .\user\templates\ldt\user\change_email_done.html.py:10 msgid "email change" msgstr "Modification de l'adresse émail" -#: user/templates/ldt/user/change_email_done.html:12 +#: .\user\templates\ldt\user\change_email_done.html.py:12 msgid "email changed" msgstr "email modifié" -#: user/templates/ldt/user/change_email_done.html:13 +#: .\user\templates\ldt\user\change_email_done.html.py:13 msgid "back to profile" msgstr "Retourner à mon profil" -#: user/templates/ldt/user/home.html:9 +#: .\user\templates\ldt\user\home.html.py:9 msgid "Se connecter" msgstr "Se connecter" -#: user/templates/ldt/user/home.html:10 -msgid "Créer un compte" +#: .\user\templates\ldt\user\home.html.py:10 +msgid "Créer un compte" msgstr "Créer un compte" -#: user/templates/ldt/user/home.html:11 -msgid "récupérer mot de passe" +#: .\user\templates\ldt\user\home.html.py:11 +msgid "récupérer mot de passe" msgstr "Récupérer le mot de passe" -#: user/templates/ldt/user/login_form.html:50 +#: .\user\templates\ldt\user\login_form.html.py:50 msgid "create account" msgstr "Créer un compte" -#: user/templates/ldt/user/login_form.html:54 +#: .\user\templates\ldt\user\login_form.html.py:54 msgid "Pseudo" msgstr "Pseudo" -#: user/templates/ldt/user/login_form.html:57 -#: user/templates/ldt/user/login_form.html:64 +#: .\user\templates\ldt\user\login_form.html.py:57 +#: .\user\templates\ldt\user\login_form.html.py:64 msgid "this field is compulsory" msgstr "Ce champs est obligatoire" -#: user/templates/ldt/user/login_form.html:68 +#: .\user\templates\ldt\user\login_form.html.py:68 msgid "reset password" msgstr "Réinitialiser le mot de passe" -#: user/templates/ldt/user/login_form.html:71 +#: .\user\templates\ldt\user\login_form.html.py:71 msgid "Connection" msgstr "Connexion" -#: user/templates/ldt/user/profile.html:6 -#: user/templates/registration/password_change_form.html:14 -#: user/templates/registration/password_change_form.html:17 +#: .\user\templates\ldt\user\profile.html.py:6 +#: .\user\templates\registration\password_change_form.html.py:14 +#: .\user\templates\registration\password_change_form.html.py:17 msgid "Password change" msgstr "Modification du mot de passe" -#: user/templates/ldt/user/profile.html:7 +#: .\user\templates\ldt\user\profile.html.py:7 msgid "Mail change" msgstr "Modification de l'adresse émail" -#: user/templates/ldt/user/space.html:13 +#: .\user\templates\ldt\user\space.html.py:13 msgid "Page" msgstr "Pages" -#: user/templates/ldt/user/space.html:16 +#: .\user\templates\ldt\user\space.html.py:16 msgid "Projets Lignes de temps" msgstr "Projets Lignes de temps" -#: user/templates/registration/activate.html:6 -#: user/templates/registration/activate.html:9 +#: .\user\templates\registration\activate.html.py:6 +#: .\user\templates\registration\activate.html.py:9 msgid "Activate account" msgstr "Activer le compte" -#: user/templates/registration/activate.html:12 +#: .\user\templates\registration\activate.html.py:12 msgid "You have activated your account" msgstr "Vous avez bien activé votre compte." -#: user/templates/registration/activate.html:13 +#: .\user\templates\registration\activate.html.py:13 msgid "Go back to login page" msgstr "Retourner à la page de connexion" -#: user/templates/registration/activation_complete.html:4 -#: user/templates/registration/registration_complete.html:8 +#: .\user\templates\registration\activation_complete.html.py:4 +#: .\user\templates\registration\registration_complete.html.py:8 msgid "Sign up successfully" msgstr "Création de compte avec succès" -#: user/templates/registration/activation_complete.html:6 +#: .\user\templates\registration\activation_complete.html.py:6 msgid "activation completed" msgstr "Activation terminée" -#: user/templates/registration/logged_out.html:8 +#: .\user\templates\registration\logged_out.html.py:8 msgid "Thanks for spending some quality time with the Web site today." msgstr "Merci de votre visite." -#: user/templates/registration/logged_out.html:10 +#: .\user\templates\registration\logged_out.html.py:10 msgid "Log in again" msgstr "Se reconnecter" -#: user/templates/registration/login.html:46 +#: .\user\templates\registration\login.html.py:46 msgid "login" msgstr "Connexion" -#: user/templates/registration/password_change_done.html:3 -#: user/templates/registration/password_change_done.html:11 +#: .\user\templates\registration\password_change_done.html.py:3 +#: .\user\templates\registration\password_change_done.html.py:11 msgid "password change successful" msgstr "Changement de mot de passe réussi" -#: user/templates/registration/password_change_done.html:8 +#: .\user\templates\registration\password_change_done.html.py:8 msgid "password change" msgstr "Changement de mot de passe" -#: user/templates/registration/password_change_done.html:14 +#: .\user\templates\registration\password_change_done.html.py:14 msgid "Your password has been changed." msgstr "Votre mot de passe a été changeé." -#: user/templates/registration/password_change_done.html:15 +#: .\user\templates\registration\password_change_done.html.py:15 msgid "Go back to profiles" msgstr "Retourner à la page de mon profil" -#: user/templates/registration/password_change_form.html:20 +#: .\user\templates\registration\password_change_form.html.py:20 msgid "" "Please enter your old password, for security's sake, and then enter your new " "password twice so we can verify you typed it in correctly." -msgstr "" -"Par sécurité, veuillez enter votre ancien mot de passe puis le nouveau a " +msgstr "Par sécurité, veuillez enter votre ancien mot de passe puis le nouveau a " "deux reprise afin de savoir si vous l'avez taper correctement " -#: user/templates/registration/password_change_form.html:26 +#: .\user\templates\registration\password_change_form.html.py:26 msgid "Old password:" msgstr "Ancien mot de passe :" -#: user/templates/registration/password_change_form.html:32 -#: user/templates/registration/password_reset_confirm.html:19 +#: .\user\templates\registration\password_change_form.html.py:32 +#: .\user\templates\registration\password_reset_confirm.html.py:19 msgid "New password:" msgstr "Nouveau mot de passe :" -#: user/templates/registration/password_change_form.html:38 -#: user/templates/registration/password_reset_confirm.html:21 +#: .\user\templates\registration\password_change_form.html.py:38 +#: .\user\templates\registration\password_reset_confirm.html.py:21 msgid "Confirm password:" msgstr "Confirmer le mot de passe :" -#: user/templates/registration/password_change_form.html:44 -#: user/templates/registration/password_reset_confirm.html:22 +#: .\user\templates\registration\password_change_form.html.py:44 +#: .\user\templates\registration\password_reset_confirm.html.py:22 msgid "Change my password" msgstr "Modifier mon mot de passe" -#: user/templates/registration/password_reset_complete.html:6 -#: user/templates/registration/password_reset_confirm.html:6 -#: user/templates/registration/password_reset_confirm.html:9 -#: user/templates/registration/password_reset_done.html:6 -#: user/templates/registration/password_reset_form.html:13 -#: user/templates/registration/password_reset_form.html:15 -#: user/templates/registration/password_reset_form.html:18 +#: .\user\templates\registration\password_reset_complete.html.py:6 +#: .\user\templates\registration\password_reset_confirm.html.py:6 +#: .\user\templates\registration\password_reset_confirm.html.py:9 +#: .\user\templates\registration\password_reset_done.html.py:6 +#: .\user\templates\registration\password_reset_form.html.py:13 +#: .\user\templates\registration\password_reset_form.html.py:15 +#: .\user\templates\registration\password_reset_form.html.py:18 msgid "Password reset" msgstr "réinitialiser e mot de passe" -#: user/templates/registration/password_reset_complete.html:9 +#: .\user\templates\registration\password_reset_complete.html.py:9 msgid "Password reset complete" msgstr "Réinitialisation du mot de passe terminée" -#: user/templates/registration/password_reset_complete.html:12 +#: .\user\templates\registration\password_reset_complete.html.py:12 msgid "Your password has been set. You may go ahead and log in now." msgstr "Votre mot de passe a été fixé. vous pouvez vous connecter maintenant." -#: user/templates/registration/password_reset_confirm.html:15 +#: .\user\templates\registration\password_reset_confirm.html.py:15 msgid "" "Please enter your new password twice so we can verify you typed it in " "correctly." -msgstr "" -"veuillez enter votre nouveau mot de pass deux fois afin de le vérifier." +msgstr "veuillez enter votre nouveau mot de pass deux fois afin de le vérifier." -#: user/templates/registration/password_reset_confirm.html:27 +#: .\user\templates\registration\password_reset_confirm.html.py:27 msgid "Password reset unsuccessful" msgstr "Reinitialisation du mot de pass a échoué" -#: user/templates/registration/password_reset_confirm.html:29 +#: .\user\templates\registration\password_reset_confirm.html.py:29 msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." -msgstr "" -"Le lien de réinitialisation du mot de passe n'est pas valide, certainement " +msgstr "Le lien de réinitialisation du mot de passe n'est pas valide, certainement " "car il a déjà été utilisé. veuiller demander une nouvelle réinitialisation." -#: user/templates/registration/password_reset_done.html:8 +#: .\user\templates\registration\password_reset_done.html.py:8 msgid "Password reset successful" msgstr "Réinitialisation du mot de passe réussie" -#: user/templates/registration/password_reset_done.html:12 +#: .\user\templates\registration\password_reset_done.html.py:12 msgid "" "We've e-mailed you instructions for setting your password to the e-mail " "address you submitted. You should be receiving it shortly." -msgstr "" -"Nous vous avons envoyer les instructions de reinitialisation de votre mot de " +msgstr "Nous vous avons envoyer les instructions de reinitialisation de votre mot de " "passe à l'adresse email que vous nous avez fournie. vous devriez les " "recevoir bientôt." -#: user/templates/registration/password_reset_email.html:2 +#: .\user\templates\registration\password_reset_email.html.py:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" -"Vous recevez ce mail car vous avez damender la réinitialisation du mot de " -"passe" +msgstr "Vous recevez ce mail car vous avez damender la réinitialisation du mot de passe" -#: user/templates/registration/password_reset_email.html:3 +#: .\user\templates\registration\password_reset_email.html.py:3 #, python-format msgid "for your user account at %(site_name)s" msgstr "Pour votre compte sur le site %(site_name)s" -#: user/templates/registration/password_reset_email.html:5 +#: .\user\templates\registration\password_reset_email.html.py:5 msgid "Please go to the following page and choose a new password:" -msgstr "" -"veuillez aller à la page suivante et choisissez un nouveau mot de passe :" +msgstr "veuillez aller à la page suivante et choisissez un nouveau mot de passe :" -#: user/templates/registration/password_reset_email.html:9 +#: .\user\templates\registration\password_reset_email.html.py:9 msgid "Your username, in case you've forgotten:" msgstr "Pour rappel votre nom d'autilisateur :" -#: user/templates/registration/password_reset_email.html:11 +#: .\user\templates\registration\password_reset_email.html.py:11 msgid "Thanks for using our site!" msgstr "Merci de votre visite." -#: user/templates/registration/password_reset_email.html:13 +#: .\user\templates\registration\password_reset_email.html.py:13 #, python-format msgid "The %(site_name)s team" msgstr "L'équipe du site %(site_name)s" -#: user/templates/registration/password_reset_form.html:22 +#: .\user\templates\registration\password_reset_form.html.py:22 msgid "" "Forgotten your password? Enter your e-mail address below, and we'll e-mail " "instructions for setting a new one." -msgstr "" -"Mot de passe oublié ? Entrez votre adresse email ci-dessous pour recevoir " +msgstr "Mot de passe oublié ? Entrez votre adresse email ci-dessous pour recevoir " "les instructions pour en entrer un nouveau." -#: user/templates/registration/password_reset_form.html:27 -msgid "Adresse émail" +#: .\user\templates\registration\password_reset_form.html.py:27 +msgid "Adresse émail" msgstr "Adresse email" -#: user/templates/registration/password_reset_form.html:32 +#: .\user\templates\registration\password_reset_form.html.py:32 msgid "Reset my password" msgstr "Reinitialiser mon mot de passe" -#: user/templates/registration/registration_active.html:5 -#: user/templates/registration/registration_active.html:7 +#: .\user\templates\registration\registration_active.html.py:5 +#: .\user\templates\registration\registration_active.html.py:7 msgid "Activate the account" msgstr "Activer le compte" -#: user/templates/registration/registration_active.html:9 +#: .\user\templates\registration\registration_active.html.py:9 msgid "" -"Vous avez bien activé votre compte, vous pouvez accedez à votre espace " +"Vous avez bien activé votre compte, vous pouvez accedez à votre espace " "personnel." -msgstr "" -"Vous avez bien activé votre compte, vous pouvez accedez à votre espace " -"personnel." +msgstr "Vous avez bien activé votre compte, vous pouvez accedez à votre espace personnel." -#: user/templates/registration/registration_active.html:10 -msgid "retourner à la page de connexion" +#: .\user\templates\registration\registration_active.html.py:10 +msgid "retourner à la page de connexion" msgstr "retourner à la page de connexion" -#: user/templates/registration/registration_complete.html:6 -#: user/templates/registration/registration_form.html:11 +#: .\user\templates\registration\registration_complete.html.py:6 +#: .\user\templates\registration\registration_form.html.py:11 msgid "Sign up" msgstr "Création d'un compte" -#: user/templates/registration/registration_complete.html:10 +#: .\user\templates\registration\registration_complete.html.py:10 msgid "" "We've e-mailed you instructions for activate your account to the e-mail " "address you submitted. You should be receiving it shortly." -msgstr "" -"Nous vous avons envoyé par courriel les instructions pour activer le compte " +msgstr "Nous vous avons envoyé par courriel les instructions pour activer le compte " "à l'adresse que vous avez indiquée. Vous devriez le recevoir rapidement." #~ msgid "Create" diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/css/LdtPlayer.css --- a/src/ldt/ldt/media/css/LdtPlayer.css Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/css/LdtPlayer.css Wed Mar 23 17:34:36 2011 +0100 @@ -5,16 +5,17 @@ width:1.5em; } - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; } #Ldt-controler { font-size: 62.5%; font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#DECFE2; + background-color:#eeeeee; height:35px; padding:5px; } @@ -26,13 +27,6 @@ border-right:solid 1px #000; } - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - .tooltip { display:none; background:transparent url(imgs/white_arrow_mini.png); @@ -63,7 +57,6 @@ padding-bottom:5px; font-size:18px; height:22p; - color:#FFF; } #Ldt-SaDescription{ font-size:12px; @@ -80,9 +73,6 @@ margin-left:-10px; } - #Ldt-output{ - display:none; - } #Ldt-Show-Tags{ position:relative; height:13px; @@ -100,13 +90,13 @@ #Ldt-ShowAnnotation-audio{ position:relative; padding:5px; - background-color:#773584; + background-color:#cfcfcf; font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#000000; + color:#4D4D4D; } #Ldt-SaKeyword{ - background-color:#28042D; - color:#FFFFFF; + background-color:#b9b9b9; + color:#4D4D4D; padding:5px; font-weight:bold; text-align:left; diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/css/nyroModal.css --- a/src/ldt/ldt/media/css/nyroModal.css Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/css/nyroModal.css Wed Mar 23 17:34:36 2011 +0100 @@ -1,109 +1,102 @@ -@charset "UTF-8"; - -div#nyroModalFull { - font-size: 12px; - color: #777; -} -div#nyroModalLoading { - border: 4px solid #777; - width: 150px; - height: 150px; - text-indent: -9999em; - background: #fff url(../img/ajax-loader-43x43.gif) no-repeat; - background-position: center; -} -div#nyroModalLoading.error { - border: 4px solid #f66; - line-height: 20px; - padding: 20px; - width: 300px; - height: 100px; - text-indent: 0; - background: #fff; -} -div#nyroModalWrapper { - background: #fff; - border-color: #777; - border-style: solid; - border-width: 24px 4px 4px 4px; -} -a#closeBut { - position: absolute; - display: block; - top: -19px; - right: 0px; - width: 16px; - height: 16px; - text-indent: -9999em; - background: url(../img/close.png) no-repeat; - outline: 0; -} -h1#nyroModalTitle { - margin: 0; - padding: 0; - position: absolute; - top: -22px; - left: 5px; - font-size: 12px; - color: #ddd; -} -div#nyroModalContent { - overflow: auto; -} -div.wrapper div#nyroModalContent { - padding: 5px; -} -div.wrapperImg div#nyroModalContent { - position: relative; - overflow: hidden; - text-align: center; -} -div.wrapperImg img { - vertical-align: baseline; -} -div.wrapperImg div#nyroModalContent div { - position: absolute; - bottom: 0; - left: 0; - background: black; - padding: 10px; - margin: 10px; - border: 1px white dotted; - overflow: hidden; - opacity: 0.2; - filter: alpha(opacity=20); -} -div.wrapperImg div#nyroModalContent div:hover { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: help; -} -a.nyroModalPrev, a.nyroModalNext { - z-index: 105; - outline: none; - position: absolute; - top: 0; - height: 100%; - width: 40%; - cursor: pointer; - text-indent: -9999em; - background: left 20% no-repeat; - background-image: url(data:image/gif;base64,AAAA); /* Trick IE6 */ -} -div.wrapperSwf a.nyroModalPrev, div.wrapperSwf a.nyroModalNext, div.wrapper a.nyroModalPrev, div.wrapper a.nyroModalNext { - height: 60%; - width: 20%; -} -a.nyroModalPrev { - left: 0; -} -a.nyroModalPrev:hover { - background-image: url(../img/prev.gif); -} -a.nyroModalNext { - right: 0; - background-position: right 20%; -} -a.nyroModalNext:hover { - background-image: url(../img/next.gif); +.nyroModalBg { + position: fixed; + overflow: hidden; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: #000; + opacity: 0.7; +} +.nmReposition { + position: absolute; +} +.nyroModalCloseButton { + top: -13px; + right: -13px; + width: 12px; + height: 12px; + text-indent: -9999em; + background: url(../img/close_nm.gif); +} +.nyroModalTitle { + top: -26px; + left: 0; + margin: 0; + font-size: 1.1em; + color: #ddd; +} +.nyroModalCont { + position: absolute; + border: 4px solid #777; + margin: 25px; + background: #fff; +} +.nyroModalCont iframe { + width: 600px; + height: 400px; +} +.nyroModalError { + border: 4px solid red; + color: red; + width: 250px; + height: 250px; +} +.nyroModalError div { + min-width: 0; + min-height: 0; + padding: 10px; +} +.nyroModalLink, .nyroModalDom, .nyroModalForm, .nyroModalFormFile { + position: relative; + padding: 10px; + min-height: 250px; + min-width: 250px; + max-width: 1000px; +} +.nyroModalImage, .nyroModalSwf, .nyroModalIframe, .nyroModalIframeForm { + position: relative; + overflow: hidden; +} +.nyroModalHidden { + left: -9999em; + top: -9999em; +} +.nyroModalLoad { + position: absolute; + width: 100px; + height: 100px; + background: #fff url(../img/ajax-loader-43x43.gif) no-repeat center; + padding: 0; +} +.nyroModalPrev, .nyroModalNext { + outline: none; + position: absolute; + top: 0; + height: 60%; + width: 150px; + min-height: 50px; + max-height: 300px; + cursor: pointer; + text-indent: -9999em; + background: transparent url('data:image/gif;base64,AAAA') left 20% no-repeat; +} +.nyroModalImage .nyroModalPrev, .nyroModalImage .nyroModalNext { + height: 100%; + width: 40%; + max-height: none; +} +.nyroModalPrev { + left: 0; +} +.nyroModalPrev:hover { + background-image: url(../img/prev.gif); +} +.nyroModalNext { + right: 0; + background-position: right 20%; +} +.nyroModalNext:hover { + background-position: right 20%; + background-image: url(../img/next.gif); } \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/img/close_nm.gif Binary file src/ldt/ldt/media/img/close_nm.gif has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/img/next.gif Binary file src/ldt/ldt/media/img/next.gif has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/img/prev.gif Binary file src/ldt/ldt/media/img/prev.gif has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/js/jquery.DOMWindow.js --- a/src/ldt/ldt/media/js/jquery.DOMWindow.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,372 +0,0 @@ -(function($){ - - //closeDOMWindow - $.fn.closeDOMWindow = function(settings){ - - if(!settings){settings={};} - - var run = function(passingThis){ - - if(settings.anchoredClassName){ - var $anchorClassName = $('.'+settings.anchoredClassName); - $anchorClassName.fadeOut('fast',function(){ - if($.fn.draggable){ - $anchorClassName.draggable('destory').trigger("unload").remove(); - }else{ - $anchorClassName.trigger("unload").remove(); - } - }); - if(settings.functionCallOnClose){settings.functionCallAfterClose();} - }else{ - var $DOMWindowOverlay = $('#DOMWindowOverlay'); - var $DOMWindow = $('#DOMWindow'); - $DOMWindowOverlay.fadeOut('fast',function(){ - $DOMWindowOverlay.trigger('unload').unbind().remove(); - }); - $DOMWindow.fadeOut('fast',function(){ - if($.fn.draggable){ - $DOMWindow.draggable("destroy").trigger("unload").remove(); - }else{ - $DOMWindow.trigger("unload").remove(); - } - }); - - $(window).unbind('scroll.DOMWindow'); - $(window).unbind('resize.DOMWindow'); - - if($.fn.openDOMWindow.isIE6){$('#DOMWindowIE6FixIframe').remove();} - if(settings.functionCallOnClose){settings.functionCallAfterClose();} - } - }; - - if(settings.eventType){//if used with $(). - return this.each(function(index){ - $(this).bind(settings.eventType, function(){ - run(this); - return false; - }); - }); - }else{//else called as $.function - run(); - } - - }; - - //allow for public call, pass settings - $.closeDOMWindow = function(s){$.fn.closeDOMWindow(s);}; - - //openDOMWindow - $.fn.openDOMWindow = function(instanceSettings){ - - var shortcut = $.fn.openDOMWindow; - - //default settings combined with callerSettings//////////////////////////////////////////////////////////////////////// - - shortcut.defaultsSettings = { - anchoredClassName:'', - anchoredSelector:'', - borderColor:'#ccc', - borderSize:'4', - draggable:0, - eventType:null, //click, blur, change, dblclick, error, focus, load, mousedown, mouseout, mouseup etc... - fixedWindowY:100, - functionCallOnOpen:null, - functionCallOnClose:null, - height:500, - loader:0, - loaderHeight:0, - loaderImagePath:'', - loaderWidth:0, - modal:0, - overlay:1, - overlayColor:'#000', - overlayOpacity:'85', - positionLeft:0, - positionTop:0, - positionType:'centered', // centered, anchored, absolute, fixed - width:500, - windowBGColor:'#fff', - windowBGImage:null, // http path - windowHTTPType:'get', - windowPadding:10, - windowSource:'inline', //inline, ajax, iframe - windowSourceID:'', - windowSourceURL:'', - windowSourceAttrURL:'href', - windowOverflow : 'auto', - ajaxParameters : {} - }; - - var settings = $.extend({}, $.fn.openDOMWindow.defaultsSettings , instanceSettings || {}); - - //Public functions - - shortcut.viewPortHeight = function(){ return self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;}; - shortcut.viewPortWidth = function(){ return self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;}; - shortcut.scrollOffsetHeight = function(){ return self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;}; - shortcut.scrollOffsetWidth = function(){ return self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;}; - shortcut.isIE6 = typeof document.body.style.maxHeight === "undefined"; - - //Private Functions///////////////////////////////////////////////////////////////////////////////////////////////////////// - - var sizeOverlay = function(){ - var $DOMWindowOverlay = $('#DOMWindowOverlay'); - if(shortcut.isIE6){//if IE 6 - var overlayViewportHeight = document.documentElement.offsetHeight + document.documentElement.scrollTop - 4; - var overlayViewportWidth = document.documentElement.offsetWidth - 21; - $DOMWindowOverlay.css({'height':overlayViewportHeight +'px','width':overlayViewportWidth+'px'}); - }else{//else Firefox, safari, opera, IE 7+ - $DOMWindowOverlay.css({'height':'100%','width':'100%','position':'fixed'}); - } - }; - - var sizeIE6Iframe = function(){ - var overlayViewportHeight = document.documentElement.offsetHeight + document.documentElement.scrollTop - 4; - var overlayViewportWidth = document.documentElement.offsetWidth - 21; - $('#DOMWindowIE6FixIframe').css({'height':overlayViewportHeight +'px','width':overlayViewportWidth+'px'}); - }; - - var centerDOMWindow = function() { - var $DOMWindow = $('#DOMWindow'); - if(settings.height + 50 > shortcut.viewPortHeight()){//added 50 to be safe - $DOMWindow.css('left',Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindow.outerWidth())/2)); - }else{ - $DOMWindow.css('left',Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindow.outerWidth())/2)); - $DOMWindow.css('top',Math.round(shortcut.viewPortHeight()/2) + shortcut.scrollOffsetHeight() - Math.round(($DOMWindow.outerHeight())/2)); - } - }; - - var centerLoader = function() { - var $DOMWindowLoader = $('#DOMWindowLoader'); - if(shortcut.isIE6){//if IE 6 - $DOMWindowLoader.css({'left':Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindowLoader.innerWidth())/2),'position':'absolute'}); - $DOMWindowLoader.css({'top':Math.round(shortcut.viewPortHeight()/2) + shortcut.scrollOffsetHeight() - Math.round(($DOMWindowLoader.innerHeight())/2),'position':'absolute'}); - }else{ - $DOMWindowLoader.css({'left':'50%','top':'50%','position':'fixed'}); - } - - }; - - var fixedDOMWindow = function(){ - var $DOMWindow = $('#DOMWindow'); - $DOMWindow.css('left', settings.positionLeft + shortcut.scrollOffsetWidth()); - $DOMWindow.css('top', + settings.positionTop + shortcut.scrollOffsetHeight()); - }; - - var showDOMWindow = function(instance){ - if(arguments[0]){ - $('.'+instance+' #DOMWindowLoader').remove(); - $('.'+instance+' #DOMWindowContent').fadeIn('fast',function(){if(settings.functionCallOnOpen){settings.functionCallOnOpen();}}); - $('.'+instance+ '.closeDOMWindow').click(function(){ - $.closeDOMWindow(); - return false; - }); - }else{ - $('#DOMWindowLoader').remove(); - $('#DOMWindow').fadeIn('fast',function(){if(settings.functionCallOnOpen){settings.functionCallOnOpen();}}); - $('#DOMWindow .closeDOMWindow').click(function(){ - $.closeDOMWindow(); - return false; - }); - } - - }; - - var urlQueryToObject = function(s, q){ - var query = typeof(q) != 'undefined' ? q : {}; - s.replace(/b([^&=]*)=([^&=]*)b/g, function (m, a, d) { - if (typeof query[a] != 'undefined') { - query[a] += ',' + d; - } else { - query[a] = d; - } - }); - return query; - }; - - //Run Routine /////////////////////////////////////////////////////////////////////////////////////////////////////////////// - var run = function(passingThis){ - - //get values from element clicked, or assume its passed as an option - settings.windowSourceID = $(passingThis).attr('href') || settings.windowSourceID; - settings.windowSourceURL = $(passingThis).attr(settings.windowSourceAttrURL) || settings.windowSourceURL; - settings.windowBGImage = settings.windowBGImage ? 'background-image:url('+settings.windowBGImage+')' : ''; - var urlOnly, urlQueryObject; - - if(settings.positionType == 'anchored'){//anchored DOM window - - var anchoredPositions = $(settings.anchoredSelector).position(); - var anchoredPositionX = anchoredPositions.left + settings.positionLeft; - var anchoredPositionY = anchoredPositions.top + settings.positionTop; - - $('body').append('
    '); - //loader - if(settings.loader && settings.loaderImagePath !== ''){ - $('.'+settings.anchoredClassName).append('
    '); - - } - - if($.fn.draggable){ - if(settings.draggable){$('.' + settings.anchoredClassName).draggable({cursor:'move'});} - } - - switch(settings.windowSource){ - case 'inline'://////////////////////////////// inline ////////////////////////////////////////// - $('.' + settings.anchoredClassName+" #DOMWindowContent").append($(settings.windowSourceID).children()); - $('.' + settings.anchoredClassName).unload(function(){// move elements back when you're finished - $('.' + settings.windowSourceID).append( $('.' + settings.anchoredClassName+" #DOMWindowContent").children()); - }); - showDOMWindow(settings.anchoredClassName); - break; - case 'iframe'://////////////////////////////// iframe ////////////////////////////////////////// - $('.' + settings.anchoredClassName+" #DOMWindowContent").append(''); - $('.'+settings.anchoredClassName+'Iframe').load(showDOMWindow(settings.anchoredClassName)); - break; - case 'ajax'://////////////////////////////// ajax ////////////////////////////////////////// - if(settings.windowHTTPType == 'post'){ - - if(settings.windowSourceURL.indexOf("?") !== -1){//has a query string - urlOnly = settings.windowSourceURL.substr(0, settings.windowSourceURL.indexOf("?")); - urlQueryObject = urlQueryToObject(settings.windowSourceURL, settings.ajaxParameters); - }else{ - urlOnly = settings.windowSourceURL; - urlQueryObject = settings.ajaxParameters; - } - $('.' + settings.anchoredClassName+" #DOMWindowContent").load(urlOnly,urlQueryObject,function(){ - showDOMWindow(settings.anchoredClassName); - }); - }else{ - if(settings.windowSourceURL.indexOf("?") == -1){ //no query string, so add one - settings.windowSourceURL += '?'; - } - $('.' + settings.anchoredClassName+" #DOMWindowContent").load( - settings.windowSourceURL + '&random=' + (new Date().getTime()),function(){ - showDOMWindow(settings.anchoredClassName); - }); - } - break; - } - - }else{//centered, fixed, absolute DOM window - - //overlay & modal - if(settings.overlay){ - $('body').append(''); - if(shortcut.isIE6){//if IE 6 - $('body').append(''); - sizeIE6Iframe(); - } - sizeOverlay(); - var $DOMWindowOverlay = $('#DOMWindowOverlay'); - $DOMWindowOverlay.fadeIn('fast'); - if(!settings.modal){$DOMWindowOverlay.click(function(){$.closeDOMWindow();});} - } - - //loader - if(settings.loader && settings.loaderImagePath !== ''){ - $('body').append('
    '); - centerLoader(); - } - - //add DOMwindow - $('body').append(''); - - var $DOMWindow = $('#DOMWindow'); - //centered, absolute, or fixed - switch(settings.positionType){ - case 'centered': - centerDOMWindow(); - if(settings.height + 50 > shortcut.viewPortHeight()){//added 50 to be safe - $DOMWindow.css('top', (settings.fixedWindowY + shortcut.scrollOffsetHeight()) + 'px'); - } - break; - case 'absolute': - $DOMWindow.css({'top':(settings.positionTop+shortcut.scrollOffsetHeight())+'px','left':(settings.positionLeft+shortcut.scrollOffsetWidth())+'px'}); - if($.fn.draggable){ - if(settings.draggable){$DOMWindow.draggable({cursor:'move'});} - } - break; - case 'fixed': - fixedDOMWindow(); - break; - case 'anchoredSingleWindow': - var anchoredPositions = $(settings.anchoredSelector).position(); - var anchoredPositionX = anchoredPositions.left + settings.positionLeft; - var anchoredPositionY = anchoredPositions.top + settings.positionTop; - $DOMWindow.css({'top':anchoredPositionY + 'px','left':anchoredPositionX+'px'}); - - break; - } - - $(window).bind('scroll.DOMWindow',function(){ - if(settings.overlay){sizeOverlay();} - if(shortcut.isIE6){sizeIE6Iframe();} - if(settings.positionType == 'centered'){centerDOMWindow();} - if(settings.positionType == 'fixed'){fixedDOMWindow();} - }); - - $(window).bind('resize.DOMWindow',function(){ - if(shortcut.isIE6){sizeIE6Iframe();} - if(settings.overlay){sizeOverlay();} - if(settings.positionType == 'centered'){centerDOMWindow();} - }); - - switch(settings.windowSource){ - case 'inline'://////////////////////////////// inline ////////////////////////////////////////// - $DOMWindow.append($(settings.windowSourceID).children()); - $DOMWindow.unload(function(){// move elements back when you're finished - $(settings.windowSourceID).append($DOMWindow.children()); - }); - showDOMWindow(); - break; - case 'iframe'://////////////////////////////// iframe ////////////////////////////////////////// - var name = 'DOMWindowIframe'+Math.round(Math.random()*1000); - $DOMWindow.append(''); - $('#DOMWindowIframe').load(showDOMWindow()); - break; - case 'ajax'://////////////////////////////// ajax ////////////////////////////////////////// - if(settings.windowHTTPType == 'post'){ - - if(settings.windowSourceURL.indexOf("?") !== -1){//has a query string - urlOnly = settings.windowSourceURL.substr(0, settings.windowSourceURL.indexOf("?")); - urlQueryObject = urlQueryToObject(settings.windowSourceURL, settings.ajaxParameters); - }else{ - urlOnly = settings.windowSourceURL; - urlQueryObject = settings.ajaxParameters; - } - $DOMWindow.load(urlOnly,urlQueryObject,function(){ - showDOMWindow(); - }); - }else{ - if(settings.windowSourceURL.indexOf("?") == -1){ //no query string, so add one - settings.windowSourceURL += '?'; - } - $DOMWindow.load( - settings.windowSourceURL + '&random=' + (new Date().getTime()),function(){ - showDOMWindow(); - }); - } - break; - } - - }//end if anchored, or absolute, fixed, centered - - };//end run() - - if(settings.eventType){//if used with $(). - return this.each(function(index){ - $(this).bind(settings.eventType,function(){ - run(this); - return false; - }); - }); - }else{//else called as $.function - run(); - } - - };//end function openDOMWindow - - //allow for public call, pass settings - $.openDOMWindow = function(s){$.fn.openDOMWindow(s);}; - -})(jQuery); diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/js/jquery.js --- a/src/ldt/ldt/media/js/jquery.js Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/js/jquery.js Wed Mar 23 17:34:36 2011 +0100 @@ -1,19 +1,8176 @@ -/* - * jQuery JavaScript Library v1.3.2 +/*! + * jQuery JavaScript Library v1.5 * http://jquery.com/ * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License + * 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: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 + * Date: Mon Jan 31 08:31:29 2011 -0500 */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +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 + // (both of which we optimize for) + 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+$/, + + // Check for digits + rdigit = /\d/, + + // 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.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The deferred used on DOM ready + readyList, + + // Promise methods + promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + + // 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 = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + 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.5", + + // 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.done( fn ); + + return this; + }, + + eq: function( 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 ) { + window.$ = _$; + + if ( deep ) { + 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, + + // Handle when the DOM is ready + ready: function( wait ) { + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !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.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // 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; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( 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; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + 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 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 ); + + // 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, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + // Cross-browser xml parsing + // (xml & tmp used internally) + parseXML: function( data , xml , tmp ) { + + 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 ); + } + + tmp = xml.documentElement; + + if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { + jQuery.error( "Invalid XML: " + data ); + } + + return xml; + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + + if ( jQuery.support.scriptEval() ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + 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 ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + 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' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // 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 ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( 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 ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, 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, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its 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(); + }, + + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj , i /* internal */ ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[ i ] ] = deferred[ promiseMethods[ i ] ]; + } + return obj; + } + } ); + // Make sure only one callback list will be used + deferred.then( failDeferred.cancel, deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( object ) { + var args = arguments, + length = args.length, + deferred = length <= 1 && object && jQuery.isFunction( object.promise ) ? + object : + jQuery.Deferred(), + promise = deferred.promise(), + resolveArray; + + if ( length > 1 ) { + resolveArray = new Array( length ); + jQuery.each( args, function( index, element ) { + jQuery.when( element ).then( function( value ) { + resolveArray[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; + if( ! --length ) { + deferred.resolveWith( promise, resolveArray ); + } + }, deferred.reject ); + } ); + } else if ( deferred !== object ) { + deferred.resolve( object ); + } + return promise; + }, + + // 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 jQuerySubclass( selector, context ) { + return new jQuerySubclass.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySubclass, this ); + jQuerySubclass.superclass = this; + jQuerySubclass.fn = jQuerySubclass.prototype = this(); + jQuerySubclass.fn.constructor = jQuerySubclass; + jQuerySubclass.subclass = this.subclass; + jQuerySubclass.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { + context = jQuerySubclass(context); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + }; + jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; + var rootjQuerySubclass = jQuerySubclass(document); + return jQuerySubclass; + }, + + browser: {} +}); + +// Create readyList deferred +readyList = jQuery._Deferred(); + +// 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; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// 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(); +} + +// Expose jQuery to the global object +return (window.jQuery = window.$ = jQuery); + +})(); + + +(function() { + + jQuery.support = {}; + + var div = document.createElement("div"); + + div.style.display = "none"; + div.innerHTML = "
    a"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ); + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.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 insted) + style: /red/.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: div.getElementsByTagName("input")[0].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, + + // Will be defined later + deleteExpando: true, + optDisabled: false, + checkClone: false, + _scriptEval: null, + noCloneEvent: true, + boxModel: null, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + + jQuery.support.scriptEval = function() { + if ( jQuery.support._scriptEval === null ) { + var root = document.documentElement, + script = document.createElement("script"), + id = "script" + jQuery.now(); + + script.type = "text/javascript"; + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + jQuery.support._scriptEval = true; + delete window[ id ]; + } else { + jQuery.support._scriptEval = false; + } + + root.removeChild( script ); + // release memory in IE + root = script = id = null; + } + + return jQuery.support._scriptEval; + }; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + if ( div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = ""; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"), + body = document.getElementsByTagName("body")[0]; + + // Frameset documents with no body should not run this code + if ( !body ) { + return; + } + + div.style.width = div.style.paddingLeft = "1px"; + body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // 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; + jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
    "; + jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + } + + div.innerHTML = "
    t
    "; + var tds = div.getElementsByTagName("td"); + + // 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) + jQuery.support.reliableHiddenOffsets = 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) + jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + div.innerHTML = ""; + + body.removeChild( div ).style.display = "none"; + div = tds = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + // 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 ( !el.attachEvent ) { + return true; + } + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + div = all = a = null; +})(); + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/; + +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 && !jQuery.isEmptyObject(elem); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, + + // 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[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // 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 || (pvt && id && !cache[ id ][ internalKey ])) && 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[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + } + + // 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" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + return getByName ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var 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[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !jQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !jQuery.isEmptyObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // 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 + if ( jQuery.support.deleteExpando || cache != window ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else 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[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = 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 data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var 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 $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.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 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( 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; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + 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(); + + // 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"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + } + } +}); + +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( i ) { + 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() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var 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) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), 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( rspaces ); + + 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 + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // 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; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var 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 + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var 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 ); + } + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // 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 + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // 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/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + // Handle everything which isn't a DOM element node + if ( set ) { + elem[ name ] = value; + } + return elem[ name ]; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }, + eventKey = "events"; + /* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData[ eventKey ], + eventHandle = elemData.handle; + + if ( typeof events === "function" ) { + // On plain objects events is a fn that holds the the data + // which prevents this data from being JSON serialized + // the function does not need to be called, it just contains the data + eventHandle = events.handle; + events = events.events; + + } else if ( !events ) { + if ( !elem.nodeType ) { + // On plain objects, create a fn that acts as the holder + // of the values to avoid JSON serialization of event data + elemData[ eventKey ] = elemData = function(){}; + } + + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // 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 the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + 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, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData[ eventKey ]; + + if ( !elemData || !events ) { + return; + } + + if ( typeof events === "function" ) { + elemData = events; + events = events.events; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( typeof elemData === "function" ) { + jQuery.removeData( elem, eventKey, true ); + + } else if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + // XXX This code smells terrible. event.js should not be directly + // inspecting the data cache + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[type] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = elem.nodeType ? + jQuery._data( elem, "handle" ) : + (jQuery._data( elem, eventKey ) || {}).handle; + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery._data(this, eventKey); + + if ( typeof events === "function" ) { + events = events.events; + } + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.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 pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + 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; + } + } + } + } +}; + +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 ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // 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; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.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 +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + return jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + return testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + return testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + args[0].type = type; + return jQuery.event.handle.apply( elem, args ); +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) || data === false ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, 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; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, eventKey ); + + if ( typeof events === "function" ) { + events = events.events; + } + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +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").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.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// 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 ); + + } 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 ); + } + } + + } 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; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + 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, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + 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 ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var 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 "Syntax error, unrecognized expression: " + msg; +}; + +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" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.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 && !/\W/.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" && !/\W/.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" && !/\W/.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(/\\/g, "") + " "; + + 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(/\\/g, ""); + }, + + TAG: function( match, curLoop ) { + return match[1].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(/\\/g, ""); + + 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(/\\/g, ""); + + 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 + 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 ) { + return "text" === elem.type; + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + 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 || Sizzle.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 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": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var 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.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = 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 === "=" ? + 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 ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else 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; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// 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 = ""; + + // 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 = ""; + + 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 = "

    "; + + // 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 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 ) { + context.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, + 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; + } + + if ( matches ) { + 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 ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
    "; + + // 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.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = 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.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = 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 ) { + 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 ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +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 ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var 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 ( var n = length; n < ret.length; n++ ) { + for ( var 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 && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + 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 ) { + 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 ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // 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 ), + 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 ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + 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, args.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 ) { + 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; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
    ", "
    " ], + thead: [ 1, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + col: [ 2, "", "
    " ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and ',endLn=stEnd.length,pos,pos2,tmp;while((pos=data.indexOf(stStart,start))>-1){pos2=data.indexOf(stEnd)+endLn;tmp=$(data.substring(pos,pos2));if(!tmp.attr('src')||tmp.attr('rel')=='forceLoad'){if(tmp.attr('rev')=='shown')this._scriptsShown.push(tmp.get(0));else this._scripts.push(tmp.get(0));}data=data.substring(0,pos)+data.substr(pos2);start=pos;}return data;},_hasFilter:function(filter){var ret=false;$.each(this.filters,function(i,f){ret=ret||f==filter;});return ret;},_delFilter:function(filter){this.filters=$.map(this.filters,function(v){if(v!=filter)return v;});},_callFilters:function(fct){this.getInternal()._debug(fct);var ret=[],self=this;$.each(this.filters,function(i,f){ret[f]=self._callFilter(f,fct);});if(this.callbacks[fct]&&$.isFunction(this.callbacks[fct]))this.callbacks[fct](this);return ret;},_callFilter:function(f,fct){if(_filters[f]&&_filters[f][fct]&&$.isFunction(_filters[f][fct]))return _filters[f][fct](this);return undefined;},_callAnim:function(fct,clb){this.getInternal()._debug(fct);this._callFilters('before'+ucfirst(fct));if(!this._animated){this._animated=true;if(!$.isFunction(clb))clb=$.noop;var set=this.anim[fct]||this.anim.def||'basic';if(!_animations[set]||!_animations[set][fct]||!$.isFunction(_animations[set][fct]))set='basic';_animations[set][fct](this,$.proxy(function(){this._animated=false;this._callFilters('after'+ucfirst(fct));clb();},this));}},_load:function(){this.getInternal()._debug('_load');if(!this.loading&&this.loadFilter){this.loading=true;this._callFilter(this.loadFilter,'load');}},_contentLoading:function(){if(!this._animated&&this._bgReady){if(!this._transition&&this.elts.cont.html().length>0)this._transition=true;this._nbContentLoading++;if(!this.loading){if(!this._opened){this._opened=true;if(this._transition){var fct=$.proxy(function(){this._writeContent();this._callFilters('beforeShowCont');this._callAnim('hideTrans',$.proxy(function(){this._transition=false;this._callFilters('afterShowCont');this.elts.cont.append(this._scriptsShown);this._reposition();},this));},this);if(this._nbContentLoading==1){this._unreposition();this._callAnim('showTrans',fct);}else{fct();}}else{this._callAnim('hideLoad',$.proxy(function(){this._writeContent();this._callAnim('showCont',$.proxy(function(){this.elts.cont.append(this._scriptsShown);this._reposition();},this));},this));}}}else if(this._nbContentLoading==1){var outer=this.getInternal()._getOuter(this.elts.load);this.elts.load .css({position:'fixed',top:(this.getInternal().fullSize.viewH-this.elts.load.height()-outer.h.margin)/2,left:(this.getInternal().fullSize.viewW-this.elts.load.width()-outer.w.margin)/2});if(this._transition){this._unreposition();this._callAnim('showTrans',$.proxy(function(){this._contentLoading();},this));}else{this._callAnim('showLoad',$.proxy(function(){this._contentLoading();},this));}}}},_writeContent:function(){this.elts.cont .empty().append(this.elts.hidden.contents()).append(this._scripts).append(this.showCloseButton?this.closeButton:'').css({position:'fixed',width:this.sizes.w,height:this.sizes.h,top:(this.getInternal().fullSize.viewH-this.sizes.h-this.sizes.hMargin)/2,left:(this.getInternal().fullSize.viewW-this.sizes.w-this.sizes.wMargin)/2});},_reposition:function(){var elts=this.elts.cont.find('.nmReposition');if(elts.length){var space=this.getInternal()._getSpaceReposition();elts.each(function(){var me=$(this),offset=me.offset();me.css({position:'fixed',top:offset.top-space.top,left:offset.left-space.left});});this.elts.cont.after(elts);}this.elts.cont.css('overflow','auto');this._callFilters('afterReposition');},_unreposition:function(){this.elts.cont.css('overflow','');var elts=this.elts.all.find('.nmReposition');if(elts.length)this.elts.cont.append(elts.removeAttr('style'));this._callFilters('afterUnreposition');}},_internal={firstInit:true,stack:[],fullSize:{w:0,h:0,wW:0,wH:0,viewW:0,viewH:0},nyroModal:function(opts,fullObj){if(_internal.firstInit){_internal._container=$('
    ').appendTo($b);$w.smartresize($.proxy(_internal._resize,_internal));$d.bind('keydown.nyroModal',$.proxy(_internal._keyHandler,_internal));_internal._calculateFullSize();_internal.firstInit=false;}return this.nmInit(opts,fullObj).each(function(){_internal._init($(this).data('nmObj'));});},nmInit:function(opts,fullObj){return this.each(function(){var me=$(this);if(fullObj)me.data('nmObj',$.extend(true,{opener:me},opts));else me.data('nmObj',me.data('nmObj')?$.extend(true,me.data('nmObj'),opts):$.extend(true,{opener:me},_nmObj,opts));});},nmCall:function(){return this.trigger('nyroModal');},nmManual:function(url,opts){$('',{href:url}).nyroModal(opts).trigger('nyroModal');},nmData:function(data,opts){this.nmManual('#',$.extend({data:data},opts));},nmObj:function(opts){$.extend(true,_nmObj,opts);},nmInternal:function(opts){$.extend(true,_internal,opts);},nmAnims:function(opts){$.extend(true,_animations,opts);},nmFilters:function(opts){$.extend(true,_filters,opts);},nmTop:function(){if(_internal.stack.length)return $(_internal.stack[_internal.stack.length-1]).data('nmObj');return undefined;},_debug:function(msg){if(window.console&&window.console.log)window.console.log(msg);},_container:undefined,_init:function(nm){nm.filters=[];$.each(_filters,function(f,obj){if(obj.is&&$.isFunction(obj.is)&&obj.is(nm)){nm.filters.push(f);}});nm._callFilters('initFilters');nm._callFilters('init');nm.opener .unbind('nyroModal.nyroModal nmClose.nyroModal nmResize.nyroModal').bind({'nyroModal.nyroModal':function(e){nm.open();return false;},'nmClose.nyroModal':function(){nm.close();return false;},'nmResize.nyroModal':function(){nm.resize();return false;}});},_scrollWidth:(function(){var scrollbarWidth;if($.browser.msie){var $textarea1=$('').css({position:'absolute',top:-1000,left:-1000}).appendTo($b),$textarea2=$('').css({position:'absolute',top:-1000,left:-1000}).appendTo($b);scrollbarWidth=$textarea1.width()-$textarea2.width();$textarea1.add($textarea2).remove();}else{var $div=$('
    ').css({width:100,height:100,overflow:'auto',position:'absolute',top:-1000,left:-1000}).prependTo($b).append('
    ').find('div').css({width:'100%',height:200});scrollbarWidth=100-$div.width();$div.parent().remove();}return scrollbarWidth;})(),_selNyroModal:function(obj){return $(obj).data('nmObj')?true:false;},_selNyroModalOpen:function(obj){var me=$(obj);return me.data('nmObj')?me.data('nmObj')._open:false;},_keyHandler:function(e){var nmTop=$.nmTop();if(nmTop&&nmTop.useKeyHandler){return nmTop.keyHandle(e);}},_pushStack:function(obj){this.stack=$.map(this.stack,function(elA){if(elA!=obj.get(0))return elA;});this.stack.push(obj.get(0));},_removeStack:function(obj){this.stack=$.map(this.stack,function(elA){if(elA!=obj.get(0))return elA;});},_resize:function(){var opens=$(':nmOpen').each(function(){$(this).data('nmObj')._unreposition();});this._calculateFullSize();opens.trigger('nmResize');},_calculateFullSize:function(){this.fullSize={w:$d.width(),h:$d.height(),wW:$w.width(),wH:$w.height()};this.fullSize.viewW=Math.min(this.fullSize.w,this.fullSize.wW);this.fullSize.viewH=Math.min(this.fullSize.h,this.fullSize.wH);},_getCurCSS:function(elm,name){var ret=parseInt($.curCSS(elm,name,true));return isNaN(ret)?0:ret;},_getOuter:function(elm){elm=elm.get(0);var ret={h:{margin:this._getCurCSS(elm,'marginTop')+this._getCurCSS(elm,'marginBottom'),border:this._getCurCSS(elm,'borderTopWidth')+this._getCurCSS(elm,'borderBottomWidth'),padding:this._getCurCSS(elm,'paddingTop')+this._getCurCSS(elm,'paddingBottom')},w:{margin:this._getCurCSS(elm,'marginLeft')+this._getCurCSS(elm,'marginRight'),border:this._getCurCSS(elm,'borderLeftWidth')+this._getCurCSS(elm,'borderRightWidth'),padding:this._getCurCSS(elm,'paddingLeft')+this._getCurCSS(elm,'paddingRight')}};ret.h.outer=ret.h.margin+ret.h.border;ret.w.outer=ret.w.margin+ret.w.border;ret.h.inner=ret.h.padding+ret.h.border;ret.w.inner=ret.w.padding+ret.w.border;ret.h.total=ret.h.outer+ret.h.padding;ret.w.total=ret.w.outer+ret.w.padding;return ret;},_getSpaceReposition:function(){var outer=this._getOuter($b),ie7=$.browser.msie&&$.browser.version<8&&!(screen.height<=$w.height()+23);return{top:$w.scrollTop()-(!ie7?outer.h.border/2:0),left:$w.scrollLeft()-(!ie7?outer.w.border/2:0)};},_getHash:function(url){if(typeof url=='string'){var hashPos=url.indexOf('#');if(hashPos>-1)return url.substring(hashPos);}return '';},_extractUrl:function(url){var ret={url:undefined,sel:undefined};if(url){var hash=this._getHash(url),hashLoc=this._getHash(window.location.href),curLoc=window.location.href.substring(0,window.location.href.length-hashLoc.length),req=url.substring(0,url.length-hash.length);ret.sel=hash;if(req!=curLoc&&req!=baseHref)ret.url=req;}return ret;}},_animations={basic:{showBg:function(nm,clb){nm.elts.bg.css({opacity:0.7}).show();clb();},hideBg:function(nm,clb){nm.elts.bg.hide();clb();},showLoad:function(nm,clb){nm.elts.load.show();clb();},hideLoad:function(nm,clb){nm.elts.load.hide();clb();},showCont:function(nm,clb){nm.elts.cont.show();clb();},hideCont:function(nm,clb){nm.elts.cont.hide();clb();},showTrans:function(nm,clb){nm.elts.cont.hide();nm.elts.load.show();clb();},hideTrans:function(nm,clb){nm.elts.cont.show();nm.elts.load.hide();clb();},resize:function(nm,clb){nm.elts.cont.css({width:nm.sizes.w,height:nm.sizes.h,top:(nm.getInternal().fullSize.viewH-nm.sizes.h-nm.sizes.hMargin)/2,left:(nm.getInternal().fullSize.viewW-nm.sizes.w-nm.sizes.wMargin)/2});clb();}}},_filters={basic:{is:function(nm){return true;},init:function(nm){if(nm.opener.attr('rev')=='modal')nm.modal=true;if(nm.modal)nm.closeOnEscape=nm.closeOnClick=nm.showCloseButton=false;if(nm.closeOnEscape)nm.useKeyHandler=true;},initElts:function(nm){nm.elts.bg.addClass('nyroModalBg');if(nm.closeOnClick)nm.elts.bg.unbind('click.nyroModal').bind('click.nyroModal',function(e){e.preventDefault();nm.close();});nm.elts.cont.addClass('nyroModalCont');nm.elts.hidden.addClass('nyroModalCont nyroModalHidden');nm.elts.load.addClass('nyroModalCont nyroModalLoad');},error:function(nm){nm.elts.hidden.addClass('nyroModalError');nm.elts.cont.addClass('nyroModalError');nm._setCont(nm.errorMsg);},beforeShowCont:function(nm){nm.elts.cont .find('.nyroModal').nyroModal(nm.getForNewLinks(),true).end().find('.nyroModalClose').bind('click.nyroModal',function(e){e.preventDefault();nm.close();});},keyHandle:function(nm){if(nm.keyEvent.keyCode==27&&nm.closeOnEscape){nm.keyEvent.preventDefault();nm.close();}}},custom:{is:function(nm){return true;}}};$.fn.extend({nm:_internal.nyroModal,nyroModal:_internal.nyroModal,nmInit:_internal.nmInit,nmCall:_internal.nmCall});$.extend({nmManual:_internal.nmManual,nmData:_internal.nmData,nmObj:_internal.nmObj,nmInternal:_internal.nmInternal,nmAnims:_internal.nmAnims,nmFilters:_internal.nmFilters,nmTop:_internal.nmTop});$.expr[':'].nyroModal=$.expr[':'].nm=_internal._selNyroModal;$.expr[':'].nmOpen=_internal._selNyroModalOpen;});(function($,sr){var debounce=function(func,threshold,execAsap){var timeout;return function debounced(){var obj=this,args=arguments;function delayed(){if(!execAsap)func.apply(obj,args);timeout=null;};if(timeout)clearTimeout(timeout);else if(execAsap)func.apply(obj,args);timeout=setTimeout(delayed,threshold||100);};};jQuery.fn[sr]=function(fn){return fn?this.bind('resize',debounce(fn)):this.trigger(sr);};})(jQuery,'smartresize');function ucfirst(str){str+='';var f=str.charAt(0).toUpperCase();return f+str.substr(1);}; + jQuery(function($,undefined){$.nmAnims({fade:{showBg:function(nm,clb){nm.elts.bg.fadeTo(250,0.7,clb);},hideBg:function(nm,clb){nm.elts.bg.fadeOut(clb);},showLoad:function(nm,clb){nm.elts.load.fadeIn(clb);},hideLoad:function(nm,clb){nm.elts.load.fadeOut(clb);},showCont:function(nm,clb){nm.elts.cont.fadeIn(clb);},hideCont:function(nm,clb){nm.elts.cont.css('overflow','hidden').fadeOut(clb);},showTrans:function(nm,clb){nm.elts.load .css({position:nm.elts.cont.css('position'),top:nm.elts.cont.css('top'),left:nm.elts.cont.css('left'),width:nm.elts.cont.css('width'),height:nm.elts.cont.css('height'),marginTop:nm.elts.cont.css('marginTop'),marginLeft:nm.elts.cont.css('marginLeft')}).fadeIn(function(){nm.elts.cont.hide();clb();});},hideTrans:function(nm,clb){nm.elts.cont.css('visibility','hidden').show();nm.elts.load .css('position',nm.elts.cont.css('position')).animate({top:nm.elts.cont.css('top'),left:nm.elts.cont.css('left'),width:nm.elts.cont.css('width'),height:nm.elts.cont.css('height'),marginTop:nm.elts.cont.css('marginTop'),marginLeft:nm.elts.cont.css('marginLeft')},function(){nm.elts.cont.css('visibility','');nm.elts.load.fadeOut(clb);});},resize:function(nm,clb){nm.elts.cont.animate({width:nm.sizes.w,height:nm.sizes.h,top:(nm.getInternal().fullSize.viewH-nm.sizes.h-nm.sizes.hMargin)/2,left:(nm.getInternal().fullSize.viewW-nm.sizes.w-nm.sizes.wMargin)/2},clb);}}});$.nmObj({anim:{def:'fade'}});});; + jQuery(function($,undefined){$.nmFilters({title:{is:function(nm){return nm.opener.is('[title]');},beforeShowCont:function(nm){var offset=nm.elts.cont.offset();nm.store.title=$('

    ',{text:nm.opener.attr('title')}).addClass('nyroModalTitle nmReposition');nm.elts.cont.prepend(nm.store.title);},close:function(nm){if(nm.store.title){nm.store.title.remove();nm.store.title=undefined;delete(nm.store.title);}}}});});; + jQuery(function($,undefined){$.nmFilters({gallery:{is:function(nm){var ret=nm.opener.is('[rel]:not([rel=external], [rel=nofollow])');if(ret&&nm.galleryCounts&&!nm._hasFilter('title'))nm.filters.push('title');return ret;},init:function(nm){nm.useKeyHandler=true;},keyHandle:function(nm){if(!nm._animated&&nm._opened){if(nm.keyEvent.keyCode==39||nm.keyEvent.keyCode==40){nm.keyEvent.preventDefault();nm._callFilters('galleryNext');}else if(nm.keyEvent.keyCode==37||nm.keyEvent.keyCode==38){nm.keyEvent.preventDefault();nm._callFilters('galleryPrev');}}},initElts:function(nm){var rel=nm.opener.attr('rel'),indexSpace=rel.indexOf(' ');nm.store.gallery=indexSpace>0?rel.substr(0,indexSpace):rel;nm.store.galleryLinks=$('[href][rel="'+nm.store.gallery+'"], [href][rel^="'+nm.store.gallery+' "]');nm.store.galleryIndex=nm.store.galleryLinks.index(nm.opener);},beforeShowCont:function(nm){if(nm.galleryCounts&&nm.store.title&&nm.store.galleryLinks.length>1){var curTitle=nm.store.title.html();nm.store.title.html((curTitle.length?curTitle+' - ':'')+(nm.store.galleryIndex+1)+'/'+nm.store.galleryLinks.length);}},filledContent:function(nm){var link=this._getGalleryLink(nm,-1),append=nm.elts.hidden.find(' > div');if(link){$('',{text:'previous',href:'#'}).addClass('nyroModalPrev').bind('click',function(e){e.preventDefault();nm._callFilters('galleryPrev');}).appendTo(append);}link=this._getGalleryLink(nm,1);if(link){$('',{text:'next',href:'#'}).addClass('nyroModalNext').bind('click',function(e){e.preventDefault();nm._callFilters('galleryNext');}).appendTo(append);}},close:function(nm){nm.store.gallery=undefined;nm.store.galleryLinks=undefined;nm.store.galleryIndex=undefined;delete(nm.store.gallery);delete(nm.store.galleryLinks);delete(nm.store.galleryIndex);if(nm.elts.cont)nm.elts.cont.find('.nyroModalNext, .nyroModalPrev').remove();},galleryNext:function(nm){this._getGalleryLink(nm,1).nyroModal(nm.getForNewLinks(),true).click();},galleryPrev:function(nm){this._getGalleryLink(nm,-1).nyroModal(nm.getForNewLinks(),true).click();},_getGalleryLink:function(nm,dir){if(nm.store.gallery){if(!nm.ltr)dir *=-1;var index=nm.store.galleryIndex+dir;if(index>=0&&index').load(function(){nm.elts.cont.addClass('nyroModalImg');nm.elts.hidden.addClass('nyroModalImg');nm._setCont(this);}).error(function(){nm._error();}).attr('src',url);},size:function(nm){if(nm.sizes.w!=nm.sizes.initW||nm.sizes.h!=nm.sizes.initH){var ratio=Math.min(nm.sizes.w/nm.sizes.initW,nm.sizes.h/nm.sizes.initH);nm.sizes.w=nm.sizes.initW * ratio;nm.sizes.h=nm.sizes.initH * ratio;}var img=nm.loading?nm.elts.hidden.find('img'):nm.elts.cont.find('img');img.attr({width:nm.sizes.w,height:nm.sizes.h});},close:function(nm){if(nm.elts.cont){nm.elts.cont.removeClass('nyroModalImg');nm.elts.hidden.removeClass('nyroModalImg');}}}});});; + jQuery(function($,undefined){$.nmFilters({swf:{idCounter:1,is:function(nm){return nm._hasFilter('link')&&nm.opener.is('[href$=".swf"]');},init:function(nm){nm.loadFilter='swf';},load:function(nm){if(!nm.swfObjectId)nm.swfObjectId='nyroModalSwf-'+(this.idCounter++);var url=nm.store.link.url,cont='
    ',tmp='';$.each(nm.swf,function(name,val){cont+='';tmp+=' '+name+'="'+val+'"';});cont+='
    ';nm._setCont(cont);}}});});; + jQuery(function($,undefined){$.nmFilters({form:{is:function(nm){var ret=nm.opener.is('form');if(ret)nm.store.form=nm.getInternal()._extractUrl(nm.opener.attr('action'));return ret;},init:function(nm){nm.loadFilter='form';nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){e.preventDefault();nm.opener.trigger('nyroModal');});},load:function(nm){var data=nm.opener.serializeArray();if(nm.store.form.sel)data.push({name:nm.selIndicator,value:nm.store.form.sel.substring(1)});$.ajax({url:nm.store.form.url,data:data,type:nm.opener.attr('method')?nm.opener.attr('method'):'get',success:function(data){nm._setCont(data,nm.store.form.sel);},error:function(){nm._error();}});}}});});; + jQuery(function($,undefined){$.nmFilters({formFile:{is:function(nm){var ret=nm.opener.is('form[enctype="multipart/form-data"]');if(ret){nm._delFilter('form');if(!nm.store.form)nm.store.form=nm.getInternal()._extractUrl(nm.opener.attr('action'));}return ret;},init:function(nm){nm.loadFilter='formFile';nm.store.formFileLoading=false;nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){if(!nm.store.formFileIframe){e.preventDefault();nm.opener.trigger('nyroModal');}else{nm.store.formFileLoading=true;}});},initElts:function(nm){var inputSel;if(nm.store.form.sel)inputSel=$('',{'type':'hidden',name:nm.selIndicator,value:nm.store.form.sel.substring(1)}).appendTo(nm.opener);function rmFormFileElts(){if(inputSel){inputSel.remove();inputSel=undefined;delete(inputSel);}nm.store.formFileIframe.attr('src','about:blank').remove();nm.store.formFileIframe=undefined;delete(nm.store.formFileIframe);}nm.store.formFileIframe=$('').hide().load(function(){if(nm.store.formFileLoading){nm.store.formFileLoading=false;var content=nm.store.formFileIframe .unbind('load error').contents().find('body').not('script[src]');if(content&&content.html()&&content.html().length){rmFormFileElts();nm._setCont(content.html(),nm.store.form.sel);}else{var nbTry=0;fct=function(){nbTry++;var content=nm.store.formFileIframe .unbind('load error').contents().find('body').not('script[src]');if(content&&content.html()&&content.html().length){nm._setCont(content.html(),nm.store.form.sel);rmFormFileElts();}else if(nbTry<5){setTimeout(fct,25);}else{rmFormFileElts();nm._error();}};setTimeout(fct,25);}}}).error(function(){rmFormFileElts();nm._error();});nm.elts.all.append(nm.store.formFileIframe);nm.opener .attr('target','nyroModalFormFile').submit();},close:function(nm){nm.store.formFileLoading=false;if(nm.store.formFileIframe){nm.store.formFileIframe.remove();nm.store.formFileIframe=undefined;delete(nm.store.formFileIframe);}}}});});; + jQuery(function($,undefined){$.nmFilters({iframe:{is:function(nm){var target=nm.opener.attr('target')||'',rel=nm.opener.attr('rel')||'',opener=nm.opener.get(0);return!nm._hasFilter('image')&&(target.toLowerCase()=='_blank'||rel.toLowerCase().indexOf('external')>-1||(opener.hostname&&opener.hostname.replace(/:\d*$/,'')!=window.location.hostname.replace(/:\d*$/,'')));},init:function(nm){nm.loadFilter='iframe';},load:function(nm){nm.store.iframe=$('');nm._setCont(nm.store.iframe);},afterShowCont:function(nm){nm.store.iframe.attr('src',nm.opener.attr('href'));},close:function(nm){if(nm.store.iframe){nm.store.iframe.remove();nm.store.iframe=undefined;delete(nm.store.iframe);}}}});});; + jQuery(function($,undefined){$.nmFilters({iframeForm:{is:function(nm){var ret=nm._hasFilter('iframe')&&nm.opener.is('form');if(ret){nm._delFilter('iframe');nm._delFilter('form');}return ret;},init:function(nm){nm.loadFilter='iframeForm';nm.store.iframeFormLoading=false;nm.store.iframeFormOrgTarget=nm.opener.attr('target');nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){if(!nm.store.iframeFormIframe){e.preventDefault();nm.opener.trigger('nyroModal');}else{nm.store.iframeFormLoading=true;}});},load:function(nm){nm.store.iframeFormIframe=$('');nm._setCont(nm.store.iframeFormIframe);},afterShowCont:function(nm){nm.opener .attr('target','nyroModalIframeForm').submit();},close:function(nm){nm.store.iframeFormOrgTarget?nm.opener.attr('target',nm.store.iframeFormOrgTarget):nm.opener.removeAttr('target');delete(nm.store.formFileLoading);delete(nm.store.iframeFormOrgTarget);if(nm.store.iframeFormIframe){nm.store.iframeFormIframe.remove();nm.store.iframeFormIframe=undefined;delete(nm.store.iframeFormIframe);}}}});});; + jQuery(function($,undefined){$.nmFilters({embedly:{is:function(nm){var embedlyReg= /http:\/\/(.*youtube\.com\/watch.*|.*\.youtube\.com\/v\/.*|youtu\.be\/.*|.*\.youtube\.com\/user\/.*|.*\.youtube\.com\/.*#.*\/.*|m\.youtube\.com\/watch.*|m\.youtube\.com\/index.*|.*\.youtube\.com\/profile.*|.*justin\.tv\/.*|.*justin\.tv\/.*\/b\/.*|.*justin\.tv\/.*\/w\/.*|www\.ustream\.tv\/recorded\/.*|www\.ustream\.tv\/channel\/.*|www\.ustream\.tv\/.*|qik\.com\/video\/.*|qik\.com\/.*|qik\.ly\/.*|.*revision3\.com\/.*|.*\.dailymotion\.com\/video\/.*|.*\.dailymotion\.com\/.*\/video\/.*|www\.collegehumor\.com\/video:.*|.*twitvid\.com\/.*|www\.break\.com\/.*\/.*|vids\.myspace\.com\/index\.cfm\?fuseaction=vids\.individual&videoid.*|www\.myspace\.com\/index\.cfm\?fuseaction=.*&videoid.*|www\.metacafe\.com\/watch\/.*|www\.metacafe\.com\/w\/.*|blip\.tv\/file\/.*|.*\.blip\.tv\/file\/.*|video\.google\.com\/videoplay\?.*|.*revver\.com\/video\/.*|video\.yahoo\.com\/watch\/.*\/.*|video\.yahoo\.com\/network\/.*|.*viddler\.com\/explore\/.*\/videos\/.*|liveleak\.com\/view\?.*|www\.liveleak\.com\/view\?.*|animoto\.com\/play\/.*|dotsub\.com\/view\/.*|www\.overstream\.net\/view\.php\?oid=.*|www\.livestream\.com\/.*|www\.worldstarhiphop\.com\/videos\/video.*\.php\?v=.*|worldstarhiphop\.com\/videos\/video.*\.php\?v=.*|teachertube\.com\/viewVideo\.php.*|www\.teachertube\.com\/viewVideo\.php.*|www1\.teachertube\.com\/viewVideo\.php.*|www2\.teachertube\.com\/viewVideo\.php.*|bambuser\.com\/v\/.*|bambuser\.com\/channel\/.*|bambuser\.com\/channel\/.*\/broadcast\/.*|www\.schooltube\.com\/video\/.*\/.*|bigthink\.com\/ideas\/.*|bigthink\.com\/series\/.*|sendables\.jibjab\.com\/view\/.*|sendables\.jibjab\.com\/originals\/.*|www\.xtranormal\.com\/watch\/.*|dipdive\.com\/media\/.*|dipdive\.com\/member\/.*\/media\/.*|dipdive\.com\/v\/.*|.*\.dipdive\.com\/media\/.*|.*\.dipdive\.com\/v\/.*|.*yfrog\..*\/.*|tweetphoto\.com\/.*|www\.flickr\.com\/photos\/.*|flic\.kr\/.*|twitpic\.com\/.*|www\.twitpic\.com\/.*|twitpic\.com\/photos\/.*|www\.twitpic\.com\/photos\/.*|.*imgur\.com\/.*|.*\.posterous\.com\/.*|post\.ly\/.*|twitgoo\.com\/.*|i.*\.photobucket\.com\/albums\/.*|s.*\.photobucket\.com\/albums\/.*|phodroid\.com\/.*\/.*\/.*|www\.mobypicture\.com\/user\/.*\/view\/.*|moby\.to\/.*|xkcd\.com\/.*|www\.xkcd\.com\/.*|imgs\.xkcd\.com\/.*|www\.asofterworld\.com\/index\.php\?id=.*|www\.asofterworld\.com\/.*\.jpg|asofterworld\.com\/.*\.jpg|www\.qwantz\.com\/index\.php\?comic=.*|23hq\.com\/.*\/photo\/.*|www\.23hq\.com\/.*\/photo\/.*|.*dribbble\.com\/shots\/.*|drbl\.in\/.*|.*\.smugmug\.com\/.*|.*\.smugmug\.com\/.*#.*|emberapp\.com\/.*\/images\/.*|emberapp\.com\/.*\/images\/.*\/sizes\/.*|emberapp\.com\/.*\/collections\/.*\/.*|emberapp\.com\/.*\/categories\/.*\/.*\/.*|embr\.it\/.*|picasaweb\.google\.com.*\/.*\/.*#.*|picasaweb\.google\.com.*\/lh\/photo\/.*|picasaweb\.google\.com.*\/.*\/.*|dailybooth\.com\/.*\/.*|brizzly\.com\/pic\/.*|pics\.brizzly\.com\/.*\.jpg|img\.ly\/.*|www\.tinypic\.com\/view\.php.*|tinypic\.com\/view\.php.*|www\.tinypic\.com\/player\.php.*|tinypic\.com\/player\.php.*|www\.tinypic\.com\/r\/.*\/.*|tinypic\.com\/r\/.*\/.*|.*\.tinypic\.com\/.*\.jpg|.*\.tinypic\.com\/.*\.png|meadd\.com\/.*\/.*|meadd\.com\/.*|.*\.deviantart\.com\/art\/.*|.*\.deviantart\.com\/gallery\/.*|.*\.deviantart\.com\/#\/.*|fav\.me\/.*|.*\.deviantart\.com|.*\.deviantart\.com\/gallery|.*\.deviantart\.com\/.*\/.*\.jpg|.*\.deviantart\.com\/.*\/.*\.gif|.*\.deviantart\.net\/.*\/.*\.jpg|.*\.deviantart\.net\/.*\/.*\.gif|plixi\.com\/p\/.*|plixi\.com\/profile\/home\/.*|plixi\.com\/.*|www\.fotopedia\.com\/.*\/.*|fotopedia\.com\/.*\/.*|photozou\.jp\/photo\/show\/.*\/.*|photozou\.jp\/photo\/photo_only\/.*\/.*|instagr\.am\/p\/.*|skitch\.com\/.*\/.*\/.*|img\.skitch\.com\/.*|https:\/\/skitch\.com\/.*\/.*\/.*|https:\/\/img\.skitch\.com\/.*|share\.ovi\.com\/media\/.*\/.*|www\.questionablecontent\.net\/|questionablecontent\.net\/|www\.questionablecontent\.net\/view\.php.*|questionablecontent\.net\/view\.php.*|questionablecontent\.net\/comics\/.*\.png|www\.questionablecontent\.net\/comics\/.*\.png|picplz\.com\/user\/.*\/pic\/.*\/|twitrpix\.com\/.*|.*\.twitrpix\.com\/.*|www\.someecards\.com\/.*\/.*|someecards\.com\/.*\/.*|some\.ly\/.*|www\.some\.ly\/.*|pikchur\.com\/.*|achewood\.com\/.*|www\.achewood\.com\/.*|achewood\.com\/index\.php.*|www\.achewood\.com\/index\.php.*|www\.whitehouse\.gov\/photos-and-video\/video\/.*|www\.whitehouse\.gov\/video\/.*|wh\.gov\/photos-and-video\/video\/.*|wh\.gov\/video\/.*|www\.hulu\.com\/watch.*|www\.hulu\.com\/w\/.*|hulu\.com\/watch.*|hulu\.com\/w\/.*|.*crackle\.com\/c\/.*|www\.fancast\.com\/.*\/videos|www\.funnyordie\.com\/videos\/.*|www\.funnyordie\.com\/m\/.*|funnyordie\.com\/videos\/.*|funnyordie\.com\/m\/.*|www\.vimeo\.com\/groups\/.*\/videos\/.*|www\.vimeo\.com\/.*|vimeo\.com\/m\/#\/featured\/.*|vimeo\.com\/groups\/.*\/videos\/.*|vimeo\.com\/.*|vimeo\.com\/m\/#\/featured\/.*|www\.ted\.com\/talks\/.*\.html.*|www\.ted\.com\/talks\/lang\/.*\/.*\.html.*|www\.ted\.com\/index\.php\/talks\/.*\.html.*|www\.ted\.com\/index\.php\/talks\/lang\/.*\/.*\.html.*|.*nfb\.ca\/film\/.*|www\.thedailyshow\.com\/watch\/.*|www\.thedailyshow\.com\/full-episodes\/.*|www\.thedailyshow\.com\/collection\/.*\/.*\/.*|movies\.yahoo\.com\/movie\/.*\/video\/.*|movies\.yahoo\.com\/movie\/.*\/trailer|movies\.yahoo\.com\/movie\/.*\/video|www\.colbertnation\.com\/the-colbert-report-collections\/.*|www\.colbertnation\.com\/full-episodes\/.*|www\.colbertnation\.com\/the-colbert-report-videos\/.*|www\.comedycentral\.com\/videos\/index\.jhtml\?.*|www\.theonion\.com\/video\/.*|theonion\.com\/video\/.*|wordpress\.tv\/.*\/.*\/.*\/.*\/|www\.traileraddict\.com\/trailer\/.*|www\.traileraddict\.com\/clip\/.*|www\.traileraddict\.com\/poster\/.*|www\.escapistmagazine\.com\/videos\/.*|www\.trailerspy\.com\/trailer\/.*\/.*|www\.trailerspy\.com\/trailer\/.*|www\.trailerspy\.com\/view_video\.php.*|www\.atom\.com\/.*\/.*\/|fora\.tv\/.*\/.*\/.*\/.*|www\.spike\.com\/video\/.*|www\.gametrailers\.com\/video\/.*|gametrailers\.com\/video\/.*|www\.koldcast\.tv\/video\/.*|www\.koldcast\.tv\/#video:.*|techcrunch\.tv\/watch.*|techcrunch\.tv\/.*\/watch.*|mixergy\.com\/.*|video\.pbs\.org\/video\/.*|www\.zapiks\.com\/.*|tv\.digg\.com\/diggnation\/.*|tv\.digg\.com\/diggreel\/.*|tv\.digg\.com\/diggdialogg\/.*|www\.trutv\.com\/video\/.*|www\.nzonscreen\.com\/title\/.*|nzonscreen\.com\/title\/.*|app\.wistia\.com\/embed\/medias\/.*|https:\/\/app\.wistia\.com\/embed\/medias\/.*|www\.godtube\.com\/featured\/video\/.*|godtube\.com\/featured\/video\/.*|www\.godtube\.com\/watch\/.*|godtube\.com\/watch\/.*|www\.tangle\.com\/view_video.*|mediamatters\.org\/mmtv\/.*|www\.clikthrough\.com\/theater\/video\/.*|soundcloud\.com\/.*|soundcloud\.com\/.*\/.*|soundcloud\.com\/.*\/sets\/.*|soundcloud\.com\/groups\/.*|snd\.sc\/.*|www\.last\.fm\/music\/.*|www\.last\.fm\/music\/+videos\/.*|www\.last\.fm\/music\/+images\/.*|www\.last\.fm\/music\/.*\/_\/.*|www\.last\.fm\/music\/.*\/.*|www\.mixcloud\.com\/.*\/.*\/|www\.radionomy\.com\/.*\/radio\/.*|radionomy\.com\/.*\/radio\/.*|www\.entertonement\.com\/clips\/.*|www\.rdio\.com\/#\/artist\/.*\/album\/.*|www\.rdio\.com\/artist\/.*\/album\/.*|www\.zero-inch\.com\/.*|.*\.bandcamp\.com\/|.*\.bandcamp\.com\/track\/.*|.*\.bandcamp\.com\/album\/.*|freemusicarchive\.org\/music\/.*|www\.freemusicarchive\.org\/music\/.*|freemusicarchive\.org\/curator\/.*|www\.freemusicarchive\.org\/curator\/.*|www\.npr\.org\/.*\/.*\/.*\/.*\/.*|www\.npr\.org\/.*\/.*\/.*\/.*\/.*\/.*|www\.npr\.org\/.*\/.*\/.*\/.*\/.*\/.*\/.*|www\.npr\.org\/templates\/story\/story\.php.*|huffduffer\.com\/.*\/.*|www\.audioboo\.fm\/boos\/.*|audioboo\.fm\/boos\/.*|boo\.fm\/b.*|www\.xiami\.com\/song\/.*|xiami\.com\/song\/.*|espn\.go\.com\/video\/clip.*|espn\.go\.com\/.*\/story.*|abcnews\.com\/.*\/video\/.*|abcnews\.com\/video\/playerIndex.*|washingtonpost\.com\/wp-dyn\/.*\/video\/.*\/.*\/.*\/.*|www\.washingtonpost\.com\/wp-dyn\/.*\/video\/.*\/.*\/.*\/.*|www\.boston\.com\/video.*|boston\.com\/video.*|www\.facebook\.com\/photo\.php.*|www\.facebook\.com\/video\/video\.php.*|www\.facebook\.com\/v\/.*|cnbc\.com\/id\/.*\?.*video.*|www\.cnbc\.com\/id\/.*\?.*video.*|cnbc\.com\/id\/.*\/play\/1\/video\/.*|www\.cnbc\.com\/id\/.*\/play\/1\/video\/.*|cbsnews\.com\/video\/watch\/.*|www\.google\.com\/buzz\/.*\/.*\/.*|www\.google\.com\/buzz\/.*|www\.google\.com\/profiles\/.*|google\.com\/buzz\/.*\/.*\/.*|google\.com\/buzz\/.*|google\.com\/profiles\/.*|www\.cnn\.com\/video\/.*|edition\.cnn\.com\/video\/.*|money\.cnn\.com\/video\/.*|today\.msnbc\.msn\.com\/id\/.*\/vp\/.*|www\.msnbc\.msn\.com\/id\/.*\/vp\/.*|www\.msnbc\.msn\.com\/id\/.*\/ns\/.*|today\.msnbc\.msn\.com\/id\/.*\/ns\/.*|multimedia\.foxsports\.com\/m\/video\/.*\/.*|msn\.foxsports\.com\/video.*|www\.globalpost\.com\/video\/.*|www\.globalpost\.com\/dispatch\/.*|.*amazon\..*\/gp\/product\/.*|.*amazon\..*\/.*\/dp\/.*|.*amazon\..*\/dp\/.*|.*amazon\..*\/o\/ASIN\/.*|.*amazon\..*\/gp\/offer-listing\/.*|.*amazon\..*\/.*\/ASIN\/.*|.*amazon\..*\/gp\/product\/images\/.*|www\.amzn\.com\/.*|amzn\.com\/.*|www\.shopstyle\.com\/browse.*|www\.shopstyle\.com\/action\/apiVisitRetailer.*|www\.shopstyle\.com\/action\/viewLook.*|gist\.github\.com\/.*|twitter\.com\/.*\/status\/.*|twitter\.com\/.*\/statuses\/.*|mobile\.twitter\.com\/.*\/status\/.*|mobile\.twitter\.com\/.*\/statuses\/.*|www\.crunchbase\.com\/.*\/.*|crunchbase\.com\/.*\/.*|www\.slideshare\.net\/.*\/.*|www\.slideshare\.net\/mobile\/.*\/.*|.*\.scribd\.com\/doc\/.*|screenr\.com\/.*|polldaddy\.com\/community\/poll\/.*|polldaddy\.com\/poll\/.*|answers\.polldaddy\.com\/poll\/.*|www\.5min\.com\/Video\/.*|www\.howcast\.com\/videos\/.*|www\.screencast\.com\/.*\/media\/.*|screencast\.com\/.*\/media\/.*|www\.screencast\.com\/t\/.*|screencast\.com\/t\/.*|issuu\.com\/.*\/docs\/.*|www\.kickstarter\.com\/projects\/.*\/.*|www\.scrapblog\.com\/viewer\/viewer\.aspx.*|ping\.fm\/p\/.*|chart\.ly\/.*|maps\.google\.com\/maps\?.*|maps\.google\.com\/\?.*|maps\.google\.com\/maps\/ms\?.*|.*\.craigslist\.org\/.*\/.*|my\.opera\.com\/.*\/albums\/show\.dml\?id=.*|my\.opera\.com\/.*\/albums\/showpic\.dml\?album=.*&picture=.*|tumblr\.com\/.*|.*\.tumblr\.com\/post\/.*|www\.polleverywhere\.com\/polls\/.*|www\.polleverywhere\.com\/multiple_choice_polls\/.*|www\.polleverywhere\.com\/free_text_polls\/.*|www\.quantcast\.com\/wd:.*|www\.quantcast\.com\/.*|siteanalytics\.compete\.com\/.*|statsheet\.com\/statplot\/charts\/.*\/.*\/.*\/.*|statsheet\.com\/statplot\/charts\/e\/.*|statsheet\.com\/.*\/teams\/.*\/.*|statsheet\.com\/tools\/chartlets\?chart=.*|.*\.status\.net\/notice\/.*|identi\.ca\/notice\/.*|brainbird\.net\/notice\/.*|shitmydadsays\.com\/notice\/.*|www\.studivz\.net\/Profile\/.*|www\.studivz\.net\/l\/.*|www\.studivz\.net\/Groups\/Overview\/.*|www\.studivz\.net\/Gadgets\/Info\/.*|www\.studivz\.net\/Gadgets\/Install\/.*|www\.studivz\.net\/.*|www\.meinvz\.net\/Profile\/.*|www\.meinvz\.net\/l\/.*|www\.meinvz\.net\/Groups\/Overview\/.*|www\.meinvz\.net\/Gadgets\/Info\/.*|www\.meinvz\.net\/Gadgets\/Install\/.*|www\.meinvz\.net\/.*|www\.schuelervz\.net\/Profile\/.*|www\.schuelervz\.net\/l\/.*|www\.schuelervz\.net\/Groups\/Overview\/.*|www\.schuelervz\.net\/Gadgets\/Info\/.*|www\.schuelervz\.net\/Gadgets\/Install\/.*|www\.schuelervz\.net\/.*|myloc\.me\/.*|pastebin\.com\/.*|pastie\.org\/.*|www\.pastie\.org\/.*|redux\.com\/stream\/item\/.*\/.*|redux\.com\/f\/.*\/.*|www\.redux\.com\/stream\/item\/.*\/.*|www\.redux\.com\/f\/.*\/.*|cl\.ly\/.*|cl\.ly\/.*\/content|speakerdeck\.com\/u\/.*\/p\/.*|www\.kiva\.org\/lend\/.*|www\.timetoast\.com\/timelines\/.*|storify\.com\/.*\/.*|.*meetup\.com\/.*|meetu\.ps\/.*|www\.dailymile\.com\/people\/.*\/entries\/.*|.*\.kinomap\.com\/.*|www\.metacdn\.com\/api\/users\/.*\/content\/.*|www\.metacdn\.com\/api\/users\/.*\/media\/.*|prezi\.com\/.*\/.*|.*\.uservoice\.com\/.*\/suggestions\/.*)/i;var ret=nm._hasFilter('link')&&nm.opener.attr('href')&&nm.opener.attr('href').match(embedlyReg)!==null;if(ret)nm._delFilter('iframe');return ret;},init:function(nm){nm.loadFilter='embedly';nm.store.embedly={};},load:function(nm){$.ajax({url:'http://api.embed.ly/1/oembed',dataType:'jsonp',data:'wmode=transparent&url='+nm.opener.attr('href'),success:function(data){if(data.type=='error')nm._error();else if(data.type=='photo'){nm.filters.push('image');$('').load(function(){nm.elts.cont.addClass('nyroModalImg');nm.elts.hidden.addClass('nyroModalImg');nm._setCont(this);}).error(function(){nm._error();}).attr('src',data.url);}else{nm.store.embedly.w=data.width;nm.store.embedly.h=data.height;nm._setCont('
    '+data.html+'
    ');}}});},size:function(nm){if(nm.store.embedly.w&&!nm.sizes.h){nm.sizes.w=nm.store.embedly.w;nm.sizes.h=nm.store.embedly.h;}}}});});; diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/js/jquery.textchange.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/media/js/jquery.textchange.min.js Wed Mar 23 17:34:36 2011 +0100 @@ -0,0 +1,10 @@ +/*! + * jQuery TextChange Plugin + * http://www.zurb.com/playground/jquery-text-change-custom-event + * + * Copyright 2010, ZURB + * Released under the MIT License + */ + (function(a){a.event.special.textchange={setup:function(){a(this).data("lastValue",this.contentEditable==="true"?a(this).html():a(this).val());a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var b=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(b)}, + 25)},triggerIfChanged:function(b){var c=b[0].contentEditable==="true"?b.html():b.val();if(c!==b.data("lastValue")){b.trigger("textchange",b.data("lastValue"));b.data("lastValue",c)}}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(b,c){c===""&&c!==a(this).val()&&a(this).trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange", + a.event.special.notext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(b,c){a(this).val()===""&&a(this).val()!==c&&a(this).trigger("notext")}}})(jQuery); \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/js/projectscontents.js --- a/src/ldt/ldt/media/js/projectscontents.js Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/js/projectscontents.js Wed Mar 23 17:34:36 2011 +0100 @@ -1,357 +1,398 @@ + $.fn.realVal = function() { - var obj = $(this[0]); - if(obj.val) { - if(obj.val() == obj.attr('defaultText')) { - return ''; - } - else { - return obj.val(); - } - } - else { - return null; - } + var obj = $(this[0]); + if(obj.val) { + if(obj.val() === obj.attr('defaultText')) { + return ''; + } + else { + return obj.val(); + } + } + else { + return null; + } }; + function init_events_base(base_node, embed_url) { - $('.ldt_link',base_node).nyroModal({ - type: 'iframe', - forceType: 'iframe', - windowResize: false, - height:662, - width:1022, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - beforeHideContent: function(elts, settings, callback){ - try { - var res = $('#ldtInitSwf',$('#nyroModalIframe').contents()); - if(res.length > 0) - { - res.get(0).forceSave(); - } - } - catch(err) - { - // do nothing - } - callback(); - } - - }); - - - $('.ldt_link_embed',base_node).click(function(e) { - e.preventDefault(); - var link = $(e.target); - var json_url = link.attr("href"); - var player_id = link.attr("id"); - var ldt_id = player_id.substring(15); - /*$.nyroModalSettings({ - ajax: { data: ({ json_url:json_url, player_id:player_id }) } - });*/ - $.nyroModalManual({ - type: 'iframe', - forceType: 'iframe', - titleFromIframe: false, - height:662, - width:750, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - url: embed_url+'?json_url='+escape(json_url)+'&player_id='+escape(player_id)+'&ldt_id='+escape(ldt_id) - }); - return false; - }); + $('.ldt_link_embed',base_node).click(function(e) { + e.preventDefault(); + var link = $(e.target); + var json_url = link.attr("href"); + var player_id = link.attr("id"); + var ldt_id = player_id.substring(15); + $('
    ', { + href: embed_url+'?json_url='+escape(json_url)+'&player_id='+escape(player_id)+'&ldt_id='+escape(ldt_id), + target: "_blank" + }).nyroModal({ + filters: ['iframe'], + sizes: { + minW: '750', + minH: '662' + }, + callbacks: { + afterShowCont: function(nm) { + nm.store.iframe.height(662); + nm.store.iframe.width(750); + } + } + }).trigger('nyroModal'); + return false; + }); - $('.imageline',base_node).each(function(i) { - var tr = $(this); - tr.mouseover(function() { - $('.cellimgdiv',this).css('visibility', 'visible'); - }); - tr.mouseout(function() { - $('.cellimgdiv',this).css('visibility', 'hidden'); - }); - }); + $('.imageline',base_node).each(function(i) { + var tr = $(this); + tr.mouseover(function() { + $('.cellimgdiv',this).css('visibility', 'visible'); + }); + tr.mouseout(function() { + $('.cellimgdiv',this).css('visibility', 'hidden'); + }); + }); + + $('.cellimgdiv img').qtip({ + style: { + 'name': 'dark', + 'filter':'alpha(opacity=70)', + '-moz-opacity':'0.7', + '-khtml-opacity': '0.7', + 'opacity': '0.7', + 'border': { + 'width' : '0', + 'color': '#505050' + }, + 'tip': true + } + }); +} + +function testAndClose(close_fn) { - $('.cellimgdiv img').qtip({ - style: { - 'name': 'dark', - 'filter':'alpha(opacity=70)', - '-moz-opacity':'0.7', - '-khtml-opacity': '0.7', - 'opacity': '0.7', - 'border': { - 'width' : '0', - 'color': '#505050' - }, - 'tip': true - } - }); - - -}; + return function(force) { + // Here we ask LDT if the current work is modified and if the user want to save it. + var ldtSwf = $('#ldtInitSwf',$.nmTop().store.iframe.contents()).get(0); + // In the ldt_link_create case, the modal page can be the form, or the ldt swf. So we have to test. + if (!force && ldtSwf && ldtSwf.name==="ldtInitSwf" && ldtSwf.isModified()==="true") { + ldtSwf.askSave(); + } + else { + close_fn.apply(this); + } + }; +} function searchCallback(target, container_selector, url, timeout) { - timeout = typeof(timeout) != 'undefined' ? timeout : 0; - var target = $(target); - - // remove all qtip - $(".qtip").remove(); - - if(target.realVal().length > 0) { - target.nextAll(".searchclear").show(); - } + timeout = typeof(timeout) !== 'undefined' ? timeout : 0; + target = $(target); + + // remove all qtip + $(".qtip").remove(); + + if(target.realVal().length > 0) { + target.nextAll(".searchclear").show(); + } - if(target.attr('timer')) { - clearTimeout(target.attr('timer')); - } + if(target.attr('timer')) { + clearTimeout(target.attr('timer')); + } - target.attr( - 'timer', - setTimeout(function() { - target.next(".searchajaxloader").show(); - target.nextAll(".searchclear").hide(); - var filterVal = "_" + escape(target.realVal()); - url = url.replace('__FILTER__',filterVal); - $.ajax({ - url: url, - cache: false, - success: function(data, status, request) { - $(container_selector).html(data); - target.next(".searchajaxloader").hide(); - if(target.realVal().length > 0) { - target.nextAll(".searchclear").show(); - } - init_events($(container_selector)); - target.removeAttr('timer'); - } - }); - }, - 300) - ); -}; + target.attr( + 'timer', + setTimeout(function() { + target.next(".searchajaxloader").show(); + target.nextAll(".searchclear").hide(); + var filterVal = "_" + escape(target.realVal()); + url = url.replace('__FILTER__',filterVal); + $.ajax({ + url: url, + cache: false, + success: function(data, status, request) { + $(container_selector).html(data); + target.next(".searchajaxloader").hide(); + if(target.realVal().length > 0) { + target.nextAll(".searchclear").show(); + } + init_events($(container_selector)); + target.removeAttr('timer'); + } + }); + }, + 300) + ); +} function init_events_contents(base_node, embed_url, content_filter_url) { - - init_events_base(base_node, embed_url); - - $('.content_link_create').nyroModal({ - type: 'iframe', - forceType: 'iframe', - height:500, - width:765, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url) - }, - endShowContent: function(elts, settings) { - $('#nyroModalIframe', elts.content).load(function() { - var form_status = $(this).contents().find("#content_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted' ) { - $.nyroModalRemove(); - } - }); - } - }); - - $('.contenttitlelink').nyroModal({ - type: 'iframe', - forceType: 'iframe', - height:500, - width:765, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0); - }, - endShowContent: function(elts, settings) { - $('#nyroModalIframe', elts.content).load(function() { - var form_status = $(this).contents().find("#content_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted') { - $.nyroModalRemove(); - } - }); - } - }); - - + + init_events_base(base_node, embed_url); + + $('.content_link_create').each(function(i){ + $(this).attr("target","_blank"); + }); + $('.content_link_create').nyroModal({ + filters: ['iframe'], + sizes: { + minW: 770, + minH: 550 + }, + callbacks: { + afterClose: function(nm) { + searchCallback($('#searchprojectsinput'), "#contentslistcontainer", content_filter_url); + }, + afterShowCont: function(nm) { + nm.store.iframe.width(770); + nm.store.iframe.height(550); + nm.store.iframe.load(function() { + var form_status = $(this).contents().find("#content_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted' ) { + $.nmTop().close(); + } + }); + } + } + }); + + $('.contenttitlelink').each(function(i){ + $(this).attr("target","_blank"); + }); + $('.contenttitlelink').nyroModal({ + filters: ['iframe'], + sizes: { + minW: 770, + minH: 550 + }, + callbacks: { + afterClose: function(nm) { + searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0); + }, + afterShowCont: function(nm) { + nm.store.iframe.width(770); + nm.store.iframe.height(550); + nm.store.iframe.load(function() { + var form_status = $(this).contents().find("#content_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted') { + $.nmTop().close(); + } + }); + } + } + }); + } function init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) { - $('.ldt_link_create',base_node).nyroModal({ - type: 'iframe', - forceType: 'iframe', - windowResize: false, - height:680, - width:500, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - }, - beforeHideContent: function(elts, settings, callback){ - try { - var res = $('#ldtInitSwf',$('#nyroModalIframe').contents()); - if(res.length > 0) - { - res.get(0).forceSave(); - } - } - catch(err) - { - // do nothing - } - callback(); - }, - endShowContent: function(elts, settings){ - var iframe = $('#nyroModalIframe', elts.content); - iframe.load(function(){ - var form_status = $(this).contents().find("#project_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted' ) { - $.nyroModalRemove(); - } - var swfobject = $(this).contents().find("#ldtInitSwf"); - if (swfobject.length) { - $.nyroModalSettings({ - height: swfobject.height() + 31, - width: swfobject.width() + 21 - }); - } - }); - } - }); + // These are the functions called when we display a project in an LDT modal window + $('.ldt_link',base_node).each(function(i){ + $(this).attr("target","_iri"); + }); + $('.ldt_link',base_node).nyroModal({ + filters: ['iriIframe'], + sizes: { + minW: '1025', + minH: '665' + }, + showCloseButton: true, + closeOnEscape:false, + closeOnClick:false, + callbacks: { + afterShowCont: function(nm) { + nm.store.iframe.width(1025); + nm.store.iframe.height(665); + }, + close: function(nm) { + // We don't do anything here, we hack the callback directly from the close function. + }, + afterClose: function(nm) { + // Can't do that because searchprojectfilterurl is not defined in init_events_base params + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + + + $('.ldt_link',base_node).each(function(i, e) { + nm = $(e).data('nmObj'); + $(e).data('nmObj', $.extend(true, nm, { + close: testAndClose(nm.close) + })); + }); + - - $('.publishedproject', base_node).click(function(e) { - e.preventDefault(); - var target = $(e.target); - var project_id = target.attr('id').replace('project_',''); - var url = unpublishprojecturl.replace('__PROJECT_ID__', project_id); - $.ajax({ - url: url, - type: 'POST', - dataType: 'json', - success: function(json, textStatus, XMLHttpRequest){ - if(json.res) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - } - } - }); - }); + $('.ldt_link_create',base_node).each(function(i){ + $(this).attr("target","_iri"); + }); + $('.ldt_link_create',base_node).nyroModal({ + + filters: ['iriIframe'], + sizes: { + minW: '600', + minH: '500' + }, + showCloseButton:true, + closeOnEscape:false, + closeOnClick:false, + callbacks: { + afterShowCont: function(nm) { + nm.store.iframe.width(600); + nm.store.iframe.height(600); + var iframe = nm.store.iframe; + iframe.load(function(){ + var form_status = $(this).contents().find("#project_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted' ) { + $.nmTop().close(); + } + var swfobject = $(this).contents().find("#ldtInitSwf"); + if (swfobject.length) { + nm['sizes']['initW'] = 1025; + nm['sizes']['initH'] = 665; + nm.resize(); + nm.store.iframe.width(1025); + nm.store.iframe.height(665); + } + }); + }, + afterClose: function(nm) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + $('.ldt_link_create',base_node).each(function(i, e) { + nm = $(e).data('nmObj'); + $(e).data('nmObj', $.extend(true, nm, { + close: testAndClose(nm.close) + })); + }); - $('.unpublishedproject', base_node).click(function(e) { - e.preventDefault(); - var target = $(e.target); - var project_id = target.attr('id').replace('project_',''); - var url = publishprojecturl.replace('__PROJECT_ID__', project_id); - $.ajax({ - url: url, - type: 'POST', - dataType: 'json', - success: function(json, textStatus, XMLHttpRequest){ - if(json.res) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - } - } - }); - }); + + $('.publishedproject', base_node).click(function(e) { + e.preventDefault(); + var target = $(e.target); + var project_id = target.attr('id').replace('project_',''); + var url = unpublishprojecturl.replace('__PROJECT_ID__', project_id); + $.ajax({ + url: url, + type: 'POST', + dataType: 'json', + success: function(json, textStatus, XMLHttpRequest){ + if(json.res) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + }); - $('.projecttitlelink').nyroModal({ - type: 'iframe', - forceType: 'iframe', - height:680, - width:500, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - }, - endShowContent: function(elts, settings) { - $('#nyroModalIframe', elts.content).load(function() { - var form_status = $(this).contents().find("#project_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted') { - $.nyroModalRemove(); - } - }); - } - }); - + $('.unpublishedproject', base_node).click(function(e) { + e.preventDefault(); + var target = $(e.target); + var project_id = target.attr('id').replace('project_',''); + var url = publishprojecturl.replace('__PROJECT_ID__', project_id); + $.ajax({ + url: url, + type: 'POST', + dataType: 'json', + success: function(json, textStatus, XMLHttpRequest){ + if(json.res) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + }); + + $('.projecttitlelink').each(function(i){ + $(this).attr("target","_blank"); + }); + $('.projecttitlelink').nyroModal({ + filters: ['iframe'], + sizes: { + minH:680, + minW:600 + }, + callbacks: { + afterClose: function(nm) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + }, + afterShowCont: function(nm) { + nm.store.iframe.height(680); + nm.store.iframe.width(600); + var iframe = nm.store.iframe; + iframe.load(function(){ + var form_status = $(this).contents().find("#project_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted') { + $.nmTop().close(); + } + }); + } + } + }); + } function init_events_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) { - - init_events_base(base_node, embed_url); - init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); + + init_events_base(base_node, embed_url); + init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); } function init_events_all(base_node, embed_url, searchcontentfilterurl, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) { - - init_events_contents(base_node, embed_url, searchcontentfilterurl); - init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); + init_events_contents(base_node, embed_url, searchcontentfilterurl); + init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); } - - function searchFieldInit(input_list_init) { - $(".searchfieldinputbase").keydown(function (e) { - if(e.which == 27) { - $(e.target).blur(); - $(e.target).next(".searchajaxloader").hide(); - } - }); - - $('.searchfieldinput').each(function(i) { - var sbox = $(this); - if(sbox.val() != '') { - sbox.attr('defaultText', sbox.val()); - } - - sbox.focus(function() { - box = $(this); - if(box.val() == box.attr('defaultText')) { - box.val(''); - box.toggleClass("searchfieldinput"); - } - }); - - sbox.blur(function() { - var box = $(this); - if(box.val() == '' && box.attr('defaultText')) { - box.val(box.attr('defaultText')); - box.toggleClass("searchfieldinput"); - } - }); - - }); + $(".searchfieldinputbase").keydown(function (e) { + if(e.which === 27) { + $(e.target).blur(); + $(e.target).next(".searchajaxloader").hide(); + } + }); + + $('.searchfieldinput').each(function(i) { + var sbox = $(this); + if(sbox.val() !== '') { + sbox.attr('defaultText', sbox.val()); + } + + sbox.focus(function() { + box = $(this); + if(box.val() === box.attr('defaultText')) { + box.val(''); + box.toggleClass("searchfieldinput"); + } + }); + + sbox.blur(function() { + var box = $(this); + if(box.val() === '' && box.attr('defaultText')) { + box.val(box.attr('defaultText')); + box.toggleClass("searchfieldinput"); + } + }); + + }); - $.each(input_list_init, function(index, value) { - $(value['input_selector']).keyup(function (e) { - searchCallback(e.target, value['container_selector'], value['url']); - }); - }); - - $('.searchclear').click(function(e) { - var box = $(e.target).parent().find("input"); - box.val(box.attr('defaultText')); - box.addClass("searchfieldinput"); - box.blur(); - box.keyup(); - }); - - $('.searchclear').each(function(i) { - $(this).hide(); - }); - + $.each(input_list_init, function(index, value) { + $(value['input_selector']).keyup(function (e) { + searchCallback(e.target, value['container_selector'], value['url']); + }); + }); + + $('.searchclear').click(function(e) { + var box = $(e.target).parent().find("input"); + box.val(box.attr('defaultText')); + box.addClass("searchfieldinput"); + box.blur(); + box.keyup(); + }); + + $('.searchclear').each(function(i) { + $(this).hide(); + }); + } diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/LignesDeTempsFlex.swf Binary file src/ldt/ldt/media/swf/ldt/LignesDeTempsFlex.swf has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/en/messages.mo Binary file src/ldt/ldt/media/swf/ldt/pkg/i18n/en/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/es/messages.mo Binary file src/ldt/ldt/media/swf/ldt/pkg/i18n/es/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/es/messages.po --- a/src/ldt/ldt/media/swf/ldt/pkg/i18n/es/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/swf/ldt/pkg/i18n/es/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:17+0100\n" +"POT-Creation-Date: 2011-02-25 16:32+0100\n" "PO-Revision-Date: 2009-10-19 10:14+0100\n" "Last-Translator: Ales Zabala Alava (Shagi) \n" "Language-Team: Spanish\n" @@ -17,331 +17,342 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Spanish\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "Elige uno de tus bout à bouts (ediciones)" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "¿Borrar la bout à bout (edición) seleccionada?" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "Nuevo bout à bout (edición)" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "¿Borrar la bout à bout (edición) seleccionada?" - -#: src/InfoWindow/BoutABoutTab.as:80 -#: src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 -#: src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "Título" -#: src/InfoWindow/BoutABoutTab.as:95 -#: src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 -#: src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 -#: src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 -#: src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "Descripción" -#: src/InfoWindow/BoutABoutTab.as:163 -#: src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 -#: src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "Sí" -#: src/InfoWindow/BoutABoutTab.as:164 -#: src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 -#: src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "No" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "¿Confirmas que quieres borrar la bout à bout (edición)?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "Lista" -#: src/InfoWindow/CuttingsTab.as:118 -#: src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "Nuevo corte" -#: src/InfoWindow/CuttingsTab.as:134 -#: src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "Título del corte" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "Descripción del corte" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "Marcas y segmentos" -#: src/InfoWindow/CuttingsTab.as:166 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "Principio" -#: src/InfoWindow/CuttingsTab.as:178 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "Fin" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "Título del segmento" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "Descripción del segmento" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "Etiquetas (separadas por comas)" -#: src/InfoWindow/CuttingsTab.as:237 -#: src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "Etiquetas de la línea de tiempo" -#: src/InfoWindow/CuttingsTab.as:243 -#: src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "Anterior" -#: src/InfoWindow/CuttingsTab.as:252 -#: src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "Siguiente" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" msgstr "Anotación de audio" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." +#: src/InfoWindow/CuttingsTab.as:297 +#, fuzzy +msgid "Choose a mp3 file." msgstr "elige un fichero mp3." -#: src/InfoWindow/CuttingsTab.as:280 -#: src/sequencer/tools/edit/AddTextPict.mxml:65 -#: src/tools/ImportMedia.mxml:41 +#: src/InfoWindow/CuttingsTab.as:304 src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:318 +#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "Examinar..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:654 +#, fuzzy +msgid "Project's tags" +msgstr "Medias del proyecto." + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "" +"If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:702 src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "" +"If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "Proyecto" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "Cortes" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "Informaciones" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "Bout à bout" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "Vistas" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "Toma de notas" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "Modificar" -#: src/InfoWindow/InformationsTab.as:178 -#: src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "Borrar" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "Duplicar" -#: src/InfoWindow/InformationsTab.as:190 -#: src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "Deseleccionar los segmentos de todas las líneas de tiempo" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 msgid "Duplicate only the highlighted segments" msgstr "Duplicar únicamente los segmentos remarcados" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "Deseleccionar los segmentos de esta línea de tiempo" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "Crear una bout à bout (edición) de toda la línea de tiempo" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "Crear una bout à bout (edición) de los segmentos seleccionados" -#: src/InfoWindow/InformationsTab.as:232 -msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "Crear una bout à bout (edición) de los segmentos seleccionados de todas las líneas de tiempo" +#: src/InfoWindow/InformationsTab.as:244 +msgid "" +"Create a bout à bout (edit) from all the timelines's highlighted segments" +msgstr "" +"Crear una bout à bout (edición) de los segmentos seleccionados de todas las " +"líneas de tiempo" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" msgstr "" -#: src/InfoWindow/InformationsTab.as:397 -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "Duración" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "Indexación" -#: src/InfoWindow/InformationsTab.as:517 -#: src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "Num. de elementos" -#: src/InfoWindow/InformationsTab.as:521 -#: src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "activo" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 -#: src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "Autores" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "Fecha" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "Vista" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "Criterio" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "Resumen" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "Segmentos" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "Marcas" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "Todo" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "¿Confirmas que quieres borrar el corte?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "copiar" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "Empezar a tomar notas" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "Poner un separador (Shift + Enter)" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "Crear un corte a partir de estas notas" -#: src/InfoWindow/NoteTakingTab.as:169 -msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "El código de tiempo del media actual tiene que ser superior al código de tiempo del separador." +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 -#: src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 -#: src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 -#: src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 -#: src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 +msgid "" +"The media's current timecode must be superior to your last separator's " +"timecode." +msgstr "" +"El código de tiempo del media actual tiene que ser superior al código de " +"tiempo del separador." + +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 src/app/Python.as:51 src/app/Python.as:58 +#: src/app/Python.as:69 src/app/Python.as:163 src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "Atención" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "Mis notas" -#: src/InfoWindow/NoteTakingTab.as:233 -#: src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "Cortes personales" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "No hay contenido seleccionado para estas notas." -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "Medias del proyecto." -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "¿Realmente quieres sacar este contenido de tu proyecto?" @@ -353,249 +364,312 @@ msgid "Save the current display" msgstr "Guardar la visualización actual" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "Estados de visualización guardados:" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "Nueva vista" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "Borrar la vista seleccionada" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "Guardar la visualización actual en la vista seleccionada" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "¿Confirmas que quieres borrar esta vista?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "Vista sin nombre" -#: src/LignesDeTempsFlex.mxml:118 -#: src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "" +"If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:172 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "Cargando" -#: src/LignesDeTempsFlex.mxml:253 -#: src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 -#: src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "Etiquetas seleccionadas" +#: src/LignesDeTempsFlex.mxml:352 +msgid "" +"No project file is defined. You need to define a project file to save your " +"datas." +msgstr "" +"No se ha definido fichero de proyecto. Tienes que definir un fichero de " +"proyecto para guardar tus datos." -#: src/LignesDeTempsFlex.mxml:278 -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "No se ha definido fichero de proyecto. Tienes que definir un fichero de proyecto para guardar tus datos." - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "Guardar proyecto en" - -#: src/LignesDeTempsFlex.mxml:290 -#: src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "Fichero" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "Proyecto de sólo lectura" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "Guardar proyecto" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "Guardar proyecto en" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:378 +#, fuzzy +msgid "Save the project in cinelab format as..." +msgstr "Guardar proyecto como..." + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "Nuevo proyecto" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" +#: src/LignesDeTempsFlex.mxml:382 +#, fuzzy +msgid "Open a project (.ldt or .cxp)" msgstr "Abrir un proyecto (.ldt)" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "Guardar proyecto como..." -#: src/LignesDeTempsFlex.mxml:309 -#: src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:388 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "Importar un nuevo media" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "Abrir una descripción (fichero .iri)" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "Importar cortes desde otro fichero .ldt" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "Salir" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "Medias" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "Biblioteca" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "Visualización" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "Pantalla completa" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "Recolocar ventanas" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "Mostrar todas las etiquetas del proyecto" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "Recordar el idioma seleccionado" -#: src/LignesDeTempsFlex.mxml:372 -#: src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:451 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "Ayuda" -#: src/LignesDeTempsFlex.mxml:373 -#: src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:452 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "Acerca de" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "No está permitido el modo a pantalla completa." -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "Haz click en la etiqueta para deseleccionarla" +#: src/LignesDeTempsFlex.mxml:768 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "Etiquetas seleccionadas" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:791 msgid "Please select a media before importing cuttings." msgstr "Por favor selecciona un media antes de importar cortes." +#: src/LignesDeTempsFlex.mxml:872 +#, fuzzy +msgid "Ldt file content" +msgstr "Ocultar este contenido" + +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:874 +#, fuzzy +msgid "Copy" +msgstr "copiar" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "" +"You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "" + +#: src/app/Communication.as:198 +msgid "SAVING" +msgstr "" + #: src/app/Python.as:49 msgid "Lost connection" msgstr "Conexión perdida" -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "Tus datos ya no pueden guardarse más. Por favor cierra y reinicia Lignes de temps." +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "" +"Your datas can not be saved anymore. Please close and restart Lignes de " +"temps." +msgstr "" +"Tus datos ya no pueden guardarse más. Por favor cierra y reinicia Lignes de " +"temps." -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 +#: src/app/Python.as:51 src/app/Python.as:58 src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "" + +#: src/app/Python.as:56 src/app/Python.as:67 src/app/Python.as:163 msgid "Connection Problem" msgstr "Problema de Conexión" -#: src/app/XMLInOut.as:116 -#: src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "Imposible cargar el fichero" -#: src/app/XMLInOut.as:116 -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "Error" -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "No se puede encontrar tu fichero de proyecto. Por favor localízalo." -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "Forma de onda" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "Forma de onda de la pista de sonido" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "Cargando imagen" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "Identificador de contenido desconocido" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "Añadir corte (Shift+ E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "Mi corte" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "Abrir o cerrar un segmento (Shift+ Space)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "Añadir una marca (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "Cambiar el color del segmento o la marca" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "Borrar el segmento seleccionado (Shift+ Del)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "Dividir un segmento (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "Segmentos unidos" -#: src/sequencer/tools/create/TLUser.mxml:101 -msgid "If this box is checked, the end of a segment is also the beginning of the next one" -msgstr "Si esta caja está seleccionada, el final de un segmento es también el principio del siguiente" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "" +"If this box is checked, the end of a segment is also the beginning of the " +"next one" +msgstr "" +"Si esta caja está seleccionada, el final de un segmento es también el " +"principio del siguiente" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "No puedes cubrir un segmento." -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "¿Confirmas que quieres borrar este segmento?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "No puedes añadir una marca en medio de un segmento." @@ -650,12 +724,17 @@ msgid "Play the bout à bout (edit)" msgstr "Reproducir la bout à bout (edición)" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +#, fuzzy +msgid "Hide the Bout à bout" +msgstr "Bout à bout" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "¿Confirmas que quieres borrar el segmento?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "Segmento añadido en" @@ -736,15 +815,103 @@ msgid "Import running. This operation can last several minutes." msgstr "Importando. La operación puede llevar varios minutos." -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." -msgstr "Por lo menos el título y el autor tienen que haberse rellenado para importar." +msgstr "" +"Por lo menos el título y el autor tienen que haberse rellenado para importar." + +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "" + +#: src/tools/MicRecord.mxml:134 +msgid "" +"You are about to erase the current recording. \n" +" Go on ?" +msgstr "" + +#: src/tools/MicRecord.mxml:219 +msgid "" +"You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "Reproducir/Parar la anotación de sonido" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:125 msgid "Audio annotation error" msgstr "Error de anotación de audio" +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +#, fuzzy +msgid "List display" +msgstr "Visualización" + +#: src/tools/TagsPanel.mxml:165 +#, fuzzy +msgid "Cloud display" +msgstr "Visualización" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "" + +#~ msgid "Unhighlight this timeline's segments" +#~ msgstr "Deseleccionar los segmentos de esta línea de tiempo" + +#~ msgid "Choose one of your bout à bout (edits)" +#~ msgstr "Elige uno de tus bout à bouts (ediciones)" + +#~ msgid "Click on the tag to unhighlight it" +#~ msgstr "Haz click en la etiqueta para deseleccionarla" diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/eu/messages.mo Binary file src/ldt/ldt/media/swf/ldt/pkg/i18n/eu/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/eu/messages.po --- a/src/ldt/ldt/media/swf/ldt/pkg/i18n/eu/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/swf/ldt/pkg/i18n/eu/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:17+0100\n" +"POT-Creation-Date: 2011-02-25 16:32+0100\n" "PO-Revision-Date: 2009-10-19 10:07+0100\n" "Last-Translator: Ales Zabala Alava (Shagi) \n" "Language-Team: Basque \n" @@ -16,331 +16,342 @@ "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Basque\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "Aukeratu zure bout à bout-etako bat (editatzeak)" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "Ezabatu hautatutako bout à bout-a (editatzea)" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "Bout à bout berria (editatzea)" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "Ezabatu hautatutako bout à bout-a (editatzea)" - -#: src/InfoWindow/BoutABoutTab.as:80 -#: src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 -#: src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "Izenburua" -#: src/InfoWindow/BoutABoutTab.as:95 -#: src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 -#: src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 -#: src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 -#: src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "Deskribapena" -#: src/InfoWindow/BoutABoutTab.as:163 -#: src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 -#: src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "Bai" -#: src/InfoWindow/BoutABoutTab.as:164 -#: src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 -#: src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "Ez" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "Ziur zaude bout à bout-a (editatzea) ezabatu nahi duzula?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "Zerrenda" -#: src/InfoWindow/CuttingsTab.as:118 -#: src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "Mozketa berria" -#: src/InfoWindow/CuttingsTab.as:134 -#: src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "Mozketaren izenburua" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "Mozketaren deskribapena" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "Markak eta segmentuak" -#: src/InfoWindow/CuttingsTab.as:166 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "Hasiera" -#: src/InfoWindow/CuttingsTab.as:178 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "Bukaera" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "Segmentuaren izenburua" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "Segmentuaren deskribapena" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "Etiketak (komaz banatuta)" -#: src/InfoWindow/CuttingsTab.as:237 -#: src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "Denbora lerroaren etiketak" -#: src/InfoWindow/CuttingsTab.as:243 -#: src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "Aurrekoa" -#: src/InfoWindow/CuttingsTab.as:252 -#: src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "Hurrengoa" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" msgstr "Audio anotazioa" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." +#: src/InfoWindow/CuttingsTab.as:297 +#, fuzzy +msgid "Choose a mp3 file." msgstr "mp3 fitxategia aukeratu." -#: src/InfoWindow/CuttingsTab.as:280 -#: src/sequencer/tools/edit/AddTextPict.mxml:65 -#: src/tools/ImportMedia.mxml:41 +#: src/InfoWindow/CuttingsTab.as:304 src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:318 +#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "Arakatu..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:654 +#, fuzzy +msgid "Project's tags" +msgstr "Proiektuaren media-k" + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "" +"If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:702 src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "" +"If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "Proiektua" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "Mozketak" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "Informazioak" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "Bout à bout" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "Ikuspegiak" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "Ohar-hartzea" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "Aldatu" -#: src/InfoWindow/InformationsTab.as:178 -#: src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "Ezabatu" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "Bikoiztu" -#: src/InfoWindow/InformationsTab.as:190 -#: src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "Denbora lerro guztietako segmentuei nabarmentzea kendu" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 msgid "Duplicate only the highlighted segments" msgstr "Nabarmedutako segmentuak bakarrik bikoiztu" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "Denbora lerro honetako segmentuei nabarmentzea kendu" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "Denbora lerro osoarekin bout à bout-a sortu" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "Nabarmendutako segmentuekin bout à bout-a sortu" -#: src/InfoWindow/InformationsTab.as:232 -msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "Denbora lerro guztietako nabarmendutako segmentu guztiekin bout à bout-a sortu" +#: src/InfoWindow/InformationsTab.as:244 +msgid "" +"Create a bout à bout (edit) from all the timelines's highlighted segments" +msgstr "" +"Denbora lerro guztietako nabarmendutako segmentu guztiekin bout à bout-a " +"sortu" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" msgstr "" -#: src/InfoWindow/InformationsTab.as:397 -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "Iraupena" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "Indexazioa" -#: src/InfoWindow/InformationsTab.as:517 -#: src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "Elementu Kop." -#: src/InfoWindow/InformationsTab.as:521 -#: src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "gaituta" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 -#: src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "Egileak" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "Data" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "Ikusi" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "Irizpidea" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "Laburpena" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "Segmentuak" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "Markak" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "Guztia" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "Ziur zaude mozketa ezabatu nahi duzula?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "kopiatu" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "Oharrak hartzen hasi" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "Bereizlea jarri (Shift+ Enter)" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "Ohar hauetatik mozketa sortu" -#: src/InfoWindow/NoteTakingTab.as:169 -msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "Media-ren uneko denbora kodea zure azken bereizlearen denbora kodea baino handiago izan behar du" +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 -#: src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 -#: src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 -#: src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 -#: src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 +msgid "" +"The media's current timecode must be superior to your last separator's " +"timecode." +msgstr "" +"Media-ren uneko denbora kodea zure azken bereizlearen denbora kodea baino " +"handiago izan behar du" + +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 src/app/Python.as:51 src/app/Python.as:58 +#: src/app/Python.as:69 src/app/Python.as:163 src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "Adi" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "Nire oharrak" -#: src/InfoWindow/NoteTakingTab.as:233 -#: src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "Mozketa pertsonalak" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "Ohar hauentzako ez da edukirik zehaztu." -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "Proiektuaren media-k" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "Eduki hau zure proiektutik benetan kendu nahi duzu?" @@ -352,249 +363,312 @@ msgid "Save the current display" msgstr "Uneko bistaratzea gorde" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "Gordetako bistaratze egoerak :" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "Ikuspegi berria" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "Hautatutako ikuspegia ezabatu" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "Gorde uneko bistaratzea hautatutako bistan" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "Ziur zaude ikuspegi hau ezabatu nahi duzula?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "Izenik gabeko ikuspegia" -#: src/LignesDeTempsFlex.mxml:118 -#: src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "" +"If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:172 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "Kargatzen" -#: src/LignesDeTempsFlex.mxml:253 -#: src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 -#: src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "Hautatutako etiketak" +#: src/LignesDeTempsFlex.mxml:352 +msgid "" +"No project file is defined. You need to define a project file to save your " +"datas." +msgstr "" +"Ez da proiektu fitxategirik definitu. Zure datuak gordetzeko proiektu " +"fitxategia definitu behar duzu." -#: src/LignesDeTempsFlex.mxml:278 -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "Ez da proiektu fitxategirik definitu. Zure datuak gordetzeko proiektu fitxategia definitu behar duzu." - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "Proiektua hemen gorde:" - -#: src/LignesDeTempsFlex.mxml:290 -#: src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "Fitxategia" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "Irakurketa soileko proiektua" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "Proiektua gorde" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "Proiektua hemen gorde:" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:378 +#, fuzzy +msgid "Save the project in cinelab format as..." +msgstr "Gorde proiektua honela..." + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "Proiektu berria" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" +#: src/LignesDeTempsFlex.mxml:382 +#, fuzzy +msgid "Open a project (.ldt or .cxp)" msgstr "Proiektua ireki (.ldt)" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "Gorde proiektua honela..." -#: src/LignesDeTempsFlex.mxml:309 -#: src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:388 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "Media berri bat inportatu" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "Deskribapen fitxategi bat ireki (.iri fitxategia)" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "Mozketak inportatu beste .ldt fitxategi batetik" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "Irten" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "Media-k" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "Liburutegia" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "Bistaratzea" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "Pantaila-osoa" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "Leihoak birkokatu" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "Erakutsi proiektuaren etiketa guztiak" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "Aukeratutako hizkuntza gogoratu" -#: src/LignesDeTempsFlex.mxml:372 -#: src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:451 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "Laguntza" -#: src/LignesDeTempsFlex.mxml:373 -#: src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:452 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "Honi buruz" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "Pantaila osoko modua ez dago baimenduta." -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "Etiketan klikatu nabarmentzea kentzeko." +#: src/LignesDeTempsFlex.mxml:768 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "Hautatutako etiketak" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:791 msgid "Please select a media before importing cuttings." msgstr "Mesedez, media bat hautatu mozketak inportatu baino lehen." +#: src/LignesDeTempsFlex.mxml:872 +#, fuzzy +msgid "Ldt file content" +msgstr "Eduki hau ezkutatu" + +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:874 +#, fuzzy +msgid "Copy" +msgstr "kopiatu" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "" +"You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "" + +#: src/app/Communication.as:198 +msgid "SAVING" +msgstr "" + #: src/app/Python.as:49 msgid "Lost connection" msgstr "Konexioa galdu da" -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "Zure datuak ezin dira jadanik gorde. Mesedez Lignes de temps itxi eta berrabiarazi." +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "" +"Your datas can not be saved anymore. Please close and restart Lignes de " +"temps." +msgstr "" +"Zure datuak ezin dira jadanik gorde. Mesedez Lignes de temps itxi eta " +"berrabiarazi." -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 +#: src/app/Python.as:51 src/app/Python.as:58 src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "" + +#: src/app/Python.as:56 src/app/Python.as:67 src/app/Python.as:163 msgid "Connection Problem" msgstr "Konexio Arazoa" -#: src/app/XMLInOut.as:116 -#: src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "Ezin da fitxategia kargatu" -#: src/app/XMLInOut.as:116 -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "Errorea" -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "Ez da zure proiektu fitxategia topatu. Lokalizatu mesedez." -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "Uhinaren forma" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "Soinu pistaren uhin forma" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "Seinalea koloreztatu" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "Irudia kargatzen" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "edukiaren identifikadore ezezaguna" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "Mozketa gehitu (Shift + E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "Nire mozketa" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "Segmentua ireki edo itxi (Shift + Zuriunea)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "Marka gehitu (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "Aldatu segmentu edo markaren kolorea" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "Hautatutako segmentua ezabatu (Shift + Del)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "Segmentua zatitu (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "Estekatutako segmentuak" -#: src/sequencer/tools/create/TLUser.mxml:101 -msgid "If this box is checked, the end of a segment is also the beginning of the next one" -msgstr "Kutxa hau markatuta badago, segmentu baten bukaera hurrengoaren hasiera izango da ere" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "" +"If this box is checked, the end of a segment is also the beginning of the " +"next one" +msgstr "" +"Kutxa hau markatuta badago, segmentu baten bukaera hurrengoaren hasiera " +"izango da ere" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "Ezin duzu segmentu bat estaldu" -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "Ziur zaude segmentu hau ezabatu nahi duzula?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "Ezin duzu marka bat gehitu segmentu baten erdian." @@ -649,12 +723,17 @@ msgid "Play the bout à bout (edit)" msgstr "Bout à bout-a (editatzea) erreproduzitu" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +#, fuzzy +msgid "Hide the Bout à bout" +msgstr "Bout à bout" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "Ziur zaude segmentua ezabatu nahi duzula?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "Segmentua hemen gehituta: " @@ -717,7 +796,8 @@ #: src/tools/ImportMedia.mxml:39 msgid "Select a video file (avi-mpg-mov-flv) or an audio file (mp3)" -msgstr "Hautatu bideo fitxategi bat (avi-mpg-mov-flv) edo audio fitxategi bat (mp3)" +msgstr "" +"Hautatu bideo fitxategi bat (avi-mpg-mov-flv) edo audio fitxategi bat (mp3)" #: src/tools/ImportMedia.mxml:51 msgid "Optional complements" @@ -735,15 +815,103 @@ msgid "Import running. This operation can last several minutes." msgstr "Inportazioa martxan. Eragiketa honek hainbat minutu iraun ditzake." -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." -msgstr "Izenburua eta egilea zehaztu behar dira gutxienez inportazioa abiarazteko." +msgstr "" +"Izenburua eta egilea zehaztu behar dira gutxienez inportazioa abiarazteko." + +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "" + +#: src/tools/MicRecord.mxml:134 +msgid "" +"You are about to erase the current recording. \n" +" Go on ?" +msgstr "" + +#: src/tools/MicRecord.mxml:219 +msgid "" +"You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "Audio anotazioa erreproduzitu/pausarazi" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:125 msgid "Audio annotation error" msgstr "Errorea audioa anotazioan" +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +#, fuzzy +msgid "List display" +msgstr "Bistaratzea" + +#: src/tools/TagsPanel.mxml:165 +#, fuzzy +msgid "Cloud display" +msgstr "Bistaratzea" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "" + +#~ msgid "Unhighlight this timeline's segments" +#~ msgstr "Denbora lerro honetako segmentuei nabarmentzea kendu" + +#~ msgid "Choose one of your bout à bout (edits)" +#~ msgstr "Aukeratu zure bout à bout-etako bat (editatzeak)" + +#~ msgid "Click on the tag to unhighlight it" +#~ msgstr "Etiketan klikatu nabarmentzea kentzeko." diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/fr/messages.mo Binary file src/ldt/ldt/media/swf/ldt/pkg/i18n/fr/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/fr/messages.po --- a/src/ldt/ldt/media/swf/ldt/pkg/i18n/fr/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/swf/ldt/pkg/i18n/fr/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:02+0100\n" +"POT-Creation-Date: 2011-02-25 17:32+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,331 +16,380 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "Choisissez un de vos bout à bout" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "Supprimer le bout à bout sélectionné" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "Nouveau bout à bout" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "Supprimer le bout à bout sélectionné" - -#: src/InfoWindow/BoutABoutTab.as:80 -#: src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 +#: src/InfoWindow/BoutABoutTab.as:71 +#: src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 #: src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "Titre" -#: src/InfoWindow/BoutABoutTab.as:95 -#: src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 -#: src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 -#: src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 +#: src/InfoWindow/BoutABoutTab.as:99 +#: src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 +#: src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 +#: src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 #: src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "Description" -#: src/InfoWindow/BoutABoutTab.as:163 -#: src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 -#: src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 +#: src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 +#: src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 +#: src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "Oui" -#: src/InfoWindow/BoutABoutTab.as:164 -#: src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 -#: src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 +#: src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 +#: src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 +#: src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "Non" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "Confirmez-vous la suppression du bout à bout ?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "Liste" -#: src/InfoWindow/CuttingsTab.as:118 -#: src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 +#: src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "Nouveau découpage" -#: src/InfoWindow/CuttingsTab.as:134 -#: src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 +#: src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "Titre du découpage" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "Description du découpage" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "Marqueurs et segments" -#: src/InfoWindow/CuttingsTab.as:166 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 +#: src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "Début" -#: src/InfoWindow/CuttingsTab.as:178 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 +#: src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "Fin" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "Titre du segment" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "Description du segment" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "Tags (séparés par une virgule)" -#: src/InfoWindow/CuttingsTab.as:237 -#: src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 +#: src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "Tags de la ligne de temps" -#: src/InfoWindow/CuttingsTab.as:243 -#: src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 +#: src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "Précédent" -#: src/InfoWindow/CuttingsTab.as:252 -#: src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "Suivant" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" msgstr "Annotation audio" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." -msgstr "choississez un fichier mp3." +#: src/InfoWindow/CuttingsTab.as:297 +msgid "Choose a mp3 file." +msgstr "Choississez un fichier mp3." -#: src/InfoWindow/CuttingsTab.as:280 +#: src/InfoWindow/CuttingsTab.as:304 +#: src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "Enregistrer un commentaire audio" + +#: src/InfoWindow/CuttingsTab.as:318 #: src/sequencer/tools/edit/AddTextPict.mxml:65 #: src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "Parcourir..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 +#: src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "Enregistrement du microphone" + +#: src/InfoWindow/CuttingsTab.as:654 +msgid "Project's tags" +msgstr "Tags du projet" + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "Si vous continuez, l'annotation enregistrée sera archivée.\n" +"Continuer ?" + +#: src/InfoWindow/CuttingsTab.as:702 +#: src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 +#: src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 +#: src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "Avertissement" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "Si vous continuez, l'annotation enregistrée sera perdue.\n" +"Continuer ?" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "Projet" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "Découpages" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "Informations" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "Bout à bout" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "Vues" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "Prise de notes" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "Modifier" -#: src/InfoWindow/InformationsTab.as:178 -#: src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 +#: src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "Supprimer" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "Dupliquer" -#: src/InfoWindow/InformationsTab.as:190 -#: src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 +#: src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "Effacer la surbrillance des segments pour toutes les lignes" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 msgid "Duplicate only the highlighted segments" msgstr "Dupliquer seulement les segments en surbrillance" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "Effacer la surbrillance des segments pour cette ligne" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "Appliquer un offset" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "Créer un bout à bout à partir de la ligne de temps complète" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "Créer un bout à bout à partir des éléments en surbrillance" -#: src/InfoWindow/InformationsTab.as:232 +#: src/InfoWindow/InformationsTab.as:244 msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "Créer un bout à bout à partir des segments en surbrillance de toutes les timelines" +msgstr "Créer un bout à bout à partir des segments en surbrillance de toutes les" +"timelines" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" msgstr "Voir les titres et descriptions de tous les segments dans un texte" -#: src/InfoWindow/InformationsTab.as:397 -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 +#: src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "Durée" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "Indexation" -#: src/InfoWindow/InformationsTab.as:517 -#: src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "Nb élements" -#: src/InfoWindow/InformationsTab.as:521 -#: src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 +#: src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" msgstr "Durée moyenne des segments" -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "sur" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 +#: src/InfoWindow/InformationsTab.as:571 +#: src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 #: src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "Auteurs" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 +#: src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "Date" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "Vue" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "Critère" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "Sommaire" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "Segments" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "Marqueurs" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "Tous" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "Confirmez-vous la suppression du découpage ?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "copie" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "Démarrer la prise de notes" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "Mettre un séparateur (Shift + Enter)" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 +#: src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "Créer un découpage à partir de ces notes" -#: src/InfoWindow/NoteTakingTab.as:169 -msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "Le time code courant du média doit être supérieur à celui de votre dernier séparateur." +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "Ces notes ne sont pas sauvegardées tant que vous ne cliquez pas sur" + +#: src/InfoWindow/NoteTakingTab.as:232 +msgid "The media's current timecode must be superior to your last separator's" +"timecode." +msgstr "Le time code courant du média doit être supérieur à celui de votre dernier" +"séparateur." -#: src/InfoWindow/NoteTakingTab.as:169 -#: src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 -#: src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 -#: src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 -#: src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 +#: src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 +#: src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 +#: src/app/Python.as:51 +#: src/app/Python.as:58 +#: src/app/Python.as:69 +#: src/app/Python.as:163 +#: src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 +#: src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 +#: src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "Attention" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "Mes notes" -#: src/InfoWindow/NoteTakingTab.as:233 -#: src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 +#: src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "Découpages personnels" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "Aucun contenu n'est sélectionné pour ces notes." -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "Médias du projet" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "Voulez-vous vraiment retirer ce contenu de votre projet ?" @@ -352,249 +401,319 @@ msgid "Save the current display" msgstr "Enregistrer l'affichage actuel" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "Sauvegardes de l'état d'affichage :" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "Nouvelle vue" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "Supprimer la vue sélectionnée" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "Enregistrer l'affichage actuel dans la vue sélectionnée" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "Confirmez-vous la suppression de cette vue ?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "Vue sans nom" -#: src/LignesDeTempsFlex.mxml:118 -#: src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "Si vous continuez, le commentaire enregistré sera archivé.\n" +"Continuer ?" + +#: src/LignesDeTempsFlex.mxml:172 +#: src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "Chargement" -#: src/LignesDeTempsFlex.mxml:253 -#: src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 -#: src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "Tags sélectionnés" +#: src/LignesDeTempsFlex.mxml:352 +msgid "No project file is defined. You need to define a project file to save your" +"datas." +msgstr "Aucun fichier projet n'est défini. Vous devez définir un fichier projet pour" +"sauvegarder vos données." -#: src/LignesDeTempsFlex.mxml:278 -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "Aucun fichier projet n'est défini. Vous devez définir un fichier projet pour sauvegarder vos données." - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "Enregistrer le projet dans" - -#: src/LignesDeTempsFlex.mxml:290 -#: src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "Fichier" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "Projet en lecture seule" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "Enregistrer le projet" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "Enregistrer le projet dans" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "Exporter le projet au format cinelab .cxp" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "Exporter le projet au format .ldt" + +#: src/LignesDeTempsFlex.mxml:378 +msgid "Save the project in cinelab format as..." +msgstr "Enregistrer le projet au format cinelab sous..." + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "Nouveau Projet" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" -msgstr "Ouvrir un projet (.ldt)" +#: src/LignesDeTempsFlex.mxml:382 +msgid "Open a project (.ldt or .cxp)" +msgstr "Ouvrir un projet (.ldt ou .cxp)" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "Enregistrer le projet sous..." -#: src/LignesDeTempsFlex.mxml:309 +#: src/LignesDeTempsFlex.mxml:388 #: src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "Importer un nouveau média" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "Ouvrir une description (fichier .iri)" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "Importer des découpages depuis un autre fichier .ldt" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "Quitter" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "Médias" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "Librairie" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "Affichage" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "Plein écran" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "Replacer les fenêtres" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "Afficher tous les tags du projet" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "Afficher/Effacer l'affichage polémique" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "Se souvenir de la langue sélectionnée" -#: src/LignesDeTempsFlex.mxml:372 +#: src/LignesDeTempsFlex.mxml:451 #: src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "Aide" -#: src/LignesDeTempsFlex.mxml:373 +#: src/LignesDeTempsFlex.mxml:452 #: src/tools/AboutPanel.mxml:13 msgid "About" msgstr "A propos" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "Voir le contenu du fichier projet .ldt" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "Voir le contenu du fichier cinelab .cxp" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "Debug visible" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "Le plein écran n'est pas autorisé." -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "Cliquer sur le tag pour effacer la surbrillance" +#: src/LignesDeTempsFlex.mxml:768 +#: src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 +#: src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "Tags sélectionnés" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:791 msgid "Please select a media before importing cuttings." msgstr "Sélectionnez un media avant d'importer des découpages." +#: src/LignesDeTempsFlex.mxml:872 +msgid "Ldt file content" +msgstr "Contenu du fichier projet .ldt" + +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "Copier le code dans le presse-papier" + +#: src/LignesDeTempsFlex.mxml:874 +msgid "Copy" +msgstr "Copier" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "Sauvegarder dans un fichier" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "Vous allez quitter sans enregistrer.\n" +"Voulez-vous sauvegarder votre travail une dernière fois ?" + +#: src/app/Communication.as:198 +msgid "SAVING" +msgstr "SAUVEGARDE" + #: src/app/Python.as:49 msgid "Lost connection" msgstr "Connexion perdue" -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "Vos données ne peuvent plus être sauvegardées. Fermez et relancez Lignes de temps." +#: src/app/Python.as:50 +#: src/app/Python.as:57 +#: src/app/Python.as:68 +msgid "Your datas can not be saved anymore. Please close and restart Lignes de" +"temps." +msgstr "Vos données ne peuvent plus être sauvegardées. Fermez et relancez Lignes de" +"temps." -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 +#: src/app/Python.as:51 +#: src/app/Python.as:58 +#: src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "Cliquer OK pour sauvegarder votre travail une dernière fois." + +#: src/app/Python.as:56 +#: src/app/Python.as:67 +#: src/app/Python.as:163 msgid "Connection Problem" msgstr "Problème de connexion" -#: src/app/XMLInOut.as:116 -#: src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 +#: src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "Impossible de charger le fichier" -#: src/app/XMLInOut.as:116 -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 +#: src/app/XMLInOut.as:277 +#: src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 +#: src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "Erreur" -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 +#: src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "Votre fichier projet est introuvable, veuillez indiquer son emplacement." -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "Forme d'onde" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "Forme d'onde (tracé) du signal sonore" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "Couleur dominante" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "Tracé de la couleur dominante du flux vidéo" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "Chargement de l'image" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "Identifiant de contenu inconnu" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "Ajouter le découpage (Shift + E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "Mon découpage" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "Ouvrir ou fermer un segment (Shift + Espace)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "Ajouter un marqueur (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "Changer la couleur d'un segment ou d'un marqueur" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "Supprimer le segment sélectionné (Shift + Suppr)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "Scinder le segment (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "Segments liés" -#: src/sequencer/tools/create/TLUser.mxml:101 -msgid "If this box is checked, the end of a segment is also the beginning of the next one" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "If this box is checked, the end of a segment is also the beginning of the" +"next one" msgstr "Si cette case est cochée, la fin d'un segment correspond au début du suivant" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "Vous ne pouvez pas recouvrir un segment déjà existant." -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "Confirmez-vous la suppression du segment ?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "Vous ne pouvez pas poser de marqueur au milieu d'un segment déjà existant." @@ -649,12 +768,16 @@ msgid "Play the bout à bout (edit)" msgstr "Lire le bout à bout" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +msgid "Hide the Bout à bout" +msgstr "Masquer le Bout à bout" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "Confirmez-vous la suppression du segment ?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "Segment ajouté à" @@ -735,15 +858,94 @@ msgid "Import running. This operation can last several minutes." msgstr "Traitement de l'import. Cette opération peut durer plusieurs minutes." -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "Caractères non autorisés, le nom de fichier doit contenir seulement 0-9 a-z" +"A-Z" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." msgstr "Il faut indiquer au moins le titre et l'auteur pour lancer l'import." +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "Niveau d'enregistrement:" + +#: src/tools/MicRecord.mxml:134 +msgid "You are about to erase the current recording. \n" +" Go on ?" +msgstr "Vous allez effacer l'enregistrement courant.\n" +"Voulez-vous continuer ?" + +#: src/tools/MicRecord.mxml:219 +msgid "You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "Vous allez perdre l'annotation enregistrée.\n" +"Voulez-vous continuer ?" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "Offset" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "Déplacer les annotations jusqu'au timecode courant" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "Saisir la valeur de l'offset" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "Positif" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "Négatif" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "Appliquer" + #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "Lecture/Pause de l'annotation audio" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:125 msgid "Audio annotation error" msgstr "Erreur pour l'annotation audio" +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "Trier les tags par ordre alphabétique" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "Trier les tags par poids descendant" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "Trier les tags par poids ascendant" + +#: src/tools/TagsPanel.mxml:64 +#: src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +msgid "List display" +msgstr "Affichage par liste" + +#: src/tools/TagsPanel.mxml:165 +msgid "Cloud display" +msgstr "Affichage par nuage" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "Copier l'intégralité du texte" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "occurences" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "occurence" + diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/ja/messages.mo Binary file src/ldt/ldt/media/swf/ldt/pkg/i18n/ja/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/ja/messages.po --- a/src/ldt/ldt/media/swf/ldt/pkg/i18n/ja/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/swf/ldt/pkg/i18n/ja/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:02+0100\n" +"POT-Creation-Date: 2011-02-25 16:32+0100\n" "PO-Revision-Date: 2009-03-30 22:58+0900\n" "Last-Translator: Takuya Abe \n" "Language-Team: LANGUAGE \n" @@ -15,298 +15,343 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "ラフ編集(bout à bout)を選択" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "選択中のラフ編集(bout à bout)を削除" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "新規ラフ編集" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "選択中のラフ編集(bout à bout)を削除" - -#: src/InfoWindow/BoutABoutTab.as:80 src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "タイトル" -#: src/InfoWindow/BoutABoutTab.as:95 src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "説明" -#: src/InfoWindow/BoutABoutTab.as:163 src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "はい" -#: src/InfoWindow/BoutABoutTab.as:164 src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "いいえ" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "本当にこのラフ編集(bout à bout)を削除してよろしいですか?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "リスト" -#: src/InfoWindow/CuttingsTab.as:118 src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "新規タイムライン" -#: src/InfoWindow/CuttingsTab.as:134 src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "タイムラインのタイトル" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "タイムラインの説明" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "セグメントとマーカー" -#: src/InfoWindow/CuttingsTab.as:166 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "開始点" -#: src/InfoWindow/CuttingsTab.as:178 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "終点" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "セグメントのタイトル" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "セグメントの説明" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "タグ(半角コンマで区切る)" -#: src/InfoWindow/CuttingsTab.as:237 src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "タイムライン内のタグ一覧" -#: src/InfoWindow/CuttingsTab.as:243 src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "前へ" -#: src/InfoWindow/CuttingsTab.as:252 src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "次へ" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" -msgstr "" +msgstr "音声アノテーション" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." -msgstr "" +#: src/InfoWindow/CuttingsTab.as:297 +msgid "Choose a mp3 file." +msgstr "MP3を付ける" -#: src/InfoWindow/CuttingsTab.as:280 +#: src/InfoWindow/CuttingsTab.as:304 src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "音声コメントを録音" + +#: src/InfoWindow/CuttingsTab.as:318 #: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "ファイルを選択..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "マイク・レコーダー" + +#: src/InfoWindow/CuttingsTab.as:654 +#, fuzzy +msgid "Project's tags" +msgstr "プロジェクトが参照中のメディア" + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "" +"If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "" +"この操作を続けると、録音されたアノテーションはアーカイブされます。 \n" +" 続けますか?" + +#: src/InfoWindow/CuttingsTab.as:702 src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "" +"If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "" +"この操作を続けると、録音されたアノテーションは失われます。 \n" +" 続けますか?" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "プロジェクト" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "タイムライン" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "情報" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "ラフ編集" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "表示設定" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "ノート" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "修正" -#: src/InfoWindow/InformationsTab.as:178 src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "削除" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "複製" -#: src/InfoWindow/InformationsTab.as:190 src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "すべてのタイムラインのセグメントのハイライトを解除" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 #, fuzzy msgid "Duplicate only the highlighted segments" msgstr "ハイライトされたセグメントからラフ編集(bout à bout)を作成" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "このタイムラインのセグメントのハイライトを解除" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "タイムラインの中の全セグメントからラフ編集(bout à bout)を作成" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "ハイライトされたセグメントからラフ編集(bout à bout)を作成" -#: src/InfoWindow/InformationsTab.as:232 -msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "すべてのタイムライン上のハイライトされたセグメントからテスト編集(bout à bout)を作成" +#: src/InfoWindow/InformationsTab.as:244 +msgid "" +"Create a bout à bout (edit) from all the timelines's highlighted segments" +msgstr "" +"すべてのタイムライン上のハイライトされたセグメントからテスト編集(bout à " +"bout)を作成" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" -msgstr "" +msgstr "全てのセグメントのタイトルとディスクリプションを1つのテキストとして見る" -#: src/InfoWindow/InformationsTab.as:397 src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "持続" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "インデキシング" -#: src/InfoWindow/InformationsTab.as:517 src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "エレメント番号" -#: src/InfoWindow/InformationsTab.as:521 src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" -msgstr "" +msgstr "セグメントの長さの平均値" -#: src/InfoWindow/InformationsTab.as:524 src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "オン" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "作成者" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "日付" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "表示" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "判断基準" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "概要" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "セグメント" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "マーカー" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "すべて" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "本当にこのタイムラインを削除してよろしいですか?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "コピー" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "ノートの執筆を開始" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "区切りを入れる" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "このノートからタイムラインを作成" -#: src/InfoWindow/NoteTakingTab.as:169 +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "ノートは、タイムラインに変換しないと保存されません。ノート執筆後は、忘れずに以下のボタンを押してください:" + +#: src/InfoWindow/NoteTakingTab.as:232 #, fuzzy msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "メディアの現在のタイムコードはあなたが最後に作成した区切りのタイムコードよりも優先される必要があります" +msgstr "メディアの現在のタイムコードはあなたが最後に作成した区切りのタイムコードよりも優先されます" -#: src/InfoWindow/NoteTakingTab.as:169 src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 src/app/Python.as:49 src/app/Python.as:54 -#: src/app/Python.as:64 src/app/Python.as:200 src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 src/app/Python.as:51 src/app/Python.as:58 +#: src/app/Python.as:69 src/app/Python.as:163 src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "注意" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "マイノート" -#: src/InfoWindow/NoteTakingTab.as:233 src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "みんなのタイムライン" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "ノートするためのコンテンツが選択されていません" -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "プロジェクトが参照中のメディア" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "本当にこのコンテンツをプロジェクトから除外してよろしいですか?" @@ -318,240 +363,309 @@ msgid "Save the current display" msgstr "現在の表示設定を保存" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "保存済みの表示設定 :" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "新規表示設定" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "選択中の表示設定を削除" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "現在のウィンドウの状態を、選択中の表示設定に上書きして保存" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "本当にこの表示設定を削除してよろしいですか?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "名称未設定の表示設定" -#: src/LignesDeTempsFlex.mxml:118 src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "" +"If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "" +"この操作を続けると、記録されたコメントはアーカイブされます。 \n" +" 続けますか?" + +#: src/LignesDeTempsFlex.mxml:172 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "読み込み中..." -#: src/LignesDeTempsFlex.mxml:253 src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "選択されたタグ" +#: src/LignesDeTempsFlex.mxml:352 +msgid "" +"No project file is defined. You need to define a project file to save your " +"datas." +msgstr "" +"プロジェクトファイルが指定されていません。保存するためにはプロジェクトファイ" +"ルを指定する必要があります" -#: src/LignesDeTempsFlex.mxml:278 -#, fuzzy -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "プロジェクトファイルが指定されていません。保存するためにはプロジェクトファイルを指定する必要があります" - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "プロジェクトを上書き保存" - -#: src/LignesDeTempsFlex.mxml:290 src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "ファイル" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "読み出しのみ(書き込み不可)のプロジェクト" -#: src/LignesDeTempsFlex.mxml:297 -#, fuzzy +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "プロジェクトを上書き保存" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "プロジェクトを上書き保存" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "プロジェクトをcinelab形式で書き出す" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "プロジェクトをldt形式で書き出す" + +#: src/LignesDeTempsFlex.mxml:378 +msgid "Save the project in cinelab format as..." +msgstr "プロジェクトをcinelab形式にして別名で保存" + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "新規プロジェクト" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" -msgstr "プロジェクト (.ldt) を開く" +#: src/LignesDeTempsFlex.mxml:382 +msgid "Open a project (.ldt or .cxp)" +msgstr "プロジェクト (.ldt or .cxp) を開く" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "プロジェクトを別名で保存" -#: src/LignesDeTempsFlex.mxml:309 src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:388 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "新規メディアのインポート" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "ディスクリプション (.iri) を開く" -#: src/LignesDeTempsFlex.mxml:311 -#, fuzzy +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "このノートからタイムラインを作成" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "終了" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "メディア" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "ライブラリ" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "表示" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "フルスクリーン" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "ウィンドウの整列" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "このプロジェクトのタグをすべて表示" -#: src/LignesDeTempsFlex.mxml:362 -#, fuzzy +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "選択中の表示設定を削除" -#: src/LignesDeTempsFlex.mxml:372 src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:451 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "ヘルプ" -#: src/LignesDeTempsFlex.mxml:373 src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:452 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "Lignes de tempsについて" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "この.ldtプロジェクトファイルのコードを表示" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "このcinelabプロジェクトファイルのコードを表示" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "テキストフィールドをデバッグ" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "フルスクリーンモードは許可されていません" -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "タグをクリックしてハイライトを解除" +#: src/LignesDeTempsFlex.mxml:768 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "選択されたタグ" + +#: src/LignesDeTempsFlex.mxml:791 +msgid "Please select a media before importing cuttings." +msgstr "タイムラインをインポートする前にメディアを選択してください" + +#: src/LignesDeTempsFlex.mxml:872 +msgid "Ldt file content" +msgstr "Ldtファイルのコンテンツ" -#: src/LignesDeTempsFlex.mxml:730 -msgid "Please select a media before importing cuttings." +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "このコードをクリップボードにコピー" + +#: src/LignesDeTempsFlex.mxml:874 +msgid "Copy" +msgstr "コピー" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "ファイルに保存" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "" +"You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "" + +#: src/app/Communication.as:198 +msgid "SAVING" msgstr "" #: src/app/Python.as:49 msgid "Lost connection" msgstr "コネクションのロスト" -#: src/app/Python.as:49 src/app/Python.as:54 src/app/Python.as:64 -#, fuzzy -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "これ以上データを保存できません。Lignes de tempsを終了して再起動してください" +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "" +"Your datas can not be saved anymore. Please close and restart Lignes de " +"temps." +msgstr "" +"これ以上データを保存できません。Lignes de tempsを終了して再起動してください" -#: src/app/Python.as:54 src/app/Python.as:64 src/app/Python.as:200 +#: src/app/Python.as:51 src/app/Python.as:58 src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "最後にあなたの作業をセーブするために「OK」を押してください" + +#: src/app/Python.as:56 src/app/Python.as:67 src/app/Python.as:163 msgid "Connection Problem" msgstr "コネクションに問題" -#: src/app/XMLInOut.as:116 src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "ファイルが読み込めません" -#: src/app/XMLInOut.as:116 src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "エラー" -#: src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "プロジェクトファイルが見つかりません。ファイルの場所を指定してください" -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "波形" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "音声トラックの波形" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "色信号" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "ビデオストリームの主要色の描画" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "ピクチャの読み込み" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "不明なコンテンツ識別子" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "このタイムラインを追加 (Shift + E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "マイ・タイムライン" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "セグメントの開閉 (Shift + Space)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "マーカーを追加 (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "セグメントやマーカーのカラーを変更" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "選択中のセグメントを削除 (Shift + Del)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "セグメントの分割 (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "リンク付けされたセグメント" -#: src/sequencer/tools/create/TLUser.mxml:101 -#, fuzzy -msgid "If this box is checked, the end of a segment is also the beginning of the next one" -msgstr "このチェックボックスをオンにすると、セグメントの終点が自動で次のセグメントの開始点になります" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "" +"If this box is checked, the end of a segment is also the beginning of the " +"next one" +msgstr "" +"このチェックボックスをオンにすると、セグメントの終点が自動で次のセグメントの" +"開始点になります" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "すでにあるセグメントを覆うようなセグメントは作成できません" -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "本当にこのセグメントを削除してよろしいですか?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "セグメントの内側にマーカーを置くことはできません" @@ -606,12 +720,16 @@ msgid "Play the bout à bout (edit)" msgstr "ラフ編集(bout à bout)を再生" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +msgid "Hide the Bout à bout" +msgstr "ラフ編集" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "本当にこのセグメントを削除してよろしいですか?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "セグメントを追加" @@ -633,15 +751,15 @@ #: src/tools/HelpPanel.mxml:16 msgid "English" -msgstr "" +msgstr "英語" #: src/tools/HelpPanel.mxml:18 msgid "French" -msgstr "" +msgstr "フランス語" #: src/tools/HelpPanel.mxml:20 msgid "Japanese" -msgstr "" +msgstr "日本語" #: src/tools/HelpPanel.mxml:57 msgid "The link opens a new window or a new tab." @@ -652,25 +770,23 @@ msgstr "リンクがナビゲータを開きます" #: src/tools/ImportCuttings.mxml:14 -#, fuzzy msgid "Import" msgstr "メディアのインポート..." #: src/tools/ImportCuttings.mxml:16 msgid "Content's id" -msgstr "" +msgstr "コンテンツID" #: src/tools/ImportCuttings.mxml:50 msgid "Import cuttings in" -msgstr "" +msgstr "タイムラインを以下にインポート:" #: src/tools/ImportCuttings.mxml:79 #, csharp-format msgid "Do you want to import {0} cuttings in {1} ?" -msgstr "" +msgstr " {1} の中にタイムライン {0} をインポートしますか?" #: src/tools/ImportCuttings.mxml:79 -#, fuzzy msgid "Confirmation" msgstr "情報" @@ -694,14 +810,98 @@ msgid "Import running. This operation can last several minutes." msgstr "インポートの実行中...(この処理には時間がかかることがあります)" -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "使用不可能文字な文字を含んでいます。使用できるのは半角数字の0-9、半角英数のa-z、A-Zのみです" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." -msgstr "インポートを実行するにはタイトルと作成者の入力が必須です" +msgstr "インポートを実行する前にタイトルと作成者を入力してください" + +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "録音サウンドのレベル" + +#: src/tools/MicRecord.mxml:134 +msgid "" +"You are about to erase the current recording. \n" +" Go on ?" +msgstr "" +"現在のレコーディングを消去しようとしています。 \n" +" 続けますか?" + +#: src/tools/MicRecord.mxml:219 +msgid "" +"You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "" +"操作を続けると録音したアノテーションは失われます。 \n" +" 失われないようにセーブしますか?" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" -msgstr "" +msgstr "音声アノテーションを再生/停止" + +#: src/tools/SimpleMp3Player.as:125 +msgid "Audio annotation error" +msgstr "音声アノテーション・エラー" + +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "タグをアルファベット順でソート" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "タグを使われている数が多い順で整頓" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "タグを使われている数が少ない順で整頓" -#: src/tools/SimpleMp3Player.as:121 -msgid "Audio annotation error" -msgstr "" +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +msgid "List display" +msgstr "リスト表示" + +#: src/tools/TagsPanel.mxml:165 +msgid "Cloud display" +msgstr "クラウド表示" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "全文をコピー" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "出現" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "出現" + +#~ msgid "Unhighlight this timeline's segments" +#~ msgstr "このタイムラインのセグメントのハイライトを解除" diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/media/swf/ldt/pkg/i18n/messages.po --- a/src/ldt/ldt/media/swf/ldt/pkg/i18n/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/media/swf/ldt/pkg/i18n/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:02+0100\n" +"POT-Creation-Date: 2010-08-04 12:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,116 +16,134 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "" - -#: src/InfoWindow/BoutABoutTab.as:80 src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:53 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:95 src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:148 +#: src/InfoWindow/InformationsTab.as:403 src/InfoWindow/InformationsTab.as:528 +#: src/InfoWindow/InformationsTab.as:560 src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/ProjectTab.as:84 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:163 src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:807 +#: src/InfoWindow/ProjectTab.as:185 src/InfoWindow/ViewsTab.as:296 +#: src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:164 src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:808 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:297 +#: src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:124 msgid "List" msgstr "" -#: src/InfoWindow/CuttingsTab.as:118 src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:134 src/sequencer/ui/Content.as:96 msgid "New cutting" msgstr "" -#: src/InfoWindow/CuttingsTab.as:134 src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:150 src/sequencer/tools/create/TLUser.mxml:79 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:163 msgid "Cutting's description" msgstr "" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:180 msgid "Marks and segments" msgstr "" -#: src/InfoWindow/CuttingsTab.as:166 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:182 src/InfoWindow/InformationsTab.as:411 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "" -#: src/InfoWindow/CuttingsTab.as:178 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:194 src/InfoWindow/InformationsTab.as:411 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:206 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:221 msgid "Segment's description" msgstr "" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:235 msgid "Tags (separated by a comma)" msgstr "" -#: src/InfoWindow/CuttingsTab.as:237 src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:253 src/InfoWindow/CuttingsTab.as:639 msgid "Timeline's tags" msgstr "" -#: src/InfoWindow/CuttingsTab.as:243 src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:259 src/InfoWindow/InformationsTab.as:156 msgid "Previous" msgstr "" -#: src/InfoWindow/CuttingsTab.as:252 src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:268 src/InfoWindow/InformationsTab.as:165 msgid "Next" msgstr "" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:289 msgid "Audio annotation" msgstr "" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." +#: src/InfoWindow/CuttingsTab.as:291 +msgid "Choose a mp3 file." +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:298 src/InfoWindow/ViewsTab.as:136 +msgid "Record audio comment" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:312 +#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 +msgid "Browse..." msgstr "" -#: src/InfoWindow/CuttingsTab.as:280 -#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 -msgid "Browse..." +#: src/InfoWindow/CuttingsTab.as:321 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:661 +msgid "If you go on, the recorded annotation will be archived. \n Go on ?" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:661 src/InfoWindow/CuttingsTab.as:779 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:390 +#: src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:779 +msgid "If you go on, the recorded annotation will be lost. \n Go on ?" msgstr "" #: src/InfoWindow/InfoWindow.as:110 @@ -136,176 +154,185 @@ msgid "Cuttings" msgstr "" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:122 msgid "Informations" msgstr "" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:126 +#: src/sequencer/tools/edit/BoutABout.mxml:872 +#: src/sequencer/tools/edit/BoutABout.mxml:873 +#: src/sequencer/tools/edit/BoutABout.mxml:880 +#: src/sequencer/tools/edit/BoutABout.mxml:881 +#: src/sequencer/tools/edit/BoutABout.mxml:1025 +#: src/sequencer/tools/edit/BoutABout.mxml:1026 +#: src/sequencer/tools/edit/BoutABout.mxml:1116 msgid "Bout à bout" msgstr "" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:132 msgid "Views" msgstr "" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:137 msgid "Note-taking" msgstr "" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:178 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "" -#: src/InfoWindow/InformationsTab.as:178 src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:184 src/InfoWindow/ProjectTab.as:166 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "" -#: src/InfoWindow/InformationsTab.as:190 src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:196 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:210 msgid "Duplicate only the highlighted segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" +#: src/InfoWindow/InformationsTab.as:217 +msgid "Apply an offset" msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:224 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:231 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:232 +#: src/InfoWindow/InformationsTab.as:238 msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:245 msgid "See all the segments' titles and descriptions in one text" msgstr "" -#: src/InfoWindow/InformationsTab.as:397 src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:409 src/InfoWindow/InformationsTab.as:537 +#: src/InfoWindow/InformationsTab.as:571 msgid "Duration" msgstr "" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:416 msgid "Indexation" msgstr "" -#: src/InfoWindow/InformationsTab.as:517 src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:530 src/InfoWindow/InformationsTab.as:566 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "" -#: src/InfoWindow/InformationsTab.as:521 src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:534 src/InfoWindow/InformationsTab.as:569 msgid "Average length of segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:524 src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:537 src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:571 msgid "on" msgstr "" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:538 src/InfoWindow/InformationsTab.as:572 +#: src/InfoWindow/ProjectTab.as:68 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:538 src/InfoWindow/InformationsTab.as:572 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:559 msgid "View" msgstr "" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:561 msgid "Criterion" msgstr "" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:576 msgid "Summary" msgstr "" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:577 msgid "Segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:578 msgid "Marks" msgstr "" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:579 msgid "All" msgstr "" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:810 msgid "Do you confirm you delete the cutting ?" msgstr "" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:872 msgid "copy" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "" + +#: src/InfoWindow/NoteTakingTab.as:232 msgid "The media's current timecode must be superior to your last separator's timecode." msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 src/app/Python.as:49 src/app/Python.as:54 -#: src/app/Python.as:64 src/app/Python.as:200 src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:290 src/LignesDeTempsFlex.mxml:584 +#: src/LignesDeTempsFlex.mxml:726 src/app/Python.as:50 src/app/Python.as:57 +#: src/app/Python.as:68 src/app/Python.as:147 src/sequencer/Sequencer.mxml:226 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:725 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:233 src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1052 +#: src/sequencer/tools/create/TLUser.mxml:1145 msgid "Personnal cuttings" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "" -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:100 msgid "Project's medias" msgstr "" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:187 msgid "Do you really want to take this content out of your project ?" msgstr "" @@ -317,234 +344,278 @@ msgid "Save the current display" msgstr "" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:83 msgid "Saved display states :" msgstr "" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:115 msgid "New view" msgstr "" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:122 msgid "Delete the selected view" msgstr "" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:129 msgid "Save the current display in the selected view" msgstr "" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:298 msgid "Do you confirm you delete this view ?" msgstr "" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:327 msgid "No name view" msgstr "" -#: src/LignesDeTempsFlex.mxml:118 src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:390 +msgid "If you go on, the recorded comment will be archived. \n Go on ?" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:125 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "" -#: src/LignesDeTempsFlex.mxml:253 src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "" - -#: src/LignesDeTempsFlex.mxml:278 +#: src/LignesDeTempsFlex.mxml:290 msgid "No project file is defined. You need to define a project file to save your datas." msgstr "" -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "" - -#: src/LignesDeTempsFlex.mxml:290 src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:300 src/LignesDeTempsFlex.mxml:306 +#: src/LignesDeTempsFlex.mxml:318 msgid "File" msgstr "" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:301 msgid "Read only project" msgstr "" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:307 msgid "Save the project" msgstr "" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:313 +msgid "Save the project in" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:315 +msgid "Export the project in cinelab format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:315 +msgid "Export the project in ldt format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:316 +msgid "Save the project in cinelab format as..." +msgstr "" + +#: src/LignesDeTempsFlex.mxml:319 msgid "New project" msgstr "" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" +#: src/LignesDeTempsFlex.mxml:320 +msgid "Open a project (.ldt or .cxp)" msgstr "" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:322 msgid "Save the project as..." msgstr "" -#: src/LignesDeTempsFlex.mxml:309 src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:326 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:327 msgid "Open a description (.iri file)" msgstr "" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:328 msgid "Import cuttings from an other .ldt file" msgstr "" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:330 msgid "Quit" msgstr "" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:342 msgid "Medias" msgstr "" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:347 msgid "Library" msgstr "" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:370 msgid "Display" msgstr "" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:371 msgid "Fullscreen" msgstr "" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:372 msgid "Replace windows" msgstr "" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:373 msgid "Display all the project's tags" msgstr "" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:379 msgid "Remember the selected language" msgstr "" -#: src/LignesDeTempsFlex.mxml:372 src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:389 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "" -#: src/LignesDeTempsFlex.mxml:373 src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:390 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:392 +msgid "Show the .ldt project file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:393 +msgid "Show the cinelab file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:395 +msgid "Debug textfield" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:584 msgid "The fullscreen mode is not allowed." msgstr "" -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" +#: src/LignesDeTempsFlex.mxml:703 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" msgstr "" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:726 msgid "Please select a media before importing cuttings." msgstr "" -#: src/app/Python.as:49 +#: src/LignesDeTempsFlex.mxml:808 +msgid "Ldt file content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:809 +msgid "Copy the code to the clipboard" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:810 +msgid "Copy" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:812 +msgid "Save into a file" +msgstr "" + +#: src/app/Python.as:48 msgid "Lost connection" msgstr "" -#: src/app/Python.as:49 src/app/Python.as:54 src/app/Python.as:64 +#: src/app/Python.as:49 src/app/Python.as:56 src/app/Python.as:67 msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." msgstr "" -#: src/app/Python.as:54 src/app/Python.as:64 src/app/Python.as:200 +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "Click OK to save your work a last time." +msgstr "" + +#: src/app/Python.as:55 src/app/Python.as:66 src/app/Python.as:147 msgid "Connection Problem" msgstr "" -#: src/app/XMLInOut.as:116 src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:137 src/tools/SimpleMp3Player.as:124 msgid "Impossible to load the file" msgstr "" -#: src/app/XMLInOut.as:116 src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:137 src/app/XMLInOut.as:273 src/app/XMLInOut.as:992 msgid "Error" msgstr "" -#: src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:273 src/app/XMLInOut.as:992 msgid "Your project file was not found. Please locate it." msgstr "" -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:483 msgid "Wave form" msgstr "" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:484 msgid "Wave form of the sound track" msgstr "" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:494 msgid "Color signal" msgstr "" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:495 msgid "Drawing of the video stream's main color" msgstr "" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:636 msgid "Loading picture" msgstr "" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:226 msgid "Unknown content identifier" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:75 msgid "Add the cutting (Shift + E)" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:80 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "" +#: src/sequencer/tools/create/TLUser.mxml:85 +msgid "Open or close a segment (Shift + Space)" +msgstr "" + #: src/sequencer/tools/create/TLUser.mxml:87 -msgid "Open or close a segment (Shift + Space)" +msgid "Add a mark (Shift + M)" msgstr "" #: src/sequencer/tools/create/TLUser.mxml:89 -msgid "Add a mark (Shift + M)" -msgstr "" - -#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Change the segment or mark's color" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:101 +#: src/sequencer/tools/create/TLUser.mxml:99 msgid "If this box is checked, the end of a segment is also the beginning of the next one" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:721 msgid "You can not cover a segment." msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:709 msgid "You can not add a mark in the middle of a segment." msgstr "" @@ -599,12 +670,16 @@ msgid "Play the bout à bout (edit)" msgstr "" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +msgid "Hide the Bout à bout" +msgstr "" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "" @@ -685,14 +760,87 @@ msgid "Import running. This operation can last several minutes." msgstr "" -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." msgstr "" +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "" + +#: src/tools/MicRecord.mxml:134 +msgid "You are about to erase the current recording. \n Go on ?" +msgstr "" + +#: src/tools/MicRecord.mxml:219 +msgid "You are about to lose the recorded annotation. \n Do you want to save it ?" +msgstr "" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" + #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:124 msgid "Audio annotation error" msgstr "" + +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +msgid "List display" +msgstr "" + +#: src/tools/TagsPanel.mxml:165 +msgid "Cloud display" +msgstr "" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "" diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/settings.py --- a/src/ldt/ldt/settings.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/settings.py Wed Mar 23 17:34:36 2011 +0100 @@ -1,5 +1,3 @@ -import os -import os.path import logging from django.conf import settings @@ -33,6 +31,7 @@ ) MIDDLEWARE_CLASSES = ( + 'django.middleware.gzip.GZipMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/templates/ldt/ldt_base.html --- a/src/ldt/ldt/templates/ldt/ldt_base.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/templates/ldt/ldt_base.html Wed Mar 23 17:34:36 2011 +0100 @@ -4,56 +4,123 @@ {% load navigation %} {% block js_import %} - {{ block.super }} - - - + {{ block.super }} + + + + +{% endblock %} + +{% block js_declaration %} + {% endblock %} {% block css_import %} - {{ block.super }} - - - + {{ block.super }} + + + {% endblock %} {% block body %} - {{ block.super }} + {{ block.super }}
    - {% endblock %} diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/ldt/user/templates/ldt/user/login_form.html --- a/src/ldt/ldt/user/templates/ldt/user/login_form.html Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/ldt/user/templates/ldt/user/login_form.html Wed Mar 23 17:34:36 2011 +0100 @@ -13,12 +13,12 @@ $(document).ready(function(){ $('.login_link').nyroModal({ - height:235, - width:430, - padding:0, - bgColor: 'rgb(239, 239, 239)', - }); - }) + sizes: { + minH: 235, + minW: 430 + } + }); + }); {% endblock %} diff -r 5cba2808cde0 -r 2e2989c3072c src/ldt/setup.py --- a/src/ldt/setup.py Thu Feb 17 18:43:37 2011 +0100 +++ b/src/ldt/setup.py Wed Mar 23 17:34:36 2011 +0100 @@ -12,7 +12,7 @@ platform-neutral way. """ if result is None: - result = [] + result = [] head, tail = os.path.split(path) if head == '': return [tail] + result @@ -20,33 +20,37 @@ return result return fullsplit(head, [tail] + result) -packages, data_files = [], [] +packages, data_files, path_processed = [], {}, [] + +#TODO : uses find_packages form setuptools and teh mercurial extension -for dirpath, dirnames, filenames in os.walk(SOURCE_DIR): +for dirpath, dirnames, filenames in os.walk(SOURCE_DIR,True): # Ignore dirnames that start with '.' + if dirpath in path_processed: + continue + path_processed.append(dirpath) for i, dirname in enumerate(dirnames): if dirname.startswith('.'): del dirnames[i] if '__init__.py' in filenames: packages.append('.'.join(fullsplit(dirpath))) - elif filenames: - data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]]) + else: + new_data_files = [] + base_path_list = fullsplit(dirpath)[:-1] + base_path = "/".join(base_path_list) + "/" + key = '.'.join(base_path_list) + for ldirpath, ldirnames, lfilenames in os.walk(dirpath): + path_processed.append(ldirpath) + new_data_files.extend([os.path.join(ldirpath[len(base_path):], f) for f in lfilenames]) + data_files.setdefault(key,[]).extend(new_data_files) + setup( - name='Ldt', + name='ldt', version=version, author='Yves-Marie Haussonne (IRI)', author_email='contact@iri.centrepompidou.fr', - packages=packages, - data_files=data_files, -# package_data = { -# '': [ -# 'media/*', -# 'locale/*/LC_MESSAGES/*', -# 'templates/ldt/*.html', -# 'templates/admin/*.html', -# 'templates/cms/admin/cms/page/*.html', -# ] -# }, + packages = find_packages(), + package_data = data_files, scripts=[], url='https://www.iri.centrepompidou.fr/dev/hg/platform', license='LICENSE.txt', diff -r 5cba2808cde0 -r 2e2989c3072c virtualenv/setup/create_python_env.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/virtualenv/setup/create_python_env.py Wed Mar 23 17:34:36 2011 +0100 @@ -0,0 +1,184 @@ +""" +Call this like ``python create_python_env.py``; it will +refresh the project-boot.py script + +-prerequisite: + +- virtualenv + +- python project-boot.py --unzip-setuptools --no-site-packages --clear --type-install=local + +""" + +import os +import subprocess +import re +import sys + + +here = os.path.dirname(os.path.abspath(__file__)) +base_dir = here +script_name = os.path.join(base_dir, 'project-boot.py') + +import virtualenv + +# things to install +# - psycopg2 -> pip +# - PIL -> pip +# - pyxml -> pip +# - 4Suite-xml - easy_install ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0.2.tar.bz2 +# - pylucene - script + +src_base = os.path.join(here,"res","src").replace("\\","/") +lib_path = os.path.abspath(os.path.join(here,"res","lib")).replace("\\","/") + +EXTRA_TEXT = "URLS = { \n" + +EXTRA_TEXT += " 'DISTRIBUTE' : { 'setup': 'distribute', 'url': 'http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz', 'local': '"+ os.path.abspath(os.path.join(src_base,"distribute-0.6.14.tar.gz")).replace("\\","/")+"'},\n" +EXTRA_TEXT += " 'MERCURIAL' : { 'setup': 'distribute', 'url': 'http://pypi.python.org/packages/source/d/mercurial/mercurial-1.7.5.tar.gz', 'local': '"+ os.path.abspath(os.path.join(src_base,"mercurial-1.7.5.tar.gz")).replace("\\","/")+"'},\n" +EXTRA_TEXT += "}\n" + +EXTRA_TEXT += "import sys\n" +EXTRA_TEXT += "sys.path.append('"+lib_path+"')\n" + +EXTRA_TEXT += """ + +import shutil +import tarfile +import zipfile +import urllib +import platform + + +INDEX_URL = 'http://pypi.python.org/simple/' + + +def extend_parser(parser): + parser.add_option( + '--index-url', + metavar='INDEX_URL', + dest='index_url', + default='', + help='base URL of Python Package Index') + parser.add_option( + '--type-install', + metavar='type_install', + dest='type_install', + default='local', + help='type install : local, url, setup') + parser.add_option( + '--ignore-packages', + metavar='ignore_packages', + dest='ignore_packages', + default=None, + help='list of comma separated keys for package to ignore') + + + +def adjust_options(options, args): + pass + + +def after_install(options, home_dir): + home_dir, lib_dir, inc_dir, bin_dir = path_locations(home_dir) + base_dir = os.path.dirname(home_dir) + src_dir = join(home_dir, 'src') + tmp_dir = join(home_dir, 'tmp') + ensure_dir(src_dir) + ensure_dir(tmp_dir) + system_str = platform.system() + + res_source_key = options.type_install + + ignore_packages = [] + + if options.ignore_packages : + ignore_packages = options.ignore_packages.split(",") + + logger.indent += 2 + try: + NORMAL_INSTALL = [ #(key,method, option_str, extra_env) + ('DISTRIBUTE', 'pip', None, None), + ('MERCURIAL', 'pip', None, None), + ] + + + for key, method, option_str, extra_env in NORMAL_INSTALL: + if key not in ignore_packages: + normal_install(key, method, option_str, extra_env, res_source_key, home_dir, tmp_dir) + + logger.notify("Clear source dir") + shutil.rmtree(src_dir) + + finally: + logger.indent -= 2 + script_dir = join(base_dir, bin_dir) + logger.notify('Run "%s Package" to install new packages that provide builds' + % join(script_dir, 'easy_install')) + + +def normal_install(key, method, option_str, extra_env, res_source_key, home_dir, tmp_dir): + logger.notify("Install %s from %s with %s" % (key,URLS[key][res_source_key],method)) + if method == 'pip': + if sys.platform == 'win32': + args = [os.path.abspath(os.path.join(home_dir, 'Scripts', 'pip')), 'install', '-E', os.path.abspath(home_dir), URLS[key][res_source_key]] + else: + args = [os.path.abspath(os.path.join(home_dir, 'bin', 'pip')), 'install', '-E', os.path.abspath(home_dir), URLS[key][res_source_key]] + if option_str : + args.insert(4,option_str) + call_subprocess(args, + cwd=os.path.abspath(tmp_dir), + filter_stdout=filter_python_develop, + show_stdout=True, + extra_env=extra_env) + else: + if sys.platform == 'win32': + args = [os.path.abspath(os.path.join(home_dir, 'Scripts', 'easy_install')), URLS[key][res_source_key]] + else: + args = [os.path.abspath(os.path.join(home_dir, 'bin', 'easy_install')), URLS[key][res_source_key]] + if option_str : + args.insert(1,option_str) + call_subprocess(args, + cwd=os.path.abspath(tmp_dir), + filter_stdout=filter_python_develop, + show_stdout=True, + extra_env=extra_env) + + +def ensure_dir(dir): + if not os.path.exists(dir): + logger.notify('Creating directory %s' % dir) + os.makedirs(dir) + +def filter_python_develop(line): + if not line.strip(): + return Logger.DEBUG + for prefix in ['Searching for', 'Reading ', 'Best match: ', 'Processing ', + 'Moving ', 'Adding ', 'running ', 'writing ', 'Creating ', + 'creating ', 'Copying ']: + if line.startswith(prefix): + return Logger.DEBUG + return Logger.NOTIFY +""" + +def main(): + python_version = ".".join(map(str,sys.version_info[0:2])) + text = virtualenv.create_bootstrap_script(EXTRA_TEXT, python_version=python_version) + if os.path.exists(script_name): + f = open(script_name) + cur_text = f.read() + f.close() + else: + cur_text = '' + print 'Updating %s' % script_name + if cur_text == 'text': + print 'No update' + else: + print 'Script changed; updating...' + f = open(script_name, 'w') + f.write(text) + f.close() + +if __name__ == '__main__': + main() + diff -r 5cba2808cde0 -r 2e2989c3072c virtualenv/setup/env/.keepme diff -r 5cba2808cde0 -r 2e2989c3072c virtualenv/setup/res/src/distribute-0.6.14.tar.gz Binary file virtualenv/setup/res/src/distribute-0.6.14.tar.gz has changed diff -r 5cba2808cde0 -r 2e2989c3072c virtualenv/setup/res/src/mercurial-1.7.5.tar.gz Binary file virtualenv/setup/res/src/mercurial-1.7.5.tar.gz has changed diff -r 5cba2808cde0 -r 2e2989c3072c virtualenv/web/res/src/MySQL-python-1.2.3.tar.gz Binary file virtualenv/web/res/src/MySQL-python-1.2.3.tar.gz has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/ldtplatform/config.py.tmpl --- a/web/ldtplatform/config.py.tmpl Thu Feb 17 18:43:37 2011 +0100 +++ b/web/ldtplatform/config.py.tmpl Wed Mar 23 17:34:36 2011 +0100 @@ -68,6 +68,6 @@ REGISTRATION_OPEN = False LDT_MAX_SEARCH_NUMBER = 50 -LDT_JSON_DEFAULT_INDENT = 2 +LDT_JSON_DEFAULT_INDENT = 0 EMPTY_MEDIA_EXTERNALID = None diff -r 5cba2808cde0 -r 2e2989c3072c web/ldtplatform/settings.py --- a/web/ldtplatform/settings.py Thu Feb 17 18:43:37 2011 +0100 +++ b/web/ldtplatform/settings.py Wed Mar 23 17:34:36 2011 +0100 @@ -1,169 +1,169 @@ -#@PydevCodeAnalysisIgnore -import os.path -# Django settings for project. - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -ADMINS = ( - # ('Your Name', 'your_email@domain.com'), -) - -MANAGERS = ADMINS - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': '', # Or path to database file if using sqlite3. - 'USER': '', # Not used with sqlite3. - 'PASSWORD': '', # Not used with sqlite3. - 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. - 'PORT': '', # Set to empty string for default. Not used with sqlite3. - } -} - -# Local time zone for this installation. Choices can be found here: -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name -# although not all choices may be available on all operating systems. -# If running in a Windows environment this must be set to the same as your -# system time zone. -TIME_ZONE = 'Europe/Paris' - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE = 'fr-fr' - -ugettext = lambda s: s - -LANGUAGES = ( - ('fr', ugettext('French')), -) - - -SITE_ID = 1 - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True - -# Absolute path to the directory that holds media. -# Example: "/home/media/media.lawrence.com/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash if there is a path component (optional in other cases). -# Examples: "http://media.lawrence.com", "http://example.com/media/" -MEDIA_URL = '' - -# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a -# trailing slash. -# Examples: "http://foo.com/media/", "/media/". -ADMIN_MEDIA_PREFIX = '/media/' - -LDT_MEDIA_PREFIX = '/ldt/' - -# Make this unique, and don't share it with anybody. -SECRET_KEY = 't^lii5_z@tho$%6t&b#dm#t9nz$$ylyclxvkdiyqbl+(dnt(ma' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -# 'django.template.loaders.eggs.Loader', -) - -MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.middleware.locale.LocaleMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'jogging.middleware.LoggingMiddleware', - 'openid_consumer.middleware.OpenIDMiddleware', -) - -TEMPLATE_CONTEXT_PROCESSORS = ( - "django.core.context_processors.request", - "django.core.context_processors.auth", - "django.core.context_processors.debug", - "django.core.context_processors.i18n", - "django.core.context_processors.media", - "ldt.utils.context_processors.ldt", - "ldt.utils.context_processors.base", - "ldt.utils.context_processors.web", - "ldtplatform.utils.context_processors.version", -) - - -ROOT_URLCONF = 'ldtplatform.urls' - -TEMPLATE_DIRS = ( - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. - os.path.join(os.path.basename(__file__), 'templates'), -) - -FIXTURES_DIRS = ( - os.path.join(os.path.basename(__file__), 'fixtures'), -) - -INSTALLED_APPS = ( - 'jogging', - 'django_extensions', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.admin', - 'ldtplatform', - 'registration', - 'tagging', - 'ldt', - 'ldt.core', - 'ldt.ldt_utils', - 'ldt.text', - 'ldt.user', - 'ldt.management', - 'oauth_provider', - 'openid_consumer', - 'piston', - 'socialauth', -) - -DECOUPAGE_BLACKLIST = ( - "de_PPP", -) - -ZIP_BLACKLIST = ( - "__MACOSX", -) - -ACCOUNT_ACTIVATION_DAYS = 7 - -LDT_MAX_SEARCH_NUMBER = 50 -LDT_JSON_DEFAULT_INDENT = 2 - -OAUTH_PROVIDER_KEY_SIZE = 32 -OAUTH_PROVIDER_SECRET_SIZE = 32 -OAUTH_PROVIDER_VERIFIER_SIZE = 10 -OAUTH_PROVIDER_CONSUMER_KEY_SIZE = 256 -OAUTH_AUTHORIZE_VIEW = 'oauth_provider.views.fake_authorize_view' -OAUTH_CALLBACK_VIEW = 'oauth_provider.views.fake_callback_view' -TEST_WEBSERVER_ADDRPORT = "127.0.0.1:8000" - -from config import * -from socialauthsettings import * - -LOGIN_URL = BASE_URL + 'accounts/login/' -LOGOUT_URL = BASE_URL + 'accounts/logout/' -#LOGIN_REDIRECT_URL = BASE_URL + 'ldtplatform' -LOGIN_REDIRECT_URL = BASE_URL + 'ldt/' -LOGOUT_REDIRECT_URL = BASE_URL + 'accounts/login' -PROFILE_REDIRECT_URL = BASE_URL + 'accounts/create/profile' - -GLOBAL_LOG_LEVEL = LOG_LEVEL -GLOBAL_LOG_HANDLERS = [{'handler':logging.FileHandler(LOG_FILE), 'format':"%(asctime)s - %(levelname)s : %(message)s"}] - +#@PydevCodeAnalysisIgnore +import os.path +# Django settings for project. + +DEBUG = True +TEMPLATE_DEBUG = DEBUG + +ADMINS = ( + # ('Your Name', 'your_email@domain.com'), +) + +MANAGERS = ADMINS + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. + 'NAME': '', # Or path to database file if using sqlite3. + 'USER': '', # Not used with sqlite3. + 'PASSWORD': '', # Not used with sqlite3. + 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. + 'PORT': '', # Set to empty string for default. Not used with sqlite3. + } +} + +# Local time zone for this installation. Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# If running in a Windows environment this must be set to the same as your +# system time zone. +TIME_ZONE = 'Europe/Paris' + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +LANGUAGE_CODE = 'fr-fr' + +ugettext = lambda s: s + +LANGUAGES = ( + ('fr', ugettext('French')), +) + + +SITE_ID = 1 + +# If you set this to False, Django will make some optimizations so as not +# to load the internationalization machinery. +USE_I18N = True + +# Absolute path to the directory that holds media. +# Example: "/home/media/media.lawrence.com/" +MEDIA_ROOT = '' + +# URL that handles the media served from MEDIA_ROOT. Make sure to use a +# trailing slash if there is a path component (optional in other cases). +# Examples: "http://media.lawrence.com", "http://example.com/media/" +MEDIA_URL = '' + +# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a +# trailing slash. +# Examples: "http://foo.com/media/", "/media/". +ADMIN_MEDIA_PREFIX = '/media/' + +LDT_MEDIA_PREFIX = '/ldt/' + +# Make this unique, and don't share it with anybody. +SECRET_KEY = 't^lii5_z@tho$%6t&b#dm#t9nz$$ylyclxvkdiyqbl+(dnt(ma' + +# List of callables that know how to import templates from various sources. +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', +) + +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.middleware.locale.LocaleMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'jogging.middleware.LoggingMiddleware', + 'openid_consumer.middleware.OpenIDMiddleware', +) + +TEMPLATE_CONTEXT_PROCESSORS = ( + "django.core.context_processors.request", + "django.core.context_processors.auth", + "django.core.context_processors.debug", + "django.core.context_processors.i18n", + "django.core.context_processors.media", + "ldt.utils.context_processors.ldt", + "ldt.utils.context_processors.base", + "ldt.utils.context_processors.web", + "ldtplatform.utils.context_processors.version", +) + + +ROOT_URLCONF = 'ldtplatform.urls' + +TEMPLATE_DIRS = ( + # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. + os.path.join(os.path.basename(__file__), 'templates'), +) + +FIXTURES_DIRS = ( + os.path.join(os.path.basename(__file__), 'fixtures'), +) + +INSTALLED_APPS = ( + 'jogging', + 'django_extensions', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.admin', + 'ldtplatform', + 'registration', + 'tagging', + 'ldt', + 'ldt.core', + 'ldt.ldt_utils', + 'ldt.text', + 'ldt.user', + 'ldt.management', + 'oauth_provider', + 'openid_consumer', + 'piston', + 'socialauth', +) + +DECOUPAGE_BLACKLIST = ( + "de_PPP", +) + +ZIP_BLACKLIST = ( + "__MACOSX", +) + +ACCOUNT_ACTIVATION_DAYS = 7 + +LDT_MAX_SEARCH_NUMBER = 50 +LDT_JSON_DEFAULT_INDENT = 2 + +OAUTH_PROVIDER_KEY_SIZE = 32 +OAUTH_PROVIDER_SECRET_SIZE = 32 +OAUTH_PROVIDER_VERIFIER_SIZE = 10 +OAUTH_PROVIDER_CONSUMER_KEY_SIZE = 256 +OAUTH_AUTHORIZE_VIEW = 'oauth_provider.views.fake_authorize_view' +OAUTH_CALLBACK_VIEW = 'oauth_provider.views.fake_callback_view' +TEST_WEBSERVER_ADDRPORT = "127.0.0.1:8000" + +from config import * +from socialauthsettings import * + +LOGIN_URL = BASE_URL + 'accounts/login/' +LOGOUT_URL = BASE_URL + 'accounts/logout/' +#LOGIN_REDIRECT_URL = BASE_URL + 'ldtplatform' +LOGIN_REDIRECT_URL = BASE_URL + 'ldt/' +LOGOUT_REDIRECT_URL = BASE_URL + 'accounts/login' +PROFILE_REDIRECT_URL = BASE_URL + 'accounts/create/profile' + +GLOBAL_LOG_LEVEL = LOG_LEVEL +GLOBAL_LOG_HANDLERS = [{'handler':logging.FileHandler(LOG_FILE), 'format':"%(asctime)s - %(levelname)s : %(message)s"}] + diff -r 5cba2808cde0 -r 2e2989c3072c web/ldtplatform/utils/context_processors.py --- a/web/ldtplatform/utils/context_processors.py Thu Feb 17 18:43:37 2011 +0100 +++ b/web/ldtplatform/utils/context_processors.py Wed Mar 23 17:34:36 2011 +0100 @@ -1,8 +1,9 @@ from django.conf import settings import ldtplatform #@UnresolvedImport +import ldt def version(request): - return {'VERSION': ldtplatform.VERSION_STR } + return {'VERSION': "platform: %s - web: %s" % (ldt.get_version(),ldtplatform.get_version()) } def base(request): return {'BASE_URL': settings.BASE_URL, 'MEDIA_URL': settings.MEDIA_URL } diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/css/LdtPlayer.css --- a/web/static/ldt/css/LdtPlayer.css Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/css/LdtPlayer.css Wed Mar 23 17:34:36 2011 +0100 @@ -5,16 +5,17 @@ width:1.5em; } - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; } #Ldt-controler { font-size: 62.5%; font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#DECFE2; + background-color:#eeeeee; height:35px; padding:5px; } @@ -26,13 +27,6 @@ border-right:solid 1px #000; } - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - .tooltip { display:none; background:transparent url(imgs/white_arrow_mini.png); @@ -63,7 +57,6 @@ padding-bottom:5px; font-size:18px; height:22p; - color:#FFF; } #Ldt-SaDescription{ font-size:12px; @@ -80,9 +73,6 @@ margin-left:-10px; } - #Ldt-output{ - display:none; - } #Ldt-Show-Tags{ position:relative; height:13px; @@ -100,13 +90,13 @@ #Ldt-ShowAnnotation-audio{ position:relative; padding:5px; - background-color:#773584; + background-color:#cfcfcf; font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#000000; + color:#4D4D4D; } #Ldt-SaKeyword{ - background-color:#28042D; - color:#FFFFFF; + background-color:#b9b9b9; + color:#4D4D4D; padding:5px; font-weight:bold; text-align:left; diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/css/nyroModal.css --- a/web/static/ldt/css/nyroModal.css Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/css/nyroModal.css Wed Mar 23 17:34:36 2011 +0100 @@ -1,109 +1,102 @@ -@charset "UTF-8"; - -div#nyroModalFull { - font-size: 12px; - color: #777; -} -div#nyroModalLoading { - border: 4px solid #777; - width: 150px; - height: 150px; - text-indent: -9999em; - background: #fff url(../img/ajax-loader-43x43.gif) no-repeat; - background-position: center; -} -div#nyroModalLoading.error { - border: 4px solid #f66; - line-height: 20px; - padding: 20px; - width: 300px; - height: 100px; - text-indent: 0; - background: #fff; -} -div#nyroModalWrapper { - background: #fff; - border-color: #777; - border-style: solid; - border-width: 24px 4px 4px 4px; -} -a#closeBut { - position: absolute; - display: block; - top: -19px; - right: 0px; - width: 16px; - height: 16px; - text-indent: -9999em; - background: url(../img/close.png) no-repeat; - outline: 0; -} -h1#nyroModalTitle { - margin: 0; - padding: 0; - position: absolute; - top: -22px; - left: 5px; - font-size: 12px; - color: #ddd; -} -div#nyroModalContent { - overflow: auto; -} -div.wrapper div#nyroModalContent { - padding: 5px; -} -div.wrapperImg div#nyroModalContent { - position: relative; - overflow: hidden; - text-align: center; -} -div.wrapperImg img { - vertical-align: baseline; -} -div.wrapperImg div#nyroModalContent div { - position: absolute; - bottom: 0; - left: 0; - background: black; - padding: 10px; - margin: 10px; - border: 1px white dotted; - overflow: hidden; - opacity: 0.2; - filter: alpha(opacity=20); -} -div.wrapperImg div#nyroModalContent div:hover { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: help; -} -a.nyroModalPrev, a.nyroModalNext { - z-index: 105; - outline: none; - position: absolute; - top: 0; - height: 100%; - width: 40%; - cursor: pointer; - text-indent: -9999em; - background: left 20% no-repeat; - background-image: url(data:image/gif;base64,AAAA); /* Trick IE6 */ -} -div.wrapperSwf a.nyroModalPrev, div.wrapperSwf a.nyroModalNext, div.wrapper a.nyroModalPrev, div.wrapper a.nyroModalNext { - height: 60%; - width: 20%; -} -a.nyroModalPrev { - left: 0; -} -a.nyroModalPrev:hover { - background-image: url(../img/prev.gif); -} -a.nyroModalNext { - right: 0; - background-position: right 20%; -} -a.nyroModalNext:hover { - background-image: url(../img/next.gif); +.nyroModalBg { + position: fixed; + overflow: hidden; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: #000; + opacity: 0.7; +} +.nmReposition { + position: absolute; +} +.nyroModalCloseButton { + top: -13px; + right: -13px; + width: 12px; + height: 12px; + text-indent: -9999em; + background: url(../img/close_nm.gif); +} +.nyroModalTitle { + top: -26px; + left: 0; + margin: 0; + font-size: 1.1em; + color: #ddd; +} +.nyroModalCont { + position: absolute; + border: 4px solid #777; + margin: 25px; + background: #fff; +} +.nyroModalCont iframe { + width: 600px; + height: 400px; +} +.nyroModalError { + border: 4px solid red; + color: red; + width: 250px; + height: 250px; +} +.nyroModalError div { + min-width: 0; + min-height: 0; + padding: 10px; +} +.nyroModalLink, .nyroModalDom, .nyroModalForm, .nyroModalFormFile { + position: relative; + padding: 10px; + min-height: 250px; + min-width: 250px; + max-width: 1000px; +} +.nyroModalImage, .nyroModalSwf, .nyroModalIframe, .nyroModalIframeForm { + position: relative; + overflow: hidden; +} +.nyroModalHidden { + left: -9999em; + top: -9999em; +} +.nyroModalLoad { + position: absolute; + width: 100px; + height: 100px; + background: #fff url(../img/ajax-loader-43x43.gif) no-repeat center; + padding: 0; +} +.nyroModalPrev, .nyroModalNext { + outline: none; + position: absolute; + top: 0; + height: 60%; + width: 150px; + min-height: 50px; + max-height: 300px; + cursor: pointer; + text-indent: -9999em; + background: transparent url('data:image/gif;base64,AAAA') left 20% no-repeat; +} +.nyroModalImage .nyroModalPrev, .nyroModalImage .nyroModalNext { + height: 100%; + width: 40%; + max-height: none; +} +.nyroModalPrev { + left: 0; +} +.nyroModalPrev:hover { + background-image: url(../img/prev.gif); +} +.nyroModalNext { + right: 0; + background-position: right 20%; +} +.nyroModalNext:hover { + background-position: right 20%; + background-image: url(../img/next.gif); } \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/css/style.css --- a/web/static/ldt/css/style.css Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/css/style.css Wed Mar 23 17:34:36 2011 +0100 @@ -106,44 +106,9 @@ border-top: 1px solid gray; } -.version -{ - text-align: right; - color: white; - font-size:9px; -} - -.version a:link -{ - text-decoration: none; - color: white; - text-decoration: bold; - font-weight: bold; - border-bottom-style: none; -} - -.version a:hover +#copyright_version { - color: #2c8084; - text-decoration: none; - font-weight: bold; - border-bottom-width: 0px; - border-bottom-style: none; -} - -.version a:active -{ - color: white; - text-decoration: none; - font-weight: bold; - border-bottom-style: none; -} - -.version a:visited -{ - color: white; - font-weight: bold; - border-bottom-style: none; + text-align: right; } .small diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/img/close_nm.gif Binary file web/static/ldt/img/close_nm.gif has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/img/next.gif Binary file web/static/ldt/img/next.gif has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/img/prev.gif Binary file web/static/ldt/img/prev.gif has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/js/jquery.DOMWindow.js --- a/web/static/ldt/js/jquery.DOMWindow.js Thu Feb 17 18:43:37 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,372 +0,0 @@ -(function($){ - - //closeDOMWindow - $.fn.closeDOMWindow = function(settings){ - - if(!settings){settings={};} - - var run = function(passingThis){ - - if(settings.anchoredClassName){ - var $anchorClassName = $('.'+settings.anchoredClassName); - $anchorClassName.fadeOut('fast',function(){ - if($.fn.draggable){ - $anchorClassName.draggable('destory').trigger("unload").remove(); - }else{ - $anchorClassName.trigger("unload").remove(); - } - }); - if(settings.functionCallOnClose){settings.functionCallAfterClose();} - }else{ - var $DOMWindowOverlay = $('#DOMWindowOverlay'); - var $DOMWindow = $('#DOMWindow'); - $DOMWindowOverlay.fadeOut('fast',function(){ - $DOMWindowOverlay.trigger('unload').unbind().remove(); - }); - $DOMWindow.fadeOut('fast',function(){ - if($.fn.draggable){ - $DOMWindow.draggable("destroy").trigger("unload").remove(); - }else{ - $DOMWindow.trigger("unload").remove(); - } - }); - - $(window).unbind('scroll.DOMWindow'); - $(window).unbind('resize.DOMWindow'); - - if($.fn.openDOMWindow.isIE6){$('#DOMWindowIE6FixIframe').remove();} - if(settings.functionCallOnClose){settings.functionCallAfterClose();} - } - }; - - if(settings.eventType){//if used with $(). - return this.each(function(index){ - $(this).bind(settings.eventType, function(){ - run(this); - return false; - }); - }); - }else{//else called as $.function - run(); - } - - }; - - //allow for public call, pass settings - $.closeDOMWindow = function(s){$.fn.closeDOMWindow(s);}; - - //openDOMWindow - $.fn.openDOMWindow = function(instanceSettings){ - - var shortcut = $.fn.openDOMWindow; - - //default settings combined with callerSettings//////////////////////////////////////////////////////////////////////// - - shortcut.defaultsSettings = { - anchoredClassName:'', - anchoredSelector:'', - borderColor:'#ccc', - borderSize:'4', - draggable:0, - eventType:null, //click, blur, change, dblclick, error, focus, load, mousedown, mouseout, mouseup etc... - fixedWindowY:100, - functionCallOnOpen:null, - functionCallOnClose:null, - height:500, - loader:0, - loaderHeight:0, - loaderImagePath:'', - loaderWidth:0, - modal:0, - overlay:1, - overlayColor:'#000', - overlayOpacity:'85', - positionLeft:0, - positionTop:0, - positionType:'centered', // centered, anchored, absolute, fixed - width:500, - windowBGColor:'#fff', - windowBGImage:null, // http path - windowHTTPType:'get', - windowPadding:10, - windowSource:'inline', //inline, ajax, iframe - windowSourceID:'', - windowSourceURL:'', - windowSourceAttrURL:'href', - windowOverflow : 'auto', - ajaxParameters : {} - }; - - var settings = $.extend({}, $.fn.openDOMWindow.defaultsSettings , instanceSettings || {}); - - //Public functions - - shortcut.viewPortHeight = function(){ return self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;}; - shortcut.viewPortWidth = function(){ return self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;}; - shortcut.scrollOffsetHeight = function(){ return self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;}; - shortcut.scrollOffsetWidth = function(){ return self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;}; - shortcut.isIE6 = typeof document.body.style.maxHeight === "undefined"; - - //Private Functions///////////////////////////////////////////////////////////////////////////////////////////////////////// - - var sizeOverlay = function(){ - var $DOMWindowOverlay = $('#DOMWindowOverlay'); - if(shortcut.isIE6){//if IE 6 - var overlayViewportHeight = document.documentElement.offsetHeight + document.documentElement.scrollTop - 4; - var overlayViewportWidth = document.documentElement.offsetWidth - 21; - $DOMWindowOverlay.css({'height':overlayViewportHeight +'px','width':overlayViewportWidth+'px'}); - }else{//else Firefox, safari, opera, IE 7+ - $DOMWindowOverlay.css({'height':'100%','width':'100%','position':'fixed'}); - } - }; - - var sizeIE6Iframe = function(){ - var overlayViewportHeight = document.documentElement.offsetHeight + document.documentElement.scrollTop - 4; - var overlayViewportWidth = document.documentElement.offsetWidth - 21; - $('#DOMWindowIE6FixIframe').css({'height':overlayViewportHeight +'px','width':overlayViewportWidth+'px'}); - }; - - var centerDOMWindow = function() { - var $DOMWindow = $('#DOMWindow'); - if(settings.height + 50 > shortcut.viewPortHeight()){//added 50 to be safe - $DOMWindow.css('left',Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindow.outerWidth())/2)); - }else{ - $DOMWindow.css('left',Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindow.outerWidth())/2)); - $DOMWindow.css('top',Math.round(shortcut.viewPortHeight()/2) + shortcut.scrollOffsetHeight() - Math.round(($DOMWindow.outerHeight())/2)); - } - }; - - var centerLoader = function() { - var $DOMWindowLoader = $('#DOMWindowLoader'); - if(shortcut.isIE6){//if IE 6 - $DOMWindowLoader.css({'left':Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindowLoader.innerWidth())/2),'position':'absolute'}); - $DOMWindowLoader.css({'top':Math.round(shortcut.viewPortHeight()/2) + shortcut.scrollOffsetHeight() - Math.round(($DOMWindowLoader.innerHeight())/2),'position':'absolute'}); - }else{ - $DOMWindowLoader.css({'left':'50%','top':'50%','position':'fixed'}); - } - - }; - - var fixedDOMWindow = function(){ - var $DOMWindow = $('#DOMWindow'); - $DOMWindow.css('left', settings.positionLeft + shortcut.scrollOffsetWidth()); - $DOMWindow.css('top', + settings.positionTop + shortcut.scrollOffsetHeight()); - }; - - var showDOMWindow = function(instance){ - if(arguments[0]){ - $('.'+instance+' #DOMWindowLoader').remove(); - $('.'+instance+' #DOMWindowContent').fadeIn('fast',function(){if(settings.functionCallOnOpen){settings.functionCallOnOpen();}}); - $('.'+instance+ '.closeDOMWindow').click(function(){ - $.closeDOMWindow(); - return false; - }); - }else{ - $('#DOMWindowLoader').remove(); - $('#DOMWindow').fadeIn('fast',function(){if(settings.functionCallOnOpen){settings.functionCallOnOpen();}}); - $('#DOMWindow .closeDOMWindow').click(function(){ - $.closeDOMWindow(); - return false; - }); - } - - }; - - var urlQueryToObject = function(s, q){ - var query = typeof(q) != 'undefined' ? q : {}; - s.replace(/b([^&=]*)=([^&=]*)b/g, function (m, a, d) { - if (typeof query[a] != 'undefined') { - query[a] += ',' + d; - } else { - query[a] = d; - } - }); - return query; - }; - - //Run Routine /////////////////////////////////////////////////////////////////////////////////////////////////////////////// - var run = function(passingThis){ - - //get values from element clicked, or assume its passed as an option - settings.windowSourceID = $(passingThis).attr('href') || settings.windowSourceID; - settings.windowSourceURL = $(passingThis).attr(settings.windowSourceAttrURL) || settings.windowSourceURL; - settings.windowBGImage = settings.windowBGImage ? 'background-image:url('+settings.windowBGImage+')' : ''; - var urlOnly, urlQueryObject; - - if(settings.positionType == 'anchored'){//anchored DOM window - - var anchoredPositions = $(settings.anchoredSelector).position(); - var anchoredPositionX = anchoredPositions.left + settings.positionLeft; - var anchoredPositionY = anchoredPositions.top + settings.positionTop; - - $('body').append('
    '); - //loader - if(settings.loader && settings.loaderImagePath !== ''){ - $('.'+settings.anchoredClassName).append('
    '); - - } - - if($.fn.draggable){ - if(settings.draggable){$('.' + settings.anchoredClassName).draggable({cursor:'move'});} - } - - switch(settings.windowSource){ - case 'inline'://////////////////////////////// inline ////////////////////////////////////////// - $('.' + settings.anchoredClassName+" #DOMWindowContent").append($(settings.windowSourceID).children()); - $('.' + settings.anchoredClassName).unload(function(){// move elements back when you're finished - $('.' + settings.windowSourceID).append( $('.' + settings.anchoredClassName+" #DOMWindowContent").children()); - }); - showDOMWindow(settings.anchoredClassName); - break; - case 'iframe'://////////////////////////////// iframe ////////////////////////////////////////// - $('.' + settings.anchoredClassName+" #DOMWindowContent").append(''); - $('.'+settings.anchoredClassName+'Iframe').load(showDOMWindow(settings.anchoredClassName)); - break; - case 'ajax'://////////////////////////////// ajax ////////////////////////////////////////// - if(settings.windowHTTPType == 'post'){ - - if(settings.windowSourceURL.indexOf("?") !== -1){//has a query string - urlOnly = settings.windowSourceURL.substr(0, settings.windowSourceURL.indexOf("?")); - urlQueryObject = urlQueryToObject(settings.windowSourceURL, settings.ajaxParameters); - }else{ - urlOnly = settings.windowSourceURL; - urlQueryObject = settings.ajaxParameters; - } - $('.' + settings.anchoredClassName+" #DOMWindowContent").load(urlOnly,urlQueryObject,function(){ - showDOMWindow(settings.anchoredClassName); - }); - }else{ - if(settings.windowSourceURL.indexOf("?") == -1){ //no query string, so add one - settings.windowSourceURL += '?'; - } - $('.' + settings.anchoredClassName+" #DOMWindowContent").load( - settings.windowSourceURL + '&random=' + (new Date().getTime()),function(){ - showDOMWindow(settings.anchoredClassName); - }); - } - break; - } - - }else{//centered, fixed, absolute DOM window - - //overlay & modal - if(settings.overlay){ - $('body').append(''); - if(shortcut.isIE6){//if IE 6 - $('body').append(''); - sizeIE6Iframe(); - } - sizeOverlay(); - var $DOMWindowOverlay = $('#DOMWindowOverlay'); - $DOMWindowOverlay.fadeIn('fast'); - if(!settings.modal){$DOMWindowOverlay.click(function(){$.closeDOMWindow();});} - } - - //loader - if(settings.loader && settings.loaderImagePath !== ''){ - $('body').append('
    '); - centerLoader(); - } - - //add DOMwindow - $('body').append(''); - - var $DOMWindow = $('#DOMWindow'); - //centered, absolute, or fixed - switch(settings.positionType){ - case 'centered': - centerDOMWindow(); - if(settings.height + 50 > shortcut.viewPortHeight()){//added 50 to be safe - $DOMWindow.css('top', (settings.fixedWindowY + shortcut.scrollOffsetHeight()) + 'px'); - } - break; - case 'absolute': - $DOMWindow.css({'top':(settings.positionTop+shortcut.scrollOffsetHeight())+'px','left':(settings.positionLeft+shortcut.scrollOffsetWidth())+'px'}); - if($.fn.draggable){ - if(settings.draggable){$DOMWindow.draggable({cursor:'move'});} - } - break; - case 'fixed': - fixedDOMWindow(); - break; - case 'anchoredSingleWindow': - var anchoredPositions = $(settings.anchoredSelector).position(); - var anchoredPositionX = anchoredPositions.left + settings.positionLeft; - var anchoredPositionY = anchoredPositions.top + settings.positionTop; - $DOMWindow.css({'top':anchoredPositionY + 'px','left':anchoredPositionX+'px'}); - - break; - } - - $(window).bind('scroll.DOMWindow',function(){ - if(settings.overlay){sizeOverlay();} - if(shortcut.isIE6){sizeIE6Iframe();} - if(settings.positionType == 'centered'){centerDOMWindow();} - if(settings.positionType == 'fixed'){fixedDOMWindow();} - }); - - $(window).bind('resize.DOMWindow',function(){ - if(shortcut.isIE6){sizeIE6Iframe();} - if(settings.overlay){sizeOverlay();} - if(settings.positionType == 'centered'){centerDOMWindow();} - }); - - switch(settings.windowSource){ - case 'inline'://////////////////////////////// inline ////////////////////////////////////////// - $DOMWindow.append($(settings.windowSourceID).children()); - $DOMWindow.unload(function(){// move elements back when you're finished - $(settings.windowSourceID).append($DOMWindow.children()); - }); - showDOMWindow(); - break; - case 'iframe'://////////////////////////////// iframe ////////////////////////////////////////// - var name = 'DOMWindowIframe'+Math.round(Math.random()*1000); - $DOMWindow.append(''); - $('#DOMWindowIframe').load(showDOMWindow()); - break; - case 'ajax'://////////////////////////////// ajax ////////////////////////////////////////// - if(settings.windowHTTPType == 'post'){ - - if(settings.windowSourceURL.indexOf("?") !== -1){//has a query string - urlOnly = settings.windowSourceURL.substr(0, settings.windowSourceURL.indexOf("?")); - urlQueryObject = urlQueryToObject(settings.windowSourceURL, settings.ajaxParameters); - }else{ - urlOnly = settings.windowSourceURL; - urlQueryObject = settings.ajaxParameters; - } - $DOMWindow.load(urlOnly,urlQueryObject,function(){ - showDOMWindow(); - }); - }else{ - if(settings.windowSourceURL.indexOf("?") == -1){ //no query string, so add one - settings.windowSourceURL += '?'; - } - $DOMWindow.load( - settings.windowSourceURL + '&random=' + (new Date().getTime()),function(){ - showDOMWindow(); - }); - } - break; - } - - }//end if anchored, or absolute, fixed, centered - - };//end run() - - if(settings.eventType){//if used with $(). - return this.each(function(index){ - $(this).bind(settings.eventType,function(){ - run(this); - return false; - }); - }); - }else{//else called as $.function - run(); - } - - };//end function openDOMWindow - - //allow for public call, pass settings - $.openDOMWindow = function(s){$.fn.openDOMWindow(s);}; - -})(jQuery); diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/js/jquery.js --- a/web/static/ldt/js/jquery.js Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/js/jquery.js Wed Mar 23 17:34:36 2011 +0100 @@ -1,19 +1,8176 @@ -/* - * jQuery JavaScript Library v1.3.2 +/*! + * jQuery JavaScript Library v1.5 * http://jquery.com/ * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License + * 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: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 + * Date: Mon Jan 31 08:31:29 2011 -0500 */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +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 + // (both of which we optimize for) + 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+$/, + + // Check for digits + rdigit = /\d/, + + // 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.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The deferred used on DOM ready + readyList, + + // Promise methods + promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + + // 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 = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + 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.5", + + // 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.done( fn ); + + return this; + }, + + eq: function( 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 ) { + window.$ = _$; + + if ( deep ) { + 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, + + // Handle when the DOM is ready + ready: function( wait ) { + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !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.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // 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; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( 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; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + 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 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 ); + + // 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, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + // Cross-browser xml parsing + // (xml & tmp used internally) + parseXML: function( data , xml , tmp ) { + + 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 ); + } + + tmp = xml.documentElement; + + if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { + jQuery.error( "Invalid XML: " + data ); + } + + return xml; + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + + if ( jQuery.support.scriptEval() ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + 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 ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + 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' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // 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 ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( 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 ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, 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, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its 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(); + }, + + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj , i /* internal */ ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[ i ] ] = deferred[ promiseMethods[ i ] ]; + } + return obj; + } + } ); + // Make sure only one callback list will be used + deferred.then( failDeferred.cancel, deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( object ) { + var args = arguments, + length = args.length, + deferred = length <= 1 && object && jQuery.isFunction( object.promise ) ? + object : + jQuery.Deferred(), + promise = deferred.promise(), + resolveArray; + + if ( length > 1 ) { + resolveArray = new Array( length ); + jQuery.each( args, function( index, element ) { + jQuery.when( element ).then( function( value ) { + resolveArray[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; + if( ! --length ) { + deferred.resolveWith( promise, resolveArray ); + } + }, deferred.reject ); + } ); + } else if ( deferred !== object ) { + deferred.resolve( object ); + } + return promise; + }, + + // 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 jQuerySubclass( selector, context ) { + return new jQuerySubclass.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySubclass, this ); + jQuerySubclass.superclass = this; + jQuerySubclass.fn = jQuerySubclass.prototype = this(); + jQuerySubclass.fn.constructor = jQuerySubclass; + jQuerySubclass.subclass = this.subclass; + jQuerySubclass.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { + context = jQuerySubclass(context); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + }; + jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; + var rootjQuerySubclass = jQuerySubclass(document); + return jQuerySubclass; + }, + + browser: {} +}); + +// Create readyList deferred +readyList = jQuery._Deferred(); + +// 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; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// 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(); +} + +// Expose jQuery to the global object +return (window.jQuery = window.$ = jQuery); + +})(); + + +(function() { + + jQuery.support = {}; + + var div = document.createElement("div"); + + div.style.display = "none"; + div.innerHTML = "
    a"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ); + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.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 insted) + style: /red/.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: div.getElementsByTagName("input")[0].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, + + // Will be defined later + deleteExpando: true, + optDisabled: false, + checkClone: false, + _scriptEval: null, + noCloneEvent: true, + boxModel: null, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + + jQuery.support.scriptEval = function() { + if ( jQuery.support._scriptEval === null ) { + var root = document.documentElement, + script = document.createElement("script"), + id = "script" + jQuery.now(); + + script.type = "text/javascript"; + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + jQuery.support._scriptEval = true; + delete window[ id ]; + } else { + jQuery.support._scriptEval = false; + } + + root.removeChild( script ); + // release memory in IE + root = script = id = null; + } + + return jQuery.support._scriptEval; + }; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + if ( div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = ""; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"), + body = document.getElementsByTagName("body")[0]; + + // Frameset documents with no body should not run this code + if ( !body ) { + return; + } + + div.style.width = div.style.paddingLeft = "1px"; + body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // 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; + jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
    "; + jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + } + + div.innerHTML = "
    t
    "; + var tds = div.getElementsByTagName("td"); + + // 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) + jQuery.support.reliableHiddenOffsets = 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) + jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + div.innerHTML = ""; + + body.removeChild( div ).style.display = "none"; + div = tds = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + // 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 ( !el.attachEvent ) { + return true; + } + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + div = all = a = null; +})(); + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/; + +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 && !jQuery.isEmptyObject(elem); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, + + // 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[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // 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 || (pvt && id && !cache[ id ][ internalKey ])) && 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[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + } + + // 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" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + return getByName ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var 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[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !jQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !jQuery.isEmptyObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // 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 + if ( jQuery.support.deleteExpando || cache != window ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else 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[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = 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 data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var 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 $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.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 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( 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; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + 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(); + + // 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"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + } + } +}); + +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( i ) { + 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() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var 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) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), 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( rspaces ); + + 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 + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // 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; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var 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 + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var 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 ); + } + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // 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 + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // 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/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + // Handle everything which isn't a DOM element node + if ( set ) { + elem[ name ] = value; + } + return elem[ name ]; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }, + eventKey = "events"; + /* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData[ eventKey ], + eventHandle = elemData.handle; + + if ( typeof events === "function" ) { + // On plain objects events is a fn that holds the the data + // which prevents this data from being JSON serialized + // the function does not need to be called, it just contains the data + eventHandle = events.handle; + events = events.events; + + } else if ( !events ) { + if ( !elem.nodeType ) { + // On plain objects, create a fn that acts as the holder + // of the values to avoid JSON serialization of event data + elemData[ eventKey ] = elemData = function(){}; + } + + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // 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 the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + 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, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData[ eventKey ]; + + if ( !elemData || !events ) { + return; + } + + if ( typeof events === "function" ) { + elemData = events; + events = events.events; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( typeof elemData === "function" ) { + jQuery.removeData( elem, eventKey, true ); + + } else if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + // XXX This code smells terrible. event.js should not be directly + // inspecting the data cache + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[type] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = elem.nodeType ? + jQuery._data( elem, "handle" ) : + (jQuery._data( elem, eventKey ) || {}).handle; + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery._data(this, eventKey); + + if ( typeof events === "function" ) { + events = events.events; + } + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.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 pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + 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; + } + } + } + } +}; + +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 ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // 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; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.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 +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + return jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + return testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + return testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + args[0].type = type; + return jQuery.event.handle.apply( elem, args ); +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) || data === false ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, 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; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, eventKey ); + + if ( typeof events === "function" ) { + events = events.events; + } + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +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").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.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// 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 ); + + } 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 ); + } + } + + } 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; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + 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, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + 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 ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var 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 "Syntax error, unrecognized expression: " + msg; +}; + +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" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.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 && !/\W/.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" && !/\W/.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" && !/\W/.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(/\\/g, "") + " "; + + 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(/\\/g, ""); + }, + + TAG: function( match, curLoop ) { + return match[1].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(/\\/g, ""); + + 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(/\\/g, ""); + + 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 + 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 ) { + return "text" === elem.type; + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + 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 || Sizzle.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 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": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var 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.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = 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 === "=" ? + 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 ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else 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; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// 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 = ""; + + // 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 = ""; + + 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 = "

    "; + + // 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 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 ) { + context.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, + 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; + } + + if ( matches ) { + 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 ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
    "; + + // 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.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = 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.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = 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 ) { + 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 ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +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 ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var 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 ( var n = length; n < ret.length; n++ ) { + for ( var 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 && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + 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 ) { + 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 ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // 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 ), + 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 ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + 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, args.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 ) { + 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; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
    ", "
    " ], + thead: [ 1, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + col: [ 2, "", "
    " ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and ',endLn=stEnd.length,pos,pos2,tmp;while((pos=data.indexOf(stStart,start))>-1){pos2=data.indexOf(stEnd)+endLn;tmp=$(data.substring(pos,pos2));if(!tmp.attr('src')||tmp.attr('rel')=='forceLoad'){if(tmp.attr('rev')=='shown')this._scriptsShown.push(tmp.get(0));else this._scripts.push(tmp.get(0));}data=data.substring(0,pos)+data.substr(pos2);start=pos;}return data;},_hasFilter:function(filter){var ret=false;$.each(this.filters,function(i,f){ret=ret||f==filter;});return ret;},_delFilter:function(filter){this.filters=$.map(this.filters,function(v){if(v!=filter)return v;});},_callFilters:function(fct){this.getInternal()._debug(fct);var ret=[],self=this;$.each(this.filters,function(i,f){ret[f]=self._callFilter(f,fct);});if(this.callbacks[fct]&&$.isFunction(this.callbacks[fct]))this.callbacks[fct](this);return ret;},_callFilter:function(f,fct){if(_filters[f]&&_filters[f][fct]&&$.isFunction(_filters[f][fct]))return _filters[f][fct](this);return undefined;},_callAnim:function(fct,clb){this.getInternal()._debug(fct);this._callFilters('before'+ucfirst(fct));if(!this._animated){this._animated=true;if(!$.isFunction(clb))clb=$.noop;var set=this.anim[fct]||this.anim.def||'basic';if(!_animations[set]||!_animations[set][fct]||!$.isFunction(_animations[set][fct]))set='basic';_animations[set][fct](this,$.proxy(function(){this._animated=false;this._callFilters('after'+ucfirst(fct));clb();},this));}},_load:function(){this.getInternal()._debug('_load');if(!this.loading&&this.loadFilter){this.loading=true;this._callFilter(this.loadFilter,'load');}},_contentLoading:function(){if(!this._animated&&this._bgReady){if(!this._transition&&this.elts.cont.html().length>0)this._transition=true;this._nbContentLoading++;if(!this.loading){if(!this._opened){this._opened=true;if(this._transition){var fct=$.proxy(function(){this._writeContent();this._callFilters('beforeShowCont');this._callAnim('hideTrans',$.proxy(function(){this._transition=false;this._callFilters('afterShowCont');this.elts.cont.append(this._scriptsShown);this._reposition();},this));},this);if(this._nbContentLoading==1){this._unreposition();this._callAnim('showTrans',fct);}else{fct();}}else{this._callAnim('hideLoad',$.proxy(function(){this._writeContent();this._callAnim('showCont',$.proxy(function(){this.elts.cont.append(this._scriptsShown);this._reposition();},this));},this));}}}else if(this._nbContentLoading==1){var outer=this.getInternal()._getOuter(this.elts.load);this.elts.load .css({position:'fixed',top:(this.getInternal().fullSize.viewH-this.elts.load.height()-outer.h.margin)/2,left:(this.getInternal().fullSize.viewW-this.elts.load.width()-outer.w.margin)/2});if(this._transition){this._unreposition();this._callAnim('showTrans',$.proxy(function(){this._contentLoading();},this));}else{this._callAnim('showLoad',$.proxy(function(){this._contentLoading();},this));}}}},_writeContent:function(){this.elts.cont .empty().append(this.elts.hidden.contents()).append(this._scripts).append(this.showCloseButton?this.closeButton:'').css({position:'fixed',width:this.sizes.w,height:this.sizes.h,top:(this.getInternal().fullSize.viewH-this.sizes.h-this.sizes.hMargin)/2,left:(this.getInternal().fullSize.viewW-this.sizes.w-this.sizes.wMargin)/2});},_reposition:function(){var elts=this.elts.cont.find('.nmReposition');if(elts.length){var space=this.getInternal()._getSpaceReposition();elts.each(function(){var me=$(this),offset=me.offset();me.css({position:'fixed',top:offset.top-space.top,left:offset.left-space.left});});this.elts.cont.after(elts);}this.elts.cont.css('overflow','auto');this._callFilters('afterReposition');},_unreposition:function(){this.elts.cont.css('overflow','');var elts=this.elts.all.find('.nmReposition');if(elts.length)this.elts.cont.append(elts.removeAttr('style'));this._callFilters('afterUnreposition');}},_internal={firstInit:true,stack:[],fullSize:{w:0,h:0,wW:0,wH:0,viewW:0,viewH:0},nyroModal:function(opts,fullObj){if(_internal.firstInit){_internal._container=$('
    ').appendTo($b);$w.smartresize($.proxy(_internal._resize,_internal));$d.bind('keydown.nyroModal',$.proxy(_internal._keyHandler,_internal));_internal._calculateFullSize();_internal.firstInit=false;}return this.nmInit(opts,fullObj).each(function(){_internal._init($(this).data('nmObj'));});},nmInit:function(opts,fullObj){return this.each(function(){var me=$(this);if(fullObj)me.data('nmObj',$.extend(true,{opener:me},opts));else me.data('nmObj',me.data('nmObj')?$.extend(true,me.data('nmObj'),opts):$.extend(true,{opener:me},_nmObj,opts));});},nmCall:function(){return this.trigger('nyroModal');},nmManual:function(url,opts){$('',{href:url}).nyroModal(opts).trigger('nyroModal');},nmData:function(data,opts){this.nmManual('#',$.extend({data:data},opts));},nmObj:function(opts){$.extend(true,_nmObj,opts);},nmInternal:function(opts){$.extend(true,_internal,opts);},nmAnims:function(opts){$.extend(true,_animations,opts);},nmFilters:function(opts){$.extend(true,_filters,opts);},nmTop:function(){if(_internal.stack.length)return $(_internal.stack[_internal.stack.length-1]).data('nmObj');return undefined;},_debug:function(msg){if(window.console&&window.console.log)window.console.log(msg);},_container:undefined,_init:function(nm){nm.filters=[];$.each(_filters,function(f,obj){if(obj.is&&$.isFunction(obj.is)&&obj.is(nm)){nm.filters.push(f);}});nm._callFilters('initFilters');nm._callFilters('init');nm.opener .unbind('nyroModal.nyroModal nmClose.nyroModal nmResize.nyroModal').bind({'nyroModal.nyroModal':function(e){nm.open();return false;},'nmClose.nyroModal':function(){nm.close();return false;},'nmResize.nyroModal':function(){nm.resize();return false;}});},_scrollWidth:(function(){var scrollbarWidth;if($.browser.msie){var $textarea1=$('').css({position:'absolute',top:-1000,left:-1000}).appendTo($b),$textarea2=$('').css({position:'absolute',top:-1000,left:-1000}).appendTo($b);scrollbarWidth=$textarea1.width()-$textarea2.width();$textarea1.add($textarea2).remove();}else{var $div=$('
    ').css({width:100,height:100,overflow:'auto',position:'absolute',top:-1000,left:-1000}).prependTo($b).append('
    ').find('div').css({width:'100%',height:200});scrollbarWidth=100-$div.width();$div.parent().remove();}return scrollbarWidth;})(),_selNyroModal:function(obj){return $(obj).data('nmObj')?true:false;},_selNyroModalOpen:function(obj){var me=$(obj);return me.data('nmObj')?me.data('nmObj')._open:false;},_keyHandler:function(e){var nmTop=$.nmTop();if(nmTop&&nmTop.useKeyHandler){return nmTop.keyHandle(e);}},_pushStack:function(obj){this.stack=$.map(this.stack,function(elA){if(elA!=obj.get(0))return elA;});this.stack.push(obj.get(0));},_removeStack:function(obj){this.stack=$.map(this.stack,function(elA){if(elA!=obj.get(0))return elA;});},_resize:function(){var opens=$(':nmOpen').each(function(){$(this).data('nmObj')._unreposition();});this._calculateFullSize();opens.trigger('nmResize');},_calculateFullSize:function(){this.fullSize={w:$d.width(),h:$d.height(),wW:$w.width(),wH:$w.height()};this.fullSize.viewW=Math.min(this.fullSize.w,this.fullSize.wW);this.fullSize.viewH=Math.min(this.fullSize.h,this.fullSize.wH);},_getCurCSS:function(elm,name){var ret=parseInt($.curCSS(elm,name,true));return isNaN(ret)?0:ret;},_getOuter:function(elm){elm=elm.get(0);var ret={h:{margin:this._getCurCSS(elm,'marginTop')+this._getCurCSS(elm,'marginBottom'),border:this._getCurCSS(elm,'borderTopWidth')+this._getCurCSS(elm,'borderBottomWidth'),padding:this._getCurCSS(elm,'paddingTop')+this._getCurCSS(elm,'paddingBottom')},w:{margin:this._getCurCSS(elm,'marginLeft')+this._getCurCSS(elm,'marginRight'),border:this._getCurCSS(elm,'borderLeftWidth')+this._getCurCSS(elm,'borderRightWidth'),padding:this._getCurCSS(elm,'paddingLeft')+this._getCurCSS(elm,'paddingRight')}};ret.h.outer=ret.h.margin+ret.h.border;ret.w.outer=ret.w.margin+ret.w.border;ret.h.inner=ret.h.padding+ret.h.border;ret.w.inner=ret.w.padding+ret.w.border;ret.h.total=ret.h.outer+ret.h.padding;ret.w.total=ret.w.outer+ret.w.padding;return ret;},_getSpaceReposition:function(){var outer=this._getOuter($b),ie7=$.browser.msie&&$.browser.version<8&&!(screen.height<=$w.height()+23);return{top:$w.scrollTop()-(!ie7?outer.h.border/2:0),left:$w.scrollLeft()-(!ie7?outer.w.border/2:0)};},_getHash:function(url){if(typeof url=='string'){var hashPos=url.indexOf('#');if(hashPos>-1)return url.substring(hashPos);}return '';},_extractUrl:function(url){var ret={url:undefined,sel:undefined};if(url){var hash=this._getHash(url),hashLoc=this._getHash(window.location.href),curLoc=window.location.href.substring(0,window.location.href.length-hashLoc.length),req=url.substring(0,url.length-hash.length);ret.sel=hash;if(req!=curLoc&&req!=baseHref)ret.url=req;}return ret;}},_animations={basic:{showBg:function(nm,clb){nm.elts.bg.css({opacity:0.7}).show();clb();},hideBg:function(nm,clb){nm.elts.bg.hide();clb();},showLoad:function(nm,clb){nm.elts.load.show();clb();},hideLoad:function(nm,clb){nm.elts.load.hide();clb();},showCont:function(nm,clb){nm.elts.cont.show();clb();},hideCont:function(nm,clb){nm.elts.cont.hide();clb();},showTrans:function(nm,clb){nm.elts.cont.hide();nm.elts.load.show();clb();},hideTrans:function(nm,clb){nm.elts.cont.show();nm.elts.load.hide();clb();},resize:function(nm,clb){nm.elts.cont.css({width:nm.sizes.w,height:nm.sizes.h,top:(nm.getInternal().fullSize.viewH-nm.sizes.h-nm.sizes.hMargin)/2,left:(nm.getInternal().fullSize.viewW-nm.sizes.w-nm.sizes.wMargin)/2});clb();}}},_filters={basic:{is:function(nm){return true;},init:function(nm){if(nm.opener.attr('rev')=='modal')nm.modal=true;if(nm.modal)nm.closeOnEscape=nm.closeOnClick=nm.showCloseButton=false;if(nm.closeOnEscape)nm.useKeyHandler=true;},initElts:function(nm){nm.elts.bg.addClass('nyroModalBg');if(nm.closeOnClick)nm.elts.bg.unbind('click.nyroModal').bind('click.nyroModal',function(e){e.preventDefault();nm.close();});nm.elts.cont.addClass('nyroModalCont');nm.elts.hidden.addClass('nyroModalCont nyroModalHidden');nm.elts.load.addClass('nyroModalCont nyroModalLoad');},error:function(nm){nm.elts.hidden.addClass('nyroModalError');nm.elts.cont.addClass('nyroModalError');nm._setCont(nm.errorMsg);},beforeShowCont:function(nm){nm.elts.cont .find('.nyroModal').nyroModal(nm.getForNewLinks(),true).end().find('.nyroModalClose').bind('click.nyroModal',function(e){e.preventDefault();nm.close();});},keyHandle:function(nm){if(nm.keyEvent.keyCode==27&&nm.closeOnEscape){nm.keyEvent.preventDefault();nm.close();}}},custom:{is:function(nm){return true;}}};$.fn.extend({nm:_internal.nyroModal,nyroModal:_internal.nyroModal,nmInit:_internal.nmInit,nmCall:_internal.nmCall});$.extend({nmManual:_internal.nmManual,nmData:_internal.nmData,nmObj:_internal.nmObj,nmInternal:_internal.nmInternal,nmAnims:_internal.nmAnims,nmFilters:_internal.nmFilters,nmTop:_internal.nmTop});$.expr[':'].nyroModal=$.expr[':'].nm=_internal._selNyroModal;$.expr[':'].nmOpen=_internal._selNyroModalOpen;});(function($,sr){var debounce=function(func,threshold,execAsap){var timeout;return function debounced(){var obj=this,args=arguments;function delayed(){if(!execAsap)func.apply(obj,args);timeout=null;};if(timeout)clearTimeout(timeout);else if(execAsap)func.apply(obj,args);timeout=setTimeout(delayed,threshold||100);};};jQuery.fn[sr]=function(fn){return fn?this.bind('resize',debounce(fn)):this.trigger(sr);};})(jQuery,'smartresize');function ucfirst(str){str+='';var f=str.charAt(0).toUpperCase();return f+str.substr(1);}; + jQuery(function($,undefined){$.nmAnims({fade:{showBg:function(nm,clb){nm.elts.bg.fadeTo(250,0.7,clb);},hideBg:function(nm,clb){nm.elts.bg.fadeOut(clb);},showLoad:function(nm,clb){nm.elts.load.fadeIn(clb);},hideLoad:function(nm,clb){nm.elts.load.fadeOut(clb);},showCont:function(nm,clb){nm.elts.cont.fadeIn(clb);},hideCont:function(nm,clb){nm.elts.cont.css('overflow','hidden').fadeOut(clb);},showTrans:function(nm,clb){nm.elts.load .css({position:nm.elts.cont.css('position'),top:nm.elts.cont.css('top'),left:nm.elts.cont.css('left'),width:nm.elts.cont.css('width'),height:nm.elts.cont.css('height'),marginTop:nm.elts.cont.css('marginTop'),marginLeft:nm.elts.cont.css('marginLeft')}).fadeIn(function(){nm.elts.cont.hide();clb();});},hideTrans:function(nm,clb){nm.elts.cont.css('visibility','hidden').show();nm.elts.load .css('position',nm.elts.cont.css('position')).animate({top:nm.elts.cont.css('top'),left:nm.elts.cont.css('left'),width:nm.elts.cont.css('width'),height:nm.elts.cont.css('height'),marginTop:nm.elts.cont.css('marginTop'),marginLeft:nm.elts.cont.css('marginLeft')},function(){nm.elts.cont.css('visibility','');nm.elts.load.fadeOut(clb);});},resize:function(nm,clb){nm.elts.cont.animate({width:nm.sizes.w,height:nm.sizes.h,top:(nm.getInternal().fullSize.viewH-nm.sizes.h-nm.sizes.hMargin)/2,left:(nm.getInternal().fullSize.viewW-nm.sizes.w-nm.sizes.wMargin)/2},clb);}}});$.nmObj({anim:{def:'fade'}});});; + jQuery(function($,undefined){$.nmFilters({title:{is:function(nm){return nm.opener.is('[title]');},beforeShowCont:function(nm){var offset=nm.elts.cont.offset();nm.store.title=$('

    ',{text:nm.opener.attr('title')}).addClass('nyroModalTitle nmReposition');nm.elts.cont.prepend(nm.store.title);},close:function(nm){if(nm.store.title){nm.store.title.remove();nm.store.title=undefined;delete(nm.store.title);}}}});});; + jQuery(function($,undefined){$.nmFilters({gallery:{is:function(nm){var ret=nm.opener.is('[rel]:not([rel=external], [rel=nofollow])');if(ret&&nm.galleryCounts&&!nm._hasFilter('title'))nm.filters.push('title');return ret;},init:function(nm){nm.useKeyHandler=true;},keyHandle:function(nm){if(!nm._animated&&nm._opened){if(nm.keyEvent.keyCode==39||nm.keyEvent.keyCode==40){nm.keyEvent.preventDefault();nm._callFilters('galleryNext');}else if(nm.keyEvent.keyCode==37||nm.keyEvent.keyCode==38){nm.keyEvent.preventDefault();nm._callFilters('galleryPrev');}}},initElts:function(nm){var rel=nm.opener.attr('rel'),indexSpace=rel.indexOf(' ');nm.store.gallery=indexSpace>0?rel.substr(0,indexSpace):rel;nm.store.galleryLinks=$('[href][rel="'+nm.store.gallery+'"], [href][rel^="'+nm.store.gallery+' "]');nm.store.galleryIndex=nm.store.galleryLinks.index(nm.opener);},beforeShowCont:function(nm){if(nm.galleryCounts&&nm.store.title&&nm.store.galleryLinks.length>1){var curTitle=nm.store.title.html();nm.store.title.html((curTitle.length?curTitle+' - ':'')+(nm.store.galleryIndex+1)+'/'+nm.store.galleryLinks.length);}},filledContent:function(nm){var link=this._getGalleryLink(nm,-1),append=nm.elts.hidden.find(' > div');if(link){$('',{text:'previous',href:'#'}).addClass('nyroModalPrev').bind('click',function(e){e.preventDefault();nm._callFilters('galleryPrev');}).appendTo(append);}link=this._getGalleryLink(nm,1);if(link){$('',{text:'next',href:'#'}).addClass('nyroModalNext').bind('click',function(e){e.preventDefault();nm._callFilters('galleryNext');}).appendTo(append);}},close:function(nm){nm.store.gallery=undefined;nm.store.galleryLinks=undefined;nm.store.galleryIndex=undefined;delete(nm.store.gallery);delete(nm.store.galleryLinks);delete(nm.store.galleryIndex);if(nm.elts.cont)nm.elts.cont.find('.nyroModalNext, .nyroModalPrev').remove();},galleryNext:function(nm){this._getGalleryLink(nm,1).nyroModal(nm.getForNewLinks(),true).click();},galleryPrev:function(nm){this._getGalleryLink(nm,-1).nyroModal(nm.getForNewLinks(),true).click();},_getGalleryLink:function(nm,dir){if(nm.store.gallery){if(!nm.ltr)dir *=-1;var index=nm.store.galleryIndex+dir;if(index>=0&&index').load(function(){nm.elts.cont.addClass('nyroModalImg');nm.elts.hidden.addClass('nyroModalImg');nm._setCont(this);}).error(function(){nm._error();}).attr('src',url);},size:function(nm){if(nm.sizes.w!=nm.sizes.initW||nm.sizes.h!=nm.sizes.initH){var ratio=Math.min(nm.sizes.w/nm.sizes.initW,nm.sizes.h/nm.sizes.initH);nm.sizes.w=nm.sizes.initW * ratio;nm.sizes.h=nm.sizes.initH * ratio;}var img=nm.loading?nm.elts.hidden.find('img'):nm.elts.cont.find('img');img.attr({width:nm.sizes.w,height:nm.sizes.h});},close:function(nm){if(nm.elts.cont){nm.elts.cont.removeClass('nyroModalImg');nm.elts.hidden.removeClass('nyroModalImg');}}}});});; + jQuery(function($,undefined){$.nmFilters({swf:{idCounter:1,is:function(nm){return nm._hasFilter('link')&&nm.opener.is('[href$=".swf"]');},init:function(nm){nm.loadFilter='swf';},load:function(nm){if(!nm.swfObjectId)nm.swfObjectId='nyroModalSwf-'+(this.idCounter++);var url=nm.store.link.url,cont='
    ',tmp='';$.each(nm.swf,function(name,val){cont+='';tmp+=' '+name+'="'+val+'"';});cont+='
    ';nm._setCont(cont);}}});});; + jQuery(function($,undefined){$.nmFilters({form:{is:function(nm){var ret=nm.opener.is('form');if(ret)nm.store.form=nm.getInternal()._extractUrl(nm.opener.attr('action'));return ret;},init:function(nm){nm.loadFilter='form';nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){e.preventDefault();nm.opener.trigger('nyroModal');});},load:function(nm){var data=nm.opener.serializeArray();if(nm.store.form.sel)data.push({name:nm.selIndicator,value:nm.store.form.sel.substring(1)});$.ajax({url:nm.store.form.url,data:data,type:nm.opener.attr('method')?nm.opener.attr('method'):'get',success:function(data){nm._setCont(data,nm.store.form.sel);},error:function(){nm._error();}});}}});});; + jQuery(function($,undefined){$.nmFilters({formFile:{is:function(nm){var ret=nm.opener.is('form[enctype="multipart/form-data"]');if(ret){nm._delFilter('form');if(!nm.store.form)nm.store.form=nm.getInternal()._extractUrl(nm.opener.attr('action'));}return ret;},init:function(nm){nm.loadFilter='formFile';nm.store.formFileLoading=false;nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){if(!nm.store.formFileIframe){e.preventDefault();nm.opener.trigger('nyroModal');}else{nm.store.formFileLoading=true;}});},initElts:function(nm){var inputSel;if(nm.store.form.sel)inputSel=$('',{'type':'hidden',name:nm.selIndicator,value:nm.store.form.sel.substring(1)}).appendTo(nm.opener);function rmFormFileElts(){if(inputSel){inputSel.remove();inputSel=undefined;delete(inputSel);}nm.store.formFileIframe.attr('src','about:blank').remove();nm.store.formFileIframe=undefined;delete(nm.store.formFileIframe);}nm.store.formFileIframe=$('').hide().load(function(){if(nm.store.formFileLoading){nm.store.formFileLoading=false;var content=nm.store.formFileIframe .unbind('load error').contents().find('body').not('script[src]');if(content&&content.html()&&content.html().length){rmFormFileElts();nm._setCont(content.html(),nm.store.form.sel);}else{var nbTry=0;fct=function(){nbTry++;var content=nm.store.formFileIframe .unbind('load error').contents().find('body').not('script[src]');if(content&&content.html()&&content.html().length){nm._setCont(content.html(),nm.store.form.sel);rmFormFileElts();}else if(nbTry<5){setTimeout(fct,25);}else{rmFormFileElts();nm._error();}};setTimeout(fct,25);}}}).error(function(){rmFormFileElts();nm._error();});nm.elts.all.append(nm.store.formFileIframe);nm.opener .attr('target','nyroModalFormFile').submit();},close:function(nm){nm.store.formFileLoading=false;if(nm.store.formFileIframe){nm.store.formFileIframe.remove();nm.store.formFileIframe=undefined;delete(nm.store.formFileIframe);}}}});});; + jQuery(function($,undefined){$.nmFilters({iframe:{is:function(nm){var target=nm.opener.attr('target')||'',rel=nm.opener.attr('rel')||'',opener=nm.opener.get(0);return!nm._hasFilter('image')&&(target.toLowerCase()=='_blank'||rel.toLowerCase().indexOf('external')>-1||(opener.hostname&&opener.hostname.replace(/:\d*$/,'')!=window.location.hostname.replace(/:\d*$/,'')));},init:function(nm){nm.loadFilter='iframe';},load:function(nm){nm.store.iframe=$('');nm._setCont(nm.store.iframe);},afterShowCont:function(nm){nm.store.iframe.attr('src',nm.opener.attr('href'));},close:function(nm){if(nm.store.iframe){nm.store.iframe.remove();nm.store.iframe=undefined;delete(nm.store.iframe);}}}});});; + jQuery(function($,undefined){$.nmFilters({iframeForm:{is:function(nm){var ret=nm._hasFilter('iframe')&&nm.opener.is('form');if(ret){nm._delFilter('iframe');nm._delFilter('form');}return ret;},init:function(nm){nm.loadFilter='iframeForm';nm.store.iframeFormLoading=false;nm.store.iframeFormOrgTarget=nm.opener.attr('target');nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){if(!nm.store.iframeFormIframe){e.preventDefault();nm.opener.trigger('nyroModal');}else{nm.store.iframeFormLoading=true;}});},load:function(nm){nm.store.iframeFormIframe=$('');nm._setCont(nm.store.iframeFormIframe);},afterShowCont:function(nm){nm.opener .attr('target','nyroModalIframeForm').submit();},close:function(nm){nm.store.iframeFormOrgTarget?nm.opener.attr('target',nm.store.iframeFormOrgTarget):nm.opener.removeAttr('target');delete(nm.store.formFileLoading);delete(nm.store.iframeFormOrgTarget);if(nm.store.iframeFormIframe){nm.store.iframeFormIframe.remove();nm.store.iframeFormIframe=undefined;delete(nm.store.iframeFormIframe);}}}});});; + jQuery(function($,undefined){$.nmFilters({embedly:{is:function(nm){var embedlyReg= /http:\/\/(.*youtube\.com\/watch.*|.*\.youtube\.com\/v\/.*|youtu\.be\/.*|.*\.youtube\.com\/user\/.*|.*\.youtube\.com\/.*#.*\/.*|m\.youtube\.com\/watch.*|m\.youtube\.com\/index.*|.*\.youtube\.com\/profile.*|.*justin\.tv\/.*|.*justin\.tv\/.*\/b\/.*|.*justin\.tv\/.*\/w\/.*|www\.ustream\.tv\/recorded\/.*|www\.ustream\.tv\/channel\/.*|www\.ustream\.tv\/.*|qik\.com\/video\/.*|qik\.com\/.*|qik\.ly\/.*|.*revision3\.com\/.*|.*\.dailymotion\.com\/video\/.*|.*\.dailymotion\.com\/.*\/video\/.*|www\.collegehumor\.com\/video:.*|.*twitvid\.com\/.*|www\.break\.com\/.*\/.*|vids\.myspace\.com\/index\.cfm\?fuseaction=vids\.individual&videoid.*|www\.myspace\.com\/index\.cfm\?fuseaction=.*&videoid.*|www\.metacafe\.com\/watch\/.*|www\.metacafe\.com\/w\/.*|blip\.tv\/file\/.*|.*\.blip\.tv\/file\/.*|video\.google\.com\/videoplay\?.*|.*revver\.com\/video\/.*|video\.yahoo\.com\/watch\/.*\/.*|video\.yahoo\.com\/network\/.*|.*viddler\.com\/explore\/.*\/videos\/.*|liveleak\.com\/view\?.*|www\.liveleak\.com\/view\?.*|animoto\.com\/play\/.*|dotsub\.com\/view\/.*|www\.overstream\.net\/view\.php\?oid=.*|www\.livestream\.com\/.*|www\.worldstarhiphop\.com\/videos\/video.*\.php\?v=.*|worldstarhiphop\.com\/videos\/video.*\.php\?v=.*|teachertube\.com\/viewVideo\.php.*|www\.teachertube\.com\/viewVideo\.php.*|www1\.teachertube\.com\/viewVideo\.php.*|www2\.teachertube\.com\/viewVideo\.php.*|bambuser\.com\/v\/.*|bambuser\.com\/channel\/.*|bambuser\.com\/channel\/.*\/broadcast\/.*|www\.schooltube\.com\/video\/.*\/.*|bigthink\.com\/ideas\/.*|bigthink\.com\/series\/.*|sendables\.jibjab\.com\/view\/.*|sendables\.jibjab\.com\/originals\/.*|www\.xtranormal\.com\/watch\/.*|dipdive\.com\/media\/.*|dipdive\.com\/member\/.*\/media\/.*|dipdive\.com\/v\/.*|.*\.dipdive\.com\/media\/.*|.*\.dipdive\.com\/v\/.*|.*yfrog\..*\/.*|tweetphoto\.com\/.*|www\.flickr\.com\/photos\/.*|flic\.kr\/.*|twitpic\.com\/.*|www\.twitpic\.com\/.*|twitpic\.com\/photos\/.*|www\.twitpic\.com\/photos\/.*|.*imgur\.com\/.*|.*\.posterous\.com\/.*|post\.ly\/.*|twitgoo\.com\/.*|i.*\.photobucket\.com\/albums\/.*|s.*\.photobucket\.com\/albums\/.*|phodroid\.com\/.*\/.*\/.*|www\.mobypicture\.com\/user\/.*\/view\/.*|moby\.to\/.*|xkcd\.com\/.*|www\.xkcd\.com\/.*|imgs\.xkcd\.com\/.*|www\.asofterworld\.com\/index\.php\?id=.*|www\.asofterworld\.com\/.*\.jpg|asofterworld\.com\/.*\.jpg|www\.qwantz\.com\/index\.php\?comic=.*|23hq\.com\/.*\/photo\/.*|www\.23hq\.com\/.*\/photo\/.*|.*dribbble\.com\/shots\/.*|drbl\.in\/.*|.*\.smugmug\.com\/.*|.*\.smugmug\.com\/.*#.*|emberapp\.com\/.*\/images\/.*|emberapp\.com\/.*\/images\/.*\/sizes\/.*|emberapp\.com\/.*\/collections\/.*\/.*|emberapp\.com\/.*\/categories\/.*\/.*\/.*|embr\.it\/.*|picasaweb\.google\.com.*\/.*\/.*#.*|picasaweb\.google\.com.*\/lh\/photo\/.*|picasaweb\.google\.com.*\/.*\/.*|dailybooth\.com\/.*\/.*|brizzly\.com\/pic\/.*|pics\.brizzly\.com\/.*\.jpg|img\.ly\/.*|www\.tinypic\.com\/view\.php.*|tinypic\.com\/view\.php.*|www\.tinypic\.com\/player\.php.*|tinypic\.com\/player\.php.*|www\.tinypic\.com\/r\/.*\/.*|tinypic\.com\/r\/.*\/.*|.*\.tinypic\.com\/.*\.jpg|.*\.tinypic\.com\/.*\.png|meadd\.com\/.*\/.*|meadd\.com\/.*|.*\.deviantart\.com\/art\/.*|.*\.deviantart\.com\/gallery\/.*|.*\.deviantart\.com\/#\/.*|fav\.me\/.*|.*\.deviantart\.com|.*\.deviantart\.com\/gallery|.*\.deviantart\.com\/.*\/.*\.jpg|.*\.deviantart\.com\/.*\/.*\.gif|.*\.deviantart\.net\/.*\/.*\.jpg|.*\.deviantart\.net\/.*\/.*\.gif|plixi\.com\/p\/.*|plixi\.com\/profile\/home\/.*|plixi\.com\/.*|www\.fotopedia\.com\/.*\/.*|fotopedia\.com\/.*\/.*|photozou\.jp\/photo\/show\/.*\/.*|photozou\.jp\/photo\/photo_only\/.*\/.*|instagr\.am\/p\/.*|skitch\.com\/.*\/.*\/.*|img\.skitch\.com\/.*|https:\/\/skitch\.com\/.*\/.*\/.*|https:\/\/img\.skitch\.com\/.*|share\.ovi\.com\/media\/.*\/.*|www\.questionablecontent\.net\/|questionablecontent\.net\/|www\.questionablecontent\.net\/view\.php.*|questionablecontent\.net\/view\.php.*|questionablecontent\.net\/comics\/.*\.png|www\.questionablecontent\.net\/comics\/.*\.png|picplz\.com\/user\/.*\/pic\/.*\/|twitrpix\.com\/.*|.*\.twitrpix\.com\/.*|www\.someecards\.com\/.*\/.*|someecards\.com\/.*\/.*|some\.ly\/.*|www\.some\.ly\/.*|pikchur\.com\/.*|achewood\.com\/.*|www\.achewood\.com\/.*|achewood\.com\/index\.php.*|www\.achewood\.com\/index\.php.*|www\.whitehouse\.gov\/photos-and-video\/video\/.*|www\.whitehouse\.gov\/video\/.*|wh\.gov\/photos-and-video\/video\/.*|wh\.gov\/video\/.*|www\.hulu\.com\/watch.*|www\.hulu\.com\/w\/.*|hulu\.com\/watch.*|hulu\.com\/w\/.*|.*crackle\.com\/c\/.*|www\.fancast\.com\/.*\/videos|www\.funnyordie\.com\/videos\/.*|www\.funnyordie\.com\/m\/.*|funnyordie\.com\/videos\/.*|funnyordie\.com\/m\/.*|www\.vimeo\.com\/groups\/.*\/videos\/.*|www\.vimeo\.com\/.*|vimeo\.com\/m\/#\/featured\/.*|vimeo\.com\/groups\/.*\/videos\/.*|vimeo\.com\/.*|vimeo\.com\/m\/#\/featured\/.*|www\.ted\.com\/talks\/.*\.html.*|www\.ted\.com\/talks\/lang\/.*\/.*\.html.*|www\.ted\.com\/index\.php\/talks\/.*\.html.*|www\.ted\.com\/index\.php\/talks\/lang\/.*\/.*\.html.*|.*nfb\.ca\/film\/.*|www\.thedailyshow\.com\/watch\/.*|www\.thedailyshow\.com\/full-episodes\/.*|www\.thedailyshow\.com\/collection\/.*\/.*\/.*|movies\.yahoo\.com\/movie\/.*\/video\/.*|movies\.yahoo\.com\/movie\/.*\/trailer|movies\.yahoo\.com\/movie\/.*\/video|www\.colbertnation\.com\/the-colbert-report-collections\/.*|www\.colbertnation\.com\/full-episodes\/.*|www\.colbertnation\.com\/the-colbert-report-videos\/.*|www\.comedycentral\.com\/videos\/index\.jhtml\?.*|www\.theonion\.com\/video\/.*|theonion\.com\/video\/.*|wordpress\.tv\/.*\/.*\/.*\/.*\/|www\.traileraddict\.com\/trailer\/.*|www\.traileraddict\.com\/clip\/.*|www\.traileraddict\.com\/poster\/.*|www\.escapistmagazine\.com\/videos\/.*|www\.trailerspy\.com\/trailer\/.*\/.*|www\.trailerspy\.com\/trailer\/.*|www\.trailerspy\.com\/view_video\.php.*|www\.atom\.com\/.*\/.*\/|fora\.tv\/.*\/.*\/.*\/.*|www\.spike\.com\/video\/.*|www\.gametrailers\.com\/video\/.*|gametrailers\.com\/video\/.*|www\.koldcast\.tv\/video\/.*|www\.koldcast\.tv\/#video:.*|techcrunch\.tv\/watch.*|techcrunch\.tv\/.*\/watch.*|mixergy\.com\/.*|video\.pbs\.org\/video\/.*|www\.zapiks\.com\/.*|tv\.digg\.com\/diggnation\/.*|tv\.digg\.com\/diggreel\/.*|tv\.digg\.com\/diggdialogg\/.*|www\.trutv\.com\/video\/.*|www\.nzonscreen\.com\/title\/.*|nzonscreen\.com\/title\/.*|app\.wistia\.com\/embed\/medias\/.*|https:\/\/app\.wistia\.com\/embed\/medias\/.*|www\.godtube\.com\/featured\/video\/.*|godtube\.com\/featured\/video\/.*|www\.godtube\.com\/watch\/.*|godtube\.com\/watch\/.*|www\.tangle\.com\/view_video.*|mediamatters\.org\/mmtv\/.*|www\.clikthrough\.com\/theater\/video\/.*|soundcloud\.com\/.*|soundcloud\.com\/.*\/.*|soundcloud\.com\/.*\/sets\/.*|soundcloud\.com\/groups\/.*|snd\.sc\/.*|www\.last\.fm\/music\/.*|www\.last\.fm\/music\/+videos\/.*|www\.last\.fm\/music\/+images\/.*|www\.last\.fm\/music\/.*\/_\/.*|www\.last\.fm\/music\/.*\/.*|www\.mixcloud\.com\/.*\/.*\/|www\.radionomy\.com\/.*\/radio\/.*|radionomy\.com\/.*\/radio\/.*|www\.entertonement\.com\/clips\/.*|www\.rdio\.com\/#\/artist\/.*\/album\/.*|www\.rdio\.com\/artist\/.*\/album\/.*|www\.zero-inch\.com\/.*|.*\.bandcamp\.com\/|.*\.bandcamp\.com\/track\/.*|.*\.bandcamp\.com\/album\/.*|freemusicarchive\.org\/music\/.*|www\.freemusicarchive\.org\/music\/.*|freemusicarchive\.org\/curator\/.*|www\.freemusicarchive\.org\/curator\/.*|www\.npr\.org\/.*\/.*\/.*\/.*\/.*|www\.npr\.org\/.*\/.*\/.*\/.*\/.*\/.*|www\.npr\.org\/.*\/.*\/.*\/.*\/.*\/.*\/.*|www\.npr\.org\/templates\/story\/story\.php.*|huffduffer\.com\/.*\/.*|www\.audioboo\.fm\/boos\/.*|audioboo\.fm\/boos\/.*|boo\.fm\/b.*|www\.xiami\.com\/song\/.*|xiami\.com\/song\/.*|espn\.go\.com\/video\/clip.*|espn\.go\.com\/.*\/story.*|abcnews\.com\/.*\/video\/.*|abcnews\.com\/video\/playerIndex.*|washingtonpost\.com\/wp-dyn\/.*\/video\/.*\/.*\/.*\/.*|www\.washingtonpost\.com\/wp-dyn\/.*\/video\/.*\/.*\/.*\/.*|www\.boston\.com\/video.*|boston\.com\/video.*|www\.facebook\.com\/photo\.php.*|www\.facebook\.com\/video\/video\.php.*|www\.facebook\.com\/v\/.*|cnbc\.com\/id\/.*\?.*video.*|www\.cnbc\.com\/id\/.*\?.*video.*|cnbc\.com\/id\/.*\/play\/1\/video\/.*|www\.cnbc\.com\/id\/.*\/play\/1\/video\/.*|cbsnews\.com\/video\/watch\/.*|www\.google\.com\/buzz\/.*\/.*\/.*|www\.google\.com\/buzz\/.*|www\.google\.com\/profiles\/.*|google\.com\/buzz\/.*\/.*\/.*|google\.com\/buzz\/.*|google\.com\/profiles\/.*|www\.cnn\.com\/video\/.*|edition\.cnn\.com\/video\/.*|money\.cnn\.com\/video\/.*|today\.msnbc\.msn\.com\/id\/.*\/vp\/.*|www\.msnbc\.msn\.com\/id\/.*\/vp\/.*|www\.msnbc\.msn\.com\/id\/.*\/ns\/.*|today\.msnbc\.msn\.com\/id\/.*\/ns\/.*|multimedia\.foxsports\.com\/m\/video\/.*\/.*|msn\.foxsports\.com\/video.*|www\.globalpost\.com\/video\/.*|www\.globalpost\.com\/dispatch\/.*|.*amazon\..*\/gp\/product\/.*|.*amazon\..*\/.*\/dp\/.*|.*amazon\..*\/dp\/.*|.*amazon\..*\/o\/ASIN\/.*|.*amazon\..*\/gp\/offer-listing\/.*|.*amazon\..*\/.*\/ASIN\/.*|.*amazon\..*\/gp\/product\/images\/.*|www\.amzn\.com\/.*|amzn\.com\/.*|www\.shopstyle\.com\/browse.*|www\.shopstyle\.com\/action\/apiVisitRetailer.*|www\.shopstyle\.com\/action\/viewLook.*|gist\.github\.com\/.*|twitter\.com\/.*\/status\/.*|twitter\.com\/.*\/statuses\/.*|mobile\.twitter\.com\/.*\/status\/.*|mobile\.twitter\.com\/.*\/statuses\/.*|www\.crunchbase\.com\/.*\/.*|crunchbase\.com\/.*\/.*|www\.slideshare\.net\/.*\/.*|www\.slideshare\.net\/mobile\/.*\/.*|.*\.scribd\.com\/doc\/.*|screenr\.com\/.*|polldaddy\.com\/community\/poll\/.*|polldaddy\.com\/poll\/.*|answers\.polldaddy\.com\/poll\/.*|www\.5min\.com\/Video\/.*|www\.howcast\.com\/videos\/.*|www\.screencast\.com\/.*\/media\/.*|screencast\.com\/.*\/media\/.*|www\.screencast\.com\/t\/.*|screencast\.com\/t\/.*|issuu\.com\/.*\/docs\/.*|www\.kickstarter\.com\/projects\/.*\/.*|www\.scrapblog\.com\/viewer\/viewer\.aspx.*|ping\.fm\/p\/.*|chart\.ly\/.*|maps\.google\.com\/maps\?.*|maps\.google\.com\/\?.*|maps\.google\.com\/maps\/ms\?.*|.*\.craigslist\.org\/.*\/.*|my\.opera\.com\/.*\/albums\/show\.dml\?id=.*|my\.opera\.com\/.*\/albums\/showpic\.dml\?album=.*&picture=.*|tumblr\.com\/.*|.*\.tumblr\.com\/post\/.*|www\.polleverywhere\.com\/polls\/.*|www\.polleverywhere\.com\/multiple_choice_polls\/.*|www\.polleverywhere\.com\/free_text_polls\/.*|www\.quantcast\.com\/wd:.*|www\.quantcast\.com\/.*|siteanalytics\.compete\.com\/.*|statsheet\.com\/statplot\/charts\/.*\/.*\/.*\/.*|statsheet\.com\/statplot\/charts\/e\/.*|statsheet\.com\/.*\/teams\/.*\/.*|statsheet\.com\/tools\/chartlets\?chart=.*|.*\.status\.net\/notice\/.*|identi\.ca\/notice\/.*|brainbird\.net\/notice\/.*|shitmydadsays\.com\/notice\/.*|www\.studivz\.net\/Profile\/.*|www\.studivz\.net\/l\/.*|www\.studivz\.net\/Groups\/Overview\/.*|www\.studivz\.net\/Gadgets\/Info\/.*|www\.studivz\.net\/Gadgets\/Install\/.*|www\.studivz\.net\/.*|www\.meinvz\.net\/Profile\/.*|www\.meinvz\.net\/l\/.*|www\.meinvz\.net\/Groups\/Overview\/.*|www\.meinvz\.net\/Gadgets\/Info\/.*|www\.meinvz\.net\/Gadgets\/Install\/.*|www\.meinvz\.net\/.*|www\.schuelervz\.net\/Profile\/.*|www\.schuelervz\.net\/l\/.*|www\.schuelervz\.net\/Groups\/Overview\/.*|www\.schuelervz\.net\/Gadgets\/Info\/.*|www\.schuelervz\.net\/Gadgets\/Install\/.*|www\.schuelervz\.net\/.*|myloc\.me\/.*|pastebin\.com\/.*|pastie\.org\/.*|www\.pastie\.org\/.*|redux\.com\/stream\/item\/.*\/.*|redux\.com\/f\/.*\/.*|www\.redux\.com\/stream\/item\/.*\/.*|www\.redux\.com\/f\/.*\/.*|cl\.ly\/.*|cl\.ly\/.*\/content|speakerdeck\.com\/u\/.*\/p\/.*|www\.kiva\.org\/lend\/.*|www\.timetoast\.com\/timelines\/.*|storify\.com\/.*\/.*|.*meetup\.com\/.*|meetu\.ps\/.*|www\.dailymile\.com\/people\/.*\/entries\/.*|.*\.kinomap\.com\/.*|www\.metacdn\.com\/api\/users\/.*\/content\/.*|www\.metacdn\.com\/api\/users\/.*\/media\/.*|prezi\.com\/.*\/.*|.*\.uservoice\.com\/.*\/suggestions\/.*)/i;var ret=nm._hasFilter('link')&&nm.opener.attr('href')&&nm.opener.attr('href').match(embedlyReg)!==null;if(ret)nm._delFilter('iframe');return ret;},init:function(nm){nm.loadFilter='embedly';nm.store.embedly={};},load:function(nm){$.ajax({url:'http://api.embed.ly/1/oembed',dataType:'jsonp',data:'wmode=transparent&url='+nm.opener.attr('href'),success:function(data){if(data.type=='error')nm._error();else if(data.type=='photo'){nm.filters.push('image');$('').load(function(){nm.elts.cont.addClass('nyroModalImg');nm.elts.hidden.addClass('nyroModalImg');nm._setCont(this);}).error(function(){nm._error();}).attr('src',data.url);}else{nm.store.embedly.w=data.width;nm.store.embedly.h=data.height;nm._setCont('
    '+data.html+'
    ');}}});},size:function(nm){if(nm.store.embedly.w&&!nm.sizes.h){nm.sizes.w=nm.store.embedly.w;nm.sizes.h=nm.store.embedly.h;}}}});});; diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/js/jquery.textchange.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/static/ldt/js/jquery.textchange.min.js Wed Mar 23 17:34:36 2011 +0100 @@ -0,0 +1,10 @@ +/*! + * jQuery TextChange Plugin + * http://www.zurb.com/playground/jquery-text-change-custom-event + * + * Copyright 2010, ZURB + * Released under the MIT License + */ + (function(a){a.event.special.textchange={setup:function(){a(this).data("lastValue",this.contentEditable==="true"?a(this).html():a(this).val());a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var b=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(b)}, + 25)},triggerIfChanged:function(b){var c=b[0].contentEditable==="true"?b.html():b.val();if(c!==b.data("lastValue")){b.trigger("textchange",b.data("lastValue"));b.data("lastValue",c)}}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(b,c){c===""&&c!==a(this).val()&&a(this).trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange", + a.event.special.notext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(b,c){a(this).val()===""&&a(this).val()!==c&&a(this).trigger("notext")}}})(jQuery); \ No newline at end of file diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/js/projectscontents.js --- a/web/static/ldt/js/projectscontents.js Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/js/projectscontents.js Wed Mar 23 17:34:36 2011 +0100 @@ -1,357 +1,398 @@ + $.fn.realVal = function() { - var obj = $(this[0]); - if(obj.val) { - if(obj.val() == obj.attr('defaultText')) { - return ''; - } - else { - return obj.val(); - } - } - else { - return null; - } + var obj = $(this[0]); + if(obj.val) { + if(obj.val() === obj.attr('defaultText')) { + return ''; + } + else { + return obj.val(); + } + } + else { + return null; + } }; + function init_events_base(base_node, embed_url) { - $('.ldt_link',base_node).nyroModal({ - type: 'iframe', - forceType: 'iframe', - windowResize: false, - height:662, - width:1022, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - beforeHideContent: function(elts, settings, callback){ - try { - var res = $('#ldtInitSwf',$('#nyroModalIframe').contents()); - if(res.length > 0) - { - res.get(0).forceSave(); - } - } - catch(err) - { - // do nothing - } - callback(); - } - - }); - - - $('.ldt_link_embed',base_node).click(function(e) { - e.preventDefault(); - var link = $(e.target); - var json_url = link.attr("href"); - var player_id = link.attr("id"); - var ldt_id = player_id.substring(15); - /*$.nyroModalSettings({ - ajax: { data: ({ json_url:json_url, player_id:player_id }) } - });*/ - $.nyroModalManual({ - type: 'iframe', - forceType: 'iframe', - titleFromIframe: false, - height:662, - width:750, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - url: embed_url+'?json_url='+escape(json_url)+'&player_id='+escape(player_id)+'&ldt_id='+escape(ldt_id) - }); - return false; - }); + $('.ldt_link_embed',base_node).click(function(e) { + e.preventDefault(); + var link = $(e.target); + var json_url = link.attr("href"); + var player_id = link.attr("id"); + var ldt_id = player_id.substring(15); + $('
    ', { + href: embed_url+'?json_url='+escape(json_url)+'&player_id='+escape(player_id)+'&ldt_id='+escape(ldt_id), + target: "_blank" + }).nyroModal({ + filters: ['iframe'], + sizes: { + minW: '750', + minH: '662' + }, + callbacks: { + afterShowCont: function(nm) { + nm.store.iframe.height(662); + nm.store.iframe.width(750); + } + } + }).trigger('nyroModal'); + return false; + }); - $('.imageline',base_node).each(function(i) { - var tr = $(this); - tr.mouseover(function() { - $('.cellimgdiv',this).css('visibility', 'visible'); - }); - tr.mouseout(function() { - $('.cellimgdiv',this).css('visibility', 'hidden'); - }); - }); + $('.imageline',base_node).each(function(i) { + var tr = $(this); + tr.mouseover(function() { + $('.cellimgdiv',this).css('visibility', 'visible'); + }); + tr.mouseout(function() { + $('.cellimgdiv',this).css('visibility', 'hidden'); + }); + }); + + $('.cellimgdiv img').qtip({ + style: { + 'name': 'dark', + 'filter':'alpha(opacity=70)', + '-moz-opacity':'0.7', + '-khtml-opacity': '0.7', + 'opacity': '0.7', + 'border': { + 'width' : '0', + 'color': '#505050' + }, + 'tip': true + } + }); +} + +function testAndClose(close_fn) { - $('.cellimgdiv img').qtip({ - style: { - 'name': 'dark', - 'filter':'alpha(opacity=70)', - '-moz-opacity':'0.7', - '-khtml-opacity': '0.7', - 'opacity': '0.7', - 'border': { - 'width' : '0', - 'color': '#505050' - }, - 'tip': true - } - }); - - -}; + return function(force) { + // Here we ask LDT if the current work is modified and if the user want to save it. + var ldtSwf = $('#ldtInitSwf',$.nmTop().store.iframe.contents()).get(0); + // In the ldt_link_create case, the modal page can be the form, or the ldt swf. So we have to test. + if (!force && ldtSwf && ldtSwf.name==="ldtInitSwf" && ldtSwf.isModified()==="true") { + ldtSwf.askSave(); + } + else { + close_fn.apply(this); + } + }; +} function searchCallback(target, container_selector, url, timeout) { - timeout = typeof(timeout) != 'undefined' ? timeout : 0; - var target = $(target); - - // remove all qtip - $(".qtip").remove(); - - if(target.realVal().length > 0) { - target.nextAll(".searchclear").show(); - } + timeout = typeof(timeout) !== 'undefined' ? timeout : 0; + target = $(target); + + // remove all qtip + $(".qtip").remove(); + + if(target.realVal().length > 0) { + target.nextAll(".searchclear").show(); + } - if(target.attr('timer')) { - clearTimeout(target.attr('timer')); - } + if(target.attr('timer')) { + clearTimeout(target.attr('timer')); + } - target.attr( - 'timer', - setTimeout(function() { - target.next(".searchajaxloader").show(); - target.nextAll(".searchclear").hide(); - var filterVal = "_" + escape(target.realVal()); - url = url.replace('__FILTER__',filterVal); - $.ajax({ - url: url, - cache: false, - success: function(data, status, request) { - $(container_selector).html(data); - target.next(".searchajaxloader").hide(); - if(target.realVal().length > 0) { - target.nextAll(".searchclear").show(); - } - init_events($(container_selector)); - target.removeAttr('timer'); - } - }); - }, - 300) - ); -}; + target.attr( + 'timer', + setTimeout(function() { + target.next(".searchajaxloader").show(); + target.nextAll(".searchclear").hide(); + var filterVal = "_" + escape(target.realVal()); + url = url.replace('__FILTER__',filterVal); + $.ajax({ + url: url, + cache: false, + success: function(data, status, request) { + $(container_selector).html(data); + target.next(".searchajaxloader").hide(); + if(target.realVal().length > 0) { + target.nextAll(".searchclear").show(); + } + init_events($(container_selector)); + target.removeAttr('timer'); + } + }); + }, + 300) + ); +} function init_events_contents(base_node, embed_url, content_filter_url) { - - init_events_base(base_node, embed_url); - - $('.content_link_create').nyroModal({ - type: 'iframe', - forceType: 'iframe', - height:500, - width:765, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url) - }, - endShowContent: function(elts, settings) { - $('#nyroModalIframe', elts.content).load(function() { - var form_status = $(this).contents().find("#content_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted' ) { - $.nyroModalRemove(); - } - }); - } - }); - - $('.contenttitlelink').nyroModal({ - type: 'iframe', - forceType: 'iframe', - height:500, - width:765, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0); - }, - endShowContent: function(elts, settings) { - $('#nyroModalIframe', elts.content).load(function() { - var form_status = $(this).contents().find("#content_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted') { - $.nyroModalRemove(); - } - }); - } - }); - - + + init_events_base(base_node, embed_url); + + $('.content_link_create').each(function(i){ + $(this).attr("target","_blank"); + }); + $('.content_link_create').nyroModal({ + filters: ['iframe'], + sizes: { + minW: 770, + minH: 550 + }, + callbacks: { + afterClose: function(nm) { + searchCallback($('#searchprojectsinput'), "#contentslistcontainer", content_filter_url); + }, + afterShowCont: function(nm) { + nm.store.iframe.width(770); + nm.store.iframe.height(550); + nm.store.iframe.load(function() { + var form_status = $(this).contents().find("#content_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted' ) { + $.nmTop().close(); + } + }); + } + } + }); + + $('.contenttitlelink').each(function(i){ + $(this).attr("target","_blank"); + }); + $('.contenttitlelink').nyroModal({ + filters: ['iframe'], + sizes: { + minW: 770, + minH: 550 + }, + callbacks: { + afterClose: function(nm) { + searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0); + }, + afterShowCont: function(nm) { + nm.store.iframe.width(770); + nm.store.iframe.height(550); + nm.store.iframe.load(function() { + var form_status = $(this).contents().find("#content_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted') { + $.nmTop().close(); + } + }); + } + } + }); + } function init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) { - $('.ldt_link_create',base_node).nyroModal({ - type: 'iframe', - forceType: 'iframe', - windowResize: false, - height:680, - width:500, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - }, - beforeHideContent: function(elts, settings, callback){ - try { - var res = $('#ldtInitSwf',$('#nyroModalIframe').contents()); - if(res.length > 0) - { - res.get(0).forceSave(); - } - } - catch(err) - { - // do nothing - } - callback(); - }, - endShowContent: function(elts, settings){ - var iframe = $('#nyroModalIframe', elts.content); - iframe.load(function(){ - var form_status = $(this).contents().find("#project_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted' ) { - $.nyroModalRemove(); - } - var swfobject = $(this).contents().find("#ldtInitSwf"); - if (swfobject.length) { - $.nyroModalSettings({ - height: swfobject.height() + 31, - width: swfobject.width() + 21 - }); - } - }); - } - }); + // These are the functions called when we display a project in an LDT modal window + $('.ldt_link',base_node).each(function(i){ + $(this).attr("target","_iri"); + }); + $('.ldt_link',base_node).nyroModal({ + filters: ['iriIframe'], + sizes: { + minW: '1025', + minH: '665' + }, + showCloseButton: true, + closeOnEscape:false, + closeOnClick:false, + callbacks: { + afterShowCont: function(nm) { + nm.store.iframe.width(1025); + nm.store.iframe.height(665); + }, + close: function(nm) { + // We don't do anything here, we hack the callback directly from the close function. + }, + afterClose: function(nm) { + // Can't do that because searchprojectfilterurl is not defined in init_events_base params + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + + + $('.ldt_link',base_node).each(function(i, e) { + nm = $(e).data('nmObj'); + $(e).data('nmObj', $.extend(true, nm, { + close: testAndClose(nm.close) + })); + }); + - - $('.publishedproject', base_node).click(function(e) { - e.preventDefault(); - var target = $(e.target); - var project_id = target.attr('id').replace('project_',''); - var url = unpublishprojecturl.replace('__PROJECT_ID__', project_id); - $.ajax({ - url: url, - type: 'POST', - dataType: 'json', - success: function(json, textStatus, XMLHttpRequest){ - if(json.res) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - } - } - }); - }); + $('.ldt_link_create',base_node).each(function(i){ + $(this).attr("target","_iri"); + }); + $('.ldt_link_create',base_node).nyroModal({ + + filters: ['iriIframe'], + sizes: { + minW: '600', + minH: '500' + }, + showCloseButton:true, + closeOnEscape:false, + closeOnClick:false, + callbacks: { + afterShowCont: function(nm) { + nm.store.iframe.width(600); + nm.store.iframe.height(600); + var iframe = nm.store.iframe; + iframe.load(function(){ + var form_status = $(this).contents().find("#project_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted' ) { + $.nmTop().close(); + } + var swfobject = $(this).contents().find("#ldtInitSwf"); + if (swfobject.length) { + nm['sizes']['initW'] = 1025; + nm['sizes']['initH'] = 665; + nm.resize(); + nm.store.iframe.width(1025); + nm.store.iframe.height(665); + } + }); + }, + afterClose: function(nm) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + $('.ldt_link_create',base_node).each(function(i, e) { + nm = $(e).data('nmObj'); + $(e).data('nmObj', $.extend(true, nm, { + close: testAndClose(nm.close) + })); + }); - $('.unpublishedproject', base_node).click(function(e) { - e.preventDefault(); - var target = $(e.target); - var project_id = target.attr('id').replace('project_',''); - var url = publishprojecturl.replace('__PROJECT_ID__', project_id); - $.ajax({ - url: url, - type: 'POST', - dataType: 'json', - success: function(json, textStatus, XMLHttpRequest){ - if(json.res) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - } - } - }); - }); + + $('.publishedproject', base_node).click(function(e) { + e.preventDefault(); + var target = $(e.target); + var project_id = target.attr('id').replace('project_',''); + var url = unpublishprojecturl.replace('__PROJECT_ID__', project_id); + $.ajax({ + url: url, + type: 'POST', + dataType: 'json', + success: function(json, textStatus, XMLHttpRequest){ + if(json.res) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + }); - $('.projecttitlelink').nyroModal({ - type: 'iframe', - forceType: 'iframe', - height:680, - width:500, - bgColor: 'rgb(239, 239, 239)', - padding: 5, - titleFromIframe: false, - endRemove: function(elts, settings) { - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); - }, - endShowContent: function(elts, settings) { - $('#nyroModalIframe', elts.content).load(function() { - var form_status = $(this).contents().find("#project_form_status").val(); - if(form_status == 'saved' || form_status == 'deleted') { - $.nyroModalRemove(); - } - }); - } - }); - + $('.unpublishedproject', base_node).click(function(e) { + e.preventDefault(); + var target = $(e.target); + var project_id = target.attr('id').replace('project_',''); + var url = publishprojecturl.replace('__PROJECT_ID__', project_id); + $.ajax({ + url: url, + type: 'POST', + dataType: 'json', + success: function(json, textStatus, XMLHttpRequest){ + if(json.res) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + } + } + }); + }); + + $('.projecttitlelink').each(function(i){ + $(this).attr("target","_blank"); + }); + $('.projecttitlelink').nyroModal({ + filters: ['iframe'], + sizes: { + minH:680, + minW:600 + }, + callbacks: { + afterClose: function(nm) { + searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0); + }, + afterShowCont: function(nm) { + nm.store.iframe.height(680); + nm.store.iframe.width(600); + var iframe = nm.store.iframe; + iframe.load(function(){ + var form_status = $(this).contents().find("#project_form_status").val(); + if(form_status === 'saved' || form_status === 'deleted') { + $.nmTop().close(); + } + }); + } + } + }); + } function init_events_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) { - - init_events_base(base_node, embed_url); - init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); + + init_events_base(base_node, embed_url); + init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); } function init_events_all(base_node, embed_url, searchcontentfilterurl, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) { - - init_events_contents(base_node, embed_url, searchcontentfilterurl); - init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); + init_events_contents(base_node, embed_url, searchcontentfilterurl); + init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl); } - - function searchFieldInit(input_list_init) { - $(".searchfieldinputbase").keydown(function (e) { - if(e.which == 27) { - $(e.target).blur(); - $(e.target).next(".searchajaxloader").hide(); - } - }); - - $('.searchfieldinput').each(function(i) { - var sbox = $(this); - if(sbox.val() != '') { - sbox.attr('defaultText', sbox.val()); - } - - sbox.focus(function() { - box = $(this); - if(box.val() == box.attr('defaultText')) { - box.val(''); - box.toggleClass("searchfieldinput"); - } - }); - - sbox.blur(function() { - var box = $(this); - if(box.val() == '' && box.attr('defaultText')) { - box.val(box.attr('defaultText')); - box.toggleClass("searchfieldinput"); - } - }); - - }); + $(".searchfieldinputbase").keydown(function (e) { + if(e.which === 27) { + $(e.target).blur(); + $(e.target).next(".searchajaxloader").hide(); + } + }); + + $('.searchfieldinput').each(function(i) { + var sbox = $(this); + if(sbox.val() !== '') { + sbox.attr('defaultText', sbox.val()); + } + + sbox.focus(function() { + box = $(this); + if(box.val() === box.attr('defaultText')) { + box.val(''); + box.toggleClass("searchfieldinput"); + } + }); + + sbox.blur(function() { + var box = $(this); + if(box.val() === '' && box.attr('defaultText')) { + box.val(box.attr('defaultText')); + box.toggleClass("searchfieldinput"); + } + }); + + }); - $.each(input_list_init, function(index, value) { - $(value['input_selector']).keyup(function (e) { - searchCallback(e.target, value['container_selector'], value['url']); - }); - }); - - $('.searchclear').click(function(e) { - var box = $(e.target).parent().find("input"); - box.val(box.attr('defaultText')); - box.addClass("searchfieldinput"); - box.blur(); - box.keyup(); - }); - - $('.searchclear').each(function(i) { - $(this).hide(); - }); - + $.each(input_list_init, function(index, value) { + $(value['input_selector']).keyup(function (e) { + searchCallback(e.target, value['container_selector'], value['url']); + }); + }); + + $('.searchclear').click(function(e) { + var box = $(e.target).parent().find("input"); + box.val(box.attr('defaultText')); + box.addClass("searchfieldinput"); + box.blur(); + box.keyup(); + }); + + $('.searchclear').each(function(i) { + $(this).hide(); + }); + } diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/LignesDeTempsFlex.swf Binary file web/static/ldt/swf/ldt/LignesDeTempsFlex.swf has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/en/messages.mo Binary file web/static/ldt/swf/ldt/pkg/i18n/en/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/es/messages.mo Binary file web/static/ldt/swf/ldt/pkg/i18n/es/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/es/messages.po --- a/web/static/ldt/swf/ldt/pkg/i18n/es/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/swf/ldt/pkg/i18n/es/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:17+0100\n" +"POT-Creation-Date: 2011-02-25 16:32+0100\n" "PO-Revision-Date: 2009-10-19 10:14+0100\n" "Last-Translator: Ales Zabala Alava (Shagi) \n" "Language-Team: Spanish\n" @@ -17,331 +17,342 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Spanish\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "Elige uno de tus bout à bouts (ediciones)" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "¿Borrar la bout à bout (edición) seleccionada?" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "Nuevo bout à bout (edición)" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "¿Borrar la bout à bout (edición) seleccionada?" - -#: src/InfoWindow/BoutABoutTab.as:80 -#: src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 -#: src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "Título" -#: src/InfoWindow/BoutABoutTab.as:95 -#: src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 -#: src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 -#: src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 -#: src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "Descripción" -#: src/InfoWindow/BoutABoutTab.as:163 -#: src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 -#: src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "Sí" -#: src/InfoWindow/BoutABoutTab.as:164 -#: src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 -#: src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "No" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "¿Confirmas que quieres borrar la bout à bout (edición)?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "Lista" -#: src/InfoWindow/CuttingsTab.as:118 -#: src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "Nuevo corte" -#: src/InfoWindow/CuttingsTab.as:134 -#: src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "Título del corte" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "Descripción del corte" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "Marcas y segmentos" -#: src/InfoWindow/CuttingsTab.as:166 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "Principio" -#: src/InfoWindow/CuttingsTab.as:178 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "Fin" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "Título del segmento" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "Descripción del segmento" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "Etiquetas (separadas por comas)" -#: src/InfoWindow/CuttingsTab.as:237 -#: src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "Etiquetas de la línea de tiempo" -#: src/InfoWindow/CuttingsTab.as:243 -#: src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "Anterior" -#: src/InfoWindow/CuttingsTab.as:252 -#: src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "Siguiente" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" msgstr "Anotación de audio" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." +#: src/InfoWindow/CuttingsTab.as:297 +#, fuzzy +msgid "Choose a mp3 file." msgstr "elige un fichero mp3." -#: src/InfoWindow/CuttingsTab.as:280 -#: src/sequencer/tools/edit/AddTextPict.mxml:65 -#: src/tools/ImportMedia.mxml:41 +#: src/InfoWindow/CuttingsTab.as:304 src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:318 +#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "Examinar..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:654 +#, fuzzy +msgid "Project's tags" +msgstr "Medias del proyecto." + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "" +"If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:702 src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "" +"If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "Proyecto" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "Cortes" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "Informaciones" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "Bout à bout" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "Vistas" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "Toma de notas" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "Modificar" -#: src/InfoWindow/InformationsTab.as:178 -#: src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "Borrar" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "Duplicar" -#: src/InfoWindow/InformationsTab.as:190 -#: src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "Deseleccionar los segmentos de todas las líneas de tiempo" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 msgid "Duplicate only the highlighted segments" msgstr "Duplicar únicamente los segmentos remarcados" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "Deseleccionar los segmentos de esta línea de tiempo" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "Crear una bout à bout (edición) de toda la línea de tiempo" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "Crear una bout à bout (edición) de los segmentos seleccionados" -#: src/InfoWindow/InformationsTab.as:232 -msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "Crear una bout à bout (edición) de los segmentos seleccionados de todas las líneas de tiempo" +#: src/InfoWindow/InformationsTab.as:244 +msgid "" +"Create a bout à bout (edit) from all the timelines's highlighted segments" +msgstr "" +"Crear una bout à bout (edición) de los segmentos seleccionados de todas las " +"líneas de tiempo" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" msgstr "" -#: src/InfoWindow/InformationsTab.as:397 -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "Duración" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "Indexación" -#: src/InfoWindow/InformationsTab.as:517 -#: src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "Num. de elementos" -#: src/InfoWindow/InformationsTab.as:521 -#: src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "activo" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 -#: src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "Autores" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "Fecha" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "Vista" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "Criterio" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "Resumen" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "Segmentos" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "Marcas" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "Todo" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "¿Confirmas que quieres borrar el corte?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "copiar" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "Empezar a tomar notas" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "Poner un separador (Shift + Enter)" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "Crear un corte a partir de estas notas" -#: src/InfoWindow/NoteTakingTab.as:169 -msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "El código de tiempo del media actual tiene que ser superior al código de tiempo del separador." +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 -#: src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 -#: src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 -#: src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 -#: src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 +msgid "" +"The media's current timecode must be superior to your last separator's " +"timecode." +msgstr "" +"El código de tiempo del media actual tiene que ser superior al código de " +"tiempo del separador." + +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 src/app/Python.as:51 src/app/Python.as:58 +#: src/app/Python.as:69 src/app/Python.as:163 src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "Atención" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "Mis notas" -#: src/InfoWindow/NoteTakingTab.as:233 -#: src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "Cortes personales" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "No hay contenido seleccionado para estas notas." -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "Medias del proyecto." -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "¿Realmente quieres sacar este contenido de tu proyecto?" @@ -353,249 +364,312 @@ msgid "Save the current display" msgstr "Guardar la visualización actual" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "Estados de visualización guardados:" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "Nueva vista" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "Borrar la vista seleccionada" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "Guardar la visualización actual en la vista seleccionada" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "¿Confirmas que quieres borrar esta vista?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "Vista sin nombre" -#: src/LignesDeTempsFlex.mxml:118 -#: src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "" +"If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:172 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "Cargando" -#: src/LignesDeTempsFlex.mxml:253 -#: src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 -#: src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "Etiquetas seleccionadas" +#: src/LignesDeTempsFlex.mxml:352 +msgid "" +"No project file is defined. You need to define a project file to save your " +"datas." +msgstr "" +"No se ha definido fichero de proyecto. Tienes que definir un fichero de " +"proyecto para guardar tus datos." -#: src/LignesDeTempsFlex.mxml:278 -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "No se ha definido fichero de proyecto. Tienes que definir un fichero de proyecto para guardar tus datos." - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "Guardar proyecto en" - -#: src/LignesDeTempsFlex.mxml:290 -#: src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "Fichero" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "Proyecto de sólo lectura" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "Guardar proyecto" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "Guardar proyecto en" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:378 +#, fuzzy +msgid "Save the project in cinelab format as..." +msgstr "Guardar proyecto como..." + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "Nuevo proyecto" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" +#: src/LignesDeTempsFlex.mxml:382 +#, fuzzy +msgid "Open a project (.ldt or .cxp)" msgstr "Abrir un proyecto (.ldt)" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "Guardar proyecto como..." -#: src/LignesDeTempsFlex.mxml:309 -#: src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:388 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "Importar un nuevo media" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "Abrir una descripción (fichero .iri)" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "Importar cortes desde otro fichero .ldt" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "Salir" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "Medias" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "Biblioteca" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "Visualización" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "Pantalla completa" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "Recolocar ventanas" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "Mostrar todas las etiquetas del proyecto" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "Recordar el idioma seleccionado" -#: src/LignesDeTempsFlex.mxml:372 -#: src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:451 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "Ayuda" -#: src/LignesDeTempsFlex.mxml:373 -#: src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:452 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "Acerca de" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "No está permitido el modo a pantalla completa." -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "Haz click en la etiqueta para deseleccionarla" +#: src/LignesDeTempsFlex.mxml:768 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "Etiquetas seleccionadas" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:791 msgid "Please select a media before importing cuttings." msgstr "Por favor selecciona un media antes de importar cortes." +#: src/LignesDeTempsFlex.mxml:872 +#, fuzzy +msgid "Ldt file content" +msgstr "Ocultar este contenido" + +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:874 +#, fuzzy +msgid "Copy" +msgstr "copiar" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "" +"You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "" + +#: src/app/Communication.as:198 +msgid "SAVING" +msgstr "" + #: src/app/Python.as:49 msgid "Lost connection" msgstr "Conexión perdida" -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "Tus datos ya no pueden guardarse más. Por favor cierra y reinicia Lignes de temps." +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "" +"Your datas can not be saved anymore. Please close and restart Lignes de " +"temps." +msgstr "" +"Tus datos ya no pueden guardarse más. Por favor cierra y reinicia Lignes de " +"temps." -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 +#: src/app/Python.as:51 src/app/Python.as:58 src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "" + +#: src/app/Python.as:56 src/app/Python.as:67 src/app/Python.as:163 msgid "Connection Problem" msgstr "Problema de Conexión" -#: src/app/XMLInOut.as:116 -#: src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "Imposible cargar el fichero" -#: src/app/XMLInOut.as:116 -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "Error" -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "No se puede encontrar tu fichero de proyecto. Por favor localízalo." -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "Forma de onda" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "Forma de onda de la pista de sonido" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "Cargando imagen" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "Identificador de contenido desconocido" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "Añadir corte (Shift+ E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "Mi corte" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "Abrir o cerrar un segmento (Shift+ Space)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "Añadir una marca (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "Cambiar el color del segmento o la marca" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "Borrar el segmento seleccionado (Shift+ Del)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "Dividir un segmento (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "Segmentos unidos" -#: src/sequencer/tools/create/TLUser.mxml:101 -msgid "If this box is checked, the end of a segment is also the beginning of the next one" -msgstr "Si esta caja está seleccionada, el final de un segmento es también el principio del siguiente" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "" +"If this box is checked, the end of a segment is also the beginning of the " +"next one" +msgstr "" +"Si esta caja está seleccionada, el final de un segmento es también el " +"principio del siguiente" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "No puedes cubrir un segmento." -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "¿Confirmas que quieres borrar este segmento?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "No puedes añadir una marca en medio de un segmento." @@ -650,12 +724,17 @@ msgid "Play the bout à bout (edit)" msgstr "Reproducir la bout à bout (edición)" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +#, fuzzy +msgid "Hide the Bout à bout" +msgstr "Bout à bout" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "¿Confirmas que quieres borrar el segmento?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "Segmento añadido en" @@ -736,15 +815,103 @@ msgid "Import running. This operation can last several minutes." msgstr "Importando. La operación puede llevar varios minutos." -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." -msgstr "Por lo menos el título y el autor tienen que haberse rellenado para importar." +msgstr "" +"Por lo menos el título y el autor tienen que haberse rellenado para importar." + +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "" + +#: src/tools/MicRecord.mxml:134 +msgid "" +"You are about to erase the current recording. \n" +" Go on ?" +msgstr "" + +#: src/tools/MicRecord.mxml:219 +msgid "" +"You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "Reproducir/Parar la anotación de sonido" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:125 msgid "Audio annotation error" msgstr "Error de anotación de audio" +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +#, fuzzy +msgid "List display" +msgstr "Visualización" + +#: src/tools/TagsPanel.mxml:165 +#, fuzzy +msgid "Cloud display" +msgstr "Visualización" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "" + +#~ msgid "Unhighlight this timeline's segments" +#~ msgstr "Deseleccionar los segmentos de esta línea de tiempo" + +#~ msgid "Choose one of your bout à bout (edits)" +#~ msgstr "Elige uno de tus bout à bouts (ediciones)" + +#~ msgid "Click on the tag to unhighlight it" +#~ msgstr "Haz click en la etiqueta para deseleccionarla" diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/eu/messages.mo Binary file web/static/ldt/swf/ldt/pkg/i18n/eu/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/eu/messages.po --- a/web/static/ldt/swf/ldt/pkg/i18n/eu/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/swf/ldt/pkg/i18n/eu/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:17+0100\n" +"POT-Creation-Date: 2011-02-25 16:32+0100\n" "PO-Revision-Date: 2009-10-19 10:07+0100\n" "Last-Translator: Ales Zabala Alava (Shagi) \n" "Language-Team: Basque \n" @@ -16,331 +16,342 @@ "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Basque\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "Aukeratu zure bout à bout-etako bat (editatzeak)" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "Ezabatu hautatutako bout à bout-a (editatzea)" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "Bout à bout berria (editatzea)" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "Ezabatu hautatutako bout à bout-a (editatzea)" - -#: src/InfoWindow/BoutABoutTab.as:80 -#: src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 -#: src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "Izenburua" -#: src/InfoWindow/BoutABoutTab.as:95 -#: src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 -#: src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 -#: src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 -#: src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "Deskribapena" -#: src/InfoWindow/BoutABoutTab.as:163 -#: src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 -#: src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "Bai" -#: src/InfoWindow/BoutABoutTab.as:164 -#: src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 -#: src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "Ez" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "Ziur zaude bout à bout-a (editatzea) ezabatu nahi duzula?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "Zerrenda" -#: src/InfoWindow/CuttingsTab.as:118 -#: src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "Mozketa berria" -#: src/InfoWindow/CuttingsTab.as:134 -#: src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "Mozketaren izenburua" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "Mozketaren deskribapena" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "Markak eta segmentuak" -#: src/InfoWindow/CuttingsTab.as:166 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "Hasiera" -#: src/InfoWindow/CuttingsTab.as:178 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "Bukaera" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "Segmentuaren izenburua" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "Segmentuaren deskribapena" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "Etiketak (komaz banatuta)" -#: src/InfoWindow/CuttingsTab.as:237 -#: src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "Denbora lerroaren etiketak" -#: src/InfoWindow/CuttingsTab.as:243 -#: src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "Aurrekoa" -#: src/InfoWindow/CuttingsTab.as:252 -#: src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "Hurrengoa" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" msgstr "Audio anotazioa" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." +#: src/InfoWindow/CuttingsTab.as:297 +#, fuzzy +msgid "Choose a mp3 file." msgstr "mp3 fitxategia aukeratu." -#: src/InfoWindow/CuttingsTab.as:280 -#: src/sequencer/tools/edit/AddTextPict.mxml:65 -#: src/tools/ImportMedia.mxml:41 +#: src/InfoWindow/CuttingsTab.as:304 src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:318 +#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "Arakatu..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:654 +#, fuzzy +msgid "Project's tags" +msgstr "Proiektuaren media-k" + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "" +"If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:702 src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "" +"If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "Proiektua" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "Mozketak" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "Informazioak" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "Bout à bout" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "Ikuspegiak" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "Ohar-hartzea" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "Aldatu" -#: src/InfoWindow/InformationsTab.as:178 -#: src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "Ezabatu" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "Bikoiztu" -#: src/InfoWindow/InformationsTab.as:190 -#: src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "Denbora lerro guztietako segmentuei nabarmentzea kendu" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 msgid "Duplicate only the highlighted segments" msgstr "Nabarmedutako segmentuak bakarrik bikoiztu" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "Denbora lerro honetako segmentuei nabarmentzea kendu" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "Denbora lerro osoarekin bout à bout-a sortu" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "Nabarmendutako segmentuekin bout à bout-a sortu" -#: src/InfoWindow/InformationsTab.as:232 -msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "Denbora lerro guztietako nabarmendutako segmentu guztiekin bout à bout-a sortu" +#: src/InfoWindow/InformationsTab.as:244 +msgid "" +"Create a bout à bout (edit) from all the timelines's highlighted segments" +msgstr "" +"Denbora lerro guztietako nabarmendutako segmentu guztiekin bout à bout-a " +"sortu" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" msgstr "" -#: src/InfoWindow/InformationsTab.as:397 -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "Iraupena" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "Indexazioa" -#: src/InfoWindow/InformationsTab.as:517 -#: src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "Elementu Kop." -#: src/InfoWindow/InformationsTab.as:521 -#: src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "gaituta" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 -#: src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "Egileak" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "Data" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "Ikusi" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "Irizpidea" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "Laburpena" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "Segmentuak" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "Markak" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "Guztia" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "Ziur zaude mozketa ezabatu nahi duzula?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "kopiatu" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "Oharrak hartzen hasi" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "Bereizlea jarri (Shift+ Enter)" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "Ohar hauetatik mozketa sortu" -#: src/InfoWindow/NoteTakingTab.as:169 -msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "Media-ren uneko denbora kodea zure azken bereizlearen denbora kodea baino handiago izan behar du" +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 -#: src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 -#: src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 -#: src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 -#: src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 +msgid "" +"The media's current timecode must be superior to your last separator's " +"timecode." +msgstr "" +"Media-ren uneko denbora kodea zure azken bereizlearen denbora kodea baino " +"handiago izan behar du" + +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 src/app/Python.as:51 src/app/Python.as:58 +#: src/app/Python.as:69 src/app/Python.as:163 src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "Adi" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "Nire oharrak" -#: src/InfoWindow/NoteTakingTab.as:233 -#: src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "Mozketa pertsonalak" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "Ohar hauentzako ez da edukirik zehaztu." -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "Proiektuaren media-k" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "Eduki hau zure proiektutik benetan kendu nahi duzu?" @@ -352,249 +363,312 @@ msgid "Save the current display" msgstr "Uneko bistaratzea gorde" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "Gordetako bistaratze egoerak :" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "Ikuspegi berria" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "Hautatutako ikuspegia ezabatu" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "Gorde uneko bistaratzea hautatutako bistan" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "Ziur zaude ikuspegi hau ezabatu nahi duzula?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "Izenik gabeko ikuspegia" -#: src/LignesDeTempsFlex.mxml:118 -#: src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "" +"If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:172 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "Kargatzen" -#: src/LignesDeTempsFlex.mxml:253 -#: src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 -#: src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "Hautatutako etiketak" +#: src/LignesDeTempsFlex.mxml:352 +msgid "" +"No project file is defined. You need to define a project file to save your " +"datas." +msgstr "" +"Ez da proiektu fitxategirik definitu. Zure datuak gordetzeko proiektu " +"fitxategia definitu behar duzu." -#: src/LignesDeTempsFlex.mxml:278 -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "Ez da proiektu fitxategirik definitu. Zure datuak gordetzeko proiektu fitxategia definitu behar duzu." - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "Proiektua hemen gorde:" - -#: src/LignesDeTempsFlex.mxml:290 -#: src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "Fitxategia" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "Irakurketa soileko proiektua" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "Proiektua gorde" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "Proiektua hemen gorde:" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:378 +#, fuzzy +msgid "Save the project in cinelab format as..." +msgstr "Gorde proiektua honela..." + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "Proiektu berria" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" +#: src/LignesDeTempsFlex.mxml:382 +#, fuzzy +msgid "Open a project (.ldt or .cxp)" msgstr "Proiektua ireki (.ldt)" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "Gorde proiektua honela..." -#: src/LignesDeTempsFlex.mxml:309 -#: src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:388 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "Media berri bat inportatu" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "Deskribapen fitxategi bat ireki (.iri fitxategia)" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "Mozketak inportatu beste .ldt fitxategi batetik" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "Irten" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "Media-k" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "Liburutegia" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "Bistaratzea" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "Pantaila-osoa" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "Leihoak birkokatu" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "Erakutsi proiektuaren etiketa guztiak" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "Aukeratutako hizkuntza gogoratu" -#: src/LignesDeTempsFlex.mxml:372 -#: src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:451 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "Laguntza" -#: src/LignesDeTempsFlex.mxml:373 -#: src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:452 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "Honi buruz" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "Pantaila osoko modua ez dago baimenduta." -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "Etiketan klikatu nabarmentzea kentzeko." +#: src/LignesDeTempsFlex.mxml:768 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "Hautatutako etiketak" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:791 msgid "Please select a media before importing cuttings." msgstr "Mesedez, media bat hautatu mozketak inportatu baino lehen." +#: src/LignesDeTempsFlex.mxml:872 +#, fuzzy +msgid "Ldt file content" +msgstr "Eduki hau ezkutatu" + +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:874 +#, fuzzy +msgid "Copy" +msgstr "kopiatu" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "" +"You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "" + +#: src/app/Communication.as:198 +msgid "SAVING" +msgstr "" + #: src/app/Python.as:49 msgid "Lost connection" msgstr "Konexioa galdu da" -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "Zure datuak ezin dira jadanik gorde. Mesedez Lignes de temps itxi eta berrabiarazi." +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "" +"Your datas can not be saved anymore. Please close and restart Lignes de " +"temps." +msgstr "" +"Zure datuak ezin dira jadanik gorde. Mesedez Lignes de temps itxi eta " +"berrabiarazi." -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 +#: src/app/Python.as:51 src/app/Python.as:58 src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "" + +#: src/app/Python.as:56 src/app/Python.as:67 src/app/Python.as:163 msgid "Connection Problem" msgstr "Konexio Arazoa" -#: src/app/XMLInOut.as:116 -#: src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "Ezin da fitxategia kargatu" -#: src/app/XMLInOut.as:116 -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "Errorea" -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "Ez da zure proiektu fitxategia topatu. Lokalizatu mesedez." -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "Uhinaren forma" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "Soinu pistaren uhin forma" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "Seinalea koloreztatu" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "Irudia kargatzen" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "edukiaren identifikadore ezezaguna" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "Mozketa gehitu (Shift + E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "Nire mozketa" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "Segmentua ireki edo itxi (Shift + Zuriunea)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "Marka gehitu (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "Aldatu segmentu edo markaren kolorea" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "Hautatutako segmentua ezabatu (Shift + Del)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "Segmentua zatitu (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "Estekatutako segmentuak" -#: src/sequencer/tools/create/TLUser.mxml:101 -msgid "If this box is checked, the end of a segment is also the beginning of the next one" -msgstr "Kutxa hau markatuta badago, segmentu baten bukaera hurrengoaren hasiera izango da ere" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "" +"If this box is checked, the end of a segment is also the beginning of the " +"next one" +msgstr "" +"Kutxa hau markatuta badago, segmentu baten bukaera hurrengoaren hasiera " +"izango da ere" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "Ezin duzu segmentu bat estaldu" -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "Ziur zaude segmentu hau ezabatu nahi duzula?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "Ezin duzu marka bat gehitu segmentu baten erdian." @@ -649,12 +723,17 @@ msgid "Play the bout à bout (edit)" msgstr "Bout à bout-a (editatzea) erreproduzitu" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +#, fuzzy +msgid "Hide the Bout à bout" +msgstr "Bout à bout" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "Ziur zaude segmentua ezabatu nahi duzula?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "Segmentua hemen gehituta: " @@ -717,7 +796,8 @@ #: src/tools/ImportMedia.mxml:39 msgid "Select a video file (avi-mpg-mov-flv) or an audio file (mp3)" -msgstr "Hautatu bideo fitxategi bat (avi-mpg-mov-flv) edo audio fitxategi bat (mp3)" +msgstr "" +"Hautatu bideo fitxategi bat (avi-mpg-mov-flv) edo audio fitxategi bat (mp3)" #: src/tools/ImportMedia.mxml:51 msgid "Optional complements" @@ -735,15 +815,103 @@ msgid "Import running. This operation can last several minutes." msgstr "Inportazioa martxan. Eragiketa honek hainbat minutu iraun ditzake." -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." -msgstr "Izenburua eta egilea zehaztu behar dira gutxienez inportazioa abiarazteko." +msgstr "" +"Izenburua eta egilea zehaztu behar dira gutxienez inportazioa abiarazteko." + +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "" + +#: src/tools/MicRecord.mxml:134 +msgid "" +"You are about to erase the current recording. \n" +" Go on ?" +msgstr "" + +#: src/tools/MicRecord.mxml:219 +msgid "" +"You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "Audio anotazioa erreproduzitu/pausarazi" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:125 msgid "Audio annotation error" msgstr "Errorea audioa anotazioan" +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +#, fuzzy +msgid "List display" +msgstr "Bistaratzea" + +#: src/tools/TagsPanel.mxml:165 +#, fuzzy +msgid "Cloud display" +msgstr "Bistaratzea" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "" + +#~ msgid "Unhighlight this timeline's segments" +#~ msgstr "Denbora lerro honetako segmentuei nabarmentzea kendu" + +#~ msgid "Choose one of your bout à bout (edits)" +#~ msgstr "Aukeratu zure bout à bout-etako bat (editatzeak)" + +#~ msgid "Click on the tag to unhighlight it" +#~ msgstr "Etiketan klikatu nabarmentzea kentzeko." diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/fr/messages.mo Binary file web/static/ldt/swf/ldt/pkg/i18n/fr/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/fr/messages.po --- a/web/static/ldt/swf/ldt/pkg/i18n/fr/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/swf/ldt/pkg/i18n/fr/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:02+0100\n" +"POT-Creation-Date: 2011-02-25 17:32+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,331 +16,380 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "Choisissez un de vos bout à bout" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "Supprimer le bout à bout sélectionné" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "Nouveau bout à bout" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "Supprimer le bout à bout sélectionné" - -#: src/InfoWindow/BoutABoutTab.as:80 -#: src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 +#: src/InfoWindow/BoutABoutTab.as:71 +#: src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 #: src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "Titre" -#: src/InfoWindow/BoutABoutTab.as:95 -#: src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 -#: src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 -#: src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 +#: src/InfoWindow/BoutABoutTab.as:99 +#: src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 +#: src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 +#: src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 #: src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "Description" -#: src/InfoWindow/BoutABoutTab.as:163 -#: src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 -#: src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 +#: src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 +#: src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 +#: src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "Oui" -#: src/InfoWindow/BoutABoutTab.as:164 -#: src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 -#: src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 +#: src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 +#: src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 +#: src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "Non" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "Confirmez-vous la suppression du bout à bout ?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "Liste" -#: src/InfoWindow/CuttingsTab.as:118 -#: src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 +#: src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "Nouveau découpage" -#: src/InfoWindow/CuttingsTab.as:134 -#: src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 +#: src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "Titre du découpage" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "Description du découpage" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "Marqueurs et segments" -#: src/InfoWindow/CuttingsTab.as:166 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 +#: src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "Début" -#: src/InfoWindow/CuttingsTab.as:178 -#: src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 +#: src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "Fin" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "Titre du segment" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "Description du segment" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "Tags (séparés par une virgule)" -#: src/InfoWindow/CuttingsTab.as:237 -#: src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 +#: src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "Tags de la ligne de temps" -#: src/InfoWindow/CuttingsTab.as:243 -#: src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 +#: src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "Précédent" -#: src/InfoWindow/CuttingsTab.as:252 -#: src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "Suivant" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" msgstr "Annotation audio" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." -msgstr "choississez un fichier mp3." +#: src/InfoWindow/CuttingsTab.as:297 +msgid "Choose a mp3 file." +msgstr "Choississez un fichier mp3." -#: src/InfoWindow/CuttingsTab.as:280 +#: src/InfoWindow/CuttingsTab.as:304 +#: src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "Enregistrer un commentaire audio" + +#: src/InfoWindow/CuttingsTab.as:318 #: src/sequencer/tools/edit/AddTextPict.mxml:65 #: src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "Parcourir..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 +#: src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "Enregistrement du microphone" + +#: src/InfoWindow/CuttingsTab.as:654 +msgid "Project's tags" +msgstr "Tags du projet" + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "Si vous continuez, l'annotation enregistrée sera archivée.\n" +"Continuer ?" + +#: src/InfoWindow/CuttingsTab.as:702 +#: src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 +#: src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 +#: src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "Avertissement" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "Si vous continuez, l'annotation enregistrée sera perdue.\n" +"Continuer ?" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "Projet" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "Découpages" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "Informations" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "Bout à bout" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "Vues" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "Prise de notes" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "Modifier" -#: src/InfoWindow/InformationsTab.as:178 -#: src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 +#: src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "Supprimer" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "Dupliquer" -#: src/InfoWindow/InformationsTab.as:190 -#: src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 +#: src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "Effacer la surbrillance des segments pour toutes les lignes" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 msgid "Duplicate only the highlighted segments" msgstr "Dupliquer seulement les segments en surbrillance" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "Effacer la surbrillance des segments pour cette ligne" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "Appliquer un offset" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "Créer un bout à bout à partir de la ligne de temps complète" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "Créer un bout à bout à partir des éléments en surbrillance" -#: src/InfoWindow/InformationsTab.as:232 +#: src/InfoWindow/InformationsTab.as:244 msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "Créer un bout à bout à partir des segments en surbrillance de toutes les timelines" +msgstr "Créer un bout à bout à partir des segments en surbrillance de toutes les" +"timelines" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" msgstr "Voir les titres et descriptions de tous les segments dans un texte" -#: src/InfoWindow/InformationsTab.as:397 -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 +#: src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "Durée" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "Indexation" -#: src/InfoWindow/InformationsTab.as:517 -#: src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "Nb élements" -#: src/InfoWindow/InformationsTab.as:521 -#: src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 +#: src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" msgstr "Durée moyenne des segments" -#: src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "sur" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 +#: src/InfoWindow/InformationsTab.as:571 +#: src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 #: src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "Auteurs" -#: src/InfoWindow/InformationsTab.as:525 -#: src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 +#: src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "Date" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "Vue" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "Critère" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "Sommaire" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "Segments" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "Marqueurs" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "Tous" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "Confirmez-vous la suppression du découpage ?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "copie" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "Démarrer la prise de notes" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "Mettre un séparateur (Shift + Enter)" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 +#: src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "Créer un découpage à partir de ces notes" -#: src/InfoWindow/NoteTakingTab.as:169 -msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "Le time code courant du média doit être supérieur à celui de votre dernier séparateur." +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "Ces notes ne sont pas sauvegardées tant que vous ne cliquez pas sur" + +#: src/InfoWindow/NoteTakingTab.as:232 +msgid "The media's current timecode must be superior to your last separator's" +"timecode." +msgstr "Le time code courant du média doit être supérieur à celui de votre dernier" +"séparateur." -#: src/InfoWindow/NoteTakingTab.as:169 -#: src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 -#: src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 -#: src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 -#: src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 +#: src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 +#: src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 +#: src/app/Python.as:51 +#: src/app/Python.as:58 +#: src/app/Python.as:69 +#: src/app/Python.as:163 +#: src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 +#: src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 +#: src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "Attention" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "Mes notes" -#: src/InfoWindow/NoteTakingTab.as:233 -#: src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 +#: src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "Découpages personnels" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "Aucun contenu n'est sélectionné pour ces notes." -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "Médias du projet" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "Voulez-vous vraiment retirer ce contenu de votre projet ?" @@ -352,249 +401,319 @@ msgid "Save the current display" msgstr "Enregistrer l'affichage actuel" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "Sauvegardes de l'état d'affichage :" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "Nouvelle vue" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "Supprimer la vue sélectionnée" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "Enregistrer l'affichage actuel dans la vue sélectionnée" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "Confirmez-vous la suppression de cette vue ?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "Vue sans nom" -#: src/LignesDeTempsFlex.mxml:118 -#: src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "Si vous continuez, le commentaire enregistré sera archivé.\n" +"Continuer ?" + +#: src/LignesDeTempsFlex.mxml:172 +#: src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "Chargement" -#: src/LignesDeTempsFlex.mxml:253 -#: src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 -#: src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "Tags sélectionnés" +#: src/LignesDeTempsFlex.mxml:352 +msgid "No project file is defined. You need to define a project file to save your" +"datas." +msgstr "Aucun fichier projet n'est défini. Vous devez définir un fichier projet pour" +"sauvegarder vos données." -#: src/LignesDeTempsFlex.mxml:278 -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "Aucun fichier projet n'est défini. Vous devez définir un fichier projet pour sauvegarder vos données." - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "Enregistrer le projet dans" - -#: src/LignesDeTempsFlex.mxml:290 -#: src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "Fichier" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "Projet en lecture seule" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "Enregistrer le projet" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "Enregistrer le projet dans" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "Exporter le projet au format cinelab .cxp" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "Exporter le projet au format .ldt" + +#: src/LignesDeTempsFlex.mxml:378 +msgid "Save the project in cinelab format as..." +msgstr "Enregistrer le projet au format cinelab sous..." + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "Nouveau Projet" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" -msgstr "Ouvrir un projet (.ldt)" +#: src/LignesDeTempsFlex.mxml:382 +msgid "Open a project (.ldt or .cxp)" +msgstr "Ouvrir un projet (.ldt ou .cxp)" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "Enregistrer le projet sous..." -#: src/LignesDeTempsFlex.mxml:309 +#: src/LignesDeTempsFlex.mxml:388 #: src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "Importer un nouveau média" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "Ouvrir une description (fichier .iri)" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "Importer des découpages depuis un autre fichier .ldt" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "Quitter" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "Médias" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "Librairie" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "Affichage" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "Plein écran" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "Replacer les fenêtres" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "Afficher tous les tags du projet" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "Afficher/Effacer l'affichage polémique" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "Se souvenir de la langue sélectionnée" -#: src/LignesDeTempsFlex.mxml:372 +#: src/LignesDeTempsFlex.mxml:451 #: src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "Aide" -#: src/LignesDeTempsFlex.mxml:373 +#: src/LignesDeTempsFlex.mxml:452 #: src/tools/AboutPanel.mxml:13 msgid "About" msgstr "A propos" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "Voir le contenu du fichier projet .ldt" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "Voir le contenu du fichier cinelab .cxp" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "Debug visible" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "Le plein écran n'est pas autorisé." -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "Cliquer sur le tag pour effacer la surbrillance" +#: src/LignesDeTempsFlex.mxml:768 +#: src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 +#: src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "Tags sélectionnés" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:791 msgid "Please select a media before importing cuttings." msgstr "Sélectionnez un media avant d'importer des découpages." +#: src/LignesDeTempsFlex.mxml:872 +msgid "Ldt file content" +msgstr "Contenu du fichier projet .ldt" + +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "Copier le code dans le presse-papier" + +#: src/LignesDeTempsFlex.mxml:874 +msgid "Copy" +msgstr "Copier" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "Sauvegarder dans un fichier" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "Vous allez quitter sans enregistrer.\n" +"Voulez-vous sauvegarder votre travail une dernière fois ?" + +#: src/app/Communication.as:198 +msgid "SAVING" +msgstr "SAUVEGARDE" + #: src/app/Python.as:49 msgid "Lost connection" msgstr "Connexion perdue" -#: src/app/Python.as:49 -#: src/app/Python.as:54 -#: src/app/Python.as:64 -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "Vos données ne peuvent plus être sauvegardées. Fermez et relancez Lignes de temps." +#: src/app/Python.as:50 +#: src/app/Python.as:57 +#: src/app/Python.as:68 +msgid "Your datas can not be saved anymore. Please close and restart Lignes de" +"temps." +msgstr "Vos données ne peuvent plus être sauvegardées. Fermez et relancez Lignes de" +"temps." -#: src/app/Python.as:54 -#: src/app/Python.as:64 -#: src/app/Python.as:200 +#: src/app/Python.as:51 +#: src/app/Python.as:58 +#: src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "Cliquer OK pour sauvegarder votre travail une dernière fois." + +#: src/app/Python.as:56 +#: src/app/Python.as:67 +#: src/app/Python.as:163 msgid "Connection Problem" msgstr "Problème de connexion" -#: src/app/XMLInOut.as:116 -#: src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 +#: src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "Impossible de charger le fichier" -#: src/app/XMLInOut.as:116 -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 +#: src/app/XMLInOut.as:277 +#: src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 +#: src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "Erreur" -#: src/app/XMLInOut.as:221 -#: src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 +#: src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "Votre fichier projet est introuvable, veuillez indiquer son emplacement." -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "Forme d'onde" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "Forme d'onde (tracé) du signal sonore" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "Couleur dominante" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "Tracé de la couleur dominante du flux vidéo" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "Chargement de l'image" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "Identifiant de contenu inconnu" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "Ajouter le découpage (Shift + E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "Mon découpage" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "Ouvrir ou fermer un segment (Shift + Espace)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "Ajouter un marqueur (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "Changer la couleur d'un segment ou d'un marqueur" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "Supprimer le segment sélectionné (Shift + Suppr)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "Scinder le segment (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "Segments liés" -#: src/sequencer/tools/create/TLUser.mxml:101 -msgid "If this box is checked, the end of a segment is also the beginning of the next one" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "If this box is checked, the end of a segment is also the beginning of the" +"next one" msgstr "Si cette case est cochée, la fin d'un segment correspond au début du suivant" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "Vous ne pouvez pas recouvrir un segment déjà existant." -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "Confirmez-vous la suppression du segment ?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "Vous ne pouvez pas poser de marqueur au milieu d'un segment déjà existant." @@ -649,12 +768,16 @@ msgid "Play the bout à bout (edit)" msgstr "Lire le bout à bout" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +msgid "Hide the Bout à bout" +msgstr "Masquer le Bout à bout" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "Confirmez-vous la suppression du segment ?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "Segment ajouté à" @@ -735,15 +858,94 @@ msgid "Import running. This operation can last several minutes." msgstr "Traitement de l'import. Cette opération peut durer plusieurs minutes." -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "Caractères non autorisés, le nom de fichier doit contenir seulement 0-9 a-z" +"A-Z" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." msgstr "Il faut indiquer au moins le titre et l'auteur pour lancer l'import." +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "Niveau d'enregistrement:" + +#: src/tools/MicRecord.mxml:134 +msgid "You are about to erase the current recording. \n" +" Go on ?" +msgstr "Vous allez effacer l'enregistrement courant.\n" +"Voulez-vous continuer ?" + +#: src/tools/MicRecord.mxml:219 +msgid "You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "Vous allez perdre l'annotation enregistrée.\n" +"Voulez-vous continuer ?" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "Offset" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "Déplacer les annotations jusqu'au timecode courant" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "Saisir la valeur de l'offset" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "Positif" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "Négatif" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "Appliquer" + #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "Lecture/Pause de l'annotation audio" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:125 msgid "Audio annotation error" msgstr "Erreur pour l'annotation audio" +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "Trier les tags par ordre alphabétique" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "Trier les tags par poids descendant" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "Trier les tags par poids ascendant" + +#: src/tools/TagsPanel.mxml:64 +#: src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +msgid "List display" +msgstr "Affichage par liste" + +#: src/tools/TagsPanel.mxml:165 +msgid "Cloud display" +msgstr "Affichage par nuage" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "Copier l'intégralité du texte" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "occurences" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "occurence" + diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/ja/messages.mo Binary file web/static/ldt/swf/ldt/pkg/i18n/ja/messages.mo has changed diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/ja/messages.po --- a/web/static/ldt/swf/ldt/pkg/i18n/ja/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/swf/ldt/pkg/i18n/ja/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:02+0100\n" +"POT-Creation-Date: 2011-02-25 16:32+0100\n" "PO-Revision-Date: 2009-03-30 22:58+0900\n" "Last-Translator: Takuya Abe \n" "Language-Team: LANGUAGE \n" @@ -15,298 +15,343 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" -msgstr "ラフ編集(bout à bout)を選択" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" +msgstr "選択中のラフ編集(bout à bout)を削除" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "新規ラフ編集" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "選択中のラフ編集(bout à bout)を削除" - -#: src/InfoWindow/BoutABoutTab.as:80 src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:54 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "タイトル" -#: src/InfoWindow/BoutABoutTab.as:95 src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:151 +#: src/InfoWindow/InformationsTab.as:435 src/InfoWindow/InformationsTab.as:561 +#: src/InfoWindow/InformationsTab.as:593 src/InfoWindow/InformationsTab.as:596 +#: src/InfoWindow/ProjectTab.as:85 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "説明" -#: src/InfoWindow/BoutABoutTab.as:163 src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:844 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:301 +#: src/LignesDeTempsFlex.mxml:955 src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "はい" -#: src/InfoWindow/BoutABoutTab.as:164 src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:845 +#: src/InfoWindow/ProjectTab.as:187 src/InfoWindow/ViewsTab.as:302 +#: src/LignesDeTempsFlex.mxml:956 src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "いいえ" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "本当にこのラフ編集(bout à bout)を削除してよろしいですか?" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:130 msgid "List" msgstr "リスト" -#: src/InfoWindow/CuttingsTab.as:118 src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:141 src/sequencer/ui/Content.as:97 msgid "New cutting" msgstr "新規タイムライン" -#: src/InfoWindow/CuttingsTab.as:134 src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:153 src/sequencer/tools/create/TLUser.mxml:78 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "タイムラインのタイトル" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:166 msgid "Cutting's description" msgstr "タイムラインの説明" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:183 msgid "Marks and segments" msgstr "セグメントとマーカー" -#: src/InfoWindow/CuttingsTab.as:166 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:185 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "開始点" -#: src/InfoWindow/CuttingsTab.as:178 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:198 src/InfoWindow/InformationsTab.as:443 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "終点" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:211 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "セグメントのタイトル" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:226 msgid "Segment's description" msgstr "セグメントの説明" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:240 msgid "Tags (separated by a comma)" msgstr "タグ(半角コンマで区切る)" -#: src/InfoWindow/CuttingsTab.as:237 src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:258 src/InfoWindow/CuttingsTab.as:646 +#: src/InfoWindow/CuttingsTab.as:651 msgid "Timeline's tags" msgstr "タイムライン内のタグ一覧" -#: src/InfoWindow/CuttingsTab.as:243 src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:264 src/InfoWindow/InformationsTab.as:155 msgid "Previous" msgstr "前へ" -#: src/InfoWindow/CuttingsTab.as:252 src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:273 src/InfoWindow/InformationsTab.as:164 msgid "Next" msgstr "次へ" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:295 msgid "Audio annotation" -msgstr "" +msgstr "音声アノテーション" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." -msgstr "" +#: src/InfoWindow/CuttingsTab.as:297 +msgid "Choose a mp3 file." +msgstr "MP3を付ける" -#: src/InfoWindow/CuttingsTab.as:280 +#: src/InfoWindow/CuttingsTab.as:304 src/InfoWindow/ViewsTab.as:139 +msgid "Record audio comment" +msgstr "音声コメントを録音" + +#: src/InfoWindow/CuttingsTab.as:318 #: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 msgid "Browse..." msgstr "ファイルを選択..." -#: src/InfoWindow/InfoWindow.as:110 +#: src/InfoWindow/CuttingsTab.as:327 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "マイク・レコーダー" + +#: src/InfoWindow/CuttingsTab.as:654 +#, fuzzy +msgid "Project's tags" +msgstr "プロジェクトが参照中のメディア" + +#: src/InfoWindow/CuttingsTab.as:702 +msgid "" +"If you go on, the recorded annotation will be archived. \n" +" Go on ?" +msgstr "" +"この操作を続けると、録音されたアノテーションはアーカイブされます。 \n" +" 続けますか?" + +#: src/InfoWindow/CuttingsTab.as:702 src/InfoWindow/CuttingsTab.as:822 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:397 +#: src/LignesDeTempsFlex.mxml:957 src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:822 +msgid "" +"If you go on, the recorded annotation will be lost. \n" +" Go on ?" +msgstr "" +"この操作を続けると、録音されたアノテーションは失われます。 \n" +" 続けますか?" + +#: src/InfoWindow/InfoWindow.as:111 msgid "Project" msgstr "プロジェクト" -#: src/InfoWindow/InfoWindow.as:116 +#: src/InfoWindow/InfoWindow.as:117 msgid "Cuttings" msgstr "タイムライン" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:123 msgid "Informations" msgstr "情報" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:128 +#: src/sequencer/tools/edit/BoutABout.mxml:902 +#: src/sequencer/tools/edit/BoutABout.mxml:903 +#: src/sequencer/tools/edit/BoutABout.mxml:910 +#: src/sequencer/tools/edit/BoutABout.mxml:911 +#: src/sequencer/tools/edit/BoutABout.mxml:1055 +#: src/sequencer/tools/edit/BoutABout.mxml:1056 +#: src/sequencer/tools/edit/BoutABout.mxml:1146 msgid "Bout à bout" msgstr "ラフ編集" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:136 msgid "Views" msgstr "表示設定" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:143 msgid "Note-taking" msgstr "ノート" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:177 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "修正" -#: src/InfoWindow/InformationsTab.as:178 src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:183 src/InfoWindow/ProjectTab.as:167 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "削除" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "複製" -#: src/InfoWindow/InformationsTab.as:190 src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:197 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "すべてのタイムラインのセグメントのハイライトを解除" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:212 #, fuzzy msgid "Duplicate only the highlighted segments" msgstr "ハイライトされたセグメントからラフ編集(bout à bout)を作成" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" -msgstr "このタイムラインのセグメントのハイライトを解除" +#: src/InfoWindow/InformationsTab.as:221 +msgid "Apply an offset" +msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:230 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "タイムラインの中の全セグメントからラフ編集(bout à bout)を作成" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:237 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "ハイライトされたセグメントからラフ編集(bout à bout)を作成" -#: src/InfoWindow/InformationsTab.as:232 -msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" -msgstr "すべてのタイムライン上のハイライトされたセグメントからテスト編集(bout à bout)を作成" +#: src/InfoWindow/InformationsTab.as:244 +msgid "" +"Create a bout à bout (edit) from all the timelines's highlighted segments" +msgstr "" +"すべてのタイムライン上のハイライトされたセグメントからテスト編集(bout à " +"bout)を作成" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:252 msgid "See all the segments' titles and descriptions in one text" -msgstr "" +msgstr "全てのセグメントのタイトルとディスクリプションを1つのテキストとして見る" -#: src/InfoWindow/InformationsTab.as:397 src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:441 src/InfoWindow/InformationsTab.as:570 +#: src/InfoWindow/InformationsTab.as:604 msgid "Duration" msgstr "持続" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:448 msgid "Indexation" msgstr "インデキシング" -#: src/InfoWindow/InformationsTab.as:517 src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:563 src/InfoWindow/InformationsTab.as:599 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "エレメント番号" -#: src/InfoWindow/InformationsTab.as:521 src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:567 src/InfoWindow/InformationsTab.as:602 msgid "Average length of segments" -msgstr "" +msgstr "セグメントの長さの平均値" -#: src/InfoWindow/InformationsTab.as:524 src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:570 src/InfoWindow/InformationsTab.as:599 +#: src/InfoWindow/InformationsTab.as:604 msgid "on" msgstr "オン" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 +#: src/InfoWindow/ProjectTab.as:69 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "作成者" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:571 src/InfoWindow/InformationsTab.as:605 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "日付" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:592 msgid "View" msgstr "表示" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:594 msgid "Criterion" msgstr "判断基準" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:609 msgid "Summary" msgstr "概要" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:610 msgid "Segments" msgstr "セグメント" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:611 msgid "Marks" msgstr "マーカー" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:612 msgid "All" msgstr "すべて" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:847 msgid "Do you confirm you delete the cutting ?" msgstr "本当にこのタイムラインを削除してよろしいですか?" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:909 msgid "copy" msgstr "コピー" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "ノートの執筆を開始" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "区切りを入れる" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "このノートからタイムラインを作成" -#: src/InfoWindow/NoteTakingTab.as:169 +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "ノートは、タイムラインに変換しないと保存されません。ノート執筆後は、忘れずに以下のボタンを押してください:" + +#: src/InfoWindow/NoteTakingTab.as:232 #, fuzzy msgid "The media's current timecode must be superior to your last separator's timecode." -msgstr "メディアの現在のタイムコードはあなたが最後に作成した区切りのタイムコードよりも優先される必要があります" +msgstr "メディアの現在のタイムコードはあなたが最後に作成した区切りのタイムコードよりも優先されます" -#: src/InfoWindow/NoteTakingTab.as:169 src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 src/app/Python.as:49 src/app/Python.as:54 -#: src/app/Python.as:64 src/app/Python.as:200 src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:352 src/LignesDeTempsFlex.mxml:646 +#: src/LignesDeTempsFlex.mxml:791 src/app/Python.as:51 src/app/Python.as:58 +#: src/app/Python.as:69 src/app/Python.as:163 src/media/ExternalPlayer.as:279 +#: src/media/ExternalPlayer.as:296 src/sequencer/Sequencer.mxml:231 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:724 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "注意" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "マイノート" -#: src/InfoWindow/NoteTakingTab.as:233 src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1085 +#: src/sequencer/tools/create/TLUser.mxml:1146 msgid "Personnal cuttings" msgstr "みんなのタイムライン" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "ノートするためのコンテンツが選択されていません" -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:101 msgid "Project's medias" msgstr "プロジェクトが参照中のメディア" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:188 msgid "Do you really want to take this content out of your project ?" msgstr "本当にこのコンテンツをプロジェクトから除外してよろしいですか?" @@ -318,240 +363,309 @@ msgid "Save the current display" msgstr "現在の表示設定を保存" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:84 msgid "Saved display states :" msgstr "保存済みの表示設定 :" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:117 msgid "New view" msgstr "新規表示設定" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:124 msgid "Delete the selected view" msgstr "選択中の表示設定を削除" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:131 msgid "Save the current display in the selected view" msgstr "現在のウィンドウの状態を、選択中の表示設定に上書きして保存" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:303 msgid "Do you confirm you delete this view ?" msgstr "本当にこの表示設定を削除してよろしいですか?" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:333 msgid "No name view" msgstr "名称未設定の表示設定" -#: src/LignesDeTempsFlex.mxml:118 src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:397 +msgid "" +"If you go on, the recorded comment will be archived. \n" +" Go on ?" +msgstr "" +"この操作を続けると、記録されたコメントはアーカイブされます。 \n" +" 続けますか?" + +#: src/LignesDeTempsFlex.mxml:172 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "読み込み中..." -#: src/LignesDeTempsFlex.mxml:253 src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "選択されたタグ" +#: src/LignesDeTempsFlex.mxml:352 +msgid "" +"No project file is defined. You need to define a project file to save your " +"datas." +msgstr "" +"プロジェクトファイルが指定されていません。保存するためにはプロジェクトファイ" +"ルを指定する必要があります" -#: src/LignesDeTempsFlex.mxml:278 -#, fuzzy -msgid "No project file is defined. You need to define a project file to save your datas." -msgstr "プロジェクトファイルが指定されていません。保存するためにはプロジェクトファイルを指定する必要があります" - -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "プロジェクトを上書き保存" - -#: src/LignesDeTempsFlex.mxml:290 src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:362 src/LignesDeTempsFlex.mxml:368 +#: src/LignesDeTempsFlex.mxml:380 msgid "File" msgstr "ファイル" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:363 msgid "Read only project" msgstr "読み出しのみ(書き込み不可)のプロジェクト" -#: src/LignesDeTempsFlex.mxml:297 -#, fuzzy +#: src/LignesDeTempsFlex.mxml:369 msgid "Save the project" msgstr "プロジェクトを上書き保存" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:375 +msgid "Save the project in" +msgstr "プロジェクトを上書き保存" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in cinelab format" +msgstr "プロジェクトをcinelab形式で書き出す" + +#: src/LignesDeTempsFlex.mxml:377 +msgid "Export the project in ldt format" +msgstr "プロジェクトをldt形式で書き出す" + +#: src/LignesDeTempsFlex.mxml:378 +msgid "Save the project in cinelab format as..." +msgstr "プロジェクトをcinelab形式にして別名で保存" + +#: src/LignesDeTempsFlex.mxml:381 msgid "New project" msgstr "新規プロジェクト" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" -msgstr "プロジェクト (.ldt) を開く" +#: src/LignesDeTempsFlex.mxml:382 +msgid "Open a project (.ldt or .cxp)" +msgstr "プロジェクト (.ldt or .cxp) を開く" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:384 msgid "Save the project as..." msgstr "プロジェクトを別名で保存" -#: src/LignesDeTempsFlex.mxml:309 src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:388 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "新規メディアのインポート" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:389 msgid "Open a description (.iri file)" msgstr "ディスクリプション (.iri) を開く" -#: src/LignesDeTempsFlex.mxml:311 -#, fuzzy +#: src/LignesDeTempsFlex.mxml:390 msgid "Import cuttings from an other .ldt file" msgstr "このノートからタイムラインを作成" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:392 msgid "Quit" msgstr "終了" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:404 msgid "Medias" msgstr "メディア" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:409 msgid "Library" msgstr "ライブラリ" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:432 msgid "Display" msgstr "表示" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:433 msgid "Fullscreen" msgstr "フルスクリーン" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:434 msgid "Replace windows" msgstr "ウィンドウの整列" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:435 msgid "Display all the project's tags" msgstr "このプロジェクトのタグをすべて表示" -#: src/LignesDeTempsFlex.mxml:362 -#, fuzzy +#: src/LignesDeTempsFlex.mxml:436 +msgid "Display/Remove polemic datas" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:441 msgid "Remember the selected language" msgstr "選択中の表示設定を削除" -#: src/LignesDeTempsFlex.mxml:372 src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:451 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "ヘルプ" -#: src/LignesDeTempsFlex.mxml:373 src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:452 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "Lignes de tempsについて" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:454 +msgid "Show the .ldt project file's content" +msgstr "この.ldtプロジェクトファイルのコードを表示" + +#: src/LignesDeTempsFlex.mxml:455 +msgid "Show the cinelab file's content" +msgstr "このcinelabプロジェクトファイルのコードを表示" + +#: src/LignesDeTempsFlex.mxml:457 +msgid "Debug textfield" +msgstr "テキストフィールドをデバッグ" + +#: src/LignesDeTempsFlex.mxml:646 msgid "The fullscreen mode is not allowed." msgstr "フルスクリーンモードは許可されていません" -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" -msgstr "タグをクリックしてハイライトを解除" +#: src/LignesDeTempsFlex.mxml:768 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" +msgstr "選択されたタグ" + +#: src/LignesDeTempsFlex.mxml:791 +msgid "Please select a media before importing cuttings." +msgstr "タイムラインをインポートする前にメディアを選択してください" + +#: src/LignesDeTempsFlex.mxml:872 +msgid "Ldt file content" +msgstr "Ldtファイルのコンテンツ" -#: src/LignesDeTempsFlex.mxml:730 -msgid "Please select a media before importing cuttings." +#: src/LignesDeTempsFlex.mxml:873 +msgid "Copy the code to the clipboard" +msgstr "このコードをクリップボードにコピー" + +#: src/LignesDeTempsFlex.mxml:874 +msgid "Copy" +msgstr "コピー" + +#: src/LignesDeTempsFlex.mxml:876 +msgid "Save into a file" +msgstr "ファイルに保存" + +#: src/LignesDeTempsFlex.mxml:957 +msgid "" +"You are about to quit without saving.\n" +"Do you want to save your work one last time ?" +msgstr "" + +#: src/app/Communication.as:198 +msgid "SAVING" msgstr "" #: src/app/Python.as:49 msgid "Lost connection" msgstr "コネクションのロスト" -#: src/app/Python.as:49 src/app/Python.as:54 src/app/Python.as:64 -#, fuzzy -msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." -msgstr "これ以上データを保存できません。Lignes de tempsを終了して再起動してください" +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "" +"Your datas can not be saved anymore. Please close and restart Lignes de " +"temps." +msgstr "" +"これ以上データを保存できません。Lignes de tempsを終了して再起動してください" -#: src/app/Python.as:54 src/app/Python.as:64 src/app/Python.as:200 +#: src/app/Python.as:51 src/app/Python.as:58 src/app/Python.as:69 +msgid "Click OK to save your work a last time." +msgstr "最後にあなたの作業をセーブするために「OK」を押してください" + +#: src/app/Python.as:56 src/app/Python.as:67 src/app/Python.as:163 msgid "Connection Problem" msgstr "コネクションに問題" -#: src/app/XMLInOut.as:116 src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:135 src/media/FLVPlaybackCaptioningLDT.as:45 +#: src/tools/SimpleMp3Player.as:125 msgid "Impossible to load the file" msgstr "ファイルが読み込めません" -#: src/app/XMLInOut.as:116 src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:135 src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 +#: src/app/XMLInOut.as:1678 src/media/FLVPlaybackCaptioningLDT.as:45 msgid "Error" msgstr "エラー" -#: src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:277 src/app/XMLInOut.as:1024 msgid "Your project file was not found. Please locate it." msgstr "プロジェクトファイルが見つかりません。ファイルの場所を指定してください" -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:493 msgid "Wave form" msgstr "波形" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:494 msgid "Wave form of the sound track" msgstr "音声トラックの波形" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:504 msgid "Color signal" msgstr "色信号" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:505 msgid "Drawing of the video stream's main color" msgstr "ビデオストリームの主要色の描画" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:712 msgid "Loading picture" msgstr "ピクチャの読み込み" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:231 msgid "Unknown content identifier" msgstr "不明なコンテンツ識別子" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:74 msgid "Add the cutting (Shift + E)" msgstr "このタイムラインを追加 (Shift + E)" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:79 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "マイ・タイムライン" -#: src/sequencer/tools/create/TLUser.mxml:87 +#: src/sequencer/tools/create/TLUser.mxml:85 msgid "Open or close a segment (Shift + Space)" msgstr "セグメントの開閉 (Shift + Space)" -#: src/sequencer/tools/create/TLUser.mxml:89 +#: src/sequencer/tools/create/TLUser.mxml:87 msgid "Add a mark (Shift + M)" msgstr "マーカーを追加 (Shift + M)" -#: src/sequencer/tools/create/TLUser.mxml:91 +#: src/sequencer/tools/create/TLUser.mxml:89 msgid "Change the segment or mark's color" msgstr "セグメントやマーカーのカラーを変更" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "選択中のセグメントを削除 (Shift + Del)" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "セグメントの分割 (Shift + X)" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "リンク付けされたセグメント" -#: src/sequencer/tools/create/TLUser.mxml:101 -#, fuzzy -msgid "If this box is checked, the end of a segment is also the beginning of the next one" -msgstr "このチェックボックスをオンにすると、セグメントの終点が自動で次のセグメントの開始点になります" +#: src/sequencer/tools/create/TLUser.mxml:99 +msgid "" +"If this box is checked, the end of a segment is also the beginning of the " +"next one" +msgstr "" +"このチェックボックスをオンにすると、セグメントの終点が自動で次のセグメントの" +"開始点になります" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:720 msgid "You can not cover a segment." msgstr "すでにあるセグメントを覆うようなセグメントは作成できません" -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "本当にこのセグメントを削除してよろしいですか?" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:708 msgid "You can not add a mark in the middle of a segment." msgstr "セグメントの内側にマーカーを置くことはできません" @@ -606,12 +720,16 @@ msgid "Play the bout à bout (edit)" msgstr "ラフ編集(bout à bout)を再生" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +msgid "Hide the Bout à bout" +msgstr "ラフ編集" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "本当にこのセグメントを削除してよろしいですか?" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "セグメントを追加" @@ -633,15 +751,15 @@ #: src/tools/HelpPanel.mxml:16 msgid "English" -msgstr "" +msgstr "英語" #: src/tools/HelpPanel.mxml:18 msgid "French" -msgstr "" +msgstr "フランス語" #: src/tools/HelpPanel.mxml:20 msgid "Japanese" -msgstr "" +msgstr "日本語" #: src/tools/HelpPanel.mxml:57 msgid "The link opens a new window or a new tab." @@ -652,25 +770,23 @@ msgstr "リンクがナビゲータを開きます" #: src/tools/ImportCuttings.mxml:14 -#, fuzzy msgid "Import" msgstr "メディアのインポート..." #: src/tools/ImportCuttings.mxml:16 msgid "Content's id" -msgstr "" +msgstr "コンテンツID" #: src/tools/ImportCuttings.mxml:50 msgid "Import cuttings in" -msgstr "" +msgstr "タイムラインを以下にインポート:" #: src/tools/ImportCuttings.mxml:79 #, csharp-format msgid "Do you want to import {0} cuttings in {1} ?" -msgstr "" +msgstr " {1} の中にタイムライン {0} をインポートしますか?" #: src/tools/ImportCuttings.mxml:79 -#, fuzzy msgid "Confirmation" msgstr "情報" @@ -694,14 +810,98 @@ msgid "Import running. This operation can last several minutes." msgstr "インポートの実行中...(この処理には時間がかかることがあります)" -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "使用不可能文字な文字を含んでいます。使用できるのは半角数字の0-9、半角英数のa-z、A-Zのみです" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." -msgstr "インポートを実行するにはタイトルと作成者の入力が必須です" +msgstr "インポートを実行する前にタイトルと作成者を入力してください" + +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "録音サウンドのレベル" + +#: src/tools/MicRecord.mxml:134 +msgid "" +"You are about to erase the current recording. \n" +" Go on ?" +msgstr "" +"現在のレコーディングを消去しようとしています。 \n" +" 続けますか?" + +#: src/tools/MicRecord.mxml:219 +msgid "" +"You are about to lose the recorded annotation. \n" +" Do you want to save it ?" +msgstr "" +"操作を続けると録音したアノテーションは失われます。 \n" +" 失われないようにセーブしますか?" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" -msgstr "" +msgstr "音声アノテーションを再生/停止" + +#: src/tools/SimpleMp3Player.as:125 +msgid "Audio annotation error" +msgstr "音声アノテーション・エラー" + +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "タグをアルファベット順でソート" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "タグを使われている数が多い順で整頓" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "タグを使われている数が少ない順で整頓" -#: src/tools/SimpleMp3Player.as:121 -msgid "Audio annotation error" -msgstr "" +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +msgid "List display" +msgstr "リスト表示" + +#: src/tools/TagsPanel.mxml:165 +msgid "Cloud display" +msgstr "クラウド表示" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "全文をコピー" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "出現" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr "出現" + +#~ msgid "Unhighlight this timeline's segments" +#~ msgstr "このタイムラインのセグメントのハイライトを解除" diff -r 5cba2808cde0 -r 2e2989c3072c web/static/ldt/swf/ldt/pkg/i18n/messages.po --- a/web/static/ldt/swf/ldt/pkg/i18n/messages.po Thu Feb 17 18:43:37 2011 +0100 +++ b/web/static/ldt/swf/ldt/pkg/i18n/messages.po Wed Mar 23 17:34:36 2011 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-08 13:02+0100\n" +"POT-Creation-Date: 2010-08-04 12:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,116 +16,134 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/InfoWindow/BoutABoutTab.as:51 -msgid "Choose one of your bout à bout (edits)" +#: src/InfoWindow/BoutABoutTab.as:58 +msgid "Delete the selected bout à bout (edit)" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:66 +#: src/InfoWindow/BoutABoutTab.as:65 #: src/sequencer/tools/edit/BoutABout.mxml:116 msgid "New bout à bout (edit)" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:73 -msgid "Delete the selected bout à bout (edit)" -msgstr "" - -#: src/InfoWindow/BoutABoutTab.as:80 src/InfoWindow/ProjectTab.as:52 -#: src/sequencer/tools/create/TLUser.mxml:105 src/tools/ImportMedia.mxml:43 +#: src/InfoWindow/BoutABoutTab.as:71 src/InfoWindow/ProjectTab.as:53 +#: src/sequencer/tools/create/TLUser.mxml:103 src/tools/ImportMedia.mxml:43 msgid "Title" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:95 src/InfoWindow/CuttingsTab.as:132 -#: src/InfoWindow/InformationsTab.as:391 src/InfoWindow/InformationsTab.as:515 -#: src/InfoWindow/InformationsTab.as:547 src/InfoWindow/InformationsTab.as:550 -#: src/InfoWindow/ProjectTab.as:83 src/tools/ImportMedia.mxml:49 +#: src/InfoWindow/BoutABoutTab.as:99 src/InfoWindow/CuttingsTab.as:148 +#: src/InfoWindow/InformationsTab.as:403 src/InfoWindow/InformationsTab.as:528 +#: src/InfoWindow/InformationsTab.as:560 src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/ProjectTab.as:84 src/tools/ImportMedia.mxml:49 msgid "Description" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:163 src/InfoWindow/InformationsTab.as:791 -#: src/InfoWindow/ProjectTab.as:181 src/InfoWindow/ViewsTab.as:245 -#: src/sequencer/tools/create/TLUser.mxml:434 -#: src/sequencer/tools/edit/BoutABout.mxml:475 +#: src/InfoWindow/BoutABoutTab.as:173 src/InfoWindow/InformationsTab.as:807 +#: src/InfoWindow/ProjectTab.as:185 src/InfoWindow/ViewsTab.as:296 +#: src/sequencer/tools/create/TLUser.mxml:466 +#: src/sequencer/tools/edit/BoutABout.mxml:505 msgid "Yes" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:164 src/InfoWindow/InformationsTab.as:792 -#: src/InfoWindow/ProjectTab.as:182 src/InfoWindow/ViewsTab.as:246 -#: src/sequencer/tools/create/TLUser.mxml:435 -#: src/sequencer/tools/edit/BoutABout.mxml:476 +#: src/InfoWindow/BoutABoutTab.as:174 src/InfoWindow/InformationsTab.as:808 +#: src/InfoWindow/ProjectTab.as:186 src/InfoWindow/ViewsTab.as:297 +#: src/sequencer/tools/create/TLUser.mxml:467 +#: src/sequencer/tools/edit/BoutABout.mxml:506 msgid "No" msgstr "" -#: src/InfoWindow/BoutABoutTab.as:165 +#: src/InfoWindow/BoutABoutTab.as:175 msgid "Do you confirm you delete the bout à bout (edit) ?" msgstr "" -#: src/InfoWindow/CuttingsTab.as:108 +#: src/InfoWindow/CuttingsTab.as:124 msgid "List" msgstr "" -#: src/InfoWindow/CuttingsTab.as:118 src/sequencer/ui/Content.as:96 +#: src/InfoWindow/CuttingsTab.as:134 src/sequencer/ui/Content.as:96 msgid "New cutting" msgstr "" -#: src/InfoWindow/CuttingsTab.as:134 src/sequencer/tools/create/TLUser.mxml:81 +#: src/InfoWindow/CuttingsTab.as:150 src/sequencer/tools/create/TLUser.mxml:79 #: src/tools/ImportCuttings.mxml:18 msgid "Cutting's title" msgstr "" -#: src/InfoWindow/CuttingsTab.as:147 +#: src/InfoWindow/CuttingsTab.as:163 msgid "Cutting's description" msgstr "" -#: src/InfoWindow/CuttingsTab.as:164 +#: src/InfoWindow/CuttingsTab.as:180 msgid "Marks and segments" msgstr "" -#: src/InfoWindow/CuttingsTab.as:166 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:182 src/InfoWindow/InformationsTab.as:411 #: src/sequencer/tools/edit/AddTextPict.mxml:77 msgid "Begin" msgstr "" -#: src/InfoWindow/CuttingsTab.as:178 src/InfoWindow/InformationsTab.as:399 +#: src/InfoWindow/CuttingsTab.as:194 src/InfoWindow/InformationsTab.as:411 #: src/sequencer/tools/edit/AddTextPict.mxml:79 msgid "End" msgstr "" -#: src/InfoWindow/CuttingsTab.as:190 -#: src/sequencer/tools/create/TLUser.mxml:108 +#: src/InfoWindow/CuttingsTab.as:206 +#: src/sequencer/tools/create/TLUser.mxml:106 msgid "Segment's title" msgstr "" -#: src/InfoWindow/CuttingsTab.as:205 +#: src/InfoWindow/CuttingsTab.as:221 msgid "Segment's description" msgstr "" -#: src/InfoWindow/CuttingsTab.as:219 +#: src/InfoWindow/CuttingsTab.as:235 msgid "Tags (separated by a comma)" msgstr "" -#: src/InfoWindow/CuttingsTab.as:237 src/InfoWindow/CuttingsTab.as:582 +#: src/InfoWindow/CuttingsTab.as:253 src/InfoWindow/CuttingsTab.as:639 msgid "Timeline's tags" msgstr "" -#: src/InfoWindow/CuttingsTab.as:243 src/InfoWindow/InformationsTab.as:150 +#: src/InfoWindow/CuttingsTab.as:259 src/InfoWindow/InformationsTab.as:156 msgid "Previous" msgstr "" -#: src/InfoWindow/CuttingsTab.as:252 src/InfoWindow/InformationsTab.as:159 +#: src/InfoWindow/CuttingsTab.as:268 src/InfoWindow/InformationsTab.as:165 msgid "Next" msgstr "" -#: src/InfoWindow/CuttingsTab.as:273 +#: src/InfoWindow/CuttingsTab.as:289 msgid "Audio annotation" msgstr "" -#: src/InfoWindow/CuttingsTab.as:273 -msgid "choose a mp3 file." +#: src/InfoWindow/CuttingsTab.as:291 +msgid "Choose a mp3 file." +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:298 src/InfoWindow/ViewsTab.as:136 +msgid "Record audio comment" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:312 +#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 +msgid "Browse..." msgstr "" -#: src/InfoWindow/CuttingsTab.as:280 -#: src/sequencer/tools/edit/AddTextPict.mxml:65 src/tools/ImportMedia.mxml:41 -msgid "Browse..." +#: src/InfoWindow/CuttingsTab.as:321 src/tools/MicRecord.mxml:99 +msgid "Microphone Recorder" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:661 +msgid "If you go on, the recorded annotation will be archived. \n Go on ?" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:661 src/InfoWindow/CuttingsTab.as:779 +#: src/InfoWindow/NoteTakingTab.as:151 src/InfoWindow/ViewsTab.as:390 +#: src/tools/MicRecord.mxml:134 +msgid "Warning" +msgstr "" + +#: src/InfoWindow/CuttingsTab.as:779 +msgid "If you go on, the recorded annotation will be lost. \n Go on ?" msgstr "" #: src/InfoWindow/InfoWindow.as:110 @@ -136,176 +154,185 @@ msgid "Cuttings" msgstr "" -#: src/InfoWindow/InfoWindow.as:121 +#: src/InfoWindow/InfoWindow.as:122 msgid "Informations" msgstr "" -#: src/InfoWindow/InfoWindow.as:125 -#: src/sequencer/tools/edit/BoutABout.mxml:815 -#: src/sequencer/tools/edit/BoutABout.mxml:816 -#: src/sequencer/tools/edit/BoutABout.mxml:905 +#: src/InfoWindow/InfoWindow.as:126 +#: src/sequencer/tools/edit/BoutABout.mxml:872 +#: src/sequencer/tools/edit/BoutABout.mxml:873 +#: src/sequencer/tools/edit/BoutABout.mxml:880 +#: src/sequencer/tools/edit/BoutABout.mxml:881 +#: src/sequencer/tools/edit/BoutABout.mxml:1025 +#: src/sequencer/tools/edit/BoutABout.mxml:1026 +#: src/sequencer/tools/edit/BoutABout.mxml:1116 msgid "Bout à bout" msgstr "" -#: src/InfoWindow/InfoWindow.as:131 +#: src/InfoWindow/InfoWindow.as:132 msgid "Views" msgstr "" -#: src/InfoWindow/InfoWindow.as:136 +#: src/InfoWindow/InfoWindow.as:137 msgid "Note-taking" msgstr "" -#: src/InfoWindow/InformationsTab.as:172 +#: src/InfoWindow/InformationsTab.as:178 #: src/sequencer/tools/edit/AddTextPict.mxml:75 msgid "Modify" msgstr "" -#: src/InfoWindow/InformationsTab.as:178 src/InfoWindow/ProjectTab.as:162 +#: src/InfoWindow/InformationsTab.as:184 src/InfoWindow/ProjectTab.as:166 #: src/InfoWindow/ViewTreeItem.mxml:24 msgid "Delete" msgstr "" -#: src/InfoWindow/InformationsTab.as:184 +#: src/InfoWindow/InformationsTab.as:190 msgid "Duplicate" msgstr "" -#: src/InfoWindow/InformationsTab.as:190 src/LignesDeTempsFlex.mxml:619 +#: src/InfoWindow/InformationsTab.as:196 src/tools/TagsPanel.mxml:69 msgid "Unhighlight all the timelines's segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:204 +#: src/InfoWindow/InformationsTab.as:210 msgid "Duplicate only the highlighted segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:211 -msgid "Unhighlight this timeline's segments" +#: src/InfoWindow/InformationsTab.as:217 +msgid "Apply an offset" msgstr "" -#: src/InfoWindow/InformationsTab.as:218 +#: src/InfoWindow/InformationsTab.as:224 msgid "Create a bout à bout (edit) from the complete timeline" msgstr "" -#: src/InfoWindow/InformationsTab.as:225 +#: src/InfoWindow/InformationsTab.as:231 msgid "Create a bout à bout (edit) from the highlighted segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:232 +#: src/InfoWindow/InformationsTab.as:238 msgid "Create a bout à bout (edit) from all the timelines's highlighted segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:239 +#: src/InfoWindow/InformationsTab.as:245 msgid "See all the segments' titles and descriptions in one text" msgstr "" -#: src/InfoWindow/InformationsTab.as:397 src/InfoWindow/InformationsTab.as:524 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:409 src/InfoWindow/InformationsTab.as:537 +#: src/InfoWindow/InformationsTab.as:571 msgid "Duration" msgstr "" -#: src/InfoWindow/InformationsTab.as:404 +#: src/InfoWindow/InformationsTab.as:416 msgid "Indexation" msgstr "" -#: src/InfoWindow/InformationsTab.as:517 src/InfoWindow/InformationsTab.as:553 +#: src/InfoWindow/InformationsTab.as:530 src/InfoWindow/InformationsTab.as:566 #: src/tools/ImportCuttings.mxml:20 msgid "Nb elements" msgstr "" -#: src/InfoWindow/InformationsTab.as:521 src/InfoWindow/InformationsTab.as:556 +#: src/InfoWindow/InformationsTab.as:534 src/InfoWindow/InformationsTab.as:569 msgid "Average length of segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:524 src/InfoWindow/InformationsTab.as:553 -#: src/InfoWindow/InformationsTab.as:558 +#: src/InfoWindow/InformationsTab.as:537 src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:571 msgid "on" msgstr "" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 -#: src/InfoWindow/ProjectTab.as:67 src/tools/ImportMedia.mxml:45 +#: src/InfoWindow/InformationsTab.as:538 src/InfoWindow/InformationsTab.as:572 +#: src/InfoWindow/ProjectTab.as:68 src/tools/ImportMedia.mxml:45 msgid "Authors" msgstr "" -#: src/InfoWindow/InformationsTab.as:525 src/InfoWindow/InformationsTab.as:559 +#: src/InfoWindow/InformationsTab.as:538 src/InfoWindow/InformationsTab.as:572 #: src/tools/ImportMedia.mxml:47 msgid "Date" msgstr "" -#: src/InfoWindow/InformationsTab.as:546 +#: src/InfoWindow/InformationsTab.as:559 msgid "View" msgstr "" -#: src/InfoWindow/InformationsTab.as:548 +#: src/InfoWindow/InformationsTab.as:561 msgid "Criterion" msgstr "" -#: src/InfoWindow/InformationsTab.as:563 +#: src/InfoWindow/InformationsTab.as:576 msgid "Summary" msgstr "" -#: src/InfoWindow/InformationsTab.as:564 +#: src/InfoWindow/InformationsTab.as:577 msgid "Segments" msgstr "" -#: src/InfoWindow/InformationsTab.as:565 +#: src/InfoWindow/InformationsTab.as:578 msgid "Marks" msgstr "" -#: src/InfoWindow/InformationsTab.as:566 +#: src/InfoWindow/InformationsTab.as:579 msgid "All" msgstr "" -#: src/InfoWindow/InformationsTab.as:794 +#: src/InfoWindow/InformationsTab.as:810 msgid "Do you confirm you delete the cutting ?" msgstr "" -#: src/InfoWindow/InformationsTab.as:854 +#: src/InfoWindow/InformationsTab.as:872 msgid "copy" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:61 +#: src/InfoWindow/NoteTakingTab.as:70 msgid "Start note-taking" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:68 +#: src/InfoWindow/NoteTakingTab.as:77 msgid "Put a separator (Shift + Enter)" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:75 +#: src/InfoWindow/NoteTakingTab.as:84 src/InfoWindow/NoteTakingTab.as:151 msgid "Create a cutting from these notes" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 +#: src/InfoWindow/NoteTakingTab.as:151 +msgid "These notes will not be saved until you click on" +msgstr "" + +#: src/InfoWindow/NoteTakingTab.as:232 msgid "The media's current timecode must be superior to your last separator's timecode." msgstr "" -#: src/InfoWindow/NoteTakingTab.as:169 src/InfoWindow/NoteTakingTab.as:259 -#: src/LignesDeTempsFlex.mxml:278 src/LignesDeTempsFlex.mxml:530 -#: src/LignesDeTempsFlex.mxml:730 src/app/Python.as:49 src/app/Python.as:54 -#: src/app/Python.as:64 src/app/Python.as:200 src/sequencer/Sequencer.mxml:209 -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:692 -#: src/sequencer/tools/edit/BoutABout.mxml:477 src/tools/ImportMedia.mxml:124 +#: src/InfoWindow/NoteTakingTab.as:232 src/InfoWindow/NoteTakingTab.as:372 +#: src/LignesDeTempsFlex.mxml:290 src/LignesDeTempsFlex.mxml:584 +#: src/LignesDeTempsFlex.mxml:726 src/app/Python.as:50 src/app/Python.as:57 +#: src/app/Python.as:68 src/app/Python.as:147 src/sequencer/Sequencer.mxml:226 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:725 +#: src/sequencer/tools/edit/BoutABout.mxml:507 src/tools/ImportMedia.mxml:126 +#: src/tools/MicRecord.mxml:219 msgid "Attention" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:230 +#: src/InfoWindow/NoteTakingTab.as:312 msgid "My notes" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:233 src/app/XMLInOut.as:1058 -#: src/sequencer/tools/create/TLUser.mxml:1082 +#: src/InfoWindow/NoteTakingTab.as:322 src/app/XMLInOut.as:1052 +#: src/sequencer/tools/create/TLUser.mxml:1145 msgid "Personnal cuttings" msgstr "" -#: src/InfoWindow/NoteTakingTab.as:259 +#: src/InfoWindow/NoteTakingTab.as:372 msgid "No content is selected for these notes." msgstr "" -#: src/InfoWindow/ProjectTab.as:99 +#: src/InfoWindow/ProjectTab.as:100 msgid "Project's medias" msgstr "" -#: src/InfoWindow/ProjectTab.as:183 +#: src/InfoWindow/ProjectTab.as:187 msgid "Do you really want to take this content out of your project ?" msgstr "" @@ -317,234 +344,278 @@ msgid "Save the current display" msgstr "" -#: src/InfoWindow/ViewsTab.as:65 +#: src/InfoWindow/ViewsTab.as:83 msgid "Saved display states :" msgstr "" -#: src/InfoWindow/ViewsTab.as:93 +#: src/InfoWindow/ViewsTab.as:115 msgid "New view" msgstr "" -#: src/InfoWindow/ViewsTab.as:100 +#: src/InfoWindow/ViewsTab.as:122 msgid "Delete the selected view" msgstr "" -#: src/InfoWindow/ViewsTab.as:107 +#: src/InfoWindow/ViewsTab.as:129 msgid "Save the current display in the selected view" msgstr "" -#: src/InfoWindow/ViewsTab.as:247 +#: src/InfoWindow/ViewsTab.as:298 msgid "Do you confirm you delete this view ?" msgstr "" -#: src/InfoWindow/ViewsTab.as:268 +#: src/InfoWindow/ViewsTab.as:327 msgid "No name view" msgstr "" -#: src/LignesDeTempsFlex.mxml:118 src/media/FlvPlayer.as:172 +#: src/InfoWindow/ViewsTab.as:390 +msgid "If you go on, the recorded comment will be archived. \n Go on ?" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:125 src/media/FlvPlayer.as:174 #: src/tools/ImportMedia.mxml:57 msgid "Loading" msgstr "" -#: src/LignesDeTempsFlex.mxml:253 src/LignesDeTempsFlex.mxml:629 -#: src/LignesDeTempsFlex.mxml:646 src/LignesDeTempsFlex.mxml:694 -#: src/LignesDeTempsFlex.mxml:715 -msgid "Selected tags" -msgstr "" - -#: src/LignesDeTempsFlex.mxml:278 +#: src/LignesDeTempsFlex.mxml:290 msgid "No project file is defined. You need to define a project file to save your datas." msgstr "" -#: src/LignesDeTempsFlex.mxml:282 -msgid "Save the project in" -msgstr "" - -#: src/LignesDeTempsFlex.mxml:290 src/LignesDeTempsFlex.mxml:296 -#: src/LignesDeTempsFlex.mxml:303 +#: src/LignesDeTempsFlex.mxml:300 src/LignesDeTempsFlex.mxml:306 +#: src/LignesDeTempsFlex.mxml:318 msgid "File" msgstr "" -#: src/LignesDeTempsFlex.mxml:291 +#: src/LignesDeTempsFlex.mxml:301 msgid "Read only project" msgstr "" -#: src/LignesDeTempsFlex.mxml:297 +#: src/LignesDeTempsFlex.mxml:307 msgid "Save the project" msgstr "" -#: src/LignesDeTempsFlex.mxml:304 +#: src/LignesDeTempsFlex.mxml:313 +msgid "Save the project in" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:315 +msgid "Export the project in cinelab format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:315 +msgid "Export the project in ldt format" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:316 +msgid "Save the project in cinelab format as..." +msgstr "" + +#: src/LignesDeTempsFlex.mxml:319 msgid "New project" msgstr "" -#: src/LignesDeTempsFlex.mxml:305 -msgid "Open a project (.ldt)" +#: src/LignesDeTempsFlex.mxml:320 +msgid "Open a project (.ldt or .cxp)" msgstr "" -#: src/LignesDeTempsFlex.mxml:307 +#: src/LignesDeTempsFlex.mxml:322 msgid "Save the project as..." msgstr "" -#: src/LignesDeTempsFlex.mxml:309 src/tools/ImportMedia.mxml:37 +#: src/LignesDeTempsFlex.mxml:326 src/tools/ImportMedia.mxml:37 msgid "Import a new media" msgstr "" -#: src/LignesDeTempsFlex.mxml:310 +#: src/LignesDeTempsFlex.mxml:327 msgid "Open a description (.iri file)" msgstr "" -#: src/LignesDeTempsFlex.mxml:311 +#: src/LignesDeTempsFlex.mxml:328 msgid "Import cuttings from an other .ldt file" msgstr "" -#: src/LignesDeTempsFlex.mxml:313 +#: src/LignesDeTempsFlex.mxml:330 msgid "Quit" msgstr "" -#: src/LignesDeTempsFlex.mxml:325 +#: src/LignesDeTempsFlex.mxml:342 msgid "Medias" msgstr "" -#: src/LignesDeTempsFlex.mxml:330 +#: src/LignesDeTempsFlex.mxml:347 msgid "Library" msgstr "" -#: src/LignesDeTempsFlex.mxml:353 +#: src/LignesDeTempsFlex.mxml:370 msgid "Display" msgstr "" -#: src/LignesDeTempsFlex.mxml:354 +#: src/LignesDeTempsFlex.mxml:371 msgid "Fullscreen" msgstr "" -#: src/LignesDeTempsFlex.mxml:355 +#: src/LignesDeTempsFlex.mxml:372 msgid "Replace windows" msgstr "" -#: src/LignesDeTempsFlex.mxml:356 +#: src/LignesDeTempsFlex.mxml:373 msgid "Display all the project's tags" msgstr "" -#: src/LignesDeTempsFlex.mxml:362 +#: src/LignesDeTempsFlex.mxml:379 msgid "Remember the selected language" msgstr "" -#: src/LignesDeTempsFlex.mxml:372 src/tools/HelpPanel.mxml:12 +#: src/LignesDeTempsFlex.mxml:389 src/tools/HelpPanel.mxml:12 msgid "Help" msgstr "" -#: src/LignesDeTempsFlex.mxml:373 src/tools/AboutPanel.mxml:13 +#: src/LignesDeTempsFlex.mxml:390 src/tools/AboutPanel.mxml:13 msgid "About" msgstr "" -#: src/LignesDeTempsFlex.mxml:530 +#: src/LignesDeTempsFlex.mxml:392 +msgid "Show the .ldt project file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:393 +msgid "Show the cinelab file's content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:395 +msgid "Debug textfield" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:584 msgid "The fullscreen mode is not allowed." msgstr "" -#: src/LignesDeTempsFlex.mxml:618 -msgid "Click on the tag to unhighlight it" +#: src/LignesDeTempsFlex.mxml:703 src/tools/TagsPanel.mxml:66 +#: src/tools/TagsPanel.mxml:172 src/tools/TagsPanel.mxml:189 +#: src/tools/TagsPanel.mxml:244 +msgid "Selected tags" msgstr "" -#: src/LignesDeTempsFlex.mxml:730 +#: src/LignesDeTempsFlex.mxml:726 msgid "Please select a media before importing cuttings." msgstr "" -#: src/app/Python.as:49 +#: src/LignesDeTempsFlex.mxml:808 +msgid "Ldt file content" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:809 +msgid "Copy the code to the clipboard" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:810 +msgid "Copy" +msgstr "" + +#: src/LignesDeTempsFlex.mxml:812 +msgid "Save into a file" +msgstr "" + +#: src/app/Python.as:48 msgid "Lost connection" msgstr "" -#: src/app/Python.as:49 src/app/Python.as:54 src/app/Python.as:64 +#: src/app/Python.as:49 src/app/Python.as:56 src/app/Python.as:67 msgid "Your datas can not be saved anymore. Please close and restart Lignes de temps." msgstr "" -#: src/app/Python.as:54 src/app/Python.as:64 src/app/Python.as:200 +#: src/app/Python.as:50 src/app/Python.as:57 src/app/Python.as:68 +msgid "Click OK to save your work a last time." +msgstr "" + +#: src/app/Python.as:55 src/app/Python.as:66 src/app/Python.as:147 msgid "Connection Problem" msgstr "" -#: src/app/XMLInOut.as:116 src/tools/SimpleMp3Player.as:121 +#: src/app/XMLInOut.as:137 src/tools/SimpleMp3Player.as:124 msgid "Impossible to load the file" msgstr "" -#: src/app/XMLInOut.as:116 src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:137 src/app/XMLInOut.as:273 src/app/XMLInOut.as:992 msgid "Error" msgstr "" -#: src/app/XMLInOut.as:221 src/app/XMLInOut.as:1014 +#: src/app/XMLInOut.as:273 src/app/XMLInOut.as:992 msgid "Your project file was not found. Please locate it." msgstr "" -#: src/app/XMLInOut.as:439 +#: src/app/XMLInOut.as:483 msgid "Wave form" msgstr "" -#: src/app/XMLInOut.as:440 +#: src/app/XMLInOut.as:484 msgid "Wave form of the sound track" msgstr "" -#: src/app/XMLInOut.as:450 +#: src/app/XMLInOut.as:494 msgid "Color signal" msgstr "" -#: src/app/XMLInOut.as:451 +#: src/app/XMLInOut.as:495 msgid "Drawing of the video stream's main color" msgstr "" -#: src/media/FlvPlayer.as:628 +#: src/media/FlvPlayer.as:636 msgid "Loading picture" msgstr "" -#: src/sequencer/Sequencer.mxml:209 +#: src/sequencer/Sequencer.mxml:226 msgid "Unknown content identifier" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:77 +#: src/sequencer/tools/create/TLUser.mxml:75 msgid "Add the cutting (Shift + E)" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:82 -#: src/sequencer/tools/create/TLUser.mxml:226 -#: src/sequencer/tools/create/TLUser.mxml:229 +#: src/sequencer/tools/create/TLUser.mxml:80 +#: src/sequencer/tools/create/TLUser.mxml:238 +#: src/sequencer/tools/create/TLUser.mxml:241 msgid "My cutting" msgstr "" +#: src/sequencer/tools/create/TLUser.mxml:85 +msgid "Open or close a segment (Shift + Space)" +msgstr "" + #: src/sequencer/tools/create/TLUser.mxml:87 -msgid "Open or close a segment (Shift + Space)" +msgid "Add a mark (Shift + M)" msgstr "" #: src/sequencer/tools/create/TLUser.mxml:89 -msgid "Add a mark (Shift + M)" -msgstr "" - -#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Change the segment or mark's color" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:93 +#: src/sequencer/tools/create/TLUser.mxml:91 msgid "Delete the selected segment (Shift + Del)" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:95 +#: src/sequencer/tools/create/TLUser.mxml:93 msgid "Split a segment (Shift + X)" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:99 +#: src/sequencer/tools/create/TLUser.mxml:97 msgid "Segments linked" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:101 +#: src/sequencer/tools/create/TLUser.mxml:99 msgid "If this box is checked, the end of a segment is also the beginning of the next one" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:413 -#: src/sequencer/tools/create/TLUser.mxml:688 +#: src/sequencer/tools/create/TLUser.mxml:428 +#: src/sequencer/tools/create/TLUser.mxml:721 msgid "You can not cover a segment." msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:436 +#: src/sequencer/tools/create/TLUser.mxml:468 msgid "Do you confirm you delete this segment ?" msgstr "" -#: src/sequencer/tools/create/TLUser.mxml:676 +#: src/sequencer/tools/create/TLUser.mxml:709 msgid "You can not add a mark in the middle of a segment." msgstr "" @@ -599,12 +670,16 @@ msgid "Play the bout à bout (edit)" msgstr "" -#: src/sequencer/tools/edit/BoutABout.mxml:477 +#: src/sequencer/tools/edit/BoutABout.mxml:117 +msgid "Hide the Bout à bout" +msgstr "" + +#: src/sequencer/tools/edit/BoutABout.mxml:507 msgid "Do you confirm you delete the segment ?" msgstr "" -#: src/sequencer/tools/edit/BoutABout.mxml:637 -#: src/sequencer/tools/edit/BoutABout.mxml:641 +#: src/sequencer/tools/edit/BoutABout.mxml:687 +#: src/sequencer/tools/edit/BoutABout.mxml:691 msgid "Segment added at" msgstr "" @@ -685,14 +760,87 @@ msgid "Import running. This operation can last several minutes." msgstr "" -#: src/tools/ImportMedia.mxml:124 +#: src/tools/ImportMedia.mxml:61 +msgid "Unauthorized characters, filename must only contains 0-9 a-z A-Z" +msgstr "" + +#: src/tools/ImportMedia.mxml:126 msgid "At least the title and the author have to be filled to run the import." msgstr "" +#: src/tools/MicRecord.mxml:101 +msgid "Recording Sound Level:" +msgstr "" + +#: src/tools/MicRecord.mxml:134 +msgid "You are about to erase the current recording. \n Go on ?" +msgstr "" + +#: src/tools/MicRecord.mxml:219 +msgid "You are about to lose the recorded annotation. \n Do you want to save it ?" +msgstr "" + +#: src/tools/OffsetPanel.mxml:13 +msgid "Offset" +msgstr "" + +#: src/tools/OffsetPanel.mxml:15 +msgid "Move the annotations to the current timecode" +msgstr "" + +#: src/tools/OffsetPanel.mxml:17 +msgid "Enter the offset value" +msgstr "" + +#: src/tools/OffsetPanel.mxml:19 +msgid "Positive" +msgstr "" + +#: src/tools/OffsetPanel.mxml:21 +msgid "Negative" +msgstr "" + +#: src/tools/OffsetPanel.mxml:23 +msgid "Apply" +msgstr "" + #: src/tools/SimpleMp3Player.as:43 msgid "Play/Pause the sound annotation" msgstr "" -#: src/tools/SimpleMp3Player.as:121 +#: src/tools/SimpleMp3Player.as:124 msgid "Audio annotation error" msgstr "" + +#: src/tools/TagsPanel.mxml:41 +msgid "Sort tags by alphabetic order" +msgstr "" + +#: src/tools/TagsPanel.mxml:42 +msgid "Sort tags by descending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:43 +msgid "Sort tags by ascending weight order" +msgstr "" + +#: src/tools/TagsPanel.mxml:64 src/tools/TagsPanel.mxml:157 +#: src/tools/TagsPanel.mxml:257 +msgid "List display" +msgstr "" + +#: src/tools/TagsPanel.mxml:165 +msgid "Cloud display" +msgstr "" + +#: src/tools/TextSearchPanel.mxml:23 +msgid "Copy the whole text" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurences" +msgstr "" + +#: src/tools/tagIR.mxml:18 +msgid "occurence" +msgstr ""