redmine_dhtmlx 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/app/assets/dhtmlx/gantt/dhtmlxgantt.css +9 -0
- data/app/assets/dhtmlx/gantt/dhtmlxgantt.js +312 -0
- data/app/assets/dhtmlx/gantt/ext/dhtmlxgantt_csp.js +14 -0
- data/app/assets/dhtmlx/gantt/ext/dhtmlxgantt_fullscreen.js +14 -0
- data/app/assets/dhtmlx/gantt/ext/dhtmlxgantt_marker.js +13 -0
- data/app/assets/dhtmlx/gantt/ext/dhtmlxgantt_multiselect.js +17 -0
- data/app/assets/dhtmlx/gantt/ext/dhtmlxgantt_quick_info.js +18 -0
- data/app/assets/dhtmlx/gantt/ext/dhtmlxgantt_tooltip.js +15 -0
- data/app/assets/dhtmlx/gantt/locale/locale.js +11 -0
- data/app/assets/dhtmlx/gantt/locale/locale_ar.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_be.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_ca.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_cn.js +11 -0
- data/app/assets/dhtmlx/gantt/locale/locale_cs.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_da.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_de.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_el.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_es.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_fi.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_fr.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_he.js +11 -0
- data/app/assets/dhtmlx/gantt/locale/locale_hu.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_id.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_it.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_jp.js +11 -0
- data/app/assets/dhtmlx/gantt/locale/locale_kr.js +11 -0
- data/app/assets/dhtmlx/gantt/locale/locale_nb.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_nl.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_no.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_pl.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_pt.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_ro.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_ru.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_si.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_sk.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_sv.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_tr.js +12 -0
- data/app/assets/dhtmlx/gantt/locale/locale_ua.js +12 -0
- data/app/assets/dhtmlx/gantt/skins/dhtmlxgantt_broadway.css +9 -0
- data/app/assets/dhtmlx/gantt/skins/dhtmlxgantt_meadow.css +9 -0
- data/app/assets/dhtmlx/gantt/skins/dhtmlxgantt_skyblue.css +9 -0
- data/app/assets/dhtmlx/gantt/skins/dhtmlxgantt_terrace.css +9 -0
- data/app/assets/dhtmlx/scheduler/dhtmlxscheduler.css +9 -0
- data/app/assets/dhtmlx/scheduler/dhtmlxscheduler.js +318 -0
- data/app/assets/dhtmlx/scheduler/dhtmlxscheduler_classic.css +9 -0
- data/app/assets/dhtmlx/scheduler/dhtmlxscheduler_flat.css +9 -0
- data/app/assets/dhtmlx/scheduler/dhtmlxscheduler_glossy.css +9 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_active_links.js +12 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_agenda_view.js +17 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_all_timed.js +18 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_collision.js +15 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_container_autoresize.js +20 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_cookie.js +13 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_editors.js +18 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_expand.js +13 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_html_templates.js +10 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_key_nav.js +15 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_layer.js +37 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_limit.js +50 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_map_view.js +40 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_minical.js +37 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_monthheight.js +11 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_multiselect.js +13 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_multisource.js +10 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_mvc.js +15 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_offline.js +16 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_outerdrag.js +13 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_pdf.js +32 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_quick_info.js +21 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_readonly.js +16 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_recurring.js +59 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_serialize.js +15 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_tooltip.js +21 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_url.js +12 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_wp.js +10 -0
- data/app/assets/dhtmlx/scheduler/ext/dhtmlxscheduler_year_view.js +31 -0
- data/app/assets/dhtmlx/scheduler/imgs/but_repeat.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/buttons.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/calendar.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/clock_big.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/clock_small.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/collapse_expand_icon.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/controls.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/databg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/databg_now.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/export_ical.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/export_pdf.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/icon.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/images.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/loading.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs/resize_dots.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/arrow_left.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/arrow_right.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/but_repeat.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/calendar.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/clock_big.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/clock_small.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/close_icon.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/collapse_expand_icon.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/controls.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/databg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/databg_now.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/export_ical.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/export_pdf.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/resize_dots.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_dhx_terrace/resizing.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/agenda_bg.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/arrow_left.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/arrow_right.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/but_repeat.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/calendar.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/clock.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/clock_big.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/clock_small.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/close_icon.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/collapse_expand_icon.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/controls.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/databg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/databg_now.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/export_ical.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/export_pdf.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/resize_dots.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_flat/resizing.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/blue_tab.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/blue_tab_wide.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/but_repeat.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/buttons.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/calendar.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/clock_big.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/clock_small.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/collapse_expand_icon.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/controlls5.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/databg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/databg_now.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/event-bg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/export_ical.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/export_pdf.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/icon.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/left-separator.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/left-time-bg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/lightbox.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/loading.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/move.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/multi-days-bg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/second-top-days-bg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/top-days-bg.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/top-separator.gif +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/white_tab.png +0 -0
- data/app/assets/dhtmlx/scheduler/imgs_glossy/white_tab_wide.png +0 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_ar.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_be.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_ca.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_cn.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_cs.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_da.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_de.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_el.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_en.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_es.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_fi.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_fr.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_he.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_hu.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_id.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_it.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_jp.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_nb.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_nl.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_no.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_pl.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_pt.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_ro.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_ru.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_si.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_sk.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_sv.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_tr.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/locale_ua.js +12 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_be.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_cn.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_cs.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_da.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_de.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_el.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_en.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_es.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_fi.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_fr.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_it.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_nb.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_nl.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_pl.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_pt.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_ro.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_ru.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_sk.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_sv.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/locale_recurring_ua.js +11 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_be.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_cn.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_de.html +60 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_el.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_en.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_es.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_fr.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_it.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_nl.html +65 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_ro.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_ru.html +57 -0
- data/app/assets/dhtmlx/scheduler/locale/recurring/repeat_template_sk.html +57 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/License_gpl_2.0.txt +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/dhtmlx.css +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/dhtmlx.js +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/dhtmlx_deprecated.js +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/ext/dhxupload.xap +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/ext/swfobject.js +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/ext/uploader.swf +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxacc_skyblue/dhxacc_btns.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcp_skyblue/dhxcp_colors.png +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxcp_skyblue/dhxcp_icon_save.png +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxdataview_skyblue/dnd_selector.png +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxdataview_skyblue/dnd_selector_cells.png +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxdataview_skyblue/dnd_selector_lines.png +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxdataview_skyblue/marker.png +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/align_center.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/align_justify.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/align_left.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/align_right.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/bold.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/buttons.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/clear.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/h1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/h2.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/h3.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/h4.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/indent_dec.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/indent_inc.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/italic.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/list_bullet.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/list_number.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/script_sub.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/script_super.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/strike.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxeditor_skyblue/underline.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxform_skyblue/dhxform_chbxrd.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxform_skyblue/dhxform_image_uploading.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxform_skyblue/dhxform_upload_buttons.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxform_skyblue/dhxform_upload_uploading.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_left.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_left_abs.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_left_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_right.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_right_abs.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/ar_right_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/blank.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/combo_select_dhx_skyblue.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/dyn_.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/dyn_down.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/dyn_up.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/imageloaderror.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/item_chk0.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/item_chk0_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/item_chk1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/item_chk1_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/minus.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/paging_page.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/paging_pages.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/paging_rows.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/plus.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/radio_chk0.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/radio_chk0_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/radio_chk1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/radio_chk1_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/sort_asc.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/sort_desc.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/blank.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/folder.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/leaf.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/line.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/line1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/line2.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/line3.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/line4.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/minus.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/minus1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/minus2.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/minus3.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/minus4.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/minus5.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/plus.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/plus1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/plus2.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/plus3.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/plus4.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxgrid_skyblue/tree/plus5.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_loader.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_subar.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxribbon_skyblue/dhxribbon_arrow.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxribbon_skyblue/dhxribbon_checked.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/blank.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/but_cut.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/folderClosed.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/folderOpen.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/iconCheckAll.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/iconCheckDis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/iconCheckGray.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/iconUncheckAll.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/iconUncheckDis.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/leaf.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line1_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line2.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line2_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line3.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line3_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line4.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/line4_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/lock.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus2.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus2_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus3.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus3_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus4.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus4_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus5.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/minus5_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus1.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus2.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus2_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus3.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus3_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus4.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus4_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus5.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/plus5_rtl.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/radio_off.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtree_skyblue/radio_on.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxwins_skyblue/dhxwins_buttons.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxwins_skyblue/dhxwins_icon.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxwins_skyblue/dhxwins_progress.gif +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/readme.txt +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/thirdparty/excanvas/AUTHORS +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/thirdparty/excanvas/COPYING +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/thirdparty/excanvas/README +0 -0
- data/app/assets/{dhtmlx_suite → dhtmlx/suite}/thirdparty/excanvas/excanvas.js +0 -0
- data/app/assets/dhtmlx/vault/dhtmlxvault.css +9 -0
- data/app/assets/dhtmlx/vault/dhtmlxvault.js +9 -0
- data/app/assets/dhtmlx/vault/dhtmlxvault_deprecated.js +9 -0
- data/app/assets/dhtmlx/vault/dhxvault.swf +0 -0
- data/app/assets/dhtmlx/vault/dhxvault.xap +0 -0
- data/app/assets/dhtmlx/vault/imgs/dhxvault_skyblue/dhxvault_buttons.gif +0 -0
- data/app/assets/dhtmlx/vault/imgs/dhxvault_skyblue/dhxvault_icons.gif +0 -0
- data/app/assets/dhtmlx/vault/imgs/dhxvault_skyblue/dhxvault_loader.gif +0 -0
- data/app/assets/dhtmlx/vault/imgs/dhxvault_skyblue/dhxvault_progress.gif +0 -0
- data/app/assets/dhtmlx/vault/imgs/dhxvault_skyblue/icons_licence.txt +2 -0
- data/app/assets/dhtmlx/vault/swfobject.js +777 -0
- data/app/controllers/dhtmlx_examples_controller.rb +7 -0
- data/app/helpers/redmine_dhtmlx/application_helper.rb +64 -3
- data/app/views/dhtmlx_examples/index.html.erb +1 -0
- data/config/routes.rb +5 -0
- data/lib/redmine_dhtmlx/engine.rb +6 -10
- data/lib/redmine_dhtmlx/version.rb +1 -1
- metadata +401 -177
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif
RENAMED
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif
RENAMED
File without changes
|
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif
RENAMED
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif
RENAMED
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif
RENAMED
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif
RENAMED
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif
RENAMED
File without changes
|
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif
RENAMED
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif
RENAMED
File without changes
|
File without changes
|
data/app/assets/{dhtmlx_suite → dhtmlx/suite}/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/*
|
2
|
+
Product Name: dhtmlxVault
|
3
|
+
Version: 2.4.1
|
4
|
+
Edition: Standard
|
5
|
+
License: content of this file is covered by GPL. Usage outside GPL terms is prohibited. To obtain Commercial or Enterprise license contact sales@dhtmlx.com
|
6
|
+
Copyright UAB Dinamenta http://www.dhtmlx.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
.dhx_vault_dhx_skyblue{position:relative;overflow:hidden;border:1px solid #a4bed4;background-color:#eaf2fb;}.dhx_vault_dhx_skyblue div.dhx_vault_controls{position:absolute;top:0;left:0;width:100%;height:37px;font-family:Tahoma,Helvetica;font-size:11px;color:black;overflow:hidden;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button{position:relative;float:left;display:inline;margin:5px 1px 0 1px;height:22px;line-height:21px;padding:2px 3px;border:1px solid #a4bed4;background-color:#f7f9fc;background:linear-gradient(#f7f9fc,#eaf2fb);background:-webkit-linear-gradient(#f7f9fc,#eaf2fb);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f7f9fc,endColorStr=#eaf2fb) progid:DXImageTransform.Microsoft.Alpha(opacity=100);border-radius:2px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button.dhx_vault_button_hover{background-color:#f3f7fd;background:linear-gradient(#f3f7fd,#e6f0fa);background:-webkit-linear-gradient(#f3f7fd,#e6f0fa);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f3f7fd,endColorStr=#e6f0fa) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button.dhx_vault_button_pressed{background-color:#d9e9f7;background:linear-gradient(#d9e9f7,#d9e8f8);background:-webkit-linear-gradient(#d9e9f7,#d9e8f8);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d9e9f7,endColorStr=#d9e8f8) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 5px rgba(127,127,127,0.15) inset;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon{float:left;position:relative;width:16px;height:16px;margin:3px 3px 0 3px;background-image:url("imgs/dhxvault_skyblue/dhxvault_buttons.gif");background-repeat:no-repeat;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_browse{background-position:0 0;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_upload{background-position:0 -16px;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_cancel{background-position:0 -32px;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_clear{background-position:0 -48px;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_text{float:left;height:18px;line-height:17px;margin:2px 4px;}.dhx_vault_dhx_skyblue div.dhx_vault_controls .dhx_vault_input{position:absolute;left:-1000px;top:0;visibility:hidden;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_file_form_cont{position:absolute;width:100%;height:23px;right:0;top:0;cursor:pointer;overflow:hidden;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_file_form_cont form.dhx_vault_file_form{position:absolute;top:0;right:0;cursor:pointer;}.dhx_vault_dhx_skyblue div.dhx_vault_controls div.dhx_vault_file_form_cont form.dhx_vault_file_form .dhx_vault_file_input{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);cursor:pointer;outline:none;height:23px;}.dhx_vault_dhx_skyblue div.dhx_vault_files,.dhx_vault_dhx_skyblue div.dhx_vault_f_pr{position:absolute;overflow:auto;background-color:white;border:1px solid #a4bed4;font-family:Tahoma,Helvetica;font-size:11px;color:black;z-index:0;}.dhx_vault_dhx_skyblue div.dhx_vault_f_pr{background-image:url("imgs/dhxvault_skyblue/dhxvault_progress.gif");background-position:center center;background-repeat:no-repeat;opacity:.5;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file{position:relative;width:auto;height:45px;overflow:hidden;border-bottom:1px solid #edf5ff;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_added,.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_uploading{color:#666;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_uploaded{color:#30678a;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_fail{color:#e94a4a;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_size_exceeded div.dhx_vault_file_param.dhx_vault_file_progress{color:#e94a4a;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param{position:relative;margin:3px 37px 0 50px;font-family:Tahoma,Helvetica;font-size:11px;color:inherit;overflow:hidden;white-space:nowrap;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name{margin-top:8px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name div.dhx_vault_file_name_text{position:relative;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name div.dhx_vault_file_name_text a{font-family:Tahoma,Helvetica;font-size:11px;color:inherit;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name div.dhx_vault_file_name_text a:hover{color:#3d83b0;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_delete{position:absolute;top:15px;right:11px;width:16px;height:16px;margin:0;background-image:url("imgs/dhxvault_skyblue/dhxvault_buttons.gif");background-position:0 -64px;background-repeat:no-repeat;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon{position:absolute;left:10px;top:7px;width:32px;height:32px;cursor:default;overflow:hidden;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon div.dhx_vault_all_icons{position:absolute;left:0;top:0;width:416px;height:32px;background-repeat:no-repeat;background-image:url("imgs/dhxvault_skyblue/dhxvault_icons.gif");cursor:default;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_def div.dhx_vault_all_icons{left:0;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_arch div.dhx_vault_all_icons{left:-32px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_audio div.dhx_vault_all_icons{left:-64px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_dmg div.dhx_vault_all_icons{left:-96px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_doc div.dhx_vault_all_icons{left:-128px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_exe div.dhx_vault_all_icons{left:-160px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_html div.dhx_vault_all_icons{left:-192px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_image div.dhx_vault_all_icons{left:-224px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_pdf div.dhx_vault_all_icons{left:-256px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_psd div.dhx_vault_all_icons{left:-288px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_text div.dhx_vault_all_icons{left:-320px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_video div.dhx_vault_all_icons{left:-352px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_xls div.dhx_vault_all_icons{left:-384px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param div.dhx_vault_progress{position:relative;width:110px;border:1px solid #a4bed4;margin-top:3px;margin-bottom:3px;font-family:Tahoma,Helvetica;font-size:7px;color:black;border-radius:2px;overflow:hidden;cursor:default;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param div.dhx_vault_progress div.dhx_vault_progress_bg{height:6px;background-color:#e5f0fd;background:linear-gradient(#e5f0fd,#d3e6fe);background:-webkit-linear-gradient(#e5f0fd,#d3e6fe);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e5f0fd,endColorStr=#d3e6fe) progid:DXImageTransform.Microsoft.Alpha(opacity=100);background-repeat:repeat-x;font-size:inherit;overflow:hidden;cursor:default;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param span.progress_eta{position:absolute;top:-1px;left:120px;}.dhx_vault_dhx_skyblue div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_uploading div.dhx_vault_progress div.dhx_vault_progress_loader{height:6px;background-color:white;background-image:url("imgs/dhxvault_skyblue/dhxvault_loader.gif");background-repeat:repeat-x;background-position:left center;overflow:hidden;cursor:default;}.dhx_vault_dhx_skyblue div.dhx_vault_flash_obj{position:absolute;left:0;top:0;width:100%;height:100%;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhx_vault_dhx_skyblue div.dhx_vault_dnd_box{position:absolute;left:0;top:0;width:100px;height:100px;border:2px dashed #c0c0c0;background-color:white;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);overflow:hidden;z-index:1;}.dhx_vault_dhx_skyblue div.dhx_vault_dnd_box_text{font-size:16px;text-align:center;}.dhx_vault_dhx_skyblue div.dhx_vault_files.dhx_vault_dnd_box_over{overflow:hidden;}.dhx_vault_dhx_skyblue.dhx_vault_dis{background-color:#f7f7f7;}.dhx_vault_dhx_skyblue.dhx_vault_dis div.dhx_vault_controls div.dhx_vault_button{cursor:default;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhx_vault_dhx_skyblue.dhx_vault_dis div.dhx_vault_files div.dhx_vault_file{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhx_vault_dhx_skyblue.dhx_vault_dis div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_delete{cursor:default;}.dhx_vault_dhx_skyblue.dhx_vault_dis div.dhx_vault_controls div.dhx_vault_file_form_cont{display:none;}.dhxvault_dframe{position:absolute;left:-100px;top:0;width:1px;height:1px;overflow:hidden;}div.dhxvault_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:10px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/*
|
2
|
+
Product Name: dhtmlxVault
|
3
|
+
Version: 2.4.1
|
4
|
+
Edition: Standard
|
5
|
+
License: content of this file is covered by GPL. Usage outside GPL terms is prohibited. To obtain Commercial or Enterprise license contact sales@dhtmlx.com
|
6
|
+
Copyright UAB Dinamenta http://www.dhtmlx.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
if(typeof(window.dhx4)=="undefined"){window.dhx4={version:"4.5.1",skin:null,skinDetect:function(a){return{10:"dhx_skyblue",20:"dhx_web",30:"dhx_terrace"}[this.readFromCss(a+"_skin_detect")]||null},readFromCss:function(c,d){var b=document.createElement("DIV");b.className=c;if(document.body.firstChild!=null){document.body.insertBefore(b,document.body.firstChild)}else{document.body.appendChild(b)}var a=b[d||"offsetWidth"];b.parentNode.removeChild(b);b=null;return a},lastId:1,newId:function(){return this.lastId++},zim:{data:{},step:5,first:function(){return 100},last:function(){var c=this.first();for(var b in this.data){c=Math.max(c,this.data[b])}return c},reserve:function(a){this.data[a]=this.last()+this.step;return this.data[a]},clear:function(a){if(this.data[a]!=null){this.data[a]=null;delete this.data[a]}}},s2b:function(a){if(typeof(a)=="string"){a=a.toLowerCase()}return(a==true||a==1||a=="true"||a=="1"||a=="yes"||a=="y"||a=="on")},s2j:function(s){var obj=null;dhx4.temp=null;try{eval("dhx4.temp="+s)}catch(e){dhx4.temp=null}obj=dhx4.temp;dhx4.temp=null;return obj},absLeft:function(a){if(typeof(a)=="string"){a=document.getElementById(a)}return this.getOffset(a).left},absTop:function(a){if(typeof(a)=="string"){a=document.getElementById(a)}return this.getOffset(a).top},_aOfs:function(a){var c=0,b=0;while(a){c=c+parseInt(a.offsetTop);b=b+parseInt(a.offsetLeft);a=a.offsetParent}return{top:c,left:b}},_aOfsRect:function(d){var g=d.getBoundingClientRect();var h=document.body;var b=document.documentElement;var a=window.pageYOffset||b.scrollTop||h.scrollTop;var e=window.pageXOffset||b.scrollLeft||h.scrollLeft;var f=b.clientTop||h.clientTop||0;var i=b.clientLeft||h.clientLeft||0;var j=g.top+a-f;var c=g.left+e-i;return{top:Math.round(j),left:Math.round(c)}},getOffset:function(a){if(a.getBoundingClientRect){return this._aOfsRect(a)}else{return this._aOfs(a)}},_isObj:function(a){return(a!=null&&typeof(a)=="object"&&typeof(a.length)=="undefined")},_copyObj:function(d){if(this._isObj(d)){var c={};for(var b in d){if(typeof(d[b])=="object"&&d[b]!=null){c[b]=this._copyObj(d[b])}else{c[b]=d[b]}}}else{var c=[];for(var b=0;b<d.length;b++){if(typeof(d[b])=="object"&&d[b]!=null){c[b]=this._copyObj(d[b])}else{c[b]=d[b]}}}return c},screenDim:function(){var a=(navigator.userAgent.indexOf("MSIE")>=0);var b={};b.left=document.body.scrollLeft;b.right=b.left+(window.innerWidth||document.body.clientWidth);b.top=Math.max((a?document.documentElement:document.getElementsByTagName("html")[0]).scrollTop,document.body.scrollTop);b.bottom=b.top+(a?Math.max(document.documentElement.clientHeight||0,document.documentElement.offsetHeight||0):window.innerHeight);return b},selectTextRange:function(d,g,b){d=(typeof(d)=="string"?document.getElementById(d):d);var a=d.value.length;g=Math.max(Math.min(g,a),0);b=Math.min(b,a);if(d.setSelectionRange){try{d.setSelectionRange(g,b)}catch(f){}}else{if(d.createTextRange){var c=d.createTextRange();c.moveStart("character",g);c.moveEnd("character",b-a);try{c.select()}catch(f){}}}},transData:null,transDetect:function(){if(this.transData==null){this.transData={transProp:false,transEv:null};var c={MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd",OTransition:"oTransitionEnd",msTransition:"transitionend",transition:"transitionend"};for(var b in c){if(this.transData.transProp==false&&document.documentElement.style[b]!=null){this.transData.transProp=b;this.transData.transEv=c[b]}}c=null}return this.transData},_xmlNodeValue:function(a){var c="";for(var b=0;b<a.childNodes.length;b++){c+=(a.childNodes[b].nodeValue!=null?a.childNodes[b].nodeValue.toString().replace(/^[\n\r\s]{0,}/,"").replace(/[\n\r\s]{0,}$/,""):"")}return c}};window.dhx4.isIE=(navigator.userAgent.indexOf("MSIE")>=0||navigator.userAgent.indexOf("Trident")>=0);window.dhx4.isIE6=(window.XMLHttpRequest==null&&navigator.userAgent.indexOf("MSIE")>=0);window.dhx4.isIE7=(navigator.userAgent.indexOf("MSIE 7.0")>=0&&navigator.userAgent.indexOf("Trident")<0);window.dhx4.isIE8=(navigator.userAgent.indexOf("MSIE 8.0")>=0&&navigator.userAgent.indexOf("Trident")>=0);window.dhx4.isIE9=(navigator.userAgent.indexOf("MSIE 9.0")>=0&&navigator.userAgent.indexOf("Trident")>=0);window.dhx4.isIE10=(navigator.userAgent.indexOf("MSIE 10.0")>=0&&navigator.userAgent.indexOf("Trident")>=0&&window.navigator.pointerEnabled!=true);window.dhx4.isIE11=(navigator.userAgent.indexOf("Trident")>=0&&window.navigator.pointerEnabled==true);window.dhx4.isEdge=(navigator.userAgent.indexOf("Edge")>=0);window.dhx4.isOpera=(navigator.userAgent.indexOf("Opera")>=0);window.dhx4.isChrome=(navigator.userAgent.indexOf("Chrome")>=0)&&!window.dhx4.isEdge;window.dhx4.isKHTML=(navigator.userAgent.indexOf("Safari")>=0||navigator.userAgent.indexOf("Konqueror")>=0)&&!window.dhx4.isEdge;window.dhx4.isFF=(navigator.userAgent.indexOf("Firefox")>=0);window.dhx4.isIPad=(navigator.userAgent.search(/iPad/gi)>=0);window.dhx4.dnd={evs:{},p_en:((window.dhx4.isIE||window.dhx4.isEdge)&&(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)),_mTouch:function(a){return(window.dhx4.isIE10&&a.pointerType==a.MSPOINTER_TYPE_MOUSE||window.dhx4.isIE11&&a.pointerType=="mouse"||window.dhx4.isEdge&&a.pointerType=="mouse")},_touchOn:function(a){if(a==null){a=document.body}a.style.touchAction=a.style.msTouchAction="";a=null},_touchOff:function(a){if(a==null){a=document.body}a.style.touchAction=a.style.msTouchAction="none";a=null}};if(window.navigator.pointerEnabled==true){window.dhx4.dnd.evs={start:"pointerdown",move:"pointermove",end:"pointerup"}}else{if(window.navigator.msPointerEnabled==true){window.dhx4.dnd.evs={start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}}else{if(typeof(window.addEventListener)!="undefined"){window.dhx4.dnd.evs={start:"touchstart",move:"touchmove",end:"touchend"}}}}}if(typeof(window.dhx4.template)=="undefined"){window.dhx4.trim=function(a){return String(a).replace(/^\s{1,}/,"").replace(/\s{1,}$/,"")};window.dhx4.template=function(b,c,a){return b.replace(/#([a-z0-9_-]{1,})(\|([^#]*))?#/gi,function(){var g=arguments[1];var f=window.dhx4.trim(arguments[3]);var h=null;var e=[c[g]];if(f.length>0){f=f.split(":");var d=[];for(var i=0;i<f.length;i++){if(i>0&&d[d.length-1].match(/\\$/)!=null){d[d.length-1]=d[d.length-1].replace(/\\$/,"")+":"+f[i]}else{d.push(f[i])}}h=d[0];for(var i=1;i<d.length;i++){e.push(d[i])}}if(typeof(h)=="string"&&typeof(window.dhx4.template[h])=="function"){return window.dhx4.template[h].apply(window.dhx4.template,e)}if(g.length>0&&typeof(c[g])!="undefined"){if(a==true){return window.dhx4.trim(c[g])}return String(c[g])}return""})};window.dhx4.template.date=function(a,b){if(a!=null){if(a instanceof Date){return window.dhx4.date2str(a,b)}else{a=a.toString();if(a.match(/^\d*$/)!=null){return window.dhx4.date2str(new Date(parseInt(a)),b)}return a}}return""};window.dhx4.template.maxlength=function(b,a){return String(b).substr(0,a)};window.dhx4.template.number_format=function(d,e,c,a){var b=window.dhx4.template._parseFmt(e,c,a);if(b==false){return d}return window.dhx4.template._getFmtValue(d,b)};window.dhx4.template.lowercase=function(a){if(typeof(a)=="undefined"||a==null){a=""}return String(a).toLowerCase()};window.dhx4.template.uppercase=function(a){if(typeof(a)=="undefined"||a==null){a=""}return String(a).toUpperCase()};window.dhx4.template._parseFmt=function(h,c,a){var d=h.match(/^([^\.\,0-9]*)([0\.\,]*)([^\.\,0-9]*)/);if(d==null||d.length!=4){return false}var b={i_len:false,i_sep:(typeof(c)=="string"?c:","),d_len:false,d_sep:(typeof(a)=="string"?a:"."),s_bef:(typeof(d[1])=="string"?d[1]:""),s_aft:(typeof(d[3])=="string"?d[3]:"")};var g=d[2].split(".");if(g[1]!=null){b.d_len=g[1].length}var e=g[0].split(",");if(e.length>1){b.i_len=e[e.length-1].length}return b};window.dhx4.template._getFmtValue=function(value,fmt){var r=String(value).match(/^(-)?([0-9]{1,})(\.([0-9]{1,}))?$/);if(r!=null&&r.length==5){var v0="";if(r[1]!=null){v0+=r[1]}v0+=fmt.s_bef;if(fmt.i_len!==false){var i=0;var v1="";for(var q=r[2].length-1;q>=0;q--){v1=""+r[2].charAt(q)+v1;if(++i==fmt.i_len&&q>0){v1=fmt.i_sep+v1;i=0}}v0+=v1}else{v0+=r[2]}if(fmt.d_len!==false){if(r[4]==null){r[4]=""}while(r[4].length<fmt.d_len){r[4]+="0"}eval("dhx4.temp = new RegExp(/\\d{"+fmt.d_len+"}/);");var t1=(r[4]).match(dhx4.temp);if(t1!=null){v0+=fmt.d_sep+t1}dhx4.temp=t1=null}v0+=fmt.s_aft;return v0}return value}}if(typeof(window.dhx4.ajax)=="undefined"){window.dhx4.ajax={cache:false,method:"get",parse:function(a){if(typeof a!=="string"){return a}a=a.replace(/^[\s]+/,"");if(window.DOMParser&&!dhx4.isIE){var b=(new window.DOMParser()).parseFromString(a,"text/xml")}else{if(window.ActiveXObject!==window.undefined){var b=new window.ActiveXObject("Microsoft.XMLDOM");b.async="false";b.loadXML(a)}}return b},xmltop:function(a,d,c){if(typeof d.status=="undefined"||d.status<400){xml=(!d.responseXML)?dhx4.ajax.parse(d.responseText||d):(d.responseXML||d);if(xml&&xml.documentElement!==null){try{if(!xml.getElementsByTagName("parsererror").length){return xml.getElementsByTagName(a)[0]}}catch(b){}}}if(c!==-1){dhx4.callEvent("onLoadXMLError",["Incorrect XML",arguments[1],c])}return document.createElement("DIV")},xpath:function(c,a){if(!a.nodeName){a=a.responseXML||a}if(dhx4.isIE){try{return a.selectNodes(c)||[]}catch(f){return[]}}else{var d=[];var g;var b=(a.ownerDocument||a).evaluate(c,a,null,XPathResult.ANY_TYPE,null);while(g=b.iterateNext()){d.push(g)}return d}},query:function(a){dhx4.ajax._call((a.method||"GET"),a.url,a.data||"",(a.async||true),a.callback,null,a.headers)},get:function(a,b){return this._call("GET",a,null,true,b)},getSync:function(a){return this._call("GET",a,null,false)},put:function(b,a,c){return this._call("PUT",b,a,true,c)},del:function(b,a,c){return this._call("DELETE",b,a,true,c)},post:function(b,a,c){if(arguments.length==1){a=""}else{if(arguments.length==2&&(typeof(a)=="function"||typeof(window[a])=="function")){c=a;a=""}else{a=String(a)}}return this._call("POST",b,a,true,c)},postSync:function(b,a){a=(a==null?"":String(a));return this._call("POST",b,a,false)},getLong:function(a,b){this._call("GET",a,null,true,b,{url:a})},postLong:function(b,a,c){if(arguments.length==2&&(typeof(a)=="function"||typeof(window[a]))){c=a;a=""}this._call("POST",b,a,true,c,{url:b,postData:a})},_call:function(a,b,c,e,g,j,d){var i=(window.XMLHttpRequest&&!dhx4.isIE?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));var f=(navigator.userAgent.match(/AppleWebKit/)!=null&&navigator.userAgent.match(/Qt/)!=null&&navigator.userAgent.match(/Safari/)!=null);if(e==true){i.onreadystatechange=function(){if((i.readyState==4)||(f==true&&i.readyState==3)){if(i.status!=200||i.responseText==""){if(!dhx4.callEvent("onAjaxError",[{xmlDoc:i,filePath:b,async:e}])){return}}window.setTimeout(function(){if(typeof(g)=="function"){g.apply(window,[{xmlDoc:i,filePath:b,async:e}])}if(j!=null){if(typeof(j.postData)!="undefined"){dhx4.ajax.postLong(j.url,j.postData,g)}else{dhx4.ajax.getLong(j.url,g)}}g=null;i=null},1)}}}if(a=="GET"&&this.cache!=true){b+=(b.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime()+"=1"}i.open(a,b,e);if(d!=null){for(var h in d){i.setRequestHeader(h,d[h])}}else{if(a=="POST"||a=="PUT"||a=="DELETE"){i.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}else{if(a=="GET"){c=null}}}i.setRequestHeader("X-Requested-With","XMLHttpRequest");i.send(c);if(e!=true){if((i.readyState==4)||(f==true&&i.readyState==3)){if(i.status!=200||i.responseText==""){dhx4.callEvent("onAjaxError",[{xmlDoc:i,filePath:b,async:e}])}}}return{xmlDoc:i,filePath:b,async:e}}}}if(typeof(window.dhx4._enableDataLoading)=="undefined"){window.dhx4._enableDataLoading=function(g,c,f,e,h){if(h=="clear"){for(var b in g._dhxdataload){g._dhxdataload[b]=null;delete g._dhxdataload[b]}g._loadData=null;g._dhxdataload=null;g.load=null;g.loadStruct=null;g=null;return}g._dhxdataload={initObj:c,xmlToJson:f,xmlRootTag:e,onBeforeXLS:null};g._loadData=function(n,o,q){if(arguments.length==2){q=o;o=null}var m=null;if(arguments.length==3){q=arguments[2]}if(typeof(n)=="string"){var l=n.replace(/^\s{1,}/,"").replace(/\s{1,}$/,"");var u=new RegExp("^<"+this._dhxdataload.xmlRootTag);if(u.test(l.replace(/^<\?xml[^\?]*\?>\s*/,""))){m=dhx4.ajax.parse(n);if(m!=null){m=this[this._dhxdataload.xmlToJson].apply(this,[m])}}if(m==null&&(l.match(/^[\s\S]*{[.\s\S]*}[\s\S]*$/)!=null||l.match(/^[\s\S]*\[[.\s\S]*\][\s\S]*$/)!=null)){m=dhx4.s2j(l)}if(m==null){this.callEvent("onXLS",[]);var j=[];if(typeof(this._dhxdataload.onBeforeXLS)=="function"){var l=this._dhxdataload.onBeforeXLS.apply(this,[n]);if(l!=null&&typeof(l)=="object"){if(l.url!=null){n=l.url}if(l.params!=null){for(var r in l.params){j.push(r+"="+encodeURIComponent(l.params[r]))}}}}var s=this;var i=function(a){var k=null;if((a.xmlDoc.getResponseHeader("Content-Type")||"").search(/xml/gi)>=0||(a.xmlDoc.responseText.replace(/^\s{1,}/,"")).match(/^</)!=null){k=s[s._dhxdataload.xmlToJson].apply(s,[a.xmlDoc.responseXML])}else{k=dhx4.s2j(a.xmlDoc.responseText)}if(k!=null){s[s._dhxdataload.initObj].apply(s,[k,n])}s.callEvent("onXLE",[]);if(q!=null){if(typeof(q)=="function"){q.apply(s,[])}else{if(typeof(window[q])=="function"){window[q].apply(s,[])}}}i=q=null;k=a=s=null};j=j.join("&")+(typeof(o)=="string"?"&"+o:"");if(dhx4.ajax.method=="post"){dhx4.ajax.post(n,j,i)}else{if(dhx4.ajax.method=="get"){dhx4.ajax.get(n+(j.length>0?(n.indexOf("?")>0?"&":"?")+j:""),i)}}return}}else{if(typeof(n.documentElement)=="object"||(typeof(n.tagName)!="undefined"&&typeof(n.getElementsByTagName)!="undefined"&&n.getElementsByTagName(this._dhxdataload.xmlRootTag).length>0)){m=this[this._dhxdataload.xmlToJson].apply(this,[n])}else{m=window.dhx4._copyObj(n)}}if(m!=null){this[this._dhxdataload.initObj].apply(this,[m])}if(q!=null){if(typeof(q)=="function"){q.apply(this,[])}else{if(typeof(window[q])=="function"){window[q].apply(this,[])}}q=null}};if(h!=null){var d={struct:"loadStruct",data:"load"};for(var b in h){if(h[b]==true){g[d[b]]=function(){return this._loadData.apply(this,arguments)}}}}g=null}}if(typeof(window.dhx4._eventable)=="undefined"){window.dhx4._eventable=function(a,b){if(b=="clear"){a.detachAllEvents();a.dhxevs=null;a.attachEvent=null;a.detachEvent=null;a.checkEvent=null;a.callEvent=null;a.detachAllEvents=null;a=null;return}a.dhxevs={data:{}};a.attachEvent=function(c,e){c=String(c).toLowerCase();if(!this.dhxevs.data[c]){this.dhxevs.data[c]={}}var d=window.dhx4.newId();this.dhxevs.data[c][d]=e;return d};a.detachEvent=function(f){for(var d in this.dhxevs.data){var e=0;for(var c in this.dhxevs.data[d]){if(c==f){this.dhxevs.data[d][c]=null;delete this.dhxevs.data[d][c]}else{e++}}if(e==0){this.dhxevs.data[d]=null;delete this.dhxevs.data[d]}}};a.checkEvent=function(c){c=String(c).toLowerCase();return(this.dhxevs.data[c]!=null)};a.callEvent=function(d,f){d=String(d).toLowerCase();if(this.dhxevs.data[d]==null){return true}var e=true;for(var c in this.dhxevs.data[d]){e=this.dhxevs.data[d][c].apply(this,f)&&e}return e};a.detachAllEvents=function(){for(var d in this.dhxevs.data){for(var c in this.dhxevs.data[d]){this.dhxevs.data[d][c]=null;delete this.dhxevs.data[d][c]}this.dhxevs.data[d]=null;delete this.dhxevs.data[d]}};a=null};dhx4._eventable(dhx4)}function dhtmlXVaultObject(j){var h=this;this.conf={version:"2.4.1",skin:(j.skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxvault")||"dhx_skyblue"),param_name:(typeof(j.paramName)!="undefined"?j.paramName:"file"),engine:null,list:"list_default",url:j.uploadUrl||"",download_url:(j.downloadUrl||""),multiple_files:(typeof(j.multiple)!="undefined"?j.multiple==true:true),swf_file:j.swfPath||"",swf_url:j.swfUrl||"",swf_logs:j.swfLogs||"no",sl_xap:j.slXap,sl_url:j.slUrl,sl_logs:j.slLogs,enabled:true,auto_start:(typeof(j.autoStart)!="undefined"?j.autoStart==true:true),auto_remove:(typeof(j.autoRemove)!="undefined"?j.autoRemove==true:false),files_added:0,uploaded_count:0,files_limit:(typeof(j.filesLimit)!="undefined"?j.filesLimit:0),max_file_size:parseInt(j.maxFileSize)||0,buttons:{upload:(typeof(j.buttonUpload)!="undefined"?(j.buttonUpload==true):false),clear:(typeof(j.buttonClear)!="undefined"?(j.buttonClear==true):true)},ofs:{dhx_skyblue:5,dhx_web:7,dhx_terrace:10,bootstrap:10},uploaded_state:{},uploaded_files:{},progress_mode:"percent",icon_def:"",icons:{}};this.list=new this[this.conf.list]();this.conf.icon_def=this.icon_def;for(var l in this.icons){for(var b=0;b<this.icons[l].length;b++){this.conf.icons[this.icons[l][b]]=l}}if(typeof(j.mode)=="string"&&typeof(this[j.mode])=="function"){this.conf.engine=j.mode}else{this.conf.engine="html4";var g=null;if(typeof(window.FormData)!="undefined"&&typeof(window.XMLHttpRequest)!="undefined"){g=new XMLHttpRequest();if(typeof(g.upload)=="undefined"){g=null}}if(g!=null){this.conf.engine="html5"}else{if(typeof(window.swfobject)!="undefined"||g===false){var g=swfobject.getFlashPlayerVersion();if(g.major>=10){this.conf.engine="flash"}}else{this.conf.sl_v=this.getSLVersion();if(this.conf.sl_v){this.conf.engine="sl"}}}g=null}var c=(typeof(j.parent)!="undefined"?j.parent:j.container);c=(typeof(c)=="string"?document.getElementById(c):c);j.parent=j.container=null;if(c._attach_mode==true){this.base=c}else{this.base=document.createElement("DIV");c.appendChild(this.base)}this.base.className+=" dhx_vault_"+this.conf.skin;if(c._no_border==true){this.base.style.border="0px solid white"}c=j=null;this.p_controls=document.createElement("DIV");this.p_controls.className="dhx_vault_controls";this.base.appendChild(this.p_controls);this.p_controls.onselectstart=function(a){a=a||event;if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}return false};this.p_files=document.createElement("DIV");this.p_files.className="dhx_vault_files";this.base.appendChild(this.p_files);this.p_files.ondragstart=function(k){k=k||event;var a=k.target||k.srcElement;if(a.tagName!=null&&a.tagName.toLowerCase()=="a"){if(k.preventDefault){k.preventDefault()}else{k.returnValue=false}return false}};this._doOnFilesClick=function(m){m=m||event;var a=m.target||m.srcElement;var k=null;while(a!=h.p_files&&k==null){if(k==null&&a!=null&&a._action!=null){k=a._action}else{a=a.parentNode}}if(k==null){return}if(k.data=="delete_file"&&h.conf.enabled==true){h._removeFileFromQueue(k.id)}if(k.data=="download_file"&&h.conf.enabled==true){h._doDownloadFile(k.id)}k=null};if(typeof(window.addEventListener)=="function"){this.p_files.addEventListener("click",this._doOnFilesClick,false)}else{this.p_files.attachEvent("onclick",this._doOnFilesClick)}this.file_data={};this._initToolbar=function(){this.b_opts={browse:{str:"btnAdd",onclick:null},upload:{str:"btnUpload",onclick:function(){if(!h.conf.enabled){return}if(!h.conf.uploading){h._uploadStart()}}},cancel:{str:"btnCancel",onclick:function(){if(!h.conf.enabled){return}h._uploadStop();h._switchButton(false)}},clear:{str:"btnClean",onclick:function(){if(!h.conf.enabled){return}h.clear()},css:"float:right!important;"}};this.buttons={};for(var e in this.b_opts){var m=document.createElement("DIV");m.innerHTML="<div class='dhxvault_button_icon dhx_vault_icon_"+e+"'></div><div class='dhxvault_button_text'>"+this.strings[this.b_opts[e].str]+"</div>";if(this.b_opts[e].css!=null){m.style.cssText+=this.b_opts[e].css}m.className="dhx_vault_button";m._css=m.className;m._onclick=this.b_opts[e].onclick;m.onmouseover=function(){if(h.conf.enabled!=true){return}if(this._hover==true){return}this._hover=true;this.className=this._css+" dhx_vault_button"+this._css_p+"_hover"};m.onmouseout=function(){if(h.conf.enabled!=true){return}if(this._hover!=true){return}this._hover=false;this.className=this._css};m.onmousedown=function(){if(h.conf.enabled!=true){return}if(this._hover!=true){return}this._pressed=true;this.className=this._css+" dhx_vault_button"+this._css_p+"_pressed"};m.onmouseup=function(a){if(h.conf.enabled!=true){return}if(this._pressed!=true){return}this._pressed=false;this.className=this._css+(this._hover?" dhx_vault_button"+this._css_p+"_hover":"");if(this._onclick!=null){this._onclick()}};if(this.b_opts[e].tooltip){m.title=this.b_opts[e].tooltip}this.p_controls.appendChild(m);this.buttons[e]=m;m=null;if(e=="upload"||e=="clear"){this.buttons[e].style.display=(this.conf.buttons[e]==true?"":"none")}this.b_opts[e].onclick=null;this.b_opts[e]=null;delete this.b_opts[e]}this.b_opts=null;delete this.b_opts;this.buttons.cancel.style.display="none"};this._beforeAddFileToList=function(e,k,a){return(this.callEvent("onBeforeFileAdd",[{id:null,name:e,size:k,lastModifiedDate:a,serverName:null,uploaded:false,error:false}])===true)};this._addFileToList=function(r,k,m,q,e){var o=this.getFileExtension(k);var n=(o.length>0?(this.conf.icons[o.toLowerCase()]||this.conf.icon_def):this.conf.icon_def);var a=false;if(q=="added"&&typeof(m)=="number"&&m>0&&this.conf.max_file_size>0&&m>this.conf.max_file_size){q=this.file_data[r].state="size_exceeded";a=true}this.list.addFileItem(r,this.p_files);this.list.renderFileRecord(r,{name:k,icon:n,size:m,readableSize:this.readableSize(m||0),state:q,progress:e});if(q=="size_exceeded"){this.list.updateFileState(r,{state:q,str_size_exceeded:window.dhx4.template(this.strings.size_exceeded,{size:this.readableSize(this.conf.max_file_size)})})}this.callEvent("onFileAdd",[{id:r,name:k,size:m,lastModifiedDate:this.file_data[r].file.lastModifiedDate||null,serverName:null,uploaded:false,error:a}])};this._removeFileFromList=function(a){this.list.removeFileRecord(a);if(this.conf.uploaded_files[a]!=null){this.conf.uploaded_files[a]=null;delete this.conf.uploaded_files[a]}if(this.conf.uploaded_state[a]!=null){this.conf.uploaded_state[a]=null;delete this.conf.uploaded_state[a]}};this._updateFileInList=function(k,e,a){if(this.list.isFileItemExist(k)==false){return}if(e=="uploading"&&this.conf.progress_mode=="eta"&&this._etaStart!=null){this._etaStart(k)}this._updateProgress(k,e,a)};this._updateProgress=function(o,n,e){if(n=="added"){this.list.updateFileState(o,{state:n});if(this.conf.progress_mode=="eta"&&this._etaEnd!=null){this._etaEnd(o)}return}if(n=="fail"){this.list.updateFileState(o,{state:n,str_error:this.strings.error});if(this.conf.progress_mode=="eta"&&this._etaEnd!=null){this._etaEnd(o)}return}if(n=="uploaded"){if(this.conf.progress_mode=="eta"&&this._etaEnd!=null){this._etaEnd(o)}var m=this.strings.done;var a=(this.conf.engine!="html4"?{}:{name:this.file_data[o].name,size:this.file_data[o].size,readableSize:this.readableSize(this.file_data[o].size||0)});window.setTimeout(function(){if(h==null){return}h.list.updateFileState(o,{state:"uploaded",str_done:m});a.download=(h.conf.download_url.length>0);h.list.updateFileNameSize(o,a)},100);return}if(n=="uploading"){if((e<100&&this.conf.progress_type=="loader")||this.file_data[o].custom==true){this.list.updateFileState(o,{state:"uploading_html4"})}else{if(this.conf.progress_mode=="eta"){var k=(this._etaCheck!=null?this._etaCheck(o,e):null);this.list.updateFileState(o,{state:"uploading",progress:e,eta:(k==null?null:"eta: "+k)})}else{if(this.conf.progress_mode=="percent"){this.list.updateFileState(o,{state:"uploading",progress:e,eta:e+"%"})}}}}};this._removeFilesByState=function(k){for(var e in this.file_data){if(k===true||this.file_data[e].state==k){this._removeFileFromQueue(e)}}};this._switchButton=function(n){if(n==true){if(this.conf.buttons.upload==true){this.buttons.upload.style.display="none";this.buttons.cancel.style.display=""}}else{var k=this.conf.uploaded_count;var m=[];for(var e in this.conf.uploaded_state){m.push({id:e,name:this._fileName,size:(this.file_data[e]!=null?this.file_data[e].size:null),lastModifiedDate:(this.file_data[e]!=null?(this.file_data[e].file.lastModifiedDate||null):null),serverName:(this.conf.uploaded_files[e]?this.conf.uploaded_files[e].serverName:null),uploaded:this.conf.uploaded_state[e],error:!this.conf.uploaded_state[e]})}if(this.conf.buttons.upload==true){this.buttons.upload.style.display="";this.buttons.cancel.style.display="none"}this.conf.uploaded_count=0;this.conf.uploaded_state={};if(k>0){this.callEvent("onUploadComplete",[m])}}};this._uploadStart=function(){this._switchButton(true);if(!this.conf.uploading){for(var e in this.file_data){if(this.file_data[e].state=="fail"){this.file_data[e].state="added";this._updateFileInList(e,"added",0)}}}this.conf.uploading=true;var k=false;for(var e in this.file_data){if(!k&&[this.file_data[e].state]=="added"){k=true;this.file_data[e].state="uploading";this._updateFileInList(e,"uploading",0);this._doUploadFile(e)}}if(!k){this.conf.uploading=false;this._switchButton(false)}};this._onUploadSuccess=function(n,m,k,a){if(typeof(k)!="undefined"&&this.conf.engine=="flash"){var e=window.dhx4.s2j(k.data);if(e!=null&&e.state==true&&e.name!=null){m=e.name;if(e.extra!=null){a=e.extra}}else{this._onUploadFail(n,(e!=null&&e.extra!=null?e.extra:null));return}}this.conf.uploaded_count++;this.conf.uploaded_files[n]={realName:this.file_data[n].name,serverName:m};this.file_data[n].state="uploaded";this.conf.uploaded_state[n]=true;this._updateFileInList(n,"uploaded",100);this.callEvent("onUploadFile",[{id:n,name:this.file_data[n].name,size:this.file_data[n].size,lastModifiedDate:this.file_data[n].file.lastModifiedDate||null,serverName:m,uploaded:true,error:false},a]);if(this.conf.auto_remove){this._removeFileFromQueue(n)}if(this.conf.uploading){this._uploadStart()}};this._onUploadFail=function(e,a){this.file_data[e].state="fail";this._updateFileInList(e,"fail",0);this.conf.uploaded_state[e]=false;this.callEvent("onUploadFail",[{id:e,name:this.file_data[e].name,size:this.file_data[e].size,lastModifiedDate:this.file_data[e].file.lastModifiedDate||null,serverName:null,uploaded:false,error:true},a]);if(this.conf.uploading){this._uploadStart()}};this._onUploadAbort=function(a){this.conf.uploading=false;this.file_data[a].state="added";this._updateFileInList(a,"added",0);this.callEvent("onUploadCancel",[{id:a,name:this.file_data[a].name,size:this.file_data[a].size,lastModifiedDate:this.file_data[a].file.lastModifiedDate,serverName:null,uploaded:false,error:false}])};this.unload=function(){this.callEvent=function(){return true};if(typeof(window.addEventListener)=="function"){this.p_files.removeEventListener("click",this._doOnFilesClick,false)}else{this.p_files.detachEvent("onclick",this._doOnFilesClick)}this._removeFilesByState(true);this.conf.uploaded_files=null;this.file_data=null;this._unloadEngine();this.list.unload();this.list=null;this.icons=null;for(var e in this.buttons){this.buttons[e].onclick=null;this.buttons[e].onmouseover=null;this.buttons[e].onmouseout=null;this.buttons[e].onmousedown=null;this.buttons[e].onmouseup=null;this.buttons[e]._onclick=null;this.buttons[e].parentNode.removeChild(this.buttons[e]);this.buttons[e]=null;delete this.buttons[e]}this.buttons=null;this.p_controls.onselectstart=null;this.p_controls.parentNode.removeChild(this.p_controls);this.p_controls=null;this.p_files.ondragstart=null;this.p_files.parentNode.removeChild(this.p_files);this.p_files=null;window.dhx4._eventable(this,"clear");this.callEvent=null;for(var e in this.conf){this.conf[e]=null;delete this.conf[e]}this.conf=null;this.strings=null;for(var e in this){if(typeof(this[e])=="function"){this[e]=null}}if(this.base._attach_mode!=true){this.base.parentNode.removeChild(this.base)}this.base=null;h=e=null};var i=new this[this.conf.engine]();for(var l in i){this[l]=i[l];i[l]=null}l=i=p=null;this._initToolbar();this._initEngine();this.setSkin(this.conf.skin);window.dhx4._eventable(this);this.attachEvent("onFileAdd",function(){this.conf.files_added++});this.attachEvent("onBeforeFileAdd",function(){if(this.conf.files_limit==0){return true}return(this.conf.files_added<this.conf.files_limit)});if(window.dhx4.isIE7||navigator.userAgent.indexOf("MSIE 7.0")>=0){var f=this;window.setTimeout(function(){f.setSizes();f=null},1)}var d=function(e){var a=window.dhx4.s2j(e.xmlDoc.responseText);if(a!=null&&a.maxFileSize!=null&&h.conf.max_file_size==0){h.conf.max_file_size=(parseInt(a.maxFileSize)||0)}a=e=d=null};if(window.dhx4.ajax.method=="post"){window.dhx4.ajax.post(this.conf.url,"mode=conf",d)}else{window.dhx4.ajax.get(this.conf.url+(this.conf.url.indexOf("?")>0?"&":"?")+"mode=conf",d)}return this}dhtmlXVaultObject.prototype.readableSize=function(d){var c=false;var a=["b","Kb","Mb","Gb","Tb","Pb","Eb"];for(var e=0;e<a.length;e++){if(d>1024){d=d/1024}else{if(c===false){c=e}}}if(c===false){c=a.length-1}return Math.round(d*100)/100+" "+a[c]};dhtmlXVaultObject.prototype.icon_def="icon_def";dhtmlXVaultObject.prototype.icons={icon_image:["jpg","jpeg","gif","png","bmp","tiff","pcx","svg","ico"],icon_psd:["psd"],icon_video:["avi","mpg","mpeg","rm","move","mov","mkv","flv","f4v","mp4","3gp"],icon_audio:["wav","aiff","au","mp3","aac","wma","ogg","flac","ape","wv","m4a","mid","midi"],icon_arch:["rar","zip","tar","tgz","arj","gzip","bzip2","7z","ace","apk","deb"],icon_text:["txt","nfo","djvu","xml"],icon_html:["htm","html"],icon_doc:["doc","docx","rtf","odt"],icon_xls:["xls","xlsx"],icon_pdf:["pdf","ps"],icon_exe:["exe"],icon_dmg:["dmg"]};dhtmlXVaultObject.prototype.upload=function(){if(!this.conf.uploading){this._uploadStart()}};dhtmlXVaultObject.prototype.setAutoStart=function(a){this.conf.auto_start=(a==true)};dhtmlXVaultObject.prototype.setAutoRemove=function(a){this.conf.auto_remove=(a==true)};dhtmlXVaultObject.prototype.setURL=function(a){this.conf.url=a};dhtmlXVaultObject.prototype.setDownloadURL=function(c){this.conf.download_url=c||"";for(var b in this.conf.uploaded_files){this.list.updateFileNameSize(b,{download:(this.conf.download_url.length>0)})}};dhtmlXVaultObject.prototype._buildDownloadUrl=function(b){var a=null;if(this.conf.download_url.length>0&&this.conf.uploaded_files[b]!=null){var a=String(this.conf.download_url).replace(/\{serverName\}/g,encodeURIComponent(this.conf.uploaded_files[b].serverName));if(window.dhx4.ajax.cache!=true){a+=(a.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime()+"=1"}}return a};dhtmlXVaultObject.prototype._doDownloadFile=function(b){if(!this._dframe){this._dframe=document.createElement("IFRAME");this._dframe.className="dhxvault_dframe";this._dframe.border=this._dframe.frameBorder=0;this.conf.df_name=this._dframe.name="dhxvault_dframe_"+window.dhx4.newId();document.body.appendChild(this._dframe)}var a=document.createElement("FORM");a.method="POST";a.target=this.conf.df_name;a.action=this._buildDownloadUrl(b);document.body.appendChild(a);a.submit();window.setTimeout(function(){document.body.removeChild(a);a=null},1)};dhtmlXVaultObject.prototype.enable=function(){if(this.conf.enabled==true){return}this.conf.enabled=true;this.base.className=String(this.base.className).replace(/\s{0,}dhx_vault_dis/gi,"");if(this.conf.engine=="flash"){document.getElementById(this.conf.swf_obj_id).style.display=""}};dhtmlXVaultObject.prototype.disable=function(){if(this.conf.enabled!=true){return}this.conf.enabled=false;this.base.className+=" dhx_vault_dis";if(this.conf.engine=="flash"){document.getElementById(this.conf.swf_obj_id).style.display="none"}};dhtmlXVaultObject.prototype.setWidth=function(a){if(this.base._attach_mode==true){return}this.base.parentNode.style.width=a+"px";this.setSizes()};dhtmlXVaultObject.prototype.setHeight=function(a){if(this.base._attach_mode==true){return}this.base.parentNode.style.height=a+"px";this.setSizes()};dhtmlXVaultObject.prototype.setFilesLimit=function(a){this.conf.files_added=0;this.conf.files_limit=a};dhtmlXVaultObject.prototype.getStatus=function(){var c=0;for(var b in this.file_data){if(this.file_data[b].state!="uploaded"){return -1}c=1}return c};dhtmlXVaultObject.prototype.getData=function(){var c=[];for(var b in this.conf.uploaded_files){c.push({id:b,name:this.file_data[b].name,size:this.file_data[b].size,serverName:this.conf.uploaded_files[b].serverName,uploaded:true,error:false})}return c};dhtmlXVaultObject.prototype.clear=function(){if(this.callEvent("onBeforeClear",[])!==true){return}if(this.conf.uploading){this._uploadStop()}this._switchButton(false);this._removeFilesByState(true);this.callEvent("onClear",[])};dhtmlXVaultObject.prototype.setSkin=function(c){if(c!=this.conf.skin){this.base.className=String(this.base.className).replace(new RegExp("s{0,}dhx_vault_"+this.conf.skin)," dhx_vault_"+c);this.conf.skin=c}this._updateBttonsSkin();var b=this.conf.ofs[this.conf.skin];this.buttons.browse.style.marginLeft=b+"px";this.buttons.upload.style.marginLeft=(c=="dhx_terrace"?"-1px":b+"px");this.buttons.cancel.style.marginLeft=this.buttons.upload.style.marginLeft;this.buttons.clear.style.marginRight=b+"px";var a="";if(c=="dhx_terrace"){a=(this.conf.buttons.upload==true)?"0px":"3px"}this.buttons.browse.style.borderTopRightRadius=a;this.buttons.browse.style.borderBottomRightRadius=a;this.buttons.upload.style.borderTopLeftRadius=a;this.buttons.upload.style.borderBottomLeftRadius=a;this.buttons.cancel.style.borderTopLeftRadius=this.buttons.upload.style.borderTopLeftRadius;this.buttons.cancel.style.borderBottomLeftRadius=this.buttons.upload.style.borderBottomLeftRadius;this.setSizes()};dhtmlXVaultObject.prototype._updateBttonsSkin=function(){for(var b in this.buttons){var c="dhx_vault_button";var d="";if(this.buttonCss!=null&&this.buttonCss[this.conf.skin]!=null&&this.buttonCss[this.conf.skin][b]!=null){d=this.buttonCss[this.conf.skin][b];c+=d}this.buttons[b]._css=this.buttons[b].className=c;this.buttons[b]._css_p=d}};dhtmlXVaultObject.prototype.setSizes=function(){var a=this.base.offsetWidth-(this.base.clientWidth||this.base.scrollWidth);var b=this.base.offsetHeight-this.base.clientHeight;if(this.base._attach_mode!=true){this.base.style.width=Math.max(0,this.base.parentNode.clientWidth-a)+"px";this.base.style.height=Math.max(0,this.base.parentNode.clientHeight-b)+"px"}var c=this.conf.ofs[this.conf.skin];this.p_files.style.top=this.p_controls.offsetHeight+"px";this.p_files.style.left=c+"px";if(!this.conf.ofs_f){this.p_files.style.width="100px";this.p_files.style.height="100px";this.conf.ofs_f={w:this.p_files.offsetWidth-this.p_files.clientWidth,h:this.p_files.offsetHeight-this.p_files.clientHeight}}this.p_files.style.width=Math.max(this.base.clientWidth-c*2-this.conf.ofs_f.w,0)+"px";this.p_files.style.height=Math.max(this.base.clientHeight-this.p_controls.offsetHeight-c-this.conf.ofs_f.h,0)+"px";if(typeof(this.callEvent)=="function"){this.callEvent("_onSetSizes",[])}};dhtmlXVaultObject.prototype.getFileExtension=function(b){var c="";var a=String(b).match(/\.([^\.\s]*)$/i);if(a!=null){c=a[1]}return c};dhtmlXVaultObject.prototype.strings={done:"Done",error:"Error",size_exceeded:"Filesize exceeded (max #size#)",btnAdd:"Add files",btnUpload:"Upload",btnClean:"Clear all",btnCancel:"Cancel"};dhtmlXVaultObject.prototype.setStrings=function(e){for(var b in e){this.strings[b]=e[b]}for(var b in this.file_data){var d=this.file_data[b].state;if(d=="uploaded"||d=="fail"||d=="size_exceeded"){this.list.updateFileState(b,{state:d,str_error:this.strings.error,str_done:this.strings.done,str_size_exceeded:window.dhx4.template(this.strings.size_exceeded,{size:this.readableSize(this.conf.max_file_size)})})}if(d=="uploaded"){this.list.updateFileNameSize(b,{download:(this.conf.download_url.length>0)})}}var c={browse:"btnAdd",upload:"btnUpload",clear:"btnClean",cancel:"btnCancel"};for(var b in c){this.buttons[b].childNodes[1].innerHTML=this.strings[c[b]]}};dhtmlXVaultObject.prototype.setMaxFileSize=function(a){this.conf.max_file_size=(parseInt(a)||0)};dhtmlXVaultObject.prototype.getMaxFileSize=function(){return this.conf.max_file_size};dhtmlXVaultObject.prototype.html5=function(){};dhtmlXVaultObject.prototype.html5.prototype={_initEngine:function(){var c=this;this.buttons.browse.onclick=function(){if(c.conf.enabled){c.f.click()}};this.conf.progress_type="percentage";this.conf.dnd_enabled=true;var a=window.navigator.userAgent;var b=true;if(a.match(/Windows/gi)!=null&&a.match(/AppleWebKit/gi)!=null&&a.match(/Safari/gi)!=null){if(a.match(/Version\/5\.1\.5/gi)){this.conf.multiple_files=false}if(a.match(/Version\/5\.1[^\.\d{1,}]/gi)){this.conf.dnd_enabled=false}if(a.match(/Version\/5\.1\.1/gi)){this.conf.multiple_files=false;this.conf.dnd_enabled=false}if(a.match(/Version\/5\.1\.2/gi)){this.conf.dnd_enabled=false}if(a.match(/Version\/5\.1\.7/gi)){this.conf.multiple_files=false}}this._addFileInput();if(this.conf.dnd_enabled&&this._initDND!=null){this._initDND()}},_addFileInput:function(){if(this.f!=null){this.f.onchange=null;this.f.parentNode.removeChild(this.f);this.f=null}var a=this;this.f=document.createElement("INPUT");this.f.type="file";if(this.conf.multiple_files){this.f.multiple="1"}this.f.className="dhx_vault_input";this.p_controls.appendChild(this.f);this.f.onchange=function(){a._parseFilesInInput(this.files);if(window.dhx4.isOpera){a._addFileInput()}else{this.value=""}}},_doUploadFile:function(c){if(this.file_data[c].custom==true){this._cfUploadStart(c);return}var b=this;if(!this.loader){this.loader=new XMLHttpRequest();this.loader.upload.onprogress=function(d){if(b.file_data[this._idd].state=="uploading"){b._updateFileInList(this._idd,"uploading",Math.round(d.loaded*100/d.total))}};this.loader.onload=function(f){var d=window.dhx4.s2j(this.responseText);if(d!=null&&typeof(d)=="object"&&typeof(d.state)!="undefined"&&d.state==true){b._onUploadSuccess(this.upload._idd,d.name,null,d.extra)}else{b._onUploadFail(this.upload._idd,(d!=null&&d.extra!=null?d.extra:null))}d=null};this.loader.onerror=function(d){b._onUploadFail(this.upload._idd)};this.loader.onabort=function(d){b._onUploadAbort(this.upload._idd)}}this.loader.upload._idd=c;var a=new FormData();a.append("mode","html5");if(this.file_data[c].size==0&&(navigator.userAgent.indexOf("MSIE")>0||navigator.userAgent.indexOf("Trident")>0)){a.append("file_name",String(this.file_data[c].name));a.append("zero_size","1")}else{a.append(this.conf.param_name,this.file_data[c].file)}if(window.dhx4.ajax.cache!=true){a.append("dhxr"+new Date().getTime(),"")}this.loader.open("POST",this.conf.url,true);this.loader.setRequestHeader("X-Requested-With","XMLHttpRequest");this.loader.send(a)},_uploadStop:function(){if(!this.conf.uploading){return}if(this.cf_loader_id!=null){this._cfUploadStop()}else{if(this.loader!=null){this.loader.abort()}}},_parseFilesInInput:function(b){for(var a=0;a<b.length;a++){this._addFileToQueue(b[a])}},_addFileToQueue:function(a){if(!this._beforeAddFileToList(a.name,a.size,a.lastModifiedDate)){return}var b=(a._idd||window.dhx4.newId());this.file_data[b]={file:a,name:a.name,size:a.size,state:"added"};this._addFileToList(b,a.name,a.size,"added",0);if(this.conf.auto_start&&!this.conf.uploading){this._uploadStart(true)}},_removeFileFromQueue:function(e){if(!this.file_data[e]){return}var c=this.file_data[e].name;var d=(this.conf.uploaded_files!=null&&this.conf.uploaded_files[e]!=null?this.conf.uploaded_files[e].serverName:null);var b={id:Number(e),name:c,size:this.file_data[e].size,serverName:d,uploaded:(this.file_data[e].state=="uploaded"),error:(this.file_data[e].state=="fail")};if(this.callEvent("onBeforeFileRemove",[b])!==true){return}var a=false;if(this.cf_loader_id!=null||(this.conf.uploading&&this.loader!=null&&e==this.loader.upload._idd&&this.file_data[e].state=="uploading")){this._uploadStop();a=true}this.file_data[e].file=null;this.file_data[e].name=null;this.file_data[e].size=null;this.file_data[e].state=null;this.file_data[e]=null;delete this.file_data[e];this._removeFileFromList(e);this.callEvent("onFileRemove",[b]);if(a){this._uploadStart()}},_unloadEngine:function(){this.buttons.browse.onclick=null;if(this.conf.dnd_enabled&&this._unloadDND!=null){this._unloadDND()}this.f.onchange=null;this.f.parentNode.removeChild(this.f);this.f=null;if(this.loader){this.loader.upload.onprogress=null;this.loader.onload=null;this.loader.onerror=null;this.loader.onabort=null;this.loader.upload._idd=null;this.loader=null}this._initEngine=null;this._doUploadFile=null;this._uploadStop=null;this._parseFilesInInput=null;this._addFileToQueue=null;this._removeFileFromQueue=null;this._unloadEngine=null}};dhtmlXVaultObject.prototype.html4=function(){};dhtmlXVaultObject.prototype.html4.prototype={_initEngine:function(){this._addForm();this.conf.progress_type="loader";if(window.dhx4.isIE6||window.dhx4.isIE7){this.buttons.browse.style.filter=""}},_addForm:function(){var a=this;if(!this.k){this.k=document.createElement("DIV");this.k.className="dhx_vault_file_form_cont";this.buttons.browse.appendChild(this.k);this.conf.fr_name="dhx_vault_file_"+window.dhx4.newId();this.k.innerHTML='<iframe name="'+this.conf.fr_name+'" style="height:0px;width:0px;" frameBorder="0"></iframe>';this.fr=this.k.firstChild;if(window.navigator.userAgent.indexOf("MSIE")>=0){this.fr.onreadystatechange=function(){if(this.readyState=="complete"){a._onLoad()}}}else{this.fr.onload=function(){a._onLoad()}}}var b=document.createElement("DIV");b.innerHTML="<form method='POST' enctype='multipart/form-data' target='"+this.conf.fr_name+"' class='dhx_vault_file_form' name='dhx_vault_file_form_"+window.dhx4.newId()+"'><input type='hidden' name='mode' value='html4'><input type='hidden' name='uid' value=''><input type='file' name='"+this.conf.param_name+"' class='dhx_vault_file_input'></form>";this.k.appendChild(b);b.firstChild.lastChild.onchange=function(){var d=this.value.match(/[^\/\\]*$/)[0];this.previousSibling.value=this._idd=window.dhx4.newId();var c=null;var e=null;if(this.files!=null&&this.files[0]!=null){c=this.files[0].lastModifiedDate||null;e=this.files[0].size||null}if(!a._beforeAddFileToList(d,e,c)){return}a._addFileToQueue(this);this.onchange=null;this.parentNode.parentNode.style.display="none";a._addForm()};b=null},_onLoad:function(){if(this.conf.uploading&&this.fr._idd!=null){var a=window.dhx4.s2j(this.fr.contentWindow.document.body.innerHTML);if(a!=null){if(typeof(a.state)!="undefined"){if(a.state=="cancelled"){this._onUploadAbort(this.fr._idd);this.fr.contentWindow.document.body.innerHTML="";a=null;return}else{if(a.state==true){if(typeof(a.size)!="undefined"&&!isNaN(a.size)){this.file_data[this.fr._idd].size=a.size}this._onUploadSuccess(this.fr._idd,a.name,null,a.extra);a=null;return}}}}this._onUploadFail(this.fr._idd,(a!=null&&a.extra!=null?a.extra:null))}},_addFileToQueue:function(d){var b=d.value.match(/[^\\\/]*$/);if(b[0]!=null){b=b[0]}else{b=d.value}var a=null;var c=null;if(d.files!=null&&d.files[0]!=null){a=d.files[0].lastModifiedDate||null;c=d.files[0].size||null}this.file_data[d._idd]={file:{lastModifiedDate:a},name:b,size:c,form:d.parentNode,node:d.parentNode.parentNode,input:d,state:"added"};this._addFileToList(d._idd,b,(c||false),"added",0);if(this.conf.auto_start&&!this.conf.uploading){this._uploadStart(true)}},_removeFileFromQueue:function(e){var c=this.file_data[e].name;var d=(this.conf.uploaded_files!=null&&this.conf.uploaded_files[e]!=null?this.conf.uploaded_files[e].serverName:null);var b={id:Number(e),name:c,size:this.file_data[e].size||null,serverName:d,uploaded:(this.file_data[e].state=="uploaded"),error:(this.file_data[e].state=="fail")};if(this.callEvent("onBeforeFileRemove",[b])!==true){return}var a=false;if(this.file_data[e].custom==true){if(this.cf_loader_id!=null){this._uploadStop();a=true}}else{this.file_data[e].input.onchange=null;this.file_data[e].form.removeChild(this.file_data[e].input);this.file_data[e].node.removeChild(this.file_data[e].form);this.file_data[e].node.parentNode.removeChild(this.file_data[e].node);this.file_data[e].input=null;this.file_data[e].form=null;this.file_data[e].node=null}this.file_data[e].name=null;this.file_data[e].size=null;this.file_data[e].state=null;this.file_data[e]=null;delete this.file_data[e];this._removeFileFromList(e);this.callEvent("onFileRemove",[b]);if(a){this._uploadStart()}},_doUploadFile:function(a){if(this.file_data[a].custom==true){this._cfUploadStart(a)}else{this.fr._idd=a;this.file_data[a].form.action=this.conf.url;this.file_data[a].form.submit()}},_uploadStop:function(){if(!this.conf.uploading){return}if(this.cf_loader_id==null){this._onUploadAbort(this.fr._idd);this.fr.contentWindow.location.href=(this.conf.url)+(this.conf.url.indexOf("?")<0?"?":"&")+"mode=html4&action=cancel&dhxr"+new Date().getTime()}else{this._cfUploadStop()}},_unloadEngine:function(){if(this.k){this.conf.fr_name=null;this.fr.onreadystatechange=null;this.fr.onload=null;this.fr.parentNode.removeChild(this.fr);this.fr=null;this.k.firstChild.firstChild.lastChild.onchange=null;this.k.parentNode.removeChild(this.k);this.k=null}this._initEngine=null;this._addForm=null;this._onLoad=null;this._addFileToQueue=null;this._removeFileFromQueue=null;this._doUploadFile=null;this._uploadStop=null;this._unloadEngine=null}};dhtmlXVaultObject.prototype.flash=function(){};dhtmlXVaultObject.prototype.flash.prototype={_initEngine:function(){if(window.dhtmlXSWFObjectsPull==null){window.dhtmlXSWFObjectsPull={items:{},callEvent:function(e,c,d){return window.dhtmlXSWFObjectsPull.items[e].uploader[c].apply(window.dhtmlXSWFObjectsPull.items[e].uploader,d)}}}var b=(window.dhx4.isIE6||window.dhx4.isIE7||navigator.userAgent.indexOf("MSIE 7.0")>=0?"opaque":"transparent");wnome="transparent";this.conf.swf_obj_id="dhxVaultSWFObject_"+window.dhx4.newId();this.conf.swf_file=this.conf.swf_file+(this.conf.swf_file.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime();if(window.dhx4.isIE){this.buttons.browse.innerHTML+="<div style='position:absolute;width:100%;height:100%;background-color:white;opacity:0;filter:alpha(opacity=0);left:0px;top:0px;'></div>";if(window.dhx4.isIE6||window.dhx4.isIE7){this.buttons.browse.style.filter=""}}this.buttons.browse.innerHTML+="<div class='dhx_vault_flash_obj'><div id='"+this.conf.swf_obj_id+"'></div></div>";swfobject.embedSWF(this.conf.swf_file,this.conf.swf_obj_id,"100%","100%","9",null,{ID:this.conf.swf_obj_id,enableLogs:this.conf.swf_logs,paramName:this.conf.param_name,multiple:(this.conf.multiple_files?"Y":"")},{wmode:b});if((window.dhx4.isIE6||window.dhx4.isIE7)&&this.conf.skin=="dhx_skyblue"){if(this.base.parentNode!=null&&this.base.parentNode.parentNode!=null&&this.base.parentNode.parentNode.className!=null&&this.base.parentNode.parentNode.className=="dhx_cell_wins"){this.base.parentNode.parentNode.style.filter="none"}}var a=swfobject.getFlashPlayerVersion();this.conf.progress_type="percentage";window.dhtmlXSWFObjectsPull.items[this.conf.swf_obj_id]={id:this.conf.swf_obj_id,uploader:this}},_beforeAddFileToQueue:function(b,c,a){return(this.callEvent("onBeforeFileAdd",[{id:null,name:b,size:c,lastModifiedDate:a,serverName:null,uploaded:false,error:false}])===true?1:0)},_addFileToQueue:function(e,c,d,b){if(window.dhx4.isIE){var a=document.createElement("INPUT");a.type="TEXT";a.style.position="absolute";a.style.left="0px";a.style.top=window.dhx4.absTop(this.buttons.browse)+"px";a.style.width="10px";document.body.appendChild(a);a.focus();document.body.removeChild(a);a=null}this.file_data[e]={file:{lastModifiedDate:b},name:c,size:d,state:"added"};this._addFileToList(e,c,d,"added",0);if(this.conf.auto_start&&!this.conf.uploading){this._uploadStart(true)}},_removeFileFromQueue:function(e){if(!this.file_data[e]){return}var c=this.file_data[e].name;var d=(this.conf.uploaded_files!=null&&this.conf.uploaded_files[e]!=null?this.conf.uploaded_files[e].serverName:null);var b={id:Number(e),name:c,size:this.file_data[e].size,serverName:d,uploaded:(this.file_data[e].state=="uploaded"),error:(this.file_data[e].state=="fail")};if(this.callEvent("onBeforeFileRemove",[b])!==true){return}var a=false;if(this.conf.uploading&&this.file_data[e].state=="uploading"){this._uploadStop();a=true}swfobject.getObjectById(this.conf.swf_obj_id).removeFileById(e);this.file_data[e].name=null;this.file_data[e].size=null;this.file_data[e].state=null;this.file_data[e]=null;delete this.file_data[e];this._removeFileFromList(e);this.callEvent("onFileRemove",[b]);if(a){this._uploadStart()}},_doUploadFile:function(a){if(this.file_data[a].custom==true){this._cfUploadStart(a)}else{swfobject.getObjectById(this.conf.swf_obj_id).upload(a,this.conf.swf_url)}},_uploadStop:function(c){if(this.cf_loader_id!=null){this._cfUploadStop()}else{for(var b in this.file_data){if(this.file_data[b].state=="uploading"){swfobject.getObjectById(this.conf.swf_obj_id).uploadStop(b)}}}},_getId:function(){return window.dhx4.newId()},_unloadEngine:function(){if(window.dhtmlXSWFObjectsPull.items[this.conf.swf_obj_id]){window.dhtmlXSWFObjectsPull.items[this.conf.swf_obj_id].id=null;window.dhtmlXSWFObjectsPull.items[this.conf.swf_obj_id].uploader=null;window.dhtmlXSWFObjectsPull.items[this.conf.swf_obj_id]=null;delete window.dhtmlXSWFObjectsPull.items[this.conf.swf_obj_id]}this.conf.swf_obj_id=null;this._initEngine=null;this._addFileToQueue=null;this._removeFileFromQueue=null;this._doUploadFile=null;this._uploadStop=null;this._unloadEngine=null}};dhtmlXVaultObject.prototype.setSWFURL=function(a){this.conf.swf_url=a};dhtmlXVaultObject.prototype.sl=function(){};dhtmlXVaultObject.prototype.sl.prototype={_initEngine:function(){if(typeof(this.conf.sl_v)=="undefined"){this.conf.sl_v=this.getSLVersion()}if(!window.dhtmlXVaultSLObjects){window.dhtmlXVaultSLObjects={items:{},callEvent:function(c,a,b){window.dhtmlXVaultSLObjects.items[c].uploader[a].apply(window.dhtmlXVaultSLObjects.items[c].uploader,b)}}}this.conf.sl_obj_id="dhtmlXFileUploaderSLObject_"+window.dhx4.newId();if(this.conf.sl_v!=false){this.buttons.browse.innerHTML+='<div style="width:100%;height:100%;left:0px;top:0px;position:absolute;"><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%" id="'+this.conf.sl_obj_id+'"><param name="source" value="'+this.conf.sl_xap+'"/><param name="background" value="Transparent"/><param name="windowless" value="true"/><param name="initParams" value="SLID='+this.conf.sl_obj_id+",LOGS="+this.conf.sl_logs+',GVAR=dhtmlXVaultSLObjects"/><param name="minRuntimeVersion" value="5.0"/></object></div>'}else{this.buttons.browse.style.cursor="wait";this.buttons.browse.title=""}this.conf.progress_type="percentage";window.dhtmlXVaultSLObjects.items[this.conf.sl_obj_id]={id:this.conf.sl_obj_id,uploader:this}},_addFileToQueue:function(c,a,b){this.file_data[c]={name:a,size:b,state:"added",file:{lastModifiedDate:null}};this._addFileToList(c,a,b,"added",0);if(this.conf.auto_start&&!this.conf.uploading){this._uploadStart(true)}},_removeFileFromQueue:function(b){if(!this.file_data[b]){return}var a=false;if(this.conf.uploading&&this.file_data[b].state=="uploading"){this._uploadStop();a=true}document.getElementById([this.conf.sl_obj_id]).Content.a.removeFileById(b);this.file_data[b].name=null;this.file_data[b].size=null;this.file_data[b].state=null;this.file_data[b].file=null;this.file_data[b]=null;delete this.file_data[b];this._removeFileFromList(b);if(a){this._uploadStart()}},_doUploadFile:function(b){var a=this.conf.sl_url.split("?");a=(a[1]!=null?"&"+a[1]:"");document.getElementById(this.conf.sl_obj_id).Content.a.upload(b,this.conf.sl_url,a+"&mode=sl&dhxr"+new Date().getTime())},_uploadStop:function(c){this.conf.uploading=false;for(var b in this.file_data){if(this.file_data[b].state=="uploading"){document.getElementById(this.conf.sl_obj_id).Content.a.uploadStop(b)}}},_unloadEngine:function(){if(window.dhtmlXVaultSLObjects.items[this.conf.sl_obj_id]){window.dhtmlXVaultSLObjects.items[this.conf.sl_obj_id].id=null;window.dhtmlXVaultSLObjects.items[this.conf.sl_obj_id].uploader=null;window.dhtmlXVaultSLObjects.items[this.conf.sl_obj_id]=null;delete window.dhtmlXVaultSLObjects.items[this.conf.sl_obj_id]}this.conf.sl_obj_id=null;this._initEngine=null;this._addFileToQueue=null;this._removeFileFromQueue=null;this._doUploadFile=null;this._uploadStop=null;this._unloadEngine=null}};dhtmlXVaultObject.prototype.setSLURL=function(a){this.conf.sl_url=a};dhtmlXVaultObject.prototype.getSLVersion=function(){var a=false;if(window.dhx4.isIE){try{var b=new ActiveXObject("AgControl.AgControl");if(b!=null){var f=4,d=0;while(b.isVersionSupported([f,d].join("."))){a=[f,d];if(++d>9){f++;d=0}}}b=null}catch(c){}}else{if(navigator.plugins["Silverlight Plug-In"]!=null){a=navigator.plugins["Silverlight Plug-In"].description.split(".")}}return a};dhtmlXVaultObject.prototype.list_default=function(){this.t={};this.n={};this.addFileItem=function(c,a){var b=document.createElement("DIV");b._idd=c;a.appendChild(b);this.t[c]=b;b=a=null};this.isFileItemExist=function(a){return(this.t[a]!=null)};this.renderFileRecord=function(c,b){var a=this.t[c];if(!a==null){return}a.className="dhx_vault_file dhx_vault_file_"+b.state;a.innerHTML="<div class='dhx_vault_file_param dhx_vault_file_name'> </div><div class='dhx_vault_file_param dhx_vault_file_progress'> </div><div class='dhx_vault_file_param dhx_vault_file_delete'> </div><div class='dhx_vault_file_icon dhx_vault_"+b.icon+"'><div class='dhx_vault_all_icons'></div></div>";a.childNodes[2]._action={id:c,data:"delete_file"};this.updateFileNameSize(c,b);a=null};this.removeFileRecord=function(b){var a=this.t[b];if(a==null){return}a._idd=null;a.childNodes[2]._action=null;a.parentNode.removeChild(a);a=null;this.n[b]=this.t[b]=null;delete this.t[b];delete this.n[b]};this.updateFileNameSize=function(f,d){var c=this.t[f];if(c==null){return}if(this.n[f]==null){this.n[f]={}}for(var b in {name:true,size:true,readableSize:true}){if(d[b]!=null){this.n[f][b]=d[b]}else{d[b]=this.n[f][b]}}var e=d.name+(!isNaN(d.size)&&d.size!==false?" ("+d.readableSize+")":" ");if(d.download==true){e="<a href='javascript:void(0);'>"+e+"</a>"}c.childNodes[0].innerHTML="<div class='dhx_vault_file_name_text'>"+e+"</div>";c.childNodes[0].title=d.name+(!isNaN(d.size)&&d.size!==false?" ("+d.readableSize+")":"");if(d.download==true){c.childNodes[0].childNodes[0].childNodes[0]._action={id:f,data:"download_file"}}c=null};this.updateFileState=function(d,c){var b=this.t[d];if(b==null){return}var a=false;if(this.updateFileStateExtra!=null){a=this.updateFileStateExtra(d,c)}if(!a){if(c.state=="added"){b.className="dhx_vault_file dhx_vault_file_added";b.childNodes[1].className="dhx_vault_file_param dhx_vault_file_progress";b.childNodes[1].innerHTML=" "}if(c.state=="fail"){b.className="dhx_vault_file dhx_vault_file_fail";b.childNodes[1].className="dhx_vault_file_param dhx_vault_file_progress";b.childNodes[1].innerHTML=c.str_error}if(c.state=="size_exceeded"){b.className="dhx_vault_file dhx_vault_file_size_exceeded";b.childNodes[1].className="dhx_vault_file_param dhx_vault_file_progress";b.childNodes[1].innerHTML=c.str_size_exceeded}if(c.state=="uploaded"){b.className="dhx_vault_file dhx_vault_file_uploaded";b.childNodes[1].className="dhx_vault_file_param dhx_vault_file_progress";b.childNodes[1].innerHTML=c.str_done}if(c.state=="uploading_html4"||c.state=="uploading"){b.className="dhx_vault_file dhx_vault_file_uploading";b.childNodes[1].className="dhx_vault_file_param dhx_vault_file_uploading";b.childNodes[1].innerHTML="<div class='dhx_vault_progress'><div class='dhx_vault_progress_loader'> </div></div>"}}b=null};this.updateStrings=function(){};this.unload=function(){this.t=null}};if(typeof(window.dhtmlXCellObject)!="undefined"&&typeof(dhtmlXCellObject.prototype.attachVault)=="undefined"){dhtmlXCellObject.prototype.attachVault=function(a){var b=document.createElement("DIV");b.style.position="relative";b.style.width="100%";b.style.height="100%";b.style.overflow="hidden";this._attachObject(b);b._attach_mode=true;b._no_border=true;if(typeof(window.dhtmlXWindowsCell)!="undefined"&&this instanceof dhtmlXWindowsCell){b._no_border=false}if(typeof(a)!="object"||a==null){a={}}a.parent=b;if(typeof(a.skin)=="undefined"){a.skin=this.conf.skin}this.dataType="vault";this.dataObj=new dhtmlXVaultObject(a);if(typeof(window.dhtmlXLayoutCell)!="undefined"&&this instanceof dhtmlXLayoutCell){this.layout._getMainInst().attachEvent("onExpand",function(d){for(var e=0;e<d.length;e++){var c=this.cells(d[e]);if(c.dataType=="vault"&&c.dataObj!=null){c.dataObj.setSizes()}c=null}})}a.parent=null;a=b=null;return this.dataObj}}dhtmlXVaultObject.prototype.buttonCss={bootstrap:{browse:"_browse",upload:"_upload",cancel:"_cancel",clear:"_clear"}};if(typeof(window.dhtmlXPopup)!="undefined"&&typeof(dhtmlXPopup.prototype.attachVault)=="undefined"){dhtmlXPopup.prototype.attachVault=function(c,a,b){return this._attachNode("vault",{width:c||350,height:a||200,conf:b||{}})};dhtmlXPopup.prototype._attach_init_vault=function(a){a.conf.parent=this._nodeId;document.getElementById(this._nodeId)._no_border=true;if(typeof(a.conf.skin)=="undefined"){a.conf.skin=this.conf.skin}this._nodeObj=new dhtmlXVaultObject(a.conf)}}dhtmlXVaultObject.prototype.load=function(a,b){if(this.conf.dataload_inited!=true){this.conf.dataload_inited=true;if(typeof(this.conf.dataload_progress)=="undefined"){this.conf.dataload_progress=true}this.attachEvent("onXLS",this._progressOn);this.attachEvent("onXLE",this._progressOff);window.dhx4._enableDataLoading(this,"_initObj","_xmlToObj","files",{data:true});this.load.apply(this,arguments)}};dhtmlXVaultObject.prototype.addFileRecord=function(b,a){if(a==null||{added:true,uploaded:true}[a]!=true){return}var c=window.dhx4.newId();if(typeof(b.name)=="undefined"||b.name==null){b.name="New File Record"}if(typeof(b.size)=="undefined"||b.size==null){b.size=false}this.file_data[c]={file:{}};this._addFileToList(c,b.name,b.size,a,0);if(a=="uploaded"){if(typeof(b.serverName)=="undefined"&&b.serverName==null){b.serverName=b.name}this.conf.uploaded_files[c]={realName:b.name,serverName:b.serverName};if(this.conf.download_url.length>0){this.list.updateFileNameSize(c,{download:true})}}this.file_data[c]={name:b.name,size:b.size,state:a,file:{},custom:true,fileData:b};this.list.updateFileState(c,{state:a,str_done:this.strings.done});if(this.conf.auto_start&&!this.conf.uploading){this._uploadStart(true)}};dhtmlXVaultObject.prototype._cfOnUpload=function(){if(this.cf_loader_id==null){return}var id=this.cf_loader_id;this.cf_loader_id=null;dhx4.temp=null;try{eval("dhx4.temp="+this.cf_loader.responseText)}catch(e){}var r=dhx4.temp;dhx4.temp=null;try{this.cf_loader.onreadystatechange=null;this.cf_loader=null}catch(e){}try{delete this.cf_loader.onreadystatechange;delete this.cf_loader}catch(e){}if(r!=null&&typeof(r)=="object"&&typeof(r.state)!="undefined"&&r.state==true){if(this.file_data[id].custom==true&&typeof(r.size)!="undefined"){this._cfUpdateSize(id,r.size)}this._onUploadSuccess(id,r.name,undefined,r.extra)}else{this._onUploadFail(id,(r!=null&&r.extra!=null?r.extra:null))}r=null};dhtmlXVaultObject.prototype._cfUpdateSize=function(d,c){this.file_data[d].size=c;var a={name:this.file_data[d].name,size:this.file_data[d].size,readableSize:this.readableSize(this.file_data[d].size||0)};var b=this;window.setTimeout(function(){b.list.updateFileNameSize(d,a);b=a=null},100)};dhtmlXVaultObject.prototype._cfUploadStart=function(e){var c=["mode=custom"];for(var b in this.file_data[e].fileData){c.push(encodeURIComponent(b)+"="+encodeURIComponent(this.file_data[e].fileData[b]))}c=c.join("&");var d=this;this.cf_loader=(window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));this.cf_loader.onreadystatechange=function(){if(d.cf_loader.readyState==4){if(d.cf_loader.status==200){d._cfOnUpload()}else{if(d.cf_loader.status==404){d._onUploadFail(d.cf_loader_id)}}d=null}};if(window.dhx4.ajax.cache!=true){c+=(c.length>0?"&":"")+"dhxr"+new Date().getTime()}this.cf_loader_id=e;this.cf_loader.open("POST",this.conf.url,true);this.cf_loader.setRequestHeader("Content-Type","application/x-www-form-urlencoded");this.cf_loader.setRequestHeader("X-Requested-With","XMLHttpRequest");this.cf_loader.send(c)};dhtmlXVaultObject.prototype._cfUploadStop=function(){var a=this.cf_loader_id;this.cf_loader_id=null;this.cf_loader.abort();this._onUploadAbort(a)};dhtmlXVaultObject.prototype._initObj=function(b){for(var a=0;a<b.length;a++){this.addFileRecord(b[a],"uploaded")}};dhtmlXVaultObject.prototype._xmlToObj=function(j){var h=[];if(!this.conf.xml_attrs){this.conf.xml_attrs={name:"name",size:"size",serverName:"serverName"}}var d=j.getElementsByTagName("files")[0];for(var g=0;g<d.childNodes.length;g++){if(d.childNodes[g].tagName!=null&&String(d.childNodes[g].tagName).toLowerCase()=="file"){var c=d.childNodes[g];var e={};for(var b in this.conf.xml_attrs){if(c.getAttribute(b)!=null){e[this.conf.xml_attrs[b]]=c.getAttribute(b)}}h.push(e);c=e=null}}return h};dhtmlXVaultObject.prototype._progressOn=function(){if(this.conf.dataload_progress==true){if(this.conf.progress_tm!=null){window.clearTimeout(this.conf.progress_tm)}if(this.p_progress==null){this.p_progress=document.createElement("DIV");this.p_progress.className="dhx_vault_f_pr";this.base.appendChild(this.p_progress);if(typeof(this.conf.progress_event)=="undefined"){this.conf.progress_event=this.attachEvent("_onSetSizes",this._progressAdjust)}this._progressAdjust()}}};dhtmlXVaultObject.prototype._progressOff=function(){var a=this;if(this.conf.progress_tm!=null){window.clearTimeout(this.conf.progress_tm)}this.conf.progress_tm=window.setTimeout(function(){if(a.p_progress!=null){a.p_progress.parentNode.removeChild(a.p_progress);a.p_progress=null}a=null},200)};dhtmlXVaultObject.prototype._progressAdjust=function(){if(this.p_progress!=null){this.p_progress.style.left=this.p_files.style.left;this.p_progress.style.top=this.p_files.style.top;this.p_progress.style.width=this.p_files.style.width;this.p_progress.style.height=this.p_files.style.height}};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/*
|
2
|
+
Product Name: dhtmlxVault
|
3
|
+
Version: 2.4.1
|
4
|
+
Edition: Standard
|
5
|
+
License: content of this file is covered by GPL. Usage outside GPL terms is prohibited. To obtain Commercial or Enterprise license contact sales@dhtmlx.com
|
6
|
+
Copyright UAB Dinamenta http://www.dhtmlx.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
dhtmlXVaultObject.prototype.setServerHandlers=function(a){this.conf.upload_url=a};dhtmlXVaultObject.prototype.setImagePath=function(a){};dhtmlXVaultObject.prototype.create=function(a){};dhtmlXVaultObject.prototype.onAddFile=function(a){this.attachEvent("onBeforeFileAdd",function(b,c){return a.apply(this,[b])})};dhtmlXVaultObject.prototype.onFileUploaded=function(a){this.attachEvent("onUploadFile",function(b){a.apply(this,[b])});this.attachEvent("onUploadFail",function(b){a.apply(this,[b])})};dhtmlXVaultObject.prototype.onUploadComplete=function(a){this.attachEvent("onUploadComplete",function(b){a.apply(this,b)})};dhtmlXVaultObject.prototype.setFormField=function(c,d){for(var b in {url:1,swf_url:1,sl_url:1}){this.conf[b]+=(String(this.conf[b]).indexOf("?")<0?"?":"&")+c+"="+encodeURIComponent(d)}};
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,777 @@
|
|
1
|
+
/*! SWFObject v2.2 <http://code.google.com/p/swfobject/>
|
2
|
+
is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
|
3
|
+
*/
|
4
|
+
|
5
|
+
var swfobject = function() {
|
6
|
+
|
7
|
+
var UNDEF = "undefined",
|
8
|
+
OBJECT = "object",
|
9
|
+
SHOCKWAVE_FLASH = "Shockwave Flash",
|
10
|
+
SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
|
11
|
+
FLASH_MIME_TYPE = "application/x-shockwave-flash",
|
12
|
+
EXPRESS_INSTALL_ID = "SWFObjectExprInst",
|
13
|
+
ON_READY_STATE_CHANGE = "onreadystatechange",
|
14
|
+
|
15
|
+
win = window,
|
16
|
+
doc = document,
|
17
|
+
nav = navigator,
|
18
|
+
|
19
|
+
plugin = false,
|
20
|
+
domLoadFnArr = [main],
|
21
|
+
regObjArr = [],
|
22
|
+
objIdArr = [],
|
23
|
+
listenersArr = [],
|
24
|
+
storedAltContent,
|
25
|
+
storedAltContentId,
|
26
|
+
storedCallbackFn,
|
27
|
+
storedCallbackObj,
|
28
|
+
isDomLoaded = false,
|
29
|
+
isExpressInstallActive = false,
|
30
|
+
dynamicStylesheet,
|
31
|
+
dynamicStylesheetMedia,
|
32
|
+
autoHideShow = true,
|
33
|
+
|
34
|
+
/* Centralized function for browser feature detection
|
35
|
+
- User agent string detection is only used when no good alternative is possible
|
36
|
+
- Is executed directly for optimal performance
|
37
|
+
*/
|
38
|
+
ua = function() {
|
39
|
+
var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,
|
40
|
+
u = nav.userAgent.toLowerCase(),
|
41
|
+
p = nav.platform.toLowerCase(),
|
42
|
+
windows = p ? /win/.test(p) : /win/.test(u),
|
43
|
+
mac = p ? /mac/.test(p) : /mac/.test(u),
|
44
|
+
webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
|
45
|
+
ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html
|
46
|
+
playerVersion = [0,0,0],
|
47
|
+
d = null;
|
48
|
+
if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
|
49
|
+
d = nav.plugins[SHOCKWAVE_FLASH].description;
|
50
|
+
if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+
|
51
|
+
plugin = true;
|
52
|
+
ie = false; // cascaded feature detection for Internet Explorer
|
53
|
+
d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
|
54
|
+
playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
|
55
|
+
playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
|
56
|
+
playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
else if (typeof win.ActiveXObject != UNDEF) {
|
60
|
+
try {
|
61
|
+
var a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
|
62
|
+
if (a) { // a will return null when ActiveX is disabled
|
63
|
+
d = a.GetVariable("$version");
|
64
|
+
if (d) {
|
65
|
+
ie = true; // cascaded feature detection for Internet Explorer
|
66
|
+
d = d.split(" ")[1].split(",");
|
67
|
+
playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
71
|
+
catch(e) {}
|
72
|
+
}
|
73
|
+
return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };
|
74
|
+
}(),
|
75
|
+
|
76
|
+
/* Cross-browser onDomLoad
|
77
|
+
- Will fire an event as soon as the DOM of a web page is loaded
|
78
|
+
- Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/
|
79
|
+
- Regular onload serves as fallback
|
80
|
+
*/
|
81
|
+
onDomLoad = function() {
|
82
|
+
if (!ua.w3) { return; }
|
83
|
+
if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically
|
84
|
+
callDomLoadFunctions();
|
85
|
+
}
|
86
|
+
if (!isDomLoaded) {
|
87
|
+
if (typeof doc.addEventListener != UNDEF) {
|
88
|
+
doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false);
|
89
|
+
}
|
90
|
+
if (ua.ie && ua.win) {
|
91
|
+
doc.attachEvent(ON_READY_STATE_CHANGE, function() {
|
92
|
+
if (doc.readyState == "complete") {
|
93
|
+
doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee);
|
94
|
+
callDomLoadFunctions();
|
95
|
+
}
|
96
|
+
});
|
97
|
+
if (win == top) { // if not inside an iframe
|
98
|
+
(function(){
|
99
|
+
if (isDomLoaded) { return; }
|
100
|
+
try {
|
101
|
+
doc.documentElement.doScroll("left");
|
102
|
+
}
|
103
|
+
catch(e) {
|
104
|
+
setTimeout(arguments.callee, 0);
|
105
|
+
return;
|
106
|
+
}
|
107
|
+
callDomLoadFunctions();
|
108
|
+
})();
|
109
|
+
}
|
110
|
+
}
|
111
|
+
if (ua.wk) {
|
112
|
+
(function(){
|
113
|
+
if (isDomLoaded) { return; }
|
114
|
+
if (!/loaded|complete/.test(doc.readyState)) {
|
115
|
+
setTimeout(arguments.callee, 0);
|
116
|
+
return;
|
117
|
+
}
|
118
|
+
callDomLoadFunctions();
|
119
|
+
})();
|
120
|
+
}
|
121
|
+
addLoadEvent(callDomLoadFunctions);
|
122
|
+
}
|
123
|
+
}();
|
124
|
+
|
125
|
+
function callDomLoadFunctions() {
|
126
|
+
if (isDomLoaded) { return; }
|
127
|
+
try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early
|
128
|
+
var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span"));
|
129
|
+
t.parentNode.removeChild(t);
|
130
|
+
}
|
131
|
+
catch (e) { return; }
|
132
|
+
isDomLoaded = true;
|
133
|
+
var dl = domLoadFnArr.length;
|
134
|
+
for (var i = 0; i < dl; i++) {
|
135
|
+
domLoadFnArr[i]();
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
function addDomLoadEvent(fn) {
|
140
|
+
if (isDomLoaded) {
|
141
|
+
fn();
|
142
|
+
}
|
143
|
+
else {
|
144
|
+
domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
/* Cross-browser onload
|
149
|
+
- Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
|
150
|
+
- Will fire an event as soon as a web page including all of its assets are loaded
|
151
|
+
*/
|
152
|
+
function addLoadEvent(fn) {
|
153
|
+
if (typeof win.addEventListener != UNDEF) {
|
154
|
+
win.addEventListener("load", fn, false);
|
155
|
+
}
|
156
|
+
else if (typeof doc.addEventListener != UNDEF) {
|
157
|
+
doc.addEventListener("load", fn, false);
|
158
|
+
}
|
159
|
+
else if (typeof win.attachEvent != UNDEF) {
|
160
|
+
addListener(win, "onload", fn);
|
161
|
+
}
|
162
|
+
else if (typeof win.onload == "function") {
|
163
|
+
var fnOld = win.onload;
|
164
|
+
win.onload = function() {
|
165
|
+
fnOld();
|
166
|
+
fn();
|
167
|
+
};
|
168
|
+
}
|
169
|
+
else {
|
170
|
+
win.onload = fn;
|
171
|
+
}
|
172
|
+
}
|
173
|
+
|
174
|
+
/* Main function
|
175
|
+
- Will preferably execute onDomLoad, otherwise onload (as a fallback)
|
176
|
+
*/
|
177
|
+
function main() {
|
178
|
+
if (plugin) {
|
179
|
+
testPlayerVersion();
|
180
|
+
}
|
181
|
+
else {
|
182
|
+
matchVersions();
|
183
|
+
}
|
184
|
+
}
|
185
|
+
|
186
|
+
/* Detect the Flash Player version for non-Internet Explorer browsers
|
187
|
+
- Detecting the plug-in version via the object element is more precise than using the plugins collection item's description:
|
188
|
+
a. Both release and build numbers can be detected
|
189
|
+
b. Avoid wrong descriptions by corrupt installers provided by Adobe
|
190
|
+
c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports
|
191
|
+
- Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available
|
192
|
+
*/
|
193
|
+
function testPlayerVersion() {
|
194
|
+
var b = doc.getElementsByTagName("body")[0];
|
195
|
+
var o = createElement(OBJECT);
|
196
|
+
o.setAttribute("type", FLASH_MIME_TYPE);
|
197
|
+
var t = b.appendChild(o);
|
198
|
+
if (t) {
|
199
|
+
var counter = 0;
|
200
|
+
(function(){
|
201
|
+
if (typeof t.GetVariable != UNDEF) {
|
202
|
+
var d = t.GetVariable("$version");
|
203
|
+
if (d) {
|
204
|
+
d = d.split(" ")[1].split(",");
|
205
|
+
ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
206
|
+
}
|
207
|
+
}
|
208
|
+
else if (counter < 10) {
|
209
|
+
counter++;
|
210
|
+
setTimeout(arguments.callee, 10);
|
211
|
+
return;
|
212
|
+
}
|
213
|
+
b.removeChild(o);
|
214
|
+
t = null;
|
215
|
+
matchVersions();
|
216
|
+
})();
|
217
|
+
}
|
218
|
+
else {
|
219
|
+
matchVersions();
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
/* Perform Flash Player and SWF version matching; static publishing only
|
224
|
+
*/
|
225
|
+
function matchVersions() {
|
226
|
+
var rl = regObjArr.length;
|
227
|
+
if (rl > 0) {
|
228
|
+
for (var i = 0; i < rl; i++) { // for each registered object element
|
229
|
+
var id = regObjArr[i].id;
|
230
|
+
var cb = regObjArr[i].callbackFn;
|
231
|
+
var cbObj = {success:false, id:id};
|
232
|
+
if (ua.pv[0] > 0) {
|
233
|
+
var obj = getElementById(id);
|
234
|
+
if (obj) {
|
235
|
+
if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match!
|
236
|
+
setVisibility(id, true);
|
237
|
+
if (cb) {
|
238
|
+
cbObj.success = true;
|
239
|
+
cbObj.ref = getObjectById(id);
|
240
|
+
cb(cbObj);
|
241
|
+
}
|
242
|
+
}
|
243
|
+
else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported
|
244
|
+
var att = {};
|
245
|
+
att.data = regObjArr[i].expressInstall;
|
246
|
+
att.width = obj.getAttribute("width") || "0";
|
247
|
+
att.height = obj.getAttribute("height") || "0";
|
248
|
+
if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); }
|
249
|
+
if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); }
|
250
|
+
// parse HTML object param element's name-value pairs
|
251
|
+
var par = {};
|
252
|
+
var p = obj.getElementsByTagName("param");
|
253
|
+
var pl = p.length;
|
254
|
+
for (var j = 0; j < pl; j++) {
|
255
|
+
if (p[j].getAttribute("name").toLowerCase() != "movie") {
|
256
|
+
par[p[j].getAttribute("name")] = p[j].getAttribute("value");
|
257
|
+
}
|
258
|
+
}
|
259
|
+
showExpressInstall(att, par, id, cb);
|
260
|
+
}
|
261
|
+
else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF
|
262
|
+
displayAltContent(obj);
|
263
|
+
if (cb) { cb(cbObj); }
|
264
|
+
}
|
265
|
+
}
|
266
|
+
}
|
267
|
+
else { // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content)
|
268
|
+
setVisibility(id, true);
|
269
|
+
if (cb) {
|
270
|
+
var o = getObjectById(id); // test whether there is an HTML object element or not
|
271
|
+
if (o && typeof o.SetVariable != UNDEF) {
|
272
|
+
cbObj.success = true;
|
273
|
+
cbObj.ref = o;
|
274
|
+
}
|
275
|
+
cb(cbObj);
|
276
|
+
}
|
277
|
+
}
|
278
|
+
}
|
279
|
+
}
|
280
|
+
}
|
281
|
+
|
282
|
+
function getObjectById(objectIdStr) {
|
283
|
+
var r = null;
|
284
|
+
var o = getElementById(objectIdStr);
|
285
|
+
if (o && o.nodeName == "OBJECT") {
|
286
|
+
if (typeof o.SetVariable != UNDEF) {
|
287
|
+
r = o;
|
288
|
+
}
|
289
|
+
else {
|
290
|
+
var n = o.getElementsByTagName(OBJECT)[0];
|
291
|
+
if (n) {
|
292
|
+
r = n;
|
293
|
+
}
|
294
|
+
}
|
295
|
+
}
|
296
|
+
return r;
|
297
|
+
}
|
298
|
+
|
299
|
+
/* Requirements for Adobe Express Install
|
300
|
+
- only one instance can be active at a time
|
301
|
+
- fp 6.0.65 or higher
|
302
|
+
- Win/Mac OS only
|
303
|
+
- no Webkit engines older than version 312
|
304
|
+
*/
|
305
|
+
function canExpressInstall() {
|
306
|
+
return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312);
|
307
|
+
}
|
308
|
+
|
309
|
+
/* Show the Adobe Express Install dialog
|
310
|
+
- Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
|
311
|
+
*/
|
312
|
+
function showExpressInstall(att, par, replaceElemIdStr, callbackFn) {
|
313
|
+
isExpressInstallActive = true;
|
314
|
+
storedCallbackFn = callbackFn || null;
|
315
|
+
storedCallbackObj = {success:false, id:replaceElemIdStr};
|
316
|
+
var obj = getElementById(replaceElemIdStr);
|
317
|
+
if (obj) {
|
318
|
+
if (obj.nodeName == "OBJECT") { // static publishing
|
319
|
+
storedAltContent = abstractAltContent(obj);
|
320
|
+
storedAltContentId = null;
|
321
|
+
}
|
322
|
+
else { // dynamic publishing
|
323
|
+
storedAltContent = obj;
|
324
|
+
storedAltContentId = replaceElemIdStr;
|
325
|
+
}
|
326
|
+
att.id = EXPRESS_INSTALL_ID;
|
327
|
+
if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; }
|
328
|
+
if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; }
|
329
|
+
doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
|
330
|
+
var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
|
331
|
+
fv = "MMredirectURL=" + encodeURI(window.location).toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title;
|
332
|
+
if (typeof par.flashvars != UNDEF) {
|
333
|
+
par.flashvars += "&" + fv;
|
334
|
+
}
|
335
|
+
else {
|
336
|
+
par.flashvars = fv;
|
337
|
+
}
|
338
|
+
// IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
|
339
|
+
// because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
|
340
|
+
if (ua.ie && ua.win && obj.readyState != 4) {
|
341
|
+
var newObj = createElement("div");
|
342
|
+
replaceElemIdStr += "SWFObjectNew";
|
343
|
+
newObj.setAttribute("id", replaceElemIdStr);
|
344
|
+
obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf
|
345
|
+
obj.style.display = "none";
|
346
|
+
(function(){
|
347
|
+
if (obj.readyState == 4) {
|
348
|
+
obj.parentNode.removeChild(obj);
|
349
|
+
}
|
350
|
+
else {
|
351
|
+
setTimeout(arguments.callee, 10);
|
352
|
+
}
|
353
|
+
})();
|
354
|
+
}
|
355
|
+
createSWF(att, par, replaceElemIdStr);
|
356
|
+
}
|
357
|
+
}
|
358
|
+
|
359
|
+
/* Functions to abstract and display alternative content
|
360
|
+
*/
|
361
|
+
function displayAltContent(obj) {
|
362
|
+
if (ua.ie && ua.win && obj.readyState != 4) {
|
363
|
+
// IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
|
364
|
+
// because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
|
365
|
+
var el = createElement("div");
|
366
|
+
obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
|
367
|
+
el.parentNode.replaceChild(abstractAltContent(obj), el);
|
368
|
+
obj.style.display = "none";
|
369
|
+
(function(){
|
370
|
+
if (obj.readyState == 4) {
|
371
|
+
obj.parentNode.removeChild(obj);
|
372
|
+
}
|
373
|
+
else {
|
374
|
+
setTimeout(arguments.callee, 10);
|
375
|
+
}
|
376
|
+
})();
|
377
|
+
}
|
378
|
+
else {
|
379
|
+
obj.parentNode.replaceChild(abstractAltContent(obj), obj);
|
380
|
+
}
|
381
|
+
}
|
382
|
+
|
383
|
+
function abstractAltContent(obj) {
|
384
|
+
var ac = createElement("div");
|
385
|
+
if (ua.win && ua.ie) {
|
386
|
+
ac.innerHTML = obj.innerHTML;
|
387
|
+
}
|
388
|
+
else {
|
389
|
+
var nestedObj = obj.getElementsByTagName(OBJECT)[0];
|
390
|
+
if (nestedObj) {
|
391
|
+
var c = nestedObj.childNodes;
|
392
|
+
if (c) {
|
393
|
+
var cl = c.length;
|
394
|
+
for (var i = 0; i < cl; i++) {
|
395
|
+
if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
|
396
|
+
ac.appendChild(c[i].cloneNode(true));
|
397
|
+
}
|
398
|
+
}
|
399
|
+
}
|
400
|
+
}
|
401
|
+
}
|
402
|
+
return ac;
|
403
|
+
}
|
404
|
+
|
405
|
+
/* Cross-browser dynamic SWF creation
|
406
|
+
*/
|
407
|
+
function createSWF(attObj, parObj, id) {
|
408
|
+
var r, el = getElementById(id);
|
409
|
+
if (ua.wk && ua.wk < 312) { return r; }
|
410
|
+
if (el) {
|
411
|
+
if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
|
412
|
+
attObj.id = id;
|
413
|
+
}
|
414
|
+
if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
|
415
|
+
var att = "";
|
416
|
+
for (var i in attObj) {
|
417
|
+
if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries
|
418
|
+
if (i.toLowerCase() == "data") {
|
419
|
+
parObj.movie = attObj[i];
|
420
|
+
}
|
421
|
+
else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
|
422
|
+
att += ' class="' + attObj[i] + '"';
|
423
|
+
}
|
424
|
+
else if (i.toLowerCase() != "classid") {
|
425
|
+
att += ' ' + i + '="' + attObj[i] + '"';
|
426
|
+
}
|
427
|
+
}
|
428
|
+
}
|
429
|
+
var par = "";
|
430
|
+
for (var j in parObj) {
|
431
|
+
if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries
|
432
|
+
par += '<param name="' + j + '" value="' + parObj[j] + '" />';
|
433
|
+
}
|
434
|
+
}
|
435
|
+
el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
|
436
|
+
objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only)
|
437
|
+
r = getElementById(attObj.id);
|
438
|
+
}
|
439
|
+
else { // well-behaving browsers
|
440
|
+
var o = createElement(OBJECT);
|
441
|
+
o.setAttribute("type", FLASH_MIME_TYPE);
|
442
|
+
for (var m in attObj) {
|
443
|
+
if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries
|
444
|
+
if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
|
445
|
+
o.setAttribute("class", attObj[m]);
|
446
|
+
}
|
447
|
+
else if (m.toLowerCase() != "classid") { // filter out IE specific attribute
|
448
|
+
o.setAttribute(m, attObj[m]);
|
449
|
+
}
|
450
|
+
}
|
451
|
+
}
|
452
|
+
for (var n in parObj) {
|
453
|
+
if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element
|
454
|
+
createObjParam(o, n, parObj[n]);
|
455
|
+
}
|
456
|
+
}
|
457
|
+
el.parentNode.replaceChild(o, el);
|
458
|
+
r = o;
|
459
|
+
}
|
460
|
+
}
|
461
|
+
return r;
|
462
|
+
}
|
463
|
+
|
464
|
+
function createObjParam(el, pName, pValue) {
|
465
|
+
var p = createElement("param");
|
466
|
+
p.setAttribute("name", pName);
|
467
|
+
p.setAttribute("value", pValue);
|
468
|
+
el.appendChild(p);
|
469
|
+
}
|
470
|
+
|
471
|
+
/* Cross-browser SWF removal
|
472
|
+
- Especially needed to safely and completely remove a SWF in Internet Explorer
|
473
|
+
*/
|
474
|
+
function removeSWF(id) {
|
475
|
+
var obj = getElementById(id);
|
476
|
+
if (obj && obj.nodeName == "OBJECT") {
|
477
|
+
if (ua.ie && ua.win) {
|
478
|
+
obj.style.display = "none";
|
479
|
+
(function(){
|
480
|
+
if (obj.readyState == 4) {
|
481
|
+
removeObjectInIE(id);
|
482
|
+
}
|
483
|
+
else {
|
484
|
+
setTimeout(arguments.callee, 10);
|
485
|
+
}
|
486
|
+
})();
|
487
|
+
}
|
488
|
+
else {
|
489
|
+
obj.parentNode.removeChild(obj);
|
490
|
+
}
|
491
|
+
}
|
492
|
+
}
|
493
|
+
|
494
|
+
function removeObjectInIE(id) {
|
495
|
+
var obj = getElementById(id);
|
496
|
+
if (obj) {
|
497
|
+
for (var i in obj) {
|
498
|
+
if (typeof obj[i] == "function") {
|
499
|
+
obj[i] = null;
|
500
|
+
}
|
501
|
+
}
|
502
|
+
obj.parentNode.removeChild(obj);
|
503
|
+
}
|
504
|
+
}
|
505
|
+
|
506
|
+
/* Functions to optimize JavaScript compression
|
507
|
+
*/
|
508
|
+
function getElementById(id) {
|
509
|
+
var el = null;
|
510
|
+
try {
|
511
|
+
el = doc.getElementById(id);
|
512
|
+
}
|
513
|
+
catch (e) {}
|
514
|
+
return el;
|
515
|
+
}
|
516
|
+
|
517
|
+
function createElement(el) {
|
518
|
+
return doc.createElement(el);
|
519
|
+
}
|
520
|
+
|
521
|
+
/* Updated attachEvent function for Internet Explorer
|
522
|
+
- Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks
|
523
|
+
*/
|
524
|
+
function addListener(target, eventType, fn) {
|
525
|
+
target.attachEvent(eventType, fn);
|
526
|
+
listenersArr[listenersArr.length] = [target, eventType, fn];
|
527
|
+
}
|
528
|
+
|
529
|
+
/* Flash Player and SWF content version matching
|
530
|
+
*/
|
531
|
+
function hasPlayerVersion(rv) {
|
532
|
+
var pv = ua.pv, v = rv.split(".");
|
533
|
+
v[0] = parseInt(v[0], 10);
|
534
|
+
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
|
535
|
+
v[2] = parseInt(v[2], 10) || 0;
|
536
|
+
return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
|
537
|
+
}
|
538
|
+
|
539
|
+
/* Cross-browser dynamic CSS creation
|
540
|
+
- Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
|
541
|
+
*/
|
542
|
+
function createCSS(sel, decl, media, newStyle) {
|
543
|
+
if (ua.ie && ua.mac) { return; }
|
544
|
+
var h = doc.getElementsByTagName("head")[0];
|
545
|
+
if (!h) { return; } // to also support badly authored HTML pages that lack a head element
|
546
|
+
var m = (media && typeof media == "string") ? media : "screen";
|
547
|
+
if (newStyle) {
|
548
|
+
dynamicStylesheet = null;
|
549
|
+
dynamicStylesheetMedia = null;
|
550
|
+
}
|
551
|
+
if (!dynamicStylesheet || dynamicStylesheetMedia != m) {
|
552
|
+
// create dynamic stylesheet + get a global reference to it
|
553
|
+
var s = createElement("style");
|
554
|
+
s.setAttribute("type", "text/css");
|
555
|
+
s.setAttribute("media", m);
|
556
|
+
dynamicStylesheet = h.appendChild(s);
|
557
|
+
if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
|
558
|
+
dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1];
|
559
|
+
}
|
560
|
+
dynamicStylesheetMedia = m;
|
561
|
+
}
|
562
|
+
// add style rule
|
563
|
+
if (ua.ie && ua.win) {
|
564
|
+
if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) {
|
565
|
+
dynamicStylesheet.addRule(sel, decl);
|
566
|
+
}
|
567
|
+
}
|
568
|
+
else {
|
569
|
+
if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) {
|
570
|
+
dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
|
571
|
+
}
|
572
|
+
}
|
573
|
+
}
|
574
|
+
|
575
|
+
function setVisibility(id, isVisible) {
|
576
|
+
if (!autoHideShow) { return; }
|
577
|
+
var v = isVisible ? "visible" : "hidden";
|
578
|
+
if (isDomLoaded && getElementById(id)) {
|
579
|
+
getElementById(id).style.visibility = v;
|
580
|
+
}
|
581
|
+
else {
|
582
|
+
createCSS("#" + id, "visibility:" + v);
|
583
|
+
}
|
584
|
+
}
|
585
|
+
|
586
|
+
/* Filter to avoid XSS attacks
|
587
|
+
*/
|
588
|
+
function urlEncodeIfNecessary(s) {
|
589
|
+
var regex = /[\\\"<>\.;]/;
|
590
|
+
var hasBadChars = regex.exec(s) != null;
|
591
|
+
return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s;
|
592
|
+
}
|
593
|
+
|
594
|
+
/* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only)
|
595
|
+
*/
|
596
|
+
var cleanup = function() {
|
597
|
+
if (ua.ie && ua.win) {
|
598
|
+
window.attachEvent("onunload", function() {
|
599
|
+
// remove listeners to avoid memory leaks
|
600
|
+
var ll = listenersArr.length;
|
601
|
+
for (var i = 0; i < ll; i++) {
|
602
|
+
listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);
|
603
|
+
}
|
604
|
+
// cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect
|
605
|
+
var il = objIdArr.length;
|
606
|
+
for (var j = 0; j < il; j++) {
|
607
|
+
removeSWF(objIdArr[j]);
|
608
|
+
}
|
609
|
+
// cleanup library's main closures to avoid memory leaks
|
610
|
+
for (var k in ua) {
|
611
|
+
ua[k] = null;
|
612
|
+
}
|
613
|
+
ua = null;
|
614
|
+
for (var l in swfobject) {
|
615
|
+
swfobject[l] = null;
|
616
|
+
}
|
617
|
+
swfobject = null;
|
618
|
+
});
|
619
|
+
}
|
620
|
+
}();
|
621
|
+
|
622
|
+
return {
|
623
|
+
/* Public API
|
624
|
+
- Reference: http://code.google.com/p/swfobject/wiki/documentation
|
625
|
+
*/
|
626
|
+
registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) {
|
627
|
+
if (ua.w3 && objectIdStr && swfVersionStr) {
|
628
|
+
var regObj = {};
|
629
|
+
regObj.id = objectIdStr;
|
630
|
+
regObj.swfVersion = swfVersionStr;
|
631
|
+
regObj.expressInstall = xiSwfUrlStr;
|
632
|
+
regObj.callbackFn = callbackFn;
|
633
|
+
regObjArr[regObjArr.length] = regObj;
|
634
|
+
setVisibility(objectIdStr, false);
|
635
|
+
}
|
636
|
+
else if (callbackFn) {
|
637
|
+
callbackFn({success:false, id:objectIdStr});
|
638
|
+
}
|
639
|
+
},
|
640
|
+
|
641
|
+
getObjectById: function(objectIdStr) {
|
642
|
+
if (ua.w3) {
|
643
|
+
return getObjectById(objectIdStr);
|
644
|
+
}
|
645
|
+
},
|
646
|
+
|
647
|
+
embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) {
|
648
|
+
var callbackObj = {success:false, id:replaceElemIdStr};
|
649
|
+
if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) {
|
650
|
+
setVisibility(replaceElemIdStr, false);
|
651
|
+
addDomLoadEvent(function() {
|
652
|
+
widthStr += ""; // auto-convert to string
|
653
|
+
heightStr += "";
|
654
|
+
var att = {};
|
655
|
+
if (attObj && typeof attObj === OBJECT) {
|
656
|
+
for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs
|
657
|
+
att[i] = attObj[i];
|
658
|
+
}
|
659
|
+
}
|
660
|
+
att.data = swfUrlStr;
|
661
|
+
att.width = widthStr;
|
662
|
+
att.height = heightStr;
|
663
|
+
var par = {};
|
664
|
+
if (parObj && typeof parObj === OBJECT) {
|
665
|
+
for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs
|
666
|
+
par[j] = parObj[j];
|
667
|
+
}
|
668
|
+
}
|
669
|
+
if (flashvarsObj && typeof flashvarsObj === OBJECT) {
|
670
|
+
for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs
|
671
|
+
if (typeof par.flashvars != UNDEF) {
|
672
|
+
par.flashvars += "&" + k + "=" + flashvarsObj[k];
|
673
|
+
}
|
674
|
+
else {
|
675
|
+
par.flashvars = k + "=" + flashvarsObj[k];
|
676
|
+
}
|
677
|
+
}
|
678
|
+
}
|
679
|
+
if (hasPlayerVersion(swfVersionStr)) { // create SWF
|
680
|
+
var obj = createSWF(att, par, replaceElemIdStr);
|
681
|
+
if (att.id == replaceElemIdStr) {
|
682
|
+
setVisibility(replaceElemIdStr, true);
|
683
|
+
}
|
684
|
+
callbackObj.success = true;
|
685
|
+
callbackObj.ref = obj;
|
686
|
+
}
|
687
|
+
else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install
|
688
|
+
att.data = xiSwfUrlStr;
|
689
|
+
showExpressInstall(att, par, replaceElemIdStr, callbackFn);
|
690
|
+
return;
|
691
|
+
}
|
692
|
+
else { // show alternative content
|
693
|
+
setVisibility(replaceElemIdStr, true);
|
694
|
+
}
|
695
|
+
if (callbackFn) { callbackFn(callbackObj); }
|
696
|
+
});
|
697
|
+
}
|
698
|
+
else if (callbackFn) { callbackFn(callbackObj); }
|
699
|
+
},
|
700
|
+
|
701
|
+
switchOffAutoHideShow: function() {
|
702
|
+
autoHideShow = false;
|
703
|
+
},
|
704
|
+
|
705
|
+
ua: ua,
|
706
|
+
|
707
|
+
getFlashPlayerVersion: function() {
|
708
|
+
return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
|
709
|
+
},
|
710
|
+
|
711
|
+
hasFlashPlayerVersion: hasPlayerVersion,
|
712
|
+
|
713
|
+
createSWF: function(attObj, parObj, replaceElemIdStr) {
|
714
|
+
if (ua.w3) {
|
715
|
+
return createSWF(attObj, parObj, replaceElemIdStr);
|
716
|
+
}
|
717
|
+
else {
|
718
|
+
return undefined;
|
719
|
+
}
|
720
|
+
},
|
721
|
+
|
722
|
+
showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) {
|
723
|
+
if (ua.w3 && canExpressInstall()) {
|
724
|
+
showExpressInstall(att, par, replaceElemIdStr, callbackFn);
|
725
|
+
}
|
726
|
+
},
|
727
|
+
|
728
|
+
removeSWF: function(objElemIdStr) {
|
729
|
+
if (ua.w3) {
|
730
|
+
removeSWF(objElemIdStr);
|
731
|
+
}
|
732
|
+
},
|
733
|
+
|
734
|
+
createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) {
|
735
|
+
if (ua.w3) {
|
736
|
+
createCSS(selStr, declStr, mediaStr, newStyleBoolean);
|
737
|
+
}
|
738
|
+
},
|
739
|
+
|
740
|
+
addDomLoadEvent: addDomLoadEvent,
|
741
|
+
|
742
|
+
addLoadEvent: addLoadEvent,
|
743
|
+
|
744
|
+
getQueryParamValue: function(param) {
|
745
|
+
var q = doc.location.search || doc.location.hash;
|
746
|
+
if (q) {
|
747
|
+
if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark
|
748
|
+
if (param == null) {
|
749
|
+
return urlEncodeIfNecessary(q);
|
750
|
+
}
|
751
|
+
var pairs = q.split("&");
|
752
|
+
for (var i = 0; i < pairs.length; i++) {
|
753
|
+
if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
|
754
|
+
return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));
|
755
|
+
}
|
756
|
+
}
|
757
|
+
}
|
758
|
+
return "";
|
759
|
+
},
|
760
|
+
|
761
|
+
// For internal usage only
|
762
|
+
expressInstallCallback: function() {
|
763
|
+
if (isExpressInstallActive) {
|
764
|
+
var obj = getElementById(EXPRESS_INSTALL_ID);
|
765
|
+
if (obj && storedAltContent) {
|
766
|
+
obj.parentNode.replaceChild(storedAltContent, obj);
|
767
|
+
if (storedAltContentId) {
|
768
|
+
setVisibility(storedAltContentId, true);
|
769
|
+
if (ua.ie && ua.win) { storedAltContent.style.display = "block"; }
|
770
|
+
}
|
771
|
+
if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); }
|
772
|
+
}
|
773
|
+
isExpressInstallActive = false;
|
774
|
+
}
|
775
|
+
}
|
776
|
+
};
|
777
|
+
}();
|