diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer.dll deleted file mode 100644 index ed8847d2a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_cs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_cs.dll deleted file mode 100644 index a4cff58d8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_cs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_da.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_da.dll deleted file mode 100644 index 71be1136d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_da.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_de.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_de.dll deleted file mode 100644 index bbe50b676..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_de.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_en.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_en.dll deleted file mode 100644 index 3d3e0789b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_en.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_es.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_es.dll deleted file mode 100644 index 25e227f27..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_es.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_fi.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_fi.dll deleted file mode 100644 index 5248e4b7d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_fi.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_fr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_fr.dll deleted file mode 100644 index bd4977ece..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_fr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_hu.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_hu.dll deleted file mode 100644 index 03f5a0476..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_hu.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_it.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_it.dll deleted file mode 100644 index 808b29005..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_it.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ja.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ja.dll deleted file mode 100644 index c4813d477..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ja.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ko.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ko.dll deleted file mode 100644 index dc3bf8a51..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ko.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_nb.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_nb.dll deleted file mode 100644 index 0fc725142..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_nb.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_nl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_nl.dll deleted file mode 100644 index a5b926033..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_nl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_pl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_pl.dll deleted file mode 100644 index 3ef2eca31..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_pl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_pt.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_pt.dll deleted file mode 100644 index 69eadb69c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_pt.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ru.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ru.dll deleted file mode 100644 index a2b4a6de2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_ru.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_sk.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_sk.dll deleted file mode 100644 index d4c45fc6e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_sk.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_sv.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_sv.dll deleted file mode 100644 index 3a4704e5f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_sv.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_th.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_th.dll deleted file mode 100644 index 55fc06217..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_th.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_tr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_tr.dll deleted file mode 100644 index 7e0223845..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_tr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_zh_CN.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_zh_CN.dll deleted file mode 100644 index 1fda32854..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_zh_CN.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_zh_TW.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_zh_TW.dll deleted file mode 100644 index 93502d09a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/CRViewer_res_zh_TW.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/LCIDTable.xml b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/LCIDTable.xml deleted file mode 100644 index 16550e3a9..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/LCIDTable.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl.cab deleted file mode 100644 index d064df9e2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl.dll deleted file mode 100644 index a39436c85..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_cs.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_cs.cab deleted file mode 100644 index 39e5b44a2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_cs.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_cs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_cs.dll deleted file mode 100644 index 153485056..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_cs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_da.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_da.cab deleted file mode 100644 index b815eab9b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_da.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_da.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_da.dll deleted file mode 100644 index 67dbb0b65..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_da.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_de.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_de.cab deleted file mode 100644 index 688af888e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_de.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_de.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_de.dll deleted file mode 100644 index 60e8920c9..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_de.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_en.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_en.cab deleted file mode 100644 index a1850dc1e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_en.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_en.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_en.dll deleted file mode 100644 index 03184d472..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_en.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_es.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_es.cab deleted file mode 100644 index 065f8e4c9..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_es.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_es.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_es.dll deleted file mode 100644 index 12f06a622..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_es.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fi.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fi.cab deleted file mode 100644 index 9043ccb7f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fi.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fi.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fi.dll deleted file mode 100644 index 0b7a79c4b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fi.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fr.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fr.cab deleted file mode 100644 index 8c0cc0e82..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fr.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fr.dll deleted file mode 100644 index c79744981..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_fr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_hu.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_hu.cab deleted file mode 100644 index f1b0f5b9f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_hu.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_hu.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_hu.dll deleted file mode 100644 index 4f29662f6..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_hu.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_it.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_it.cab deleted file mode 100644 index 92fcbba48..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_it.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_it.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_it.dll deleted file mode 100644 index ea73fae3c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_it.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ja.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ja.cab deleted file mode 100644 index 219554fd8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ja.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ja.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ja.dll deleted file mode 100644 index 4925e1d52..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ja.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ko.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ko.cab deleted file mode 100644 index f23dbf9bc..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ko.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ko.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ko.dll deleted file mode 100644 index 36df11530..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ko.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nb.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nb.cab deleted file mode 100644 index 250ca62af..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nb.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nb.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nb.dll deleted file mode 100644 index a7978f12d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nb.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nl.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nl.cab deleted file mode 100644 index 1bca31a99..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nl.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nl.dll deleted file mode 100644 index b15af453e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_nl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pl.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pl.cab deleted file mode 100644 index 4d14d35c4..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pl.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pl.dll deleted file mode 100644 index 5070a70a1..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pt.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pt.cab deleted file mode 100644 index 64097cd3a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pt.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pt.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pt.dll deleted file mode 100644 index 7137e4ba2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_pt.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ru.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ru.cab deleted file mode 100644 index 8620846a0..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ru.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ru.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ru.dll deleted file mode 100644 index aac1009f5..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_ru.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sk.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sk.cab deleted file mode 100644 index 0e00d6187..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sk.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sk.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sk.dll deleted file mode 100644 index 716703993..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sk.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sv.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sv.cab deleted file mode 100644 index eb590fab0..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sv.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sv.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sv.dll deleted file mode 100644 index 3d12a32c4..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_sv.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_th.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_th.cab deleted file mode 100644 index 7d09381fb..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_th.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_th.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_th.dll deleted file mode 100644 index 0f1ea7ec4..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_th.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_tr.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_tr.cab deleted file mode 100644 index 6bb09fc0f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_tr.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_tr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_tr.dll deleted file mode 100644 index e2f68b1f6..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_tr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_CN.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_CN.cab deleted file mode 100644 index 6cc2673ef..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_CN.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_CN.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_CN.dll deleted file mode 100644 index 267d2eb65..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_CN.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_TW.cab b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_TW.cab deleted file mode 100644 index 8375f950a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_TW.cab and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_TW.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_TW.dll deleted file mode 100644 index fc7a2aed8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/PrintControl_res_zh_TW.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/XERCES27_LICENSE.txt b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/XERCES27_LICENSE.txt deleted file mode 100644 index d64569567..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/XERCES27_LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/crviewer.dep b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/crviewer.dep deleted file mode 100644 index 2b05d2796..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/crviewer.dep +++ /dev/null @@ -1,42 +0,0 @@ -; ------------------------------------------------------------------------------ -; Dependency file for setup wizards. - - -[Version] -Version=12.0.0.88 -; ------------------------------------------------------------------------------ -; Dependencies for CRViewer.DLL - - -[CRViewer.DLL] -Dest=$(CommonFiles)\Business Objects\4.0\crystalreportviewers120\ActiveXControls -Register=$(DLLSelfRegister) -Version=12.0.0.88 -Uses1=CRAXDRT.DLL -Uses2=COMCAT.DLL -Uses3=OLEPRO32.DLL -Uses4=gdiplus.dll -Uses5=usp10.dll -Uses6= - -[gdiplus.dll] -Dest=$(CommonFiles)\Business Objects\4.0\bin -Uses1= - -[usp10.dll] -Dest=$(WinSysPath) -Uses1= - -[COMCAT.DLL] -Dest=$(WinSysPathSysFile) -Register=$(DLLSelfRegister) -Uses1= - -[OLEPRO32.DLL] -Dest=$(WinSysPath) -Uses1= - -[CRAXDRT.DLL] -Dest=$(CommonFiles)\Business Objects\4.0\bin -Register=$(dllSelfRegister) -Uses1= diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg.dll deleted file mode 100644 index 8a35cc74c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_cs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_cs.dll deleted file mode 100644 index 78bb1329f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_cs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_da.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_da.dll deleted file mode 100644 index 9b152bf2f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_da.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_de.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_de.dll deleted file mode 100644 index 6ef4485ca..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_de.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_en.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_en.dll deleted file mode 100644 index b74030d86..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_en.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_es.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_es.dll deleted file mode 100644 index 64e69777c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_es.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_fi.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_fi.dll deleted file mode 100644 index cf81dd0ac..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_fi.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_fr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_fr.dll deleted file mode 100644 index 40b779e11..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_fr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_hu.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_hu.dll deleted file mode 100644 index d49f64bf0..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_hu.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_it.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_it.dll deleted file mode 100644 index 6f7fd3a5d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_it.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ja.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ja.dll deleted file mode 100644 index 3e64dc9df..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ja.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ko.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ko.dll deleted file mode 100644 index 2e554ede2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ko.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_nb.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_nb.dll deleted file mode 100644 index f4699c359..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_nb.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_nl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_nl.dll deleted file mode 100644 index 79ee9c850..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_nl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_pl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_pl.dll deleted file mode 100644 index 588014949..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_pl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_pt.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_pt.dll deleted file mode 100644 index 459be4349..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_pt.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ru.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ru.dll deleted file mode 100644 index 73b112d81..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_ru.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_sk.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_sk.dll deleted file mode 100644 index 9e9e23647..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_sk.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_sv.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_sv.dll deleted file mode 100644 index c9506e2c8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_sv.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_th.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_th.dll deleted file mode 100644 index afd9ea235..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_th.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_tr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_tr.dll deleted file mode 100644 index 4b7cbc3fb..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_tr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_zh_CN.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_zh_CN.dll deleted file mode 100644 index 9001cf74f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_zh_CN.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_zh_TW.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_zh_TW.dll deleted file mode 100644 index 4a1d4e098..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/csprintdlg_res_zh_TW.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/pvlocale-1-0.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/pvlocale-1-0.dll deleted file mode 100644 index 41e13ef3f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/pvlocale-1-0.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp.dll deleted file mode 100644 index 3e30360df..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_cs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_cs.dll deleted file mode 100644 index b4e0e2432..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_cs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_da.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_da.dll deleted file mode 100644 index c7401bec2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_da.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_de.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_de.dll deleted file mode 100644 index cf795bd31..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_de.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_en.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_en.dll deleted file mode 100644 index c96458834..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_en.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_es.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_es.dll deleted file mode 100644 index 9edd111a2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_es.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_fi.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_fi.dll deleted file mode 100644 index 81fb5e852..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_fi.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_fr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_fr.dll deleted file mode 100644 index cfde7a2e7..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_fr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_hu.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_hu.dll deleted file mode 100644 index a378b28bf..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_hu.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_it.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_it.dll deleted file mode 100644 index 943073782..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_it.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ja.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ja.dll deleted file mode 100644 index 3d2ad5905..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ja.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ko.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ko.dll deleted file mode 100644 index 2448fc273..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ko.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_nb.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_nb.dll deleted file mode 100644 index fc2525f98..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_nb.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_nl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_nl.dll deleted file mode 100644 index 9ab882fe5..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_nl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_pl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_pl.dll deleted file mode 100644 index 6ab382180..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_pl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_pt.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_pt.dll deleted file mode 100644 index d2bad4afc..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_pt.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ru.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ru.dll deleted file mode 100644 index 2341779a5..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_ru.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_sk.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_sk.dll deleted file mode 100644 index f54d5b11f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_sk.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_sv.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_sv.dll deleted file mode 100644 index 49306b19c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_sv.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_th.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_th.dll deleted file mode 100644 index e2a51c342..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_th.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_tr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_tr.dll deleted file mode 100644 index d3c90709a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_tr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_zh_CN.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_zh_CN.dll deleted file mode 100644 index 34aeb9baf..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_zh_CN.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_zh_TW.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_zh_TW.dll deleted file mode 100644 index ed917adff..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/sviewhlp_res_zh_TW.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs.dll deleted file mode 100644 index f97763ce8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_cs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_cs.dll deleted file mode 100644 index 7b59fda90..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_cs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_da.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_da.dll deleted file mode 100644 index 8d20c9027..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_da.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_de.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_de.dll deleted file mode 100644 index e1bd271b4..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_de.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_en.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_en.dll deleted file mode 100644 index 9965b3898..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_en.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_es.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_es.dll deleted file mode 100644 index 3cc6b8e48..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_es.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_fi.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_fi.dll deleted file mode 100644 index a2bc49e0c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_fi.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_fr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_fr.dll deleted file mode 100644 index 8eb8f8d05..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_fr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_hu.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_hu.dll deleted file mode 100644 index 2e8afa865..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_hu.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_it.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_it.dll deleted file mode 100644 index def7d93ba..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_it.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ja.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ja.dll deleted file mode 100644 index b000b9221..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ja.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ko.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ko.dll deleted file mode 100644 index fd87a3531..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ko.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_nb.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_nb.dll deleted file mode 100644 index 333dcabb7..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_nb.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_nl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_nl.dll deleted file mode 100644 index 356d33c12..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_nl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_pl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_pl.dll deleted file mode 100644 index 7c6234429..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_pl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_pt.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_pt.dll deleted file mode 100644 index 47b5aad2f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_pt.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ru.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ru.dll deleted file mode 100644 index 6d33586d2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_ru.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_sk.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_sk.dll deleted file mode 100644 index ed89cd7ea..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_sk.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_sv.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_sv.dll deleted file mode 100644 index 0b1d9e350..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_sv.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_th.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_th.dll deleted file mode 100644 index eb06122ec..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_th.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_tr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_tr.dll deleted file mode 100644 index 44ee7159a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_tr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_zh_CN.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_zh_CN.dll deleted file mode 100644 index ecbda8ae8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_zh_CN.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_zh_TW.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_zh_TW.dll deleted file mode 100644 index df671983e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/swebrs_res_zh_TW.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl.dll deleted file mode 100644 index c0c4dc884..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_cs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_cs.dll deleted file mode 100644 index a829874df..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_cs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_da.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_da.dll deleted file mode 100644 index df5c8b2ed..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_da.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_de.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_de.dll deleted file mode 100644 index 59c93a0cd..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_de.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_en.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_en.dll deleted file mode 100644 index 2c8c545d4..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_en.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_es.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_es.dll deleted file mode 100644 index 4aaf49702..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_es.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_fi.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_fi.dll deleted file mode 100644 index e861b40b0..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_fi.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_fr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_fr.dll deleted file mode 100644 index dc739dfe6..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_fr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_hu.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_hu.dll deleted file mode 100644 index 6090f8bb0..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_hu.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_it.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_it.dll deleted file mode 100644 index b3a54f4dd..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_it.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ja.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ja.dll deleted file mode 100644 index b91938258..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ja.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ko.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ko.dll deleted file mode 100644 index 653e894d8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ko.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_nb.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_nb.dll deleted file mode 100644 index eea8e180b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_nb.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_nl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_nl.dll deleted file mode 100644 index 06a02473c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_nl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_pl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_pl.dll deleted file mode 100644 index 00a18426f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_pl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_pt.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_pt.dll deleted file mode 100644 index 1bcc00419..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_pt.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ru.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ru.dll deleted file mode 100644 index 3032ebdfc..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_ru.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_sk.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_sk.dll deleted file mode 100644 index 6181d8883..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_sk.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_sv.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_sv.dll deleted file mode 100644 index 487a25eca..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_sv.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_th.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_th.dll deleted file mode 100644 index c13e2ea71..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_th.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_tr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_tr.dll deleted file mode 100644 index 3edf50b84..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_tr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_zh_CN.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_zh_CN.dll deleted file mode 100644 index 58def180f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_zh_CN.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_zh_TW.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_zh_TW.dll deleted file mode 100644 index 4ccc56307..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/PrintControl_res_zh_TW.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/XERCES27_LICENSE.txt b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/XERCES27_LICENSE.txt deleted file mode 100644 index d64569567..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/XERCES27_LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg.dll deleted file mode 100644 index 9c151391c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_cs.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_cs.dll deleted file mode 100644 index de1e92310..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_cs.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_da.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_da.dll deleted file mode 100644 index 3e3810920..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_da.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_de.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_de.dll deleted file mode 100644 index f03d46317..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_de.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_en.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_en.dll deleted file mode 100644 index 9077cbad7..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_en.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_es.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_es.dll deleted file mode 100644 index 157d36a74..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_es.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_fi.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_fi.dll deleted file mode 100644 index 38622de62..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_fi.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_fr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_fr.dll deleted file mode 100644 index fdce10738..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_fr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_hu.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_hu.dll deleted file mode 100644 index f2104ed10..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_hu.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_it.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_it.dll deleted file mode 100644 index 7482484a4..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_it.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ja.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ja.dll deleted file mode 100644 index 664517b09..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ja.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ko.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ko.dll deleted file mode 100644 index 19846bbd8..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ko.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_nb.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_nb.dll deleted file mode 100644 index fa520922e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_nb.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_nl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_nl.dll deleted file mode 100644 index 09911d906..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_nl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_pl.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_pl.dll deleted file mode 100644 index 93008e092..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_pl.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_pt.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_pt.dll deleted file mode 100644 index df3790ef1..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_pt.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ru.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ru.dll deleted file mode 100644 index da268ac2a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_ru.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_sk.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_sk.dll deleted file mode 100644 index 5cd4ea740..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_sk.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_sv.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_sv.dll deleted file mode 100644 index f35b40bdc..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_sv.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_th.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_th.dll deleted file mode 100644 index 9d6807bc2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_th.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_tr.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_tr.dll deleted file mode 100644 index c60b356ea..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_tr.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_zh_CN.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_zh_CN.dll deleted file mode 100644 index 2dedb7c0b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_zh_CN.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_zh_TW.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_zh_TW.dll deleted file mode 100644 index bae6570f9..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/csprintdlg_res_zh_TW.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/pvlocale-1-0.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/pvlocale-1-0.dll deleted file mode 100644 index 3c8fe2416..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/pvlocale-1-0.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/xerces-c_2_7.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/xerces-c_2_7.dll deleted file mode 100644 index 9a81d47f1..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/win64_x64/xerces-c_2_7.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/xerces-c_2_7.dll b/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/xerces-c_2_7.dll deleted file mode 100644 index bde06c300..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/ActiveXControls/xerces-c_2_7.dll and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/allInOne.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/allInOne.js deleted file mode 100644 index 6f8cadda4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/allInOne.js +++ /dev/null @@ -1,12 +0,0 @@ -/*** - -MochiKit.Base 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ -if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Base")}if(typeof (MochiKit)=="undefined"){MochiKit={}}if(typeof (MochiKit.Base)=="undefined"){MochiKit.Base={}}MochiKit.Base.VERSION="1.4";MochiKit.Base.NAME="MochiKit.Base";MochiKit.Base.update=function(B,D){if(B===null){B={}}for(var C=1;CC){A=C}}G=[];for(E=0;E=0;H--){G=[E[H].apply(this,G)]}return G[0]}},bind:function(E,C){if(typeof (E)=="string"){E=C[E]}var D=E.im_func;var G=E.im_preargs;var B=E.im_self;var A=MochiKit.Base;if(typeof (E)=="function"&&typeof (E.apply)=="undefined"){E=A._wrapDumbFunction(E)}if(typeof (D)!="function"){D=E}if(typeof (C)!="undefined"){B=C}if(typeof (G)=="undefined"){G=[]}else{G=G.slice()}A.extend(G,arguments,2);var F=function(){var I=arguments;var J=arguments.callee;if(J.im_preargs.length>0){I=A.concat(J.im_preargs,I)}var H=J.im_self;if(!H){H=this}return J.im_func.apply(H,I)};F.im_self=B;F.im_func=D;F.im_preargs=G;return F},bindMethods:function(B){var D=MochiKit.Base.bind;for(var A in B){var C=B[A];if(typeof (C)=="function"){B[A]=D(C,B)}}},registerComparator:function(C,B,A,D){MochiKit.Base.comparatorRegistry.register(C,B,A,D)},_primitives:{"boolean":true,string:true,number:true},compare:function(F,B){if(F==B){return 0}var E=(typeof (F)=="undefined"||F===null);var G=(typeof (B)=="undefined"||B===null);if(E&&G){return 0}else{if(E){return -1}else{if(G){return 1}}}var A=MochiKit.Base;var D=A._primitives;if(!(typeof (F) in D&&typeof (B) in D)){try{return A.comparatorRegistry.match(F,B)}catch(H){if(H!=A.NotFound){throw H}}}if(FB){return 1}}var C=A.repr;throw new TypeError(C(F)+" and "+C(B)+" can not be compared")},compareDateLike:function(B,A){return MochiKit.Base.compare(B.getTime(),A.getTime())},compareArrayLike:function(B,A){var F=MochiKit.Base.compare;var E=B.length;var G=0;if(E>A.length){G=1;E=A.length}else{if(E=0;C--){D+=F[C]}}else{D+=F}}if(E<=0){throw new TypeError("mean() requires at least one argument")}return D/E},median:function(){var B=MochiKit.Base.flattenArguments(arguments);if(B.length===0){throw new TypeError("median() requires at least one argument")}B.sort(compare);if(B.length%2==0){var A=B.length/2;return(B[A]+B[A-1])/2}else{return B[(B.length-1)/2]}},findValue:function(A,E,F,B){if(typeof (B)=="undefined"||B===null){B=A.length}if(typeof (F)=="undefined"||F===null){F=0}var D=MochiKit.Base.compare;for(var C=F;C0))){var G=MochiKit.DOM.formContents(H);H=G[0];I=G[1]}else{if(arguments.length==1){var A=H;H=[];I=[];for(var B in A){var J=A[B];if(typeof (J)!="function"){H.push(B);I.push(J)}}}}var E=[];var F=Math.min(H.length,I.length);var C=MochiKit.Base.urlEncode;for(var D=0;D1){A=MochiKit.Base.partial.apply(null,arguments)}return this.addCallbacks(A,A)},addCallback:function(A){if(arguments.length>1){A=MochiKit.Base.partial.apply(null,arguments)}return this.addCallbacks(A,null)},addErrback:function(A){if(arguments.length>1){A=MochiKit.Base.partial.apply(null,arguments)}return this.addCallbacks(null,A)},addCallbacks:function(A,B){if(this.chained){throw new Error("Chained Deferreds can not be re-used")}this.chain.push([A,B]);if(this.fired>=0){this._fire()}return this},_fire:function(){var D=this.chain;var G=this.fired;var C=this.results[G];var B=this;var A=null;while(D.length>0&&this.paused===0){var H=D.shift();var F=H[G];if(F===null){continue}try{C=F(C);G=((C instanceof Error)?1:0);if(C instanceof MochiKit.Async.Deferred){A=function(I){B._resback(I);B.paused--;if((B.paused===0)&&(B.fired>=0)){B._fire()}};this.paused++}}catch(E){G=1;if(!(E instanceof Error)){E=new MochiKit.Async.GenericError(E)}C=E}}this.fired=G;this.results[G]=C;if(A&&this.paused){C.addBoth(A);C.chained=true}}};MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(){return eval("("+arguments[0].responseText+")")},succeed:function(A){var B=new MochiKit.Async.Deferred();B.callback.apply(B,arguments);return B},fail:function(A){var B=new MochiKit.Async.Deferred();B.errback.apply(B,arguments);return B},getXMLHttpRequest:function(){var A=arguments.callee;if(!A.XMLHttpRequest){var E=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP.4.0")},function(){throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest")}];for(var B=0;B1){var B=MochiKit.Base;var A=B.queryString.apply(null,B.extend(null,arguments,1));if(A){D+="?"+A}}E.open("GET",D,true);return C.sendXMLHttpRequest(E)},loadJSONDoc:function(B){var A=MochiKit.Async;var C=A.doSimpleXMLHttpRequest.apply(A,arguments);C=C.addCallback(A.evalJSONRequest);return C},wait:function(E,C){var D=new MochiKit.Async.Deferred();var A=MochiKit.Base;if(typeof (C)!="undefined"){D.addCallback(function(){return C})}var B=setTimeout(A.bind("callback",D),Math.floor(E*1000));D.canceller=function(){try{clearTimeout(B)}catch(F){}};return D},callLater:function(D,B){var A=MochiKit.Base;var C=A.partial.apply(A,A.extend(null,arguments,1));return MochiKit.Async.wait(D).addCallback(function(E){return C()})}});MochiKit.Async.DeferredLock=function(){this.waiting=[];this.locked=false;this.id=this._nextId()};MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){d=new MochiKit.Async.Deferred();if(this.locked){this.waiting.push(d)}else{this.locked=true;d.callback(this)}return d},release:function(){if(!this.locked){throw TypeError("Tried to release an unlocked DeferredLock")}this.locked=false;if(this.waiting.length>0){this.locked=true;this.waiting.shift().callback(this)}},_nextId:MochiKit.Base.counter(),repr:function(){var A;if(this.locked){A="locked, "+this.waiting.length+" waiting"}else{A="unlocked"}return"DeferredLock("+this.id+", "+A+")"},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Async.DeferredList=function(G,F,B,D,I){MochiKit.Async.Deferred.apply(this,[I]);this.list=G;var A=[];this.resultList=A;this.finishedCount=0;this.fireOnOneCallback=F;this.fireOnOneErrback=B;this.consumeErrors=D;var C=MochiKit.Base.bind(this._cbDeferred,this);for(var E=0;E=0){var H=K.options[K.selectedIndex];E.push(F);C.push((H.value)?H.value:H.text);return null}E.push(F);C.push("");return null}else{var J=K.options;if(!J.length){E.push(F);C.push("");return null}for(var G=0;G0){return D}if(typeof (D)=="number"||typeof (D)=="boolean"){D=D.toString()}if(typeof (D)=="string"){return L._document.createTextNode(D)}if(typeof (D.__dom__)=="function"){D=D.__dom__(M);continue}if(typeof (D.dom)=="function"){D=D.dom(M);continue}if(typeof (D)=="function"){D=D.apply(M,[M]);continue}if(I){var F=null;try{F=J(D)}catch(H){}if(F){return A(C,F,B(M))}}try{D=K.match(D,M);continue}catch(H){if(H!=G){throw H}}return L._document.createTextNode(D.toString())}return undefined},setNodeAttribute:function(B,A,C){var E={};E[A]=C;try{return MochiKit.DOM.updateNodeAttributes(B,E)}catch(D){}return null},getNodeAttribute:function(D,A){var C=MochiKit.DOM;var B=C.attributeArray.renames[A];D=C.getElement(D);try{if(B){return D[B]}return D.getAttribute(A)}catch(E){}return null},updateNodeAttributes:function(B,F){var C=B;var I=MochiKit.DOM;if(typeof (B)=="string"){C=I.getElement(B)}if(F){var H=MochiKit.Base.updatetree;if(I.attributeArray.compliant){for(var D in F){var G=F[D];if(typeof (G)=="object"&&typeof (C[D])=="object"){H(C[D],G)}else{if(D.substring(0,2)=="on"){if(typeof (G)=="string"){G=new Function(G)}C[D]=G}else{C.setAttribute(D,G)}}}}else{var E=I.attributeArray.renames;for(D in F){G=F[D];var A=E[D];if(D=="style"&&typeof (G)=="string"){C.style.cssText=G}else{if(typeof (A)=="string"){C[A]=G}else{if(typeof (C[D])=="object"&&typeof (G)=="object"){H(C[D],G)}else{if(D.substring(0,2)=="on"){if(typeof (G)=="string"){G=new Function(G)}C[D]=G}else{C.setAttribute(D,G)}}}}}}}return C},appendChildNodes:function(C){var B=C;var A=MochiKit.DOM;if(typeof (C)=="string"){B=A.getElement(C)}var D=[A.coerceToDOM(MochiKit.Base.extend(null,arguments,1),B)];var E=MochiKit.Base.concat;while(D.length){var F=D.shift();if(typeof (F)=="undefined"||F===null){}else{if(typeof (F.nodeType)=="number"){B.appendChild(F)}else{D=E(F,D)}}}return B},replaceChildNodes:function(C){var B=C;var A=MochiKit.DOM;if(typeof (C)=="string"){B=A.getElement(C);arguments[0]=B}var D;while((D=B.firstChild)){B.removeChild(D)}if(arguments.length<2){return B}else{return A.appendChildNodes.apply(this,arguments)}},createDOM:function(E,D){var G;var B=MochiKit.DOM;var A=MochiKit.Base;if(typeof (D)=="string"||typeof (D)=="number"){var C=A.extend([E,null],arguments,1);return arguments.callee.apply(this,C)}if(typeof (E)=="string"){if(D&&!B.attributeArray.compliant){var F="";if("name" in D){F+=' name="'+B.escapeHTML(D.name)+'"'}if(E=="input"&&"type" in D){F+=' type="'+B.escapeHTML(D.type)+'"'}if(F){E="<"+E+F+">"}}G=B._document.createElement(E)}else{G=E}if(D){B.updateNodeAttributes(G,D)}if(arguments.length<=2){return G}else{var C=A.extend([G],arguments,2);return B.appendChildNodes.apply(this,C)}},createDOMFunc:function(){var A=MochiKit.Base;return A.partial.apply(this,A.extend([MochiKit.DOM.createDOM],arguments))},removeElement:function(A){var B=MochiKit.DOM.getElement(A);B.parentNode.removeChild(B);return B},swapDOM:function(B,D){var A=MochiKit.DOM;B=A.getElement(B);var C=B.parentNode;if(D){D=A.getElement(D);C.replaceChild(D,B)}else{C.removeChild(B)}return D},getElement:function(B){var A=MochiKit.DOM;if(arguments.length==1){return((typeof (B)=="string")?A._document.getElementById(B):B)}else{return MochiKit.Base.map(A.getElement,arguments)}},getElementsByTagAndClassName:function(E,H,I){var J=MochiKit.DOM;if(typeof (E)=="undefined"||E===null){E="*"}if(typeof (I)=="undefined"||I===null){I=J._document}I=J.getElement(I);var D=(I.getElementsByTagName(E)||J._document.all);if(typeof (H)=="undefined"||H===null){return MochiKit.Base.extend(null,D)}var B=[];for(var G=0;G/g,">")},toHTML:function(A){return MochiKit.DOM.emitHTML(A).join("")},emitHTML:function(C,F){if(typeof (F)=="undefined"||F===null){F=[]}var H=[C];var M=MochiKit.DOM;var L=M.escapeHTML;var A=M.attributeArray;while(H.length){C=H.pop();if(typeof (C)=="string"){F.push(C)}else{if(C.nodeType==1){F.push("<"+C.nodeName.toLowerCase());var D=[];var I=A(C);for(var E=0;E");H.push("");var G=C.childNodes;for(E=G.length-1;E>=0;E--){H.push(G[E])}}else{F.push("/>")}}else{if(C.nodeType==3){F.push(L(C.nodeValue))}}}}return F},scrapeText:function(B,A){var C=[];(function(F){var G=F.childNodes;if(G){for(var E=0;E0){var B=D.filter;A=function(L){return B(A.ignoreAttrFilter,L.attributes)};A.ignoreAttr={};var K=J.attributes;var E=A.ignoreAttr;for(var G=0;G1){var A=MochiKit.DOM.getElement(arguments[0]);var K=arguments[1];var F=arguments[2];var C=arguments[3];for(var E=H.length-1;E>=0;E--){var B=H[E];if(B[0]===A&&B[1]===K&&B[4]===F&&B[5]===C){J._disconnect(B);H.splice(E,1);return true}}}else{var I=D.findIdentical(H,G);if(I>=0){J._disconnect(G);H.splice(I,1);return true}}return false},disconnectAll:function(A,J){A=MochiKit.DOM.getElement(A);var B=MochiKit.Base;var C=B.flattenArguments(B.extend(null,arguments,1));var H=MochiKit.Signal;var G=H._disconnect;var F=H._observers;if(C.length===0){for(var E=F.length-1;E>=0;E--){var D=F[E];if(D[0]===A){G(D);F.splice(E,1)}}}else{var I={};for(var E=0;E=0;E--){var D=F[E];if(D[0]===A&&D[1] in I){G(D);F.splice(E,1)}}}},signal:function(G,F){var E=MochiKit.Signal._observers;G=MochiKit.DOM.getElement(G);var A=MochiKit.Base.extend(null,arguments,2);var H=[];for(var B=0;B1){var D=new Error("Multiple errors thrown in handling 'sig', see errors property");D.errors=H;throw D}}}});MochiKit.Signal.EXPORT_OK=[];MochiKit.Signal.EXPORT=["connect","disconnect","signal","disconnectAll"];MochiKit.Signal.__new__=function(C){var A=MochiKit.Base;this._document=document;this._window=C;try{this.connect(window,"onunload",this._unloadCache)}catch(B){}this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)};MochiKit.Signal.__new__(this);if(MochiKit.__export__){connect=MochiKit.Signal.connect;disconnect=MochiKit.Signal.disconnect;disconnectAll=MochiKit.Signal.disconnectAll;signal=MochiKit.Signal.signal}MochiKit.Base._exportSymbols(this,MochiKit.Signal);MochiKit.Base.update(MochiKit.Base,{isIE:function(){return/MSIE/.test(navigator.userAgent)},isGecko:function(){return/Gecko/.test(navigator.userAgent)},isKHTML:function(){return/Konqueror|Safari|KHTML/.test(navigator.userAgent)},isSafari:function(){return/AppleWebKit'/.test(navigator.appVersion)},isOpera:function(){return/Opera/.test(navigator.userAgent)}});MochiKit.Base.update(MochiKit.DOM,{getStyle:function(B,C){B=MochiKit.DOM.getElement(B);var D=B.style[MochiKit.Base.camelize(C)];if(!D){if(document.defaultView&&document.defaultView.getComputedStyle){var A=document.defaultView.getComputedStyle(B,null);D=A?A.getPropertyValue(C):null}else{if(B.currentStyle){D=B.currentStyle[MochiKit.Base.camelize(C)]}}}if(MochiKit.Base.isOpera()&&(MochiKit.Base.find(["left","top","right","bottom"],C))){if(MochiKit.DOM.getStyle(B,"position")=="static"){D="auto"}}return D=="auto"?null:D},setStyle:function(B,C){B=MochiKit.DOM.getElement(B);for(var A in C){B.style[MochiKit.Base.camelize(A)]=C[A]}},getOpacity:function(B){var A;if(A=MochiKit.DOM.getStyle(B,"opacity")){return parseFloat(A)}if(A=(MochiKit.DOM.getStyle(B,"filter")||"").match(/alpha\(opacity=(.*)\)/)){if(A[1]){return parseFloat(A[1])/100}}return 1},getInlineOpacity:function(A){return MochiKit.DOM.getElement(A).style.opacity||""},setOpacity:function(A,C){A=MochiKit.DOM.getElement(A);if(C==1){var B=A.style.cssText;if(MochiKit.Base.isIE()){B=B.replace(/filter: ?alpha\([^\)]*\);?/gi,"")}A.style.cssText=B.replace(/opacity: ?\d\.?\d*/gi,"")}else{if(C<0.00001){C=0}MochiKit.DOM.setStyle(A,{opacity:C});if(MochiKit.Base.isIE()){MochiKit.DOM.setStyle(A,{filter:MochiKit.DOM.getStyle(A,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+C*100+")"})}}},isVisible:function(A){return MochiKit.DOM.getElement(A).style.display!="none"},makeClipping:function(A){A=MochiKit.DOM.getElement(A);if(A._overflow){return }A._overflow=A.style.overflow;if((MochiKit.DOM.getStyle(A,"overflow")||"visible")!="hidden"){A.style.overflow="hidden"}},undoClipping:function(A){A=MochiKit.DOM.getElement(A);if(!A._overflow){return }A.style.overflow=A._overflow;A._overflow=undefined},makePositioned:function(A){A=MochiKit.DOM.getElement(A);var B=MochiKit.DOM.getStyle(A,"position");if((B=="static"||!B)&&!A._madePositioned){A._madePositioned=true;A.style.position="relative";if(MochiKit.Base.isOpera()){A.style.top=0;A.style.left=0}}},undoPositioned:function(A){A=MochiKit.DOM.getElement(A);if(A._madePositioned){A._madePositioned=undefined;A.style.position=A.style.top=A.style.left=A.style.bottom=A.style.right=""}},getFirstElementByTagAndClassName:function(D,G,H){var I=MochiKit.DOM;if(typeof (D)=="undefined"||D===null){D="*"}if(typeof (H)=="undefined"||H===null){H=I._document}H=I.getElement(H);var C=(H.getElementsByTagName(D)||I._document.all);if(typeof (G)=="undefined"||G===null){return MochiKit.Base.extend(null,C)}for(var F=0;F=this.offset.y&&C=this.offset.x&&A=this.offset.y&&this.ycomp=this.offset.x&&this.xcomp0){return B}}return null},fromBackground:function(B){var A=MochiKit.Color.Color;return A.fromComputedStyle(B,"backgroundColor","background-color")||A.whiteColor()},fromText:function(B){var A=MochiKit.Color.Color;return A.fromComputedStyle(B,"color","color")||A.blackColor()},namedColors:function(){return MochiKit.Base.clone(MochiKit.Color.Color._namedColors)}});MochiKit.Base.update(MochiKit.Color,{__new__:function(){var A=MochiKit.Base;A.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)}}});MochiKit.Color.EXPORT=["Color"];MochiKit.Color.EXPORT_OK=["clampColorComponent","rgbToHSL","hslToRGB","rgbToHSV","hsvToRGB","toColorPart"];MochiKit.Color.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Color);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Iter");dojo.require("MochiKit.Base")}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[])}try{if(typeof (MochiKit.Base)=="undefined"){throw""}}catch(e){throw"MochiKit.Iter depends on MochiKit.Base!"}if(typeof (MochiKit.Iter)=="undefined"){MochiKit.Iter={}}MochiKit.Iter.NAME="MochiKit.Iter";MochiKit.Iter.VERSION="1.4";MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){return"["+this.NAME+" "+this.VERSION+"]"},toString:function(){return this.__repr__()},registerIteratorFactory:function(B,A,D,C){MochiKit.Iter.iteratorRegistry.register(B,A,D,C)},iter:function(D,C){var B=MochiKit.Iter;if(arguments.length==2){return B.takewhile(function(F){return F!=C},D)}if(typeof (D.next)=="function"){return D}else{if(typeof (D.iter)=="function"){return D.iter()}}try{return B.iteratorRegistry.match(D)}catch(E){var A=MochiKit.Base;if(E==A.NotFound){E=new TypeError(typeof (D)+": "+A.repr(D)+" is not iterable")}throw E}},repeat:function(B,C){var A=MochiKit.Base;if(typeof (C)=="undefined"){return{repr:function(){return"repeat("+A.repr(B)+")"},toString:A.forwardCall("repr"),next:function(){return B}}}return{repr:function(){return"repeat("+A.repr(B)+", "+C+")"},toString:A.forwardCall("repr"),next:function(){if(C<=0){throw MochiKit.Iter.StopIteration}C-=1;return B}}},next:function(A){return A.next()},ifilter:function(C,B){var A=MochiKit.Base;B=MochiKit.Iter.iter(B);if(C===null){C=A.operator.truth}return{repr:function(){return"ifilter(...)"},toString:A.forwardCall("repr"),next:function(){while(true){var D=B.next();if(C(D)){return D}}return undefined}}},ifilterfalse:function(C,B){var A=MochiKit.Base;B=MochiKit.Iter.iter(B);if(C===null){C=A.operator.truth}return{repr:function(){return"ifilterfalse(...)"},toString:A.forwardCall("repr"),next:function(){while(true){var D=B.next();if(!C(D)){return D}}return undefined}}},imap:function(C,H,F){var A=MochiKit.Base;var D=MochiKit.Iter;var B=A.map(D.iter,A.extend(null,arguments,1));var G=A.map;var E=D.next;return{repr:function(){return"imap(...)"},toString:A.forwardCall("repr"),next:function(){return C.apply(this,G(E,B))}}},list:function(C){var A=MochiKit.Base;if(typeof (C.slice)=="function"){return C.slice()}else{if(A.isArrayLike(C)){return A.concat(C)}}var B=MochiKit.Iter;C=B.iter(C);var E=[];try{while(true){E.push(C.next())}}catch(D){if(D!=B.StopIteration){throw D}return E}return undefined},forEach:function(E,D,B){var A=MochiKit.Base;if(arguments.length>2){D=A.bind(D,B)}if(A.isArrayLike(E)){try{for(var C=0;C=B.length){throw MochiKit.Iter.StopIteration}return B[A++]}}},hasIterateNext:function(A){return(A&&typeof (A.iterateNext)=="function")},iterateNextIter:function(A){return{repr:function(){return"iterateNextIter(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){var B=A.iterateNext();if(B===null||B===undefined){throw MochiKit.Iter.StopIteration}return B}}}});MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter",];MochiKit.Iter.EXPORT=["StopIteration","registerIteratorFactory","iter","count","cycle","repeat","next","izip","ifilter","ifilterfalse","islice","imap","applymap","chain","takewhile","dropwhile","tee","list","reduce","range","sum","exhaust","forEach","every","sorted","reversed","some","iextend","groupby","groupby_as_array"];MochiKit.Iter.__new__=function(){var A=MochiKit.Base;if(typeof (StopIteration)!="undefined"){this.StopIteration=StopIteration}else{this.StopIteration=new A.NamedError("StopIteration")}this.iteratorRegistry=new A.AdapterRegistry();this.registerIteratorFactory("arrayLike",A.isArrayLike,this.arrayLikeIter);this.registerIteratorFactory("iterateNext",this.hasIterateNext,this.iterateNextIter);this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)};MochiKit.Iter.__new__();if(MochiKit.__export__){reduce=MochiKit.Iter.reduce}MochiKit.Base._exportSymbols(this,MochiKit.Iter);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Visual");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");dojo.require("MochiKit.Color");dojo.require("MochiKit.Iter")}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);JSAN.use("MochiKit.Color",[]);JSAN.use("MochiKit.Iter",[])}try{if(typeof (MochiKit.Base)==="undefined"||typeof (MochiKit.DOM)==="undefined"||typeof (MochiKit.Style)==="undefined"||typeof (MochiKit.Color)==="undefined"||typeof (MochiKit.Iter)==="undefined"){throw""}}catch(e){throw"MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM, MochiKit.Style, MochiKit.Color and MochiKit.Iter!"}if(typeof (MochiKit.Visual)=="undefined"){MochiKit.Visual={}}MochiKit.Visual.NAME="MochiKit.Visual";MochiKit.Visual.VERSION="1.4";MochiKit.Visual.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Visual.toString=function(){return this.__repr__()};MochiKit.Visual.forceRerendering=function(A){try{A=MochiKit.DOM.getElement(A);var C=document.createTextNode(" ");A.appendChild(C);A.removeChild(C)}catch(B){}};MochiKit.Visual.PAIRS={slide:["slideDown","slideUp"],blind:["blindDown","blindUp"],appear:["appear","fade"],size:["grow","shrink"]};MochiKit.Visual.Transitions={};MochiKit.Visual.Transitions.linear=function(A){return A};MochiKit.Visual.Transitions.sinoidal=function(A){return(-Math.cos(A*Math.PI)/2)+0.5};MochiKit.Visual.Transitions.reverse=function(A){return 1-A};MochiKit.Visual.Transitions.flicker=function(A){return((-Math.cos(A*Math.PI)/4)+0.75)+Math.random()/4};MochiKit.Visual.Transitions.wobble=function(A){return(-Math.cos(A*Math.PI*(9*A))/2)+0.5};MochiKit.Visual.Transitions.pulse=function(A){return(Math.floor(A*10)%2==0?(A*10-Math.floor(A*10)):1-(A*10-Math.floor(A*10)))};MochiKit.Visual.Transitions.none=function(A){return 0};MochiKit.Visual.Transitions.full=function(A){return 1};MochiKit.Visual.ScopedQueue=function(){this.__init__()};MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype,{__init__:function(){this.effects=[];this.interval=null},add:function(D){var E=new Date().getTime();var A=(typeof (D.options.queue)=="string")?D.options.queue:D.options.queue.position;var B=MochiKit.Iter.forEach;switch(A){case"front":B(this.effects,function(F){if(F.state=="idle"){F.startOn+=D.finishOn;F.finishOn+=D.finishOn}});break;case"end":var C;B(this.effects,function(G){var F=G.finishOn;if(F>=(C||F)){C=F}});E=C||E;break}D.startOn+=E;D.finishOn+=E;if(!D.options.queue.limit||this.effects.length=this.startOn){if(C>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");this.finish();this.event("afterFinish");return }var B=(C-this.startOn)/(this.finishOn-this.startOn);var A=Math.round(B*this.options.fps*this.options.duration);if(A>this.currentFrame){this.render(B);this.currentFrame=A}}},render:function(A){if(this.state=="idle"){this.state="running";this.event("beforeSetup");this.setup();this.event("afterSetup")}if(this.state=="running"){if(this.options.transition){A=this.options.transition(A)}A*=(this.options.to-this.options.from);A+=this.options.from;this.event("beforeUpdate");this.update(A);this.event("afterUpdate")}},cancel:function(){if(!this.options.sync){MochiKit.Visual.Queues.get(typeof (this.options.queue)=="string"?"global":this.options.queue.scope).remove(this)}this.state="finished"},setup:function(){},finish:function(){},update:function(A){},event:function(A){if(this.options[A+"Internal"]){this.options[A+"Internal"](this)}if(this.options[A]){this.options[A](this)}},repr:function(){return"["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]"}};MochiKit.Visual.Opacity=function(B,A){this.__init__(B,A)};MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__init__:function(C,B){var A=MochiKit.Base;var D=MochiKit.DOM;this.element=D.getElement(C);if(A.isIE()&&(!this.element.currentStyle.hasLayout)){D.setStyle(this.element,{zoom:1})}B=A.update({from:D.getOpacity(this.element)||0,to:1},B||{});this.start(B)},update:function(A){MochiKit.DOM.setOpacity(this.element,A)}});MochiKit.Visual.Move=function(B,A){this.__init__(B,A)};MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__init__:function(B,A){this.element=MochiKit.DOM.getElement(B);A=MochiKit.Base.update({x:0,y:0,mode:"relative"},A||{});this.start(A)},setup:function(){var D=MochiKit.DOM;D.makePositioned(this.element);var B=this.element.style;var C=B.visibility;var A=B.display;if(A=="none"){B.visibility="hidden";B.display=""}this.originalLeft=parseFloat(D.getStyle(this.element,"left")||"0");this.originalTop=parseFloat(D.getStyle(this.element,"top")||"0");if(this.options.mode=="absolute"){this.options.x-=this.originalLeft;this.options.y-=this.originalTop}if(A=="none"){B.visibility=C;B.display=A}},update:function(A){MochiKit.DOM.setStyle(this.element,{left:Math.round(this.options.x*A+this.originalLeft)+"px",top:Math.round(this.options.y*A+this.originalTop)+"px"})}});MochiKit.Visual.Scale=function(B,C,A){this.__init__(B,C,A)};MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__init__:function(B,C,A){this.element=MochiKit.DOM.getElement(B);A=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:C},A||{});this.start(A)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=MochiKit.DOM.getStyle(this.element,"position");var B=MochiKit.Iter.forEach;var A=MochiKit.Base.bind;this.originalStyle={};B(["top","left","width","height","fontSize"],A(function(D){this.originalStyle[D]=this.element.style[D]},this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var C=MochiKit.DOM.getStyle(this.element,"font-size")||"100%";B(["em","px","%"],A(function(D){if(C.indexOf(D)>0){this.fontSize=parseFloat(C);this.fontSizeType=D}},this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}else{if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}else{this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}}},update:function(A){var B=(this.options.scaleFrom/100)+(this.factor*A);if(this.options.scaleContent&&this.fontSize){MochiKit.DOM.setStyle(this.element,{fontSize:this.fontSize*B+this.fontSizeType})}this.setDimensions(this.dims[0]*B,this.dims[1]*B)},finish:function(){if(this.restoreAfterFinish){MochiKit.DOM.setStyle(this.element,this.originalStyle)}},setDimensions:function(A,D){var E={};if(this.options.scaleX){E.width=Math.round(D)+"px"}if(this.options.scaleY){E.height=Math.round(A)+"px"}if(this.options.scaleFromCenter){var C=(A-this.dims[0])/2;var B=(D-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){E.top=this.originalTop-C+"px"}if(this.options.scaleX){E.left=this.originalLeft-B+"px"}}else{if(this.options.scaleY){E.top=-C+"px"}if(this.options.scaleX){E.left=-B+"px"}}}MochiKit.DOM.setStyle(this.element,E)}});MochiKit.Visual.fade=function(C,B){var D=MochiKit.DOM;var A=D.getInlineOpacity(C);B=MochiKit.Base.update({from:D.getOpacity(C)||1,to:0,afterFinishInternal:function(E){if(E.options.to!==0){return }MochiKit.Style.hideElement(E.element);D.setStyle(E.element,{opacity:A})}},B||{});return new MochiKit.Visual.Opacity(C,B)};MochiKit.Visual.appear=function(C,B){var D=MochiKit.DOM;var A=MochiKit.Visual;B=MochiKit.Base.update({from:(D.getStyle(C,"display")=="none"?0:D.getOpacity(C)||0),to:1,afterFinishInternal:function(E){A.forceRerendering(E.element)},beforeSetupInternal:function(E){D.setOpacity(E.element,E.options.from);MochiKit.Style.showElement(E.element)}},B||{});return new A.Opacity(C,B)};MochiKit.Visual.blindUp=function(B,A){var C=MochiKit.DOM;B=C.getElement(B);C.makeClipping(B);A=MochiKit.Base.update({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(D){MochiKit.Style.hideElement(D.element);C.undoClipping(D.element)}},A||{});return new MochiKit.Visual.Scale(B,0,A)};MochiKit.Visual.blindDown=function(C,B){var D=MochiKit.DOM;C=D.getElement(C);var A=MochiKit.Style.getElementDimensions(C);B=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:A.h,originalWidth:A.w},restoreAfterFinish:true,afterSetupInternal:function(E){D.makeClipping(E.element);D.setStyle(E.element,{height:"0px"});MochiKit.Style.showElement(E.element)},afterFinishInternal:function(E){D.undoClipping(E.element)}},B||{});return new MochiKit.Visual.Scale(C,100,B)};MochiKit.Visual.Color=MochiKit.Color.Color;MochiKit.Visual.getElementsComputedStyle=MochiKit.DOM.computedStyle;MochiKit.Visual.__new__=function(){var A=MochiKit.Base;A.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)}};MochiKit.Visual.EXPORT=["roundElement","roundClass","tagifyText","multiple","toggle","Base","Parallel","Opacity","Move","Scale","Highlight","ScrollTo","fade","appear","puff","blindUp","blindDown","switchOff","dropOut","shake","slideDown","slideUp","squish","grow","shrink","pulsate","fold"];MochiKit.Visual.EXPORT_OK=["PAIRS"];MochiKit.Visual.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Visual);var log4javascript;(function(){function D(){return function(){}}function G(J,I){for(var H in I){J[H]=I[H]}}var E=D();var C=D();G(C.prototype,{addAppender:E,removeAppender:E,removeAllAppenders:E,log:E,setLevel:E,getLevel:E,trace:E,debug:E,info:E,warn:E,error:E,fatal:E});var A=function(){return new C()};log4javascript={isStub:true,version:"dummy",logLog:{setQuietMode:E,setAlertAllErrors:E,debug:E,warn:E,error:E},addErrorListener:E,removeErrorListener:E,setEnabled:E,setShowStackTraces:E,isEnabled:E,evalInScope:E,getLogger:A,getDefaultLogger:A,getNullLogger:A,Level:D(),LoggingEvent:D(),Layout:D(),Appender:D()};log4javascript.LoggingEvent.prototype={getThrowableStrRep:E};log4javascript.Level.prototype={toString:E,equals:E,isGreaterOrEqual:E};var F=new log4javascript.Level();G(log4javascript.Level,{ALL:F,TRACE:F,DEBUG:F,INFO:F,WARN:F,ERROR:F,FATAL:F,OFF:F});log4javascript.Layout.prototype={defaults:{},format:E,ignoresThrowable:E,getContentType:E,allowBatching:E,getDataValues:E,setKeys:E,setCustomField:E,hasCustomFields:E};log4javascript.SimpleLayout=D();log4javascript.SimpleLayout.prototype=new log4javascript.Layout();log4javascript.XmlLayout=D();log4javascript.XmlLayout.prototype=new log4javascript.Layout();log4javascript.XmlLayout.prototype.escapeCdata=E;log4javascript.JsonLayout=D();log4javascript.JsonLayout.prototype=new log4javascript.Layout();G(log4javascript.JsonLayout.prototype,{setReadable:E,isReadable:E});log4javascript.HttpPostDataLayout=D();log4javascript.HttpPostDataLayout.prototype=new log4javascript.Layout();log4javascript.PatternLayout=D();log4javascript.PatternLayout.prototype=new log4javascript.Layout();log4javascript.NullLayout=D();log4javascript.NullLayout.prototype=new log4javascript.Layout();log4javascript.Appender=D();log4javascript.Appender.prototype={layout:new log4javascript.PatternLayout(),threshold:log4javascript.Level.ALL,doAppend:E,append:E,setLayout:E,getLayout:E,setThreshold:E,getThreshold:E,toString:E};log4javascript.AlertAppender=D();log4javascript.AlertAppender.prototype=new log4javascript.Appender();log4javascript.ArrayAppender=D();log4javascript.ArrayAppender.prototype=new log4javascript.Appender();log4javascript.AjaxAppender=D();log4javascript.AjaxAppender.prototype=new log4javascript.Appender();G(log4javascript.AjaxAppender.prototype,{isTimed:E,setTimed:E,getTimerInterval:E,setTimerInterval:E,isWaitForResponse:E,setWaitForResponse:E,getBatchSize:E,setBatchSize:E,setRequestSuccessCallback:E,setFailCallback:E,sendAll:E,defaults:{requestSuccessCallback:null,failCallback:null}});function B(){}B.prototype=new log4javascript.Appender();G(B.prototype,{create:E,isNewestMessageAtTop:E,setNewestMessageAtTop:E,isScrollToLatestMessage:E,setScrollToLatestMessage:E,getWidth:E,setWidth:E,getHeight:E,setHeight:E,getMaxMessages:E,setMaxMessages:E});log4javascript.InPageAppender=D();log4javascript.InPageAppender.prototype=new B();G(log4javascript.InPageAppender.prototype,{isInitiallyMinimized:E,setInitiallyMinimized:E,hide:E,show:E,isVisible:E,close:E,defaults:{layout:new log4javascript.PatternLayout(),maxMessages:null}});log4javascript.InlineAppender=log4javascript.InPageAppender;log4javascript.PopUpAppender=D();log4javascript.PopUpAppender.prototype=new B();G(log4javascript.PopUpAppender.prototype,{isUseOldPopUp:E,setUseOldPopUp:E,isComplainAboutPopUpBlocking:E,setComplainAboutPopUpBlocking:E,isFocusPopUp:E,setFocusPopUp:E,isReopenWhenClosed:E,setReopenWhenClosed:E,close:E,defaults:{layout:new log4javascript.PatternLayout(),maxMessages:null}});log4javascript.BrowserConsoleAppender=D();log4javascript.BrowserConsoleAppender.prototype=new log4javascript.Appender()})();var log4javascript_dummy=log4javascript;if(typeof bobj=="undefined"){bobj={}}if(typeof bobj.external=="undefined"){bobj.external={}}if(typeof bobj.external.date=="undefined"){bobj.external.date={}}bobj.external.date.MONTH_NAMES=new Array("January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");bobj.external.date.DAY_NAMES=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sun","Mon","Tue","Wed","Thu","Fri","Sat");bobj.external.date.LZ=function(A){return(A<0||A>9?"":"0")+A};bobj.external.date.isDate=function(C,B){var A=bobj.external.date.getDateFromFormat(C,B);if(!A){return false}return true};bobj.external.date.compareDates=function(E,F,C,D){var B=bobj.external.date.getDateFromFormat(E,F);var A=bobj.external.date.getDateFromFormat(C,D);if(!B||!A){return -1}else{if(B.getTime()>A.getTime()){return 1}}return 0};bobj.external.date.formatDate=function(f,a){a=a+"";var J="";var T=0;var e="";var D="";var I=f.getFullYear()+"";var F=f.getMonth()+1;var b=f.getDate();var N=f.getDay();var L=f.getHours();var V=f.getMinutes();var P=f.getSeconds();var R,S,B,Q,g,C,Z,Y,W,O,n,L,l,G,A,X;var U=new Object();while(I.length<4){I="0"+I}U.y=""+I;U.yyyy=I;U.yy=I.substring(2,4);U.Y=U.y;U.YY=U.yy;U.YYYY=U.yyyy;U.M=F;U.MM=bobj.external.date.LZ(F);U.MMM=bobj.external.date.MONTH_NAMES[F-1];U.NNN=bobj.external.date.MONTH_NAMES[F+11];U.d=b;U.dd=bobj.external.date.LZ(b);U.D=U.d;U.DD=U.dd;U.E=bobj.external.date.DAY_NAMES[N+7];U.EE=bobj.external.date.DAY_NAMES[N];U.H=L;U.HH=bobj.external.date.LZ(L);if(L==0){U.h=12}else{if(L>12){U.h=L-12}else{U.h=L}}U.hh=bobj.external.date.LZ(U.h);if(L>11){U.K=L-12}else{U.K=L}U.k=L+1;U.KK=bobj.external.date.LZ(U.K);U.kk=bobj.external.date.LZ(U.k);if(L>11){U.a="PM"}else{U.a="AM"}U.m=V;U.mm=bobj.external.date.LZ(V);U.s=P;U.ss=bobj.external.date.LZ(P);while(T=E;A--){var B=F.substring(D,D+A);if(B.length70){G=1900+(G-0)}else{G=2000+(G-0)}}}else{if(D=="MMM"||D=="NNN"){Q=0;for(var L=0;L11)){Q=L+1;if(Q>12){Q-=12}S+=B.length;break}}}if((Q<1)||(Q>12)){return null}}else{if(D=="EE"||D=="E"){for(var L=0;L12)){return null}S+=Q.length}else{if(D=="dd"||D=="DD"||D=="d"||D=="D"){P=bobj.external.date._getInt(T,S,D.length,2);if(P==null||(P<1)||(P>31)){return null}S+=P.length}else{if(D=="hh"||D=="h"){A=bobj.external.date._getInt(T,S,D.length,2);if(A==null||(A<1)||(A>12)){return null}S+=A.length}else{if(D=="HH"||D=="H"){A=bobj.external.date._getInt(T,S,D.length,2);if(A==null||(A<0)||(A>23)){return null}S+=A.length}else{if(D=="KK"||D=="K"){A=bobj.external.date._getInt(T,S,D.length,2);if(A==null||(A<0)||(A>11)){return null}S+=A.length}else{if(D=="kk"||D=="k"){A=bobj.external.date._getInt(T,S,D.length,2);if(A==null||(A<1)||(A>24)){return null}S+=A.length;A--}else{if(D=="mm"||D=="m"){N=bobj.external.date._getInt(T,S,D.length,2);if(N==null||(N<0)||(N>59)){return null}S+=N.length}else{if(D=="ss"||D=="s"){K=bobj.external.date._getInt(T,S,D.length,2);if(K==null||(K<0)||(K>59)){return null}S+=K.length}else{if(D=="a"){if(T.substring(S,S+2).toLowerCase()=="am"){H="AM"}else{if(T.substring(S,S+2).toLowerCase()=="pm"){H="PM"}else{return null}}S+=2}else{if(T.substring(S,S+D.length)!=D){return null}else{S+=D.length}}}}}}}}}}}}}}if(S!=T.length){return null}if(Q==2){if(((G%4==0)&&(G%100!=0))||(G%400==0)){if(P>29){return null}}else{if(P>28){return null}}}if((Q==4)||(Q==6)||(Q==9)||(Q==11)){if(P>30){return null}}if(A!==null){if(A<12&&H=="PM"){A=A-0+12}else{if(A>11&&H=="AM"){A-=12}}}var C=new Date(G,Q-1,P,A,N,K);C.setFullYear(G);return C};_userAgent=navigator.userAgent?navigator.userAgent.toLowerCase():null;_ie=(document.all!=null)?true:false;_dom=(document.getElementById!=null)?true:false;_isQuirksMode=(document.compatMode!="CSS1Compat");_dtd4=!_ie||(document.compatMode!="BackCompat");_show="visible";_hide="hidden";_hand=_ie?"hand":"pointer";_appVer=navigator.appVersion.toLowerCase();_webKit=(_userAgent.indexOf("safari")>=0)||(_userAgent.indexOf("applewebkit")>=0);_mac=(_appVer.indexOf("macintosh")>=0)||(_appVer.indexOf("macos")>=0);_opera=(_userAgent.indexOf("opera")!=-1);_userAgent=navigator.userAgent?navigator.userAgent.toLowerCase():null;_ctrl=0;_shift=1;_alt=2;var docMode=document.documentMode;var _ie6Up=(docMode>=6);var _ie8Up=(docMode>=8);var _ie10Up=(docMode>=10);var _ie11Up=(docMode>=11);_moz=_dom&&!_ie&&!_ie11Up;_saf=_moz&&(_userAgent.indexOf("safari")>=0);_small=(screen.height<=600);_curDoc=document;_curWin=self;_tooltipWin=self;_tooltipDx=0;_tooltipDy=0;_codeWinName="_CW";_leftBtn=(_ie||_saf)?1:0;_preloadArr=new Array;_widgets=new Array;_resizeW=_ie6Up?"col-resize":"E-resize";_resizeH=_ie6Up?"row-resize":"S-resize";_ddData=new Array;_dontNeedEncoding=null;_thex=null;_defaultButtonWidth=60;function initDom(D,C,E,B,A){_skin=D;_lang=E;_style=C;if(B){_curWin=B;_curDoc=B.document}_tooltipWin=_curWin;if(A){_codeWinName="_CW"+A}_curWin[_codeWinName]=self}function styleSheet(){includeCSS("style")}function isLayerDisplayed(A){var B=A?A.style:null;if(B){if(B.display=="none"||B.visibility=="hidden"){return false}else{var C=A.parentNode;if(C!=null){return isLayerDisplayed(C)}else{return true}}}else{return true}}function safeSetFocus(A){if(A&&A.focus&&isLayerDisplayed(A)){A.focus()}}function newWidget(B){var A=new Object;A.id=B;A.layer=null;A.css=null;A.getHTML=Widget_getHTML;A.beginHTML=Widget_getHTML;A.endHTML=Widget_getHTML;A.write=Widget_write;A.begin=Widget_begin;A.end=Widget_end;A.init=Widget_init;A.move=Widget_move;A.resize=Widget_resize;A.setBgColor=Widget_setBgColor;A.show=Widget_show;A.getWidth=Widget_getWidth;A.getHeight=Widget_getHeight;A.setHTML=Widget_setHTML;A.setDisabled=Widget_setDisabled;A.focus=Widget_focus;A.setDisplay=Widget_setDisplay;A.isDisplayed=Widget_isDisplayed;A.appendHTML=Widget_appendHTML;A.setTooltip=Widget_setTooltip;A.initialized=Widget_initialized;A.widx=_widgets.length;_widgets[A.widx]=A;return A}function new_Widget(A){return newWidget(A.id)}function getEvent(B,A){if(_ie&&(B==null)){B=A?A.event:_curWin.event}return B}function Widget_param(C,B,A){var D=C?C[B]:null;return D==null?A:D}function Widget_appendHTML(){append(_curDoc.body,this.getHTML())}function Widget_getHTML(){return""}function Widget_write(A){_curDoc.write(this.getHTML(A))}function Widget_begin(){_curDoc.write(this.beginHTML())}function Widget_end(){_curDoc.write(this.endHTML())}function Widget_init(){var A=this;A.layer=getLayer(A.id);A.css=A.layer.style;A.layer._widget=A.widx;if(A.initialHTML){A.setHTML(A.initialHTML)}}function Widget_move(A,C){var B=this.css;if(A!=null){if(_moz){B.left=""+A+"px"}else{B.pixelLeft=A}}if(C!=null){if(_moz){B.top=""+C+"px"}else{B.pixelTop=C}}}function Widget_focus(){safeSetFocus(this.layer)}function Widget_setBgColor(A){this.css.backgroundColor=A}function Widget_show(A){this.css.visibility=A?_show:_hide}function Widget_getWidth(){return this.layer.offsetWidth}function Widget_getHeight(){return this.layer.offsetHeight}function Widget_setHTML(A){var B=this;if(B.layer){B.layer.innerHTML=A}else{B.initialHTML=A}}function Widget_setDisplay(A){if(this.css){this.css.display=A?"":"none"}}function Widget_isDisplayed(){if(this.css.display=="none"){return false}else{return true}}function Widget_setDisabled(A){if(this.layer){this.layer.disabled=A}}function Widget_resize(A,B){if(A!=null){this.css.width=""+(Math.max(0,A))+"px"}if(B!=null){this.css.height=""+(Math.max(0,B))+"px"}}function Widget_setTooltip(A){this.layer.title=A}function Widget_initialized(){return this.layer!=null}function newGrabberWidget(A,D,G,F,H,E,C,B,I){o=newWidget(A);o.resizeCB=D;o.x=G;o.y=F;o.w=H;o.h=E;o.dx=0;o.dy=0;o.min=null;o.max=null;o.isHori=C;o.preloaded=new Image;o.preloaded.src=_skin+"../resizepattern.gif";o.buttonCB=B;o.allowGrab=true;o.collapsed=false;o.isFromButton=false;o.showGrab=GrabberWidget_showGrab;o.setCollapsed=GrabberWidget_setCollapsed;o.tooltipButton=I;o.getHTML=GrabberWidget_getHTML;o.enableGrab=GrabberWidget_enableGrab;o.setMinMax=GrabberWidget_setMinMax;if(window._allGrabbers==null){window._allGrabbers=new Array}o.index=_allGrabbers.length;_allGrabbers[o.index]=o;o.buttonLyr=null;o.setButtonImage=GrabberWidget_setButtonImage;o.getImgOffset=GrabberWidget_getImgOffset;return o}function GrabberWidget_setCollapsed(B,A){this.collapsed=B;this.setButtonImage(false,A)}function GrabberWidget_getImgOffset(A){var B=this;if(B.isHori){B.dx=(B.collapsed?12:0)+(A?6:0);B.dy=0}else{B.dy=(B.collapsed?12:0)+(A?6:0);B.dx=0}}function GrabberWidget_setButtonImage(A,B){var C=this;C.getImgOffset(A);C.tooltipButton=B;if(C.layer){if(C.buttonLyr==null){C.buttonLyr=getLayer("grabImg_"+C.id)}if(C.buttonLyr){changeSimpleOffset(C.buttonLyr,C.dx,C.dy,null,B)}}}function GrabberWidget_enableGrab(A){var B=this;B.allowGrab=A;if(B.css){B.css.cursor=B.allowGrab?(B.isHori?_resizeW:_resizeH):"default"}}function GrabberWidget_getHTML(){var B=this;var A=B.isHori?_resizeW:_resizeH;var D='onselectstart="return false" ondragstart="return false" onmousedown="'+_codeWinName+".GrabberWidget_down(event,'"+B.index+"',this);return false;\"";var C=_ie?(''):('');return getBGIframe("grabIframe_"+B.id)+C+'
'}function GrabberWidget_setMinMax(B,A){this.min=B;this.max=A}function GrabberWidget_button(e,index,lyr){var o=_allGrabbers[index];o.isFromButton=true;lyr.onmouseup=eval("_curWin."+_codeWinName+".GrabberWidget_buttonup")}function GrabberWidget_buttonover(C,B,A){var D=_allGrabbers[B];D.setButtonImage(true)}function GrabberWidget_buttonout(C,B,A){var D=_allGrabbers[B];D.setButtonImage(false)}function GrabberWidget_buttonup(A){GrabberWidget_up(A)}function GrabberWidget_showGrab(){var D=this,C=D.mod,E=D.iframe,B=D.layer.style,A=C.style;E.setDisplay(true)}function GrabberWidget_down(e,index,lyr){var o=_allGrabbers[index];window._theGrabber=o;if(o.mod==null){o.mod=getLayer("modal_"+o.id);o.iframe=newWidget("grabIframe_"+o.id);o.iframe.init()}o.mod.onmousemove=eval("_curWin."+_codeWinName+".GrabberWidget_move");o.mod.onmouseup=eval("_curWin."+_codeWinName+".GrabberWidget_up");o.grabStartPosx=parseInt(lyr.style.left);o.grabStartPosy=parseInt(lyr.style.top);o.grabStartx=eventGetX(e);o.grabStarty=eventGetY(e);var mod=o.mod,ifr=o.iframe,stl=o.layer.style,st=mod.style;stl.backgroundImage="url('"+_skin+"../resizepattern.gif')";o.prevZ=stl.zIndex;stl.zIndex=9999;ifr.css.zIndex=9998;st.width="100%";st.height="100%";mod.style.display="block";var p=getPos(o.layer);ifr.move(p.x,p.y);ifr.resize(o.getWidth(),o.getHeight());if(!o.isFromButton){o.showGrab()}return false}function GrabberWidget_move(F){var C=_theGrabber,E=C.layer,H=C.mod;if(C.isFromButton){if(C.isHori){var I=eventGetX(F),D=C.grabStartx;if((ID+3)){C.isFromButton=false}}else{var A=eventGetY(F),B=C.grabStarty;if((GB+3)){C.isFromButton=false}}if(!C.isFromButton){C.showGrab()}}if(!C.isFromButton){if(C.allowGrab){var I=C.isHori?Math.max(0,C.grabStartPosx-C.grabStartx+eventGetX(F)):null;var G=C.isHori?null:Math.max(0,C.grabStartPosy-C.grabStarty+eventGetY(F));if(C.isHori){if(C.min!=null){I=Math.max(I,C.min)}if(C.max!=null){I=Math.min(I,C.max)}}else{if(C.min!=null){G=Math.max(G,C.min)}if(C.max!=null){G=Math.min(G,C.max)}}eventCancelBubble(F);C.move(I,G);getPos(C.layer);if(C.buttonCB){var J=C.buttonLyr.style;if(J.display!="none"){J.display="none"}}C.iframe.move(I,G)}}}function GrabberWidget_up(E){var F=_theGrabber,B=F.layer,D=F.mod,C=B.style;C.backgroundImage="";C.zIndex=F.prevZ;var G=F.iframe;G.move(-100,-100);G.resize(1,1);G.setDisplay(false);eventCancelBubble(E);var A=D.style;A.display="none";A.width="0px";A.height="0px";if(F.buttonCB){F.buttonLyr.style.display=""}if(F&&(F.isFromButton)){if(F.buttonCB){F.buttonCB()}F.isFromButton=false}if(F.allowGrab&&(!F.isFromButton)){if(F.resizeCB){F.resizeCB(parseInt(B.style.left),parseInt(B.style.top))}}}function newButtonWidget(C,L,H,D,F,Q,G,I,B,M,K,P,N,J,A,O){var E=newWidget(C);E.label=L;E.cb=H;E.width=D;E.hlp=F;E.tooltip=Q;E.tabIndex=G;E.isGray=false;E.isDefault=false;E.txt=null;E.icn=null;E.margin=I?I:0;E.extraStyle="";E.isDelayCallback=true;if(B){E.url=B;E.w=M;E.h=K;E.dx=P;E.dy=N;E.disDx=(A!=null)?A:P;E.disDy=(O!=null)?O:N;E.imgRight=J?true:false}E.getHTML=ButtonWidget_getHTML;E.setDisabled=ButtonWidget_setDisabled;E.setText=ButtonWidget_setText;E.changeImg=ButtonWidget_changeImg;E.oldInit=E.init;E.init=ButtonWidget_init;E.isDisabled=ButtonWidget_isDisabled;E.setDefaultButton=ButtonWidget_setDefaultButton;E.executeCB=ButtonWidget_executeCB;E.setTooltip=ButtonWidget_setTooltip;E.setDelayCallback=ButtonWidget_setDelayCallback;E.instIndex=ButtonWidget_currInst;ButtonWidget_inst[ButtonWidget_currInst++]=E;return E}ButtonWidget_inst=new Array;ButtonWidget_currInst=0;function ButtonWidget_getHTML(){with(this){var clk=_codeWinName+".ButtonWidget_clickCB("+this.instIndex+');return false;"';var clcbs='onclick="'+clk+'" ';if(_ie){clcbs+='ondblclick="'+clk+'" '}var isDefaultSty=(this.isDefault&&!this.isGray);clcbs+='onkeydown=" return '+_codeWinName+".ButtonWidget_keydownCB(event,"+this.instIndex+');" ';var url1=_skin+"button.gif",addPar=' style="'+extraStyle+"cursor:"+_hand+";margin-left:"+margin+"px; margin-right:"+margin+'px; "'+clcbs+" ",tip=attr("title",tooltip),idText="theBttn"+id,idIcon="theBttnIcon"+id;var bg=backImgOffset(url1,0,isDefaultSty?105:42);var lnkB="';var l=(label!=null);var im=(this.url?(''+(l?"":lnkB)+simpleImgOffset(url,w,h,this.isGray?disDs:dx,this.isGray?disDy:dy,idIcon,null,(l?"":tooltip),"cursor:"+_hand)+(l?"":"")+""):"");return''+(this.imgRight?"":im)+(l?(""):"")+(this.imgRight?im:"")+'
'+lnkB+label+"
'}}function ButtonWidget_setDelayCallback(A){this.isDelayCallback=(A==true)}function ButtonWidget_setDisabled(F){var E=this,D=F?"default":_hand;E.isGray=F;if(E.layer){var B=F?"wizbuttongray":"wizbutton";if(E.txt.className!=B){E.txt.className=B;E.txt.style.cursor=D;E.css.cursor=D;if(E.icn){changeSimpleOffset(E.icn,E.isGray?E.disDx:E.dx,E.isGray?E.disDy:E.dy);E.icn.style.cursor=D}if(E.isDefault){var A=!F,C=_skin+"button.gif";changeSimpleOffset(E.leftImg,0,A?63:0,C);changeOffset(E.centerImg,0,A?105:42,C);changeSimpleOffset(E.rightImg,0,A?84:21,C)}}}}function ButtonWidget_setDefaultButton(){var C=this;if(C.layer){var A=!C.isGray,B=_skin+"button.gif";changeSimpleOffset(C.leftImg,0,A?63:0,B);changeOffset(C.centerImg,0,A?105:42,B);changeSimpleOffset(C.rightImg,0,A?84:21,B)}C.isDefault=true}function ButtonWidget_isDisabled(){return this.isGray}function ButtonWidget_setText(A){this.txt.innerHTML=convStr(A)}function ButtonWidget_setTooltip(A){var B=this;B.tooltip=A;B.layer.title=A;if(B.txt){B.txt.title=A}if(B.icn){B.icn.title=A}}function ButtonWidget_init(){var B=this;B.oldInit();B.txt=getLayer("theBttn"+this.id);B.icn=getLayer("theBttnIcon"+this.id);B.leftImg=getLayer("theBttnLeftImg"+this.id);B.centerImg=getLayer("theBttnCenterImg"+this.id);B.rightImg=getLayer("theBttnRightImg"+this.id);var A=B.isGray?"wizbuttongray":"wizbutton";if(B.txt.className!=A){B.setDisabled(B.isGray)}}function ButtonWidget_changeImg(B,A,E,D,C,F){var G=this;if(C){G.url=C}if(B!=null){G.dx=B}if(A!=null){G.dy=A}if(E!=null){G.disDx=E}if(D!=null){G.disDy=D}if(F!=null){G.tooltip=F}if(G.icn){changeSimpleOffset(G.icn,G.isGray?G.disDx:G.dx,G.isGray?G.disDy:G.dy,G.url,G.tooltip)}}function ButtonWidget_clickCB(A){var B=ButtonWidget_inst[A];if(B&&!B.isGray){if(B.isDelayCallback){setTimeout("ButtonWidget_delayClickCB("+A+")",1)}else{ButtonWidget_delayClickCB(A)}}}function ButtonWidget_delayClickCB(A){var B=ButtonWidget_inst[A];B.executeCB()}function ButtonWidget_executeCB(){var o=this;if(o.cb){if(typeof o.cb!="string"){o.cb()}else{eval(o.cb)}}}function ButtonWidget_keydownCB(D,B){var A=eventGetKey(D);var C=ButtonWidget_inst[B];if(A==13&&C.cb){eventCancelBubble(D)}return true}function newScrolledZoneWidget(G,C,E,B,D,A){var F=newWidget(G);F.borderW=C;F.padding=E;F.w=B;F.h=D;F.oldResize=F.resize;F.beginHTML=ScrolledZoneWidget_beginHTML;F.endHTML=ScrolledZoneWidget_endHTML;F.resize=ScrolledZoneWidget_resize;F.bgClass=(A)?A:"insetBorder";return F}function ScrolledZoneWidget_beginHTML(){var A=this.w,B=this.h;var C=_moz?2*(this.borderW+this.padding):0;if(typeof (A)=="number"){if(_moz){A=Math.max(0,A-C)}A=""+A+"px"}if(typeof (B)=="number"){if(_moz){B=Math.max(0,B-C)}B=""+B+"px"}return'
'}function ScrolledZoneWidget_endHTML(){return"
"}function ScrolledZoneWidget_resize(A,B){if(_moz){var C=2*(this.borderW+this.padding);if(A!=null){A=Math.max(0,A-C)}if(B!=null){B=Math.max(0,B-C)}}this.oldResize(A,B)}function newComboWidget(F,E,A,B,C){var D=newWidget(F);D.tooltip=C;D.size=1;D.getHTML=ComboWidget_getHTML;D.beginHTML=ComboWidget_beginHTML;D.endHTML=ComboWidget_endHTML;D.changeCB=E;D.noMargin=A;D.width=B==null?null:""+B+"px";D.add=ComboWidget_add;D.del=ComboWidget_del;D.getSelection=ComboWidget_getSelection;D.select=ComboWidget_select;D.valueSelect=ComboWidget_valueSelect;D.getCount=ComboWidget_getCount;D.oldSetDisabled=D.setDisabled;D.setDisabled=ComboWidget_setDisabled;D.setUndefined=ComboWidget_setUndefined;D.delByID=ComboWidget_delByID;D.findByValue=ComboWidget_findByValue;D.findByText=ComboWidget_findByText;D.getValue=ComboWidget_getValue;D.isGrayed=ComboWidget_isGrayed;D.clearSelection=ComboWidget_clearSelection;D.isDisabled=false;D.multi=false;D.undef=false;D.isCombo=true;D.undefId=D.id+"__undef";D.disabledId=D.id+"__disabled";return D}_extrCmbS=(_moz?"font-size:12px;":"");function ComboWidget_beginHTML(){var B=this,A=((_moz&&!B.isCombo)?"font-size:12px;":"");return""}function ComboWidget_getHTML(A){return this.beginHTML()+(A?A:"")+this.endHTML()}function ComboWidget_add(B,F,C,G,E){var D=this.layer,A=_curDoc.createElement("option");if(_ie){D.options.add(A)}else{D.appendChild(A)}if(A.innerText!=null){A.innerText=B}else{A.innerHTML=convStr(B)}A.value=F;if(G!=null){A.id=G}if(C){A.selected=true}if(E){A.style.color="gray"}return A}function ComboWidget_getSelection(){var C=this.layer,B=C.selectedIndex;if(B<0){return null}var A=new Object;A.index=B;A.value=C.options[B].value;A.text=C.options[B].text;return A}function ComboWidget_select(B){var D=this,C=D.layer,A=C.options.length;if(B==null){C.selectedIndex=-1}if((B<0)||(B>=A)){B=A-1}if(B>=0){C.selectedIndex=B}D.setUndefined(false)}function ComboWidget_valueSelect(B){var F=this,E=F.layer,D=E.options,A=D.length;for(var C=0;CA){return null}var B=new Object;B.index=C;B.value=E.options[C].value;return B}function ComboWidget_isGrayed(B){var E=this,D=E.layer,C=D.options,A=C.length;if(B==null||B<0||B>A){return false}return(D.options[B].style.color=="gray")}function newListWidget(A,F,E,B,J,I,G,D,H){var C=newComboWidget(A,F,true,B,I);C.clickCB=H;C.dblClickCB=G;C.keyUpCB=D;C.size=J;C.multi=E;C.getMultiSelection=ListWidget_getMultiSelection;C.setUndefined=ListWidget_setUndefined;C.isUndefined=ListWidget_isUndefined;C.change=ListWidget_change;C.isCombo=false;return C}function ListWidget_setUndefined(A){var B=this;B.undef=A;if(A==true){B.layer.selectedIndex=-1}}function ListWidget_isUndefined(){return(this.layer.selectedIndex==-1)}function ListWidget_getMultiSelection(){var F=this.layer,E=new Array,A=F.options.length;for(var D=0;D'+img(_skin+"../help.gif",16,16,"top",null,_helpLab)+''+convStr(A.title)+''+convStr(A.boldTitle)+"
"+getSpace(1,2)+'
'+convStr(A.text,false,true)+"
"}function InfoWidget_resize(B,C){var D=this;if(B!=null){D.w=B}if(C!=null){D.h=C}D.oldResize(B,C);if(D.layer){var A=D.textLayer;if(A==null){A=D.textLayer=getLayer("infozone_"+D.id)}if(A){if(D.h!=null){A.style.height=""+Math.max(0,D.h-(_ie?18:28))+"px"}}}}function newCheckWidget(A,H,F,E,I,G,D,C){var B=newWidget(A);B.text=H;B.convText=C;B.changeCB=F;B.idCheckbox="check_"+A;B.checkbox=null;B.kind="checkbox";B.name=B.idCheckbox;B.bold=E;B.imgUrl=I;B.imgW=G;B.imgH=D;B.getHTML=CheckWidget_getHTML;B.setText=CheckWidget_setText;B.parentInit=Widget_init;B.init=CheckWidget_init;B.check=CheckWidget_check;B.isChecked=CheckWidget_isChecked;B.setDisabled=CheckWidget_setDisabled;B.isDisabled=CheckWidget_isDisabled;B.uncheckOthers=CheckWidget_uncheckOthers;B.isIndeterminate=CheckWidget_isIndeterminate;B.setIndeterminate=CheckWidget_setIndeterminate;B.layerClass=("dialogzone"+(B.bold?"bold":""));B.nobr=true;return B}function CheckWidget_getHTML(){var B=this,A=B.layerClass;return'"+(B.imgUrl?'":"")+"
"+(B.nobr?"":"")+'"+(B.nobr?"":"")+"
"}function CheckWidget_setText(A){var B=this;B.text=A;if(B.layer){if(B.labelLyr==null){B.labelLyr=getLayer("label_"+B.id)}B.labelLyr.innerHTML=B.convText?convStr(A):A}}function CheckWidget_init(){this.parentInit();this.checkbox=getLayer(this.idCheckbox)}function CheckWidget_check(A){this.checkbox.checked=A;if(A){this.uncheckOthers()}}function CheckWidget_isChecked(){return this.checkbox.checked}function CheckWidget_changeCB(B,A){var C=getWidget(A);C.uncheckOthers();if(C.changeCB){C.changeCB(B)}}function CheckWidget_setDisabled(A){this.checkbox.disabled=A;if(_moz){this.checkbox.className=(A?"dialogzone":"")}}function CheckWidget_isDisabled(){return this.checkbox.disabled}function CheckWidget_uncheckOthers(){}function CheckWidget_isIndeterminate(){return this.checkbox.indeterminate}function CheckWidget_setIndeterminate(A){this.checkbox.indeterminate=A}function newRadioWidget(A,I,J,G,F,K,H,D,C){var B=newCheckWidget(A,J,G,F,K,H,D,C);B.kind="radio";B.name=I;if(_RadioWidget_groups[I]==null){_RadioWidget_groups[I]=new Array}B.groupInstance=_RadioWidget_groups[I];var E=B.groupInstance;B.groupIdx=E.length;E[E.length]=B;B.uncheckOthers=RadioWidget_uncheckOthers;return B}var _RadioWidget_groups=new Array;function RadioWidget_uncheckOthers(){var D=this.groupInstance,B=this.groupIdx,A=D.length;for(var C=0;C'}function TextFieldWidget_getValue(){var A=this;if(A.isHelpTxt){return""}else{return A.layer?A.layer.value:A.oldValue}}function TextFieldWidget_setValue(A){var B=this;if(B.layer){B.eraseHelpTxt();B.layer.value=""+A}else{B.oldValue=A}}function TextFieldWidget_changeCB(B,A){var C=getWidget(A);C.eraseHelpTxt();if(C.beforeChange){C.beforeChange()}if(C.changeCB){C.changeCB(B)}}function TextFieldWidget_keyPressCB(B,A){var C=getWidget(A);if(eventGetKey(B)==13){C.enterKeyPressed=true;return false}else{C.enterKeyPressed=false}return true}function TextFieldWidget_keyUpCB(B,A){var C=getWidget(A);C.eraseHelpTxt();if(eventGetKey(B)==13&&C.enterKeyPressed){if(C.beforeChange){C.beforeChange()}if(C.enterCB){if(C.enterCancelBubble){eventCancelBubble(B)}C.enterCB(B)}return false}else{if(C.keyUpCB){C.keyUpCB(B)}}C.enterKeyPressed=false;return true}function TextFieldWidget_keyDownCB(B,A){var C=getWidget(A);C.eraseHelpTxt();C.enterKeyPressed=false;if(eventGetKey(B)==13){return true}else{if(eventGetKey(B)==8){eventCancelBubble(B)}}return true}function TextFieldWidget_eraseHelpTxt(){var A=this;if(A.isHelpTxt){A.layer.value=""}A.isHelpTxt=false;A.layer.style.color="black"}function TextFieldWidget_focus(A){var B=getWidget(A);B.eraseHelpTxt();if(B.focusCB){B.focusCB()}}function TextFieldWidget_blur(A){var B=getWidget(A);if(B.beforeChange){B.beforeChange()}if(B.blurCB){B.blurCB()}}function TextFieldWidget_intValue(A){var B=parseInt(this.getValue());return isNaN(B)?A:B}function TextFieldWidget_intPosValue(A){var B=this.intValue(A);return(B<0)?A:B}function TextFieldWidget_select(){this.layer.select()}function TextFieldWidget_setHelpTxt(A){var B=this;B.helpTxt=A;if(B.layer&&(B.layer.value=="")){B.isHelpTxt=true;B.layer.value=A;B.layer.style.color="#808080"}}function newIntFieldWidget(C,G,I,F,H,B,J,D,A){var E=newTextFieldWidget(C,G,I,F,H,B,J,D);E.min=-Number.MAX_VALUE;E.max=Number.MAX_VALUE;E.customCheckCB=A;E.setMin=IntFieldWidget_setMin;E.setMax=IntFieldWidget_setMax;E.setValue=IntFieldWidget_setValue;E.beforeChange=IntFieldWidget_checkChangeCB;E.value="";return E}function IntFieldWidget_setMin(A){if(!isNaN(A)){this.min=A}}function IntFieldWidget_setMax(A){if(!isNaN(A)){this.max=A}}function IntFieldWidget_setValue(B){var C=this,A=C.layer;B=""+B;if(B==""){if(A){A.value=""}C.oldValue="";return }var D=parseInt(B);value="";if(!isNaN(D)&&(D>=C.min)&&(D<=C.max)&&((C.customCheckCB==null)||C.customCheckCB(D))){value=D;C.oldValue=value}else{if(C.oldValue){value=C.oldValue}}if(A){A.value=""+value}}function IntFieldWidget_checkChangeCB(){var A=this;A.setValue(A.layer.value)}function newFrameZoneWidget(E,A,C,B){var D=newWidget(E);D.w=(A!=null)?""+Math.max(0,A-10)+"px":null;D.h=(C!=null)?""+Math.max(0,C-10)+"px":null;D.reverse=(B!=null)?B:false;D.cont=null;D.beginHTML=FrameZoneWidget_beginHTML;D.endHTML=FrameZoneWidget_endHTML;D.oldResize=D.resize;D.resize=FrameZoneWidget_resize;return D}function FrameZoneWidget_resize(A,B){var D=this;var C=D.layer.display!="none";if(C&_moz&&!_saf){D.setDisplay(false)}D.oldResize(A,B);if(C&_moz&&!_saf){D.setDisplay(true)}}function FrameZoneWidget_beginHTML(){var A=this;return'
'}function FrameZoneWidget_endHTML(){var A=this;return"
"}function arrayAdd(E,G,D,B){var F=E[G],A=F.length;if((B==null)||(typeof B!="number")){B=-1}if((B<0)||(B>A)){B=A}if(B!=A){var C=F.slice(B);F.length=B+1;F[B]=D;F=F.concat(C)}else{F[B]=D}E[G]=F;return B}function arrayRemove(D,F,A){var E=D[F],C=E.length-1;if(A==null){E.length=0;D[F]=E;return -1}if((A<0)||(A>C)){return -1}if(A==C){E.length=C}else{var B=E.slice(A+1);E.length=A;E=E.concat(B)}D[F]=E;return A}function getFrame(name,par){if(par==null){par=self}var frames=par.frames,w=eval("frames."+name);if(w==null){return w}var l=frames.length;for(var i=0;i/g,">").replace(/"/g,""");if(A){B=B.replace(/ /g," ")}if(C){B=B.replace(/\n/g,"
")}return B}function escapeCR(B){B=""+B;var A=B.replace(/\r/g,"").replace(/\n/g,"\\n");return A}function addDblClickCB(B,A){if(B.addEventListener&&!_saf){B.addEventListener("dblclick",A,false)}else{B.ondblclick=A}}function img(E,A,C,F,B,D){B=(B?B:"");if(D==null){D=""}return""}function imgOffset(A,G,D,J,I,B,F,C,H,E){return img(_skin+"../transp.gif",G,D,E,(F?F:"")+" "+attr("id",B)+' style="float:left;'+backImgOffset(A,J,I)+(H?H:"")+'"',C)}function simpleImgOffset(A,G,D,J,I,B,F,C,H,E){if(_ie){if(J==null){J=0}if(I==null){I=0}return"
'+img(A,null,null,(E?E:"top"),'style="margin:0px;position:relative;top:'+(-I)+"px;left:"+(-J)+'px" tabIndex="-1"',C)+"
"}else{return imgOffset(A,G,D,J,I,B,F,C,H,E)}}function changeSimpleOffset(E,B,A,D,F){if(_ie){E=E.childNodes[0];var C=E.style;if((D!=null)&&(D!=E.src)){E.src=D}if(B!=null){C.left=""+(-B)+"px"}if(A!=null){C.top=""+(-A)+"px"}if(F!=null){E.title=F;E.alt=F}}else{changeOffset(E,B,A,D,F)}}function backImgOffset(C,B,A){return"background-image:url('"+C+"');background-position:"+(-B)+"px "+(-A)+"px;"}function changeOffset(E,B,A,D,F){var C=E.style;if(C){if((B!=null)&&(A!=null)){C.backgroundPosition=""+(-B)+"px "+(-A)+"px"}if(D){C.backgroundImage="url('"+D+"')"}}if(F){E.title=F}}function includeCSS(B,C){if(typeof (_skin)=="string"&&_skin!=""){var A="";if(C){A=_skin+"../"+B}else{A=_skin+B}A+=".css";_curDoc.write('')}}function getLayer(A){return _curDoc.getElementById(A)}function setLayerTransp(A,B){if(_ie){A.style.filter=(B==null)?"":"progid:DXImageTransform.Microsoft.Alpha( style=0,opacity="+B+")"}else{A.style.MozOpacity=(B==null)?1:B/100}}function getPos(B,A){A=A?A:null;for(var D=0,C=0;(B!=null)&&(B!=A);D+=B.offsetLeft,C+=B.offsetTop,B=B.offsetParent){}return{x:D,y:C}}function getPos2(B,A){var A=A?A:null;var D=0;var C=0;while(B.parentNode||B.offsetParent){if(B.offsetParent){D+=B.offsetLeft;C+=B.offsetTop;B=B.offsetParent}else{if(B.parentNode){if(B.style){if(B.style.left){D+=B.style.left}if(B.style.top){C+=B.style.top}}B=B.parentNode}else{break}}}if(A){relToCord=getPos2(A);D-=relToCord.x;C-=relToCord.y}return{x:D,y:C}}function getPosScrolled(C,B){B=B?B:null;if(_ie){for(var E=0,D=0;(C!=null)&&(C!=B);E+=C.offsetLeft-C.scrollLeft,D+=C.offsetTop-C.scrollTop,C=C.offsetParent){}}else{var A=C;for(var E=0,D=0;(C!=null)&&(C!=B);E+=C.offsetLeft,D+=C.offsetTop,C=C.offsetParent){}for(C=A;(C!=null)&&(C!=B);C=C.parentNode){if(C.scrollLeft!=null){E-=C.scrollLeft;D-=C.scrollTop}}}E+=getScrollX();D+=getScrollY();return{x:E,y:D}}function getWidget(B){if(B==null){return null}var A=B._widget;if(A!=null){return _widgets[A]}else{return getWidget(B.parentNode)}}function getWidgetFromID(B){if(B==null){return null}var A=getLayer(B);return getWidget(A)}function attr(A,B){return(B!=null?" "+A+'="'+B+'" ':"")}function sty(A,B){return(B!=null?A+":"+B+";":"")}function getSep(B,A){if(B==null){B=0}var C=B>0?''+getSpace(B,1)+"":"";return''+C+''+C+"
"}function writeSep(B,A){_curDoc.write(getSep(B,A))}function getSpace(A,B){return'
'+img(_skin+"../transp.gif",A,B)+"
"}function writeSpace(A,B){_curDoc.write(getSpace(A,B))}function documentWidth(B){var B=B?B:_curWin;var A=Math.max(document.body.clientWidth,document.documentElement.clientWidth);A=Math.max(A,document.body.scrollWidth);return A}function documentHeight(B){var B=B?B:_curWin;var A=Math.max(document.body.clientHeight,document.documentElement.clientHeight);A=Math.max(A,document.body.scrollHeight);return A}function winWidth(B){var A;var B=B?B:_curWin;if(_ie){if(_isQuirksMode){A=B.document.body.clientWidth}else{A=B.document.documentElement.clientWidth}}else{A=B.innerWidth}return A}function winHeight(B){var B=B?B:_curWin;var A;if(_ie){if(_isQuirksMode){A=document.body.clientHeight}else{A=document.documentElement.clientHeight}}else{A=B.innerHeight}return A}function getScrollX(A){var B=0;var A=A?A:_curWin;if(typeof (A.scrollX)=="number"){B=A.scrollX}else{B=Math.max(A.document.body.scrollLeft,A.document.documentElement.scrollLeft)}return B}function getScrollY(B){var A=0;var B=B?B:_curWin;if(typeof (B.scrollY)=="number"){A=window.scrollY}else{A=Math.max(B.document.body.scrollTop,B.document.documentElement.scrollTop)}return A}function winScrollTo(A,C,B){B=B?B:_curWin;B.scrollTo(A,C)}function eventGetKey(B,A){A=A?A:_curWin;return _ie?A.event.keyCode:B.keyCode}function eventGetX(A){return _ie?_curWin.event.clientX:A.clientX?A.clientX:A.pageX}function eventGetY(A){return _ie?_curWin.event.clientY:A.clientY?A.clientY:A.pageY}function xpos(D,C,B,A){if((A==null)||(!_ie)){A=1}return((C.clientX/A)-getPos(D).x)+getScrollX()}function ypos(D,C,B,A){if((A==null)||(!_ie)){A=1}return((C.clientY/A)-getPos(D).y)+(_ie?B.body.scrollTop:0)}function absxpos(B,A){if((A==null)||(!_ie)){return B.clientX}else{return B.clientX/A}}function absypos(B,A){if((A==null)||(!_ie)){return B.clientY}else{return B.clientY/A}}function eventCancelBubble(C,B){B=B?B:_curWin;var A=_ie?B.event:C;if(A){A.cancelBubble=true;if(A.stopPropagation){A.stopPropagation()}}}function isHidden(B){if((B==null)||(B.tagName=="BODY")){return false}var A=B.style;if((A==null)||(A.visibility==_hide)||(A.display=="none")){return true}return isHidden(B.parentNode)}function opt(C,A,B){return'"}function lnk(C,D,A,F,B,E){if(D==null){D="return false"}B=B?B:"";return""+C+""}_oldErrHandler=null;function localErrHandler(){return true}function canScanFrames(A){var B=true,D=null;if(_moz){_oldErrHandler=window.onerror;window.onerror=localErrHandler}try{D=A.document;B=false}catch(C){}if(_moz){window.onerror=_oldErrHandler}return(!B&&(D!=null))}function getBGIframe(A){return''}function getDynamicBGIFrameLayer(){var A=false;if(_curWin.BGIFramePool){BGIFrames=_curWin.BGIFramePool.split(",");BGIFCount=BGIFrames.length;for(var B=0;B'}function BlockWhileWaitWidget_show(A){var B=this;if(B.layer==null){B.layer=getLayer(B.id);if(B.layer==null){targetApp(B.getPrivateHTML());B.layer=getLayer(B.id);B.css=B.layer.style}else{B.css=B.layer.style}}B.setDisplay(A)}function isTextInput(A){var B=_ie?A.srcElement:A.target;var C=false;if(B.tagName=="TEXTAREA"){C=true}if((B.tagName=="INPUT")&&((B.type.toLowerCase()=="text")||(B.type.toLowerCase()=="password"))){C=true}return C}function isTextArea(A){var B=_ie?A.srcElement:A.target;if(B.tagName=="TEXTAREA"){return true}else{return false}}function LZ(A){return(A<0||A>9?"":"0")+A}if(bobj.crv.config.isDebug){localErrHandler=null}initDom(bobj.crvUri("../dhtmllib/images/")+bobj.crv.config.skin+"/","",bobj.crv.config.lang);styleSheet();_allBOIcons=new Array;_allBOIconsMenus=new Array;_menuType_simple=0;_menuType_color=1;_menuType_border=2;function NewLabelWidget(D,C,A){var B=newWidget(D);B.text=C;B.convBlanks=A;B.getHTML=LabelWidget_getHTML;B.setDisabled=LabelWidget_setDisabled;B.dis=false;return B}function LabelWidget_setDisabled(A){var B=this;if(B.dis!=A){B.dis=A;if(B.layer){B.layer.className="iconText"+(A?"Dis":"")}}}function LabelWidget_getHTML(){var A=this;return'
'+convStr(A.text,A.convBlanks)+"
"}function newIconWidget(C,B,M,I,F,H,G,N,K,A,L,J,E){var D=newWidget(C);D.src=B;D.clickCB=M;D.text=I;D.alt=F;D.isTabEnabled=J;D.ariaHasPopUp=E;D.width=null;D.txtAlign="left";D.border=4;D.txtNoPadding=false;D.allowDblClick=false;if(B){D.w=(H!=null)?H:16;D.h=(G!=null)?G:16;D.dx=(N!=null)?N:0;D.dy=(K!=null)?K:0;D.disDx=(A!=null)?A:0;D.disDy=(L!=null)?L:0}else{D.w=1;D.h=16}D.dis=false;D.disp=true;D.margin=1;D.extraHTML="";D.imgLayer=null;D.txtLayer=null;D.overCB="IconWidget_overCB";D.outCB="IconWidget_outCB";D.isDisplayed=IconWidget_isDisplayed;D.setDisplay=IconWidget_setDisplay;D.getHTML=IconWidget_getHTML;D.getTxtWidth=IconWidget_getTxtWidth;D.index=_allBOIcons.length++;D.nocheckClass="iconnocheck";D.hoverClass="iconhover";D.checkClass="iconcheck";D.checkhoverClass="iconcheckhover";D.currentClass=D.nocheckClass;D.currentHoverClass=D.hoverClass;D.setClasses=IconWidget_setClasses;D.internalUpCB=null;D.internalDownCB=IconWidget_internalDownCB;D.internalUpCB=IconWidget_internalUpCB;D.isHover=false;D.changeTooltip=IconWidget_changeTooltip;D.changeText=IconWidget_changeText;D.changeImg=IconWidget_changeImg;D.setDisabled=IconWidget_setDisabled;D.isDisabled=IconWidget_isDisabled;D.acceptClick=IconWidget_acceptClick;_allBOIcons[D.index]=D;D.outEnable=true;D.setCrs=IconWidget_setCrs;D.oldRes=D.resize;D.resize=IconWidget_resize;D.iconOldInit=D.init;D.init=IconWidget_init;return D}function newIconMenuWidget(C,B,O,K,F,J,G,P,L,A,N,E,I,H){var D=newWidget(C);if(typeof (H)=="undefined"){H=E?_menuType_color:_menuType_simple}D.menuItemType=E?_isColor:_isNotColor;var M=_openMenu.replace("{0}",(K?K:(F?F:"")));D.icon=newIconWidget("iconMenu_icon_"+C,B,IconMenuWidget_iconClickCB,K,F,J,G,P,L,A,N,false);D.arrow=newIconWidget("iconMenu_arrow_"+C,_skin+"menus.gif",IconMenuWidget_arrowClickCB,null,M,7,16,0,81,0,97,true);switch(H){case _menuType_color:D.menu=newMenuColorWidget("iconMenu_menu_"+C,IconMenuWidget_hideCB);break;case _menuType_border:D.menu=newMenuBordersWidget("iconMenu_menu_"+C,IconMenuWidget_hideCB,I,IconBordersMenuWidget_internalClickCB);break;default:case _menuType_simple:D.menu=newMenuWidget("iconMenu_menu_"+C,IconMenuWidget_hideCB,I);break}D.icon.par=D;D.arrow.par=D;D.menu.parIcon=D;D.icon.margin=0;D.arrow.margin=0;D.icon.overCB="IconWidget_none";D.icon.outCB="IconWidget_none";D.arrow.overCB="IconWidget_none";D.arrow.outCB="IconWidget_none";D.margin=1;D.spc=0;D.getHTML=IconMenuWidget_getHTML;D.clickCB=O;D.getMenu=IconMenuWidget_getMenu;D.menIcnOldInit=D.init;D.init=IconMenuWidget_init;D.removeAllMenuItems=IconMenuWidget_removeAllMenuItems;D.index=_allBOIconsMenus.length++;_allBOIconsMenus[D.index]=D;D.setDisabled=IconMenuWidget_setDisabled;D.isDisabled=IconMenuWidget_isDisabled;D.disableMenu=IconMenuWidget_disableMenu;D.changeText=IconMenuWidget_changeText;D.imwpResize=D.resize;D.resize=IconMenuWidget_resize;D.focus=IconMenuWidget_focus;D.changeArrowTooltip=IconMenuWidget_changeArrowTooltip;D.disp=true;D.isDisplayed=IconWidget_isDisplayed;D.setDisplay=IconWidget_setDisplay;return D}function IconMenuWidget_removeAllMenuItems(){this.menu.removeAll();this.menu.resetItemCount()}function IconMenuWidget_changeText(A){this.icon.changeText(A)}function IconMenuWidget_changeArrowTooltip(A){this.arrow.changeTooltip(A,false)}function IconMenuWidget_resize(A,B){var D=this;if(A!=null){A=Math.max(0,A-2*D.margin)}var C=D.layer.display!="none";if(C&_moz&&!_saf){D.setDisplay(false)}D.imwpResize(A,B);if(A!=null){D.icon.resize(Math.max(0,A-13-D.spc))}if(C&_moz&&!_saf){D.setDisplay(true)}}function IconMenuWidget_setDisabled(A){var B=this;if(A){if(B.menu.isShown()){B.menu.show(false)}IconMenuWidgetOutCB(B.index)}B.icon.setDisabled(A);B.arrow.setDisabled(A)}function IconMenuWidget_isDisabled(){return(this.icon.dis==true)}function IconMenuWidget_internalCB(){var C=this,A=null;if(C.id!=null){A=(C.menuItemType!=_isLastUsedColor)?C.id.slice(6):C.color}var B=C.par.parIcon;B.oldColor=B.curColor;B.curColor=A;if(B.curColor!=null){B.showSample()}if(B.clickColor){B.clickColor()}}function IconMenuWidget_focus(){var A=this;A.arrow.focus()}function IconMenuWidget_disableMenu(A){var B=this;B.arrow.setDisabled(A);B.menu.setDisabled(A)}function IconMenuWidget_getMenu(){return this.menu}function IconWidget_none(){}function IconMenuWidget_init(){var B=this;B.menIcnOldInit();B.icon.init();B.arrow.init();B.menu.init();var A=B.layer;A.onmouseover=IconMenuWidget_OverCB;A.onmouseout=IconMenuWidget_OutCB}function IconMenuWidget_getHTML(){var B=this,A=B.disp?"":"display:none;";return'
'+B.icon.getHTML()+''+B.arrow.getHTML()+"
"}function IconMenuWidget_OverCB(){IconMenuWidgetOverCB(getWidget(this).index);return true}function IconMenuWidget_OutCB(){IconMenuWidgetOutCB(getWidget(this).index)}function IconMenuWidgetOverCB(A){o=_allBOIconsMenus[A];IconWidget_overCB(o.icon.index);IconWidget_overCB(o.arrow.index)}function IconMenuWidgetOutCB(A){o=_allBOIconsMenus[A];if(!o.menu.isShown()){IconWidget_outCB(o.icon.index);IconWidget_outCB(o.arrow.index)}else{IconWidget_overCB(o.icon.index);IconWidget_overCB(o.arrow.index)}}function IconMenuWidget_iconClickCB(){var C=this.par;if(C.clickCB==null){var B=C.layer;var A=getPos2(B);C.menu.show(!C.menu.isShown(),A.x,A.y+C.getHeight()+1,null,null,C);IconMenuWidgetOverCB(C.index)}else{C.clickCB()}}function IconMenuWidget_arrowClickCB(){var C=this.par,B=C.layer;var A=getPos2(B);C.menu.show(!C.menu.isShown(),A.x,A.y+C.getHeight()+1,null,null,C);IconMenuWidgetOverCB(C.index)}function IconMenuWidget_hideCB(){var A=this.parIcon;if(A.arrow){A.arrow.focus()}IconMenuWidgetOutCB(A.index)}function newSingleIconMenuWidget(C,B,N,J,F,I,G,O,K,A,M,E,H){var L=_openMenu.replace("{0}",(J?J:(F?F:"")));var D=newIconWidget(C,B,SingleIconMenuWidget_clickCB,null,L,I,G,O,K,A,M,true);D.icon=newIconWidget("singleIconMenu_icon_"+C,B,null,J,null,I,G,O,K,A,M,false);D.arrow=newIconWidget("singleIcon_arrow_"+C,_skin+"menus.gif",SingleIconMenuWidget_iconClickCB,null,L,7,16,0,81,0,97,false);D.menu=newMenuWidget("singleIconMenu_menu_"+C,SingleIconMenuWidget_hideCB,H);D.icon.par=D;D.arrow.par=D;D.menu.parIcon=D;D.icon.margin=0;D.arrow.margin=0;D.icon.overCB="IconWidget_none";D.icon.outCB="IconWidget_none";D.arrow.overCB="IconWidget_none";D.arrow.outCB="IconWidget_none";D.margin=1;D.spc=0;D.getHTML=SingleIconMenuWidget_getHTML;D.getMenu=IconMenuWidget_getMenu;D.menIcnOldInit=D.init;D.init=SingleIconMenuWidget_init;D.removeAllMenuItems=IconMenuWidget_removeAllMenuItems;D.index=_allBOIconsMenus.length++;_allBOIconsMenus[D.index]=D;D.setDisabled=IconMenuWidget_setDisabled;D.isDisabled=IconMenuWidget_isDisabled;D.disableMenu=IconMenuWidget_disableMenu;D.changeText=IconMenuWidget_changeText;D.imwpResize=D.resize;D.resize=IconMenuWidget_resize;D.changeArrowTooltip=IconMenuWidget_changeArrowTooltip;D.disp=true;D.isDisplayed=IconWidget_isDisplayed;D.setDisplay=IconWidget_setDisplay;return D}function SingleIconMenuWidget_init(){var B=this;B.menIcnOldInit();B.menu.init();var A=B.layer;A.onmouseover=SingleIconMenuWidget_OverCB;A.onmouseout=SingleIconMenuWidget_OutCB}function SingleIconMenuWidget_getHTML(){var B=this,A=B.disp?"":"display:none;";return'
'+B.icon.getHTML()+''+B.arrow.getHTML()+'
'}function SingleIconMenuWidget_OverCB(){SingleIconMenuWidgetOverCB(getWidget(this).index);return true}function SingleIconMenuWidget_OutCB(){SingleIconMenuWidgetOutCB(getWidget(this).index)}function SingleIconMenuWidgetOverCB(A){o=_allBOIconsMenus[A];IconWidget_overCB(o.index)}function SingleIconMenuWidgetOutCB(A){o=_allBOIconsMenus[A];if(!o.menu.isShown()){IconWidget_outCB(o.index)}else{IconWidget_overCB(o.index)}}function SingleIconMenuWidget_clickCB(){var C=this,B=C.layer;var A=getPos2(B);C.menu.show(!C.menu.isShown(),A.x,A.y+C.getHeight()+1,null,null,C);SingleIconMenuWidgetOverCB(C.index)}function SingleIconMenuWidget_iconClickCB(){}function SingleIconMenuWidget_hideCB(){var A=this.parIcon;A.focus();SingleIconMenuWidgetOutCB(A.index)}function newIconCheckWidget(C,B,K,H,E,G,F,L,I,A,J){var D=newIconWidget(C,B,K,H,E,G,F,L,I,A,J);D.checked=false;D.internalUpCB=IconCheckWidget_internalUpCB;D.internalDownCB=IconCheckWidget_internalDownCB;D.check=IconCheckWidget_check;D.isChecked=IconCheckWidget_isChecked;D.oldInit=D.init;D.init=IconCheckWidget_init;D.isRadio=false;return D}function newPaletteContainerWidget(D,A,B){var C=newWidget(D);C.beginHTML=PaletteContainerWidget_beginHTML;C.endHTML=PaletteContainerWidget_endHTML;C.add=PaletteContainerWidget_add;C.palettes=new Array;C.contextMenu=A;C.margin=(B!=null)?B:4;return C}function newPaletteWidget(C,A){var B=newWidget(C);B.getHTML=PaletteWidget_getHTML;B.add=PaletteWidget_add;B.disableChildren=PaletteWidget_disableChildren;B.items=new Array;B.oldInit=B.init;B.init=PaletteWidget_init;B.beginRightZone=PaletteWidget_beginRightZone;B.height=A;B.rightZoneIndex=-1;B.sepCount=0;B.vertPadding=4;B.isLeftTableFixed=false;return B}function newPaletteVerticalSepWidget(B){var A=newWidget(B);A.getHTML=PaletteVerticalSepWidget_getHTML;A.isSeparator=true;return A}function PaletteVerticalSepWidget_getHTML(){return img(_skin+"iconsep.gif",6,22,null,' id="'+this.id+'" ')}function getPaletteSep(){return img(_skin+"iconsep.gif",6,22)}function IconRadioWidget_uncheckOthers(){var D=this.groupInstance,B=this.groupIdx,A=D.length;for(var C=0;C'+getSpace(1,2)+""}function PaletteContainerWidget_beginHTML(){var B=this;var A=B.contextMenu?('oncontextmenu="'+_codeWinName+'.PaletteContainerWidget_contextMenu(this,event);return false"'):"";return"
'}_delayedMenu=null;function PaletteContainerWidget_contextMenu(B,A){if(_ie){A=_curWin.event}_delayedMenu=getWidget(B).contextMenu;setTimeout("_delayedMenu.par=null;_delayedMenu.show(true,"+absxpos(A)+","+absypos(A)+")",1)}function PaletteContainerWidget_endHTML(){return"
"}function PaletteContainerWidget_add(A){this.palettes[this.palettes.length]=A;return A}function PaletteWidget_getHTML(){var G=this,C=G.items,B=C.length,A=new Array;j=0;A[j++]='';A[j++]='
';var F=false;for(var D=0;D
';F=true}var E=C[D];A[j++]=""}if(!F){A[j++]='
"+E.getHTML()+"
'}A[j++]="
";return A.join("")}function PaletteWidget_add(A){if(A==null){A=newPaletteVerticalSepWidget(this.id+"_palettesep_"+(this.sepCount++))}this.items[this.items.length]=A;return A}function PaletteWidget_disableChildren(B){var A=this.items;for(var C in A){var D=A[C];if(D&&(D.isSep!=true)){D.setDisabled(B)}}}function PaletteWidget_init(){this.oldInit();var A=this.items;for(var B in A){var C=A[B];if(C){C.init()}}}function IconWidget_isDisplayed(){return this.disp}function IconWidget_setDisplay(C){var B=this;if(B.css){var A=C?"block":"none";if(B.css.display!=A){B.css.display=A}}B.disp=C}function IconWidget_getTxtWidth(){var B=this,A=B.width;if(A!=null){A=A-(B.margin*2);A=A-(B.src?B.w+B.border:1);A=A-(B.txtNoPadding?0:((B.src?4:2)+2));if(_ie){A-=2}else{A-=2}return Math.max(0,A)}else{return -1}}function IconWidget_init(){var D=this,B=false;D.iconOldInit();var A=D.layer;A.tabIndex=D.dis?-1:0;A.title=(D.alt?D.alt:(D.text?D.text:""));if(D.clickCB){A.onclick=IconWidget_upCB;A.onmousedown=IconWidget_downCB;if(D.allowDblClick&&(_ie||_saf)){B=true;addDblClickCB(A,IconWidget_upCB)}A.onkeydown=IconWidget_keydownCB;A.onmouseover=IconWidget_realOverCB;A.onmouseout=IconWidget_realOutCB}if(!B){addDblClickCB(A,IconWidget_retFalse)}A.onselectstart=IconWidget_retFalse;var C=D.disp?"block":"none";if(D.css.display!=C){D.css.display=C}}function IconWidget_getHTML(){var E=this,B=E.src?'
'+simpleImgOffset(E.src,E.w,E.h,E.dis?E.disDx:E.dx,E.dis?E.disDy:E.dy,"IconImg_"+E.id,null,E.alt,"margin:2px;")+E.extraHTML+"
":'
';var A='style="white-space:nowrap;',D=E.getTxtWidth();if(D>=0){A+="text-overflow:ellipsis;overflow:hidden;width:"+D+"px"}A+='"';var C=E.disp?"":"display:none;";return'"+(E.text?'":"")+"
'+((E.clickCB&&_ie)?lnk(B,null,null,null,' tabIndex="-1"'):B)+"
"+convStr(E.text)+"
"}function IconWidget_realOutCB(){var o=getWidget(this);eval(o.outCB+"("+o.index+")")}function IconWidget_realOverCB(){var o=getWidget(this);eval(o.overCB+"("+o.index+")");return true}function IconWidget_retFalse(){return false}function IconWidget_resize(A,B){var D=this;if(D.layer){D.oldRes(A,B)}if(D.txtLayer==null){D.txtLayer=getLayer("IconImg_Txt_"+D.id)}if(A!=null){D.width=A;var C=D.getTxtWidth();if(D.txtLayer&&(C>=0)){D.txtLayer.style.width=""+C+"px"}}if(B!=null){D.h=B?(B-D.border):D.h;if(D.txtLayer&&(D.h>=0)){D.txtLayer.style.height=""+D.h+"px"}}}function IconWidget_changeTooltip(B,A){var C=this;if(B==null){return }if(!A){C.alt=B}if(C.layer){C.layer.title=B}if(C.imgLayer==null){C.imgLayer=getLayer("IconImg_"+this.id)}if(C.imgLayer){changeSimpleOffset(C.imgLayer,null,null,null,B)}}function IconWidget_changeText(A){var B=this;B.text=A;if(B.layer){if(B.txtLayer==null){B.txtLayer=getLayer("IconImg_Txt_"+B.id)}B.txtLayer.innerHTML=convStr(A)}}function IconWidget_changeImg(B,A,D){var C=this;if(D){C.src=D}if(B!=null){C.dx=B}if(A!=null){C.dy=A}if(C.layer&&(C.imgLayer==null)){C.imgLayer=getLayer("IconImg_"+this.id)}if(C.imgLayer){changeSimpleOffset(C.imgLayer,B,A,C.src)}}function IconWidget_internalDownCB(){if(!this.dis){this.currentHoverClass=this.checkhoverClass}}function IconWidget_internalUpCB(){if(!this.dis){this.currentHoverClass=this.hoverClass}}function IconWidget_setCrs(){var B=this,A=(B.clickCB?(!B.acceptClick()?"default":_hand):"default");B.css.cursor=A;if(B.src){if(B.imgLayer==null){B.imgLayer=getLayer("IconImg_"+B.id)}if(B.imgLayer){B.imgLayer.style.cursor=A}}}function IconWidget_downCB(){var A=getWidget(this);if((A.layer)&&(A.acceptClick())){A.internalDownCB();A.layer.className=A.currentHoverClass;if((A.par!=null&&A.par.menu==_globMenuCaptured)||(A!=null&&A.menu&&A.menu==_globMenuCaptured)){MenuWidget_releaseGlobMenuCaptured()}}if(_ie||_saf){return false}}function IconWidget_upCB(){var A=getWidget(this);if((A.layer)&&(A.acceptClick())){A.internalUpCB();A.layer.className=A.isHover?A.currentHoverClass:A.currentClass;A.setCrs();delayedClickCB(A.index)}}function IconWidget_keydownCB(A){if(eventGetKey(A)==13||eventGetKey(A)==32){var B=getWidget(this);if((B.layer)&&(B.acceptClick())){B.internalUpCB();B.layer.className=B.isHover?B.currentHoverClass:B.currentClass;B.setCrs();setTimeout("delayedClickCB("+B.index+")",1)}eventCancelBubble(A)}}function delayedClickCB(A){var B=_allBOIcons[A];if(B.beforeClickCB){B.beforeClickCB()}if(B.clickCB){B.clickCB()}}function IconWidget_overCB(A){var B=_allBOIcons[A];B.setCrs();if((B.layer)&&(!B.dis)&&!(B.par&&B.par.checked)){B.isHover=true;B.layer.className=B.currentHoverClass}}function IconWidget_outCB(A){var B=_allBOIcons[A];if((B.layer)&&(B.outEnable)&&!(B.par&&B.par.checked)){B.isHover=false;B.layer.className=B.currentClass}}function IconCheckWidget_init(){var A=this;A.oldInit();A.check(A.checked,true)}function IconCheckWidget_internalDownCB(){var A=this;if(A.acceptClick()){A.currentHoverClass=A.checked?A.hoverClass:A.checkhoverClass}}function IconCheckWidget_internalUpCB(){var A=this;if(A.acceptClick()){A.checked=A.isRadio?true:!A.checked;A.currentClass=A.checked?this.checkClass:this.nocheckClass;A.currentHoverClass=A.checked?this.checkhoverClass:this.hoverClass}}function IconCheckWidget_check(A,B){var C=this;if((C.checked!=A)||B){C.checked=A;if(C.layer){C.layer.className=C.currentClass=C.checked?this.checkClass:this.nocheckClass;C.currentHoverClass=C.checked?this.checkhoverClass:this.hoverClass}}if(C.checked&&C.beforeClickCB){if(C.layer){C.beforeClickCB()}}}function IconCheckWidget_isChecked(){return this.checked}function IconWidget_setClasses(B,A,C,D){var E=this;E.nocheckClass=B;E.checkClass=A;E.hoverClass=C;E.checkhoverClass=D;E.currentClass=E.nocheckClass;E.currentHoverClass=E.hoverClass}function IconWidget_setDisabled(A){var B=this;if(B.dis!=A){B.dis=A;if(B.layer){B.setCrs();if(B.src){if(B.imgLayer==null){B.imgLayer=getLayer("IconImg_"+this.id)}changeSimpleOffset(B.imgLayer,A?B.disDx:B.dx,A?B.disDy:B.dy)}if(B.text){if(B.txtLayer==null){B.txtLayer=getLayer("IconImg_Txt_"+B.id)}B.txtLayer.className="iconText"+(A?"Dis":"");if(A){B.layer.className=B.currentClass}}if(B.isTabEnabled){B.layer.tabIndex=B.dis?-1:0}}}}function IconWidget_isDisabled(){return this.dis?this.dis:false}function IconWidget_acceptClick(){var A=this;if(A.isDisabled()){return false}if(A.isRadio&&A.checked){return false}return true}function newCustomCombo(D,H,B,E,M,C,I,G,L,J,A,K){var F=newIconMenuWidget(D,C,null," ",M,I,G,L,J,A,K);F.icon.width=E!=null?Math.max(0,E-13):50-(2*F.margin);F.icon.setClasses("combonocheck","combocheck","combohover","combocheck");F.icon.clip;F.arrow.setClasses("iconnocheck","combobtnhover","combobtnhover","combobtnhover");F.spc=0;F.margin=2;if(C==null){F.icon.h=12;F.arrow.h=12;F.arrow.dy+=2;F.arrow.disDy+=2}F.counter=0;F.changeCB=H;F.selectedItem=null;F.setOldDid=F.setDisabled;F.disabled=false;F.ccomboOldInit=F.init;F.init=CustomCombo_init;F.add=CustomCombo_add;F.addSeparator=CustomCombo_addSeparator;F.addMenuItem=CustomCombo_addMenuItem;F.select=CustomCombo_select;F.getSelection=CustomCombo_getSelection;F.valueShow=CustomCombo_valueShow;F.valueSelect=CustomCombo_valueSelect;F.setUndefined=CustomCombo_setUndefined;F.setDisabled=CustomCombo_setDisabled;F.getVisibleItemsCount=CustomCombo_getVisibleItemsCount;F.selectItem=CustomCombo_selectItem;F.getItemByIndex=CustomCombo_getItemByIndex;F.getItemIndex=CustomCombo_getItemIndex;F.setItemDisabled=CustomCombo_setItemDisabled;return F}function CustomCombo_init(){var B=this;B.ccomboOldInit();if(B.disabled){B.icon.changeTooltip(B.icon.alt?B.icon.alt:"",true)}var A=_openMenu.replace("{0}",(B.icon.alt?B.icon.alt:""));B.arrow.changeTooltip(A)}function CustomCombo_add(B,E,A){var D=this;var C=D.menu.addCheck(D.id+"_it_"+(D.counter++),B,CustomCombo_internalCB);C.val=""+E;C.parCombo=D;C.isComboVal=true;if((D.selectedItem==null)||A){D.selectItem(C)}}function CustomCombo_addSeparator(){this.menu.addSeparator()}function CustomCombo_addMenuItem(B,F,C,E,I,G,D,A,H){this.menu.add(B,F,C,E,I,G,D,A,H)}function CustomCombo_internalCB(){var A=this,B=A.parCombo;B.selectItem(A);if(B.changeCB){B.changeCB()}}function CustomCombo_getItemByIndex(A){var B=this.menu.items;return((A>=0)&&(A'}function ComboTextFieldWidget_setDisabled(B){var A=this;A.oldSetDisabled(B)}function newTextComboWidget(A,H,J,G,E,B,F,I){var C=newWidget(A);C.text=newComboTextFieldWidget((I?I:"text_"+A),TextComboWidget_checkCB,H,null,TextComboWidget_enterCB,true,J,G-13);var D=_openMenu.replace("{0}",(J?J:""));C.arrow=newIconWidget("arrow_"+A,_skin+"menus.gif",TextComboWidget_arrowClickCB,null,D,7,16,0,81,0,97,true,true);C.menu=newMenuWidget("menu_"+A,TextComboWidget_hideCB,F);C.arrow.setClasses("iconnocheck","combobtnhover","combobtnhover","combobtnhover");C.text.par=C;C.arrow.par=C;C.menu.parIcon=C;C.arrow.margin=0;C.arrow.overCB="IconWidget_none";C.arrow.outCB="IconWidget_none";C.margin=0;C.spc=0;C.counter=0;C.arrow.h=12;C.arrow.dy+=2;C.arrow.disDy+=2;C.index=_allBOIconsMenus.length++;_allBOIconsMenus[C.index]=C;C.menIcnOldInit=C.init;C.init=TextComboWidget_init;C.imwpResize=C.resize;C.resize=TextComboWidget_resize;C.getHTML=TextComboWidget_getHTML;C.setDisabled=TextComboWidget_setDisabled;C.isDisabled=TextComboWidget_isDisabled;C.add=TextComboWidget_add;C.addSeparator=TextComboWidget_addSeparator;C.addMenuItem=TextComboWidget_addMenuItem;C.select=TextComboWidget_select;C.getSelection=TextComboWidget_getSelection;C.valueShow=TextComboWidget_valueShow;C.valueSelect=TextComboWidget_valueSelect;C.setUndefined=TextComboWidget_setUndefined;C.setContentEditable=TextComboWidget_setContentEditable;C.isContentEditable=TextComboWidget_isContentEditable;C.changeCB=E;C.checkCB=B;C.clickCB=TextComboWidget_clickCB;C.selectItem=TextComboWidget_selectItem;C.getItemByIndex=TextComboWidget_getItemByIndex;C.getItemIndex=TextComboWidget_getItemIndex;C.setItemDisabled=TextComboWidget_setItemDisabled;C.text.enterCancelBubble=false;return C}function TextComboWidget_init(){var B=this;B.menIcnOldInit();B.text.init();B.arrow.init();B.menu.init();var A=B.layer;A.onmouseover=TextCombo_OverCB;A.onmouseout=TextCombo_OutCB}function TextComboWidget_getHTML(){var B=this,A="";A+='';A+="";A+='";A+="
"+B.text.getHTML()+"'+B.arrow.getHTML()+"
";return A}function TextComboWidget_resize(A,B){var D=this;if(A!=null){A=Math.max(0,A-2*D.margin)}var C=D.layer.display!="none";if(C&_moz&&!_saf){D.setDisplay(false)}D.imwpResize(A,B);if(C&_moz&&!_saf){D.setDisplay(true)}}function TextComboWidget_add(B,E,A){var D=this;var C=D.menu.addCheck(D.id+"_it_"+(D.counter++),B,TextComboWidget_internalCB);C.val=""+E;C.parCombo=D;C.isComboVal=true;if((D.selectedItem==null)||A){D.selectItem(C)}}function TextComboWidget_addSeparator(){this.menu.addSeparator()}function TextComboWidget_addMenuItem(B,F,C,E,I,G,D,A,H){this.menu.add(B,F,C,E,I,G,D,A,H)}function TextComboWidget_setDisabled(B){var A=this;A.text.setDisabled(B);A.arrow.setDisabled(B);A.menu.setDisabled(B);A.disabled=B}function TextComboWidget_isDisabled(){var A=this;return A.disabled}function TextComboWidget_select(A){var C=this,B=C.getItemByIndex(A);if(B){C.selectItem(B)}}function TextComboWidget_setItemDisabled(A,B){var D=this,C=D.getItemByIndex(A);if(C){C.setDisabled(B)}}function TextComboWidget_getSelection(){var C=this,B=C.selectedItem;var A=C.text.getValue();if(B){return{index:C.getItemIndex(B),value:B.val}}else{return{index:-1,value:A}}}function TextComboWidget_valueSelect(C){C=""+C;var F=this,B=F.menu.items,A=B.length;for(var D=0;D=0)&&(A=0)&&(B';B[C++]='";B[C++]="";if(E.needsRightPart){if(E.accel!=null){B[C++]='"}else{B[C++]='"}}else{B[C++]='"}B[C++]="";return B.join("")}else{return'"}}function MenuItem_dynHTML(){var A=this;if(A.par.layer==null){return }var F=A.par.layer.childNodes[0],I=F.insertRow(A.menuIndex),J=I.style;I.onmousedown=_minb;I.onmouseup=_minb;I.id=(A.par.id+"_item_"+A.id);if((A.icon!=null)||(A.text!=null)){var D=I.insertCell(0),C=I.insertCell(1),B=I.insertCell(2),H=D.style,G=C.style,E=B.style;I.onclick=MenuItem_clickCallTrue;I.oncontextmenu=MenuItem_clickCallFalse;I.onmouseover=MenuItem_invertCall1;I.onmouseout=MenuItem_invertCall0;J.height=""+_mitemH+"px";J.width="24px";J.cursor=(A.disabled?"default":_hand);D.id=(A.par.id+"_item_td_"+A.id);H.width="23px";H.height=""+_mitemH+"px";D.innerHTML=A.getHTMLPart(0);D.align="center";D.className=A.leftZoneClass;if(A.centered){C.align="center"}G.height=""+_mitemH+"px";C.id=(A.par.id+"_text_"+A.id);C.className="menuTextPart"+(A.disabled?"Disabled":"");C.innerHTML=A.getHTMLPart(1);if(A.accel){B.className="menuTextPart"+(A.disabled?"Disabled":"");B.align="right";E.height=""+_mitemH+"px";B.innerHTML=A.getHTMLPart(4)}else{B.className="menuRightPart";B.align="right";E.width="40px";E.height=""+_mitemH+"px";B.innerHTML=A.getHTMLPart(2)}A.init()}else{I.onclick=_minb;I.style.height="3px";var D=I.insertCell(0),C=I.insertCell(1),H=D.style,G=C.style;D.className=A.leftZoneClass;H.width="24px";H.height="3px";H.border="0px";C.colSpan="2";G.paddingLeft="5px";G.paddingRight="5px";C.innerHTML=A.getHTMLPart(3)}}function MenuItem_isChecked(){return this.checked}function MenuItem_setText(A){var B=this,C=B.par.id;B.text=A;if(B.textLayer){B.textLayer.innerHTML=B.getHTMLPart(1);B.textOnlyLayer=getLayer(C+"_span_text_"+B.id)}}function MenuItem_setAccelerator(B,A){var C=this,D=C.par.id;C.accel=((A!=null)?_modifiers[A]:"")+B;if(C.accelLayer){C.accelLayer.innerHTML=C.getHTMLPart(4)}}function MenuItem_setIcon(B,A,E,D,C){var F=this;F.url=C?C:F.url;F.dx=(B!=null)?B:F.dx;F.dy=(A!=null)?A:F.dy;F.disDx=(E!=null)?E:F.disDx;F.disDy=(D!=null)?D:F.disDy;if(F.icon&&F.iconLayer){changeSimpleOffset(F.iconLayer,F.disabled?F.disDx:F.dx,F.disabled?F.disDy:F.dy,F.url)}}function MenuItem_show(A){var B=this;B.isShown=A;if(B.layer!=null){B.layer.style.display=A?"":"none"}}function _micl(B,C){eventCancelBubble(C);var A=B._boIndex,D=_menusItems[A];D.layer=B;if(!D.disabled){if(D.sub){D.par.nextSub=D.menuIndex;MenuItem_callShowSub(A)}else{D.par.show(false,0,0,true);if(D.isCheck){if(D.par.uncheckAll){D.par.uncheckAll()}D.check(!D.checked)}if(D.par.container&&D.par.container.updateButton){D.par.container.updateButton(A)}_mii(B,0,A);D.par.nextSub=-1;if(D.cb){setTimeout("MenuItem_delayedClick("+A+")",1)}}}}function _mikd(E,G){while(E&&!E._boIndex){E=E.parentNode}if(!E||!E._boIndex){return }var B=E._boIndex,H=_menusItems[B];H.layer=E;var D=eventGetKey(G);switch(D){case 32:case 13:_micl(E,G);break;case 107:case 39:if(!H.disabled&&H.sub){_micl(E,G)}break;case 109:case 37:break;case 40:var C=H.par.items,A=C.length;for(var F=H.menuIndex+1;F=0;F--){if(C[F].isShown&&!C[F].isSeparator){C[F].focus();break}}break}}function MenuItem_callShowSub(A,B){var C=_menusItems[A];if(B){setTimeout("MenuItem_delayedShowSub("+A+")",500)}else{MenuItem_delayedShowSub(A)}}function MenuItem_delayedShowSub(A){var B=_menusItems[A];B.par.showSub()}function _minb(A){eventCancelBubble(A)}function MenuItem_delayedClick(A){var B=_menusItems[A];if(B.cb){B.cb()}}function MenuItem_clickCallTrue(A){_micl(this,A);return true}function MenuItem_clickCallFalse(A){_micl(this,A);return false}function MenuItem_invertCall0(A){_mii(this,0)}function MenuItem_invertCall1(A){_mii(this,1)}function MenuItem_focus(){var A=this;if(isLayerDisplayed(A.layer)&&A.textOnlyLayer&&A.textOnlyLayer.focus){A.textOnlyLayer.focus()}}function MenuItem_updateTooltip(){var B=this;if(B.textOnlyLayer&&!B.isSeparator){if(B.textOnlyLayer.innerHTML){B.textOnlyLayer.title=B.textOnlyLayer.innerHTML}B.textOnlyLayer.title+=B.checked?" "+_menuCheckLab:"";if(B.disabled){B.textOnlyLayer.title=(B.textOnlyLayer.title!=null?B.textOnlyLayer.title:"")+" "+_menuDisableLab}if(B.hiddenLabelLayer){var A=((_moz&&B.textOnlyLayer.title)?B.textOnlyLayer.title:"")+B.itemNo+_of+B.par.getTotalNumItems();B.hiddenLabelLayer.innerHTML=A}}}function newScrollMenuWidget(A,I,H,B,N,M,K,G,F,J,D,L,E){var C=newWidget(A);C.list=newListWidget("list_"+A,ScrollMenuWidget_changeCB,H,B,N,M,ScrollMenuWidget_dblClickCB,ScrollMenuWidget_keyUpCB,ScrollMenuWidget_clickCB);C.list.par=C;C.label=NewLabelWidget("label_"+A,J,D);C.showLabel=F;C.changeCB=I;C.menuClickCB=E;C.dblClickCB=K;C.keyUpCB=G;C.beforeShowCB=L;C.zIndex=_menusZIndex;C.init=ScrollMenuWidget_init;C.justInTimeInit=ScrollMenuWidget_justInTimeInit;C.setDisabled=ScrollMenuWidget_setDisabled;C.write=ScrollMenuWidget_write;C.getHTML=ScrollMenuWidget_getHTML;C.show=ScrollMenuWidget_show;C.add=ScrollMenuWidget_add;C.del=ScrollMenuWidget_del;C.getSelection=ScrollMenuWidget_getSelection;C.select=ScrollMenuWidget_select;C.clearSelection=ScrollMenuWidget_clearSelection;C.valueSelect=ScrollMenuWidget_valueSelect;C.getCount=ScrollMenuWidget_getCount;C.isShown=MenuWidget_isShown;C.captureClicks=MenuWidget_captureClicks;C.releaseClicks=MenuWidget_releaseClicks;C.clickCB=new Array;C.clickCBDocs=new Array;return C}function ScrollMenuWidget_init(){}function ScrollMenuWidget_clearSelection(){var A=this;if(A.list){A.list.clearSelection()}}function ScrollMenuWidget_justInTimeInit(){var A=this;A.layer=getLayer(A.id);if(A.layer==null){append2(_curDoc.body,A.getHTML());A.layer=getLayer(A.id)}A.layer._widget=A.widx;A.css=A.layer.style;A.css.visibility="hidden";A.list.init();A.label.init()}function ScrollMenuWidget_setDisabled(){}function ScrollMenuWidget_write(){}function ScrollMenuWidget_getHTML(){var B=this;var A="";A+='';A+='";A+='";A+="";return A}function ScrollMenuWidget_show(H,G,F){var B=this;if(B.layer==null){B.justInTimeInit()}var D=B.css;if(H){if(B.beforeShowCB){B.beforeShowCB()}B.captureClicks();D.display="block";D.zIndex=(B.zIndex+1);D.visibility="hidden";D.left="-1000px";D.top="-1000px";var I=B.getWidth();var C=B.getHeight();if(B.alignLeft){G-=I}var A=G+I+4,E=F+C+4;if(A>winWidth()){G=Math.max(0,G-4-I)}if(E>winHeight()){F=Math.max(0,F-4-C)}D.left=""+G+"px";D.top=""+F+"px";D.visibility="visible";B.iframeLyr=getDynamicBGIFrameLayer();B.iframeCss=B.iframeLyr.style;iCss=B.iframeCss;iCss.left=""+G+"px";iCss.top=""+F+"px";iCss.width=""+I+"px";iCss.height=""+C+"px";iCss.zIndex=B.zIndex-1;iCss.display="block";if(_ie){F-=2;G-=2}}else{releaseBGIFrame(B.iframeLyr.id);D.display="none";iCss.display="none";B.releaseClicks()}}function ScrollMenuWidget_add(A,D,B,E){var C=this;if(C.layer==null){C.justInTimeInit()}C.list.add(A,D,B,E)}function ScrollMenuWidget_del(A){var B=this;if(B.layer==null){B.justInTimeInit()}B.list.del(A)}function ScrollMenuWidget_getSelection(){var A=this;if(A.layer==null){A.justInTimeInit()}return A.list.getSelection()}function ScrollMenuWidget_select(A){var B=this;if(B.layer==null){B.justInTimeInit()}B.list.select(A)}function ScrollMenuWidget_valueSelect(A){var B=this;if(B.layer==null){B.justInTimeInit()}B.list.valueSelect(A)}function ScrollMenuWidget_getCount(){var A=this;if(A.layer==null){A.justInTimeInit()}return A.list.getCount()}function ScrollMenuWidget_changeCB(){var A=this;if(A.par.changeCB){A.par.changeCB()}}function ScrollMenuWidget_clickCB(){var A=this;A.par.show(false);if(A.par.menuClickCB){A.par.menuClickCB()}}function ScrollMenuWidget_dblClickCB(){var A=this;A.par.show(false);if(A.par.dblClickCB){A.par.dblClickCB()}}function ScrollMenuWidget_keyUpCB(C){var E=13,B=27;var D=this;var A=eventGetKey(C);if(A==E||A==B){D.par.show(false)}if(D.par.keyUpCB){D.par.keyUpCB()}}if(window._DHTML_LIB_PSHEET_JS_LOADED==null){_DHTML_LIB_PSHEET_JS_LOADED=true;_boAllTabs=new Array;_vertTabImgW=3;_vertTabLBorderToTxt=20-_vertTabImgW-1;_vertTabLBorderToIcon=12-_vertTabImgW-1;_vertTabIconToTxt=8;_vertTabIconSize=16;_tabImgLeft=0;_tabImgMid=1;_tabImgRight=2;_tabTxt=3;_tabScrollBar=4;_tabList=5;_VertTab=2;_VertTabWithIcon=3;_HorizTabTop=4;_HorizTabBottom=5;_HorizTabTopWithClose=6;_menuBarTab=7;_vertTabHover=0;_vertTabSelected=1;_vertTabPressed=2;_vertTabNormal=3;_vertTabCSS=[["menuLeftMostSel","naviVTabLSelected","naviVTabLPressed","naviVTabNormal"],["menuLeftPartSel","naviVTabMSelected","naviVTabMPressed","naviVTabNormal"],["menuRightMostSel","naviVTabRSelected","naviVTabRPressed","naviVTabNormal"]];_vertNaviPanelMinW=120;_vertNaviPanelMaxW=180;_vertNaviPanelWithIconW=150;_vertNaviPanelH=23*8;_naviHorzTabH=24;_horizTabSelected=0;_horizTabNormal=1;_horizTabHover=2;_horizTabSelHover=3;_horizTabPressed=4;_tabListNormal=0;_tabListHover=1;_tabListPressed=2;_horizTabCSS=[["naviHTabLSelected","naviHTabLNormal","naviHTabLHover","naviHTabLSelHover","naviHTabLNormal"],["naviHTabMSelected","naviHTabMNormal","naviHTabMHover","naviHTabMSelHover","naviHTabMNormal"],["naviHTabRSelected","naviHTabRNormal","naviHTabRHover","naviHTabRSelHover","naviHTabRNormal"],["naviHTabTextSel","naviHTabText","naviHTabTextHover","naviHTabTextSelHover","naviHTabText"],["naviHScrollBarL","naviHScrollBarM","naviHScrollBarR","naviHScrlBarFirstArrow naviHScrlBarArrowPos","naviHScrlBarPrevArrow naviHScrlBarArrowPos","naviHScrlBarNextArrow naviHScrlBarArrowPos","naviHScrlBarLastArrow naviHScrlBarArrowPos","naviHScrlBarHover","naviHScrlBarPressed","naviHScrlBarDisabled","naviHScrlBarFirstDis naviHScrlBarArrowPos","naviHScrlBarPrevDis naviHScrlBarArrowPos","naviHScrlBarNextDis naviHScrlBarArrowPos","naviHScrlBarLastDis naviHScrlBarArrowPos"],["tabListTop","tabListTopHover","tabListTopPressed"]];_horizTabWithCloseCSS=[["naviHTabLSelected","naviHTabLNormal","naviHTabLHover","naviHTabLSelHover","naviHTabLNormal"],["naviHTabMSelected","naviHTabMNormal","naviHTabMHover","naviHTabMSelHover","naviHTabMNormal"],["naviHTabWithCloseRSel","naviHTabRWithCloseNormal","naviHTabWithCloseRHover","naviHTabWithCloseRSelHover","naviHTabRWithCloseNormal"],["naviHTabTextSel","naviHTabText","naviHTabTextHover","naviHTabTextSelHover","naviHTabText"],["naviHScrollBarL","naviHScrollBarM","naviHScrollBarR","naviHScrlBarFirstArrow naviHScrlBarArrowPos","naviHScrlBarPrevArrow naviHScrlBarArrowPos","naviHScrlBarNextArrow naviHScrlBarArrowPos","naviHScrlBarLastArrow naviHScrlBarArrowPos","naviHScrlBarHover","naviHScrlBarPressed","naviHScrlBarDisabled","naviHScrlBarFirstDis naviHScrlBarArrowPos","naviHScrlBarPrevDis naviHScrlBarArrowPos","naviHScrlBarNextDis naviHScrlBarArrowPos","naviHScrlBarLastDis naviHScrlBarArrowPos"]];_horizTabImgL=4;_horizTabImgR=23;_horizTabTxtPaddingL=15;_horizTabTxtPaddingR=3;_horizTabTxtPaddingB=5;_horizTabImgPadL=8;_horizTabImgToTxt=6;_horizBottomTabTxtPadB=7;_horizTabTxtToClose=5;_horizTabClosePadR=1;_noScrollBar=0;_ScrollBarAtBegin=1;_ScrollBarAtEnd=2;_horizBarWidth=100;_defaultMenuBarWidth=200;_menuBarTabHeight=22;_tabListIconWidth=19}function newTabbedZone(F,C,A,B,D){var E=newFrameZoneWidget(F,B,D);E.w=B;E.h=D;E.cb=A;E.oldIndex=-1;E.tzOldInit=E.init;E.add=TabbedZoneWidget_add;E.select=TabbedZoneWidget_select;E.getTabCSS=TabbedZoneWidget_getTabCSS;E.init=TabbedZoneWidget_init;E.beginHTML=TabbedZoneWidget_beginHTML;E.oldFrameZoneEndHTML=E.endHTML;E.endHTML=TabbedZoneWidget_endHTML;if(!C){E.tabs=newTabBarWidget("tzone_tabs_"+F,true,TabbedZone_itemClick);E.tabs.parentTabbedZone=E}else{E.tabs=C}E.beginTabHTML=TabbedZoneWidget_beginTabHTML;E.endTabHTML=TabbedZoneWidget_endTabHTML;E.beginTab=TabbedZoneWidget_beginTab;E.endTab=TabbedZoneWidget_endTab;E.showTab=TabbedZoneWidget_showTab;E.tzOldResize=E.resize;E.resize=TabbedZoneWidget_resize;return E}function TabbedZone_itemClick(){var B=this.parentTabbedZone,A=this.getSelection().index;B.select(A);if(B.cb){B.cb(A)}}function TabbedZoneWidget_add(B,E,C,H,A,F,D){var G=this;G.tabs.add(B,E,-1,C,H,A,F,D)}function TabbedZoneWidget_init(){var A=this;A.tzOldInit();A.tabs.init();A.select(0)}function TabbedZoneWidget_getTabCSS(A){if(A!=null){if(!A.zoneLayer){A.zoneLayer=getLayer(A.zoneId)}if(A.zoneLayer){return A.zoneLayer.style}}return null}function TabbedZoneWidget_showTab(B,A){var C=this.tabs.items[B];if(C){C.setDisplay(A)}}function TabbedZoneWidget_resize(B,D){var F=this;if(B!=null){F.w=B}if(D!=null){F.h=D}F.tzOldResize(B,D);var A=getLayer(F.id+"_container");if(A){if(F.w){A.style.width=F.w+"px"}if(F.h){A.style.height=F.h+"px"}}var E=F.tabs.items[F.oldIndex];if(E){var C=getLayer(E.zoneId);if(C){if(F.w){C.style.width=F.w+"px"}if(F.h){C.style.height=F.h+"px"}}}}function TabbedZoneWidget_select(D){var A=this,G=A.tabs,B=G.getSelection(),H=A.oldIndex,F;var I=G.items[A.oldIndex];A.tabs.select(D);if(I){F=A.getTabCSS(I);if(F){F.display="none"}}else{var E=G.items.length;for(var C=0;C'+imgOffset(_skin+"dialogframe.gif",5,5,0,0)+''+A.tabs.getHTML()+""+imgOffset(_skin+"dialogframe.gif",5,5,5,0)+'
'}function TabbedZoneWidget_endHTML(){return'
'+imgOffset(_skin+"dialogframe.gif",5,5,0,5)+''+imgOffset(_skin+"dialogframe.gif",5,5,5,5)+""}function TabbedZoneWidget_beginTabHTML(A){var B=this;return'"}function TabbedZoneWidget_beginTab(A){_curDoc.write(this.beginTabHTML(A))}function TabbedZoneWidget_endTab(){_curDoc.write(this.endTabHTML())}function newNaviTabWidget(C,A,L,E,F,D,M,J,B,K,I,H,G){return new_NaviTabWidget({id:C,name:A,value:L,tabType:E,clickCB:F,dblclickCB:D,tooltip:M,icon:J,iconW:B,iconH:K,iconOffX:I,iconOffY:H,closeTabCB:G})}function new_NaviTabWidget(A){var B=new_Widget(A);B.superInit=B.init;B.init=NaviTabWidget_init;B.getHTML=NaviTabWidget_getHTML;B.hasCloseButton=NaviTabWidget_hasCloseButton;B.select=NaviTabWidget_select;B.setUserData=NaviTabWidget_setUserData;B.getUserData=NaviTabWidget_getUserData;B.setMenu=NaviTabWidget_setMenu;B.getMenu=NaviTabWidget_getMenu;B.setHtml=NaviTabWidget_setHtml;B.getHtml=NaviTabWidget_getHtml;B.zoneId="tzone_tab_"+Math.round(Math.random()*12345)+new Date().getTime();B.tabType=Widget_param(A,"tabType",_HorizTabTop);B.name=Widget_param(A,"name","Tab");B.value=Widget_param(A,"value",0);B.cb=Widget_param(A,"clickCB",null);B.dblClick=Widget_param(A,"dblclickCB",null);B.icon=Widget_param(A,"icon",null);B.iconW=Widget_param(A,"iconW",(B.icon?_vertTabIconSize:1));B.iconH=Widget_param(A,"iconH",(B.icon?_vertTabIconSize:1));B.iconOffX=Widget_param(A,"iconOffX",0);B.iconOffY=Widget_param(A,"iconOffY",0);B.tooltip=Widget_param(A,"tooltip",null);B.closeTabCB=Widget_param(A,"closeTabCB",null);B.isSelected=false;B.leftimgid="naviTabL_"+B.id;B.midimgid="naviTabM_"+B.id;B.rightimgid="naviTabR_"+B.id;B.txtid="naviTabTxt_"+B.id;B.sepid="naviTabSep_"+B.id;B.closeid="naviTabClose_"+B.id;B.iconid="naviTabIcon_"+B.id;switch(B.tabType){case _VertTab:case _VertTabWithIcon:B.tabCSSTable=_vertTabCSS;break;case _HorizTabBottom:B.tabCSSTable=_horizBottomTabCSS;break;case _HorizTabTopWithClose:B.tabCSSTable=_horizTabWithCloseCSS;break;case _HorizTabTop:default:B.tabCSSTable=_horizTabCSS;break;case _menuBarTab:B.tabCSSTable=_menuBarTabCSS;break}B.mover=NaviTabWidget_mover;B.mdown=NaviTabWidget_mdown;B.keydownCB=NaviTabWidget_keydownCB;B.contextMenuCB=NaviTabWidget_contextMenuCB;B.changeState=NaviTabWidget_changeState;B.getVertHTML=NaviTabWidget_getVertHTML;B.getHorizHTML=NaviTabWidget_getHorizHTML;B.displaySep=NaviTabWidget_displaySep;B.isVert=NaviTabWidget_isVert;B.updateCloseIcon=NaviTabWidget_updateCloseIcon;B.mdown_closeIcon=NaviTabWidget_mdown_closeIcon;B.kdown_closeIcon=NaviTabWidget_kdown_closeIcon;B.clickCB=NaviTabWidget_clickCB;B.dblClickCB=NaviTabWidget_dblClickCB;B.leftimgLyr=null;B.midimgLyr=null;B.rightimgLyr=null;B.txtLyr=null;B.iconLyr=null;B.sepLyr=null;B.closeLyr=null;B.data=new Object;return B}function NaviTabWidget_init(){var A=this;A.superInit();if(A.layer){A.layer.onmouseover=A.mover;A.layer.onmouseout=A.mover;A.layer.onmousedown=A.mdown;A.layer.onmouseup=A.mdown;A.layer.onclick=A.clickCB;if(_ie){A.layer.ondblclick=A.dblClickCB}A.layer.onkeydown=A.keydownCB;A.layer.onselectstart=function(){return false};A.layer.ondragstart=function(){return false};A.layer.oncontextmenu=A.contextMenuCB}A.leftimgLyr=getLayer(A.leftimgid);A.midimgLyr=getLayer(A.midimgid);A.rightimgLyr=getLayer(A.rightimgid);A.txtLyr=getLayer(A.txtid);A.iconLyr=getLayer(A.iconid);A.sepLyr=getLayer(A.sepid);if(A.hasCloseButton()){A.closeLyr=getLayer(A.closeid);A.closeLyr.onmousedown=A.mdown_closeIcon;A.closeLyr.onkeypress=A.kdown_closeIcon;A.closeLyr.onmouseup=A.mdown_closeIcon;A.updateCloseIcon("naviHTabCloseSel",A.isSelected)}}function NaviTabWidget_getVertHTML(){var E=this;var B="";B='';B+='';var C=E.isSelected?_vertTabSelected:_vertTabNormal;B+='';var A=E.par.w-2*_vertTabImgW;B+='";B+='';B+="
';if(E.tabType==_VertTabWithIcon){B+='';B+='';B+='";var D=Math.max(40,A-_vertTabLBorderToIcon-_vertTabIconSize);B+='";B+="
'+imgOffset((E.icon?E.icon:(_skin+"../transp.gif")),_vertTabIconSize,E.iconH,E.iconOffX,E.iconOffY,E.iconid)+"';B+='
"}else{B+='"}B+="
";return B}function NaviTabWidget_hasCloseButton(){var A=this;return _HorizTabTopWithClose==A.tabType&&(!A.par.getTabIndexByName(A.name)==0||A.isFirstTabClosable)}function NaviTabWidget_getHorizHTML(){var F=this;var C='';C+='';var E=F.isSelected?_horizTabSelected:_horizTabNormal;C+='';C+='";C+='';C+='';C+="
';C+='';C+='';if(_menuBarTab!=F.tabType){var B=(_HorizTabTop==F.tabType||_HorizTabTopWithClose==F.tabType)?"margin-bottom:3px;":"margin-bottom:6px;";B=B+"margin-left:"+((F.iconW>1)?_horizTabImgPadL:0)+"px;";C+='"}var D=' style="padding-left:'+((F.iconW>1)?_horizTabImgToTxt:_horizTabTxtPaddingL)+"px;padding-right:"+((_HorizTabTopWithClose==F.tabType)?_horizTabTxtToClose:_horizTabTxtPaddingR)+"px;padding-bottom:"+((_HorizTabTop==F.tabType||_HorizTabTopWithClose==F.tabType)?_horizTabTxtPaddingB:_horizBottomTabTxtPadB)+'px;" ';var A='";C+='";if(F.hasCloseButton()){C+=''}C+="
'+imgOffset((F.icon?F.icon:(_skin+"../transp.gif")),F.iconW,F.iconH,F.iconOffX,F.iconOffY,F.iconid,null,null,B)+"'+A+"';C+='
";C+="
';C+='
';C+='
";return C}function NaviTabWidget_isVert(){var A=this;return(A.tabType==_VertTabWithIcon||A.tabType==_VertTab)}function NaviTabWidget_getHTML(){var A=this;return(A.isVert())?A.getVertHTML():A.getHorizHTML()}function NaviTabWidget_select(A){var B=this;B.isSelected=A;B.changeState(B.isVert()?(A?_vertTabSelected:_vertTabNormal):(A?_horizTabSelected:_horizTabNormal));B.updateCloseIcon("naviHTabCloseSel",B.isSelected)}function NaviTabWidget_updateCloseIcon(B,A){var C=this;if(C.tabType==_HorizTabTopWithClose&&C.closeLyr){C.closeLyr.className=B;C.closeLyr.style.visibility=A?_show:_hide}}function NaviTabWidget_changeState(A){var B=this;if(B.layer){B.leftimgLyr.className=B.tabCSSTable[_tabImgLeft][A];B.midimgLyr.className=B.tabCSSTable[_tabImgMid][A];B.rightimgLyr.className=B.tabCSSTable[_tabImgRight][A]}if(B.txtLyr&&!B.isVert()){B.txtLyr.className=B.tabCSSTable[_tabTxt][A]}}function NaviTabWidget_mover(B){var G=getWidget(this);var B=getEvent(B);var E=(B&&B.type=="mouseover")?true:false;if(G.isVert()){G.changeState(E?_vertTabHover:(G.isSelected?_vertTabSelected:_vertTabNormal))}else{G.changeState(G.isSelected?(E?_horizTabSelHover:_horizTabSelected):(E?_horizTabHover:_horizTabNormal));var C=G.par.getPrevNextTabs(G.idx);if(!C){return }var D=C.prevTab;var A=C.nextTab;if(!G.isSelected){var F=false;if(!E){F=true;if(A){if(A.isSelected){F=false}}else{F=false}}G.displaySep(F,true);if(D){D.displaySep(E?false:((D.isSelected)?false:true),true)}}else{G.displaySep(false);if(D){D.displaySep(false)}}G.updateCloseIcon((E?"naviHTabCloseHover":"naviHTabCloseSel"),(G.isSelected||E))}}function NaviTabWidget_mdown(A){var B=getWidget(this);var A=getEvent(A);var C=(A&&A.type=="mousedown")?true:false;if(B.isVert()){B.changeState(C?_vertTabPressed:(B.isSelected?_vertTabSelected:_vertTabNormal))}}function NaviTabWidget_mdown_closeIcon(A){var B=getWidget(this);var A=getEvent(A);var C=(A&&A.type=="mousedown")?true:false;B.updateCloseIcon((C?"naviHTabClosePressed":"naviHTabCloseSel"),(C||B.isSelected));if(!C){if(B.par&&B.par.closeTab){B.par.closeTab(B.par.findTabIndex(B),B.closeTabCB)}}}function NaviTabWidget_kdown_closeIcon(B){var A=eventGetKey(B);if(A==32||A==13){eventCancelBubble(B);var C=getWidget(this);if(C.par&&C.par.closeTab){C.par.closeTab(C.par.findTabIndex(C),C.closeTabCB)}}}function NaviTabWidget_clickCB(A){var A=getEvent(A);var B=getWidget(this);if(B&&B.cb){B.cb()}eventCancelBubble(A);return false}function NaviTabWidget_dblClickCB(A){var A=getEvent(A);var B=getWidget(this);if(B&&B.dblClick){B.dblClick()}eventCancelBubble(A);return false}function NaviTabWidget_keydownCB(B){var A=eventGetKey(B);if(A==13){eventCancelBubble(B);var C=getWidget(this);if(C&&C.cb){C.cb()}}}function NaviTabWidget_displaySep(C,A){var B=this;if(!B.isVert()&&B.sepLyr){B.sepLyr.style.visibility=C?_show:_hide}}function NaviTabWidget_setUserData(A){this.data.userdata=A}function NaviTabWidget_getUserData(){return this.data.userdata}function NaviTabWidget_contextMenuCB(A){A=getEvent(A);var C=getWidget(this);var B=C.par;if(C&&C.cb){C.cb()}if(B&&B.showTabMenu){B.showTabMenu(A,C.idx)}eventCancelBubble(A);return false}function NaviTabWidget_setMenu(A){this.data.menu=A}function NaviTabWidget_getMenu(){return this.data.menu}function NaviTabWidget_setHtml(A){this.data.html=A}function NaviTabWidget_getHtml(){return this.data.html}function new_NaviBarWidget(D){var F=new_Widget(D);F.superInit=F.init;F.oldResize=F.resize;F.init=NaviBarWidget_init;F.getHTML=NaviBarWidget_getHTML;F.add=NaviBarWidget_add;F.addByPrms=NaviBarWidget_addByPrms;F.remove=NaviBarWidget_remove;F.removeAll=NaviBarWidget_removeAll;F.getCount=NaviBarWidget_getCount;F.select=NaviBarWidget_select;F.getSelection=NaviBarWidget_getSelection;F.getBarType=NaviBarWidget_getBarType;F.getMenu=NaviBarWidget_getMenu;F.showMenu=NaviBarWidget_showMenu;F.getTabMenu=NaviBarWidget_getTabMenu;F.showTabMenu=NaviBarWidget_showTabMenu;F.setShowContextMenuAllowed=NaviBarWidget_setShowContextMenuAllowed;F.getTab=NaviBarWidget_getTab;F.findTabIndex=NaviBarWidget_findTabIndex;F.getSelectedTab=NaviBarWidget_getSelectedTab;F.showTab=NaviBarWidget_showTab;F.resize=NaviBarWidget_resize;F.setTabHTML=NaviBarWidget_setTabHTML;F.getTabHTML=NaviBarWidget_getTabHTML;F.getTabIndexByName=NaviBarWidget_getTabIndexByName;F.getTabIndexByValue=NaviBarWidget_getTabIndexByValue;F.getTabID=NaviBarWidget_getTabID;var B=Widget_param(D,"w",null);var E=Widget_param(D,"h",null);F.cb=Widget_param(D,"cb",null);F.isFirstTabClosable=Widget_param(D,"isFirstTabClosable",true);F.dblclick=Widget_param(D,"dblclick",null);F.beforeShowTabMenu=Widget_param(D,"beforeShowTabMenu",null);F.type=Widget_param(D,"naviBarType",_VertTab);F.counter=0;F.items=new Array;F.selIndex=-1;F.leftLimit=0;F.showContextMenuAllowed=true;F.menu=newMenuWidget("naviBarMenu_"+F.id,null,Widget_param(D,"beforeShowMenu",null));F.tabList=null;F.showScrollBar=_noScrollBar;F.isVert=((F.type==_VertTab)||(F.type==_VertTabWithIcon))?true:false;if(F.isVert){if(B){B=Math.max(_vertNaviPanelMinW,B);B=Math.min(B,_vertNaviPanelMaxW)}F.w=(B?B:((F.type==_VertTab)?_vertNaviPanelMinW:_vertNaviPanelWithIconW))+2;if(E){var G=Math.ceil(E/_mitemH);E=(Math.max(1,G))*_mitemH}F.h=(E?E:_vertNaviPanelH)+2}else{var C=Widget_param(D,"showTabList",false);if(C){F.tabList=newMenuWidget("naviBarTabListMenu_"+F.id,null,NaviBarWidget_beforeShowTabListCB,NaviBarWidget_TabListonPositionCB);F.tabList.navibar=F}else{var A=Widget_param(D,"showScrollBar",false);F.showScrollBar=A?((_HorizTabBottom==F.type)?_ScrollBarAtBegin:_ScrollBarAtEnd):_noScrollBar}F.w=B?B:(_horizBarWidth+_scrollBarWidth);F.h=_naviHorzTabH}switch(F.type){case _VertTab:case _VertTabWithIcon:F.tabCSSTable=_vertTabCSS;break;case _HorizTabBottom:F.tabCSSTable=_horizBottomTabCSS;break;case _HorizTabTop:default:F.tabCSSTable=_horizTabCSS;break}F.trid="naviBarTR_"+F.id;F.trLyr=null;F.divid="naviBarDIV_"+F.id;F.divLyr=null;F.scrollbarid="scrlbar_"+F.id;F.firstid="f_"+F.id;F.previd="p_"+F.id;F.nextid="n_"+F.id;F.lastid="l_"+F.id;F.scrollbarLyr=null;F.firstLyr=null;F.prevLyr=null;F.nexttLyr=null;F.lastLyr=null;F.updateSepDisplay=NaviBarWidget_updateSepDisplay;F.getPrevNextTabs=NaviBarWidget_getPrevNextTabs;F.closeTab=NaviBarWidget_closeTab;F.getBarIndex=NaviBarWidget_getBarIndex;F.mover_scrollbar=NaviBarWidget_mover_scrollbar;F.mdown_scrollbar=NaviBarWidget_mdown_scrollbar;F.contextMenuCB=NaviBarWidget_contextMenuCB;F.dblclickCB=NaviBarWidget_dblclickCB;F.getItemXPos=NaviBarWidget_getItemXPos;F.par=null;F.tablistid="bartablist_"+F.id;F.tablistLyr=null;F.mover_tablist=NaviBarWidget_mover_tablist;F.mdown_tablist=NaviBarWidget_mdown_tablist;F.kdown_tablist=NaviBarWidget_kdown_tablist;F.onfocus_tablist=NaviBarWidget_onfocus_tablist;F.onblur_tablist=NaviBarWidget_onblur_tablist;F.click_tablist=NaviBarWidget_click_tablist;F.onChangeTabList=NaviBarWidget_onChangeTabList;F.showTabListIcon=NaviBarWidget_showTabListIcon;F.buildTabList=NaviBarWidget_buildTabList;return F}function newNaviBarWidget(B,J,C,D,I,E,K,H,G,A,F){return new_NaviBarWidget({id:B,naviBarType:J,cb:C,dblclick:D,w:I,h:E,beforeShowTabMenu:K,beforeShowMenu:H,showScrollBar:G,showTabList:A,isFirstTabClosable:F})}function NaviBarWidget_getBarType(){return this.type}function NaviBarWidget_init(){var F=this,C=F.items;F.superInit();F.trLyr=getLayer(F.trid);F.divLyr=getLayer(F.divid);var B=C.length;for(var D=0;D';F+='";if(G.isVert){for(var E=0;E"}}else{F+="";var A="";if(G.showScrollBar!=_noScrollBar){A=""}if(G.showScrollBar==_ScrollBarAtBegin){F+=A}var C=G.w;if(G.showScrollBar!=_noScrollBar){C=Math.max(C-_scrollBarWidth,_horizBarWidth)}F+='";if(G.tabList){F+='"}if(G.showScrollBar==_ScrollBarAtEnd){F+=A}F+=""}F+="";return F}function NaviBarWidget_add(A,H,I,F,B,G,E,D,J,C){return this.addByPrms({name:A,value:H,tooltip:J,icon:F,iconW:B,iconH:G,iconOffX:E,iconOffY:D,closeTabCB:C},I)}function NaviBarWidget_addByPrms(H,I){var B=this,A=B.counter++;H.id="naviTab_"+A+"_"+B.id;H.tabType=B.type;H.clickCB=NaviBarWidget_itemClick;H.dblclickCB=NaviBarWidget_itemDblClick;var E=new_NaviTabWidget(H);E.par=B;E.idx=A;arrayAdd(B,"items",E,I);var G=B.items.length;if(B.isVert&&B.layer!=null){var C=document.createElement("td");C.innerHTML=E.getHTML();var F=document.createElement("tr");F.appendChild(C);var D=B.layer.childNodes[0].childNodes[0];if((typeof (I)=="undefined")||(G==1)||(I==null)||(I==-1)||(I>=G)){D.appendChild(F);I=G-1}else{if(D.childNodes[parseInt(I)]){D.insertBefore(F,D.childNodes[parseInt(I)])}}E.init()}else{if(B.trLyr){var C=document.createElement("td");C.innerHTML=E.getHTML();if((typeof (I)=="undefined")||(G==1)||(I==null)||(I==-1)||(I>=G)){B.trLyr.appendChild(C);I=G-1}else{B.trLyr.insertBefore(C,B.trLyr.childNodes[parseInt(I)])}E.init();B.showTabListIcon()}}if((B.selIndex!=null)&&(B.selIndex>=0)){if(I<=B.selIndex){B.selIndex++}}B.updateSepDisplay();return E}function NaviBarWidget_getBarIndex(D){var E=this,B=E.items,A=B.length;for(var C=0;C=0)&&(C=0)&&(D.selIndex!=C)&&(D.selIndex=0)&&(II){A.cb(A.selIndex-1)}else{if((A.selIndex==I)&&(F>0)){A.cb(Math.min(I,F-1))}}}if(F==0){A.selIndex=null}A.showTabListIcon()}}function NaviBarWidget_removeAll(){var D=this,B=D.items,A=B.length;for(var C=A-1;C>=0;C--){D.remove(C)}}function NaviBarWidget_setTabHTML(A,B){var C=this;if(typeof (A)=="undefined"||A==null){A=C.items.length-1}if(A>=0&&A<=(C.items.length-1)){C.items[A].setHtml(B)}}function NaviBarWidget_getTabHTML(A){var B=this;if(A>=0&&A<=(B.items.length-1)){return B.items[A].getHtml()}return""}function NaviBarWidget_getSelection(){var C=this;if(C.getCount()==0){C.selIndex=-1;return null}var A=C.selIndex;if((A!=null)&&(A>=0)&&C.items[A]){var B=new Object;B.index=A;B.valueOf=C.items[A].value;B.name=C.items[A].name;return B}else{return null}}function NaviBarWidget_getMenu(){return this.menu}function NaviBarWidget_getTabMenu(C){var E=null;var D=this,B=D.items,A=B.length;if((C>=0)&&(C=0)&&(D1)?_show:_hide}}function NaviBarWidget_tabListMenuItemsCB(){var B=this.par.navibar;if(!B){return }var A=B.getBarIndex(parseInt(this.id));if((A>=0)&&(AB.divLyr.offsetWidth){if(D=0){if((H[E].getWidth()+D)=0){B.divLyr.scrollLeft=B.getItemXPos(I)}}function NaviBarWidget_buildTabList(){var D=this;var B=D.items,A=B.length;D.tabList.removeAll();for(var C=0;C=0)&&(A=0)&&(B=0){var C=_TreeWidgetElemInstances[D.selId];C.unselect();D.selId=-1}if(D.multiSelection){var A=D.selIds.length,E;for(var B=A-1;B>=0;B--){var C=_TreeWidgetElemInstances[D.selIds[B]];if(C){C.unselect()}}D.selIds.length=0;D.layer._BOselIds=""}D.unhlPath()}function TreeWidget_selectByData(C,A){var D=this,B=D.findByData(C);if(B){B.select(A)}}function TreeWidget_selectById(D,A){var C=this,B=C.findById(D);if(B){B.select(A)}}function TreeWidget_findByData(D){var E=this,B=E.sub,C=null;for(var A in B){C=B[A].findByData(D);if(C){return C}}return null}function TreeWidget_findById(E){var D=this,B=D.sub,C=null;for(var A in B){C=B[A].findById(E);if(C){return C}}return null}function TreeWidget_add(D,B){var E=this,C=E.sub,A=C.length;D.treeView=E;C[A]=D;D.expanded=(A==0);if(B){D.extraIndent=B}return D}function TreeWidget_getHTML(){var F=this,E=F.sub,A=E.length,B=new Array(A+3),C=0;B[C++]=F.beginHTML()+'';for(var D in E){B[C++]=E[D].getHTML(F.initialIndent,D==0)}B[C++]=""+F.endHTML();return B.join("")}function TreeWidget_deleteAll(){var B=this.sub;for(var A in B){B[A].deleteAll();B[A]=null}B.length=0;if(this.elems){this.elems.length=0}}function TreeWidget_rebuildHTML(){var G=this,F=G.sub,A=F.length,B=new Array(A),C=0,E=G.initialIndent;for(var D in F){B[C++]=F[D].getHTML(E,D==0)}G.treeLyr.innerHTML=B.join("");G.selId=-1;G.layer._BOselId=-1;G.selIds.length=0;G.layer._BOselIds="";this.buildElems()}function TreeWidget_init(){this.oldInit();var B=this.treeLyr=getLayer("treeCont_"+this.id);if(this.dragDrop){this.dragDrop.attachCallbacks(this.layer)}var A=this.layer._BOselId;if(A!=null){this.selId=A}var D=this.layer._BOselIds;if(D!=null&&D!=""){this.selIds.length=0;this.selIds=D.split(";")}var C=this.sub}function TreeWidget_buildElems(elem){with(this){if(elem==null){elem=this}else{var pos=elems.length;elems[pos]=elem;elem.elemPos=pos}var subArr=elem.sub,len=subArr.length;for(var i=0;i=0)?_TreeWidgetElemInstances[A]:null}function TreeWidget_getSelections(){var C=this;if(C.multiSelection){return C.getSelectedItems()}else{var A=C.getSelectedItem(),B=new Array;if(A!=null){B[0]=A}return B}}function TreeWidget_setFocus(A){var B=_TreeWidgetElemInstances[A];if(B!=null){B.init();safeSetFocus(B.domElem)}}function TreeWidget_setDragDrop(C,B,A,D){this.dragCB=C;this.acceptDropCB=B;this.dropCB=A;this.dragEndCB=D;this.dragDrop=newDragDropData(this,TreeWidget_dragStartCB,TreeWidget_dragCB,TreeWidget_dragEndCB,TreeWidget_acceptDropCB,TreeWidget_leaveDropCB,TreeWidget_dropCB)}function TreeWidget_dragStartCB(E){var C=E.getSelections(),B=E.iconOrientVertical;E.dragCB(E);if(C&&C.length==1){var D=C[0];var A=D.iconId;newTooltipWidget().show(true,D.getDragTooltip(),A>=0?E.icns:null,E.iconW,E.iconH,B?0:E.iconW*A,B?E.iconH*A:0)}}function TreeWidget_setRightClickMenuCB(A){this.rightClickMenuCB=A}function TreeWidget_getCount(){var A=this;if(A.sub!=null){return A.sub.length}else{return 0}}function TreeWidget_setTooltipOnMouseOver(A){this.mouseOverTooltip=A}function TreeWidget_setMouseOverCB(A){this.mouseOverCB=A}function TreeWidget_dragCB(A){newTooltipWidget().setPos()}function TreeWidget_dragEndCB(A){newTooltipWidget().show(false);if(A.dragEndCB){A.dragEndCB()}}function TreeWidget_dragOverEnterCB(A,D){var B=_TreeWidgetElemInstances[D];if(A.ondrop==null){B.treeView.dragDrop.attachCallbacks(A,true);A.domEltID=D}var C=_ddData[A._dragDropData],B=_curWin.event;B.dataTransfer.dropEffect=B.ctrlKey?"copy":"move";if(C.acceptDropCB(window._globalDDD,C.widget,B.ctrlKey,B.ctrlKey?false:B.shiftKey,A,false)){B.returnValue=false}B.cancelBubble=true}function TreeWidget_acceptDropCB(E,D,C,A,B){return D.acceptDropCB(E,D,C,A,B)}function TreeWidget_leaveDropCB(D,C,B,A){if(C.dropWidget&&C.dropWidget.layer){if(C.dropWidget.layer.className!=C.dropWidget.nonselectedClass){C.dropWidget.layer.className=C.dropWidget.nonselectedClass}}}function TreeWidget_dropCB(F,D,C,A,B,E){newTooltipWidget().show(false);D.dropCB(F,D,C,A)}function TreeWidget_setMultiSelection(A){if((!this.multiSelection&&A)||(this.multiSelection&&!A)){this.unselect()}this.multiSelection=A}function TreeWidget_getSelectedItems(){var D=new Array;var A=this.selIds.length,E,C=0;for(var B=0;B=0){D[C]=_TreeWidgetElemInstances[E];C++}}return D}function TreeWidget_getCheckedItems(){var C=new Array;var A=_TreeWidgetElemInstances.length,D=0;for(var B=0;B0){for(var B=0;B(D.initialX+A))||(E<(D.initialY-A))||(E>(D.initialY+A))){this.dragDrop();D.clicked=false}}}}function TreeWidgetElem_mouseUp(){var B=_treeWClickedW,A=_curWin.event;B.select(null,A);B.domElem.onmouseup=null}function TreeWidgetElem_init(C){var G=this;if(G.layer==null){var D=G.sub,A=D.length,F=(A>0)||G.isIncomplete;G.layer=C?C:getLayer(_codeWinName+"TWe_"+G.id);if(G.layer==null){return }var H=G.layer.childNodes,E=H.length;G.plusLyr=F?H[0].childNodes[1]:null;G.icnTooltipLyr=F?H[0].childNodes[0]:null;G.icnLyr=(G.iconId>-1)?H[F?1:0]:null;G.checkElem=G.isCheck?H[E-2]:null;G.domElem=H[E-1];G.txtTooltipLyr=H[E-1].childNodes[1];if(G.layer.nextSibling&&G.layer.nextSibling.id==_codeWinName+"trTog"+G.id){G.toggleLyr=G.layer.nextSibling}if(G.treeView.mouseOverTooltip||G.treeView.mouseOverCB){G.domElem.onmouseout=TreeFuncMouseout}if(F){addDblClickCB(G.plusLyr,_tpdb)}if(F&&G.generated){for(var B in D){D[B].init()}}if(G.enableDoubleClick){addDblClickCB(G.domElem,_tpdb)}}}function TreeIdToIdx(B){if(B){var C=B.id;if(C){var A=C.lastIndexOf("TWe_");if(A>=0){return parseInt(C.slice(A+4))}else{return -1}}else{return TreeIdToIdx(B.parentNode)}}return -1}function TreeFuncMouseout(A){_tmoc(this,TreeIdToIdx(this),false,A)}function _tmvc(A,B){_tmoc(A,TreeIdToIdx(A),true,B)}function _tpl(A,B){TreeWidget_clickCB(TreeIdToIdx(A),true,B,true);return false}function _tkl(A,C){var B=eventGetKey(C);if(B==13){return _tpl(A,C)}}function _tkt(A,C){var B=eventGetKey(C);if(B==13){return _tpt(A,C)}}function _tpt(A,B){TreeWidget_clickCB(TreeIdToIdx(A),false,B,true);return false}function _tpdb(A){treeDblClickCB(TreeIdToIdx(this),_ie?event:A);return false}function _tfcc(A,B){treeFCCB(A,TreeIdToIdx(A),true,B);A.onblur=_tblc}function _tblc(A){treeFCCB(this,TreeIdToIdx(this),false,A)}function TreeWidgetElem_getHTML(indent,isFirst){var s="";with(this){htmlWritten=true,isRoot=(par==null);var len=sub.length,exp=(len>0)||isIncomplete,a=new Array,i=0;if(this.extraIndent){indent+=_trIndent*extraIndent}var keyCB='onkeydown=" return '+_codeWinName+'._tkt(this,event)" ';var mouseCB='onclick="return '+_codeWinName+'._tpt(this,event)" ';if(treeView.mouseOverTooltip||treeView.mouseOverCB){mouseCB+='onmouseover="'+_codeWinName+'._tmvc(this,event)" '}var contextMenu="";if(treeView.rightClickMenuCB!=null){contextMenu=' oncontextmenu="'+_codeWinName+".treeContextMenuCB('"+id+"', event);return false\" "}var acceptDD="";if((treeView.acceptDropCB!=null)&&(_ie)){acceptDD=' ondragenter="'+_codeWinName+".TreeWidget_dragOverEnterCB(this,'"+id+"');\" ";acceptDD+=' ondragover="'+_codeWinName+".TreeWidget_dragOverEnterCB(this,'"+id+"');\" "}a[i++]='
";var onkeydown='onkeydown="return '+_codeWinName+'._tkl(this,event)" ';var onclick='onclick="return '+_codeWinName+'._tpl(this,event)" ';if(exp){var expIcon;var iconTooltip;if(expanded){if(treeView.minIcon!=null){expIcon=treeView.minIcon}else{expIcon=_skin+"../min.gif"}iconTooltip=_collapseNode.replace("%1",name)}else{if(treeView.plusIcon!=null){expIcon=treeView.plusIcon}else{expIcon=_skin+"../plus.gif"}iconTooltip=_expandNode.replace("%1",name)}a[i++]="'+iconTooltip+''}if(iconId>-1){var iconClass="trIcn"+(exp||isRoot?"Plus":"");if(this.cursorClass){iconClass+=" "+this.cursorClass}a[i++]="'}else{if(!exp&&!isRoot){a[i++]=""}}if(isCheck){a[i++]='"}var textClass=nonselectedClass;if(this.cursorClass){textClass+=" "+this.cursorClass}var textTooltip=this.getTooltip();a[i++]='';a[i++]=(isHTML?name:convStr(name));a[i++]=''+textTooltip+"";a[i++]="";a[i++]="
";if(exp){a[i++]='
'}if(expanded){generated=true;for(var j=0;j"}}return a.join("")}function TreeWidgetElem_setGrayStyle(B){var C=this,A=B?C.grayTxt:C.blackTxt;if(A!=C.nonselectedClass){C.nonselectedClass=A;C.init();if(C.domElem&&(C.domElem.className!=C.selectedClass)){C.domElem.className=A}}}function TreeWidgetElem_isGrayStyle(){return this.nonselectedClass==this.grayTxt}function TreeWidgetElem_setIncomplete(A){this.isIncomplete=true;this.querycompleteCB=A}function TreeWidgetElem_finishComplete(){this.isIncomplete=false;TreeWidget_toggleCB(this.id);this.treeView.buildElems()}function TreeWidgetElem_findByData(D){var E=this;if(E.userData==D){return E}var B=E.sub;for(var A in B){var C=B[A].findByData(D);if(C!=null){return C}}return null}function TreeWidgetElem_findById(E){var D=this;if(D.id==E){return D}var B=D.sub;for(var A in B){var C=B[A].findById(E);if(C!=null){return C}}return null}function treeInitDropFunc(A,C){var B=_TreeWidgetElemInstances[C];if(A.ondrop==null){B.treeView.dragDrop.attachCallbacks(A,true);A.domEltID=C}}function TreeWidget_toggleCB(D,B){var C=_TreeWidgetElemInstances[D];if(C.sub.length==0){C.plusLyr.style.visibility="hidden";return }C.expanded=!C.expanded;C.init();if(B){dispIcn(D)}else{setTimeout(C.treeView.dispIcnFuncName+"("+D+")",1)}var A=C.treeView;if(C.expanded&&A.expandCB){A.expandCB(C.userData)}if(!C.expanded&&A.collapseCB){A.collapseCB(C.userData)}}function dispIcn(eId){var e=_TreeWidgetElemInstances[eId];with(e){if(expanded&&!generated){generated=true;var a=new Array,i=0,len=sub.length,newInd=nodeIndent+_trIndent;for(var j=0;j1){var iconL=icnLyr.childNodes[1];changeOffset(iconL,treeView.iconOrientVertical?0:treeView.iconW*(expanded?iconSelId:iconId),treeView.iconOrientVertical?treeView.iconH*(expanded?iconSelId:iconId):0)}}}function TreeWidgetElem_add(elem){with(this){elem.treeView=treeView;elem.par=this;sub[sub.length]=elem}return elem}function TreeWidgetElem_getHiddenParent(){var A=this.par;if(A==null){return null}if(!A.expanded){return A}return ;A.getHiddenParent()}function TreeWidgetElem_getNextPrev(delta){with(this){if(elemPos==-1){treeView.buildElems()}var newPos=elemPos+delta;if((newPos>=0)&&(newPos
"}function PromptDialog_getHTML(){var C=this;var B=PromptDialog_getimgPath(C.promptType);var A=PromptDialog_getimgAlt(C.promptType);return C.beginHTML()+'
'+img(B,32,32,null,'id="dlg_img_'+C.id+'"',A)+''+convStr(C.text,false,true)+"
"+getSep()+'
'+(C.yes?"":"")+(C.no?"":"")+"
"+C.yes.getHTML()+""+C.no.getHTML()+"
"+C.endHTML()}function PromptDialog_defaultCB(){var o=this;if(o.yesCB){if(typeof o.yesCB!="string"){o.yesCB()}else{eval(o.yesCB)}}this.show(false)}function PromptDialog_cancelCB(){var o=this;if(o.noCB){if(typeof o.noCB!="string"){o.noCB()}else{eval(o.noCB)}}this.show(false)}function PromptDialog_yesCB(A){DialogBoxWidget_instances[A].defaultCB()}function PromptDialog_noCB(A){DialogBoxWidget_instances[A].cancelCB()}function newWaitDialogBoxWidget(A,I,E,G,C,H,K,J,F){var D=250;var L=150;if(I';A+=''+B.frZone.beginHTML();A+='
'+img(_skin+"wait01.gif",200,40)+'
'+convStr(B.label.text,false,true)+"
";A+=B.frZone.endHTML()+"";A+=''+B.cancelButton.getHTML()+"";A+="";A+=B.endHTML();return A}function WaitDialog_FrameZoneWidget_beginHTML(){var A=this;return'
'}function WaitDialog_FrameZoneWidget_endHTML(){var A=this;return"
"}function WaitDialogBoxWidget_setShowCancel(A,C){var B=this;B.showCancel=A;B.cancelButton.setDisabled(false);B.cancelButton.setDisplay(A);B.cancelCB=C}function WaitDialogBoxWidget_setShowLabel(A,C){var B=this;B.showLabel=A;B.label.text=C;B.label.setHTML(C);B.label.setDisplay(A)}function WaitDialogBoxWidget_cancelCB(){var A=this;if(A.cancelCB!=null){A.cancelCB();A.cancelButton.setDisabled(true)}}function CancelButton_cancelCB(){var A=this;if(A.par.cancelCB!=null){A.par.cancelCB();A.par.cancelButton.setDisabled(true)}}var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v); -/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/ -return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write(" - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/html/calendarbottom.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/html/calendarbottom.html deleted file mode 100644 index e451708d1..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/html/calendarbottom.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/html/calendartop.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/html/calendartop.html deleted file mode 100644 index 61b9466a6..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/html/calendartop.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/imagehandlerdotnetbridge.aspx b/aspnet_client/system_web/4_0_30319/crystalreportviewers/imagehandlerdotnetbridge.aspx deleted file mode 100644 index ad906cd26..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/imagehandlerdotnetbridge.aspx +++ /dev/null @@ -1,14 +0,0 @@ -<%@ Language=VBScript codepage=65001 aspcompat=true%> - -<% - Dim handler - On Error Resume Next - handler = CreateObject("CrystalReports.CrystalImageHandler") - Call handler.HandleDotNetBridgeImage() - if Err.number <> 0 then - Response.Write (Err.Description) - Err.Clear - end if -%> - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonl.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonl.gif deleted file mode 100644 index ef003aa83..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonl.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonm.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonm.gif deleted file mode 100644 index 364d5109f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonm.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonr.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonr.gif deleted file mode 100644 index ca6d3ab02..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/buttonr.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive100.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive100.gif deleted file mode 100644 index 725122384..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive100.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive150.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive150.gif deleted file mode 100644 index 80ba1e8bb..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive150.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive200.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive200.gif deleted file mode 100644 index b4b3d84d1..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive200.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive250.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive250.gif deleted file mode 100644 index eb2dfabc5..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive250.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive300.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive300.gif deleted file mode 100644 index 9afaa6e5f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive300.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive350.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive350.gif deleted file mode 100644 index 438d9d637..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive350.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive400.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive400.gif deleted file mode 100644 index 2c733b82e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive400.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive50.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive50.gif deleted file mode 100644 index 8ea42f059..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortActive50.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover100.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover100.gif deleted file mode 100644 index 6958bde5d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover100.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover150.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover150.gif deleted file mode 100644 index 17f5abec3..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover150.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover200.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover200.gif deleted file mode 100644 index 68e383881..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover200.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover250.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover250.gif deleted file mode 100644 index 9787ba760..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover250.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover300.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover300.gif deleted file mode 100644 index b0f608d7e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover300.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover350.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover350.gif deleted file mode 100644 index eda5bd781..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover350.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover400.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover400.gif deleted file mode 100644 index 5d36cfaca..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover400.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover50.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover50.gif deleted file mode 100644 index b0e5c02fb..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortHover50.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive100.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive100.gif deleted file mode 100644 index c9e83a73e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive100.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive150.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive150.gif deleted file mode 100644 index a931bde7e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive150.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive200.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive200.gif deleted file mode 100644 index e91e8ca5a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive200.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive250.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive250.gif deleted file mode 100644 index 84e09794e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive250.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive300.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive300.gif deleted file mode 100644 index 3b60d5a47..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive300.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive400.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive400.gif deleted file mode 100644 index 65b430572..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive400.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive50.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive50.gif deleted file mode 100644 index ca5e5151a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/DownArrowSortInactive50.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive100.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive100.gif deleted file mode 100644 index eba9b2497..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive100.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive150.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive150.gif deleted file mode 100644 index 9d0a8b64b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive150.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive200.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive200.gif deleted file mode 100644 index 2e0349858..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive200.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive250.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive250.gif deleted file mode 100644 index 8d2228c1b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive250.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive300.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive300.gif deleted file mode 100644 index dfe9f9850..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive300.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive350.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive350.gif deleted file mode 100644 index 2e686ff98..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive350.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive400.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive400.gif deleted file mode 100644 index d1b51c4df..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive400.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive50.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive50.gif deleted file mode 100644 index 8a576bbc5..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortActive50.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover100.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover100.gif deleted file mode 100644 index 29aaf52d5..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover100.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover150.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover150.gif deleted file mode 100644 index 3af72ed79..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover150.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover200.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover200.gif deleted file mode 100644 index 43414a350..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover200.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover250.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover250.gif deleted file mode 100644 index 52b19344e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover250.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover300.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover300.gif deleted file mode 100644 index 35871f30e..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover300.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover350.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover350.gif deleted file mode 100644 index b90c898e7..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover350.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover400.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover400.gif deleted file mode 100644 index 726dee983..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover400.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover50.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover50.gif deleted file mode 100644 index 3052bb657..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortHover50.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive100.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive100.gif deleted file mode 100644 index b7d433c67..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive100.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive150.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive150.gif deleted file mode 100644 index 9be806b09..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive150.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive200.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive200.gif deleted file mode 100644 index e11becbe3..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive200.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive250.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive250.gif deleted file mode 100644 index ffacb7488..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive250.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive300.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive300.gif deleted file mode 100644 index 6809740ba..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive300.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive400.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive400.gif deleted file mode 100644 index 1bcc31c31..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive400.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive50.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive50.gif deleted file mode 100644 index cc640d49b..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/images/isort/UpArrowSortInactive50.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/FlexParameterBridge.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/FlexParameterBridge.js deleted file mode 100644 index aeedd4613..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/FlexParameterBridge.js +++ /dev/null @@ -1,336 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof (bobj) == 'undefined') { - bobj = {}; -} - -if (typeof (bobj.crv) == 'undefined') { - bobj.crv = {}; -} - -if (typeof (bobj.crv.params) == 'undefined') { - bobj.crv.params = {}; -} - -/* - ================================================================================ - FlexParameterBridge - - Base functionality for flex prompting UI - ================================================================================ - */ - -bobj.crv.params.FlexParameterBridge = { - _swfID : [], - _swf : [], - _cb : [], - - // TODO: Ryan - clean this up when the CAF actions are also cleaned up - _promptData : [], - - setPromptData : function(id, d) { - this._promptData[id] = d; - }, - - setMasterCallBack : function(viewerName, callBack) { - this._cb[viewerName] = callBack; - }, - - getSWF : function(viewerName) { - if (this._swf[viewerName]) { - return this._swf[viewerName]; - } else { - var swf = document.getElementById(this._swfID[viewerName]); - this._swf[viewerName] = swf; - return swf; - } - }, - - getInstallHTML : function() { - return L_bobj_crv_FlashRequired.replace("{0}", "
") + ""; - }, - - checkFlashPlayer : function() { - return swfobject.hasFlashPlayerVersion("9.0.0"); - }, - - /** - * Creates the swf and replaces the div specified with the flash object. - */ - createSWF : function(viewerName, divID, servletURL, showMinUI, locale, rptSrcKey) { - var cb = this._cb[viewerName]; - if (!cb) { - return; - } - - if (cb.logger) { - cb.logger('Create the SWF'); - } - - if (this.checkFlashPlayer()) { - - var swfBaseURL = cb.getSWFBaseURL(); - var swfPath = swfBaseURL + "prompting.swf"; - var swfID = cb.getSWFID(); - var useSavedData = cb.getUseSavedData ? cb.getUseSavedData(viewerName) : false; - var useOKCancelButtons = cb.getUseOKCancelButtons ? cb.getUseOKCancelButtons(viewerName) : false; - var isDialog = cb.getIsDialog ? cb.getIsDialog (viewerName) : false; - var allowFullScreen = cb.getAllowFullScreen ? cb.getAllowFullScreen (viewerName) : false; - var enforceRequiredPrompt = cb.getEnforceRequiredPrompt ? cb.getEnforceRequiredPrompt () : true; - var shouldAutoResize = cb.getShouldAutoResize ? cb.getShouldAutoResize(viewerName) : false; - - var flashvars = { - "eventTarget" : viewerName, - "locale" : locale, - "showMinUI" : showMinUI, - "baseURL" : swfBaseURL, - "servletURL" : servletURL, // The SWF will use javascript to handle all async requests if this is null or empty - "reportSourceKey" : rptSrcKey, - "useSavedData" : useSavedData, - "useOKCancelButtons" : useOKCancelButtons, - "isDialog" : isDialog, - "allowFullScreen" : allowFullScreen, - "enforceRequiredPrompt" : enforceRequiredPrompt, - "shouldAutoResize" : shouldAutoResize - }; - - // Important: Do not specify play=true as one of the params. If this - // is set to true we could end up in an infinite loop reloading - // the swf when viewing using the embedded browser in eclipse. - var params = { - menu : "false", - wmode : "window", - allowscriptaccess : "sameDomain" - }; - - var attributes = { - id : swfID, - name : swfID, - style : 'z-index:' + cb.getZIndex() - }; - - if (cb.processingDelayedShow) { - cb.processingDelayedShow('hidden', divID); - } - - var h = cb.getSWFHeight ? cb.getSWFHeight(viewerName) + "" : "600"; - var w = cb.getSWFWidth ? cb.getSWFWidth(viewerName) + "" : "800"; - - swfobject.embedSWF(swfPath, divID, w, h, "9.0.0", "", flashvars, params, attributes); - this._swfID[viewerName] = swfID; - - if (cb.processingDelayedShow) { - cb.processingDelayedShow(); - } - - } else { - document.getElementById(divID).innerHTML = "

" + cb.getInstallHTML() + "

"; - } - }, - - /** - * This function will initialize the data in the flex swf with the - * current state of the parameter ui. The Flex swf will call back to - * this method when it has first been created and all external interface - * connections have been setup. If the swf has already been created this will - * be called when showing the parameter UI. - */ - - init : function(viewerName) { - if (!viewerName) { - return; - } - - var cb = this._cb[viewerName]; - var swf = this.getSWF(viewerName); - if (!swf || !cb) { - return; - } - - if (cb.logger) { - cb.logger('Init the SWF'); - } - - if(swf.setShowMinUI && cb.getShowMinUI) { - swf.setShowMinUI(cb.getShowMinUI(viewerName)); - } - - if(swf.setUseSavedData && cb.getUseSavedData) { - swf.setUseSavedData(cb.getUseSavedData(viewerName)); - } - - if(swf.setUseOKCancelButtons && cb.getUseOKCancelButtons) { - swf.setUseOKCancelButtons(cb.getUseOKCancelButtons(viewerName)); - } - - if(swf.setAllowFullScreen && cb.getAllowFullScreen) { - swf.setAllowFullScreen(cb.getAllowFullScreen(viewerName)); - } - - if (swf.setReportStateInfo && cb.getReportStateInfo) { - swf.setReportStateInfo(cb.getReportStateInfo(viewerName)); - } - - if (swf.setPromptData) { - if (cb.getPromptData && cb.getPromptData(viewerName)) { - swf.setPromptData(cb.getPromptData(viewerName)); - } else { - swf.setPromptData(this._promptData[viewerName]); - } - } - - if (cb.getShouldAutoResize && cb.getShouldAutoResize(viewerName)) - this.resize(viewerName, 1, 1, true); - else if (cb.getSWFHeight && cb.getSWFWidth) - this.resize(viewerName, cb.getSWFHeight(viewerName), cb.getSWFWidth(viewerName), true); - }, - - /** - * Flex callback for closing the current dialog window. - */ - closeDialog : function (viewerName){ - var cb = this._cb[viewerName]; - if (cb && cb.closeDialog) { - cb.closeDialog(viewerName); - } - }, - - /** - * Flex callback for adjusting the size of the swf to fit the number of - * prompts being displayed. - */ - - resize : function(viewerName, height, width, shouldCenter) { - var swf = this.getSWF(viewerName); - var cb = this._cb[viewerName]; - if (swf && cb) { - cb.logger('Resizing the SWF h:' + height + ' w:' + width); - - if (cb.getScreenHeight && cb.getScreenWidth) - { - var screenHeight = cb.getScreenHeight(viewerName); - var screenWidth = cb.getScreenWidth(viewerName); - var p = MochiKit.Style.getElementPosition(swf.parentNode); - - // Do not allow resizing beyond the screen size - if ((p.x >= 0) && ((p.x + width) >= screenWidth) && !shouldCenter) { - width = screenWidth - p.x; - } - else if (width > screenWidth) { - width = screenWidth; - } - - if ((p.y >= 0) && ((p.y + height) >= screenHeight) && !shouldCenter) { - height = screenHeight - p.y; - } - else if (height > screenHeight) { - height = screenHeight; - } - } - - if(swf.setWidth && swf.setHeight) { - swf.setWidth(width); - swf.setHeight(height); - } - - swf.style.width = width + 'px'; - swf.style.height = height + 'px'; - - if (shouldCenter) { - this.move(viewerName, ((screenWidth - width) / 2), ((screenHeight - height) / 2)); - } - - cb.setVisibility(viewerName); - - swf._isMaximized = false; - } - }, - - fitScreen : function (viewerName){ - var swf = this.getSWF(viewerName); - var cb = this._cb[viewerName]; - if (swf && cb && cb.getScreenHeight && cb.getScreenWidth && swf.setHeight && swf.setWidth) { - cb.logger('Fitting SWF to the screen'); - var h = cb.getScreenHeight(viewerName); - var w = cb.getScreenWidth(viewerName); - - // Resize the html object - // We must call move before resize so that we can calculate the width/height appropriately when resizing - this.move(viewerName, 0, 0); - this.resize(viewerName, h, w, false); - - swf._isMaximized = true; - } - }, - - startDrag : function(viewerName) { - var cb = this._cb[viewerName]; - if (cb && cb.startDrag) { - cb.startDrag(viewerName); - } - }, - - stopDrag : function(viewerName) { - var cb = this._cb[viewerName]; - if (cb && cb.stopDrag) { - cb.stopDrag(viewerName); - } - }, - - drag : function(viewerName, x, y) { - var cb = this._cb[viewerName]; - if (cb && cb.drag) { - cb.drag(viewerName, x, y); - } - }, - - move : function(viewerName, x, y) { - var cb = this._cb[viewerName]; - if (cb && cb.move) { - cb.move(viewerName, x, y); - } - }, - - setParamValues : function(viewerName, paramData) { - var cb = this._cb[viewerName]; - if (cb && cb.setParamValues) { - cb.setParamValues(viewerName, paramData); - } - }, - - logon : function(viewerName, logonData) { - var cb = this._cb[viewerName]; - if (cb && cb.logon) { - cb.logon(viewerName, logonData); - } - }, - - setReportStateInfo : function(viewerName, rsInfo) { - var cb = this._cb[viewerName]; - if (cb && cb.setReportStateInfo) { - cb.setReportStateInfo(viewerName, rsInfo); - } - }, - - sendAsyncRequest : function(viewerName, args) { - var cb = this._cb[viewerName]; - if (cb && cb.sendAsyncRequest) { - cb.sendAsyncRequest(viewerName, args); - } - }, - - handleAsyncResponse : function(viewerName, args) { - var swf = this.getSWF(viewerName); - if (swf && swf.handleAsyncResponse){ - swf.handleAsyncResponse(args); - } - }, - - readyToShow: function(viewerName) { - var cb = this._cb[viewerName]; - if (cb && cb.readyToShow) { - cb.readyToShow(viewerName); - } - } - -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/KeyDownEvent.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/KeyDownEvent.js deleted file mode 100644 index 2f1f8b595..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/KeyDownEvent.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - File Version Start - Do not remove this if you are modifying the file - Build: 9.5.0 - File Version End -*/ -/* - this function is used to verify whether the 'Enter' key is pressed. - if the 'Enter' key is pressed, then either call the event handler function passed in as a parameter (evntHdlrName) - or if evntHdlrName is an empty string, submit the form that contains the input box (that triggers this function). - The form name is passed in as the third parameter, if it's an empty string, it's set to 0 by default. - The first parameter is an event object - - written by Paul Chong, 17th May 01 -*/ - -function keydownfn(e, evntHdlrName, formName) -{ - var nav4; - var keyPressed; - - //check if the brower is Netscape Navigator 4 or not - var nav4 = window.Event ? true : false; - - //if browser is Navigator 4, the key pressed is called .which else it's called .keyCode - keyPressed = nav4 ? e.which : e.keyCode; - - if (keyPressed == 13) - { - if (evntHdlrName != "") - { - // append empty parentheses if none given - if(evntHdlrName.substr(evntHdlrName.length-1) != ")") - evntHdlrName += "()"; - eval(evntHdlrName); - } - else - { - if (formName == "") - formName = 0; - document.forms[formName].submit(); - } - } - return true; -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/3rdParty.txt b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/3rdParty.txt deleted file mode 100644 index 6f2acbad2..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/3rdParty.txt +++ /dev/null @@ -1,66 +0,0 @@ -MochiKit is dual-licensed software. It is available under the terms of the -MIT License, or the Academic Free License version 2.1. The full text of -each license is included below. - -MIT License -=========== - -Copyright (c) 2005 Bob Ippolito. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Academic Free License v. 2.1 -============================ - -Copyright (c) 2005 Bob Ippolito. All rights reserved. - -This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work: - -Licensed under the Academic Free License version 2.1 - -1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following: - -a) to reproduce the Original Work in copies; - -b) to prepare derivative works ("Derivative Works") based upon the Original Work; - -c) to distribute copies of the Original Work and Derivative Works to the public; - -d) to perform the Original Work publicly; and - -e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license. - -5) This section intentionally omitted. - -6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - -9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. - -10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License. - -12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. - -13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. - -This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner. \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Async.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Async.js deleted file mode 100644 index 4e910e212..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Async.js +++ /dev/null @@ -1,602 +0,0 @@ -/*** - -MochiKit.Async 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide("MochiKit.Async"); - dojo.require("MochiKit.Base"); -} -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Async depends on MochiKit.Base!"; -} - -if (typeof(MochiKit.Async) == 'undefined') { - MochiKit.Async = {}; -} - -MochiKit.Async.NAME = "MochiKit.Async"; -MochiKit.Async.VERSION = "1.4"; -MochiKit.Async.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; -MochiKit.Async.toString = function () { - return this.__repr__(); -}; - -MochiKit.Async.Deferred = function (/* optional */ canceller) { - this.chain = []; - this.id = this._nextId(); - this.fired = -1; - this.paused = 0; - this.results = [null, null]; - this.canceller = canceller; - this.silentlyCancelled = false; - this.chained = false; -}; - -MochiKit.Async.Deferred.prototype = { - repr: function () { - var state; - if (this.fired == -1) { - state = 'unfired'; - } else if (this.fired === 0) { - state = 'success'; - } else { - state = 'error'; - } - return 'Deferred(' + this.id + ', ' + state + ')'; - }, - - toString: MochiKit.Base.forwardCall("repr"), - - _nextId: MochiKit.Base.counter(), - - cancel: function () { - var self = MochiKit.Async; - if (this.fired == -1) { - if (this.canceller) { - this.canceller(this); - } else { - this.silentlyCancelled = true; - } - if (this.fired == -1) { - this.errback(new self.CancelledError(this)); - } - } else if ((this.fired === 0) && (this.results[0] instanceof self.Deferred)) { - this.results[0].cancel(); - } - }, - - _resback: function (res) { - /*** - - The primitive that means either callback or errback - - ***/ - this.fired = ((res instanceof Error) ? 1 : 0); - this.results[this.fired] = res; - this._fire(); - }, - - _check: function () { - if (this.fired != -1) { - if (!this.silentlyCancelled) { - throw new MochiKit.Async.AlreadyCalledError(this); - } - this.silentlyCancelled = false; - return; - } - }, - - callback: function (res) { - this._check(); - if (res instanceof MochiKit.Async.Deferred) { - throw new Error("Deferred instances can only be chained if they are the result of a callback"); - } - this._resback(res); - }, - - errback: function (res) { - this._check(); - var self = MochiKit.Async; - if (res instanceof self.Deferred) { - throw new Error("Deferred instances can only be chained if they are the result of a callback"); - } - if (!(res instanceof Error)) { - res = new self.GenericError(res); - } - this._resback(res); - }, - - addBoth: function (fn) { - if (arguments.length > 1) { - fn = MochiKit.Base.partial.apply(null, arguments); - } - return this.addCallbacks(fn, fn); - }, - - addCallback: function (fn) { - if (arguments.length > 1) { - fn = MochiKit.Base.partial.apply(null, arguments); - } - return this.addCallbacks(fn, null); - }, - - addErrback: function (fn) { - if (arguments.length > 1) { - fn = MochiKit.Base.partial.apply(null, arguments); - } - return this.addCallbacks(null, fn); - }, - - addCallbacks: function (cb, eb) { - if (this.chained) { - throw new Error("Chained Deferreds can not be re-used"); - } - this.chain.push([cb, eb]); - if (this.fired >= 0) { - this._fire(); - } - return this; - }, - - _fire: function () { - /*** - - Used internally to exhaust the callback sequence when a result - is available. - - ***/ - var chain = this.chain; - var fired = this.fired; - var res = this.results[fired]; - var self = this; - var cb = null; - while (chain.length > 0 && this.paused === 0) { - // Array - var pair = chain.shift(); - var f = pair[fired]; - if (f === null) { - continue; - } - try { - res = f(res); - fired = ((res instanceof Error) ? 1 : 0); - if (res instanceof MochiKit.Async.Deferred) { - cb = function (res) { - self._resback(res); - self.paused--; - if ((self.paused === 0) && (self.fired >= 0)) { - self._fire(); - } - }; - this.paused++; - } - } catch (err) { - fired = 1; - if (!(err instanceof Error)) { - err = new MochiKit.Async.GenericError(err); - } - res = err; - } - } - this.fired = fired; - this.results[fired] = res; - if (cb && this.paused) { - // this is for "tail recursion" in case the dependent deferred - // is already fired - res.addBoth(cb); - res.chained = true; - } - } -}; - -MochiKit.Base.update(MochiKit.Async, { - evalJSONRequest: function (/* req */) { - return eval('(' + arguments[0].responseText + ')'); - }, - - succeed: function (/* optional */result) { - var d = new MochiKit.Async.Deferred(); - d.callback.apply(d, arguments); - return d; - }, - - fail: function (/* optional */result) { - var d = new MochiKit.Async.Deferred(); - d.errback.apply(d, arguments); - return d; - }, - - getXMLHttpRequest: function () { - var self = arguments.callee; - if (!self.XMLHttpRequest) { - var tryThese = [ - function () { return new XMLHttpRequest(); }, - function () { return new ActiveXObject('Msxml2.XMLHTTP'); }, - function () { return new ActiveXObject('Microsoft.XMLHTTP'); }, - function () { return new ActiveXObject('Msxml2.XMLHTTP.4.0'); }, - function () { - throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest"); - } - ]; - for (var i = 0; i < tryThese.length; i++) { - var func = tryThese[i]; - try { - self.XMLHttpRequest = func; - return func(); - } catch (e) { - // pass - } - } - } - return self.XMLHttpRequest(); - }, - - _xhr_onreadystatechange: function (d) { - // MochiKit.Logging.logDebug('this.readyState', this.readyState); - var m = MochiKit.Base; - if (this.readyState == 4) { - // IE SUCKS - try { - this.onreadystatechange = null; - } catch (e) { - try { - this.onreadystatechange = m.noop; - } catch (e) { - } - } - var status = null; - try { - status = this.status; - if (!status && m.isNotEmpty(this.responseText)) { - // 0 or undefined seems to mean cached or local - status = 304; - } - } catch (e) { - // pass - // MochiKit.Logging.logDebug('error getting status?', repr(items(e))); - } - // 200 is OK, 304 is NOT_MODIFIED - if (status == 200 || status == 304) { // OK - d.callback(this); - } else { - var err = new MochiKit.Async.XMLHttpRequestError(this, "Request failed"); - if (err.number) { - // XXX: This seems to happen on page change - d.errback(err); - } else { - // XXX: this seems to happen when the server is unreachable - d.errback(err); - } - } - } - }, - - _xhr_canceller: function (req) { - // IE SUCKS - try { - req.onreadystatechange = null; - } catch (e) { - try { - req.onreadystatechange = MochiKit.Base.noop; - } catch (e) { - } - } - req.abort(); - }, - - - sendXMLHttpRequest: function (req, /* optional */ sendContent) { - if (typeof(sendContent) == "undefined" || sendContent === null) { - sendContent = ""; - } - - var m = MochiKit.Base; - var self = MochiKit.Async; - var d = new self.Deferred(m.partial(self._xhr_canceller, req)); - - try { - req.onreadystatechange = m.bind(self._xhr_onreadystatechange, - req, d); - req.send(sendContent); - } catch (e) { - try { - req.onreadystatechange = null; - } catch (ignore) { - // pass - } - d.errback(e); - } - - return d; - - }, - - doSimpleXMLHttpRequest: function (url/*, ...*/) { - var self = MochiKit.Async; - var req = self.getXMLHttpRequest(); - if (arguments.length > 1) { - var m = MochiKit.Base; - var qs = m.queryString.apply(null, m.extend(null, arguments, 1)); - if (qs) { - url += "?" + qs; - } - } - req.open("GET", url, true); - return self.sendXMLHttpRequest(req); - }, - - loadJSONDoc: function (url) { - var self = MochiKit.Async; - var d = self.doSimpleXMLHttpRequest.apply(self, arguments); - d = d.addCallback(self.evalJSONRequest); - return d; - }, - - wait: function (seconds, /* optional */value) { - var d = new MochiKit.Async.Deferred(); - var m = MochiKit.Base; - if (typeof(value) != 'undefined') { - d.addCallback(function () { return value; }); - } - var timeout = setTimeout( - m.bind("callback", d), - Math.floor(seconds * 1000)); - d.canceller = function () { - try { - clearTimeout(timeout); - } catch (e) { - // pass - } - }; - return d; - }, - - callLater: function (seconds, func) { - var m = MochiKit.Base; - var pfunc = m.partial.apply(m, m.extend(null, arguments, 1)); - return MochiKit.Async.wait(seconds).addCallback( - function (res) { return pfunc(); } - ); - } -}); - - -MochiKit.Async.DeferredLock = function () { - this.waiting = []; - this.locked = false; - this.id = this._nextId(); -}; - -MochiKit.Async.DeferredLock.prototype = { - __class__: MochiKit.Async.DeferredLock, - acquire: function () { - d = new MochiKit.Async.Deferred(); - if (this.locked) { - this.waiting.push(d); - } else { - this.locked = true; - d.callback(this); - } - return d; - }, - release: function () { - if (!this.locked) { - throw TypeError("Tried to release an unlocked DeferredLock"); - } - this.locked = false; - if (this.waiting.length > 0) { - this.locked = true; - this.waiting.shift().callback(this); - } - }, - _nextId: MochiKit.Base.counter(), - repr: function () { - var state; - if (this.locked) { - state = 'locked, ' + this.waiting.length + ' waiting'; - } else { - state = 'unlocked'; - } - return 'DeferredLock(' + this.id + ', ' + state + ')'; - }, - toString: MochiKit.Base.forwardCall("repr") - -}; - -MochiKit.Async.DeferredList = function (list, /* optional */fireOnOneCallback, fireOnOneErrback, consumeErrors, canceller) { - - // call parent constructor - MochiKit.Async.Deferred.apply(this, [canceller]); - - this.list = list; - var resultList = []; - this.resultList = resultList; - - this.finishedCount = 0; - this.fireOnOneCallback = fireOnOneCallback; - this.fireOnOneErrback = fireOnOneErrback; - this.consumeErrors = consumeErrors; - - var cb = MochiKit.Base.bind(this._cbDeferred, this); - for (var i = 0; i < list.length; i++) { - var d = list[i]; - resultList.push(undefined); - d.addCallback(cb, i, true); - d.addErrback(cb, i, false); - } - - if (list.length === 0 && !fireOnOneCallback) { - this.callback(this.resultList); - } - -}; - -MochiKit.Async.DeferredList.prototype = new MochiKit.Async.Deferred(); - -MochiKit.Async.DeferredList.prototype._cbDeferred = function (index, succeeded, result) { - this.resultList[index] = [succeeded, result]; - this.finishedCount += 1; - if (this.fired !== 0) { - if (succeeded && this.fireOnOneCallback) { - this.callback([index, result]); - } else if (!succeeded && this.fireOnOneErrback) { - this.errback(result); - } else if (this.finishedCount == this.list.length) { - this.callback(this.resultList); - } - } - if (!succeeded && this.consumeErrors) { - result = null; - } - return result; -}; - -MochiKit.Async.gatherResults = function (deferredList) { - var d = new MochiKit.Async.DeferredList(deferredList, false, true, false); - d.addCallback(function (results) { - var ret = []; - for (var i = 0; i < results.length; i++) { - ret.push(results[i][1]); - } - return ret; - }); - return d; -}; - -MochiKit.Async.maybeDeferred = function (func) { - var self = MochiKit.Async; - var result; - try { - var r = func.apply(null, MochiKit.Base.extend([], arguments, 1)); - if (r instanceof self.Deferred) { - result = r; - } else if (r instanceof Error) { - result = self.fail(r); - } else { - result = self.succeed(r); - } - } catch (e) { - result = self.fail(e); - } - return result; -}; - - -MochiKit.Async.EXPORT = [ - "AlreadyCalledError", - "CancelledError", - "BrowserComplianceError", - "GenericError", - "XMLHttpRequestError", - "Deferred", - "succeed", - "fail", - "getXMLHttpRequest", - "doSimpleXMLHttpRequest", - "loadJSONDoc", - "wait", - "callLater", - "sendXMLHttpRequest", - "DeferredLock", - "DeferredList", - "gatherResults", - "maybeDeferred" -]; - -MochiKit.Async.EXPORT_OK = [ - "evalJSONRequest" -]; - -MochiKit.Async.__new__ = function () { - var m = MochiKit.Base; - var ne = m.partial(m._newNamedError, this); - ne("AlreadyCalledError", - function (deferred) { - /*** - - Raised by the Deferred if callback or errback happens - after it was already fired. - - ***/ - this.deferred = deferred; - } - ); - - ne("CancelledError", - function (deferred) { - /*** - - Raised by the Deferred cancellation mechanism. - - ***/ - this.deferred = deferred; - } - ); - - ne("BrowserComplianceError", - function (msg) { - /*** - - Raised when the JavaScript runtime is not capable of performing - the given function. Technically, this should really never be - raised because a non-conforming JavaScript runtime probably - isn't going to support exceptions in the first place. - - ***/ - this.message = msg; - } - ); - - ne("GenericError", - function (msg) { - this.message = msg; - } - ); - - ne("XMLHttpRequestError", - function (req, msg) { - /*** - - Raised when an XMLHttpRequest does not complete for any reason. - - ***/ - this.req = req; - this.message = msg; - try { - // Strange but true that this can raise in some cases. - this.number = req.status; - } catch (e) { - // pass - } - } - ); - - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": m.concat(this.EXPORT, this.EXPORT_OK) - }; - - m.nameFunctions(this); - -}; - -MochiKit.Async.__new__(); - -MochiKit.Base._exportSymbols(this, MochiKit.Async); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Base.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Base.js deleted file mode 100644 index 24f0db5df..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Base.js +++ /dev/null @@ -1,1259 +0,0 @@ -/*** - -MochiKit.Base 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide("MochiKit.Base"); -} - -if (typeof(MochiKit) == 'undefined') { - MochiKit = {}; -} -if (typeof(MochiKit.Base) == 'undefined') { - MochiKit.Base = {}; -} - -MochiKit.Base.VERSION = "1.4"; -MochiKit.Base.NAME = "MochiKit.Base"; -MochiKit.Base.update = function (self, obj/*, ... */) { - if (self === null) { - self = {}; - } - for (var i = 1; i < arguments.length; i++) { - var o = arguments[i]; - if (typeof(o) != 'undefined' && o !== null) { - for (var k in o) { - self[k] = o[k]; - } - } - } - return self; -}; - -MochiKit.Base.update(MochiKit.Base, { - __repr__: function () { - return "[" + this.NAME + " " + this.VERSION + "]"; - }, - - toString: function () { - return this.__repr__(); - }, - - camelize: function (selector) { - /* from dojo.style.toCamelCase */ - var arr = selector.split('-'); - var cc = arr[0]; - for (var i = 1; i < arr.length; i++) { - cc += arr[i].charAt(0).toUpperCase() + arr[i].substring(1); - } - return cc; - }, - - counter: function (n/* = 1 */) { - if (arguments.length === 0) { - n = 1; - } - return function () { - return n++; - }; - }, - - clone: function (obj) { - var me = arguments.callee; - if (arguments.length == 1) { - me.prototype = obj; - return new me(); - } - }, - -// _flattenArray: function (res, lst) { -// for (var i = 0; i < lst.length; i++) { -// var o = lst[i]; -// if (o instanceof Array) { -// arguments.callee(res, o); -// } else { -// res.push(o); -// } -// } -// return res; -// }, -// flattenArray: function (lst) { -// return MochiKit.Base._flattenArray([], lst); -// }, -// flattenArguments: function (lst/* ...*/) { -// var res = []; -// var m = MochiKit.Base; -// var args = m.extend(null, arguments); -// while (args.length) { -// var o = args.shift(); -// if (o && typeof(o) == "object" && typeof(o.length) == "number") { -// for (var i = o.length - 1; i >= 0; i--) { -// args.unshift(o[i]); -// } -// } else { -// res.push(o); -// } -// } -// return res; -// }, - - - extend: function (self, obj, /* optional */skip) { - // Extend an array with an array-like object starting - // from the skip index - if (!skip) { - skip = 0; - } - if (obj) { - // allow iterable fall-through, but skip the full isArrayLike - // check for speed, this is called often. - var l = obj.length; - if (typeof(l) != 'number' /* !isArrayLike(obj) */) { - if (typeof(MochiKit.Iter) != "undefined") { - obj = MochiKit.Iter.list(obj); - l = obj.length; - } else { - throw new TypeError("Argument not an array-like and MochiKit.Iter not present"); - } - } - if (!self) { - self = []; - } - for (var i = skip; i < l; i++) { - self.push(obj[i]); - } - } - // This mutates, but it's convenient to return because - // it's often used like a constructor when turning some - // ghetto array-like to a real array - return self; - }, - - - updatetree: function (self, obj/*, ...*/) { - if (self === null) { - self = {}; - } - for (var i = 1; i < arguments.length; i++) { - var o = arguments[i]; - if (typeof(o) != 'undefined' && o !== null) { - for (var k in o) { - var v = o[k]; - if (typeof(self[k]) == 'object' && typeof(v) == 'object') { - arguments.callee(self[k], v); - } else { - self[k] = v; - } - } - } - } - return self; - }, - - setdefault: function (self, obj/*, ...*/) { - if (self === null) { - self = {}; - } - for (var i = 1; i < arguments.length; i++) { - var o = arguments[i]; - for (var k in o) { - if (!(k in self)) { - self[k] = o[k]; - } - } - } - return self; - }, -// -// keys: function (obj) { -// var rval = []; -// for (var prop in obj) { -// rval.push(prop); -// } -// return rval; -// }, - -// items: function (obj) { -// var rval = []; -// var e; -// for (var prop in obj) { -// var v; -// try { -// v = obj[prop]; -// } catch (e) { -// continue; -// } -// rval.push([prop, v]); -// } -// return rval; -// }, -// -// - _newNamedError: function (module, name, func) { - func.prototype = new MochiKit.Base.NamedError(module.NAME + "." + name); - module[name] = func; - }, - - - operator: { - // unary logic operators -// truth: function (a) { return !!a; }, -// lognot: function (a) { return !a; }, - identity: function (a) { return a; } -// -// // bitwise unary operators -// not: function (a) { return ~a; }, -// neg: function (a) { return -a; }, -// -// // binary operators -// add: function (a, b) { return a + b; }, -// sub: function (a, b) { return a - b; }, -// div: function (a, b) { return a / b; }, -// mod: function (a, b) { return a % b; }, -// mul: function (a, b) { return a * b; }, -// -// // bitwise binary operators -// and: function (a, b) { return a & b; }, -// or: function (a, b) { return a | b; }, -// xor: function (a, b) { return a ^ b; }, -// lshift: function (a, b) { return a << b; }, -// rshift: function (a, b) { return a >> b; }, -// zrshift: function (a, b) { return a >>> b; }, -// -// // near-worthless built-in comparators -// eq: function (a, b) { return a == b; }, -// ne: function (a, b) { return a != b; }, -// gt: function (a, b) { return a > b; }, -// ge: function (a, b) { return a >= b; }, -// lt: function (a, b) { return a < b; }, -// le: function (a, b) { return a <= b; }, -// -// // strict built-in comparators -// seq: function (a, b) { return a === b; }, -// sne: function (a, b) { return a !== b; }, -// -// // compare comparators -// ceq: function (a, b) { return MochiKit.Base.compare(a, b) === 0; }, -// cne: function (a, b) { return MochiKit.Base.compare(a, b) !== 0; }, -// cgt: function (a, b) { return MochiKit.Base.compare(a, b) == 1; }, -// cge: function (a, b) { return MochiKit.Base.compare(a, b) != -1; }, -// clt: function (a, b) { return MochiKit.Base.compare(a, b) == -1; }, -// cle: function (a, b) { return MochiKit.Base.compare(a, b) != 1; }, -// -// // binary logical operators -// logand: function (a, b) { return a && b; }, -// logor: function (a, b) { return a || b; }, -// contains: function (a, b) { return b in a; } - }, - - forwardCall: function (func) { - return function () { - return this[func].apply(this, arguments); - }; - }, - -// itemgetter: function (func) { -// return function (arg) { -// return arg[func]; -// }; -// }, - - typeMatcher: function (/* typ */) { - var types = {}; - for (var i = 0; i < arguments.length; i++) { - var typ = arguments[i]; - types[typ] = typ; - } - return function () { - for (var i = 0; i < arguments.length; i++) { - if (!(typeof(arguments[i]) in types)) { - return false; - } - } - return true; - }; - }, - - isNull: function (/* ... */) { - for (var i = 0; i < arguments.length; i++) { - if (arguments[i] !== null) { - return false; - } - } - return true; - }, - - isUndefinedOrNull: function (/* ... */) { - for (var i = 0; i < arguments.length; i++) { - var o = arguments[i]; - if (!(typeof(o) == 'undefined' || o === null)) { - return false; - } - } - return true; - }, - - isEmpty: function (obj) { - return !MochiKit.Base.isNotEmpty.apply(this, arguments); - }, - - isNotEmpty: function (obj) { - for (var i = 0; i < arguments.length; i++) { - var o = arguments[i]; - if (!(o && o.length)) { - return false; - } - } - return true; - }, - - isArrayLike: function () { - for (var i = 0; i < arguments.length; i++) { - var o = arguments[i]; - var typ = typeof(o); - if ( - (typ != 'object' && !(typ == 'function' && typeof(o.item) == 'function')) || - o === null || - typeof(o.length) != 'number' || - o.nodeType === 3 - ) { - return false; - } - } - return true; - }, - - isDateLike: function () { - for (var i = 0; i < arguments.length; i++) { - var o = arguments[i]; - if (typeof(o) != "object" || o === null - || typeof(o.getTime) != 'function') { - return false; - } - } - return true; - }, - - - xmap: function (fn/*, obj... */) { - if (fn === null) { - return MochiKit.Base.extend(null, arguments, 1); - } - var rval = []; - for (var i = 1; i < arguments.length; i++) { - rval.push(fn(arguments[i])); - } - return rval; - }, - - map: function (fn, lst/*, lst... */) { - var m = MochiKit.Base; - var itr = MochiKit.Iter; - var isArrayLike = m.isArrayLike; - if (arguments.length <= 2) { - // allow an iterable to be passed - if (!isArrayLike(lst)) { - if (itr) { - // fast path for map(null, iterable) - lst = itr.list(lst); - if (fn === null) { - return lst; - } - } else { - throw new TypeError("Argument not an array-like and MochiKit.Iter not present"); - } - } - // fast path for map(null, lst) - if (fn === null) { - return m.extend(null, lst); - } - // disabled fast path for map(fn, lst) - /* - if (false && typeof(Array.prototype.map) == 'function') { - // Mozilla fast-path - return Array.prototype.map.call(lst, fn); - } - */ - var rval = []; - for (var i = 0; i < lst.length; i++) { - rval.push(fn(lst[i])); - } - return rval; - } else { - // default for map(null, ...) is zip(...) - if (fn === null) { - fn = Array; - } - var length = null; - for (i = 1; i < arguments.length; i++) { - // allow iterables to be passed - if (!isArrayLike(arguments[i])) { - if (itr) { - return itr.list(itr.imap.apply(null, arguments)); - } else { - throw new TypeError("Argument not an array-like and MochiKit.Iter not present"); - } - } - // find the minimum length - var l = arguments[i].length; - if (length === null || length > l) { - length = l; - } - } - rval = []; - for (i = 0; i < length; i++) { - var args = []; - for (var j = 1; j < arguments.length; j++) { - args.push(arguments[j][i]); - } - rval.push(fn.apply(this, args)); - } - return rval; - } - }, - - xfilter: function (fn/*, obj... */) { - var rval = []; - if (fn === null) { - fn = MochiKit.Base.operator.truth; - } - for (var i = 1; i < arguments.length; i++) { - var o = arguments[i]; - if (fn(o)) { - rval.push(o); - } - } - return rval; - }, - - filter: function (fn, lst, self) { - var rval = []; - // allow an iterable to be passed - var m = MochiKit.Base; - if (!m.isArrayLike(lst)) { - if (MochiKit.Iter) { - lst = MochiKit.Iter.list(lst); - } else { - throw new TypeError("Argument not an array-like and MochiKit.Iter not present"); - } - } - if (fn === null) { - fn = m.operator.truth; - } - if (typeof(Array.prototype.filter) == 'function') { - // Mozilla fast-path - return Array.prototype.filter.call(lst, fn, self); - } else if (typeof(self) == 'undefined' || self === null) { - for (var i = 0; i < lst.length; i++) { - var o = lst[i]; - if (fn(o)) { - rval.push(o); - } - } - } else { - for (i = 0; i < lst.length; i++) { - o = lst[i]; - if (fn.call(self, o)) { - rval.push(o); - } - } - } - return rval; - }, - - - _wrapDumbFunction: function (func) { - return function () { - // fast path! - switch (arguments.length) { - case 0: return func(); - case 1: return func(arguments[0]); - case 2: return func(arguments[0], arguments[1]); - case 3: return func(arguments[0], arguments[1], arguments[2]); - } - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push("arguments[" + i + "]"); - } - return eval("(func(" + args.join(",") + "))"); - }; - }, - - methodcaller: function (func/*, args... */) { - var args = MochiKit.Base.extend(null, arguments, 1); - if (typeof(func) == "function") { - return function (obj) { - return func.apply(obj, args); - }; - } else { - return function (obj) { - return obj[func].apply(obj, args); - }; - } - }, - - method: function (self, func) { - var m = MochiKit.Base; - return m.bind.apply(this, m.extend([func, self], arguments, 2)); - }, - - compose: function (f1, f2/*, f3, ... fN */) { - var fnlist = []; - var m = MochiKit.Base; - if (arguments.length === 0) { - throw new TypeError("compose() requires at least one argument"); - } - for (var i = 0; i < arguments.length; i++) { - var fn = arguments[i]; - if (typeof(fn) != "function") { - throw new TypeError(repr(fn) + " is not a function"); - } - fnlist.push(fn); - } - return function () { - var args = arguments; - for (var i = fnlist.length - 1; i >= 0; i--) { - args = [fnlist[i].apply(this, args)]; - } - return args[0]; - }; - }, - - bind: function (func, self/* args... */) { - if (typeof(func) == "string") { - func = self[func]; - } - var im_func = func.im_func; - var im_preargs = func.im_preargs; - var im_self = func.im_self; - var m = MochiKit.Base; - if (typeof(func) == "function" && typeof(func.apply) == "undefined") { - // this is for cases where JavaScript sucks ass and gives you a - // really dumb built-in function like alert() that doesn't have - // an apply - func = m._wrapDumbFunction(func); - } - if (typeof(im_func) != 'function') { - im_func = func; - } - if (typeof(self) != 'undefined') { - im_self = self; - } - if (typeof(im_preargs) == 'undefined') { - im_preargs = []; - } else { - im_preargs = im_preargs.slice(); - } - m.extend(im_preargs, arguments, 2); - var newfunc = function () { - var args = arguments; - var me = arguments.callee; - if (me.im_preargs.length > 0) { - args = m.concat(me.im_preargs, args); - } - var self = me.im_self; - if (!self) { - self = this; - } - return me.im_func.apply(self, args); - }; - newfunc.im_self = im_self; - newfunc.im_func = im_func; - newfunc.im_preargs = im_preargs; - return newfunc; - }, - - bindMethods: function (self) { - var bind = MochiKit.Base.bind; - for (var k in self) { - var func = self[k]; - if (typeof(func) == 'function') { - self[k] = bind(func, self); - } - } - }, - - registerComparator: function (name, check, comparator, /* optional */ override) { - MochiKit.Base.comparatorRegistry.register(name, check, comparator, override); - }, - - _primitives: {'boolean': true, 'string': true, 'number': true}, - - compare: function (a, b) { - if (a == b) { - return 0; - } - var aIsNull = (typeof(a) == 'undefined' || a === null); - var bIsNull = (typeof(b) == 'undefined' || b === null); - if (aIsNull && bIsNull) { - return 0; - } else if (aIsNull) { - return -1; - } else if (bIsNull) { - return 1; - } - var m = MochiKit.Base; - // bool, number, string have meaningful comparisons - var prim = m._primitives; - if (!(typeof(a) in prim && typeof(b) in prim)) { - try { - return m.comparatorRegistry.match(a, b); - } catch (e) { - if (e != m.NotFound) { - throw e; - } - } - } - if (a < b) { - return -1; - } else if (a > b) { - return 1; - } - // These types can't be compared - var repr = m.repr; - throw new TypeError(repr(a) + " and " + repr(b) + " can not be compared"); - }, - - compareDateLike: function (a, b) { - return MochiKit.Base.compare(a.getTime(), b.getTime()); - }, - - compareArrayLike: function (a, b) { - var compare = MochiKit.Base.compare; - var count = a.length; - var rval = 0; - if (count > b.length) { - rval = 1; - count = b.length; - } else if (count < b.length) { - rval = -1; - } - for (var i = 0; i < count; i++) { - var cmp = compare(a[i], b[i]); - if (cmp) { - return cmp; - } - } - return rval; - }, - - registerRepr: function (name, check, wrap, /* optional */override) { - MochiKit.Base.reprRegistry.register(name, check, wrap, override); - }, - - repr: function (o) { - if (typeof(o) == "undefined") { - return "undefined"; - } else if (o === null) { - return "null"; - } - try { - if (typeof(o.__repr__) == 'function') { - return o.__repr__(); - } else if (typeof(o.repr) == 'function' && o.repr != arguments.callee) { - return o.repr(); - } - return MochiKit.Base.reprRegistry.match(o); - } catch (e) { - if (typeof(o.NAME) == 'string' && ( - o.toString == Function.prototype.toString || - o.toString == Object.prototype.toString - )) { - return o.NAME; - } - } - try { - var ostring = (o + ""); - } catch (e) { - return "[" + typeof(o) + "]"; - } - if (typeof(o) == "function") { - o = ostring.replace(/^\s+/, ""); - var idx = o.indexOf("{"); - if (idx != -1) { - o = o.substr(0, idx) + "{...}"; - } - } - return ostring; - }, - - reprArrayLike: function (o) { - var m = MochiKit.Base; - return "[" + m.map(m.repr, o).join(", ") + "]"; - }, - - reprString: function (o) { - return ('"' + o.replace(/(["\\])/g, '\\$1') + '"' - ).replace(/[\f]/g, "\\f" - ).replace(/[\b]/g, "\\b" - ).replace(/[\n]/g, "\\n" - ).replace(/[\t]/g, "\\t" - ).replace(/[\r]/g, "\\r"); - }, - - reprNumber: function (o) { - return o + ""; - }, - - registerJSON: function (name, check, wrap, /* optional */override) { - MochiKit.Base.jsonRegistry.register(name, check, wrap, override); - }, - - - evalJSON: function () { - return eval("(" + arguments[0] + ")"); - }, - - serializeJSON: function (o) { - var objtype = typeof(o); - if (objtype == "undefined") { - return "undefined"; - } else if (objtype == "number" || objtype == "boolean") { - return o + ""; - } else if (o === null) { - return "null"; - } - var m = MochiKit.Base; - var reprString = m.reprString; - if (objtype == "string") { - return reprString(o); - } - // recurse - var me = arguments.callee; - // short-circuit for objects that support "json" serialization - // if they return "self" then just pass-through... - var newObj; - if (typeof(o.__json__) == "function") { - newObj = o.__json__(); - if (o !== newObj) { - return me(newObj); - } - } - if (typeof(o.json) == "function") { - newObj = o.json(); - if (o !== newObj) { - return me(newObj); - } - } - // array - if (objtype != "function" && typeof(o.length) == "number") { - var res = []; - for (var i = 0; i < o.length; i++) { - var val = me(o[i]); - if (typeof(val) != "string") { - val = "undefined"; - } - res.push(val); - } - return "[" + res.join(", ") + "]"; - } - // look in the registry - try { - newObj = m.jsonRegistry.match(o); - if (o !== newObj) { - return me(newObj); - } - } catch (e) { - if (e != m.NotFound) { - // something really bad happened - throw e; - } - } - // it's a function with no adapter, bad - if (objtype == "function") { - return null; - } - // generic object code path - res = []; - for (var k in o) { - var useKey; - if (typeof(k) == "number") { - useKey = '"' + k + '"'; - } else if (typeof(k) == "string") { - useKey = reprString(k); - } else { - // skip non-string or number keys - continue; - } - val = me(o[k]); - if (typeof(val) != "string") { - // skip non-serializable values - continue; - } - res.push(useKey + ":" + val); - } - return "{" + res.join(", ") + "}"; - }, - - - objEqual: function (a, b) { - return (MochiKit.Base.compare(a, b) === 0); - }, - - arrayEqual: function (self, arr) { - if (self.length != arr.length) { - return false; - } - return (MochiKit.Base.compare(self, arr) === 0); - }, - - concat: function (/* lst... */) { - var rval = []; - var extend = MochiKit.Base.extend; - for (var i = 0; i < arguments.length; i++) { - extend(rval, arguments[i]); - } - return rval; - }, - - keyComparator: function (key/* ... */) { - // fast-path for single key comparisons - var m = MochiKit.Base; - var compare = m.compare; - if (arguments.length == 1) { - return function (a, b) { - return compare(a[key], b[key]); - }; - } - var compareKeys = m.extend(null, arguments); - return function (a, b) { - var rval = 0; - // keep comparing until something is inequal or we run out of - // keys to compare - for (var i = 0; (rval === 0) && (i < compareKeys.length); i++) { - var key = compareKeys[i]; - rval = compare(a[key], b[key]); - } - return rval; - }; - }, - - reverseKeyComparator: function (key) { - var comparator = MochiKit.Base.keyComparator.apply(this, arguments); - return function (a, b) { - return comparator(b, a); - }; - }, - - partial: function (func) { - var m = MochiKit.Base; - return m.bind.apply(this, m.extend([func, undefined], arguments, 1)); - }, - - listMinMax: function (which, lst) { - if (lst.length === 0) { - return null; - } - var cur = lst[0]; - var compare = MochiKit.Base.compare; - for (var i = 1; i < lst.length; i++) { - var o = lst[i]; - if (compare(o, cur) == which) { - cur = o; - } - } - return cur; - }, - - objMax: function (/* obj... */) { - return MochiKit.Base.listMinMax(1, arguments); - }, - - objMin: function (/* obj... */) { - return MochiKit.Base.listMinMax(-1, arguments); - }, - - findIdentical: function (lst, value, start/* = 0 */, /* optional */end) { - if (typeof(end) == "undefined" || end === null) { - end = lst.length; - } - if (typeof(start) == "undefined" || start === null) { - start = 0; - } - for (var i = start; i < end; i++) { - if (lst[i] === value) { - return i; - } - } - return -1; - }, - - mean: function(/* lst... */) { - /* http://www.nist.gov/dads/HTML/mean.html */ - var sum = 0; - - var m = MochiKit.Base; - var args = m.extend(null, arguments); - var count = args.length; - - while (args.length) { - var o = args.shift(); - if (o && typeof(o) == "object" && typeof(o.length) == "number") { - count += o.length - 1; - for (var i = o.length - 1; i >= 0; i--) { - sum += o[i]; - } - } else { - sum += o; - } - } - - if (count <= 0) { - throw new TypeError('mean() requires at least one argument'); - } - - return sum/count; - }, - - median: function(/* lst... */) { - /* http://www.nist.gov/dads/HTML/median.html */ - var data = MochiKit.Base.flattenArguments(arguments); - if (data.length === 0) { - throw new TypeError('median() requires at least one argument'); - } - data.sort(compare); - if (data.length % 2 == 0) { - var upper = data.length / 2; - return (data[upper] + data[upper - 1]) / 2; - } else { - return data[(data.length - 1) / 2]; - } - }, - - findValue: function (lst, value, start/* = 0 */, /* optional */end) { - if (typeof(end) == "undefined" || end === null) { - end = lst.length; - } - if (typeof(start) == "undefined" || start === null) { - start = 0; - } - var cmp = MochiKit.Base.compare; - for (var i = start; i < end; i++) { - if (cmp(lst[i], value) === 0) { - return i; - } - } - return -1; - }, - - nodeWalk: function (node, visitor) { - var nodes = [node]; - var extend = MochiKit.Base.extend; - while (nodes.length) { - var res = visitor(nodes.shift()); - if (res) { - extend(nodes, res); - } - } - }, - - - nameFunctions: function (namespace) { - var base = namespace.NAME; - if (typeof(base) == 'undefined') { - base = ''; - } else { - base = base + '.'; - } - for (var name in namespace) { - var o = namespace[name]; - if (typeof(o) == 'function' && typeof(o.NAME) == 'undefined') { - try { - o.NAME = base + name; - } catch (e) { - // pass - } - } - } - }, - - - queryString: function (names, values) { - // check to see if names is a string or a DOM element, and if - // MochiKit.DOM is available. If so, drop it like it's a form - // Ugliest conditional in MochiKit? Probably! - if (typeof(MochiKit.DOM) != "undefined" && arguments.length == 1 - && (typeof(names) == "string" || ( - typeof(names.nodeType) != "undefined" && names.nodeType > 0 - )) - ) { - var kv = MochiKit.DOM.formContents(names); - names = kv[0]; - values = kv[1]; - } else if (arguments.length == 1) { - var o = names; - names = []; - values = []; - for (var k in o) { - var v = o[k]; - if (typeof(v) != "function") { - names.push(k); - values.push(v); - } - } - } - var rval = []; - var len = Math.min(names.length, values.length); - var urlEncode = MochiKit.Base.urlEncode; - for (var i = 0; i < len; i++) { - v = values[i]; - if (typeof(v) != 'undefined' && v !== null) { - rval.push(urlEncode(names[i]) + "=" + urlEncode(v)); - } - } - return rval.join("&"); - }, - - - parseQueryString: function (encodedString, useArrays) { - var pairs = encodedString.replace(/\+/g, "%20").split("&"); - var o = {}; - var decode; - if (typeof(decodeURIComponent) != "undefined") { - decode = decodeURIComponent; - } else { - decode = unescape; - } - if (useArrays) { - for (var i = 0; i < pairs.length; i++) { - var pair = pairs[i].split("="); - var name = decode(pair[0]); - var arr = o[name]; - if (!(arr instanceof Array)) { - arr = []; - o[name] = arr; - } - arr.push(decode(pair[1])); - } - } else { - for (i = 0; i < pairs.length; i++) { - pair = pairs[i].split("="); - o[decode(pair[0])] = decode(pair[1]); - } - } - return o; - } -}); - -MochiKit.Base.AdapterRegistry = function () { - this.pairs = []; -}; - -MochiKit.Base.AdapterRegistry.prototype = { - register: function (name, check, wrap, /* optional */ override) { - if (override) { - this.pairs.unshift([name, check, wrap]); - } else { - this.pairs.push([name, check, wrap]); - } - }, - - match: function (/* ... */) { - for (var i = 0; i < this.pairs.length; i++) { - var pair = this.pairs[i]; - if (pair[1].apply(this, arguments)) { - return pair[2].apply(this, arguments); - } - } - throw MochiKit.Base.NotFound; - }, - - unregister: function (name) { - for (var i = 0; i < this.pairs.length; i++) { - var pair = this.pairs[i]; - if (pair[0] == name) { - this.pairs.splice(i, 1); - return true; - } - } - return false; - } -}; - - -MochiKit.Base.EXPORT = [ - "flattenArray", - "noop", - "camelize", - "counter", - "clone", - "extend", - "update", - "updatetree", - "setdefault", - "keys", - "items", - "NamedError", - "operator", - "forwardCall", - "itemgetter", - "typeMatcher", - "isCallable", - "isUndefined", - "isUndefinedOrNull", - "isNull", - "isEmpty", - "isNotEmpty", - "isArrayLike", - "isDateLike", - "xmap", - "map", - "xfilter", - "filter", - "methodcaller", - "compose", - "bind", - "bindMethods", - "NotFound", - "AdapterRegistry", - "registerComparator", - "compare", - "registerRepr", - "repr", - "objEqual", - "arrayEqual", - "concat", - "keyComparator", - "reverseKeyComparator", - "partial", - "merge", - "listMinMax", - "listMax", - "listMin", - "objMax", - "objMin", - "nodeWalk", - "zip", - "urlEncode", - "queryString", - "serializeJSON", - "registerJSON", - "evalJSON", - "parseQueryString", - "findValue", - "findIdentical", - "flattenArguments", - "method", - "average", - "mean", - "median" -]; - -MochiKit.Base.EXPORT_OK = [ - "nameFunctions", - "comparatorRegistry", - "reprRegistry", - "jsonRegistry", - "compareDateLike", - "compareArrayLike", - "reprArrayLike", - "reprString", - "reprNumber" -]; - -MochiKit.Base._exportSymbols = function (globals, module) { - if (typeof(MochiKit.__export__) == "undefined") { - MochiKit.__export__ = (MochiKit.__compat__ || - (typeof(JSAN) == 'undefined' && typeof(dojo) == 'undefined') - ); - } - if (!MochiKit.__export__) { - return; - } - var all = module.EXPORT_TAGS[":all"]; - for (var i = 0; i < all.length; i++) { - globals[all[i]] = module[all[i]]; - } -}; - -MochiKit.Base.__new__ = function () { - // A singleton raised when no suitable adapter is found - var m = this; - - // convenience - m.noop = m.operator.identity; - - // Backwards compat - m.forward = m.forwardCall; - m.find = m.findValue; - - if (typeof(encodeURIComponent) != "undefined") { - m.urlEncode = function (unencoded) { - return encodeURIComponent(unencoded).replace(/\'/g, '%27'); - }; - } else { - m.urlEncode = function (unencoded) { - return escape(unencoded - ).replace(/\+/g, '%2B' - ).replace(/\"/g,'%22' - ).rval.replace(/\'/g, '%27'); - }; - } - - m.NamedError = function (name) { - this.message = name; - this.name = name; - }; - m.NamedError.prototype = new Error(); - m.update(m.NamedError.prototype, { - repr: function () { - if (this.message && this.message != this.name) { - return this.name + "(" + m.repr(this.message) + ")"; - } else { - return this.name + "()"; - } - }, - toString: m.forwardCall("repr") - }); - - m.NotFound = new m.NamedError("MochiKit.Base.NotFound"); - - - m.listMax = m.partial(m.listMinMax, 1); - m.listMin = m.partial(m.listMinMax, -1); - - m.isCallable = m.typeMatcher('function'); - m.isUndefined = m.typeMatcher('undefined'); - - m.merge = m.partial(m.update, null); - m.zip = m.partial(m.map, null); - - m.average = m.mean; - - m.comparatorRegistry = new m.AdapterRegistry(); - m.registerComparator("dateLike", m.isDateLike, m.compareDateLike); - m.registerComparator("arrayLike", m.isArrayLike, m.compareArrayLike); - - m.reprRegistry = new m.AdapterRegistry(); - m.registerRepr("arrayLike", m.isArrayLike, m.reprArrayLike); - m.registerRepr("string", m.typeMatcher("string"), m.reprString); - m.registerRepr("numbers", m.typeMatcher("number", "boolean"), m.reprNumber); - - m.jsonRegistry = new m.AdapterRegistry(); - - var all = m.concat(m.EXPORT, m.EXPORT_OK); - m.EXPORT_TAGS = { - ":common": m.concat(m.EXPORT_OK), - ":all": all - }; - - m.nameFunctions(this); - -}; - -MochiKit.Base.__new__(); - -// -// XXX: Internet Explorer blows -// -if (MochiKit.__export__) { - compare = MochiKit.Base.compare; -} - -MochiKit.Base._exportSymbols(this, MochiKit.Base); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Color.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Color.js deleted file mode 100644 index 1064c597b..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Color.js +++ /dev/null @@ -1,845 +0,0 @@ -/*** - -MochiKit.Color 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito and others. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Color'); - dojo.require('MochiKit.Base'); - dojo.require('MochiKit.DOM'); - dojo.require('MochiKit.Style'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); - JSAN.use("MochiKit.DOM", []); - JSAN.use("MochiKit.Style", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Color depends on MochiKit.Base"; -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Color depends on MochiKit.DOM"; -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Color depends on MochiKit.Style"; -} - -if (typeof(MochiKit.Color) == "undefined") { - MochiKit.Color = {}; -} - -MochiKit.Color.NAME = "MochiKit.Color"; -MochiKit.Color.VERSION = "1.4"; - -MochiKit.Color.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; - -MochiKit.Color.toString = function () { - return this.__repr__(); -}; - - -MochiKit.Color.Color = function (red, green, blue, alpha) { - if (typeof(alpha) == 'undefined' || alpha === null) { - alpha = 1.0; - } - this.rgb = { - r: red, - g: green, - b: blue, - a: alpha - }; -}; - - -// Prototype methods -MochiKit.Color.Color.prototype = { - - __class__: MochiKit.Color.Color, - -// colorWithAlpha: function (alpha) { -// var rgb = this.rgb; -// var m = MochiKit.Color; -// return m.Color.fromRGB(rgb.r, rgb.g, rgb.b, alpha); -// }, -// -// colorWithHue: function (hue) { -// // get an HSL model, and set the new hue... -// var hsl = this.asHSL(); -// hsl.h = hue; -// var m = MochiKit.Color; -// // convert back to RGB... -// return m.Color.fromHSL(hsl); -// }, -// -// colorWithSaturation: function (saturation) { -// // get an HSL model, and set the new hue... -// var hsl = this.asHSL(); -// hsl.s = saturation; -// var m = MochiKit.Color; -// // convert back to RGB... -// return m.Color.fromHSL(hsl); -// }, -// -// colorWithLightness: function (lightness) { -// // get an HSL model, and set the new hue... -// var hsl = this.asHSL(); -// hsl.l = lightness; -// var m = MochiKit.Color; -// // convert back to RGB... -// return m.Color.fromHSL(hsl); -// }, -// -// darkerColorWithLevel: function (level) { -// var hsl = this.asHSL(); -// hsl.l = Math.max(hsl.l - level, 0); -// var m = MochiKit.Color; -// return m.Color.fromHSL(hsl); -// }, -// -// lighterColorWithLevel: function (level) { -// var hsl = this.asHSL(); -// hsl.l = Math.min(hsl.l + level, 1); -// var m = MochiKit.Color; -// return m.Color.fromHSL(hsl); -// }, -// -// blendedColor: function (other, /* optional */ fraction) { -// if (typeof(fraction) == 'undefined' || fraction === null) { -// fraction = 0.5; -// } -// var sf = 1.0 - fraction; -// var s = this.rgb; -// var d = other.rgb; -// var df = fraction; -// return MochiKit.Color.Color.fromRGB( -// (s.r * sf) + (d.r * df), -// (s.g * sf) + (d.g * df), -// (s.b * sf) + (d.b * df), -// (s.a * sf) + (d.a * df) -// ); -// }, -// -// compareRGB: function (other) { -// var a = this.asRGB(); -// var b = other.asRGB(); -// return MochiKit.Base.compare( -// [a.r, a.g, a.b, a.a], -// [b.r, b.g, b.b, b.a] -// ); -// }, -// -// isLight: function () { -// return this.asHSL().b > 0.5; -// }, -// -// isDark: function () { -// return (!this.isLight()); -// }, -// -// toHSLString: function () { -// var c = this.asHSL(); -// var ccc = MochiKit.Color.clampColorComponent; -// var rval = this._hslString; -// if (!rval) { -// var mid = ( -// ccc(c.h, 360).toFixed(0) -// + "," + ccc(c.s, 100).toPrecision(4) + "%" -// + "," + ccc(c.l, 100).toPrecision(4) + "%" -// ); -// var a = c.a; -// if (a >= 1) { -// a = 1; -// rval = "hsl(" + mid + ")"; -// } else { -// if (a <= 0) { -// a = 0; -// } -// rval = "hsla(" + mid + "," + a + ")"; -// } -// this._hslString = rval; -// } -// return rval; -// }, -// -// toRGBString: function () { -// var c = this.rgb; -// var ccc = MochiKit.Color.clampColorComponent; -// var rval = this._rgbString; -// if (!rval) { -// var mid = ( -// ccc(c.r, 255).toFixed(0) -// + "," + ccc(c.g, 255).toFixed(0) -// + "," + ccc(c.b, 255).toFixed(0) -// ); -// if (c.a != 1) { -// rval = "rgba(" + mid + "," + c.a + ")"; -// } else { -// rval = "rgb(" + mid + ")"; -// } -// this._rgbString = rval; -// } -// return rval; -// }, -// -// asRGB: function () { -// return MochiKit.Base.clone(this.rgb); -// }, -// -// toHexString: function () { -// var m = MochiKit.Color; -// var c = this.rgb; -// var ccc = MochiKit.Color.clampColorComponent; -// var rval = this._hexString; -// if (!rval) { -// rval = ("#" + -// m.toColorPart(ccc(c.r, 255)) + -// m.toColorPart(ccc(c.g, 255)) + -// m.toColorPart(ccc(c.b, 255)) -// ); -// this._hexString = rval; -// } -// return rval; -// }, -// -// asHSV: function () { -// var hsv = this.hsv; -// var c = this.rgb; -// if (typeof(hsv) == 'undefined' || hsv === null) { -// hsv = MochiKit.Color.rgbToHSV(this.rgb); -// this.hsv = hsv; -// } -// return MochiKit.Base.clone(hsv); -// }, -// -// asHSL: function () { -// var hsl = this.hsl; -// var c = this.rgb; -// if (typeof(hsl) == 'undefined' || hsl === null) { -// hsl = MochiKit.Color.rgbToHSL(this.rgb); -// this.hsl = hsl; -// } -// return MochiKit.Base.clone(hsl); -// }, - - toString: function () { - return this.toRGBString(); - }, - - repr: function () { - var c = this.rgb; - var col = [c.r, c.g, c.b, c.a]; - return this.__class__.NAME + "(" + col.join(", ") + ")"; - } - -}; - -// Constructor methods -MochiKit.Base.update(MochiKit.Color.Color, { -// fromRGB: function (red, green, blue, alpha) { -// // designated initializer -// var Color = MochiKit.Color.Color; -// if (arguments.length == 1) { -// var rgb = red; -// red = rgb.r; -// green = rgb.g; -// blue = rgb.b; -// if (typeof(rgb.a) == 'undefined') { -// alpha = undefined; -// } else { -// alpha = rgb.a; -// } -// } -// return new Color(red, green, blue, alpha); -// }, -// -// fromHSL: function (hue, saturation, lightness, alpha) { -// var m = MochiKit.Color; -// return m.Color.fromRGB(m.hslToRGB.apply(m, arguments)); -// }, -// -// fromHSV: function (hue, saturation, value, alpha) { -// var m = MochiKit.Color; -// return m.Color.fromRGB(m.hsvToRGB.apply(m, arguments)); -// }, -// -// fromName: function (name) { -// var Color = MochiKit.Color.Color; -// // Opera 9 seems to "quote" named colors(?!) -// if (name.charAt(0) == '"') { -// name = name.substr(1, name.length - 2); -// } -// var htmlColor = Color._namedColors[name.toLowerCase()]; -// if (typeof(htmlColor) == 'string') { -// return Color.fromHexString(htmlColor); -// } else if (name == "transparent") { -// return Color.transparentColor(); -// } -// return null; -// }, -// -// fromString: function (colorString) { -// var self = MochiKit.Color.Color; -// var three = colorString.substr(0, 3); -// if (three == "rgb") { -// return self.fromRGBString(colorString); -// } else if (three == "hsl") { -// return self.fromHSLString(colorString); -// } else if (colorString.charAt(0) == "#") { -// return self.fromHexString(colorString); -// } -// return self.fromName(colorString); -// }, -// -// -// fromHexString: function (hexCode) { -// if (hexCode.charAt(0) == '#') { -// hexCode = hexCode.substring(1); -// } -// var components = []; -// var i, hex; -// if (hexCode.length == 3) { -// for (i = 0; i < 3; i++) { -// hex = hexCode.substr(i, 1); -// components.push(parseInt(hex + hex, 16) / 255.0); -// } -// } else { -// for (i = 0; i < 6; i += 2) { -// hex = hexCode.substr(i, 2); -// components.push(parseInt(hex, 16) / 255.0); -// } -// } -// var Color = MochiKit.Color.Color; -// return Color.fromRGB.apply(Color, components); -// }, -// -// -// _fromColorString: function (pre, method, scales, colorCode) { -// // parses either HSL or RGB -// if (colorCode.indexOf(pre) === 0) { -// colorCode = colorCode.substring(colorCode.indexOf("(", 3) + 1, colorCode.length - 1); -// } -// var colorChunks = colorCode.split(/\s*,\s*/); -// var colorFloats = []; -// for (var i = 0; i < colorChunks.length; i++) { -// var c = colorChunks[i]; -// var val; -// var three = c.substring(c.length - 3); -// if (c.charAt(c.length - 1) == '%') { -// val = 0.01 * parseFloat(c.substring(0, c.length - 1)); -// } else if (three == "deg") { -// val = parseFloat(c) / 360.0; -// } else if (three == "rad") { -// val = parseFloat(c) / (Math.PI * 2); -// } else { -// val = scales[i] * parseFloat(c); -// } -// colorFloats.push(val); -// } -// return this[method].apply(this, colorFloats); -// }, - - fromComputedStyle: function (elem, style) { - var d = MochiKit.DOM; - var cls = MochiKit.Color.Color; - for (elem = d.getElement(elem); elem; elem = elem.parentNode) { - var actualColor = MochiKit.Style.computedStyle.apply(d, arguments); - if (!actualColor) { - continue; - } - var color = cls.fromString(actualColor); - if (!color) { - break; - } - if (color.asRGB().a > 0) { - return color; - } - } - return null; - }, - - fromBackground: function (elem) { - var cls = MochiKit.Color.Color; - return cls.fromComputedStyle( - elem, "backgroundColor", "background-color") || cls.whiteColor(); - }, - - fromText: function (elem) { - var cls = MochiKit.Color.Color; - return cls.fromComputedStyle( - elem, "color", "color") || cls.blackColor(); - }, - - namedColors: function () { - return MochiKit.Base.clone(MochiKit.Color.Color._namedColors); - } -}); - -// Module level functions -MochiKit.Base.update(MochiKit.Color, { -// clampColorComponent: function (v, scale) { -// v *= scale; -// if (v < 0) { -// return 0; -// } else if (v > scale) { -// return scale; -// } else { -// return v; -// } -// }, -// -// _hslValue: function (n1, n2, hue) { -// if (hue > 6.0) { -// hue -= 6.0; -// } else if (hue < 0.0) { -// hue += 6.0; -// } -// var val; -// if (hue < 1.0) { -// val = n1 + (n2 - n1) * hue; -// } else if (hue < 3.0) { -// val = n2; -// } else if (hue < 4.0) { -// val = n1 + (n2 - n1) * (4.0 - hue); -// } else { -// val = n1; -// } -// return val; -// }, -// -// hsvToRGB: function (hue, saturation, value, alpha) { -// if (arguments.length == 1) { -// var hsv = hue; -// hue = hsv.h; -// saturation = hsv.s; -// value = hsv.v; -// alpha = hsv.a; -// } -// var red; -// var green; -// var blue; -// if (saturation === 0) { -// red = 0; -// green = 0; -// blue = 0; -// } else { -// var i = Math.floor(hue * 6); -// var f = (hue * 6) - i; -// var p = value * (1 - saturation); -// var q = value * (1 - (saturation * f)); -// var t = value * (1 - (saturation * (1 - f))); -// switch (i) { -// case 1: red = q; green = value; blue = p; break; -// case 2: red = p; green = value; blue = t; break; -// case 3: red = p; green = q; blue = value; break; -// case 4: red = t; green = p; blue = value; break; -// case 5: red = value; green = p; blue = q; break; -// case 6: // fall through -// case 0: red = value; green = t; blue = p; break; -// } -// } -// return { -// r: red, -// g: green, -// b: blue, -// a: alpha -// }; -// }, -// -// hslToRGB: function (hue, saturation, lightness, alpha) { -// if (arguments.length == 1) { -// var hsl = hue; -// hue = hsl.h; -// saturation = hsl.s; -// lightness = hsl.l; -// alpha = hsl.a; -// } -// var red; -// var green; -// var blue; -// if (saturation === 0) { -// red = lightness; -// green = lightness; -// blue = lightness; -// } else { -// var m2; -// if (lightness <= 0.5) { -// m2 = lightness * (1.0 + saturation); -// } else { -// m2 = lightness + saturation - (lightness * saturation); -// } -// var m1 = (2.0 * lightness) - m2; -// var f = MochiKit.Color._hslValue; -// var h6 = hue * 6.0; -// red = f(m1, m2, h6 + 2); -// green = f(m1, m2, h6); -// blue = f(m1, m2, h6 - 2); -// } -// return { -// r: red, -// g: green, -// b: blue, -// a: alpha -// }; -// }, -// -// rgbToHSV: function (red, green, blue, alpha) { -// if (arguments.length == 1) { -// var rgb = red; -// red = rgb.r; -// green = rgb.g; -// blue = rgb.b; -// alpha = rgb.a; -// } -// var max = Math.max(Math.max(red, green), blue); -// var min = Math.min(Math.min(red, green), blue); -// var hue; -// var saturation; -// var value = max; -// if (min == max) { -// hue = 0; -// saturation = 0; -// } else { -// var delta = (max - min); -// saturation = delta / max; -// -// if (red == max) { -// hue = (green - blue) / delta; -// } else if (green == max) { -// hue = 2 + ((blue - red) / delta); -// } else { -// hue = 4 + ((red - green) / delta); -// } -// hue /= 6; -// if (hue < 0) { -// hue += 1; -// } -// if (hue > 1) { -// hue -= 1; -// } -// } -// return { -// h: hue, -// s: saturation, -// v: value, -// a: alpha -// }; -// }, -// -// rgbToHSL: function (red, green, blue, alpha) { -// if (arguments.length == 1) { -// var rgb = red; -// red = rgb.r; -// green = rgb.g; -// blue = rgb.b; -// alpha = rgb.a; -// } -// var max = Math.max(red, Math.max(green, blue)); -// var min = Math.min(red, Math.min(green, blue)); -// var hue; -// var saturation; -// var lightness = (max + min) / 2.0; -// var delta = max - min; -// if (delta === 0) { -// hue = 0; -// saturation = 0; -// } else { -// if (lightness <= 0.5) { -// saturation = delta / (max + min); -// } else { -// saturation = delta / (2 - max - min); -// } -// if (red == max) { -// hue = (green - blue) / delta; -// } else if (green == max) { -// hue = 2 + ((blue - red) / delta); -// } else { -// hue = 4 + ((red - green) / delta); -// } -// hue /= 6; -// if (hue < 0) { -// hue += 1; -// } -// if (hue > 1) { -// hue -= 1; -// } -// -// } -// return { -// h: hue, -// s: saturation, -// l: lightness, -// a: alpha -// }; -// }, -// -// toColorPart: function (num) { -// num = Math.round(num); -// var digits = num.toString(16); -// if (num < 16) { -// return '0' + digits; -// } -// return digits; -// }, - - __new__: function () { - var m = MochiKit.Base; -// this.Color.fromRGBString = m.bind( -// this.Color._fromColorString, this.Color, "rgb", "fromRGB", -// [1.0/255.0, 1.0/255.0, 1.0/255.0, 1] -// ); -// this.Color.fromHSLString = m.bind( -// this.Color._fromColorString, this.Color, "hsl", "fromHSL", -// [1.0/360.0, 0.01, 0.01, 1] -// ); -// -// var third = 1.0 / 3.0; -// var colors = { -// // NSColor colors plus transparent -// black: [0, 0, 0], -// blue: [0, 0, 1], -// brown: [0.6, 0.4, 0.2], -// cyan: [0, 1, 1], -// darkGray: [third, third, third], -// gray: [0.5, 0.5, 0.5], -// green: [0, 1, 0], -// lightGray: [2 * third, 2 * third, 2 * third], -// magenta: [1, 0, 1], -// orange: [1, 0.5, 0], -// purple: [0.5, 0, 0.5], -// red: [1, 0, 0], -// transparent: [0, 0, 0, 0], -// white: [1, 1, 1], -// yellow: [1, 1, 0] -// }; -// -// var makeColor = function (name, r, g, b, a) { -// var rval = this.fromRGB(r, g, b, a); -// this[name] = function () { return rval; }; -// return rval; -// }; -// -// for (var k in colors) { -// var name = k + "Color"; -// var bindArgs = m.concat( -// [makeColor, this.Color, name], -// colors[k] -// ); -// this.Color[name] = m.bind.apply(null, bindArgs); -// } -// -// var isColor = function () { -// for (var i = 0; i < arguments.length; i++) { -// if (!(arguments[i] instanceof Color)) { -// return false; -// } -// } -// return true; -// }; -// -// var compareColor = function (a, b) { -// return a.compareRGB(b); -// }; - - m.nameFunctions(this); - -// m.registerComparator(this.Color.NAME, isColor, compareColor); - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": m.concat(this.EXPORT, this.EXPORT_OK) - }; - - } -}); - -MochiKit.Color.EXPORT = [ - "Color" -]; - -MochiKit.Color.EXPORT_OK = [ - "clampColorComponent", - "rgbToHSL", - "hslToRGB", - "rgbToHSV", - "hsvToRGB", - "toColorPart" -]; - -MochiKit.Color.__new__(); - -MochiKit.Base._exportSymbols(this, MochiKit.Color); - -// Full table of css3 X11 colors - -//MochiKit.Color.Color._namedColors = { -// aliceblue: "#f0f8ff", -// antiquewhite: "#faebd7", -// aqua: "#00ffff", -// aquamarine: "#7fffd4", -// azure: "#f0ffff", -// beige: "#f5f5dc", -// bisque: "#ffe4c4", -// black: "#000000", -// blanchedalmond: "#ffebcd", -// blue: "#0000ff", -// blueviolet: "#8a2be2", -// brown: "#a52a2a", -// burlywood: "#deb887", -// cadetblue: "#5f9ea0", -// chartreuse: "#7fff00", -// chocolate: "#d2691e", -// coral: "#ff7f50", -// cornflowerblue: "#6495ed", -// cornsilk: "#fff8dc", -// crimson: "#dc143c", -// cyan: "#00ffff", -// darkblue: "#00008b", -// darkcyan: "#008b8b", -// darkgoldenrod: "#b8860b", -// darkgray: "#a9a9a9", -// darkgreen: "#006400", -// darkgrey: "#a9a9a9", -// darkkhaki: "#bdb76b", -// darkmagenta: "#8b008b", -// darkolivegreen: "#556b2f", -// darkorange: "#ff8c00", -// darkorchid: "#9932cc", -// darkred: "#8b0000", -// darksalmon: "#e9967a", -// darkseagreen: "#8fbc8f", -// darkslateblue: "#483d8b", -// darkslategray: "#2f4f4f", -// darkslategrey: "#2f4f4f", -// darkturquoise: "#00ced1", -// darkviolet: "#9400d3", -// deeppink: "#ff1493", -// deepskyblue: "#00bfff", -// dimgray: "#696969", -// dimgrey: "#696969", -// dodgerblue: "#1e90ff", -// firebrick: "#b22222", -// floralwhite: "#fffaf0", -// forestgreen: "#228b22", -// fuchsia: "#ff00ff", -// gainsboro: "#dcdcdc", -// ghostwhite: "#f8f8ff", -// gold: "#ffd700", -// goldenrod: "#daa520", -// gray: "#808080", -// green: "#008000", -// greenyellow: "#adff2f", -// grey: "#808080", -// honeydew: "#f0fff0", -// hotpink: "#ff69b4", -// indianred: "#cd5c5c", -// indigo: "#4b0082", -// ivory: "#fffff0", -// khaki: "#f0e68c", -// lavender: "#e6e6fa", -// lavenderblush: "#fff0f5", -// lawngreen: "#7cfc00", -// lemonchiffon: "#fffacd", -// lightblue: "#add8e6", -// lightcoral: "#f08080", -// lightcyan: "#e0ffff", -// lightgoldenrodyellow: "#fafad2", -// lightgray: "#d3d3d3", -// lightgreen: "#90ee90", -// lightgrey: "#d3d3d3", -// lightpink: "#ffb6c1", -// lightsalmon: "#ffa07a", -// lightseagreen: "#20b2aa", -// lightskyblue: "#87cefa", -// lightslategray: "#778899", -// lightslategrey: "#778899", -// lightsteelblue: "#b0c4de", -// lightyellow: "#ffffe0", -// lime: "#00ff00", -// limegreen: "#32cd32", -// linen: "#faf0e6", -// magenta: "#ff00ff", -// maroon: "#800000", -// mediumaquamarine: "#66cdaa", -// mediumblue: "#0000cd", -// mediumorchid: "#ba55d3", -// mediumpurple: "#9370db", -// mediumseagreen: "#3cb371", -// mediumslateblue: "#7b68ee", -// mediumspringgreen: "#00fa9a", -// mediumturquoise: "#48d1cc", -// mediumvioletred: "#c71585", -// midnightblue: "#191970", -// mintcream: "#f5fffa", -// mistyrose: "#ffe4e1", -// moccasin: "#ffe4b5", -// navajowhite: "#ffdead", -// navy: "#000080", -// oldlace: "#fdf5e6", -// olive: "#808000", -// olivedrab: "#6b8e23", -// orange: "#ffa500", -// orangered: "#ff4500", -// orchid: "#da70d6", -// palegoldenrod: "#eee8aa", -// palegreen: "#98fb98", -// paleturquoise: "#afeeee", -// palevioletred: "#db7093", -// papayawhip: "#ffefd5", -// peachpuff: "#ffdab9", -// peru: "#cd853f", -// pink: "#ffc0cb", -// plum: "#dda0dd", -// powderblue: "#b0e0e6", -// purple: "#800080", -// red: "#ff0000", -// rosybrown: "#bc8f8f", -// royalblue: "#4169e1", -// saddlebrown: "#8b4513", -// salmon: "#fa8072", -// sandybrown: "#f4a460", -// seagreen: "#2e8b57", -// seashell: "#fff5ee", -// sienna: "#a0522d", -// silver: "#c0c0c0", -// skyblue: "#87ceeb", -// slateblue: "#6a5acd", -// slategray: "#708090", -// slategrey: "#708090", -// snow: "#fffafa", -// springgreen: "#00ff7f", -// steelblue: "#4682b4", -// tan: "#d2b48c", -// teal: "#008080", -// thistle: "#d8bfd8", -// tomato: "#ff6347", -// turquoise: "#40e0d0", -// violet: "#ee82ee", -// wheat: "#f5deb3", -// white: "#ffffff", -// whitesmoke: "#f5f5f5", -// yellow: "#ffff00", -// yellowgreen: "#9acd32" -//}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Controls.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Controls.js deleted file mode 100644 index f29e3a8ec..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Controls.js +++ /dev/null @@ -1,1284 +0,0 @@ -/*** -Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) - (c) 2005 Ivan Krstic (http://blogs.law.harvard.edu/ivan) - (c) 2005 Jon Tirsen (http://www.tirsen.com) -Contributors: - Richard Livsey - Rahul Bhargava - Rob Wills - Mochi-ized By Thomas Herve (_firstname_@nimail.org) - -See scriptaculous.js for full license. - -Autocompleter.Base handles all the autocompletion functionality -that's independent of the data source for autocompletion. This -includes drawing the autocompletion menu, observing keyboard -and mouse events, and similar. - -Specific autocompleters need to provide, at the very least, -a getUpdatedChoices function that will be invoked every time -the text inside the monitored textbox changes. This method -should get the text for which to provide autocompletion by -invoking this.getToken(), NOT by directly accessing -this.element.value. This is to allow incremental tokenized -autocompletion. Specific auto-completion logic (AJAX, etc) -belongs in getUpdatedChoices. - -Tokenized incremental autocompletion is enabled automatically -when an autocompleter is instantiated with the 'tokens' option -in the options parameter, e.g.: -new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' }); -will incrementally autocomplete with a comma as the token. -Additionally, ',' in the above example can be replaced with -a token array, e.g. { tokens: [',', '\n'] } which -enables autocompletion on multiple tokens. This is most -useful when one of the tokens is \n (a newline), as it -allows smart autocompletion after linebreaks. - -***/ - -MochiKit.Base.update(MochiKit.Base, { - ScriptFragment: '(?:)((\n|\r|.)*?)(?:<\/script>)', - - stripScripts: function (str) { - return str.replace(new RegExp(MochiKit.Base.ScriptFragment, 'img'), ''); - }, - - stripTags: function(str) { - return str.replace(/<\/?[^>]+>/gi, ''); - }, - - extractScripts: function (str) { - var matchAll = new RegExp(MochiKit.Base.ScriptFragment, 'img'); - var matchOne = new RegExp(MochiKit.Base.ScriptFragment, 'im'); - return MochiKit.Base.map(function (scriptTag) { - return (scriptTag.match(matchOne) || ['', ''])[1]; - }, str.match(matchAll) || []); - }, - - evalScripts: function (str) { - return MochiKit.Base.map(function (scr) { - eval(scr); - }, MochiKit.Base.extractScripts(str)); - } -}); - -MochiKit.Form = { - serialize: function (form) { - var elements = MochiKit.Form.getElements(form); - var queryComponents = []; - - for (var i = 0; i < elements.length; i++) { - var queryComponent = MochiKit.Form.serializeElement(elements[i]); - if (queryComponent) { - queryComponents.push(queryComponent); - } - } - - return queryComponents.join('&'); - }, - - getElements: function (form) { - form = MochiKit.DOM.getElement(form); - var elements = []; - - for (tagName in MochiKit.Form.Serializers) { - var tagElements = form.getElementsByTagName(tagName); - for (var j = 0; j < tagElements.length; j++) { - elements.push(tagElements[j]); - } - } - return elements; - }, - - serializeElement: function (element) { - element = MochiKit.DOM.getElement(element); - var method = element.tagName.toLowerCase(); - var parameter = MochiKit.Form.Serializers[method](element); - - if (parameter) { - var key = encodeURIComponent(parameter[0]); - if (key.length === 0) { - return; - } - - if (!(parameter[1] instanceof Array)) { - parameter[1] = [parameter[1]]; - } - - return parameter[1].map(function (value) { - return key + '=' + encodeURIComponent(value); - }).join('&'); - } - } -}; - -MochiKit.Form.Serializers = { - input: function (element) { - switch (element.type.toLowerCase()) { - case 'submit': - case 'hidden': - case 'password': - case 'text': - return MochiKit.Form.Serializers.textarea(element); - case 'checkbox': - case 'radio': - return MochiKit.Form.Serializers.inputSelector(element); - } - return false; - }, - - inputSelector: function (element) { - if (element.checked) { - return [element.name, element.value]; - } - }, - - textarea: function (element) { - return [element.name, element.value]; - }, - - select: function (element) { - return MochiKit.Form.Serializers[element.type == 'select-one' ? - 'selectOne' : 'selectMany'](element); - }, - - selectOne: function (element) { - var value = '', opt, index = element.selectedIndex; - if (index >= 0) { - opt = element.options[index]; - value = opt.value; - if (!value && !('value' in opt)) { - value = opt.text; - } - } - return [element.name, value]; - }, - - selectMany: function (element) { - var value = []; - for (var i = 0; i < element.length; i++) { - var opt = element.options[i]; - if (opt.selected) { - var optValue = opt.value; - if (!optValue && !('value' in opt)) { - optValue = opt.text; - } - value.push(optValue); - } - } - return [element.name, value]; - } -}; - -var Ajax = { - activeRequestCount: 0 -}; - -Ajax.Responders = { - responders: [], - - register: function (responderToAdd) { - if (MochiKit.Base.find(this.responders, responderToAdd) == -1) { - this.responders.push(responderToAdd); - } - }, - - unregister: function (responderToRemove) { - this.responders = this.responders.without(responderToRemove); - }, - - dispatch: function (callback, request, transport, json) { - MochiKit.Iter.forEach(this.responders, function (responder) { - if (responder[callback] && - typeof(responder[callback]) == 'function') { - try { - responder[callback].apply(responder, [request, transport, json]); - } catch (e) {} - } - }); - } -}; - -Ajax.Responders.register({ - onCreate: function () { - Ajax.activeRequestCount++; - }, - - onComplete: function () { - Ajax.activeRequestCount--; - } -}); - -Ajax.Base = function () {}; - -Ajax.Base.prototype = { - setOptions: function (options) { - this.options = { - method: 'post', - asynchronous: true, - parameters: '' - } - MochiKit.Base.update(this.options, options || {}); - }, - - responseIsSuccess: function () { - return this.transport.status == undefined - || this.transport.status === 0 - || (this.transport.status >= 200 && this.transport.status < 300); - }, - - responseIsFailure: function () { - return !this.responseIsSuccess(); - } -}; - -Ajax.Request = function (url, options) { - this.__init__(url, options); -}; - -Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', - 'Interactive', 'Complete']; - -MochiKit.Base.update(Ajax.Request.prototype, Ajax.Base.prototype); - -MochiKit.Base.update(Ajax.Request.prototype, { - __init__: function (url, options) { - this.transport = MochiKit.Async.getXMLHttpRequest(); - this.setOptions(options); - this.request(url); - }, - - request: function (url) { - var parameters = this.options.parameters || ''; - if (parameters.length > 0){ - parameters += '&_='; - } - - try { - this.url = url; - if (this.options.method == 'get' && parameters.length > 0) { - this.url += (this.url.match(/\?/) ? '&' : '?') + parameters; - } - Ajax.Responders.dispatch('onCreate', this, this.transport); - - this.transport.open(this.options.method, this.url, - this.options.asynchronous); - - if (this.options.asynchronous) { - this.transport.onreadystatechange = MochiKit.Base.bind(this.onStateChange, this); - setTimeout(MochiKit.Base.bind(function () { - this.respondToReadyState(1); - }, this), 10); - } - - this.setRequestHeaders(); - - var body = this.options.postBody ? this.options.postBody : parameters; - this.transport.send(this.options.method == 'post' ? body : null); - - } catch (e) { - this.dispatchException(e); - } - }, - - setRequestHeaders: function () { - var requestHeaders = ['X-Requested-With', 'XMLHttpRequest']; - - if (this.options.method == 'post') { - requestHeaders.push('Content-type', - 'application/x-www-form-urlencoded'); - - /* Force 'Connection: close' for Mozilla browsers to work around - * a bug where XMLHttpRequest sends an incorrect Content-length - * header. See Mozilla Bugzilla #246651. - */ - if (this.transport.overrideMimeType) { - requestHeaders.push('Connection', 'close'); - } - } - - if (this.options.requestHeaders) { - requestHeaders.push.apply(requestHeaders, this.options.requestHeaders); - } - - for (var i = 0; i < requestHeaders.length; i += 2) { - this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]); - } - }, - - onStateChange: function () { - var readyState = this.transport.readyState; - if (readyState != 1) { - this.respondToReadyState(this.transport.readyState); - } - }, - - header: function (name) { - try { - return this.transport.getResponseHeader(name); - } catch (e) {} - }, - - evalJSON: function () { - try { - return eval(this.header('X-JSON')); - } catch (e) {} - }, - - evalResponse: function () { - try { - return eval(this.transport.responseText); - } catch (e) { - this.dispatchException(e); - } - }, - - respondToReadyState: function (readyState) { - var event = Ajax.Request.Events[readyState]; - var transport = this.transport, json = this.evalJSON(); - - if (event == 'Complete') { - try { - (this.options['on' + this.transport.status] - || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')] - || MochiKit.Base.noop)(transport, json); - } catch (e) { - this.dispatchException(e); - } - - if ((this.header('Content-type') || '').match(/^text\/javascript/i)) { - this.evalResponse(); - } - } - - try { - (this.options['on' + event] || MochiKit.Base.noop)(transport, json); - Ajax.Responders.dispatch('on' + event, this, transport, json); - } catch (e) { - this.dispatchException(e); - } - - /* Avoid memory leak in MSIE: clean up the oncomplete event handler */ - if (event == 'Complete') { - this.transport.onreadystatechange = MochiKit.Base.noop; - } - }, - - dispatchException: function (exception) { - (this.options.onException || MochiKit.Base.noop)(this, exception); - Ajax.Responders.dispatch('onException', this, exception); - } -}); - -Ajax.Updater = function (container, url, options) { - this.__init__(container, url, options); -}; - -MochiKit.Base.update(Ajax.Updater.prototype, Ajax.Request.prototype); - -MochiKit.Base.update(Ajax.Updater.prototype, { - __init__: function (container, url, options) { - this.containers = { - success: container.success ? MochiKit.DOM.getElement(container.success) : MochiKit.DOM.getElement(container), - failure: container.failure ? MochiKit.DOM.getElement(container.failure) : - (container.success ? null : MochiKit.DOM.getElement(container)) - } - this.transport = MochiKit.Async.getXMLHttpRequest(); - this.setOptions(options); - - var onComplete = this.options.onComplete || MochiKit.Base.noop; - this.options.onComplete = MochiKit.Base.bind(function (transport, object) { - this.updateContent(); - onComplete(transport, object); - }, this); - - this.request(url); - }, - - updateContent: function () { - var receiver = this.responseIsSuccess() ? - this.containers.success : this.containers.failure; - var response = this.transport.responseText; - - if (!this.options.evalScripts) { - response = MochiKit.Base.stripScripts(response); - } - - if (receiver) { - if (this.options.insertion) { - new this.options.insertion(receiver, response); - } else { - MochiKit.DOM.getElement(receiver).innerHTML = - MochiKit.Base.stripScripts(response); - setTimeout(function () { - MochiKit.Base.evalScripts(response); - }, 10); - } - } - - if (this.responseIsSuccess()) { - if (this.onComplete) { - setTimeout(MochiKit.Base.bind(this.onComplete, this), 10); - } - } - } -}); - -var Field = { - clear: function () { - for (var i = 0; i < arguments.length; i++) { - MochiKit.DOM.getElement(arguments[i]).value = ''; - } - }, - - focus: function (element) { - MochiKit.DOM.getElement(element).focus(); - }, - - present: function () { - for (var i = 0; i < arguments.length; i++) { - if (MochiKit.DOM.getElement(arguments[i]).value == '') { - return false; - } - } - return true; - }, - - select: function (element) { - MochiKit.DOM.getElement(element).select(); - }, - - activate: function (element) { - element = MochiKit.DOM.getElement(element); - element.focus(); - if (element.select) { - element.select(); - } - }, - - scrollFreeActivate: function (field) { - setTimeout(function () { - Field.activate(field); - }, 1); - } -}; - -var Autocompleter = {}; - -Autocompleter.Base = function () {}; - -Autocompleter.Base.prototype = { - baseInitialize: function (element, update, options) { - this.element = MochiKit.DOM.getElement(element); - this.update = MochiKit.DOM.getElement(update); - this.hasFocus = false; - this.changed = false; - this.active = false; - this.index = 0; - this.entryCount = 0; - - if (this.setOptions) { - this.setOptions(options); - } - else { - this.options = options || {}; - } - - this.options.paramName = this.options.paramName || this.element.name; - this.options.tokens = this.options.tokens || []; - this.options.frequency = this.options.frequency || 0.4; - this.options.minChars = this.options.minChars || 1; - this.options.onShow = this.options.onShow || function (element, update) { - if (!update.style.position || update.style.position == 'absolute') { - update.style.position = 'absolute'; - MochiKit.Position.clone(element, update, { - setHeight: false, - offsetTop: element.offsetHeight - }); - } - MochiKit.Visual.appear(update, {duration:0.15}); - }; - this.options.onHide = this.options.onHide || function (element, update) { - MochiKit.Visual.fade(update, {duration: 0.15}); - }; - - if (typeof(this.options.tokens) == 'string') { - this.options.tokens = new Array(this.options.tokens); - } - - this.observer = null; - - this.element.setAttribute('autocomplete', 'off'); - - MochiKit.Style.hideElement(this.update); - - MochiKit.Signal.connect(this.element, 'onblur', this, this.onBlur); - MochiKit.Signal.connect(this.element, 'onkeypress', this, this.onKeyPress, this); - }, - - show: function () { - if (MochiKit.DOM.getStyle(this.update, 'display') == 'none') { - this.options.onShow(this.element, this.update); - } - if (!this.iefix && MochiKit.Base.isIE() && MochiKit.Base.isOpera() && - (MochiKit.DOM.getStyle(this.update, 'position') == 'absolute')) { - new Insertion.After(this.update, - ''); - this.iefix = MochiKit.DOM.getElement(this.update.id + '_iefix'); - } - if (this.iefix) { - setTimeout(MochiKit.Base.bind(this.fixIEOverlapping, this), 50); - } - }, - - fixIEOverlapping: function () { - MochiKit.Position.clone(this.update, this.iefix); - this.iefix.style.zIndex = 1; - this.update.style.zIndex = 2; - MochiKit.Style.showElement(this.iefix); - }, - - hide: function () { - this.stopIndicator(); - if (MochiKit.DOM.getStyle(this.update, 'display') != 'none') { - this.options.onHide(this.element, this.update); - } - if (this.iefix) { - MochiKit.Style.hideElement(this.iefix); - } - }, - - startIndicator: function () { - if (this.options.indicator) { - MochiKit.Style.showElement(this.options.indicator); - } - }, - - stopIndicator: function () { - if (this.options.indicator) { - MochiKit.Style.hideElement(this.options.indicator); - } - }, - - onKeyPress: function (event) { - if (this.active) { - if (event.keyString == "KEY_TAB" || event.keyString == "KEY_RETURN") { - this.selectEntry(); - MochiKit.Event.stop(event); - } else if (event.keyString == "KEY_ESCAPE") { - this.hide(); - this.active = false; - MochiKit.Event.stop(event); - return; - } else if (event.keyString == "KEY_LEFT" || event.keyString == "KEY_RIGHT") { - return; - } else if (event.keyString == "KEY_UP") { - this.markPrevious(); - this.render(); - if (MochiKit.Base.isSafari()) { - event.stop(); - } - return; - } else if (event.keyString == "KEY_DOWN") { - this.markNext(); - this.render(); - if (MochiKit.Base.isSafari()) { - event.stop(); - } - return; - } - } else { - if (event.keyString == "KEY_TAB" || event.keyString == "KEY_RETURN") { - return; - } - } - - this.changed = true; - this.hasFocus = true; - - if (this.observer) { - clearTimeout(this.observer); - } - this.observer = setTimeout(MochiKit.Base.bind(this.onObserverEvent, this), - this.options.frequency*1000); - }, - - findElement: function (event, tagName) { - var element = event.target; - while (element.parentNode && (!element.tagName || - (element.tagName.toUpperCase() != tagName.toUpperCase()))) { - element = element.parentNode; - } - return element; - }, - - onHover: function (event) { - var element = this.findElement(event, 'LI'); - if (this.index != element.autocompleteIndex) { - this.index = element.autocompleteIndex; - this.render(); - } - event.stop(); - }, - - onClick: function (event) { - var element = this.findElement(event, 'LI'); - this.index = element.autocompleteIndex; - this.selectEntry(); - this.hide(); - }, - - onBlur: function (event) { - // needed to make click events working - setTimeout(MochiKit.Base.bind(this.hide, this), 250); - this.hasFocus = false; - this.active = false; - }, - - render: function () { - if (this.entryCount > 0) { - for (var i = 0; i < this.entryCount; i++) { - this.index == i ? - MochiKit.DOM.addElementClass(this.getEntry(i), 'selected') : - MochiKit.DOM.removeElementClass(this.getEntry(i), 'selected'); - } - if (this.hasFocus) { - this.show(); - this.active = true; - } - } else { - this.active = false; - this.hide(); - } - }, - - markPrevious: function () { - if (this.index > 0) { - this.index-- - } else { - this.index = this.entryCount-1; - } - }, - - markNext: function () { - if (this.index < this.entryCount-1) { - this.index++ - } else { - this.index = 0; - } - }, - - getEntry: function (index) { - return this.update.firstChild.childNodes[index]; - }, - - getCurrentEntry: function () { - return this.getEntry(this.index); - }, - - selectEntry: function () { - this.active = false; - this.updateElement(this.getCurrentEntry()); - }, - - collectTextNodesIgnoreClass: function (element, className) { - return MochiKit.Base.flattenArray(MochiKit.Base.map(function (node) { - if (node.nodeType == 3) { - return node.nodeValue; - } else if (node.hasChildNodes() && !MochiKit.DOM.hasElementClass(node, className)) { - return this.collectTextNodesIgnoreClass(node, className); - } - return ''; - }, MochiKit.DOM.getElement(element).childNodes)).join(''); - }, - - updateElement: function (selectedElement) { - if (this.options.updateElement) { - this.options.updateElement(selectedElement); - return; - } - var value = ''; - if (this.options.select) { - var nodes = document.getElementsByClassName(this.options.select, selectedElement) || []; - if (nodes.length > 0) { - value = MochiKit.DOM.scrapeText(nodes[0]); - } - } else { - value = this.collectTextNodesIgnoreClass(selectedElement, 'informal'); - } - var lastTokenPos = this.findLastToken(); - if (lastTokenPos != -1) { - var newValue = this.element.value.substr(0, lastTokenPos + 1); - var whitespace = this.element.value.substr(lastTokenPos + 1).match(/^\s+/); - if (whitespace) { - newValue += whitespace[0]; - } - this.element.value = newValue + value; - } else { - this.element.value = value; - } - this.element.focus(); - - if (this.options.afterUpdateElement) { - this.options.afterUpdateElement(this.element, selectedElement); - } - }, - - updateChoices: function (choices) { - if (!this.changed && this.hasFocus) { - this.update.innerHTML = choices; - var d = MochiKit.DOM; - d.removeEmptyTextNodes(this.update); - d.removeEmptyTextNodes(this.update.firstChild); - - if (this.update.firstChild && this.update.firstChild.childNodes) { - this.entryCount = this.update.firstChild.childNodes.length; - for (var i = 0; i < this.entryCount; i++) { - var entry = this.getEntry(i); - entry.autocompleteIndex = i; - this.addObservers(entry); - } - } else { - this.entryCount = 0; - } - - this.stopIndicator(); - - this.index = 0; - this.render(); - } - }, - - addObservers: function (element) { - MochiKit.Signal.connect(element, 'onmouseover', this, this.onHover); - MochiKit.Signal.connect(element, 'onclick', this, this.onClick); - }, - - onObserverEvent: function () { - this.changed = false; - if (this.getToken().length >= this.options.minChars) { - this.startIndicator(); - this.getUpdatedChoices(); - } else { - this.active = false; - this.hide(); - } - }, - - getToken: function () { - var tokenPos = this.findLastToken(); - if (tokenPos != -1) { - var ret = this.element.value.substr(tokenPos + 1).replace(/^\s+/,'').replace(/\s+$/,''); - } else { - var ret = this.element.value; - } - return /\n/.test(ret) ? '' : ret; - }, - - findLastToken: function () { - var lastTokenPos = -1; - - for (var i = 0; i < this.options.tokens.length; i++) { - var thisTokenPos = this.element.value.lastIndexOf(this.options.tokens[i]); - if (thisTokenPos > lastTokenPos) { - lastTokenPos = thisTokenPos; - } - } - return lastTokenPos; - } -} - -Ajax.Autocompleter = function (element, update, url, options) { - this.__init__(element, update, url, options); -}; - -MochiKit.Base.update(Ajax.Autocompleter.prototype, Autocompleter.Base.prototype); - -MochiKit.Base.update(Ajax.Autocompleter.prototype, { - __init__: function (element, update, url, options) { - this.baseInitialize(element, update, options); - this.options.asynchronous = true; - this.options.onComplete = MochiKit.Base.bind(this.onComplete, this); - this.options.defaultParams = this.options.parameters || null; - this.url = url; - }, - - getUpdatedChoices: function () { - var entry = encodeURIComponent(this.options.paramName) + '=' + - encodeURIComponent(this.getToken()); - - this.options.parameters = this.options.callback ? - this.options.callback(this.element, entry) : entry; - - if (this.options.defaultParams) { - this.options.parameters += '&' + this.options.defaultParams; - } - new Ajax.Request(this.url, this.options); - }, - - onComplete: function (request) { - this.updateChoices(request.responseText); - } -}); - -/*** - -The local array autocompleter. Used when you'd prefer to -inject an array of autocompletion options into the page, rather -than sending out Ajax queries, which can be quite slow sometimes. - -The constructor takes four parameters. The first two are, as usual, -the id of the monitored textbox, and id of the autocompletion menu. -The third is the array you want to autocomplete from, and the fourth -is the options block. - -Extra local autocompletion options: -- choices - How many autocompletion choices to offer - -- partialSearch - If false, the autocompleter will match entered - text only at the beginning of strings in the - autocomplete array. Defaults to true, which will - match text at the beginning of any *word* in the - strings in the autocomplete array. If you want to - search anywhere in the string, additionally set - the option fullSearch to true (default: off). - -- fullSsearch - Search anywhere in autocomplete array strings. - -- partialChars - How many characters to enter before triggering - a partial match (unlike minChars, which defines - how many characters are required to do any match - at all). Defaults to 2. - -- ignoreCase - Whether to ignore case when autocompleting. - Defaults to true. - -It's possible to pass in a custom function as the 'selector' -option, if you prefer to write your own autocompletion logic. -In that case, the other options above will not apply unless -you support them. - -***/ - -Autocompleter.Local = function (element, update, array, options) { - this.__init__(element, update, array, options); -}; - -MochiKit.Base.update(Autocompleter.Local.prototype, Autocompleter.Base.prototype); - -MochiKit.Base.update(Autocompleter.Local.prototype, { - __init__: function (element, update, array, options) { - this.baseInitialize(element, update, options); - this.options.array = array; - }, - - getUpdatedChoices: function () { - this.updateChoices(this.options.selector(this)); - }, - - setOptions: function (options) { - this.options = MochiKit.Base.update({ - choices: 10, - partialSearch: true, - partialChars: 2, - ignoreCase: true, - fullSearch: false, - selector: function (instance) { - var ret = []; // Beginning matches - var partial = []; // Inside matches - var entry = instance.getToken(); - var count = 0; - - for (var i = 0; i < instance.options.array.length && - ret.length < instance.options.choices ; i++) { - - var elem = instance.options.array[i]; - var foundPos = instance.options.ignoreCase ? - elem.toLowerCase().indexOf(entry.toLowerCase()) : - elem.indexOf(entry); - - while (foundPos != -1) { - if (foundPos === 0 && elem.length != entry.length) { - ret.push('
  • ' + elem.substr(0, entry.length) + '' + - elem.substr(entry.length) + '
  • '); - break; - } else if (entry.length >= instance.options.partialChars && - instance.options.partialSearch && foundPos != -1) { - if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos - 1, 1))) { - partial.push('
  • ' + elem.substr(0, foundPos) + '' + - elem.substr(foundPos, entry.length) + '' + elem.substr( - foundPos + entry.length) + '
  • '); - break; - } - } - - foundPos = instance.options.ignoreCase ? - elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : - elem.indexOf(entry, foundPos + 1); - - } - } - if (partial.length) { - ret = ret.concat(partial.slice(0, instance.options.choices - ret.length)) - } - return '
      ' + ret.join('') + '
    '; - } - }, options || {}); - } -}); - -/*** - -AJAX in-place editor - -see documentation on http://wiki.script.aculo.us/scriptaculous/show/Ajax.InPlaceEditor - -Use this if you notice weird scrolling problems on some browsers, -the DOM might be a bit confused when this gets called so do this -waits 1 ms (with setTimeout) until it does the activation - -***/ - -Ajax.InPlaceEditor = function (element, url, options) { - this.__init__(element, url, options); -}; - -Ajax.InPlaceEditor.defaultHighlightColor = '#FFFF99'; - -Ajax.InPlaceEditor.prototype = { - __init__: function (element, url, options) { - this.url = url; - this.element = MochiKit.DOM.getElement(element); - - this.options = MochiKit.Base.update({ - okButton: true, - okText: 'ok', - cancelLink: true, - cancelText: 'cancel', - savingText: 'Saving...', - clickToEditText: 'Click to edit', - okText: 'ok', - rows: 1, - onComplete: function (transport, element) { - new MochiKit.Visual.Highlight(element, {startcolor: this.options.highlightcolor}); - }, - onFailure: function (transport) { - alert('Error communicating with the server: ' + MochiKit.Base.stripTags(transport.responseText)); - }, - callback: function (form) { - return MochiKit.DOM.formContents(form); - }, - handleLineBreaks: true, - loadingText: 'Loading...', - savingClassName: 'inplaceeditor-saving', - loadingClassName: 'inplaceeditor-loading', - formClassName: 'inplaceeditor-form', - highlightcolor: Ajax.InPlaceEditor.defaultHighlightColor, - highlightendcolor: '#FFFFFF', - externalControl: null, - submitOnBlur: false, - ajaxOptions: {} - }, options || {}); - - if (!this.options.formId && this.element.id) { - this.options.formId = this.element.id + '-inplaceeditor'; - if (MochiKit.DOM.getElement(this.options.formId)) { - // there's already a form with that name, don't specify an id - this.options.formId = null; - } - } - - if (this.options.externalControl) { - this.options.externalControl = MochiKit.DOM.getElement(this.options.externalControl); - } - - this.originalBackground = MochiKit.DOM.getStyle(this.element, 'background-color'); - if (!this.originalBackground) { - this.originalBackground = 'transparent'; - } - - this.element.title = this.options.clickToEditText; - - this.onclickListener = MochiKit.Signal.connect(this.element, 'onclick', this, this.enterEditMode); - this.mouseoverListener = MochiKit.Signal.connect(this.element, 'onmouseover', this, this.enterHover); - this.mouseoutListener = MochiKit.Signal.connect(this.element, 'onmouseout', this, this.leaveHover); - if (this.options.externalControl) { - this.onclickListenerExternal = MochiKit.Signal.connect(this.options.externalControl, - 'onclick', this, this.enterEditMode); - this.mouseoverListenerExternal = MochiKit.Signal.connect(this.options.externalControl, - 'onmouseover', this, this.enterHover); - this.mouseoutListenerExternal = MochiKit.Signal.connect(this.options.externalControl, - 'onmouseout', this, this.leaveHover); - } - }, - - enterEditMode: function (evt) { - if (this.saving) { - return; - } - if (this.editing) { - return; - } - this.editing = true; - this.onEnterEditMode(); - if (this.options.externalControl) { - MochiKit.Style.hideElement(this.options.externalControl); - } - MochiKit.Style.hideElement(this.element); - this.createForm(); - this.element.parentNode.insertBefore(this.form, this.element); - Field.scrollFreeActivate(this.editField); - // stop the event to avoid a page refresh in Safari - if (evt) { - evt.stop(); - } - return false; - }, - - createForm: function () { - this.form = document.createElement('form'); - this.form.id = this.options.formId; - MochiKit.DOM.addElementClass(this.form, this.options.formClassName) - this.form.onsubmit = MochiKit.Base.bind(this.onSubmit, this); - - this.createEditField(); - - if (this.options.textarea) { - var br = document.createElement('br'); - this.form.appendChild(br); - } - - if (this.options.okButton) { - okButton = document.createElement('input'); - okButton.type = 'submit'; - okButton.value = this.options.okText; - this.form.appendChild(okButton); - } - - if (this.options.cancelLink) { - cancelLink = document.createElement('a'); - cancelLink.href = '#'; - cancelLink.appendChild(document.createTextNode(this.options.cancelText)); - cancelLink.onclick = MochiKit.Base.bind(this.onclickCancel, this); - this.form.appendChild(cancelLink); - } - }, - - hasHTMLLineBreaks: function (string) { - if (!this.options.handleLineBreaks) { - return false; - } - return string.match(/
    /i); - }, - - convertHTMLLineBreaks: function (string) { - return string.replace(/
    /gi, '\n').replace(//gi, '\n').replace(/<\/p>/gi, '\n').replace(/

    /gi, ''); - }, - - createEditField: function () { - var text; - if (this.options.loadTextURL) { - text = this.options.loadingText; - } else { - text = this.getText(); - } - - var obj = this; - - if (this.options.rows == 1 && !this.hasHTMLLineBreaks(text)) { - this.options.textarea = false; - var textField = document.createElement('input'); - textField.obj = this; - textField.type = 'text'; - textField.name = 'value'; - textField.value = text; - textField.style.backgroundColor = this.options.highlightcolor; - var size = this.options.size || this.options.cols || 0; - if (size !== 0) { - textField.size = size; - } - if (this.options.submitOnBlur) { - textField.onblur = MochiKit.Base.bind(this.onSubmit, this); - } - this.editField = textField; - } else { - this.options.textarea = true; - var textArea = document.createElement('textarea'); - textArea.obj = this; - textArea.name = 'value'; - textArea.value = this.convertHTMLLineBreaks(text); - textArea.rows = this.options.rows; - textArea.cols = this.options.cols || 40; - if (this.options.submitOnBlur) { - textArea.onblur = MochiKit.Base.bind(this.onSubmit, this); - } - this.editField = textArea; - } - - if (this.options.loadTextURL) { - this.loadExternalText(); - } - this.form.appendChild(this.editField); - }, - - getText: function () { - return this.element.innerHTML; - }, - - loadExternalText: function () { - MochiKit.DOM.addElementClass(this.form, this.options.loadingClassName); - this.editField.disabled = true; - new Ajax.Request( - this.options.loadTextURL, - MochiKit.Base.update({ - asynchronous: true, - onComplete: MochiKit.Base.bind(this.onLoadedExternalText, this) - }, this.options.ajaxOptions) - ); - }, - - onLoadedExternalText: function (transport) { - MochiKit.DOM.removeElementClass(this.form, this.options.loadingClassName); - this.editField.disabled = false; - this.editField.value = MochiKit.Base.stripTags(transport); - }, - - onclickCancel: function () { - this.onComplete(); - this.leaveEditMode(); - return false; - }, - - onFailure: function (transport) { - this.options.onFailure(transport); - if (this.oldInnerHTML) { - this.element.innerHTML = this.oldInnerHTML; - this.oldInnerHTML = null; - } - return false; - }, - - onSubmit: function () { - // onLoading resets these so we need to save them away for the Ajax call - var form = this.form; - var value = this.editField.value; - - // do this first, sometimes the ajax call returns before we get a - // chance to switch on Saving which means this will actually switch on - // Saving *after* we have left edit mode causing Saving to be - // displayed indefinitely - this.onLoading(); - - new Ajax.Updater( - { - success: this.element, - // dont update on failure (this could be an option) - failure: null - }, - this.url, - MochiKit.Base.update({ - parameters: this.options.callback(form, value), - onComplete: MochiKit.Base.bind(this.onComplete, this), - onFailure: MochiKit.Base.bind(this.onFailure, this) - }, this.options.ajaxOptions) - ); - // stop the event to avoid a page refresh in Safari - if (arguments.length > 1) { - arguments[0].stop(); - } - return false; - }, - - onLoading: function () { - this.saving = true; - this.removeForm(); - this.leaveHover(); - this.showSaving(); - }, - - showSaving: function () { - this.oldInnerHTML = this.element.innerHTML; - this.element.innerHTML = this.options.savingText; - MochiKit.DOM.addElementClass(this.element, this.options.savingClassName); - this.element.style.backgroundColor = this.originalBackground; - MochiKit.Style.showElement(this.element); - }, - - removeForm: function () { - if (this.form) { - if (this.form.parentNode) { - MochiKit.DOM.removeElement(this.form); - } - this.form = null; - } - }, - - enterHover: function () { - if (this.saving) { - return; - } - this.element.style.backgroundColor = this.options.highlightcolor; - if (this.effect) { - this.effect.cancel(); - } - MochiKit.DOM.addElementClass(this.element, this.options.hoverClassName) - }, - - leaveHover: function () { - if (this.options.backgroundColor) { - this.element.style.backgroundColor = this.oldBackground; - } - MochiKit.DOM.removeElementClass(this.element, this.options.hoverClassName) - if (this.saving) { - return; - } - this.effect = new MochiKit.Visual.Highlight(this.element, { - startcolor: this.options.highlightcolor, - endcolor: this.options.highlightendcolor, - restorecolor: this.originalBackground - }); - }, - - leaveEditMode: function () { - MochiKit.DOM.removeElementClass(this.element, this.options.savingClassName); - this.removeForm(); - this.leaveHover(); - this.element.style.backgroundColor = this.originalBackground; - MochiKit.Style.showElement(this.element); - if (this.options.externalControl) { - MochiKit.Style.showElement(this.options.externalControl); - } - this.editing = false; - this.saving = false; - this.oldInnerHTML = null; - this.onLeaveEditMode(); - }, - - onComplete: function (transport) { - this.leaveEditMode(); - MochiKit.Base.bind(this.options.onComplete, this)(transport, this.element); - }, - - onEnterEditMode: function () {}, - - onLeaveEditMode: function () {}, - - dispose: function () { - if (this.oldInnerHTML) { - this.element.innerHTML = this.oldInnerHTML; - } - this.leaveEditMode(); - MochiKit.Signal.disconnect(this.onclickListener); - MochiKit.Signal.disconnect(this.mouseoverListener); - MochiKit.Signal.disconnect(this.mouseoutListener); - if (this.options.externalControl) { - MochiKit.Signal.disconnect(this.onclickListenerExternal); - MochiKit.Signal.disconnect(this.mouseoverListenerExternal); - MochiKit.Signal.disconnect(this.mouseoutListenerExternal); - } - } -}; - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DOM.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DOM.js deleted file mode 100644 index b3771c095..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DOM.js +++ /dev/null @@ -1,926 +0,0 @@ -/*** - -MochiKit.DOM 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide("MochiKit.DOM"); - dojo.require("MochiKit.Base"); -} -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.DOM depends on MochiKit.Base!"; -} - -if (typeof(MochiKit.DOM) == 'undefined') { - MochiKit.DOM = {}; -} - -MochiKit.DOM.NAME = "MochiKit.DOM"; -MochiKit.DOM.VERSION = "1.4"; -MochiKit.DOM.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; -MochiKit.DOM.toString = function () { - return this.__repr__(); -}; - -MochiKit.DOM.EXPORT = [ - "removeEmptyTextNodes", - "formContents", - "currentWindow", - "currentDocument", - "withWindow", - "withDocument", - "registerDOMConverter", - "coerceToDOM", - "createDOM", - "createDOMFunc", - "getNodeAttribute", - "setNodeAttribute", - "updateNodeAttributes", - "appendChildNodes", - "replaceChildNodes", - "removeElement", - "swapDOM", - "BUTTON", - "TT", - "PRE", - "H1", - "H2", - "H3", - "BR", - "CANVAS", - "HR", - "LABEL", - "TEXTAREA", - "FORM", - "STRONG", - "SELECT", - "OPTION", - "OPTGROUP", - "LEGEND", - "FIELDSET", - "P", - "UL", - "OL", - "LI", - "TD", - "TR", - "THEAD", - "TBODY", - "TFOOT", - "TABLE", - "TH", - "INPUT", - "SPAN", - "A", - "DIV", - "IMG", - "getElement", - "$", - "getElementsByTagAndClassName", - "addToCallStack", - "addLoadEvent", - "focusOnLoad", - "setElementClass", - "toggleElementClass", - "addElementClass", - "removeElementClass", - "swapElementClass", - "hasElementClass", - "escapeHTML", - "toHTML", - "emitHTML", - "scrapeText" -]; - -MochiKit.DOM.EXPORT_OK = [ - "domConverters" -]; - -MochiKit.DOM.DEPRECATED = [ - ['computedStyle', 'MochiKit.Style.computedStyle', '1.4'], - ['elementDimensions', 'MochiKit.Style.getElementDimensions', '1.4'], - ['elementPosition', 'MochiKit.Style.getElementPosition', '1.4'], - ['hideElement', 'MochiKit.Style.hideElement', '1.4'], - ['setElementDimensions', 'MochiKit.Style.setElementDimensions', '1.4'], - ['setElementPosition', 'MochiKit.Style.setElementPosition', '1.4'], - ['setDisplayForElement', 'MochiKit.Style.setDisplayForElement', '1.4'], - ['setOpacity', 'MochiKit.Style.setOpacity', '1.4'], - ['showElement', 'MochiKit.Style.showElement', '1.4'], - ['Coordinates', 'MochiKit.Style.Coordinates', '1.4'], // FIXME: broken - ['Dimensions', 'MochiKit.Style.Dimensions', '1.4'] // FIXME: broken -]; - -MochiKit.DOM.getViewportDimensions = new Function('' + - 'if (!MochiKit["Style"]) {' + - ' throw new Error("This function has been deprecated and depends on MochiKit.Style.");' + - '}' + - 'return MochiKit.Style.getViewportDimensions.apply(this, arguments);'); - -MochiKit.Base.update(MochiKit.DOM, { - - currentWindow: function () { - return MochiKit.DOM._window; - }, - - currentDocument: function () { - return MochiKit.DOM._document; - }, - - withWindow: function (win, func) { - var self = MochiKit.DOM; - var oldDoc = self._document; - var oldWin = self._win; - var rval; - try { - self._window = win; - self._document = win.document; - rval = func(); - } catch (e) { - self._window = oldWin; - self._document = oldDoc; - throw e; - } - self._window = oldWin; - self._document = oldDoc; - return rval; - }, - - formContents: function (elem/* = document */) { - var names = []; - var values = []; - var m = MochiKit.Base; - var self = MochiKit.DOM; - if (typeof(elem) == "undefined" || elem === null) { - elem = self._document; - } else { - elem = self.getElement(elem); - } - m.nodeWalk(elem, function (elem) { - var name = elem.name; - if (m.isNotEmpty(name)) { - var tagName = elem.nodeName; - if (tagName == "INPUT" - && (elem.type == "radio" || elem.type == "checkbox") - && !elem.checked - ) { - return null; - } - if (tagName == "SELECT") { - if (elem.type == "select-one") { - if (elem.selectedIndex >= 0) { - var opt = elem.options[elem.selectedIndex]; - names.push(name); - values.push((opt.value) ? opt.value : opt.text); - return null; - } - // no form elements? - names.push(name); - values.push(""); - return null; - } else { - var opts = elem.options; - if (!opts.length) { - names.push(name); - values.push(""); - return null; - } - for (var i = 0; i < opts.length; i++) { - var opt = opts[i]; - if (!opt.selected) { - continue; - } - names.push(name); - values.push((opt.value) ? opt.value : opt.text); - } - return null; - } - } - if (tagName == "FORM" || tagName == "P" || tagName == "SPAN" - || tagName == "DIV" - ) { - return elem.childNodes; - } - names.push(name); - values.push(elem.value || ''); - return null; - } - return elem.childNodes; - }); - return [names, values]; - }, - - withDocument: function (doc, func) { - var self = MochiKit.DOM; - var oldDoc = self._document; - var rval; - try { - self._document = doc; - rval = func(); - } catch (e) { - self._document = oldDoc; - throw e; - } - self._document = oldDoc; - return rval; - }, - - registerDOMConverter: function (name, check, wrap, /* optional */override) { - MochiKit.DOM.domConverters.register(name, check, wrap, override); - }, - - coerceToDOM: function (node, ctx) { - var m = MochiKit.Base; - var im = MochiKit.Iter; - var self = MochiKit.DOM; - if (im) { - var iter = im.iter; - var repeat = im.repeat; - var map = m.map; - } - var domConverters = self.domConverters; - var coerceToDOM = arguments.callee; - var NotFound = m.NotFound; - while (true) { - if (typeof(node) == 'undefined' || node === null) { - return null; - } - if (typeof(node.nodeType) != 'undefined' && node.nodeType > 0) { - return node; - } - if (typeof(node) == 'number' || typeof(node) == 'boolean') { - node = node.toString(); - // FALL THROUGH - } - if (typeof(node) == 'string') { - return self._document.createTextNode(node); - } - if (typeof(node.__dom__) == 'function') { - node = node.__dom__(ctx); - continue; - } - if (typeof(node.dom) == 'function') { - node = node.dom(ctx); - continue; - } - if (typeof(node) == 'function') { - node = node.apply(ctx, [ctx]); - continue; - } - - if (im) { - // iterable - var iterNodes = null; - try { - iterNodes = iter(node); - } catch (e) { - // pass - } - if (iterNodes) { - return map(coerceToDOM, iterNodes, repeat(ctx)); - } - } - - // adapter - try { - node = domConverters.match(node, ctx); - continue; - } catch (e) { - if (e != NotFound) { - throw e; - } - } - - // fallback - return self._document.createTextNode(node.toString()); - } - // mozilla warnings aren't too bright - return undefined; - }, - - setNodeAttribute: function (node, attr, value) { - var o = {}; - o[attr] = value; - try { - return MochiKit.DOM.updateNodeAttributes(node, o); - } catch (e) { - // pass - } - return null; - }, - - getNodeAttribute: function (node, attr) { - var self = MochiKit.DOM; - var rename = self.attributeArray.renames[attr]; - node = self.getElement(node); - try { - if (rename) { - return node[rename]; - } - return node.getAttribute(attr); - } catch (e) { - // pass - } - return null; - }, - - updateNodeAttributes: function (node, attrs) { - var elem = node; - var self = MochiKit.DOM; - if (typeof(node) == 'string') { - elem = self.getElement(node); - } - if (attrs) { - var updatetree = MochiKit.Base.updatetree; - if (self.attributeArray.compliant) { - // not IE, good. - for (var k in attrs) { - var v = attrs[k]; - if (typeof(v) == 'object' && typeof(elem[k]) == 'object') { - updatetree(elem[k], v); - } else if (k.substring(0, 2) == "on") { - if (typeof(v) == "string") { - v = new Function(v); - } - elem[k] = v; - } else { - elem.setAttribute(k, v); - } - } - } else { - // IE is insane in the membrane - var renames = self.attributeArray.renames; - for (k in attrs) { - v = attrs[k]; - var renamed = renames[k]; - if (k == "style" && typeof(v) == "string") { - elem.style.cssText = v; - } else if (typeof(renamed) == "string") { - elem[renamed] = v; - } else if (typeof(elem[k]) == 'object' - && typeof(v) == 'object') { - updatetree(elem[k], v); - } else if (k.substring(0, 2) == "on") { - if (typeof(v) == "string") { - v = new Function(v); - } - elem[k] = v; - } else { - elem.setAttribute(k, v); - } - } - } - } - return elem; - }, - - appendChildNodes: function (node/*, nodes...*/) { - var elem = node; - var self = MochiKit.DOM; - if (typeof(node) == 'string') { - elem = self.getElement(node); - } - var nodeStack = [ - self.coerceToDOM( - MochiKit.Base.extend(null, arguments, 1), - elem - ) - ]; - var concat = MochiKit.Base.concat; - while (nodeStack.length) { - var n = nodeStack.shift(); - if (typeof(n) == 'undefined' || n === null) { - // pass - } else if (typeof(n.nodeType) == 'number') { - elem.appendChild(n); - } else { - nodeStack = concat(n, nodeStack); - } - } - return elem; - }, - - replaceChildNodes: function (node/*, nodes...*/) { - var elem = node; - var self = MochiKit.DOM; - if (typeof(node) == 'string') { - elem = self.getElement(node); - arguments[0] = elem; - } - var child; - while ((child = elem.firstChild)) { - elem.removeChild(child); - } - if (arguments.length < 2) { - return elem; - } else { - return self.appendChildNodes.apply(this, arguments); - } - }, - - createDOM: function (name, attrs/*, nodes... */) { - var elem; - var self = MochiKit.DOM; - var m = MochiKit.Base; - if (typeof(attrs) == "string" || typeof(attrs) == "number") { - var args = m.extend([name, null], arguments, 1); - return arguments.callee.apply(this, args); - } - if (typeof(name) == 'string') { - // Internet Explorer is dumb - if (attrs && !self.attributeArray.compliant) { - // http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/name_2.asp - var contents = ""; - if ('name' in attrs) { - contents += ' name="' + self.escapeHTML(attrs.name) + '"'; - } - if (name == 'input' && 'type' in attrs) { - contents += ' type="' + self.escapeHTML(attrs.type) + '"'; - } - if (contents) { - name = "<" + name + contents + ">"; - } - } - elem = self._document.createElement(name); - } else { - elem = name; - } - if (attrs) { - self.updateNodeAttributes(elem, attrs); - } - if (arguments.length <= 2) { - return elem; - } else { - var args = m.extend([elem], arguments, 2); - return self.appendChildNodes.apply(this, args); - } - }, - - createDOMFunc: function (/* tag, attrs, *nodes */) { - var m = MochiKit.Base; - return m.partial.apply( - this, - m.extend([MochiKit.DOM.createDOM], arguments) - ); - }, - - removeElement: function (elem) { - var e = MochiKit.DOM.getElement(elem); - e.parentNode.removeChild(e); - return e; - }, - - swapDOM: function (dest, src) { - var self = MochiKit.DOM; - dest = self.getElement(dest); - var parent = dest.parentNode; - if (src) { - src = self.getElement(src); - parent.replaceChild(src, dest); - } else { - parent.removeChild(dest); - } - return src; - }, - - getElement: function (id) { - var self = MochiKit.DOM; - if (arguments.length == 1) { - return ((typeof(id) == "string") ? - self._document.getElementById(id) : id); - } else { - return MochiKit.Base.map(self.getElement, arguments); - } - }, - - getElementsByTagAndClassName: function (tagName, className, - /* optional */parent) { - var self = MochiKit.DOM; - if (typeof(tagName) == 'undefined' || tagName === null) { - tagName = '*'; - } - if (typeof(parent) == 'undefined' || parent === null) { - parent = self._document; - } - parent = self.getElement(parent); - var children = (parent.getElementsByTagName(tagName) - || self._document.all); - if (typeof(className) == 'undefined' || className === null) { - return MochiKit.Base.extend(null, children); - } - - var elements = []; - for (var i = 0; i < children.length; i++) { - var child = children[i]; - var classNames = child.className.split(' '); - for (var j = 0; j < classNames.length; j++) { - if (classNames[j] == className) { - elements.push(child); - break; - } - } - } - - return elements; - }, - - _newCallStack: function (path, once) { - var rval = function () { - var callStack = arguments.callee.callStack; - for (var i = 0; i < callStack.length; i++) { - if (callStack[i].apply(this, arguments) === false) { - break; - } - } - if (once) { - try { - this[path] = null; - } catch (e) { - // pass - } - } - }; - rval.callStack = []; - return rval; - }, - - addToCallStack: function (target, path, func, once) { - var self = MochiKit.DOM; - var existing = target[path]; - var regfunc = existing; - if (!(typeof(existing) == 'function' - && typeof(existing.callStack) == "object" - && existing.callStack !== null)) { - regfunc = self._newCallStack(path, once); - if (typeof(existing) == 'function') { - regfunc.callStack.push(existing); - } - target[path] = regfunc; - } - regfunc.callStack.push(func); - }, - - addLoadEvent: function (func) { - var self = MochiKit.DOM; - self.addToCallStack(self._window, "onload", func, true); - - }, - - focusOnLoad: function (element) { - var self = MochiKit.DOM; - self.addLoadEvent(function () { - element = self.getElement(element); - if (element) { - element.focus(); - } - }); - }, - - setElementClass: function (element, className) { - var self = MochiKit.DOM; - var obj = self.getElement(element); - if (self.attributeArray.compliant) { - obj.setAttribute("class", className); - } else { - obj.setAttribute("className", className); - } - }, - - toggleElementClass: function (className/*, element... */) { - var self = MochiKit.DOM; - for (var i = 1; i < arguments.length; i++) { - var obj = self.getElement(arguments[i]); - if (!self.addElementClass(obj, className)) { - self.removeElementClass(obj, className); - } - } - }, - - addElementClass: function (element, className) { - var self = MochiKit.DOM; - var obj = self.getElement(element); - var cls = obj.className; - // trivial case, no className yet - if (cls.length === 0) { - self.setElementClass(obj, className); - return true; - } - // the other trivial case, already set as the only class - if (cls == className) { - return false; - } - var classes = obj.className.split(" "); - for (var i = 0; i < classes.length; i++) { - // already present - if (classes[i] == className) { - return false; - } - } - // append class - self.setElementClass(obj, cls + " " + className); - return true; - }, - - removeElementClass: function (element, className) { - var self = MochiKit.DOM; - var obj = self.getElement(element); - var cls = obj.className; - // trivial case, no className yet - if (cls.length === 0) { - return false; - } - // other trivial case, set only to className - if (cls == className) { - self.setElementClass(obj, ""); - return true; - } - var classes = obj.className.split(" "); - for (var i = 0; i < classes.length; i++) { - // already present - if (classes[i] == className) { - // only check sane case where the class is used once - classes.splice(i, 1); - self.setElementClass(obj, classes.join(" ")); - return true; - } - } - // not found - return false; - }, - - swapElementClass: function (element, fromClass, toClass) { - var obj = MochiKit.DOM.getElement(element); - var res = MochiKit.DOM.removeElementClass(obj, fromClass); - if (res) { - MochiKit.DOM.addElementClass(obj, toClass); - } - return res; - }, - - hasElementClass: function (element, className/*...*/) { - var obj = MochiKit.DOM.getElement(element); - var classes = obj.className.split(" "); - for (var i = 1; i < arguments.length; i++) { - var good = false; - for (var j = 0; j < classes.length; j++) { - if (classes[j] == arguments[i]) { - good = true; - break; - } - } - if (!good) { - return false; - } - } - return true; - }, - - escapeHTML: function (s) { - return s.replace(/&/g, "&" - ).replace(/"/g, """ - ).replace(//g, ">"); - }, - - toHTML: function (dom) { - return MochiKit.DOM.emitHTML(dom).join(""); - }, - - emitHTML: function (dom, /* optional */lst) { - if (typeof(lst) == 'undefined' || lst === null) { - lst = []; - } - // queue is the call stack, we're doing this non-recursively - var queue = [dom]; - var self = MochiKit.DOM; - var escapeHTML = self.escapeHTML; - var attributeArray = self.attributeArray; - while (queue.length) { - dom = queue.pop(); - if (typeof(dom) == 'string') { - lst.push(dom); - } else if (dom.nodeType == 1) { - // we're not using higher order stuff here - // because safari has heisenbugs.. argh. - // - // I think it might have something to do with - // garbage collection and function calls. - lst.push('<' + dom.nodeName.toLowerCase()); - var attributes = []; - var domAttr = attributeArray(dom); - for (var i = 0; i < domAttr.length; i++) { - var a = domAttr[i]; - attributes.push([ - " ", - a.name, - '="', - escapeHTML(a.value), - '"' - ]); - } - attributes.sort(); - for (i = 0; i < attributes.length; i++) { - var attrs = attributes[i]; - for (var j = 0; j < attrs.length; j++) { - lst.push(attrs[j]); - } - } - if (dom.hasChildNodes()) { - lst.push(">"); - // queue is the FILO call stack, so we put the close tag - // on first - queue.push(""); - var cnodes = dom.childNodes; - for (i = cnodes.length - 1; i >= 0; i--) { - queue.push(cnodes[i]); - } - } else { - lst.push('/>'); - } - } else if (dom.nodeType == 3) { - lst.push(escapeHTML(dom.nodeValue)); - } - } - return lst; - }, - - scrapeText: function (node, /* optional */asArray) { - var rval = []; - (function (node) { - var cn = node.childNodes; - if (cn) { - for (var i = 0; i < cn.length; i++) { - arguments.callee.call(this, cn[i]); - } - } - var nodeValue = node.nodeValue; - if (typeof(nodeValue) == 'string') { - rval.push(nodeValue); - } - })(MochiKit.DOM.getElement(node)); - if (asArray) { - return rval; - } else { - return rval.join(""); - } - }, - - removeEmptyTextNodes: function (element) { - element = MochiKit.DOM.getElement(element); - for (var i = 0; i < element.childNodes.length; i++) { - var node = element.childNodes[i]; - if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) { - node.parentNode.removeChild(node); - } - } - }, - - __new__: function (win) { - - var m = MochiKit.Base; - if (typeof(document) != "undefined") { - this._document = document; - } else if (MochiKit.MockDOM) { - this._document = MochiKit.MockDOM.document; - } - this._window = win; - - this.domConverters = new m.AdapterRegistry(); - - var __tmpElement = this._document.createElement("span"); - var attributeArray; - if (__tmpElement && __tmpElement.attributes && - __tmpElement.attributes.length > 0) { - // for braindead browsers (IE) that insert extra junk - var filter = m.filter; - attributeArray = function (node) { - return filter(attributeArray.ignoreAttrFilter, node.attributes); - }; - attributeArray.ignoreAttr = {}; - var attrs = __tmpElement.attributes; - var ignoreAttr = attributeArray.ignoreAttr; - for (var i = 0; i < attrs.length; i++) { - var a = attrs[i]; - ignoreAttr[a.name] = a.value; - } - attributeArray.ignoreAttrFilter = function (a) { - return (attributeArray.ignoreAttr[a.name] != a.value); - }; - attributeArray.compliant = false; - attributeArray.renames = { - "class": "className", - "checked": "defaultChecked", - "usemap": "useMap", - "for": "htmlFor", - "readonly": "readOnly" - }; - } else { - attributeArray = function (node) { - /*** - - Return an array of attributes for a given node, - filtering out attributes that don't belong for - that are inserted by "Certain Browsers". - - ***/ - return node.attributes; - }; - attributeArray.compliant = true; - attributeArray.renames = {}; - } - this.attributeArray = attributeArray; - - // FIXME: this really belongs in Base, and could probably be cleaner - var _deprecated = function(fromModule, arr) { - var modules = arr[1].split('.'); - var str = ''; - var obj = {}; - - str += 'if (!MochiKit.' + modules[1] + ') { throw new Error("'; - str += 'This function has been deprecated and depends on MochiKit.'; - str += modules[1] + '.");}'; - str += 'return MochiKit.' + modules[1] + '.' + arr[0]; - str += '.apply(this, arguments);'; - - obj[modules[2]] = new Function(str); - MochiKit.Base.update(MochiKit[fromModule], obj); - } - for (var i; i < MochiKit.DOM.DEPRECATED.length; i++) { - _deprecated('DOM', MochiKit.DOM.DEPRECATED[i]); - } - - // shorthand for createDOM syntax - var createDOMFunc = this.createDOMFunc; - this.UL = createDOMFunc("ul"); - this.OL = createDOMFunc("ol"); - this.LI = createDOMFunc("li"); - this.TD = createDOMFunc("td"); - this.TR = createDOMFunc("tr"); - this.TBODY = createDOMFunc("tbody"); - this.THEAD = createDOMFunc("thead"); - this.TFOOT = createDOMFunc("tfoot"); - this.TABLE = createDOMFunc("table"); - this.TH = createDOMFunc("th"); - this.INPUT = createDOMFunc("input"); - this.SPAN = createDOMFunc("span"); - this.A = createDOMFunc("a"); - this.DIV = createDOMFunc("div"); - this.IMG = createDOMFunc("img"); - this.BUTTON = createDOMFunc("button"); - this.TT = createDOMFunc("tt"); - this.PRE = createDOMFunc("pre"); - this.H1 = createDOMFunc("h1"); - this.H2 = createDOMFunc("h2"); - this.H3 = createDOMFunc("h3"); - this.BR = createDOMFunc("br"); - this.HR = createDOMFunc("hr"); - this.LABEL = createDOMFunc("label"); - this.TEXTAREA = createDOMFunc("textarea"); - this.FORM = createDOMFunc("form"); - this.P = createDOMFunc("p"); - this.SELECT = createDOMFunc("select"); - this.OPTION = createDOMFunc("option"); - this.OPTGROUP = createDOMFunc("optgroup"); - this.LEGEND = createDOMFunc("legend"); - this.FIELDSET = createDOMFunc("fieldset"); - this.STRONG = createDOMFunc("strong"); - this.CANVAS = createDOMFunc("canvas"); - - this.$ = this.getElement; - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": m.concat(this.EXPORT, this.EXPORT_OK) - }; - - m.nameFunctions(this); - - } -}); - - -MochiKit.DOM.__new__(((typeof(window) == "undefined") ? this : window)); - -// -// XXX: Internet Explorer blows -// -if (MochiKit.__export__) { - withWindow = MochiKit.DOM.withWindow; - withDocument = MochiKit.DOM.withDocument; -} - -MochiKit.Base._exportSymbols(this, MochiKit.DOM); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DateTime.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DateTime.js deleted file mode 100644 index c094a864c..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DateTime.js +++ /dev/null @@ -1,208 +0,0 @@ -/*** - -MochiKit.DateTime 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.DateTime'); -} - -if (typeof(MochiKit) == 'undefined') { - MochiKit = {}; -} - -if (typeof(MochiKit.DateTime) == 'undefined') { - MochiKit.DateTime = {}; -} - -MochiKit.DateTime.NAME = "MochiKit.DateTime"; -MochiKit.DateTime.VERSION = "1.4"; -MochiKit.DateTime.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; -MochiKit.DateTime.toString = function () { - return this.__repr__(); -}; - -MochiKit.DateTime.isoDate = function (str) { - str = str + ""; - if (typeof(str) != "string" || str.length === 0) { - return null; - } - var iso = str.split('-'); - if (iso.length === 0) { - return null; - } - return new Date(iso[0], iso[1] - 1, iso[2]); -}; - -MochiKit.DateTime._isoRegexp = /(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/; - -MochiKit.DateTime.isoTimestamp = function (str) { - str = str + ""; - if (typeof(str) != "string" || str.length === 0) { - return null; - } - var res = str.match(MochiKit.DateTime._isoRegexp); - if (typeof(res) == "undefined" || res === null) { - return null; - } - var year, month, day, hour, min, sec, msec; - year = parseInt(res[1], 10); - if (typeof(res[2]) == "undefined" || res[2] === '') { - return new Date(year); - } - month = parseInt(res[2], 10) - 1; - day = parseInt(res[3], 10); - if (typeof(res[4]) == "undefined" || res[4] === '') { - return new Date(year, month, day); - } - hour = parseInt(res[4], 10); - min = parseInt(res[5], 10); - sec = (typeof(res[6]) != "undefined" && res[6] !== '') ? parseInt(res[6], 10) : 0; - if (typeof(res[7]) != "undefined" && res[7] !== '') { - msec = Math.round(1000.0 * parseFloat("0." + res[7])); - } else { - msec = 0; - } - if ((typeof(res[8]) == "undefined" || res[8] === '') && (typeof(res[9]) == "undefined" || res[9] === '')) { - return new Date(year, month, day, hour, min, sec, msec); - } - var ofs; - if (typeof(res[9]) != "undefined" && res[9] !== '') { - ofs = parseInt(res[10], 10) * 3600000; - if (typeof(res[11]) != "undefined" && res[11] !== '') { - ofs += parseInt(res[11], 10) * 60000; - } - if (res[9] == "-") { - ofs = -ofs; - } - } else { - ofs = 0; - } - return new Date(Date.UTC(year, month, day, hour, min, sec, msec) - ofs); -}; - -MochiKit.DateTime.toISOTime = function (date, realISO/* = false */) { - if (typeof(date) == "undefined" || date === null) { - return null; - } - var hh = date.getHours(); - var mm = date.getMinutes(); - var ss = date.getSeconds(); - var lst = [ - ((realISO && (hh < 10)) ? "0" + hh : hh), - ((mm < 10) ? "0" + mm : mm), - ((ss < 10) ? "0" + ss : ss) - ]; - return lst.join(":"); -}; - -MochiKit.DateTime.toISOTimestamp = function (date, realISO/* = false*/) { - if (typeof(date) == "undefined" || date === null) { - return null; - } - var sep = realISO ? "T" : " "; - var foot = realISO ? "Z" : ""; - if (realISO) { - date = new Date(date.getTime() + (date.getTimezoneOffset() * 60000)); - } - return MochiKit.DateTime.toISODate(date) + sep + MochiKit.DateTime.toISOTime(date, realISO) + foot; -}; - -MochiKit.DateTime.toISODate = function (date) { - if (typeof(date) == "undefined" || date === null) { - return null; - } - var _padTwo = MochiKit.DateTime._padTwo; - return [ - date.getFullYear(), - _padTwo(date.getMonth() + 1), - _padTwo(date.getDate()) - ].join("-"); -}; - -MochiKit.DateTime.americanDate = function (d) { - d = d + ""; - if (typeof(d) != "string" || d.length === 0) { - return null; - } - var a = d.split('/'); - return new Date(a[2], a[0] - 1, a[1]); -}; - -MochiKit.DateTime._padTwo = function (n) { - return (n > 9) ? n : "0" + n; -}; - -MochiKit.DateTime.toPaddedAmericanDate = function (d) { - if (typeof(d) == "undefined" || d === null) { - return null; - } - var _padTwo = MochiKit.DateTime._padTwo; - return [ - _padTwo(d.getMonth() + 1), - _padTwo(d.getDate()), - d.getFullYear() - ].join('/'); -}; - -MochiKit.DateTime.toAmericanDate = function (d) { - if (typeof(d) == "undefined" || d === null) { - return null; - } - return [d.getMonth() + 1, d.getDate(), d.getFullYear()].join('/'); -}; - -MochiKit.DateTime.EXPORT = [ - "isoDate", - "isoTimestamp", - "toISOTime", - "toISOTimestamp", - "toISODate", - "americanDate", - "toPaddedAmericanDate", - "toAmericanDate" -]; - -MochiKit.DateTime.EXPORT_OK = []; -MochiKit.DateTime.EXPORT_TAGS = { - ":common": MochiKit.DateTime.EXPORT, - ":all": MochiKit.DateTime.EXPORT -}; - -MochiKit.DateTime.__new__ = function () { - // MochiKit.Base.nameFunctions(this); - var base = this.NAME + "."; - for (var k in this) { - var o = this[k]; - if (typeof(o) == 'function' && typeof(o.NAME) == 'undefined') { - try { - o.NAME = base + k; - } catch (e) { - // pass - } - } - } -}; - -MochiKit.DateTime.__new__(); - -if (typeof(MochiKit.Base) != "undefined") { - MochiKit.Base._exportSymbols(this, MochiKit.DateTime); -} else { - (function (globals, module) { - if ((typeof(JSAN) == 'undefined' && typeof(dojo) == 'undefined') - || (MochiKit.__export__ === false)) { - var all = module.EXPORT_TAGS[":all"]; - for (var i = 0; i < all.length; i++) { - globals[all[i]] = module[all[i]]; - } - } - })(this, MochiKit.DateTime); -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DragAndDrop.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DragAndDrop.js deleted file mode 100644 index 3b64298b4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/DragAndDrop.js +++ /dev/null @@ -1,774 +0,0 @@ -/*** -MochiKit.DragAndDrop 1.4 - -See for documentation, downloads, license, etc. - -Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) - Mochi-ized By Thomas Herve (_firstname_@nimail.org) - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.DragAndDrop'); - dojo.require('MochiKit.Base'); - dojo.require('MochiKit.DOM'); - dojo.require('MochiKit.Iter'); - dojo.require('MochiKit.Visual'); - dojo.require('MochiKit.Signal'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); - JSAN.use("MochiKit.DOM", []); - JSAN.use("MochiKit.Visual", []); - JSAN.use("MochiKit.Iter", []); - JSAN.use("MochiKit.Signal", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined' || - typeof(MochiKit.DOM) == 'undefined' || - typeof(MochiKit.Visual) == 'undefined' || - typeof(MochiKit.Signal) == 'undefined' || - typeof(MochiKit.Iter) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.DragAndDrop depends on MochiKit.Base, MochiKit.DOM, MochiKit.Visual, MochiKit.Signal and MochiKit.Iter!"; -} - -if (typeof(MochiKit.DragAndDrop) == 'undefined') { - MochiKit.DragAndDrop = {}; -} - -MochiKit.DragAndDrop.NAME = 'MochiKit.DragAndDrop'; -MochiKit.DragAndDrop.VERSION = '1.4'; - -MochiKit.DragAndDrop.__repr__ = function () { - return '[' + this.NAME + ' ' + this.VERSION + ']'; -}; - -MochiKit.DragAndDrop.toString = function () { - return this.__repr__(); -}; - -MochiKit.DragAndDrop.EXPORT = [ - "Droppable", - "Draggable" -]; - -MochiKit.DragAndDrop.EXPORT_OK = [ - "Droppables", - "Draggables" -]; - -MochiKit.DragAndDrop.Droppables = { - /*** - - Manage all droppables. Shouldn't be used, use the Droppable object instead. - - ***/ - drops: [], - - remove: function (element) { - this.drops = MochiKit.Base.filter(function (d) { - return d.element != MochiKit.DOM.getElement(element) - }, this.drops); - }, - - register: function (drop) { - this.drops.push(drop); - }, - - unregister: function (drop) { - this.drops = MochiKit.Base.filter(function (d) { - return d != drop; - }, this.drops); - }, - - prepare: function (element) { - MochiKit.Base.map(function (drop) { - if (drop.isAccepted(element)) { - if (drop.options.activeclass) { - MochiKit.DOM.addElementClass(drop.element, - drop.options.activeclass); - } - drop.options.onactive(drop.element, element); - } - }, this.drops); - }, - - findDeepestChild: function (drops) { - deepest = drops[0]; - - for (i = 1; i < drops.length; ++i) { - if (MochiKit.DOM.isParent(drops[i].element, deepest.element)) { - deepest = drops[i]; - } - } - return deepest; - }, - - show: function (point, element) { - if (!this.drops.length) { - return; - } - var affected = []; - - if (this.last_active) { - this.last_active.deactivate(); - } - MochiKit.Iter.forEach(this.drops, function (drop) { - if (drop.isAffected(point, element)) { - affected.push(drop); - } - }); - if (affected.length > 0) { - drop = this.findDeepestChild(affected); - MochiKit.Position.within(drop.element, point.page.x, point.page.y); - drop.options.onhover(element, drop.element, - MochiKit.Position.overlap(drop.options.overlap, drop.element)); - drop.activate(); - } - }, - - fire: function (event, element) { - if (!this.last_active) { - return; - } - MochiKit.Position.prepare(); - - if (this.last_active.isAffected(event.mouse(), element)) { - this.last_active.options.ondrop(element, - this.last_active.element, event); - } - }, - - reset: function (element) { - MochiKit.Base.map(function (drop) { - if (drop.options.activeclass) { - MochiKit.DOM.removeElementClass(drop.element, - drop.options.activeclass); - } - drop.options.ondesactive(drop.element, element); - }, this.drops); - if (this.last_active) { - this.last_active.deactivate(); - } - } -}; - -MochiKit.DragAndDrop.Droppable = function (element, options) { - this.__init__(element, options); -}; - -MochiKit.DragAndDrop.Droppable.prototype = { - /*** - - A droppable object. Simple use is to create giving an element: - - new MochiKit.DragAndDrop.Droppable('myelement'); - - Generally you'll want to define the 'ondrop' function and maybe the - 'accept' option to filter draggables. - - ***/ - __class__: MochiKit.DragAndDrop.Droppable, - - __init__: function (element, /* optional */options) { - var d = MochiKit.DOM; - var b = MochiKit.Base; - this.element = d.getElement(element); - this.options = b.update({ - greedy: true, - hoverclass: null, - activeclass: null, - hoverfunc: b.noop, - accept: null, - onactive: b.noop, - ondesactive: b.noop, - onhover: b.noop, - ondrop: b.noop, - containment: [], - tree: false - }, options || {}); - - // cache containers - this.options._containers = []; - b.map(MochiKit.Base.bind(function (c) { - this.options._containers.push(d.getElement(c)); - }, this), this.options.containment); - - d.makePositioned(this.element); // fix IE - - MochiKit.DragAndDrop.Droppables.register(this); - }, - - isContained: function (element) { - if (this._containers) { - var containmentNode; - if (this.options.tree) { - containmentNode = element.treeNode; - } else { - containmentNode = element.parentNode; - } - return MochiKit.Iter.some(this._containers, function (c) { - return containmentNode == c; - }); - } else { - return true; - } - }, - - isAccepted: function (element) { - return ((!this.options.accept) || MochiKit.Iter.some( - this.options.accept, function (c) { - return MochiKit.DOM.hasElementClass(element, c); - })); - }, - - isAffected: function (point, element) { - return ((this.element != element) && - this.isContained(element) && - this.isAccepted(element) && - MochiKit.Position.within(this.element, point.page.x, - point.page.y)); - }, - - deactivate: function () { - /*** - - A droppable is deactivate when a draggable has been over it and left. - - ***/ - if (this.options.hoverclass) { - MochiKit.DOM.removeElementClass(this.element, - this.options.hoverclass); - } - this.options.hoverfunc(this.element, false); - MochiKit.DragAndDrop.Droppables.last_active = null; - }, - - activate: function () { - /*** - - A droppable is active when a draggable is over it. - - ***/ - if (this.options.hoverclass) { - MochiKit.DOM.addElementClass(this.element, this.options.hoverclass); - } - this.options.hoverfunc(this.element, true); - MochiKit.DragAndDrop.Droppables.last_active = this; - }, - - destroy: function () { - /*** - - Delete this droppable. - - ***/ - MochiKit.DragAndDrop.Droppables.unregister(this); - }, - - repr: function () { - return '[' + this.__class__.NAME + ", options:" + MochiKit.Base.repr(this.options) + "]"; - } -}; - -MochiKit.DragAndDrop.Draggables = { - /*** - - Manage draggables elements. Not intended to direct use. - - ***/ - drags: [], - - observers: [], - - register: function (draggable) { - if (this.drags.length === 0) { - var conn = MochiKit.Signal.connect; - this.eventMouseUp = conn(document, 'onmouseup', this, this.endDrag); - this.eventMouseMove = conn(document, 'onmousemove', this, - this.updateDrag); - this.eventKeypress = conn(document, 'onkeypress', this, - this.keyPress); - } - this.drags.push(draggable); - }, - - unregister: function (draggable) { - this.drags = MochiKit.Base.filter(function (d) { - return d != draggable; - }, this.drags); - if (this.drags.length === 0) { - var disc = MochiKit.Signal.disconnect - disc(this.eventMouseUp); - disc(this.eventMouseMove); - disc(this.eventKeypress); - } - }, - - activate: function (draggable) { - // allows keypress events if window is not currently focused - // fails for Safari - window.focus(); - this.activeDraggable = draggable; - }, - - deactivate: function () { - this.activeDraggable = null; - }, - - updateDrag: function (event) { - if (!this.activeDraggable) { - return; - } - var pointer = event.mouse(); - // Mozilla-based browsers fire successive mousemove events with - // the same coordinates, prevent needless redrawing (moz bug?) - if (this._lastPointer && (MochiKit.Base.repr(this._lastPointer.page) == - MochiKit.Base.repr(pointer.page))) { - return; - } - this._lastPointer = pointer; - this.activeDraggable.updateDrag(event, pointer); - }, - - endDrag: function (event) { - if (!this.activeDraggable) { - return; - } - this._lastPointer = null; - this.activeDraggable.endDrag(event); - this.activeDraggable = null; - }, - - keyPress: function (event) { - if (this.activeDraggable) { - this.activeDraggable.keyPress(event); - } - }, - - addObserver: function (observer) { - this.observers.push(observer); - this._cacheObserverCallbacks(); - }, - - removeObserver: function (element) { - // element instead of observer fixes mem leaks - this.observers = MochiKit.Base.filter(function (o) { - return o.element != element; - }, this.observers); - this._cacheObserverCallbacks(); - }, - - notify: function (eventName, draggable, event) { - // 'onStart', 'onEnd', 'onDrag' - if (this[eventName + 'Count'] > 0) { - MochiKit.Base.map(function (o) { - if (o[eventName]) { - o[eventName](eventName, draggable, event); - } - }, this.observers); - } - }, - - _cacheObserverCallbacks: function () { - var b = MochiKit.Base; - var self = MochiKit.DragAndDrop.Draggables; - b.map(function (eventName) { - self[eventName + 'Count'] = b.filter(function (o) { - return o[eventName]; - }, self.observers).length; - }, ['onStart', 'onEnd', 'onDrag']); - } -}; - -MochiKit.DragAndDrop.Draggable = function (element, options) { - this.__init__(element, options); -}; - -MochiKit.DragAndDrop.Draggable.prototype = { - /*** - - A draggable object. Simple instantiate : - - new MochiKit.DragAndDrop.Draggable('myelement'); - - ***/ - __class__ : MochiKit.DragAndDrop.Draggable, - - __init__: function (element, /* optional */options) { - var v = MochiKit.Visual; - var b = MochiKit.Base; - options = b.update({ - handle: false, - starteffect: function (innerelement) { - this._savedOpacity = MochiKit.DOM.getOpacity(innerelement) || 1.0; - new v.Opacity(innerelement, {duration:0.2, from:this._savedOpacity, to:0.7}); - }, - reverteffect: function (innerelement, top_offset, left_offset) { - var dur = Math.sqrt(Math.abs(top_offset^2) + - Math.abs(left_offset^2))*0.02; - return new v.Move(innerelement, - {x: -left_offset, y: -top_offset, duration: dur}); - }, - endeffect: function (innerelement) { - new v.Opacity(innerelement, {duration:0.2, from:0.7, to:this._savedOpacity}); - }, - onchange: b.noop, - zindex: 1000, - revert: false, - scroll: false, - scrollSensitivity: 20, - scrollSpeed: 15, - // false, or xy or [x, y] or function (x, y){return [x, y];} - snap: false - }, options || {}); - - var d = MochiKit.DOM; - this.element = d.getElement(element); - - if (options.handle && (typeof(options.handle) == 'string')) { - this.handle = d.getFirstElementByTagAndClassName(null, - options.handle, this.element); - } - if (!this.handle) { - this.handle = d.getElement(options.handle); - } - if (!this.handle) { - this.handle = this.element; - } - - if (options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) { - options.scroll = d.getElement(options.scroll); - } - - d.makePositioned(this.element); // fix IE - - this.delta = this.currentDelta(); - this.options = options; - this.dragging = false; - - this.eventMouseDown = MochiKit.Signal.connect(this.handle, - 'onmousedown', this, this.initDrag); - MochiKit.DragAndDrop.Draggables.register(this); - }, - - destroy: function () { - MochiKit.Signal.disconnect(this.eventMouseDown); - MochiKit.DragAndDrop.Draggables.unregister(this); - }, - - currentDelta: function () { - var s = MochiKit.DOM.getStyle; - return [ - parseInt(s(this.element, 'left') || '0'), - parseInt(s(this.element, 'top') || '0')]; - }, - - initDrag: function (event) { - if (!event.mouse().button.left) { - return; - } - // abort on form elements, fixes a Firefox issue - var src = event.target; - if (src.tagName && ( - src.tagName == 'INPUT' || src.tagName == 'SELECT' || - src.tagName == 'OPTION' || src.tagName == 'BUTTON' || - src.tagName == 'TEXTAREA')) { - return; - } - - if (this._revert) { - this._revert.cancel(); - this._revert = null; - } - - var pointer = event.mouse(); - var pos = MochiKit.Position.cumulativeOffset(this.element); - this.offset = [pointer.page.x - pos.x, pointer.page.y - pos.y] - - MochiKit.DragAndDrop.Draggables.activate(this); - event.stop(); - }, - - startDrag: function (event) { - this.dragging = true; - if (this.options.selectclass) { - MochiKit.DOM.addElementClass(this.element, - this.options.selectclass); - } - if (this.options.zindex) { - this.originalZ = parseInt(MochiKit.DOM.getStyle(this.element, - 'z-index') || '0'); - this.element.style.zIndex = this.options.zindex; - } - - if (this.options.ghosting) { - this._clone = this.element.cloneNode(true); - this.ghostPosition = MochiKit.Position.absolutize(this.element); - this.element.parentNode.insertBefore(this._clone, this.element); - } - - if (this.options.scroll) { - if (this.options.scroll == window) { - var where = this._getWindowScroll(this.options.scroll); - this.originalScrollLeft = where.left; - this.originalScrollTop = where.top; - } else { - this.originalScrollLeft = this.options.scroll.scrollLeft; - this.originalScrollTop = this.options.scroll.scrollTop; - } - } - - MochiKit.DragAndDrop.Droppables.prepare(this.element); - MochiKit.DragAndDrop.Draggables.notify('onStart', this, event); - if (this.options.starteffect) { - this.options.starteffect(this.element); - } - }, - - updateDrag: function (event, pointer) { - if (!this.dragging) { - this.startDrag(event); - } - MochiKit.Position.prepare(); - MochiKit.DragAndDrop.Droppables.show(pointer, this.element); - MochiKit.DragAndDrop.Draggables.notify('onDrag', this, event); - this.draw(pointer); - this.options.onchange(this); - - if (this.options.scroll) { - this.stopScrolling(); - var p, q; - if (this.options.scroll == window) { - var s = this._getWindowScroll(this.options.scroll); - p = new MochiKit.Style.Coordinates(s.left, s.top); - q = new MochiKit.Style.Coordinates(s.left + s.width, - s.top + s.height); - } else { - p = MochiKit.Position.page(this.options.scroll); - p.x += this.options.scroll.scrollLeft; - p.y += this.options.scroll.scrollTop; - q = new MochiKit.Style.Coordinates(p.x + this.options.scroll.offsetWidth, - p.y + this.options.scroll.offsetHeight); - } - var speed = [0, 0]; - if (pointer.page.x > (q.x - this.options.scrollSensitivity)) { - speed[0] = pointer.page.x - (q.x - this.options.scrollSensitivity); - } else if (pointer.page.x < (p.x + this.options.scrollSensitivity)) { - speed[0] = pointer.page.x - (p.x + this.options.scrollSensitivity); - } - if (pointer.page.y > (q.y - this.options.scrollSensitivity)) { - speed[1] = pointer.page.y - (q.y - this.options.scrollSensitivity); - } else if (pointer.page.y < (p.y + this.options.scrollSensitivity)) { - speed[1] = pointer.page.y - (p.y + this.options.scrollSensitivity); - } - this.startScrolling(speed); - } - - // fix AppleWebKit rendering - if (MochiKit.Base.isSafari()) { - window.scrollBy(0, 0); - } - event.stop(); - }, - - finishDrag: function (event, success) { - var dr = MochiKit.DragAndDrop; - this.dragging = false; - if (this.options.selectclass) { - MochiKit.DOM.removeElementClass(this.element, - this.options.selectclass); - } - - if (this.options.ghosting) { - // XXX: from a user point of view, it would be better to remove - // the node only *after* the MochiKit.Visual.Move end when used - // with revert. - MochiKit.Position.relativize(this.element, this.ghostPosition); - MochiKit.DOM.removeElement(this._clone); - this._clone = null; - } - - if (success) { - dr.Droppables.fire(event, this.element); - } - dr.Draggables.notify('onEnd', this, event); - - var revert = this.options.revert; - if (revert && typeof(revert) == 'function') { - revert = revert(this.element); - } - - var d = this.currentDelta(); - if (revert && this.options.reverteffect) { - this._revert = this.options.reverteffect(this.element, - d[1] - this.delta[1], d[0] - this.delta[0]); - } else { - this.delta = d; - } - - if (this.options.zindex) { - this.element.style.zIndex = this.originalZ; - } - - if (this.options.endeffect) { - this.options.endeffect(this.element); - } - - dr.Draggables.deactivate(); - dr.Droppables.reset(this.element); - }, - - keyPress: function (event) { - if (event.keyString != "KEY_ESCAPE") { - return; - } - this.finishDrag(event, false); - event.stop(); - }, - - endDrag: function (event) { - if (!this.dragging) { - return; - } - this.stopScrolling(); - this.finishDrag(event, true); - event.stop(); - }, - - draw: function (point) { - var pos = MochiKit.Position.cumulativeOffset(this.element); - var d = this.currentDelta(); - pos.x -= d[0]; - pos.y -= d[1]; - - if (this.options.scroll && !this.options.scroll.scrollTo) { - pos.x -= this.options.scroll.scrollLeft - this.originalScrollLeft; - pos.y -= this.options.scroll.scrollTop - this.originalScrollTop; - } - - var p = [point.page.x - pos.x - this.offset[0], - point.page.y - pos.y - this.offset[1]] - - if (this.options.snap) { - if (typeof(this.options.snap) == 'function') { - p = this.options.snap(p[0], p[1]); - } else { - if (this.options.snap instanceof Array) { - var i = -1; - p = MochiKit.Base.map(MochiKit.Base.bind(function (v) { - i += 1; - return Math.round(v/this.options.snap[i]) * - this.options.snap[i] - }, this), p) - } else { - p = MochiKit.Base.map(MochiKit.Base.bind(function (v) { - return Math.round(v/this.options.snap) * - this.options.snap - }, this), p) - } - } - } - var style = this.element.style; - if ((!this.options.constraint) || - (this.options.constraint == 'horizontal')) { - style.left = p[0] + 'px'; - } - if ((!this.options.constraint) || - (this.options.constraint == 'vertical')) { - style.top = p[1] + 'px'; - } - if (style.visibility == 'hidden') { - style.visibility = ''; // fix gecko rendering - } - }, - - stopScrolling: function () { - if (this.scrollInterval) { - clearInterval(this.scrollInterval); - this.scrollInterval = null; - } - }, - - startScrolling: function (speed) { - if (!speed[0] || !speed[1]) { - return; - } - this.scrollSpeed = [speed[0] * this.options.scrollSpeed, - speed[1] * this.options.scrollSpeed]; - this.lastScrolled = new Date(); - this.scrollInterval = setInterval(MochiKit.Base.bind(this.scroll, this), 10); - }, - - scroll: function () { - var current = new Date(); - var delta = current - this.lastScrolled; - this.lastScrolled = current; - - if (this.options.scroll == window) { - var s = this._getWindowScroll(this.options.scroll); - if (this.scrollSpeed[0] || this.scrollSpeed[1]) { - var d = delta / 1000; - this.options.scroll.scrollTo(s.left + d * this.scrollSpeed[0], - s.top + d * this.scrollSpeed[1]); - } - } else { - this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000; - this.options.scroll.scrollTop += this.scrollSpeed[1] * delta / 1000; - } - - var d = MochiKit.DragAndDrop; - - MochiKit.Position.prepare(); - d.Droppables.show(d.Draggables._lastPointer, this.element); - this.draw(d.Draggables._lastPointer); - this.options.onchange(this); - }, - - _getWindowScroll: function (w) { - var T, L, W, H; - with (w.document) { - if (w.document.documentElement && documentElement.scrollTop) { - T = documentElement.scrollTop; - L = documentElement.scrollLeft; - } else if (w.document.body) { - T = body.scrollTop; - L = body.scrollLeft; - } - if (w.innerWidth) { - W = w.innerWidth; - H = w.innerHeight; - } else if (w.document.documentElement && documentElement.clientWidth) { - W = documentElement.clientWidth; - H = documentElement.clientHeight; - } else { - W = body.offsetWidth; - H = body.offsetHeight - } - } - return {top: T, left: L, width: W, height: H}; - }, - - repr: function () { - return '[' + this.__class__.NAME + ", options:" + MochiKit.Base.repr(this.options) + "]"; - } -}; - -MochiKit.DragAndDrop.__new__ = function () { - MochiKit.Base.nameFunctions(this); - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": MochiKit.Base.concat(this.EXPORT, this.EXPORT_OK) - }; -}; - -MochiKit.DragAndDrop.__new__(); - -MochiKit.Base._exportSymbols(this, MochiKit.DragAndDrop); - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Format.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Format.js deleted file mode 100644 index 9b02a2bcc..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Format.js +++ /dev/null @@ -1,294 +0,0 @@ -/*** - -MochiKit.Format 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Format'); -} - -if (typeof(MochiKit) == 'undefined') { - MochiKit = {}; -} - -if (typeof(MochiKit.Format) == 'undefined') { - MochiKit.Format = {}; -} - -MochiKit.Format.NAME = "MochiKit.Format"; -MochiKit.Format.VERSION = "1.4"; -MochiKit.Format.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; -MochiKit.Format.toString = function () { - return this.__repr__(); -}; - -MochiKit.Format._numberFormatter = function (placeholder, header, footer, locale, isPercent, precision, leadingZeros, separatorAt, trailingZeros) { - return function (num) { - num = parseFloat(num); - if (typeof(num) == "undefined" || num === null || isNaN(num)) { - return placeholder; - } - var curheader = header; - var curfooter = footer; - if (num < 0) { - num = -num; - } else { - curheader = curheader.replace(/-/, ""); - } - var me = arguments.callee; - var fmt = MochiKit.Format.formatLocale(locale); - if (isPercent) { - num = num * 100.0; - curfooter = fmt.percent + curfooter; - } - num = MochiKit.Format.roundToFixed(num, precision); - var parts = num.split(/\./); - var whole = parts[0]; - var frac = (parts.length == 1) ? "" : parts[1]; - var res = ""; - while (whole.length < leadingZeros) { - whole = "0" + whole; - } - if (separatorAt) { - while (whole.length > separatorAt) { - var i = whole.length - separatorAt; - //res = res + fmt.separator + whole.substring(i, whole.length); - res = fmt.separator + whole.substring(i, whole.length) + res; - whole = whole.substring(0, i); - } - } - res = whole + res; - if (precision > 0) { - while (frac.length < trailingZeros) { - frac = frac + "0"; - } - res = res + fmt.decimal + frac; - } - return curheader + res + curfooter; - }; -}; - -MochiKit.Format.numberFormatter = function (pattern, placeholder/* = "" */, locale/* = "default" */) { - // http://java.sun.com/docs/books/tutorial/i18n/format/numberpattern.html - // | 0 | leading or trailing zeros - // | # | just the number - // | , | separator - // | . | decimal separator - // | % | Multiply by 100 and format as percent - if (typeof(placeholder) == "undefined") { - placeholder = ""; - } - var match = pattern.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/); - if (!match) { - throw TypeError("Invalid pattern"); - } - var header = pattern.substr(0, match.index); - var footer = pattern.substr(match.index + match[0].length); - if (header.search(/-/) == -1) { - header = header + "-"; - } - var whole = match[1]; - var frac = (typeof(match[2]) == "string" && match[2] != "") ? match[2] : ""; - var isPercent = (typeof(match[3]) == "string" && match[3] != ""); - var tmp = whole.split(/,/); - var separatorAt; - if (typeof(locale) == "undefined") { - locale = "default"; - } - if (tmp.length == 1) { - separatorAt = null; - } else { - separatorAt = tmp[1].length; - } - var leadingZeros = whole.length - whole.replace(/0/g, "").length; - var trailingZeros = frac.length - frac.replace(/0/g, "").length; - var precision = frac.length; - var rval = MochiKit.Format._numberFormatter( - placeholder, header, footer, locale, isPercent, precision, - leadingZeros, separatorAt, trailingZeros - ); - var m = MochiKit.Base; - if (m) { - var fn = arguments.callee; - var args = m.concat(arguments); - rval.repr = function () { - return [ - self.NAME, - "(", - map(m.repr, args).join(", "), - ")" - ].join(""); - }; - } - return rval; -}; - -MochiKit.Format.formatLocale = function (locale) { - if (typeof(locale) == "undefined" || locale === null) { - locale = "default"; - } - if (typeof(locale) == "string") { - var rval = MochiKit.Format.LOCALE[locale]; - if (typeof(rval) == "string") { - rval = arguments.callee(rval); - MochiKit.Format.LOCALE[locale] = rval; - } - return rval; - } else { - return locale; - } -}; - -MochiKit.Format.twoDigitAverage = function (numerator, denominator) { - if (denominator) { - var res = numerator / denominator; - if (!isNaN(res)) { - return MochiKit.Format.twoDigitFloat(numerator / denominator); - } - } - return "0"; -}; - -MochiKit.Format.twoDigitFloat = function (someFloat) { - var sign = (someFloat < 0 ? '-' : ''); - var s = Math.floor(Math.abs(someFloat) * 100).toString(); - if (s == '0') { - return s; - } - if (s.length < 3) { - while (s.charAt(s.length - 1) == '0') { - s = s.substring(0, s.length - 1); - } - return sign + '0.' + s; - } - var head = sign + s.substring(0, s.length - 2); - var tail = s.substring(s.length - 2, s.length); - if (tail == '00') { - return head; - } else if (tail.charAt(1) == '0') { - return head + '.' + tail.charAt(0); - } else { - return head + '.' + tail; - } -}; - -MochiKit.Format.lstrip = function (str, /* optional */chars) { - str = str + ""; - if (typeof(str) != "string") { - return null; - } - if (!chars) { - return str.replace(/^\s+/, ""); - } else { - return str.replace(new RegExp("^[" + chars + "]+"), ""); - } -}; - -MochiKit.Format.rstrip = function (str, /* optional */chars) { - str = str + ""; - if (typeof(str) != "string") { - return null; - } - if (!chars) { - return str.replace(/\s+$/, ""); - } else { - return str.replace(new RegExp("[" + chars + "]+$"), ""); - } -}; - -MochiKit.Format.strip = function (str, /* optional */chars) { - var self = MochiKit.Format; - return self.rstrip(self.lstrip(str, chars), chars); -}; - -MochiKit.Format.truncToFixed = function (aNumber, precision) { - aNumber = Math.floor(aNumber * Math.pow(10, precision)); - var res = (aNumber * Math.pow(10, -precision)).toFixed(precision); - if (res.charAt(0) == ".") { - res = "0" + res; - } - return res; -}; - -MochiKit.Format.roundToFixed = function (aNumber, precision) { - return MochiKit.Format.truncToFixed( - aNumber + 0.5 * Math.pow(10, -precision), - precision - ); -}; - -MochiKit.Format.percentFormat = function (someFloat) { - return MochiKit.Format.twoDigitFloat(100 * someFloat) + '%'; -}; - -MochiKit.Format.EXPORT = [ - "truncToFixed", - "roundToFixed", - "numberFormatter", - "formatLocale", - "twoDigitAverage", - "twoDigitFloat", - "percentFormat", - "lstrip", - "rstrip", - "strip" -]; - -MochiKit.Format.LOCALE = { - en_US: {separator: ",", decimal: ".", percent: "%"}, - de_DE: {separator: ".", decimal: ",", percent: "%"}, - fr_FR: {separator: " ", decimal: ",", percent: "%"}, - "default": "en_US" -}; - -MochiKit.Format.EXPORT_OK = []; -MochiKit.Format.EXPORT_TAGS = { - ':all': MochiKit.Format.EXPORT, - ':common': MochiKit.Format.EXPORT -}; - -MochiKit.Format.__new__ = function () { - // MochiKit.Base.nameFunctions(this); - var base = this.NAME + "."; - var k, v, o; - for (k in this.LOCALE) { - o = this.LOCALE[k]; - if (typeof(o) == "object") { - o.repr = function () { return this.NAME; }; - o.NAME = base + "LOCALE." + k; - } - } - for (k in this) { - o = this[k]; - if (typeof(o) == 'function' && typeof(o.NAME) == 'undefined') { - try { - o.NAME = base + k; - } catch (e) { - // pass - } - } - } -}; - -MochiKit.Format.__new__(); - -if (typeof(MochiKit.Base) != "undefined") { - MochiKit.Base._exportSymbols(this, MochiKit.Format); -} else { - (function (globals, module) { - if ((typeof(JSAN) == 'undefined' && typeof(dojo) == 'undefined') - || (MochiKit.__export__ === false)) { - var all = module.EXPORT_TAGS[":all"]; - for (var i = 0; i < all.length; i++) { - globals[all[i]] = module[all[i]]; - } - } - })(this, MochiKit.Format); -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Iter.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Iter.js deleted file mode 100644 index 55ffb656e..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Iter.js +++ /dev/null @@ -1,807 +0,0 @@ -/*** - -MochiKit.Iter 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Iter'); - dojo.require('MochiKit.Base'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Iter depends on MochiKit.Base!"; -} - -if (typeof(MochiKit.Iter) == 'undefined') { - MochiKit.Iter = {}; -} - -MochiKit.Iter.NAME = "MochiKit.Iter"; -MochiKit.Iter.VERSION = "1.4"; -MochiKit.Base.update(MochiKit.Iter, { - __repr__: function () { - return "[" + this.NAME + " " + this.VERSION + "]"; - }, - toString: function () { - return this.__repr__(); - }, - - registerIteratorFactory: function (name, check, iterfactory, /* optional */ override) { - MochiKit.Iter.iteratorRegistry.register(name, check, iterfactory, override); - }, - - iter: function (iterable, /* optional */ sentinel) { - var self = MochiKit.Iter; - if (arguments.length == 2) { - return self.takewhile( - function (a) { return a != sentinel; }, - iterable - ); - } - if (typeof(iterable.next) == 'function') { - return iterable; - } else if (typeof(iterable.iter) == 'function') { - return iterable.iter(); - /* - } else if (typeof(iterable.__iterator__) == 'function') { - // - // XXX: We can't support JavaScript 1.7 __iterator__ directly - // because of Object.prototype.__iterator__ - // - return iterable.__iterator__(); - */ - } - - try { - return self.iteratorRegistry.match(iterable); - } catch (e) { - var m = MochiKit.Base; - if (e == m.NotFound) { - e = new TypeError(typeof(iterable) + ": " + m.repr(iterable) + " is not iterable"); - } - throw e; - } - }, - -// count: function (n) { -// if (!n) { -// n = 0; -// } -// var m = MochiKit.Base; -// return { -// repr: function () { return "count(" + n + ")"; }, -// toString: m.forwardCall("repr"), -// next: m.counter(n) -// }; -// }, - -// cycle: function (p) { -// var self = MochiKit.Iter; -// var m = MochiKit.Base; -// var lst = []; -// var iterator = self.iter(p); -// return { -// repr: function () { return "cycle(...)"; }, -// toString: m.forwardCall("repr"), -// next: function () { -// try { -// var rval = iterator.next(); -// lst.push(rval); -// return rval; -// } catch (e) { -// if (e != self.StopIteration) { -// throw e; -// } -// if (lst.length === 0) { -// this.next = function () { -// throw self.StopIteration; -// }; -// } else { -// var i = -1; -// this.next = function () { -// i = (i + 1) % lst.length; -// return lst[i]; -// }; -// } -// return this.next(); -// } -// } -// }; -// }, - - repeat: function (elem, /* optional */n) { - var m = MochiKit.Base; - if (typeof(n) == 'undefined') { - return { - repr: function () { - return "repeat(" + m.repr(elem) + ")"; - }, - toString: m.forwardCall("repr"), - next: function () { - return elem; - } - }; - } - return { - repr: function () { - return "repeat(" + m.repr(elem) + ", " + n + ")"; - }, - toString: m.forwardCall("repr"), - next: function () { - if (n <= 0) { - throw MochiKit.Iter.StopIteration; - } - n -= 1; - return elem; - } - }; - }, - - next: function (iterator) { - return iterator.next(); - }, - -// izip: function (p, q/*, ...*/) { -// var m = MochiKit.Base; -// var self = MochiKit.Iter; -// var next = self.next; -// var iterables = m.map(self.iter, arguments); -// return { -// repr: function () { return "izip(...)"; }, -// toString: m.forwardCall("repr"), -// next: function () { return m.map(next, iterables); } -// }; -// }, - - ifilter: function (pred, seq) { - var m = MochiKit.Base; - seq = MochiKit.Iter.iter(seq); - if (pred === null) { - pred = m.operator.truth; - } - return { - repr: function () { return "ifilter(...)"; }, - toString: m.forwardCall("repr"), - next: function () { - while (true) { - var rval = seq.next(); - if (pred(rval)) { - return rval; - } - } - // mozilla warnings aren't too bright - return undefined; - } - }; - }, - - ifilterfalse: function (pred, seq) { - var m = MochiKit.Base; - seq = MochiKit.Iter.iter(seq); - if (pred === null) { - pred = m.operator.truth; - } - return { - repr: function () { return "ifilterfalse(...)"; }, - toString: m.forwardCall("repr"), - next: function () { - while (true) { - var rval = seq.next(); - if (!pred(rval)) { - return rval; - } - } - // mozilla warnings aren't too bright - return undefined; - } - }; - }, - -// islice: function (seq/*, [start,] stop[, step] */) { -// var self = MochiKit.Iter; -// var m = MochiKit.Base; -// seq = self.iter(seq); -// var start = 0; -// var stop = 0; -// var step = 1; -// var i = -1; -// if (arguments.length == 2) { -// stop = arguments[1]; -// } else if (arguments.length == 3) { -// start = arguments[1]; -// stop = arguments[2]; -// } else { -// start = arguments[1]; -// stop = arguments[2]; -// step = arguments[3]; -// } -// return { -// repr: function () { -// return "islice(" + ["...", start, stop, step].join(", ") + ")"; -// }, -// toString: m.forwardCall("repr"), -// next: function () { -// var rval; -// while (i < start) { -// rval = seq.next(); -// i++; -// } -// if (start >= stop) { -// throw self.StopIteration; -// } -// start += step; -// return rval; -// } -// }; -// }, - - imap: function (fun, p, q/*, ...*/) { - var m = MochiKit.Base; - var self = MochiKit.Iter; - var iterables = m.map(self.iter, m.extend(null, arguments, 1)); - var map = m.map; - var next = self.next; - return { - repr: function () { return "imap(...)"; }, - toString: m.forwardCall("repr"), - next: function () { - return fun.apply(this, map(next, iterables)); - } - }; - }, - -// applymap: function (fun, seq, self) { -// seq = MochiKit.Iter.iter(seq); -// var m = MochiKit.Base; -// return { -// repr: function () { return "applymap(...)"; }, -// toString: m.forwardCall("repr"), -// next: function () { -// return fun.apply(self, seq.next()); -// } -// }; -// }, - -// chain: function (p, q/*, ...*/) { -// // dumb fast path -// var self = MochiKit.Iter; -// var m = MochiKit.Base; -// if (arguments.length == 1) { -// return self.iter(arguments[0]); -// } -// var argiter = m.map(self.iter, arguments); -// return { -// repr: function () { return "chain(...)"; }, -// toString: m.forwardCall("repr"), -// next: function () { -// while (argiter.length > 1) { -// try { -// return argiter[0].next(); -// } catch (e) { -// if (e != self.StopIteration) { -// throw e; -// } -// argiter.shift(); -// } -// } -// if (argiter.length == 1) { -// // optimize last element -// var arg = argiter.shift(); -// this.next = m.bind("next", arg); -// return this.next(); -// } -// throw self.StopIteration; -// } -// }; -// }, - -// takewhile: function (pred, seq) { -// var self = MochiKit.Iter; -// seq = self.iter(seq); -// return { -// repr: function () { return "takewhile(...)"; }, -// toString: MochiKit.Base.forwardCall("repr"), -// next: function () { -// var rval = seq.next(); -// if (!pred(rval)) { -// this.next = function () { -// throw self.StopIteration; -// }; -// this.next(); -// } -// return rval; -// } -// }; -// }, - -// dropwhile: function (pred, seq) { -// seq = MochiKit.Iter.iter(seq); -// var m = MochiKit.Base; -// var bind = m.bind; -// return { -// "repr": function () { return "dropwhile(...)"; }, -// "toString": m.forwardCall("repr"), -// "next": function () { -// while (true) { -// var rval = seq.next(); -// if (!pred(rval)) { -// break; -// } -// } -// this.next = bind("next", seq); -// return rval; -// } -// }; -// }, - -// _tee: function (ident, sync, iterable) { -// sync.pos[ident] = -1; -// var m = MochiKit.Base; -// var listMin = m.listMin; -// return { -// repr: function () { return "tee(" + ident + ", ...)"; }, -// toString: m.forwardCall("repr"), -// next: function () { -// var rval; -// var i = sync.pos[ident]; -// -// if (i == sync.max) { -// rval = iterable.next(); -// sync.deque.push(rval); -// sync.max += 1; -// sync.pos[ident] += 1; -// } else { -// rval = sync.deque[i - sync.min]; -// sync.pos[ident] += 1; -// if (i == sync.min && listMin(sync.pos) != sync.min) { -// sync.min += 1; -// sync.deque.shift(); -// } -// } -// return rval; -// } -// }; -// }, - -// tee: function (iterable, n/* = 2 */) { -// var rval = []; -// var sync = { -// "pos": [], -// "deque": [], -// "max": -1, -// "min": -1 -// }; -// if (arguments.length == 1 || typeof(n) == "undefined" || n === null) { -// n = 2; -// } -// var self = MochiKit.Iter; -// iterable = self.iter(iterable); -// var _tee = self._tee; -// for (var i = 0; i < n; i++) { -// rval.push(_tee(i, sync, iterable)); -// } -// return rval; -// }, - - list: function (iterable) { - // Fast-path for Array and Array-like - var m = MochiKit.Base; - if (typeof(iterable.slice) == 'function') { - return iterable.slice(); - } else if (m.isArrayLike(iterable)) { - return m.concat(iterable); - } - - var self = MochiKit.Iter; - iterable = self.iter(iterable); - var rval = []; - try { - while (true) { - rval.push(iterable.next()); - } - } catch (e) { - if (e != self.StopIteration) { - throw e; - } - return rval; - } - // mozilla warnings aren't too bright - return undefined; - }, - - -// reduce: function (fn, iterable, /* optional */initial) { -// var i = 0; -// var x = initial; -// var self = MochiKit.Iter; -// iterable = self.iter(iterable); -// if (arguments.length < 3) { -// try { -// x = iterable.next(); -// } catch (e) { -// if (e == self.StopIteration) { -// e = new TypeError("reduce() of empty sequence with no initial value"); -// } -// throw e; -// } -// i++; -// } -// try { -// while (true) { -// x = fn(x, iterable.next()); -// } -// } catch (e) { -// if (e != self.StopIteration) { -// throw e; -// } -// } -// return x; -// }, - -// range: function (/* [start,] stop[, step] */) { -// var start = 0; -// var stop = 0; -// var step = 1; -// if (arguments.length == 1) { -// stop = arguments[0]; -// } else if (arguments.length == 2) { -// start = arguments[0]; -// stop = arguments[1]; -// } else if (arguments.length == 3) { -// start = arguments[0]; -// stop = arguments[1]; -// step = arguments[2]; -// } else { -// throw new TypeError("range() takes 1, 2, or 3 arguments!"); -// } -// if (step === 0) { -// throw new TypeError("range() step must not be 0"); -// } -// return { -// next: function () { -// if ((step > 0 && start >= stop) || (step < 0 && start <= stop)) { -// throw MochiKit.Iter.StopIteration; -// } -// var rval = start; -// start += step; -// return rval; -// }, -// repr: function () { -// return "range(" + [start, stop, step].join(", ") + ")"; -// }, -// toString: MochiKit.Base.forwardCall("repr") -// }; -// }, -// -// sum: function (iterable, start/* = 0 */) { -// if (typeof(start) == "undefined" || start === null) { -// start = 0; -// } -// var x = start; -// var self = MochiKit.Iter; -// iterable = self.iter(iterable); -// try { -// while (true) { -// x += iterable.next(); -// } -// } catch (e) { -// if (e != self.StopIteration) { -// throw e; -// } -// } -// return x; -// }, - -// exhaust: function (iterable) { -// var self = MochiKit.Iter; -// iterable = self.iter(iterable); -// try { -// while (true) { -// iterable.next(); -// } -// } catch (e) { -// if (e != self.StopIteration) { -// throw e; -// } -// } -// }, - - forEach: function (iterable, func, /* optional */self) { - var m = MochiKit.Base; - if (arguments.length > 2) { - func = m.bind(func, self); - } - // fast path for array - if (m.isArrayLike(iterable)) { - try { - for (var i = 0; i < iterable.length; i++) { - func(iterable[i]); - } - } catch (e) { - if (e != MochiKit.Iter.StopIteration) { - throw e; - } - } - } else { - self = MochiKit.Iter; - self.exhaust(self.imap(func, iterable)); - } - }, - - every: function (iterable, func) { - var self = MochiKit.Iter; - try { - self.ifilterfalse(func, iterable).next(); - return false; - } catch (e) { - if (e != self.StopIteration) { - throw e; - } - return true; - } - }, - -// sorted: function (iterable, /* optional */cmp) { -// var rval = MochiKit.Iter.list(iterable); -// if (arguments.length == 1) { -// cmp = MochiKit.Base.compare; -// } -// rval.sort(cmp); -// return rval; -// }, - -// reversed: function (iterable) { -// var rval = MochiKit.Iter.list(iterable); -// rval.reverse(); -// return rval; -// }, -// -// some: function (iterable, func) { -// var self = MochiKit.Iter; -// try { -// self.ifilter(func, iterable).next(); -// return true; -// } catch (e) { -// if (e != self.StopIteration) { -// throw e; -// } -// return false; -// } -// }, -// -// iextend: function (lst, iterable) { -// if (MochiKit.Base.isArrayLike(iterable)) { -// // fast-path for array-like -// for (var i = 0; i < iterable.length; i++) { -// lst.push(iterable[i]); -// } -// } else { -// var self = MochiKit.Iter; -// iterable = self.iter(iterable); -// try { -// while (true) { -// lst.push(iterable.next()); -// } -// } catch (e) { -// if (e != self.StopIteration) { -// throw e; -// } -// } -// } -// return lst; -// }, - -// groupby: function(iterable, /* optional */ keyfunc) { -// var m = MochiKit.Base; -// var self = MochiKit.Iter; -// if (arguments.length < 2) { -// keyfunc = m.operator.identity; -// } -// iterable = self.iter(iterable); -// -// // shared -// var pk = undefined; -// var k = undefined; -// var v; -// -// function fetch() { -// v = iterable.next(); -// k = keyfunc(v); -// }; -// -// function eat() { -// var ret = v; -// v = undefined; -// return ret; -// }; -// -// var first = true; -// return { -// repr: function () { return "groupby(...)"; }, -// next: function() { -// // iterator-next -// -// // iterate until meet next group -// while (k == pk) { -// fetch(); -// if (first) { -// first = false; -// break; -// } -// } -// pk = k; -// return [k, { -// next: function() { -// // subiterator-next -// if (v == undefined) { // Is there something to eat? -// fetch(); -// } -// if (k != pk) { -// throw self.StopIteration; -// } -// return eat(); -// } -// }]; -// } -// }; -// }, - -// groupby_as_array: function (iterable, /* optional */ keyfunc) { -// var m = MochiKit.Base; -// var self = MochiKit.Iter; -// if (arguments.length < 2) { -// keyfunc = m.operator.identity; -// } -// -// iterable = self.iter(iterable); -// var result = []; -// var first = true; -// var prev_key; -// while (true) { -// try { -// var value = iterable.next(); -// var key = keyfunc(value); -// } catch (e) { -// if (e == self.StopIteration) { -// break; -// } -// throw e; -// } -// if (first || key != prev_key) { -// var values = []; -// result.push([key, values]); -// } -// values.push(value); -// first = false; -// prev_key = key; -// } -// return result; -// }, - - arrayLikeIter: function (iterable) { - var i = 0; - return { - repr: function () { return "arrayLikeIter(...)"; }, - toString: MochiKit.Base.forwardCall("repr"), - next: function () { - if (i >= iterable.length) { - throw MochiKit.Iter.StopIteration; - } - return iterable[i++]; - } - }; - }, - - hasIterateNext: function (iterable) { - return (iterable && typeof(iterable.iterateNext) == "function"); - }, - - iterateNextIter: function (iterable) { - return { - repr: function () { return "iterateNextIter(...)"; }, - toString: MochiKit.Base.forwardCall("repr"), - next: function () { - var rval = iterable.iterateNext(); - if (rval === null || rval === undefined) { - throw MochiKit.Iter.StopIteration; - } - return rval; - } - }; - } -}); - - -MochiKit.Iter.EXPORT_OK = [ - "iteratorRegistry", - "arrayLikeIter", - "hasIterateNext", - "iterateNextIter", -]; - -MochiKit.Iter.EXPORT = [ - "StopIteration", - "registerIteratorFactory", - "iter", - "count", - "cycle", - "repeat", - "next", - "izip", - "ifilter", - "ifilterfalse", - "islice", - "imap", - "applymap", - "chain", - "takewhile", - "dropwhile", - "tee", - "list", - "reduce", - "range", - "sum", - "exhaust", - "forEach", - "every", - "sorted", - "reversed", - "some", - "iextend", - "groupby", - "groupby_as_array" -]; - -MochiKit.Iter.__new__ = function () { - var m = MochiKit.Base; - // Re-use StopIteration if exists (e.g. SpiderMonkey) - if (typeof(StopIteration) != "undefined") { - this.StopIteration = StopIteration; - } else { - this.StopIteration = new m.NamedError("StopIteration"); - } - this.iteratorRegistry = new m.AdapterRegistry(); - // Register the iterator factory for arrays - this.registerIteratorFactory( - "arrayLike", - m.isArrayLike, - this.arrayLikeIter - ); - - this.registerIteratorFactory( - "iterateNext", - this.hasIterateNext, - this.iterateNextIter - ); - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": m.concat(this.EXPORT, this.EXPORT_OK) - }; - - m.nameFunctions(this); - -}; - -MochiKit.Iter.__new__(); - -// -// XXX: Internet Explorer blows -// -if (MochiKit.__export__) { - reduce = MochiKit.Iter.reduce; -} - -MochiKit.Base._exportSymbols(this, MochiKit.Iter); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/License.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/License.js deleted file mode 100644 index e6eba2933..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/License.js +++ /dev/null @@ -1,9 +0,0 @@ -/*** - -MochiKit.Base 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Logging.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Logging.js deleted file mode 100644 index b329f913e..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Logging.js +++ /dev/null @@ -1,299 +0,0 @@ -/*** - -MochiKit.Logging 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Logging'); - dojo.require('MochiKit.Base'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Logging depends on MochiKit.Base!"; -} - -if (typeof(MochiKit.Logging) == 'undefined') { - MochiKit.Logging = {}; -} - -MochiKit.Logging.NAME = "MochiKit.Logging"; -MochiKit.Logging.VERSION = "1.4"; -MochiKit.Logging.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; - -MochiKit.Logging.toString = function () { - return this.__repr__(); -}; - - -MochiKit.Logging.EXPORT = [ - "LogLevel", - "LogMessage", - "Logger", - "alertListener", - "logger", - "log", - "logError", - "logDebug", - "logFatal", - "logWarning" -]; - - -MochiKit.Logging.EXPORT_OK = [ - "logLevelAtLeast", - "isLogMessage", - "compareLogMessage" -]; - - -MochiKit.Logging.LogMessage = function (num, level, info) { - this.num = num; - this.level = level; - this.info = info; - this.timestamp = new Date(); -}; - -MochiKit.Logging.LogMessage.prototype = { - repr: function () { - var m = MochiKit.Base; - return 'LogMessage(' + - m.map( - m.repr, - [this.num, this.level, this.info] - ).join(', ') + ')'; - }, - toString: MochiKit.Base.forwardCall("repr") -}; - -MochiKit.Base.update(MochiKit.Logging, { - logLevelAtLeast: function (minLevel) { - var self = MochiKit.Logging; - if (typeof(minLevel) == 'string') { - minLevel = self.LogLevel[minLevel]; - } - return function (msg) { - var msgLevel = msg.level; - if (typeof(msgLevel) == 'string') { - msgLevel = self.LogLevel[msgLevel]; - } - return msgLevel >= minLevel; - }; - }, - - isLogMessage: function (/* ... */) { - var LogMessage = MochiKit.Logging.LogMessage; - for (var i = 0; i < arguments.length; i++) { - if (!(arguments[i] instanceof LogMessage)) { - return false; - } - } - return true; - }, - - compareLogMessage: function (a, b) { - return MochiKit.Base.compare([a.level, a.info], [b.level, b.info]); - }, - - alertListener: function (msg) { - alert( - "num: " + msg.num + - "\nlevel: " + msg.level + - "\ninfo: " + msg.info.join(" ") - ); - } - -}); - -MochiKit.Logging.Logger = function (/* optional */maxSize) { - this.counter = 0; - if (typeof(maxSize) == 'undefined' || maxSize === null) { - maxSize = -1; - } - this.maxSize = maxSize; - this._messages = []; - this.listeners = {}; - this.useNativeConsole = false; -}; - -MochiKit.Logging.Logger.prototype = { - clear: function () { - this._messages.splice(0, this._messages.length); - }, - - logToConsole: function (msg) { - if (typeof(window) != "undefined" && window.console - && window.console.log) { - // Safari and FireBug 0.4 - // Percent replacement is a workaround for cute Safari crashing bug - window.console.log(msg.replace(/%/g, '\uFF05')); - } else if (typeof(opera) != "undefined" && opera.postError) { - // Opera - opera.postError(msg); - } else if (typeof(printfire) == "function") { - // FireBug 0.3 and earlier - printfire(msg); - } else if (typeof(Debug) != "undefined" && Debug.writeln) { - // IE Web Development Helper (?) - // http://www.nikhilk.net/Entry.aspx?id=93 - Debug.writeln(msg); - } else if (typeof(debug) != "undefined" && debug.trace) { - // Atlas framework (?) - // http://www.nikhilk.net/Entry.aspx?id=93 - debug.trace(msg); - } - }, - - dispatchListeners: function (msg) { - for (var k in this.listeners) { - var pair = this.listeners[k]; - if (pair.ident != k || (pair[0] && !pair[0](msg))) { - continue; - } - pair[1](msg); - } - }, - - addListener: function (ident, filter, listener) { - if (typeof(filter) == 'string') { - filter = MochiKit.Logging.logLevelAtLeast(filter); - } - var entry = [filter, listener]; - entry.ident = ident; - this.listeners[ident] = entry; - }, - - removeListener: function (ident) { - delete this.listeners[ident]; - }, - - baseLog: function (level, message/*, ...*/) { - var msg = new MochiKit.Logging.LogMessage( - this.counter, - level, - MochiKit.Base.extend(null, arguments, 1) - ); - this._messages.push(msg); - this.dispatchListeners(msg); - if (this.useNativeConsole) { - this.logToConsole(msg.level + ": " + msg.info.join(" ")); - } - this.counter += 1; - while (this.maxSize >= 0 && this._messages.length > this.maxSize) { - this._messages.shift(); - } - }, - - getMessages: function (howMany) { - var firstMsg = 0; - if (!(typeof(howMany) == 'undefined' || howMany === null)) { - firstMsg = Math.max(0, this._messages.length - howMany); - } - return this._messages.slice(firstMsg); - }, - - getMessageText: function (howMany) { - if (typeof(howMany) == 'undefined' || howMany === null) { - howMany = 30; - } - var messages = this.getMessages(howMany); - if (messages.length) { - var lst = map(function (m) { - return '\n [' + m.num + '] ' + m.level + ': ' + m.info.join(' '); - }, messages); - lst.unshift('LAST ' + messages.length + ' MESSAGES:'); - return lst.join(''); - } - return ''; - }, - - debuggingBookmarklet: function (inline) { - if (typeof(MochiKit.LoggingPane) == "undefined") { - alert(this.getMessageText()); - } else { - MochiKit.LoggingPane.createLoggingPane(inline || false); - } - } -}; - - -MochiKit.Logging.__new__ = function () { - this.LogLevel = { - ERROR: 40, - FATAL: 50, - WARNING: 30, - INFO: 20, - DEBUG: 10 - }; - - var m = MochiKit.Base; - m.registerComparator("LogMessage", - this.isLogMessage, - this.compareLogMessage - ); - - var partial = m.partial; - - var Logger = this.Logger; - var baseLog = Logger.prototype.baseLog; - m.update(this.Logger.prototype, { - debug: partial(baseLog, 'DEBUG'), - log: partial(baseLog, 'INFO'), - error: partial(baseLog, 'ERROR'), - fatal: partial(baseLog, 'FATAL'), - warning: partial(baseLog, 'WARNING') - }); - - // indirectly find logger so it can be replaced - var self = this; - var connectLog = function (name) { - return function () { - self.logger[name].apply(self.logger, arguments); - }; - }; - - this.log = connectLog('log'); - this.logError = connectLog('error'); - this.logDebug = connectLog('debug'); - this.logFatal = connectLog('fatal'); - this.logWarning = connectLog('warning'); - this.logger = new Logger(); - this.logger.useNativeConsole = true; - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": m.concat(this.EXPORT, this.EXPORT_OK) - }; - - m.nameFunctions(this); - -}; - -if (typeof(printfire) == "undefined" && - typeof(document) != "undefined" && document.createEvent && - typeof(dispatchEvent) != "undefined") { - // FireBug really should be less lame about this global function - printfire = function () { - printfire.args = arguments; - var ev = document.createEvent("Events"); - ev.initEvent("printfire", false, true); - dispatchEvent(ev); - }; -} - -MochiKit.Logging.__new__(); - -MochiKit.Base._exportSymbols(this, MochiKit.Logging); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/LoggingPane.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/LoggingPane.js deleted file mode 100644 index b5f53b759..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/LoggingPane.js +++ /dev/null @@ -1,356 +0,0 @@ -/*** - -MochiKit.LoggingPane 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.LoggingPane'); - dojo.require('MochiKit.Logging'); - dojo.require('MochiKit.Base'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Logging", []); - JSAN.use("MochiKit.Base", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined' || typeof(MochiKit.Logging) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.LoggingPane depends on MochiKit.Base and MochiKit.Logging!"; -} - -if (typeof(MochiKit.LoggingPane) == 'undefined') { - MochiKit.LoggingPane = {}; -} - -MochiKit.LoggingPane.NAME = "MochiKit.LoggingPane"; -MochiKit.LoggingPane.VERSION = "1.4"; -MochiKit.LoggingPane.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; - -MochiKit.LoggingPane.toString = function () { - return this.__repr__(); -}; - -MochiKit.LoggingPane.createLoggingPane = function (inline/* = false */) { - var m = MochiKit.LoggingPane; - inline = !(!inline); - if (m._loggingPane && m._loggingPane.inline != inline) { - m._loggingPane.closePane(); - m._loggingPane = null; - } - if (!m._loggingPane || m._loggingPane.closed) { - m._loggingPane = new m.LoggingPane(inline, MochiKit.Logging.logger); - } - return m._loggingPane; -}; - -MochiKit.LoggingPane.LoggingPane = function (inline/* = false */, logger/* = MochiKit.Logging.logger */) { - /* Use a div if inline, pop up a window if not */ - /* Create the elements */ - if (typeof(logger) == "undefined" || logger === null) { - logger = MochiKit.Logging.logger; - } - this.logger = logger; - var update = MochiKit.Base.update; - var updatetree = MochiKit.Base.updatetree; - var bind = MochiKit.Base.bind; - var clone = MochiKit.Base.clone; - var win = window; - var uid = "_MochiKit_LoggingPane"; - if (typeof(MochiKit.DOM) != "undefined") { - win = MochiKit.DOM.currentWindow(); - } - if (!inline) { - // name the popup with the base URL for uniqueness - var url = win.location.href.split("?")[0].replace(/[:\/.><&-]/g, "_"); - var name = uid + "_" + url; - var nwin = win.open("", name, "dependent,resizable,height=200"); - if (!nwin) { - alert("Not able to open debugging window due to pop-up blocking."); - return undefined; - } - nwin.document.write( - '' - + '[MochiKit.LoggingPane]' - + '' - ); - nwin.document.close(); - nwin.document.title += ' ' + win.document.title; - win = nwin; - } - var doc = win.document; - this.doc = doc; - - // Connect to the debug pane if it already exists (i.e. in a window orphaned by the page being refreshed) - var debugPane = doc.getElementById(uid); - var existing_pane = !!debugPane; - if (debugPane && typeof(debugPane.loggingPane) != "undefined") { - debugPane.loggingPane.logger = this.logger; - debugPane.loggingPane.buildAndApplyFilter(); - return debugPane.loggingPane; - } - - if (existing_pane) { - // clear any existing contents - var child; - while ((child = debugPane.firstChild)) { - debugPane.removeChild(child); - } - } else { - debugPane = doc.createElement("div"); - debugPane.id = uid; - } - debugPane.loggingPane = this; - var levelFilterField = doc.createElement("input"); - var infoFilterField = doc.createElement("input"); - var filterButton = doc.createElement("button"); - var loadButton = doc.createElement("button"); - var clearButton = doc.createElement("button"); - var closeButton = doc.createElement("button"); - var logPaneArea = doc.createElement("div"); - var logPane = doc.createElement("div"); - - /* Set up the functions */ - var listenerId = uid + "_Listener"; - this.colorTable = clone(this.colorTable); - var messages = []; - var messageFilter = null; - - var messageLevel = function (msg) { - var level = msg.level; - if (typeof(level) == "number") { - level = MochiKit.Logging.LogLevel[level]; - } - return level; - }; - - var messageText = function (msg) { - return msg.info.join(" "); - }; - - var addMessageText = bind(function (msg) { - var level = messageLevel(msg); - var text = messageText(msg); - var c = this.colorTable[level]; - var p = doc.createElement("span"); - p.className = "MochiKit-LogMessage MochiKit-LogLevel-" + level; - p.style.cssText = "margin: 0px; white-space: -moz-pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; wrap-option: emergency; color: " + c; - p.appendChild(doc.createTextNode(level + ": " + text)); - logPane.appendChild(p); - logPane.appendChild(doc.createElement("br")); - if (logPaneArea.offsetHeight > logPaneArea.scrollHeight) { - logPaneArea.scrollTop = 0; - } else { - logPaneArea.scrollTop = logPaneArea.scrollHeight; - } - }, this); - - var addMessage = function (msg) { - messages[messages.length] = msg; - addMessageText(msg); - }; - - var buildMessageFilter = function () { - var levelre, infore; - try { - /* Catch any exceptions that might arise due to invalid regexes */ - levelre = new RegExp(levelFilterField.value); - infore = new RegExp(infoFilterField.value); - } catch(e) { - /* If there was an error with the regexes, do no filtering */ - logDebug("Error in filter regex: " + e.message); - return null; - } - - return function (msg) { - return ( - levelre.test(messageLevel(msg)) && - infore.test(messageText(msg)) - ); - }; - }; - - var clearMessagePane = function () { - while (logPane.firstChild) { - logPane.removeChild(logPane.firstChild); - } - }; - - var clearMessages = function () { - messages = []; - clearMessagePane(); - }; - - var closePane = bind(function () { - if (this.closed) { - return; - } - this.closed = true; - if (MochiKit.LoggingPane._loggingPane == this) { - MochiKit.LoggingPane._loggingPane = null; - } - this.logger.removeListener(listenerId); - - debugPane.loggingPane = null; - - if (inline) { - debugPane.parentNode.removeChild(debugPane); - } else { - this.win.close(); - } - }, this); - - var filterMessages = function () { - clearMessagePane(); - - for (var i = 0; i < messages.length; i++) { - var msg = messages[i]; - if (messageFilter === null || messageFilter(msg)) { - addMessageText(msg); - } - } - }; - - this.buildAndApplyFilter = function () { - messageFilter = buildMessageFilter(); - - filterMessages(); - - this.logger.removeListener(listenerId); - this.logger.addListener(listenerId, messageFilter, addMessage); - }; - - - var loadMessages = bind(function () { - messages = this.logger.getMessages(); - filterMessages(); - }, this); - - var filterOnEnter = bind(function (event) { - event = event || window.event; - key = event.which || event.keyCode; - if (key == 13) { - this.buildAndApplyFilter(); - } - }, this); - - /* Create the debug pane */ - var style = "display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: " + this.logFont; - if (inline) { - style += "; height: 10em; border-top: 2px solid black"; - } else { - style += "; height: 100%;"; - } - debugPane.style.cssText = style; - - if (!existing_pane) { - doc.body.appendChild(debugPane); - } - - /* Create the filter fields */ - style = {"cssText": "width: 33%; display: inline; font: " + this.logFont}; - - updatetree(levelFilterField, { - "value": "FATAL|ERROR|WARNING|INFO|DEBUG", - "onkeypress": filterOnEnter, - "style": style - }); - debugPane.appendChild(levelFilterField); - - updatetree(infoFilterField, { - "value": ".*", - "onkeypress": filterOnEnter, - "style": style - }); - debugPane.appendChild(infoFilterField); - - /* Create the buttons */ - style = "width: 8%; display:inline; font: " + this.logFont; - - filterButton.appendChild(doc.createTextNode("Filter")); - filterButton.onclick = bind("buildAndApplyFilter", this); - filterButton.style.cssText = style; - debugPane.appendChild(filterButton); - - loadButton.appendChild(doc.createTextNode("Load")); - loadButton.onclick = loadMessages; - loadButton.style.cssText = style; - debugPane.appendChild(loadButton); - - clearButton.appendChild(doc.createTextNode("Clear")); - clearButton.onclick = clearMessages; - clearButton.style.cssText = style; - debugPane.appendChild(clearButton); - - closeButton.appendChild(doc.createTextNode("Close")); - closeButton.onclick = closePane; - closeButton.style.cssText = style; - debugPane.appendChild(closeButton); - - /* Create the logging pane */ - logPaneArea.style.cssText = "overflow: auto; width: 100%"; - logPane.style.cssText = "width: 100%; height: " + (inline ? "8em" : "100%"); - - logPaneArea.appendChild(logPane); - debugPane.appendChild(logPaneArea); - - this.buildAndApplyFilter(); - loadMessages(); - - if (inline) { - this.win = undefined; - } else { - this.win = win; - } - this.inline = inline; - this.closePane = closePane; - this.closed = false; - - return this; -}; - -MochiKit.LoggingPane.LoggingPane.prototype = { - "logFont": "8pt Verdana,sans-serif", - "colorTable": { - "ERROR": "red", - "FATAL": "darkred", - "WARNING": "blue", - "INFO": "black", - "DEBUG": "green" - } -}; - - -MochiKit.LoggingPane.EXPORT_OK = [ - "LoggingPane" -]; - -MochiKit.LoggingPane.EXPORT = [ - "createLoggingPane" -]; - -MochiKit.LoggingPane.__new__ = function () { - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": MochiKit.Base.concat(this.EXPORT, this.EXPORT_OK) - }; - - MochiKit.Base.nameFunctions(this); - - MochiKit.LoggingPane._loggingPane = null; - -}; - -MochiKit.LoggingPane.__new__(); - -MochiKit.Base._exportSymbols(this, MochiKit.LoggingPane); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/MochiKit.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/MochiKit.js deleted file mode 100644 index 2b8d6991b..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/MochiKit.js +++ /dev/null @@ -1,149 +0,0 @@ -/*** - -MochiKit.MochiKit 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(MochiKit) == 'undefined') { - MochiKit = {}; -} - -if (typeof(MochiKit.MochiKit) == 'undefined') { - MochiKit.MochiKit = {}; -} - -MochiKit.MochiKit.NAME = "MochiKit.MochiKit"; -MochiKit.MochiKit.VERSION = "1.4"; -MochiKit.MochiKit.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; - -MochiKit.MochiKit.toString = function () { - return this.__repr__(); -}; - -MochiKit.MochiKit.SUBMODULES = [ - "Base", - "Iter", - "Logging", - "DateTime", - "Format", - "Async", - "DOM", - "Style", - "LoggingPane", - "Color", - "Signal", - "Visual" -]; - -if (typeof(JSAN) != 'undefined' || typeof(dojo) != 'undefined') { - if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.MochiKit'); - dojo.require("MochiKit.*"); - } - if (typeof(JSAN) != 'undefined') { - (function (lst) { - for (var i = 0; i < lst.length; i++) { - JSAN.use("MochiKit." + lst[i], []); - } - })(MochiKit.MochiKit.SUBMODULES); - } - (function () { - var extend = MochiKit.Base.extend; - var self = MochiKit.MochiKit; - var modules = self.SUBMODULES; - var EXPORT = []; - var EXPORT_OK = []; - var EXPORT_TAGS = {}; - var i, k, m, all; - for (i = 0; i < modules.length; i++) { - m = MochiKit[modules[i]]; - extend(EXPORT, m.EXPORT); - extend(EXPORT_OK, m.EXPORT_OK); - for (k in m.EXPORT_TAGS) { - EXPORT_TAGS[k] = extend(EXPORT_TAGS[k], m.EXPORT_TAGS[k]); - } - all = m.EXPORT_TAGS[":all"]; - if (!all) { - all = extend(null, m.EXPORT, m.EXPORT_OK); - } - var j; - for (j = 0; j < all.length; j++) { - k = all[j]; - self[k] = m[k]; - } - } - self.EXPORT = EXPORT; - self.EXPORT_OK = EXPORT_OK; - self.EXPORT_TAGS = EXPORT_TAGS; - }()); - -} else { - if (typeof(MochiKit.__compat__) == 'undefined') { - MochiKit.__compat__ = true; - } - (function () { - if (typeof(document) == "undefined") { - return; - } - var scripts = document.getElementsByTagName("script"); - var kXULNSURI = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; - var base = null; - var baseElem = null; - var allScripts = {}; - var i; - for (i = 0; i < scripts.length; i++) { - var src = scripts[i].getAttribute("src"); - if (!src) { - continue; - } - allScripts[src] = true; - if (src.match(/MochiKit.js$/)) { - base = src.substring(0, src.lastIndexOf('MochiKit.js')); - baseElem = scripts[i]; - } - } - if (base === null) { - return; - } - var modules = MochiKit.MochiKit.SUBMODULES; - for (var i = 0; i < modules.length; i++) { - if (MochiKit[modules[i]]) { - continue; - } - var uri = base + modules[i] + '.js'; - if (uri in allScripts) { - continue; - } - if (document.documentElement && - document.documentElement.namespaceURI == kXULNSURI) { - // XUL - var s = document.createElementNS(kXULNSURI, 'script'); - s.setAttribute("id", "MochiKit_" + base + modules[i]); - s.setAttribute("src", uri); - s.setAttribute("type", "application/x-javascript"); - baseElem.parentNode.appendChild(s); - } else { - // HTML - /* - DOM can not be used here because Safari does - deferred loading of scripts unless they are - in the document or inserted with document.write - - This is not XHTML compliant. If you want XHTML - compliance then you must use the packed version of MochiKit - or include each script individually (basically unroll - these document.write calls into your XHTML source) - - */ - document.write(''); - } - }; - })(); -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/MockDOM.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/MockDOM.js deleted file mode 100644 index abab10fe5..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/MockDOM.js +++ /dev/null @@ -1,88 +0,0 @@ -/*** - -MochiKit.MockDOM 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ -if (typeof(MochiKit) == "undefined") { - MochiKit = {}; -} - -if (typeof(MochiKit.MockDOM) == "undefined") { - MochiKit.MockDOM = {}; -} - -MochiKit.MockDOM.NAME = "MochiKit.MockDOM"; -MochiKit.MockDOM.VERSION = "1.4"; - -MochiKit.MockDOM.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; - -MochiKit.MockDOM.toString = function () { - return this.__repr__(); -}; - -MochiKit.MockDOM.createDocument = function () { - var doc = new MochiKit.MockDOM.MockElement("DOCUMENT"); - doc.body = doc.createElement("BODY"); - doc.appendChild(doc.body); - return doc; -}; - -MochiKit.MockDOM.MockElement = function (name, data) { - this.nodeName = name.toUpperCase(); - if (typeof(data) == "string") { - this.nodeValue = data; - this.nodeType = 3; - } else { - this.nodeType = 1; - this.childNodes = []; - } - if (name.substring(0, 1) == "<") { - var nameattr = name.substring( - name.indexOf('"') + 1, name.lastIndexOf('"')); - name = name.substring(1, name.indexOf(" ")); - this.nodeName = name.toUpperCase(); - this.setAttribute("name", nameattr); - } -}; - -MochiKit.MockDOM.MockElement.prototype = { - createElement: function (nodeName) { - return new MochiKit.MockDOM.MockElement(nodeName); - }, - createTextNode: function (text) { - return new MochiKit.MockDOM.MockElement("text", text); - }, - setAttribute: function (name, value) { - this[name] = value; - }, - getAttribute: function (name) { - return this[name]; - }, - appendChild: function (child) { - this.childNodes.push(child); - }, - toString: function () { - return "MockElement(" + this.nodeName + ")"; - } -}; - -MochiKit.MockDOM.EXPORT_OK = [ - "mockElement", - "createDocument" -]; - -MochiKit.MockDOM.EXPORT = [ - "document" -]; - -MochiKit.MockDOM.__new__ = function () { - this.document = this.createDocument(); -}; - -MochiKit.MockDOM.__new__(); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/New.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/New.js deleted file mode 100644 index 97bfe8a60..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/New.js +++ /dev/null @@ -1,365 +0,0 @@ - -MochiKit.Base.update(MochiKit.Base, { - isIE: function () { - return /MSIE/.test(navigator.userAgent); - }, - - isGecko: function () { - return /Gecko/.test(navigator.userAgent); - }, - - isKHTML: function () { - return /Konqueror|Safari|KHTML/.test(navigator.userAgent) - }, - - isSafari: function () { - return /AppleWebKit'/.test(navigator.appVersion); - }, - - isOpera: function () { - return /Opera/.test(navigator.userAgent); - } -}); - -MochiKit.Base.update(MochiKit.DOM, { - getStyle: function (element, style) { - element = MochiKit.DOM.getElement(element); - var value = element.style[MochiKit.Base.camelize(style)]; - if (!value) { - if (document.defaultView && document.defaultView.getComputedStyle) { - var css = document.defaultView.getComputedStyle(element, null); - value = css ? css.getPropertyValue(style) : null; - } else if (element.currentStyle) { - value = element.currentStyle[MochiKit.Base.camelize(style)]; - } - } - - if (MochiKit.Base.isOpera() && (MochiKit.Base.find(['left', 'top', 'right', 'bottom'], style))) { - if (MochiKit.DOM.getStyle(element, 'position') == 'static') { - value = 'auto'; - } - } - - return value == 'auto' ? null : value; - }, - - setStyle: function (element, style) { - element = MochiKit.DOM.getElement(element); - for (var name in style) { - element.style[MochiKit.Base.camelize(name)] = style[name]; - } - }, - - getOpacity: function (element) { - var opacity; - if (opacity = MochiKit.DOM.getStyle(element, 'opacity')) { - return parseFloat(opacity); - } - if (opacity = (MochiKit.DOM.getStyle(element, 'filter') || '').match(/alpha\(opacity=(.*)\)/)) { - if (opacity[1]) { - return parseFloat(opacity[1]) / 100; - } - } - return 1.0; - }, - - getInlineOpacity: function (element) { - return MochiKit.DOM.getElement(element).style.opacity || ''; - }, - - setOpacity: function (element, value) { - element = MochiKit.DOM.getElement(element); - if (value == 1) { - var cssText = element.style.cssText; - if(MochiKit.Base.isIE()) - cssText = cssText.replace(/filter: ?alpha\([^\)]*\);?/gi, ''); - - element.style.cssText = cssText.replace(/opacity: ?\d\.?\d*/gi, ''); - } else { - if (value < 0.00001) { - value = 0; - } - MochiKit.DOM.setStyle(element, {opacity: value}); - if (MochiKit.Base.isIE()) { - MochiKit.DOM.setStyle(element, - {filter: MochiKit.DOM.getStyle(element, 'filter').replace(/alpha\([^\)]*\)/gi, '') + 'alpha(opacity=' + value * 100 + ')' }); - } - } - }, - - isVisible: function (element) { - return MochiKit.DOM.getElement(element).style.display != 'none'; - }, - - makeClipping: function (element) { - element = MochiKit.DOM.getElement(element); - if (element._overflow) { - return; - } - element._overflow = element.style.overflow; - if ((MochiKit.DOM.getStyle(element, 'overflow') || 'visible') != 'hidden') { - element.style.overflow = 'hidden'; - } - }, - - undoClipping: function (element) { - element = MochiKit.DOM.getElement(element); - if (!element._overflow) { - return; - } - element.style.overflow = element._overflow; - element._overflow = undefined; - }, - - makePositioned: function (element) { - element = MochiKit.DOM.getElement(element); - /*if (!element.style) { - alert(element); - }*/ - var pos = MochiKit.DOM.getStyle(element, 'position'); - if ((pos == 'static' || !pos) && !element._madePositioned) { - element._madePositioned = true; - element.style.position = 'relative'; - // Opera returns the offset relative to the positioning context, - // when an element is position relative but top and left have - // not been defined - if (MochiKit.Base.isOpera()) { - element.style.top = 0; - element.style.left = 0; - } - } - }, - - undoPositioned: function (element) { - element = MochiKit.DOM.getElement(element); - if (element._madePositioned) { - element._madePositioned = undefined; - element.style.position = element.style.top = element.style.left = element.style.bottom = element.style.right = ''; - } - }, - - getFirstElementByTagAndClassName: function (tagName, className, - /* optional */parent) { - var self = MochiKit.DOM; - if (typeof(tagName) == 'undefined' || tagName === null) { - tagName = '*'; - } - if (typeof(parent) == 'undefined' || parent === null) { - parent = self._document; - } - parent = self.getElement(parent); - var children = (parent.getElementsByTagName(tagName) - || self._document.all); - if (typeof(className) == 'undefined' || className === null) { - return MochiKit.Base.extend(null, children); - } - - for (var i = 0; i < children.length; i++) { - var child = children[i]; - var classNames = child.className.split(' '); - for (var j = 0; j < classNames.length; j++) { - if (classNames[j] == className) { - return child; - } - } - } - }, - - isParent: function (child, element) { - if (!child.parentNode || child == element) { - return false; - } - - if (child.parentNode == element) { - return true; - } - - return MochiKit.DOM.isParent(child.parentNode, element); - } -}); - -MochiKit.Position = { - // set to true if needed, warning: firefox performance problems - // NOT neeeded for page scrolling, only if draggable contained in - // scrollable elements - includeScrollOffsets: false, - - prepare: function () { - var deltaX = window.pageXOffset - || document.documentElement.scrollLeft - || document.body.scrollLeft - || 0; - var deltaY = window.pageYOffset - || document.documentElement.scrollTop - || document.body.scrollTop - || 0; - this.windowOffset = new MochiKit.Style.Coordinates(deltaX, deltaY); - }, - - cumulativeOffset: function (element) { - var valueT = 0; - var valueL = 0; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - element = element.offsetParent; - } while (element); - return new MochiKit.Style.Coordinates(valueL, valueT); - }, - - realOffset: function (element) { - var valueT = 0; - var valueL = 0; - do { - valueT += element.scrollTop || 0; - valueL += element.scrollLeft || 0; - element = element.parentNode; - } while (element); - return new MochiKit.Style.Coordinates(valueL, valueT); - }, - - within: function (element, x, y) { - if (this.includeScrollOffsets) { - return this.withinIncludingScrolloffsets(element, x, y); - } - this.xcomp = x; - this.ycomp = y; - this.offset = this.cumulativeOffset(element); - if (element.style.position == "fixed") { - this.offset.x += this.windowOffset.x; - this.offset.y += this.windowOffset.y; - } - - return (y >= this.offset.y && - y < this.offset.y + element.offsetHeight && - x >= this.offset.x && - x < this.offset.x + element.offsetWidth); - }, - - withinIncludingScrolloffsets: function (element, x, y) { - var offsetcache = this.realOffset(element); - - this.xcomp = x + offsetcache.x - this.windowOffset.x; - this.ycomp = y + offsetcache.y - this.windowOffset.y; - this.offset = this.cumulativeOffset(element); - - return (this.ycomp >= this.offset.y && - this.ycomp < this.offset.y + element.offsetHeight && - this.xcomp >= this.offset.x && - this.xcomp < this.offset.x + element.offsetWidth); - }, - - // within must be called directly before - overlap: function (mode, element) { - if (!mode) { - return 0; - } - if (mode == 'vertical') { - return ((this.offset.y + element.offsetHeight) - this.ycomp) / - element.offsetHeight; - } - if (mode == 'horizontal') { - return ((this.offset.x + element.offsetWidth) - this.xcomp) / - element.offsetWidth; - } - }, - - absolutize: function (element) { - element = MochiKit.DOM.getElement(element); - if (element.style.position == 'absolute') { - return; - } - MochiKit.Position.prepare(); - - var offsets = MochiKit.Position.positionedOffset(element); - var width = element.clientWidth; - var height = element.clientHeight; - - var oldStyle = { - 'position': element.style.position, - 'left': offsets.x - parseFloat(element.style.left || 0), - 'top': offsets.y - parseFloat(element.style.top || 0), - 'width': element.style.width, - 'height': element.style.height - }; - - element.style.position = 'absolute'; - element.style.top = offsets.y + 'px'; - element.style.left = offsets.x + 'px'; - element.style.width = width + 'px'; - element.style.height = height + 'px'; - - return oldStyle; - }, - - positionedOffset: function (element) { - var valueT = 0, valueL = 0; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - element = element.offsetParent; - if (element) { - p = MochiKit.DOM.getStyle(element, 'position'); - if (p == 'relative' || p == 'absolute') { - break; - } - } - } while (element); - return new MochiKit.Style.Coordinates(valueL, valueT); - }, - - relativize: function (element, oldPos) { - element = MochiKit.DOM.getElement(element); - if (element.style.position == 'relative') { - return; - } - MochiKit.Position.prepare(); - - var top = parseFloat(element.style.top || 0) - - (oldPos['top'] || 0); - var left = parseFloat(element.style.left || 0) - - (oldPos['left'] || 0); - - element.style.position = oldPos['position']; - element.style.top = top + 'px'; - element.style.left = left + 'px'; - element.style.width = oldPos['width']; - element.style.height = oldPos['height']; - }, - - clone: function (source, target) { - source = MochiKit.DOM.getElement(source); - target = MochiKit.DOM.getElement(target); - target.style.position = 'absolute'; - var offsets = this.cumulativeOffset(source); - target.style.top = offsets.y + 'px'; - target.style.left = offsets.x + 'px'; - target.style.width = source.offsetWidth + 'px'; - target.style.height = source.offsetHeight + 'px'; - }, - - page: function (forElement) { - var valueT = 0; - var valueL = 0; - - var element = forElement; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - - // Safari fix - if (element.offsetParent == document.body && MochiKit.DOM.getStyle(element, 'position') == 'absolute') { - break; - } - } while (element = element.offsetParent); - - element = forElement; - do { - valueT -= element.scrollTop || 0; - valueL -= element.scrollLeft || 0; - } while (element = element.parentNode); - - return new MochiKit.Style.Coordinates(valueL, valueT); - } -}; - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Signal.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Signal.js deleted file mode 100644 index 192839a1c..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Signal.js +++ /dev/null @@ -1,712 +0,0 @@ -/*** - -MochiKit.Signal 1.4 - -See for documentation, downloads, license, etc. - -(c) 2006 Jonathan Gardner, Beau Hartshorne, Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Signal'); - dojo.require('MochiKit.Base'); - dojo.require('MochiKit.DOM'); - dojo.require('MochiKit.Style'); -} -if (typeof(JSAN) != 'undefined') { - JSAN.use('MochiKit.Base', []); - JSAN.use('MochiKit.DOM', []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ''; - } -} catch (e) { - throw 'MochiKit.Signal depends on MochiKit.Base!'; -} - -try { - if (typeof(MochiKit.DOM) == 'undefined') { - throw ''; - } -} catch (e) { - throw 'MochiKit.Signal depends on MochiKit.DOM!'; -} - -try { - if (typeof(MochiKit.Style) == 'undefined') { - throw ''; - } -} catch (e) { - throw 'MochiKit.Signal depends on MochiKit.Style!'; -} - -if (typeof(MochiKit.Signal) == 'undefined') { - MochiKit.Signal = {}; -} - -MochiKit.Signal.NAME = 'MochiKit.Signal'; -MochiKit.Signal.VERSION = '1.4'; - -MochiKit.Signal._observers = []; - -MochiKit.Signal.Event = function (src, e) { - this._event = e || window.event; - this._src = src; -}; - -MochiKit.Base.update(MochiKit.Signal.Event.prototype, { - - __repr__: function() { - var repr = MochiKit.Base.repr; - var str = '{event(): ' + repr(this.event()) + - ', src(): ' + repr(this.src()) + - ', type(): ' + repr(this.type()) + - ', target(): ' + repr(this.target()) + - ', modifier(): ' + '{alt: ' + repr(this.modifier().alt) + - ', ctrl: ' + repr(this.modifier().ctrl) + - ', meta: ' + repr(this.modifier().meta) + - ', shift: ' + repr(this.modifier().shift) + - ', any: ' + repr(this.modifier().any) + '}'; - - if (this.type() && this.type().indexOf('key') === 0) { - str += ', key(): {code: ' + repr(this.key().code) + - ', string: ' + repr(this.key().string) + '}'; - } - - if (this.type() && ( - this.type().indexOf('mouse') === 0 || - this.type().indexOf('click') != -1 || - this.type() == 'contextmenu')) { - - str += ', mouse(): {page: ' + repr(this.mouse().page) + - ', client: ' + repr(this.mouse().client); - - if (this.type() != 'mousemove') { - str += ', button: {left: ' + repr(this.mouse().button.left) + - ', middle: ' + repr(this.mouse().button.middle) + - ', right: ' + repr(this.mouse().button.right) + '}}'; - } else { - str += '}'; - } - } - if (this.type() == 'mouseover' || this.type() == 'mouseout') { - str += ', relatedTarget(): ' + repr(this.relatedTarget()); - } - str += '}'; - return str; - }, - - toString: function () { - return this.__repr__(); - }, - - src: function () { - return this._src; - }, - - event: function () { - return this._event; - }, - - type: function () { - return this._event.type || undefined; - }, - - target: function () { - return this._event.target || this._event.srcElement; - }, - - _relatedTarget: null, - relatedTarget: function () { - if (this._relatedTarget !== null) { - return this._relatedTarget; - } - - var elem = null; - if (this.type() == 'mouseover') { - elem = (this._event.relatedTarget || - this._event.fromElement); - } else if (this.type() == 'mouseout') { - elem = (this._event.relatedTarget || - this._event.toElement); - } - if (elem !== null) { - this._relatedTarget = elem; - return elem; - } - - return undefined; - }, - - _modifier: null, - modifier: function () { - if (this._modifier !== null) { - return this._modifier; - } - var m = {}; - m.alt = this._event.altKey; - m.ctrl = this._event.ctrlKey; - m.meta = this._event.metaKey || false; // IE and Opera punt here - m.shift = this._event.shiftKey; - m.any = m.alt || m.ctrl || m.shift || m.meta; - this._modifier = m; - return m; - }, - - _key: null, - key: function () { - if (this._key !== null) { - return this._key; - } - var k = {}; - if (this.type() && this.type().indexOf('key') === 0) { - - /* - - If you're looking for a special key, look for it in keydown or - keyup, but never keypress. If you're looking for a Unicode - chracter, look for it with keypress, but never keyup or - keydown. - - Notes: - - FF key event behavior: - key event charCode keyCode - DOWN ku,kd 0 40 - DOWN kp 0 40 - ESC ku,kd 0 27 - ESC kp 0 27 - a ku,kd 0 65 - a kp 97 0 - shift+a ku,kd 0 65 - shift+a kp 65 0 - 1 ku,kd 0 49 - 1 kp 49 0 - shift+1 ku,kd 0 0 - shift+1 kp 33 0 - - IE key event behavior: - (IE doesn't fire keypress events for special keys.) - key event keyCode - DOWN ku,kd 40 - DOWN kp undefined - ESC ku,kd 27 - ESC kp 27 - a ku,kd 65 - a kp 97 - shift+a ku,kd 65 - shift+a kp 65 - 1 ku,kd 49 - 1 kp 49 - shift+1 ku,kd 49 - shift+1 kp 33 - - Safari key event behavior: - (Safari sets charCode and keyCode to something crazy for - special keys.) - key event charCode keyCode - DOWN ku,kd 63233 40 - DOWN kp 63233 63233 - ESC ku,kd 27 27 - ESC kp 27 27 - a ku,kd 97 65 - a kp 97 97 - shift+a ku,kd 65 65 - shift+a kp 65 65 - 1 ku,kd 49 49 - 1 kp 49 49 - shift+1 ku,kd 33 49 - shift+1 kp 33 33 - - */ - - /* look for special keys here */ - if (this.type() == 'keydown' || this.type() == 'keyup') { - k.code = this._event.keyCode; - k.string = (MochiKit.Signal._specialKeys[k.code] || - 'KEY_UNKNOWN'); - this._key = k; - return k; - - /* look for characters here */ - } else if (this.type() == 'keypress') { - - /* - - Special key behavior: - - IE: does not fire keypress events for special keys - FF: sets charCode to 0, and sets the correct keyCode - Safari: sets keyCode and charCode to something stupid - - */ - - k.code = 0; - k.string = ''; - - if (typeof(this._event.charCode) != 'undefined' && - this._event.charCode !== 0 && - !MochiKit.Signal._specialMacKeys[this._event.charCode]) { - k.code = this._event.charCode; - k.string = String.fromCharCode(k.code); - } else if (this._event.keyCode && - typeof(this._event.charCode) == 'undefined') { // IE - k.code = this._event.keyCode; - k.string = String.fromCharCode(k.code); - } - - this._key = k; - return k; - } - } - return undefined; - }, - - _mouse: null, - mouse: function () { - if (this._mouse !== null) { - return this._mouse; - } - - var m = {}; - var e = this._event; - - if (this.type() && ( - this.type().indexOf('mouse') === 0 || - this.type().indexOf('click') != -1 || - this.type() == 'contextmenu')) { - - m.client = new MochiKit.Style.Coordinates(0, 0); - if (e.clientX || e.clientY) { - m.client.x = (!e.clientX || e.clientX < 0) ? 0 : e.clientX; - m.client.y = (!e.clientY || e.clientY < 0) ? 0 : e.clientY; - } - - m.page = new MochiKit.Style.Coordinates(0, 0); - if (e.pageX || e.pageY) { - m.page.x = (!e.pageX || e.pageX < 0) ? 0 : e.pageX; - m.page.y = (!e.pageY || e.pageY < 0) ? 0 : e.pageY; - } else { - /* - - The IE shortcut can be off by two. We fix it. See: - http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/getboundingclientrect.asp - - This is similar to the method used in - MochiKit.Style.getElementPosition(). - - */ - var de = MochiKit.DOM._document.documentElement; - var b = MochiKit.DOM._document.body; - - m.page.x = e.clientX + - (de.scrollLeft || b.scrollLeft) - - (de.clientLeft || 0); - - m.page.y = e.clientY + - (de.scrollTop || b.scrollTop) - - (de.clientTop || 0); - - } - if (this.type() != 'mousemove') { - m.button = {}; - m.button.left = false; - m.button.right = false; - m.button.middle = false; - - /* we could check e.button, but which is more consistent */ - if (e.which) { - m.button.left = (e.which == 1); - m.button.middle = (e.which == 2); - m.button.right = (e.which == 3); - - /* - - Mac browsers and right click: - - - Safari doesn't fire any click events on a right - click: - http://bugzilla.opendarwin.org/show_bug.cgi?id=6595 - - - Firefox fires the event, and sets ctrlKey = true - - - Opera fires the event, and sets metaKey = true - - oncontextmenu is fired on right clicks between - browsers and across platforms. - - */ - - } else { - m.button.left = !!(e.button & 1); - m.button.right = !!(e.button & 2); - m.button.middle = !!(e.button & 4); - } - } - this._mouse = m; - return m; - } - return undefined; - }, - - stop: function () { - this.stopPropagation(); - this.preventDefault(); - }, - - stopPropagation: function () { - if (this._event.stopPropagation) { - this._event.stopPropagation(); - } else { - this._event.cancelBubble = true; - } - }, - - preventDefault: function () { - if (this._event.preventDefault) { - this._event.preventDefault(); - } else if (this._confirmUnload === null) { - this._event.returnValue = false; - } - }, - - _confirmUnload: null, - confirmUnload: function (msg) { - if (this.type() == 'beforeunload') { - this._confirmUnload = msg; - this._event.returnValue = msg; - } - } -}); - -/* Safari sets keyCode to these special values onkeypress. */ -MochiKit.Signal._specialMacKeys = { - 3: 'KEY_ENTER', - 63289: 'KEY_NUM_PAD_CLEAR', - 63276: 'KEY_PAGE_UP', - 63277: 'KEY_PAGE_DOWN', - 63275: 'KEY_END', - 63273: 'KEY_HOME', - 63234: 'KEY_ARROW_LEFT', - 63232: 'KEY_ARROW_UP', - 63235: 'KEY_ARROW_RIGHT', - 63233: 'KEY_ARROW_DOWN', - 63302: 'KEY_INSERT', - 63272: 'KEY_DELETE' -}; - -/* for KEY_F1 - KEY_F12 */ -for (i = 63236; i <= 63242; i++) { - MochiKit.Signal._specialMacKeys[i] = 'KEY_F' + (i - 63236 + 1); // no F0 -} - -/* Standard keyboard key codes. */ -MochiKit.Signal._specialKeys = { - 8: 'KEY_BACKSPACE', - 9: 'KEY_TAB', - 12: 'KEY_NUM_PAD_CLEAR', // weird, for Safari and Mac FF only - 13: 'KEY_ENTER', - 16: 'KEY_SHIFT', - 17: 'KEY_CTRL', - 18: 'KEY_ALT', - 19: 'KEY_PAUSE', - 20: 'KEY_CAPS_LOCK', - 27: 'KEY_ESCAPE', - 32: 'KEY_SPACEBAR', - 33: 'KEY_PAGE_UP', - 34: 'KEY_PAGE_DOWN', - 35: 'KEY_END', - 36: 'KEY_HOME', - 37: 'KEY_ARROW_LEFT', - 38: 'KEY_ARROW_UP', - 39: 'KEY_ARROW_RIGHT', - 40: 'KEY_ARROW_DOWN', - 44: 'KEY_PRINT_SCREEN', - 45: 'KEY_INSERT', - 46: 'KEY_DELETE', - 59: 'KEY_SEMICOLON', // weird, for Safari and IE only - 91: 'KEY_WINDOWS_LEFT', - 92: 'KEY_WINDOWS_RIGHT', - 93: 'KEY_SELECT', - 106: 'KEY_NUM_PAD_ASTERISK', - 107: 'KEY_NUM_PAD_PLUS_SIGN', - 109: 'KEY_NUM_PAD_HYPHEN-MINUS', - 110: 'KEY_NUM_PAD_FULL_STOP', - 111: 'KEY_NUM_PAD_SOLIDUS', - 144: 'KEY_NUM_LOCK', - 145: 'KEY_SCROLL_LOCK', - 186: 'KEY_SEMICOLON', - 187: 'KEY_EQUALS_SIGN', - 188: 'KEY_COMMA', - 189: 'KEY_HYPHEN-MINUS', - 190: 'KEY_FULL_STOP', - 191: 'KEY_SOLIDUS', - 192: 'KEY_GRAVE_ACCENT', - 219: 'KEY_LEFT_SQUARE_BRACKET', - 220: 'KEY_REVERSE_SOLIDUS', - 221: 'KEY_RIGHT_SQUARE_BRACKET', - 222: 'KEY_APOSTROPHE' - // undefined: 'KEY_UNKNOWN' -}; - -/* for KEY_0 - KEY_9 */ -for (var i = 48; i <= 57; i++) { - MochiKit.Signal._specialKeys[i] = 'KEY_' + (i - 48); -} - -/* for KEY_A - KEY_Z */ -for (i = 65; i <= 90; i++) { - MochiKit.Signal._specialKeys[i] = 'KEY_' + String.fromCharCode(i); -} - -/* for KEY_NUM_PAD_0 - KEY_NUM_PAD_9 */ -for (i = 96; i <= 105; i++) { - MochiKit.Signal._specialKeys[i] = 'KEY_NUM_PAD_' + (i - 96); -} - -/* for KEY_F1 - KEY_F12 */ -for (i = 112; i <= 123; i++) { - MochiKit.Signal._specialKeys[i] = 'KEY_F' + (i - 112 + 1); // no F0 -} - -MochiKit.Base.update(MochiKit.Signal, { - - __repr__: function () { - return '[' + this.NAME + ' ' + this.VERSION + ']'; - }, - - toString: function () { - return this.__repr__(); - }, - - _unloadCache: function () { - var self = MochiKit.Signal; - var observers = self._observers; - - for (var i = 0; i < observers.length; i++) { - self._disconnect(observers[i]); - } - - delete self._observers; - - try { - window.onload = undefined; - } catch(e) { - // pass - } - - try { - window.onunload = undefined; - } catch(e) { - // pass - } - }, - - _listener: function (src, func, obj, isDOM) { - var E = MochiKit.Signal.Event; - if (!isDOM) { - return MochiKit.Base.bind(func, obj); - } - obj = obj || src; - if (typeof(func) == "string") { - return function (nativeEvent) { - obj[func].apply(obj, [new E(src, nativeEvent)]); - }; - } else { - return function (nativeEvent) { - func.apply(obj, [new E(src, nativeEvent)]); - }; - } - }, - - connect: function (src, sig, objOrFunc/* optional */, funcOrStr) { - src = MochiKit.DOM.getElement(src); - var self = MochiKit.Signal; - - if (typeof(sig) != 'string') { - throw new Error("'sig' must be a string"); - } - - var obj = null; - var func = null; - if (typeof(funcOrStr) != 'undefined') { - obj = objOrFunc; - func = funcOrStr; - if (typeof(funcOrStr) == 'string') { - if (typeof(objOrFunc[funcOrStr]) != "function") { - throw new Error("'funcOrStr' must be a function on 'objOrFunc'"); - } - } else if (typeof(funcOrStr) != 'function') { - throw new Error("'funcOrStr' must be a function or string"); - } - } else if (typeof(objOrFunc) != "function") { - throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given"); - } else { - func = objOrFunc; - } - if (typeof(obj) == 'undefined' || obj === null) { - obj = src; - } - - var isDOM = !!(src.addEventListener || src.attachEvent); - var listener = self._listener(src, func, obj, isDOM); - - if (src.addEventListener) { - src.addEventListener(sig.substr(2), listener, false); - } else if (src.attachEvent) { - src.attachEvent(sig, listener); // useCapture unsupported - } - - var ident = [src, sig, listener, isDOM, objOrFunc, funcOrStr]; - self._observers.push(ident); - - - return ident; - }, - - _disconnect: function (ident) { - // check isDOM - if (!ident[3]) { return; } - var src = ident[0]; - var sig = ident[1]; - var listener = ident[2]; - if (src.removeEventListener) { - src.removeEventListener(sig.substr(2), listener, false); - } else if (src.detachEvent) { - src.detachEvent(sig, listener); // useCapture unsupported - } else { - throw new Error("'src' must be a DOM element"); - } - }, - - disconnect: function (ident) { - var self = MochiKit.Signal; - var observers = self._observers; - var m = MochiKit.Base; - if (arguments.length > 1) { - // compatibility API - var src = MochiKit.DOM.getElement(arguments[0]); - var sig = arguments[1]; - var obj = arguments[2]; - var func = arguments[3]; - for (var i = observers.length - 1; i >= 0; i--) { - var o = observers[i]; - if (o[0] === src && o[1] === sig && o[4] === obj && o[5] === func) { - self._disconnect(o); - observers.splice(i, 1); - return true; - } - } - } else { - var idx = m.findIdentical(observers, ident); - if (idx >= 0) { - self._disconnect(ident); - observers.splice(idx, 1); - return true; - } - } - return false; - }, - - disconnectAll: function(src/* optional */, sig) { - src = MochiKit.DOM.getElement(src); - var m = MochiKit.Base; - var signals = m.flattenArguments(m.extend(null, arguments, 1)); - var self = MochiKit.Signal; - var disconnect = self._disconnect; - var observers = self._observers; - if (signals.length === 0) { - // disconnect all - for (var i = observers.length - 1; i >= 0; i--) { - var ident = observers[i]; - if (ident[0] === src) { - disconnect(ident); - observers.splice(i, 1); - } - } - } else { - var sigs = {}; - for (var i = 0; i < signals.length; i++) { - sigs[signals[i]] = true; - } - for (var i = observers.length - 1; i >= 0; i--) { - var ident = observers[i]; - if (ident[0] === src && ident[1] in sigs) { - disconnect(ident); - observers.splice(i, 1); - } - } - } - - }, - - signal: function (src, sig) { - var observers = MochiKit.Signal._observers; - src = MochiKit.DOM.getElement(src); - var args = MochiKit.Base.extend(null, arguments, 2); - var errors = []; - for (var i = 0; i < observers.length; i++) { - var ident = observers[i]; - if (ident[0] === src && ident[1] === sig) { - try { - ident[2].apply(src, args); - } catch (e) { - errors.push(e); - } - } - } - if (errors.length == 1) { - throw errors[0]; - } else if (errors.length > 1) { - var e = new Error("Multiple errors thrown in handling 'sig', see errors property"); - e.errors = errors; - throw e; - } - } - -}); - -MochiKit.Signal.EXPORT_OK = []; - -MochiKit.Signal.EXPORT = [ - 'connect', - 'disconnect', - 'signal', - 'disconnectAll' -]; - -MochiKit.Signal.__new__ = function (win) { - var m = MochiKit.Base; - this._document = document; - this._window = win; - - try { - this.connect(window, 'onunload', this._unloadCache); - } catch (e) { - // pass: might not be a browser - } - - this.EXPORT_TAGS = { - ':common': this.EXPORT, - ':all': m.concat(this.EXPORT, this.EXPORT_OK) - }; - - m.nameFunctions(this); -}; - -MochiKit.Signal.__new__(this); - -// -// XXX: Internet Explorer blows -// -if (MochiKit.__export__) { - connect = MochiKit.Signal.connect; - disconnect = MochiKit.Signal.disconnect; - disconnectAll = MochiKit.Signal.disconnectAll; - signal = MochiKit.Signal.signal; -} - -MochiKit.Base._exportSymbols(this, MochiKit.Signal); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Sortable.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Sortable.js deleted file mode 100644 index de70455ce..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Sortable.js +++ /dev/null @@ -1,531 +0,0 @@ -/*** -Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) - Mochi-ized By Thomas Herve (_firstname_@nimail.org) - -See scriptaculous.js for full license. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.DragAndDrop'); - dojo.require('MochiKit.Base'); - dojo.require('MochiKit.DOM'); - dojo.require('MochiKit.Iter'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); - JSAN.use("MochiKit.DOM", []); - JSAN.use("MochiKit.Iter", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined' || - typeof(MochiKit.DOM) == 'undefined' || - typeof(MochiKit.Iter) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.DragAndDrop depends on MochiKit.Base, MochiKit.DOM and MochiKit.Iter!"; -} - -if (typeof(MochiKit.Sortable) == 'undefined') { - MochiKit.Sortable = {}; -} - -MochiKit.Sortable.NAME = 'MochiKit.Sortable'; -MochiKit.Sortable.VERSION = '1.4'; - -MochiKit.Sortable.__repr__ = function () { - return '[' + this.NAME + ' ' + this.VERSION + ']'; -}; - -MochiKit.Sortable.toString = function () { - return this.__repr__(); -}; - -MochiKit.Sortable.EXPORT = [ - "SortableObserver" -]; - -MochiKit.DragAndDrop.EXPORT_OK = [ - "Sortable" -]; - -MochiKit.Sortable.SortableObserver = function (element, observer) { - this.__init__(element, observer); -}; - -MochiKit.Sortable.SortableObserver.prototype = { - /*** - - Observe events of drag and drop sortables. - - ***/ - __init__: function (element, observer) { - this.element = MochiKit.DOM.getElement(element); - this.observer = observer; - this.lastValue = MochiKit.Sortable.Sortable.serialize(this.element); - }, - - onStart: function () { - this.lastValue = MochiKit.Sortable.Sortable.serialize(this.element); - }, - - onEnd: function () { - MochiKit.Sortable.Sortable.unmark(); - if (this.lastValue != MochiKit.Sortable.Sortable.serialize(this.element)) { - this.observer(this.element) - } - } -}; - -MochiKit.Sortable.Sortable = { - /*** - - Manage sortables. Mainly use the create function to add a sortable. - - ***/ - sortables: {}, - - _findRootElement: function (element) { - while (element.tagName != "BODY") { - if (element.id && MochiKit.Sortable.Sortable.sortables[element.id]) { - return element; - } - element = element.parentNode; - } - }, - - options: function (element) { - element = MochiKit.Sortable.Sortable._findRootElement(MochiKit.DOM.getElement(element)); - if (!element) { - return; - } - return MochiKit.Sortable.Sortable.sortables[element.id]; - }, - - destroy: function (element){ - var s = MochiKit.Sortable.Sortable.options(element); - var b = MochiKit.Base; - var d = MochiKit.DragAndDrop; - - if (s) { - d.Draggables.removeObserver(s.element); - b.map(function (dr) { - d.Droppables.remove(dr); - }, s.droppables); - b.map(function (dr) { - dr.destroy(); - }, s.draggables); - - delete MochiKit.Sortable.Sortable.sortables[s.element.id]; - } - }, - - create: function (element, options) { - element = MochiKit.DOM.getElement(element); - var self = MochiKit.Sortable.Sortable; - options = MochiKit.Base.update({ - element: element, - tag: 'li', // assumes li children, override with tag: 'tagname' - dropOnEmpty: false, - tree: false, - treeTag: 'ul', - overlap: 'vertical', // one of 'vertical', 'horizontal' - constraint: 'vertical', // one of 'vertical', 'horizontal', false - // also takes array of elements (or ids); or false - containment: [element], - handle: false, // or a CSS class - only: false, - hoverclass: null, - ghosting: false, - scroll: false, - scrollSensitivity: 20, - scrollSpeed: 15, - format: /^[^_]*_(.*)$/, - onChange: MochiKit.Base.noop, - onUpdate: MochiKit.Base.noop, - accept: null - }, options); - - // clear any old sortable with same element - self.destroy(element); - - // build options for the draggables - var options_for_draggable = { - revert: true, - ghosting: options.ghosting, - scroll: options.scroll, - scrollSensitivity: options.scrollSensitivity, - scrollSpeed: options.scrollSpeed, - constraint: options.constraint, - handle: options.handle - }; - - if (options.starteffect) { - options_for_draggable.starteffect = options.starteffect; - } - - if (options.reverteffect) { - options_for_draggable.reverteffect = options.reverteffect; - } else if (options.ghosting) { - options_for_draggable.reverteffect = function (innerelement) { - innerelement.style.top = 0; - innerelement.style.left = 0; - }; - } - - if (options.endeffect) { - options_for_draggable.endeffect = options.endeffect; - } - - if (options.zindex) { - options_for_draggable.zindex = options.zindex; - } - - // build options for the droppables - var options_for_droppable = { - overlap: options.overlap, - containment: options.containment, - hoverclass: options.hoverclass, - onhover: self.onHover, - tree: options.tree, - accept: options.accept - } - - var options_for_tree = { - onhover: self.onEmptyHover, - overlap: options.overlap, - containment: options.containment, - hoverclass: options.hoverclass, - accept: options.accept - } - - // fix for gecko engine - MochiKit.DOM.removeEmptyTextNodes(element); - - options.draggables = []; - options.droppables = []; - - // drop on empty handling - if (options.dropOnEmpty || options.tree) { - new MochiKit.DragAndDrop.Droppable(element, options_for_tree); - options.droppables.push(element); - } - MochiKit.Base.map(function (e) { - // handles are per-draggable - var handle = options.handle ? - MochiKit.DOM.getFirstElementByTagAndClassName(null, - options.handle, e) : e; - options.draggables.push( - new MochiKit.DragAndDrop.Draggable(e, - MochiKit.Base.update(options_for_draggable, - {handle: handle}))); - new MochiKit.DragAndDrop.Droppable(e, options_for_droppable); - if (options.tree) { - e.treeNode = element; - } - options.droppables.push(e); - }, (self.findElements(element, options) || [])); - - if (options.tree) { - MochiKit.Base.map(function (e) { - new MochiKit.DragAndDrop.Droppable(e, options_for_tree); - e.treeNode = element; - options.droppables.push(e); - }, (self.findTreeElements(element, options) || [])); - } - - // keep reference - self.sortables[element.id] = options; - - // for onupdate - MochiKit.DragAndDrop.Draggables.addObserver( - new MochiKit.Sortable.SortableObserver(element, options.onUpdate)); - }, - - // return all suitable-for-sortable elements in a guaranteed order - findElements: function (element, options) { - return MochiKit.Sortable.Sortable.findChildren( - element, options.only, options.tree ? true : false, options.tag); - }, - - findTreeElements: function (element, options) { - return MochiKit.Sortable.Sortable.findChildren( - element, options.only, options.tree ? true : false, options.treeTag); - }, - - findChildren: function (element, only, recursive, tagName) { - if (!element.hasChildNodes()) { - return null; - } - tagName = tagName.toUpperCase(); - if (only) { - only = MochiKit.Base.flattenArray([only]); - } - var elements = []; - MochiKit.Base.map(function (e) { - if (e.tagName && - e.tagName.toUpperCase() == tagName && - (!only || - MochiKit.Iter.some(only, function (c) { - return MochiKit.DOM.hasElementClass(e, c); - }))) { - elements.push(e); - } - if (recursive) { - var grandchildren = MochiKit.Sortable.Sortable.findChildren(e, only, recursive, tagName); - if (grandchildren && grandchildren.length > 0) { - elements = elements.concat(grandchildren); - } - } - }, element.childNodes); - return elements; - }, - - onHover: function (element, dropon, overlap) { - if (MochiKit.DOM.isParent(dropon, element)) { - return; - } - var self = MochiKit.Sortable.Sortable; - - if (overlap > .33 && overlap < .66 && self.options(dropon).tree) { - return; - } else if (overlap > 0.5) { - self.mark(dropon, 'before'); - if (dropon.previousSibling != element) { - var oldParentNode = element.parentNode; - element.style.visibility = 'hidden'; // fix gecko rendering - dropon.parentNode.insertBefore(element, dropon); - if (dropon.parentNode != oldParentNode) { - self.options(oldParentNode).onChange(element); - } - self.options(dropon.parentNode).onChange(element); - } - } else { - self.mark(dropon, 'after'); - var nextElement = dropon.nextSibling || null; - if (nextElement != element) { - var oldParentNode = element.parentNode; - element.style.visibility = 'hidden'; // fix gecko rendering - dropon.parentNode.insertBefore(element, nextElement); - if (dropon.parentNode != oldParentNode) { - self.options(oldParentNode).onChange(element); - } - self.options(dropon.parentNode).onChange(element); - } - } - }, - - _offsetSize: function (element, type) { - if (type == 'vertical' || type == 'height') { - return element.offsetHeight; - } else { - return element.offsetWidth; - } - }, - - onEmptyHover: function (element, dropon, overlap) { - var oldParentNode = element.parentNode; - var self = MochiKit.Sortable.Sortable; - var droponOptions = self.options(dropon); - - if (!MochiKit.DOM.isParent(dropon, element)) { - var index; - - var children = self.findElements(dropon, {tag: droponOptions.tag, - only: droponOptions.only}); - var child = null; - - if (children) { - var offset = self._offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap); - - for (index = 0; index < children.length; index += 1) { - if (offset - self._offsetSize(children[index], droponOptions.overlap) >= 0) { - offset -= self._offsetSize(children[index], droponOptions.overlap); - } else if (offset - (self._offsetSize (children[index], droponOptions.overlap) / 2) >= 0) { - child = index + 1 < children.length ? children[index + 1] : null; - break; - } else { - child = children[index]; - break; - } - } - } - - dropon.insertBefore(element, child); - - self.options(oldParentNode).onChange(element); - droponOptions.onChange(element); - } - }, - - unmark: function () { - var m = MochiKit.Sortable.Sortable._marker; - if (m) { - MochiKit.Style.hideElement(m); - } - }, - - mark: function (dropon, position) { - // mark on ghosting only - var d = MochiKit.DOM; - var self = MochiKit.Sortable.Sortable; - var sortable = self.options(dropon.parentNode); - if (sortable && !sortable.ghosting) { - return; - } - - if (!self._marker) { - self._marker = d.getElement('dropmarker') || - document.createElement('DIV'); - MochiKit.Style.hideElement(self._marker); - d.addElementClass(self._marker, 'dropmarker'); - self._marker.style.position = 'absolute'; - document.getElementsByTagName('body').item(0).appendChild(self._marker); - } - var offsets = MochiKit.Position.cumulativeOffset(dropon); - self._marker.style.left = offsets.x + 'px'; - self._marker.style.top = offsets.y + 'px'; - - if (position == 'after') { - if (sortable.overlap == 'horizontal') { - self._marker.style.left = (offsets.x + dropon.clientWidth) + 'px'; - } else { - self._marker.style.top = (offsets.y + dropon.clientHeight) + 'px'; - } - } - MochiKit.Style.showElement(self._marker); - }, - - _tree: function (element, options, parent) { - var self = MochiKit.Sortable.Sortable; - var children = self.findElements(element, options) || []; - - for (var i = 0; i < children.length; ++i) { - var match = children[i].id.match(options.format); - - if (!match) { - continue; - } - - var child = { - id: encodeURIComponent(match ? match[1] : null), - element: element, - parent: parent, - children: [], - position: parent.children.length, - container: self._findChildrenElement(children[i], options.treeTag.toUpperCase()) - } - - /* Get the element containing the children and recurse over it */ - if (child.container) { - self._tree(child.container, options, child) - } - - parent.children.push (child); - } - - return parent; - }, - - /* Finds the first element of the given tag type within a parent element. - Used for finding the first LI[ST] within a L[IST]I[TEM].*/ - _findChildrenElement: function (element, containerTag) { - if (element && element.hasChildNodes) { - for (var i = 0; i < element.childNodes.length; ++i) { - if (element.childNodes[i].tagName == containerTag) { - return element.childNodes[i]; - } - } - } - return null; - }, - - tree: function (element, options) { - element = MochiKit.DOM.getElement(element); - var sortableOptions = MochiKit.Sortable.Sortable.options(element); - options = MochiKit.Base.update({ - tag: sortableOptions.tag, - treeTag: sortableOptions.treeTag, - only: sortableOptions.only, - name: element.id, - format: sortableOptions.format - }, options || {}); - - var root = { - id: null, - parent: null, - children: new Array, - container: element, - position: 0 - } - - return MochiKit.Sortable.Sortable._tree(element, options, root); - }, - - setSequence: function (element, newSequence, options) { - var self = MochiKit.Sortable.Sortable; - var b = MochiKit.Base; - element = MochiKit.DOM.getElement(element); - options = b.update(self.options(element), options || {}); - - var nodeMap = {}; - b.map(function (n) { - var m = n.id.match(options.format); - if (m) { - nodeMap[m[1]] = [n, n.parentNode]; - } - n.parentNode.removeChild(n); - }, self.findElements(element, options)); - - b.map(function (ident) { - var n = nodeMap[ident]; - if (n) { - n[1].appendChild(n[0]); - delete nodeMap[ident]; - } - }, newSequence); - }, - - /* Construct a [i] index for a particular node */ - _constructIndex: function (node) { - var index = ''; - do { - if (node.id) { - index = '[' + node.position + ']' + index; - } - } while ((node = node.parent) != null); - return index; - }, - - sequence: function (element, options) { - element = MochiKit.DOM.getElement(element); - var self = MochiKit.Sortable.Sortable; - var options = MochiKit.Base.update(self.options(element), options || {}); - - return MochiKit.Base.map(function (item) { - return item.id.match(options.format) ? item.id.match(options.format)[1] : ''; - }, MochiKit.DOM.getElement(self.findElements(element, options) || [])); - }, - - serialize: function (element, options) { - element = MochiKit.DOM.getElement(element); - var self = MochiKit.Sortable.Sortable; - options = MochiKit.Base.update(self.options(element), options || {}); - var name = encodeURIComponent(options.name || element.id); - - if (options.tree) { - return MochiKit.Base.flattenArray(MochiKit.Base.map(function (item) { - return [name + self._constructIndex(item) + "[id]=" + - encodeURIComponent(item.id)].concat(item.children.map(arguments.callee)); - }, self.tree(element, options).children)).join('&'); - } else { - return MochiKit.Base.map(function (item) { - return name + "[]=" + encodeURIComponent(item); - }, self.sequence(element, options)).join('&'); - } - } -}; - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Style.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Style.js deleted file mode 100644 index e9b798b7d..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Style.js +++ /dev/null @@ -1,374 +0,0 @@ -/*** - -MochiKit.Style 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005-2006 Bob Ippolito, Beau Hartshorne. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Style'); - dojo.require('MochiKit.Base'); - dojo.require('MochiKit.DOM'); -} -if (typeof(JSAN) != 'undefined') { - JSAN.use('MochiKit.Base', []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ''; - } -} catch (e) { - throw 'MochiKit.Style depends on MochiKit.Base!'; -} - -try { - if (typeof(MochiKit.DOM) == 'undefined') { - throw ''; - } -} catch (e) { - throw 'MochiKit.Style depends on MochiKit.DOM!'; -} - - -if (typeof(MochiKit.Style) == 'undefined') { - MochiKit.Style = {}; -} - -MochiKit.Style.NAME = 'MochiKit.Style'; -MochiKit.Style.VERSION = '1.4'; -MochiKit.Style.__repr__ = function () { - return '[' + this.NAME + ' ' + this.VERSION + ']'; -}; -MochiKit.Style.toString = function () { - return this.__repr__(); -}; - -MochiKit.Style.EXPORT_OK = []; - -MochiKit.Style.EXPORT = [ - 'setOpacity', - 'computedStyle', - 'getElementDimensions', - 'elementDimensions', // deprecated - 'setElementDimensions', - 'getElementPosition', - 'elementPosition', // deprecated - 'setElementPosition', - 'setDisplayForElement', - 'hideElement', - 'showElement', - 'getViewportDimensions', - 'Dimensions', - 'Coordinates' -]; - - -/* - - Dimensions - -*/ -MochiKit.Style.Dimensions = function (w, h) { - this.w = w; - this.h = h; -}; - -MochiKit.Style.Dimensions.prototype.__repr__ = function () { - var repr = MochiKit.Base.repr; - return '{w: ' + repr(this.w) + ', h: ' + repr(this.h) + '}'; -}; - -MochiKit.Style.Dimensions.prototype.toString = function () { - return this.__repr__(); -}; - - -/* - - Coordinates - -*/ -MochiKit.Style.Coordinates = function (x, y) { - this.x = x; - this.y = y; -}; - -MochiKit.Style.Coordinates.prototype.__repr__ = function () { - var repr = MochiKit.Base.repr; - return '{x: ' + repr(this.x) + ', y: ' + repr(this.y) + '}'; -}; - -MochiKit.Style.Coordinates.prototype.toString = function () { - return this.__repr__(); -}; - - -MochiKit.Base.update(MochiKit.Style, { - - computedStyle: function (elem, cssProperty) { - var dom = MochiKit.DOM; - var d = dom._document; - - elem = dom.getElement(elem); - cssProperty = MochiKit.Base.camelize(cssProperty); - - if (!elem || elem == d) { - return undefined; - } - - /* from YUI 0.10.0 */ - if (cssProperty == 'opacity' && elem.filters) { // IE opacity - try { - return elem.filters.item('DXImageTransform.Microsoft.Alpha' - ).opacity / 100; - } catch(e) { - try { - return elem.filters.item('alpha').opacity / 100; - } catch(e) {} - } - } - - if (elem.currentStyle) { - return elem.currentStyle[cssProperty]; - } - if (typeof(d.defaultView) == 'undefined') { - return undefined; - } - if (d.defaultView === null) { - return undefined; - } - var style = d.defaultView.getComputedStyle(elem, null); - if (typeof(style) == 'undefined' || style === null) { - return undefined; - } - - var selectorCase = cssProperty.replace(/([A-Z])/g, '-$1' - ).toLowerCase(); // from dojo.style.toSelectorCase - - return style.getPropertyValue(selectorCase); - }, - - setOpacity: function(elem, o) { - elem = MochiKit.DOM.getElement(elem); - MochiKit.DOM.updateNodeAttributes(elem, {'style': { - 'opacity': o, - '-moz-opacity': o, - '-khtml-opacity': o, - 'filter':' alpha(opacity=' + (o * 100) + ')' - }}); - }, - - /* - - getElementPosition is adapted from YAHOO.util.Dom.getXY v0.9.0. - Copyright: Copyright (c) 2006, Yahoo! Inc. All rights reserved. - License: BSD, http://developer.yahoo.net/yui/license.txt - - */ - getElementPosition: function (elem, /* optional */relativeTo, doc) { - var self = MochiKit.Style; - var dom = MochiKit.DOM; - elem = dom.getElement(elem); - - if (!elem || - (!(elem.x && elem.y) && - (!elem.parentNode == null || - self.computedStyle(elem, 'display') == 'none'))) { - return undefined; - } - - var c = new self.Coordinates(0, 0); - var box = null; - var parent = null; - - var d = doc ? doc : MochiKit.DOM._document; - var de = d.documentElement; - var b = d.body; - - if (!elem.parentNode && elem.x && elem.y) { - /* it's just a MochiKit.Style.Coordinates object */ - c.x += elem.x || 0; - c.y += elem.y || 0; - } else if (elem.getBoundingClientRect) { // IE shortcut - /* - - The IE shortcut can be off by two. We fix it. See: - http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/getboundingclientrect.asp - - This is similar to the method used in - MochiKit.Signal.Event.mouse(). - - */ - box = elem.getBoundingClientRect(); - - c.x += box.left + - (de.scrollLeft || b.scrollLeft) - - (de.clientLeft || 0); - - c.y += box.top + - (de.scrollTop || b.scrollTop) - - (de.clientTop || 0); - - } else if (elem.offsetParent) { - c.x += elem.offsetLeft; - c.y += elem.offsetTop; - parent = elem.offsetParent; - - if (parent != elem) { - while (parent) { - c.x += parent.offsetLeft; - c.y += parent.offsetTop; - parent = parent.offsetParent; - } - } - - /* - - Opera < 9 and old Safari (absolute) incorrectly account for - body offsetTop and offsetLeft. - - */ - var ua = navigator.userAgent.toLowerCase(); - if ((typeof(opera) != 'undefined' && - parseFloat(opera.version()) < 9) || - (ua.indexOf('safari') != -1 && - self.computedStyle(elem, 'position') == 'absolute')) { - - c.x -= b.offsetLeft; - c.y -= b.offsetTop; - - } - } - - if (typeof(relativeTo) != 'undefined') { - relativeTo = arguments.callee(relativeTo); - if (relativeTo) { - c.x -= (relativeTo.x || 0); - c.y -= (relativeTo.y || 0); - } - } - - if (elem.parentNode) { - parent = elem.parentNode; - } else { - parent = null; - } - - while (parent && parent.tagName != 'BODY' && - parent.tagName != 'HTML') { - c.x -= parent.scrollLeft; - c.y -= parent.scrollTop; - if (parent.parentNode) { - parent = parent.parentNode; - } else { - parent = null; - } - } - - return c; - }, - - setElementPosition: function (elem, newPos/* optional */, units) { - elem = MochiKit.DOM.getElement(elem); - if (typeof(units) == 'undefined') { - units = 'px'; - } - MochiKit.DOM.updateNodeAttributes(elem, {'style': { - 'left': newPos.x + units, - 'top': newPos.y + units - }}); - }, - - getElementDimensions: function (elem) { - var self = MochiKit.Style; - var dom = MochiKit.DOM; - if (typeof(elem.w) == 'number' || typeof(elem.h) == 'number') { - return new self.Dimensions(elem.w || 0, elem.h || 0); - } - elem = dom.getElement(elem); - if (!elem) { - return undefined; - } - if (self.computedStyle(elem, 'display') != 'none') { - return new self.Dimensions(elem.offsetWidth || 0, - elem.offsetHeight || 0); - } - var s = elem.style; - var originalVisibility = s.visibility; - var originalPosition = s.position; - s.visibility = 'hidden'; - s.position = 'absolute'; - s.display = ''; - var originalWidth = elem.offsetWidth; - var originalHeight = elem.offsetHeight; - s.display = 'none'; - s.position = originalPosition; - s.visibility = originalVisibility; - return new self.Dimensions(originalWidth, originalHeight); - }, - - setElementDimensions: function (elem, newSize/* optional */, units) { - elem = MochiKit.DOM.getElement(elem); - if (typeof(units) == 'undefined') { - units = 'px'; - } - MochiKit.DOM.updateNodeAttributes(elem, {'style': { - 'width': newSize.w + units, - 'height': newSize.h + units - }}); - }, - - setDisplayForElement: function (display, element/*, ...*/) { - var elements = MochiKit.Base.extend(null, arguments, 1); - var getElement = MochiKit.DOM.getElement; - for (var i = 0; i < elements.length; i++) { - var element = getElement(elements[i]); - if (element) { - element.style.display = display; - } - } - }, - - getViewportDimensions: function() { - var d = new MochiKit.Style.Dimensions(); - - var w = MochiKit.DOM._window; - var b = MochiKit.DOM._document.body; - - if (w.innerWidth) { - d.w = w.innerWidth; - d.h = w.innerHeight; - } else if (b.parentElement.clientWidth) { - d.w = b.parentElement.clientWidth; - d.h = b.parentElement.clientHeight; - } else if (b && b.clientWidth) { - d.w = b.clientWidth; - d.h = b.clientHeight; - } - return d; - }, - - __new__: function () { - var m = MochiKit.Base; - - this.elementPosition = this.getElementPosition; - this.elementDimensions = this.getElementDimensions; - - this.hideElement = m.partial(this.setDisplayForElement, 'none'); - this.showElement = m.partial(this.setDisplayForElement, 'block'); - - this.EXPORT_TAGS = { - ':common': this.EXPORT, - ':all': m.concat(this.EXPORT, this.EXPORT_OK) - }; - - m.nameFunctions(this); - } -}); - -MochiKit.Style.__new__(); -MochiKit.Base._exportSymbols(this, MochiKit.Style); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Test.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Test.js deleted file mode 100644 index 632356a43..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Test.js +++ /dev/null @@ -1,181 +0,0 @@ -/*** - -MochiKit.Test 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Test'); - dojo.require('MochiKit.Base'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); -} - -try { - if (typeof(MochiKit.Base) == 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Test depends on MochiKit.Base!"; -} - -if (typeof(MochiKit.Test) == 'undefined') { - MochiKit.Test = {}; -} - -MochiKit.Test.NAME = "MochiKit.Test"; -MochiKit.Test.VERSION = "1.4"; -MochiKit.Test.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; - -MochiKit.Test.toString = function () { - return this.__repr__(); -}; - - -MochiKit.Test.EXPORT = ["runTests"]; -MochiKit.Test.EXPORT_OK = []; - -MochiKit.Test.runTests = function (obj) { - if (typeof(obj) == "string") { - obj = JSAN.use(obj); - } - var suite = new MochiKit.Test.Suite(); - suite.run(obj); -}; - -MochiKit.Test.Suite = function () { - this.testIndex = 0; - MochiKit.Base.bindMethods(this); -}; - -MochiKit.Test.Suite.prototype = { - run: function (obj) { - try { - obj(this); - } catch (e) { - this.traceback(e); - } - }, - traceback: function (e) { - var items = MochiKit.Iter.sorted(MochiKit.Base.items(e)); - print("not ok " + this.testIndex + " - Error thrown"); - for (var i = 0; i < items.length; i++) { - var kv = items[i]; - if (kv[0] == "stack") { - kv[1] = kv[1].split(/\n/)[0]; - } - this.print("# " + kv.join(": ")); - } - }, - print: function (s) { - print(s); - }, - is: function (got, expected, /* optional */message) { - var res = 1; - var msg = null; - try { - res = MochiKit.Base.compare(got, expected); - } catch (e) { - msg = "Can not compare " + typeof(got) + ":" + typeof(expected); - } - if (res) { - msg = "Expected value did not compare equal"; - } - if (!res) { - return this.testResult(true, message); - } - return this.testResult(false, message, - [[msg], ["got:", got], ["expected:", expected]]); - }, - - testResult: function (pass, msg, failures) { - this.testIndex += 1; - if (pass) { - this.print("ok " + this.testIndex + " - " + msg); - return; - } - this.print("not ok " + this.testIndex + " - " + msg); - if (failures) { - for (var i = 0; i < failures.length; i++) { - this.print("# " + failures[i].join(" ")); - } - } - }, - - isDeeply: function (got, expected, /* optional */message) { - var m = MochiKit.Base; - var res = 1; - try { - res = m.compare(got, expected); - } catch (e) { - // pass - } - if (res === 0) { - return this.ok(true, message); - } - var gk = m.keys(got); - var ek = m.keys(expected); - gk.sort(); - ek.sort(); - if (m.compare(gk, ek)) { - // differing keys - var cmp = {}; - var i; - for (i = 0; i < gk.length; i++) { - cmp[gk[i]] = "got"; - } - for (i = 0; i < ek.length; i++) { - if (ek[i] in cmp) { - delete cmp[ek[i]]; - } else { - cmp[ek[i]] = "expected"; - } - } - var diffkeys = m.keys(cmp); - diffkeys.sort(); - var gotkeys = []; - var expkeys = []; - while (diffkeys.length) { - var k = diffkeys.shift(); - if (k in Object.prototype) { - continue; - } - (cmp[k] == "got" ? gotkeys : expkeys).push(k); - } - - - } - - return this.testResult((!res), msg, - (msg ? [["got:", got], ["expected:", expected]] : undefined) - ); - }, - - ok: function (res, message) { - return this.testResult(res, message); - } -}; - -MochiKit.Test.__new__ = function () { - var m = MochiKit.Base; - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": m.concat(this.EXPORT, this.EXPORT_OK) - }; - - m.nameFunctions(this); - -}; - -MochiKit.Test.__new__(); - -MochiKit.Base._exportSymbols(this, MochiKit.Test); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Visual.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Visual.js deleted file mode 100644 index 64b55a1b2..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/Visual.js +++ /dev/null @@ -1,1735 +0,0 @@ -/*** - -MochiKit.Visual 1.4 - -See for documentation, downloads, license, etc. - -(c) 2005 Bob Ippolito and others. All rights Reserved. - -***/ - -if (typeof(dojo) != 'undefined') { - dojo.provide('MochiKit.Visual'); - dojo.require('MochiKit.Base'); - dojo.require('MochiKit.DOM'); - dojo.require('MochiKit.Style'); - dojo.require('MochiKit.Color'); - dojo.require('MochiKit.Iter'); -} - -if (typeof(JSAN) != 'undefined') { - JSAN.use("MochiKit.Base", []); - JSAN.use("MochiKit.DOM", []); - JSAN.use("MochiKit.Style", []); - JSAN.use("MochiKit.Color", []); - JSAN.use("MochiKit.Iter", []); -} - -try { - if (typeof(MochiKit.Base) === 'undefined' || - typeof(MochiKit.DOM) === 'undefined' || - typeof(MochiKit.Style) === 'undefined' || - typeof(MochiKit.Color) === 'undefined' || - typeof(MochiKit.Iter) === 'undefined') { - throw ""; - } -} catch (e) { - throw "MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM, MochiKit.Style, MochiKit.Color and MochiKit.Iter!"; -} - -if (typeof(MochiKit.Visual) == "undefined") { - MochiKit.Visual = {}; -} - -MochiKit.Visual.NAME = "MochiKit.Visual"; -MochiKit.Visual.VERSION = "1.4"; - -MochiKit.Visual.__repr__ = function () { - return "[" + this.NAME + " " + this.VERSION + "]"; -}; - -MochiKit.Visual.toString = function () { - return this.__repr__(); -}; - -//MochiKit.Visual._RoundCorners = function (e, options) { -// e = MochiKit.DOM.getElement(e); -// this._setOptions(options); -// if (this.options.__unstable__wrapElement) { -// e = this._doWrap(e); -// } -// -// var color = this.options.color; -// var C = MochiKit.Color.Color; -// if (this.options.color === "fromElement") { -// color = C.fromBackground(e); -// } else if (!(color instanceof C)) { -// color = C.fromString(color); -// } -// this.isTransparent = (color.asRGB().a <= 0); -// -// var bgColor = this.options.bgColor; -// if (this.options.bgColor === "fromParent") { -// bgColor = C.fromBackground(e.offsetParent); -// } else if (!(bgColor instanceof C)) { -// bgColor = C.fromString(bgColor); -// } -// -// this._roundCornersImpl(e, color, bgColor); -//}; -// -//MochiKit.Visual._RoundCorners.prototype = { -// _doWrap: function (e) { -// var parent = e.parentNode; -// var doc = MochiKit.DOM.currentDocument(); -// if (typeof(doc.defaultView) === "undefined" -// || doc.defaultView === null) { -// return e; -// } -// var style = doc.defaultView.getComputedStyle(e, null); -// if (typeof(style) === "undefined" || style === null) { -// return e; -// } -// var wrapper = MochiKit.DOM.DIV({"style": { -// display: "block", -// // convert padding to margin -// marginTop: style.getPropertyValue("padding-top"), -// marginRight: style.getPropertyValue("padding-right"), -// marginBottom: style.getPropertyValue("padding-bottom"), -// marginLeft: style.getPropertyValue("padding-left"), -// // remove padding so the rounding looks right -// padding: "0px" -// /* -// paddingRight: "0px", -// paddingLeft: "0px" -// */ -// }}); -// wrapper.innerHTML = e.innerHTML; -// e.innerHTML = ""; -// e.appendChild(wrapper); -// return e; -// }, -// -// _roundCornersImpl: function (e, color, bgColor) { -// if (this.options.border) { -// this._renderBorder(e, bgColor); -// } -// if (this._isTopRounded()) { -// this._roundTopCorners(e, color, bgColor); -// } -// if (this._isBottomRounded()) { -// this._roundBottomCorners(e, color, bgColor); -// } -// }, -// -// _renderBorder: function (el, bgColor) { -// var borderValue = "1px solid " + this._borderColor(bgColor); -// var borderL = "border-left: " + borderValue; -// var borderR = "border-right: " + borderValue; -// var style = "style='" + borderL + ";" + borderR + "'"; -// el.innerHTML = "

    " + el.innerHTML + "
    "; -// }, -// -// _roundTopCorners: function (el, color, bgColor) { -// var corner = this._createCorner(bgColor); -// for (var i = 0; i < this.options.numSlices; i++) { -// corner.appendChild( -// this._createCornerSlice(color, bgColor, i, "top") -// ); -// } -// el.style.paddingTop = 0; -// el.insertBefore(corner, el.firstChild); -// }, -// -// _roundBottomCorners: function (el, color, bgColor) { -// var corner = this._createCorner(bgColor); -// for (var i = (this.options.numSlices - 1); i >= 0; i--) { -// corner.appendChild( -// this._createCornerSlice(color, bgColor, i, "bottom") -// ); -// } -// el.style.paddingBottom = 0; -// el.appendChild(corner); -// }, -// -// _createCorner: function (bgColor) { -// var dom = MochiKit.DOM; -// return dom.DIV({style: {backgroundColor: bgColor.toString()}}); -// }, -// -// _createCornerSlice: function (color, bgColor, n, position) { -// var slice = MochiKit.DOM.SPAN(); -// -// var inStyle = slice.style; -// inStyle.backgroundColor = color.toString(); -// inStyle.display = "block"; -// inStyle.height = "1px"; -// inStyle.overflow = "hidden"; -// inStyle.fontSize = "1px"; -// -// var borderColor = this._borderColor(color, bgColor); -// if (this.options.border && n === 0) { -// inStyle.borderTopStyle = "solid"; -// inStyle.borderTopWidth = "1px"; -// inStyle.borderLeftWidth = "0px"; -// inStyle.borderRightWidth = "0px"; -// inStyle.borderBottomWidth = "0px"; -// // assumes css compliant box model -// inStyle.height = "0px"; -// inStyle.borderColor = borderColor.toString(); -// } else if (borderColor) { -// inStyle.borderColor = borderColor.toString(); -// inStyle.borderStyle = "solid"; -// inStyle.borderWidth = "0px 1px"; -// } -// -// if (!this.options.compact && (n == (this.options.numSlices - 1))) { -// inStyle.height = "2px"; -// } -// -// this._setMargin(slice, n, position); -// this._setBorder(slice, n, position); -// -// return slice; -// }, -// -// _setOptions: function (options) { -// this.options = { -// corners: "all", -// color: "fromElement", -// bgColor: "fromParent", -// blend: true, -// border: false, -// compact: false, -// __unstable__wrapElement: false -// }; -// MochiKit.Base.update(this.options, options); -// -// this.options.numSlices = (this.options.compact ? 2 : 4); -// }, -// -// _whichSideTop: function () { -// var corners = this.options.corners; -// if (this._hasString(corners, "all", "top")) { -// return ""; -// } -// -// var has_tl = (corners.indexOf("tl") != -1); -// var has_tr = (corners.indexOf("tr") != -1); -// if (has_tl && has_tr) { -// return ""; -// } -// if (has_tl) { -// return "left"; -// } -// if (has_tr) { -// return "right"; -// } -// return ""; -// }, -// -// _whichSideBottom: function () { -// var corners = this.options.corners; -// if (this._hasString(corners, "all", "bottom")) { -// return ""; -// } -// -// var has_bl = (corners.indexOf('bl') != -1); -// var has_br = (corners.indexOf('br') != -1); -// if (has_bl && has_br) { -// return ""; -// } -// if (has_bl) { -// return "left"; -// } -// if (has_br) { -// return "right"; -// } -// return ""; -// }, -// -// _borderColor: function (color, bgColor) { -// if (color == "transparent") { -// return bgColor; -// } else if (this.options.border) { -// return this.options.border; -// } else if (this.options.blend) { -// return bgColor.blendedColor(color); -// } -// return ""; -// }, -// -// -// _setMargin: function (el, n, corners) { -// var marginSize = this._marginSize(n) + "px"; -// var whichSide = ( -// corners == "top" ? this._whichSideTop() : this._whichSideBottom() -// ); -// var style = el.style; -// -// if (whichSide == "left") { -// style.marginLeft = marginSize; -// style.marginRight = "0px"; -// } else if (whichSide == "right") { -// style.marginRight = marginSize; -// style.marginLeft = "0px"; -// } else { -// style.marginLeft = marginSize; -// style.marginRight = marginSize; -// } -// }, -// -// _setBorder: function (el, n, corners) { -// var borderSize = this._borderSize(n) + "px"; -// var whichSide = ( -// corners == "top" ? this._whichSideTop() : this._whichSideBottom() -// ); -// -// var style = el.style; -// if (whichSide == "left") { -// style.borderLeftWidth = borderSize; -// style.borderRightWidth = "0px"; -// } else if (whichSide == "right") { -// style.borderRightWidth = borderSize; -// style.borderLeftWidth = "0px"; -// } else { -// style.borderLeftWidth = borderSize; -// style.borderRightWidth = borderSize; -// } -// }, -// -// _marginSize: function (n) { -// if (this.isTransparent) { -// return 0; -// } -// -// var o = this.options; -// if (o.compact && o.blend) { -// var smBlendedMarginSizes = [1, 0]; -// return smBlendedMarginSizes[n]; -// } else if (o.compact) { -// var compactMarginSizes = [2, 1]; -// return compactMarginSizes[n]; -// } else if (o.blend) { -// var blendedMarginSizes = [3, 2, 1, 0]; -// return blendedMarginSizes[n]; -// } else { -// var marginSizes = [5, 3, 2, 1]; -// return marginSizes[n]; -// } -// }, -// -// _borderSize: function (n) { -// var o = this.options; -// var borderSizes; -// if (o.compact && (o.blend || this.isTransparent)) { -// return 1; -// } else if (o.compact) { -// borderSizes = [1, 0]; -// } else if (o.blend) { -// borderSizes = [2, 1, 1, 1]; -// } else if (o.border) { -// borderSizes = [0, 2, 0, 0]; -// } else if (this.isTransparent) { -// borderSizes = [5, 3, 2, 1]; -// } else { -// return 0; -// } -// return borderSizes[n]; -// }, -// -// _hasString: function (str) { -// for (var i = 1; i< arguments.length; i++) { -// if (str.indexOf(arguments[i]) != -1) { -// return true; -// } -// } -// return false; -// }, -// -// _isTopRounded: function () { -// return this._hasString(this.options.corners, -// "all", "top", "tl", "tr" -// ); -// }, -// -// _isBottomRounded: function () { -// return this._hasString(this.options.corners, -// "all", "bottom", "bl", "br" -// ); -// }, -// -// _hasSingleTextChild: function (el) { -// return (el.childNodes.length == 1 && el.childNodes[0].nodeType == 3); -// } -//}; -// -//MochiKit.Visual.roundElement = function (e, options) { -// new MochiKit.Visual._RoundCorners(e, options); -//}; - -//MochiKit.Visual.roundClass = function (tagName, className, options) { -// var elements = MochiKit.DOM.getElementsByTagAndClassName( -// tagName, className -// ); -// for (var i = 0; i < elements.length; i++) { -// MochiKit.Visual.roundElement(elements[i], options); -// } -//}; -// -//MochiKit.Visual.tagifyText = function (element, /* optional */tagifyStyle) { -// /*** -// -// Change a node text to character in tags. -// -// @param tagifyStyle: the style to apply to character nodes, default to -// 'position: relative'. -// -// ***/ -// var tagifyStyle = tagifyStyle || 'position:relative'; -// if (MochiKit.Base.isIE()) { -// tagifyStyle += ';zoom:1'; -// } -// element = MochiKit.DOM.getElement(element); -// var fe = MochiKit.Iter.forEach; -// fe(element.childNodes, function (child) { -// if (child.nodeType == 3) { -// fe(child.nodeValue.split(''), function (character) { -// element.insertBefore( -// MochiKit.DOM.SPAN({style: tagifyStyle}, -// character == ' ' ? String.fromCharCode(160) : character), child); -// }); -// MochiKit.DOM.removeElement(child); -// } -// }); -//}; - -MochiKit.Visual.forceRerendering = function (element) { - try { - element = MochiKit.DOM.getElement(element); - var n = document.createTextNode(' '); - element.appendChild(n); - element.removeChild(n); - } catch(e) { - } -}; -// -//MochiKit.Visual.multiple = function (elements, effect, /* optional */options) { -// /*** -// -// Launch the same effect subsequently on given elements. -// -// ***/ -// options = MochiKit.Base.update({ -// speed: 0.1, delay: 0.0 -// }, options || {}); -// var masterDelay = options.delay; -// var index = 0; -// MochiKit.Iter.forEach(elements, function (innerelement) { -// options.delay = index * options.speed + masterDelay; -// new effect(innerelement, options); -// index += 1; -// }); -//}; - -MochiKit.Visual.PAIRS = { - 'slide': ['slideDown', 'slideUp'], - 'blind': ['blindDown', 'blindUp'], - 'appear': ['appear', 'fade'], - 'size': ['grow', 'shrink'] -}; - -//MochiKit.Visual.toggle = function (element, /* optional */effect, /* optional */options) { -// /*** -// -// Toggle an item between two state depending of its visibility, making -// a effect between these states. Default effect is 'appear', can be -// 'slide' or 'blind'. -// -// ***/ -// element = MochiKit.DOM.getElement(element); -// effect = (effect || 'appear').toLowerCase(); -// options = MochiKit.Base.update({ -// queue: {position: 'end', scope: (element.id || 'global'), limit: 1} -// }, options || {}); -// var v = MochiKit.Visual; -// v[MochiKit.DOM.isVisible(element) ? -// v.PAIRS[effect][1] : v.PAIRS[effect][0]](element, options); -//}; - -/*** - -Transitions: define functions calculating variations depending of a position. - -***/ - -MochiKit.Visual.Transitions = {} - -MochiKit.Visual.Transitions.linear = function (pos) { - return pos; -}; - -MochiKit.Visual.Transitions.sinoidal = function (pos) { - return (-Math.cos(pos*Math.PI)/2) + 0.5; -}; - -MochiKit.Visual.Transitions.reverse = function (pos) { - return 1 - pos; -}; - -MochiKit.Visual.Transitions.flicker = function (pos) { - return ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4; -}; - -MochiKit.Visual.Transitions.wobble = function (pos) { - return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5; -}; - -MochiKit.Visual.Transitions.pulse = function (pos) { - return (Math.floor(pos*10) % 2 == 0 ? - (pos*10 - Math.floor(pos*10)) : 1 - (pos*10 - Math.floor(pos*10))); -}; - -MochiKit.Visual.Transitions.none = function (pos) { - return 0; -}; - -MochiKit.Visual.Transitions.full = function (pos) { - return 1; -}; - -/*** - -Core effects - -***/ - -MochiKit.Visual.ScopedQueue = function () { - this.__init__(); -}; - -MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype, { - __init__: function () { - this.effects = []; - this.interval = null; - }, - - add: function (effect) { - var timestamp = new Date().getTime(); - - var position = (typeof(effect.options.queue) == 'string') ? - effect.options.queue : effect.options.queue.position; - - var fe = MochiKit.Iter.forEach; - switch (position) { - case 'front': - // move unstarted effects after this effect - fe(this.effects, function (e) { - if (e.state == 'idle') { - e.startOn += effect.finishOn; - e.finishOn += effect.finishOn; - } - }); - break; - case 'end': - var finish; - // start effect after last queued effect has finished - fe(this.effects, function (e) { - var i = e.finishOn; - if (i >= (finish || i)) { - finish = i; - } - }); - timestamp = finish || timestamp; - break; - } - - effect.startOn += timestamp; - effect.finishOn += timestamp; - if (!effect.options.queue.limit || - this.effects.length < effect.options.queue.limit) { - this.effects.push(effect); - } - - if (!this.interval) { - this.interval = setInterval(MochiKit.Base.bind(this.loop, this), - 40); - } - }, - - remove: function (effect) { - this.effects = MochiKit.Base.filter(function (e) { - return e != effect; - }, this.effects); - if (this.effects.length == 0) { - clearInterval(this.interval); - this.interval = null; - } - }, - - loop: function () { - var timePos = new Date().getTime(); - MochiKit.Iter.forEach(this.effects, function (effect) { - effect.loop(timePos); - }); - } -}); - -MochiKit.Visual.Queues = { - instances: {}, - - get: function (queueName) { - if (typeof(queueName) != 'string') { - return queueName; - } - - if (!this.instances[queueName]) { - this.instances[queueName] = new MochiKit.Visual.ScopedQueue(); - } - return this.instances[queueName]; - } -}; - -MochiKit.Visual.Queue = MochiKit.Visual.Queues.get('global'); - -MochiKit.Visual.DefaultOptions = { - transition: MochiKit.Visual.Transitions.sinoidal, - duration: 1.0, // seconds - fps: 25.0, // max. 25fps due to MochiKit.Visual.Queue implementation - sync: false, // true for combining - from: 0.0, - to: 1.0, - delay: 0.0, - queue: 'parallel' -}; - -MochiKit.Visual.Base = function () {}; - -MochiKit.Visual.Base.prototype = { - /*** - - Basic class for all Effects. Define a looping mechanism called for each step - of an effect. Don't instantiate it, only subclass it. - - ***/ - - __class__ : MochiKit.Visual.Base, - - start: function (options) { - var v = MochiKit.Visual; - this.options = MochiKit.Base.setdefault(options || {}, - v.DefaultOptions); - this.currentFrame = 0; - this.state = 'idle'; - this.startOn = this.options.delay*1000; - this.finishOn = this.startOn + (this.options.duration*1000); - this.event('beforeStart'); - if (!this.options.sync) { - v.Queues.get(typeof(this.options.queue) == 'string' ? - 'global' : this.options.queue.scope).add(this); - } - }, - - loop: function (timePos) { - if (timePos >= this.startOn) { - if (timePos >= this.finishOn) { - this.render(1.0); - this.cancel(); - this.event('beforeFinish'); - this.finish(); - this.event('afterFinish'); - return; - } - var pos = (timePos - this.startOn) / (this.finishOn - this.startOn); - var frame = - Math.round(pos * this.options.fps * this.options.duration); - if (frame > this.currentFrame) { - this.render(pos); - this.currentFrame = frame; - } - } - }, - - render: function (pos) { - if (this.state == 'idle') { - this.state = 'running'; - this.event('beforeSetup'); - this.setup(); - this.event('afterSetup'); - } - if (this.state == 'running') { - if (this.options.transition) { - pos = this.options.transition(pos); - } - pos *= (this.options.to - this.options.from); - pos += this.options.from; - this.event('beforeUpdate'); - this.update(pos); - this.event('afterUpdate'); - } - }, - - cancel: function () { - if (!this.options.sync) { - MochiKit.Visual.Queues.get(typeof(this.options.queue) == 'string' ? - 'global' : this.options.queue.scope).remove(this); - } - this.state = 'finished'; - }, - - setup: function () { - }, - - finish: function () { - }, - - update: function (position) { - }, - - event: function (eventName) { - if (this.options[eventName + 'Internal']) { - this.options[eventName + 'Internal'](this); - } - if (this.options[eventName]) { - this.options[eventName](this); - } - }, - - repr: function () { - return '[' + this.__class__.NAME + ', options:' + - MochiKit.Base.repr(this.options) + ']'; - } -} - -//MochiKit.Visual.Parallel = function (effects, options) { -// this.__init__(effects, options); -//}; -// -//MochiKit.Visual.Parallel.prototype = new MochiKit.Visual.Base(); -// -//MochiKit.Base.update(MochiKit.Visual.Parallel.prototype, { -// /*** -// -// Run multiple effects at the same time. -// -// ***/ -// __init__: function (effects, options) { -// this.effects = effects || []; -// this.start(options); -// }, -// -// update: function (position) { -// MochiKit.Iter.forEach(this.effects, function (effect) { -// effect.render(position); -// }); -// }, -// -// finish: function () { -// MochiKit.Iter.forEach(this.effects, function (effect) { -// effect.render(1.0); -// effect.cancel(); -// effect.event('beforeFinish'); -// effect.finish(); -// effect.event('afterFinish'); -// }); -// } -//}); - -MochiKit.Visual.Opacity = function (element, options) { - this.__init__(element, options); -}; - -MochiKit.Visual.Opacity.prototype = new MochiKit.Visual.Base(); - -MochiKit.Base.update(MochiKit.Visual.Opacity.prototype, { - /*** - - Change the opacity of an element. - - @param options: 'from' and 'to' change the starting and ending opacities. - Must be between 0.0 and 1.0. Default to current opacity and 1.0. - - ***/ - __init__: function (element, /* optional */options) { - var b = MochiKit.Base; - var d = MochiKit.DOM; - this.element = d.getElement(element); - // make this work on IE on elements without 'layout' - if (b.isIE() && (!this.element.currentStyle.hasLayout)) { - d.setStyle(this.element, {zoom: 1}); - } - options = b.update({ - from: d.getOpacity(this.element) || 0.0, - to: 1.0 - }, options || {}); - this.start(options); - }, - - update: function (position) { - MochiKit.DOM.setOpacity(this.element, position); - } -}); - -MochiKit.Visual.Move = function (element, options) { - this.__init__(element, options); -}; - -MochiKit.Visual.Move.prototype = new MochiKit.Visual.Base(); - -MochiKit.Base.update(MochiKit.Visual.Move.prototype, { - /*** - - Move an element between its current position to a defined position - - @param options: 'x' and 'y' for final positions, default to 0, 0. - - ***/ - __init__: function (element, /* optional */options) { - this.element = MochiKit.DOM.getElement(element); - options = MochiKit.Base.update({ - x: 0, - y: 0, - mode: 'relative' - }, options || {}); - this.start(options); - }, - - setup: function () { - var d = MochiKit.DOM; - // Bug in Opera: Opera returns the 'real' position of a static element - // or relative element that does not have top/left explicitly set. - // ==> Always set top and left for position relative elements in your - // stylesheets (to 0 if you do not need them) - d.makePositioned(this.element); - - var s = this.element.style; - var originalVisibility = s.visibility; - var originalDisplay = s.display; - if (originalDisplay == 'none') { - s.visibility = 'hidden'; - s.display = ''; - } - - this.originalLeft = parseFloat(d.getStyle(this.element, 'left') || '0'); - this.originalTop = parseFloat(d.getStyle(this.element, 'top') || '0'); - - if (this.options.mode == 'absolute') { - // absolute movement, so we need to calc deltaX and deltaY - this.options.x -= this.originalLeft; - this.options.y -= this.originalTop; - } - if (originalDisplay == 'none') { - s.visibility = originalVisibility; - s.display = originalDisplay; - } - }, - - update: function (position) { - MochiKit.DOM.setStyle(this.element, { - left: Math.round(this.options.x * position + this.originalLeft) + 'px', - top: Math.round(this.options.y * position + this.originalTop) + 'px' - }); - } -}); - -MochiKit.Visual.Scale = function (element, percent, options) { - this.__init__(element, percent, options); -}; - -MochiKit.Visual.Scale.prototype = new MochiKit.Visual.Base(); - -MochiKit.Base.update(MochiKit.Visual.Scale.prototype, { - /*** - - Change the size of an element. - - @param percent: final_size = percent*original_size - - @param options: several options changing scale behaviour - - ***/ - __init__: function (element, percent, /* optional */options) { - this.element = MochiKit.DOM.getElement(element) - options = MochiKit.Base.update({ - scaleX: true, - scaleY: true, - scaleContent: true, - scaleFromCenter: false, - scaleMode: 'box', // 'box' or 'contents' or {} with provided values - scaleFrom: 100.0, - scaleTo: percent - }, options || {}); - this.start(options); - }, - - setup: function () { - this.restoreAfterFinish = this.options.restoreAfterFinish || false; - this.elementPositioning = MochiKit.DOM.getStyle(this.element, - 'position'); - - var fe = MochiKit.Iter.forEach; - var b = MochiKit.Base.bind; - this.originalStyle = {}; - fe(['top', 'left', 'width', 'height', 'fontSize'], - b(function (k) { - this.originalStyle[k] = this.element.style[k]; - }, this)); - - this.originalTop = this.element.offsetTop; - this.originalLeft = this.element.offsetLeft; - - var fontSize = MochiKit.DOM.getStyle(this.element, - 'font-size') || '100%'; - fe(['em', 'px', '%'], - b(function (fontSizeType) { - if (fontSize.indexOf(fontSizeType) > 0) { - this.fontSize = parseFloat(fontSize); - this.fontSizeType = fontSizeType; - } - }, this)); - - this.factor = (this.options.scaleTo - this.options.scaleFrom)/100; - - if (/^content/.test(this.options.scaleMode)) { - this.dims = [this.element.scrollHeight, this.element.scrollWidth]; - } else if (this.options.scaleMode == 'box') { - this.dims = [this.element.offsetHeight, this.element.offsetWidth]; - } else { - this.dims = [this.options.scaleMode.originalHeight, - this.options.scaleMode.originalWidth]; - } - }, - - update: function (position) { - var currentScale = (this.options.scaleFrom/100.0) + - (this.factor * position); - if (this.options.scaleContent && this.fontSize) { - MochiKit.DOM.setStyle(this.element, { - fontSize: this.fontSize * currentScale + this.fontSizeType - }); - } - this.setDimensions(this.dims[0] * currentScale, - this.dims[1] * currentScale); - }, - - finish: function () { - if (this.restoreAfterFinish) { - MochiKit.DOM.setStyle(this.element, this.originalStyle); - } - }, - - setDimensions: function (height, width) { - var d = {}; - if (this.options.scaleX) { - d.width = Math.round(width) + 'px'; - } - if (this.options.scaleY) { - d.height = Math.round(height) + 'px'; - } - if (this.options.scaleFromCenter) { - var topd = (height - this.dims[0])/2; - var leftd = (width - this.dims[1])/2; - if (this.elementPositioning == 'absolute') { - if (this.options.scaleY) { - d.top = this.originalTop - topd + 'px'; - } - if (this.options.scaleX) { - d.left = this.originalLeft - leftd + 'px'; - } - } else { - if (this.options.scaleY) { - d.top = -topd + 'px'; - } - if (this.options.scaleX) { - d.left = -leftd + 'px'; - } - } - } - MochiKit.DOM.setStyle(this.element, d); - } -}); - -//MochiKit.Visual.Highlight = function (element, options) { -// this.__init__(element, options); -//}; -// -//MochiKit.Visual.Highlight.prototype = new MochiKit.Visual.Base(); -// -//MochiKit.Base.update(MochiKit.Visual.Highlight.prototype, { -// /*** -// -// Highlight an item of the page. -// -// @param options: 'startcolor' for choosing highlighting color, default -// to '#ffff99'. -// -// ***/ -// __init__: function (element, /* optional */options) { -// this.element = MochiKit.DOM.getElement(element); -// options = MochiKit.Base.update({ -// startcolor: '#ffff99' -// }, options || {}); -// this.start(options); -// }, -// -// setup: function () { -// var d = MochiKit.DOM; -// var b = MochiKit.Base; -// // Prevent executing on elements not in the layout flow -// if (d.getStyle(this.element, 'display') == 'none') { -// this.cancel(); -// return; -// } -// // Disable background image during the effect -// this.oldStyle = { -// backgroundImage: d.getStyle(this.element, 'background-image') -// }; -// d.setStyle(this.element, { -// backgroundImage: 'none' -// }); -// -// if (!this.options.endcolor) { -// this.options.endcolor = -// MochiKit.Color.Color.fromBackground(this.element).toHexString(); -// } -// if (!this.options.restorecolor) { -// this.options.restorecolor = d.getStyle(this.element, -// 'background-color'); -// } -// // init color calculations -// this._base = b.map(b.bind(function (i) { -// return parseInt( -// this.options.startcolor.slice(i*2 + 1, i*2 + 3), 16); -// }, this), [0, 1, 2]); -// this._delta = b.map(b.bind(function (i) { -// return parseInt(this.options.endcolor.slice(i*2 + 1, i*2 + 3), 16) -// - this._base[i]; -// }, this), [0, 1, 2]); -// }, -// -// update: function (position) { -// var m = '#'; -// MochiKit.Iter.forEach([0, 1, 2], MochiKit.Base.bind(function (i) { -// m += MochiKit.Color.toColorPart(Math.round(this._base[i] + -// this._delta[i]*position)); -// }, this)); -// MochiKit.DOM.setStyle(this.element, { -// backgroundColor: m -// }); -// }, -// -// finish: function () { -// MochiKit.DOM.setStyle(this.element, -// MochiKit.Base.update(this.oldStyle, { -// backgroundColor: this.options.endcolor -// })); -// } -//}); - -//MochiKit.Visual.ScrollTo = function (element, options) { -// this.__init__(element, options); -//}; -// -//MochiKit.Visual.ScrollTo.prototype = new MochiKit.Visual.Base(); -// -//MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype, { -// /*** -// -// Scroll to an element in the page. -// -// ***/ -// __init__: function (element, /* optional */options) { -// this.element = MochiKit.DOM.getElement(element); -// this.start(options || {}); -// }, -// -// setup: function () { -// var p = MochiKit.Position; -// p.prepare(); -// var offsets = p.cumulativeOffset(this.element); -// if (this.options.offset) { -// offsets.y += this.options.offset; -// } -// var max; -// if (window.innerHeight) { -// max = window.innerHeight - window.height; -// } else if (document.documentElement && -// document.documentElement.clientHeight) { -// max = document.documentElement.clientHeight - -// document.body.scrollHeight; -// } else if (document.body) { -// max = document.body.clientHeight - document.body.scrollHeight; -// } -// this.scrollStart = p.windowOffset.y; -// this.delta = (offsets.y > max ? max : offsets.y) - this.scrollStart; -// }, -// -// update: function (position) { -// var p = MochiKit.Position; -// p.prepare(); -// window.scrollTo(p.windowOffset.x, this.scrollStart + (position * this.delta)); -// } -//}); - -/*** - -Combination effects. - -***/ - -MochiKit.Visual.fade = function (element, /* optional */ options) { - /*** - - Fade a given element: change its opacity and hide it in the end. - - @param options: 'to' and 'from' to change opacity. - - ***/ - var d = MochiKit.DOM; - var oldOpacity = d.getInlineOpacity(element); - options = MochiKit.Base.update({ - from: d.getOpacity(element) || 1.0, - to: 0.0, - afterFinishInternal: function (effect) { - if (effect.options.to !== 0) { - return; - } - MochiKit.Style.hideElement(effect.element); - d.setStyle(effect.element, {opacity: oldOpacity}); - } - }, options || {}); - return new MochiKit.Visual.Opacity(element, options); -}; - -MochiKit.Visual.appear = function (element, /* optional */ options) { - /*** - - Make an element appear. - - @param options: 'to' and 'from' to change opacity. - - ***/ - var d = MochiKit.DOM; - var v = MochiKit.Visual; - options = MochiKit.Base.update({ - from: (d.getStyle(element, 'display') == 'none' ? 0.0 : - d.getOpacity(element) || 0.0), - to: 1.0, - // force Safari to render floated elements properly - afterFinishInternal: function (effect) { - v.forceRerendering(effect.element); - }, - beforeSetupInternal: function (effect) { - d.setOpacity(effect.element, effect.options.from); - MochiKit.Style.showElement(effect.element); - } - }, options || {}); - return new v.Opacity(element, options); -}; - -//MochiKit.Visual.puff = function (element, /* optional */ options) { -// /*** -// -// 'Puff' an element: grow it to double size, fading it and make it hidden. -// -// ***/ -// var d = MochiKit.DOM; -// var v = MochiKit.Visual; -// element = d.getElement(element); -// var oldStyle = { -// opacity: d.getInlineOpacity(element), -// position: d.getStyle(element, 'position') -// }; -// options = MochiKit.Base.update({ -// beforeSetupInternal: function (effect) { -// d.setStyle(effect.effects[0].element, -// {position: 'absolute'}); -// }, -// afterFinishInternal: function (effect) { -// MochiKit.Style.hideElement(effect.effects[0].element); -// d.setStyle(effect.effects[0].element, oldStyle); -// } -// }, options || {}); -// return new v.Parallel( -// [new v.Scale(element, 200, -// {sync: true, scaleFromCenter: true, -// scaleContent: true, restoreAfterFinish: true}), -// new v.Opacity(element, {sync: true, to: 0.0 })], -// options); -//}; - -MochiKit.Visual.blindUp = function (element, /* optional */ options) { - /*** - - Blind an element up: change its vertical size to 0. - - ***/ - var d = MochiKit.DOM; - element = d.getElement(element); - d.makeClipping(element); - options = MochiKit.Base.update({ - scaleContent: false, - scaleX: false, - restoreAfterFinish: true, - afterFinishInternal: function (effect) { - MochiKit.Style.hideElement(effect.element); - d.undoClipping(effect.element); - } - }, options || {}); - - return new MochiKit.Visual.Scale(element, 0, options); -}; - -MochiKit.Visual.blindDown = function (element, /* optional */ options) { - /*** - - Blind an element down: restore its vertical size. - - ***/ - var d = MochiKit.DOM; - element = d.getElement(element); - var elementDimensions = MochiKit.Style.getElementDimensions(element); - options = MochiKit.Base.update({ - scaleContent: false, - scaleX: false, - scaleFrom: 0, - scaleMode: {originalHeight: elementDimensions.h, - originalWidth: elementDimensions.w}, - restoreAfterFinish: true, - afterSetupInternal: function (effect) { - d.makeClipping(effect.element); - d.setStyle(effect.element, {height: '0px'}); - MochiKit.Style.showElement(effect.element); - }, - afterFinishInternal: function (effect) { - d.undoClipping(effect.element); - } - }, options || {}); - return new MochiKit.Visual.Scale(element, 100, options); -}; - -//MochiKit.Visual.switchOff = function (element, /* optional */ options) { -// /*** -// -// Apply a switch-off-like effect. -// -// ***/ -// var d = MochiKit.DOM; -// element = d.getElement(element); -// var oldOpacity = d.getInlineOpacity(element); -// var options = MochiKit.Base.update({ -// duration: 0.3, -// scaleFromCenter: true, -// scaleX: false, -// scaleContent: false, -// restoreAfterFinish: true, -// beforeSetupInternal: function (effect) { -// d.makePositioned(effect.element); -// d.makeClipping(effect.element); -// }, -// afterFinishInternal: function (effect) { -// MochiKit.Style.hideElement(effect.element); -// d.undoClipping(effect.element); -// d.undoPositioned(effect.element); -// d.setStyle(effect.element, {opacity: oldOpacity}); -// } -// }, options || {}); -// var v = MochiKit.Visual; -// return new v.appear(element, { -// duration: 0.4, -// from: 0, -// transition: v.Transitions.flicker, -// afterFinishInternal: function (effect) { -// new v.Scale(effect.element, 1, options) -// } -// }); -//}; - -//MochiKit.Visual.dropOut = function (element, /* optional */ options) { -// /*** -// -// Make an element fall and disappear. -// -// ***/ -// var d = MochiKit.DOM; -// element = d.getElement(element); -// var oldStyle = { -// top: d.getStyle(element, 'top'), -// left: d.getStyle(element, 'left'), -// opacity: d.getInlineOpacity(element) -// }; -// -// options = MochiKit.Base.update({ -// duration: 0.5, -// beforeSetupInternal: function (effect) { -// d.makePositioned(effect.effects[0].element); -// }, -// afterFinishInternal: function (effect) { -// MochiKit.Style.hideElement(effect.effects[0].element); -// d.undoPositioned(effect.effects[0].element); -// d.setStyle(effect.effects[0].element, oldStyle); -// } -// }, options || {}); -// var v = MochiKit.Visual; -// return new v.Parallel( -// [new v.Move(element, {x: 0, y: 100, sync: true}), -// new v.Opacity(element, {sync: true, to: 0.0})], -// options); -//}; - -//MochiKit.Visual.shake = function (element, /* optional */ options) { -// /*** -// -// Move an element from left to right several times. -// -// ***/ -// var d = MochiKit.DOM; -// var v = MochiKit.Visual; -// element = d.getElement(element); -// options = MochiKit.Base.update({ -// x: -20, -// y: 0, -// duration: 0.05, -// afterFinishInternal: function (effect) { -// d.undoPositioned(effect.element); -// d.setStyle(effect.element, oldStyle); -// } -// }, options || {}); -// var oldStyle = { -// top: d.getStyle(element, 'top'), -// left: d.getStyle(element, 'left') }; -// return new v.Move(element, -// {x: 20, y: 0, duration: 0.05, afterFinishInternal: function (effect) { -// new v.Move(effect.element, -// {x: -40, y: 0, duration: 0.1, afterFinishInternal: function (effect) { -// new v.Move(effect.element, -// {x: 40, y: 0, duration: 0.1, afterFinishInternal: function (effect) { -// new v.Move(effect.element, -// {x: -40, y: 0, duration: 0.1, afterFinishInternal: function (effect) { -// new v.Move(effect.element, -// {x: 40, y: 0, duration: 0.1, afterFinishInternal: function (effect) { -// new v.Move(effect.element, options -// ) }}) }}) }}) }}) }}); -//}; - -//MochiKit.Visual.slideDown = function (element, /* optional */ options) { -// /*** -// -// Slide an element down. -// It needs to have the content of the element wrapped in a container -// element with fixed height. -// -// ***/ -// var d = MochiKit.DOM; -// var b = MochiKit.Base; -// element = d.getElement(element); -// if (!element.firstChild) { -// throw "MochiKit.Visual.slideDown must be used on a element with a child"; -// } -// d.removeEmptyTextNodes(element); -// var oldInnerBottom = d.getStyle(element.firstChild, 'bottom') || 0; -// var elementDimensions = MochiKit.Style.getElementDimensions(element); -// options = b.update({ -// scaleContent: false, -// scaleX: false, -// scaleFrom: 0, -// scaleMode: {originalHeight: elementDimensions.h, -// originalWidth: elementDimensions.w}, -// restoreAfterFinish: true, -// afterSetupInternal: function (effect) { -// d.makePositioned(effect.element); -// d.makePositioned(effect.element.firstChild); -// if (b.isOpera()) { -// d.setStyle(effect.element, {top: ''}); -// } -// d.makeClipping(effect.element); -// d.setStyle(effect.element, {height: '0px'}); -// MochiKit.Style.showElement(effect.element); -// }, -// afterUpdateInternal: function (effect) { -// d.setStyle(effect.element.firstChild, -// {bottom: (effect.dims[0] - effect.element.clientHeight) + 'px'}) -// }, -// afterFinishInternal: function (effect) { -// d.undoClipping(effect.element); -// // IE will crash if child is undoPositioned first -// if (b.isIE()) { -// d.undoPositioned(effect.element); -// d.undoPositioned(effect.element.firstChild); -// } else { -// d.undoPositioned(effect.element.firstChild); -// d.undoPositioned(effect.element); -// } -// d.setStyle(effect.element.firstChild, -// {bottom: oldInnerBottom}); -// } -// }, options || {}); -// -// return new MochiKit.Visual.Scale(element, 100, options); -//}; - -//MochiKit.Visual.slideUp = function (element, /* optional */ options) { -// /*** -// -// Slide an element up. -// It needs to have the content of the element wrapped in a container -// element with fixed height. -// -// ***/ -// var d = MochiKit.DOM; -// var b = MochiKit.Base; -// element = d.getElement(element); -// if (!element.firstChild) { -// throw "MochiKit.Visual.slideUp must be used on a element with a child"; -// } -// d.removeEmptyTextNodes(element); -// var oldInnerBottom = d.getStyle(element.firstChild, 'bottom'); -// options = b.update({ -// scaleContent: false, -// scaleX: false, -// scaleMode: 'box', -// scaleFrom: 100, -// restoreAfterFinish: true, -// beforeStartInternal: function (effect) { -// d.makePositioned(effect.element); -// d.makePositioned(effect.element.firstChild); -// if (b.isOpera()) { -// d.setStyle(effect.element, {top: ''}); -// } -// d.makeClipping(effect.element); -// MochiKit.Style.showElement(effect.element); -// }, -// afterUpdateInternal: function (effect) { -// d.setStyle(effect.element.firstChild, -// {bottom: (effect.dims[0] - effect.element.clientHeight) + 'px'}); -// }, -// afterFinishInternal: function (effect) { -// MochiKit.Style.hideElement(effect.element); -// d.undoClipping(effect.element); -// d.undoPositioned(effect.element.firstChild); -// d.undoPositioned(effect.element); -// d.setStyle(effect.element.firstChild, {bottom: oldInnerBottom}); -// } -// }, options || {}); -// return new MochiKit.Visual.Scale(element, 0, options); -//}; - -// Bug in opera makes the TD containing this element expand for a instance -// after finish -//MochiKit.Visual.squish = function (element, /* optional */ options) { -// /*** -// -// Reduce an element and make it disappear. -// -// ***/ -// var d = MochiKit.DOM; -// var b = MochiKit.Base; -// options = b.update({ -// restoreAfterFinish: true, -// beforeSetupInternal: function (effect) { -// d.makeClipping(effect.element); -// }, -// afterFinishInternal: function (effect) { -// MochiKit.Style.hideElement(effect.element); -// d.undoClipping(effect.element); -// } -// }, options || {}); -// -// return new MochiKit.Visual.Scale(element, b.isOpera() ? 1 : 0, options); -//}; -// -//MochiKit.Visual.grow = function (element, /* optional */ options) { -// /*** -// -// Grow an element to its original size. Make it zero-sized before -// if necessary. -// -// ***/ -// var d = MochiKit.DOM; -// var v = MochiKit.Visual; -// element = d.getElement(element); -// options = MochiKit.Base.update({ -// direction: 'center', -// moveTransition: v.Transitions.sinoidal, -// scaleTransition: v.Transitions.sinoidal, -// opacityTransition: v.Transitions.full -// }, options || {}); -// var oldStyle = { -// top: element.style.top, -// left: element.style.left, -// height: element.style.height, -// width: element.style.width, -// opacity: d.getInlineOpacity(element) -// }; -// -// var dims = MochiKit.Style.getElementDimensions(element); -// var initialMoveX, initialMoveY; -// var moveX, moveY; -// -// switch (options.direction) { -// case 'top-left': -// initialMoveX = initialMoveY = moveX = moveY = 0; -// break; -// case 'top-right': -// initialMoveX = dims.w; -// initialMoveY = moveY = 0; -// moveX = -dims.w; -// break; -// case 'bottom-left': -// initialMoveX = moveX = 0; -// initialMoveY = dims.h; -// moveY = -dims.h; -// break; -// case 'bottom-right': -// initialMoveX = dims.w; -// initialMoveY = dims.h; -// moveX = -dims.w; -// moveY = -dims.h; -// break; -// case 'center': -// initialMoveX = dims.w / 2; -// initialMoveY = dims.h / 2; -// moveX = -dims.w / 2; -// moveY = -dims.h / 2; -// break; -// } -// -// var optionsParallel = MochiKit.Base.update({ -// beforeSetupInternal: function (effect) { -// d.setStyle(effect.effects[0].element, {height: '0px'}); -// MochiKit.Style.showElement(effect.effects[0].element); -// }, -// afterFinishInternal: function (effect) { -// d.undoClipping(effect.effects[0].element); -// d.undoPositioned(effect.effects[0].element); -// d.setStyle(effect.effects[0].element, oldStyle); -// } -// }, options || {}); -// -// return new v.Move(element, { -// x: initialMoveX, -// y: initialMoveY, -// duration: 0.01, -// beforeSetupInternal: function (effect) { -// MochiKit.Style.hideElement(effect.element); -// d.makeClipping(effect.element); -// d.makePositioned(effect.element); -// }, -// afterFinishInternal: function (effect) { -// new v.Parallel( -// [new v.Opacity(effect.element, { -// sync: true, to: 1.0, from: 0.0, -// transition: options.opacityTransition -// }), -// new v.Move(effect.element, { -// x: moveX, y: moveY, sync: true, -// transition: options.moveTransition -// }), -// new v.Scale(effect.element, 100, { -// scaleMode: {originalHeight: dims.h, -// originalWidth: dims.w}, -// sync: true, -// scaleFrom: MochiKit.Base.isOpera() ? 1 : 0, -// transition: options.scaleTransition, -// restoreAfterFinish: true -// }) -// ], optionsParallel -// ); -// } -// }); -//}; -// -//MochiKit.Visual.shrink = function (element, /* optional */ options) { -// /*** -// -// Shrink an element and make it disappear. -// -// ***/ -// var d = MochiKit.DOM; -// var v = MochiKit.Visual; -// element = d.getElement(element); -// options = MochiKit.Base.update({ -// direction: 'center', -// moveTransition: v.Transitions.sinoidal, -// scaleTransition: v.Transitions.sinoidal, -// opacityTransition: v.Transitions.none -// }, options || {}); -// var oldStyle = { -// top: element.style.top, -// left: element.style.left, -// height: element.style.height, -// width: element.style.width, -// opacity: d.getInlineOpacity(element) -// }; -// -// var dims = MochiKit.Style.getElementDimensions(element); -// var moveX, moveY; -// -// switch (options.direction) { -// case 'top-left': -// moveX = moveY = 0; -// break; -// case 'top-right': -// moveX = dims.w; -// moveY = 0; -// break; -// case 'bottom-left': -// moveX = 0; -// moveY = dims.h; -// break; -// case 'bottom-right': -// moveX = dims.w; -// moveY = dims.h; -// break; -// case 'center': -// moveX = dims.w / 2; -// moveY = dims.h / 2; -// break; -// } -// -// var optionsParallel = MochiKit.Base.update({ -// beforeStartInternal: function (effect) { -// d.makePositioned(effect.effects[0].element); -// d.makeClipping(effect.effects[0].element); -// }, -// afterFinishInternal: function (effect) { -// MochiKit.Style.hideElement(effect.effects[0].element); -// d.undoClipping(effect.effects[0].element); -// d.undoPositioned(effect.effects[0].element); -// d.setStyle(effect.effects[0].element, oldStyle); -// } -// }, options || {}); -// -// return new v.Parallel( -// [new v.Opacity(element, { -// sync: true, to: 0.0, from: 1.0, -// transition: options.opacityTransition -// }), -// new v.Scale(element, MochiKit.Base.isOpera() ? 1 : 0, { -// sync: true, transition: options.scaleTransition, -// restoreAfterFinish: true -// }), -// new v.Move(element, { -// x: moveX, y: moveY, sync: true, transition: options.moveTransition -// }) -// ], optionsParallel -// ); -//}; -// -//MochiKit.Visual.pulsate = function (element, /* optional */ options) { -// /*** -// -// Pulse an element between appear/fade. -// -// ***/ -// var d = MochiKit.DOM; -// var v = MochiKit.Visual; -// var b = MochiKit.Base; -// element = d.getElement(element); -// var oldOpacity = d.getInlineOpacity(element); -// options = b.update({ -// duration: 3.0, -// from: 0, -// afterFinishInternal: function (effect) { -// d.setStyle(effect.element, {opacity: oldOpacity}); -// } -// }, options || {}); -// var transition = options.transition || v.Transitions.sinoidal; -// var reverser = b.bind(function (pos) { -// return transition(1 - v.Transitions.pulse(pos)); -// }, transition); -// b.bind(reverser, transition); -// return new v.Opacity(element, b.update({ -// transition: reverser}, options)); -//}; -// -//MochiKit.Visual.fold = function (element, /* optional */ options) { -// /*** -// -// Fold an element, first vertically, then horizontally. -// -// ***/ -// var d = MochiKit.DOM; -// var v = MochiKit.Visual; -// element = d.getElement(element); -// var oldStyle = { -// top: element.style.top, -// left: element.style.left, -// width: element.style.width, -// height: element.style.height -// }; -// d.makeClipping(element); -// options = MochiKit.Base.update({ -// scaleContent: false, -// scaleX: false, -// afterFinishInternal: function (effect) { -// new v.Scale(element, 1, { -// scaleContent: false, -// scaleY: false, -// afterFinishInternal: function (effect) { -// MochiKit.Style.hideElement(effect.element); -// d.undoClipping(effect.element); -// d.setStyle(effect.element, oldStyle); -// } -// }); -// } -// }, options || {}); -// return new v.Scale(element, 5, options); -//}; - - -// Compatibility with MochiKit 1.0 -MochiKit.Visual.Color = MochiKit.Color.Color; -MochiKit.Visual.getElementsComputedStyle = MochiKit.DOM.computedStyle; - -/* end of Rico adaptation */ - -MochiKit.Visual.__new__ = function () { - var m = MochiKit.Base; - - m.nameFunctions(this); - - this.EXPORT_TAGS = { - ":common": this.EXPORT, - ":all": m.concat(this.EXPORT, this.EXPORT_OK) - }; - -}; - -MochiKit.Visual.EXPORT = [ - "roundElement", - "roundClass", - "tagifyText", - "multiple", - "toggle", - "Base", - "Parallel", - "Opacity", - "Move", - "Scale", - "Highlight", - "ScrollTo", - "fade", - "appear", - "puff", - "blindUp", - "blindDown", - "switchOff", - "dropOut", - "shake", - "slideDown", - "slideUp", - "squish", - "grow", - "shrink", - "pulsate", - "fold" -]; - -MochiKit.Visual.EXPORT_OK = [ - "PAIRS" -]; - -MochiKit.Visual.__new__(); - -MochiKit.Base._exportSymbols(this, MochiKit.Visual); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/__package__.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/__package__.js deleted file mode 100644 index 4c58c3947..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/MochiKit/__package__.js +++ /dev/null @@ -1,19 +0,0 @@ -dojo.hostenv.conditionalLoadModule({ - "common": [ - "MochiKit.Base", - "MochiKit.Iter", - "MochiKit.Logging", - "MochiKit.DateTime", - "MochiKit.Format", - "MochiKit.Async", - "MochiKit.Color" - ], - "browser": [ - "MochiKit.DOM", - "MochiKit.Style", - "MochiKit.Signal", - "MochiKit.LoggingPane", - "MochiKit.Visual" - ] -}); -dojo.hostenv.moduleLoaded("MochiKit.*"); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/calendar.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/calendar.js deleted file mode 100644 index 1f3ee394b..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/calendar.js +++ /dev/null @@ -1,695 +0,0 @@ -// BEGIN USER-EDITABLE SECTION ----------------------------------------------------- - -// CALENDAR COLORS -topBackground = "black"; // BG COLOR OF THE TOP FRAME -bottomBackground = "white"; // BG COLOR OF THE BOTTOM FRAME -tableBGColor = "black"; // BG COLOR OF THE BOTTOM FRAME'S TABLE -cellColor = "lightgrey"; // TABLE CELL BG COLOR OF THE DATE CELLS IN THE BOTTOM FRAME -headingCellColor = "white"; // TABLE CELL BG COLOR OF THE WEEKDAY ABBREVIATIONS -headingTextColor = "black"; // TEXT COLOR OF THE WEEKDAY ABBREVIATIONS -dateColor = "blue"; // TEXT COLOR OF THE LISTED DATES (1-28+) -focusColor = "#ff0000"; // TEXT COLOR OF THE SELECTED DATE (OR CURRENT DATE) -hoverColor = "darkred"; // TEXT COLOR OF A LINK WHEN YOU HOVER OVER IT -fontStyle = "12pt arial, helvetica"; // TEXT STYLE FOR DATES -headingFontStyle = "bold 12pt arial, helvetica"; // TEXT STYLE FOR WEEKDAY ABBREVIATIONS - -// FORMATTING PREFERENCES -bottomBorder = false; // TRUE/FALSE (WHETHER TO DISPLAY BOTTOM CALENDAR BORDER) -tableBorder = 0; // SIZE OF CALENDAR TABLE BORDER (BOTTOM FRAME) 0=none - -var DateTimeFormat = true; //"DateTime" if true, else a "Date" - -// END USER-EDITABLE SECTION ------------------------------------------------------- - -// DETERMINE BROWSER BRAND -var isNav = false; -var isIE = false; - -// ASSUME IT'S EITHER NETSCAPE OR MSIE -if (navigator.appName == "Netscape") { - isNav = true; -} -else { - isIE = true; -} - -// global variable for top frame and bottom frame -var calDocTop; -var calDocBottom; - -// PRE-BUILD PORTIONS OF THE CALENDAR WHEN THIS JS LIBRARY LOADS INTO THE BROWSER -buildCalParts(); - -// CALENDAR FUNCTIONS BEGIN HERE --------------------------------------------------- - -// SET THE INITIAL VALUE OF THE GLOBAL DATE FIELD -function setDateField(formName, dateField) { - - // ASSIGN THE INCOMING FIELD OBJECT TO A GLOBAL VARIABLE - thisform = document.forms[formName]; - calDateField = thisform[dateField]; - - // GET THE VALUE OF THE INCOMING FIELD - inDate = thisform[dateField].value; - - // SET calDate TO THE DATE IN THE INCOMING FIELD OR DEFAULT TO TODAY'S DATE - setInitialDate(); - - // THE CALENDAR FRAMESET DOCUMENTS ARE CREATED BY JAVASCRIPT FUNCTIONS - calDocTop = buildTopCalFrame(); - calDocBottom = buildBottomCalFrame(); -} - - -// SET THE INITIAL CALENDAR DATE TO TODAY OR TO THE EXISTING VALUE IN dateField -function setInitialDate() { - - calDate = ParseDate(inDate, DateTimeFormat); - - // IF THE INCOMING DATE IS INVALID, USE THE CURRENT DATE - if (isNaN(calDate)) { - - // ADD CUSTOM DATE PARSING HERE - // IF IT FAILS, SIMPLY CREATE A NEW DATE OBJECT WHICH DEFAULTS TO THE CURRENT DATE - calDate = new Date(); - } - - // KEEP TRACK OF THE CURRENT DAY VALUE - calDay = calDate.getDate(); - - // SET DAY VALUE TO 1... TO AVOID JAVASCRIPT DATE CALCULATION ANOMALIES - // (IF THE MONTH CHANGES TO FEB AND THE DAY IS 30, THE MONTH WOULD CHANGE TO MARCH - // AND THE DAY WOULD CHANGE TO 2. SETTING THE DAY TO 1 WILL PREVENT THAT) - calDate.setDate(1); -} - -// CREATE THE TOP CALENDAR FRAME -function buildTopCalFrame() { - - // CREATE THE TOP FRAME OF THE CALENDAR - var calDoc = - "" + - "" + - "" + - "" + - "
    " + - "
    " + - "" + - "" + - "" + - "" + - "" + - "" + - "
    " + - "
    " + - getMonthSelect() + - "" + - "
    " + - "
    " + - "
    " + - "" + - "
    " + - "
    " + - "
    " + - "
    " + - "" + - ""; - - return calDoc; -} - -// CREATE THE BOTTOM CALENDAR FRAME -// (THE MONTHLY CALENDAR) -function buildBottomCalFrame() { - // START CALENDAR DOCUMENT - var calDoc = calendarBegin; - - // GET MONTH, AND YEAR FROM GLOBAL CALENDAR DATE - month = calDate.getMonth(); - year = calDate.getFullYear(); - - - // GET GLOBALLY-TRACKED DAY VALUE (PREVENTS JAVASCRIPT DATE ANOMALIES) - day = calDay; - - var i = 0; - - // DETERMINE THE NUMBER OF DAYS IN THE CURRENT MONTH - var days = getDaysInMonth(); - - // IF GLOBAL DAY VALUE IS > THAN DAYS IN MONTH, HIGHLIGHT LAST DAY IN MONTH - if (day > days) { - day = days; - } - - // DETERMINE WHAT DAY OF THE WEEK THE CALENDAR STARTS ON - var firstOfMonth = new Date (year, month, 1); - - // GET THE DAY OF THE WEEK THE FIRST DAY OF THE MONTH FALLS ON - var startingPos = firstOfMonth.getDay(); - days += startingPos; - - // KEEP TRACK OF THE COLUMNS, START A NEW ROW AFTER EVERY 7 COLUMNS - var columnCount = 0; - - // MAKE BEGINNING NON-DATE CELLS BLANK - for (i = 0; i < startingPos; i++) { - - calDoc += blankCell; - columnCount++; - } - - // SET VALUES FOR DAYS OF THE MONTH - var currentDay = 0; - var dayType = "weekday"; - - // DATE CELLS CONTAIN A NUMBER - for (i = startingPos; i < days; i++) { - - var paddingChar = " "; - - // ADJUST SPACING SO THAT ALL LINKS HAVE RELATIVELY EQUAL WIDTHS - if (i-startingPos+1 < 10) { - padding = "  "; - } - else { - padding = " "; - } - - // GET THE DAY CURRENTLY BEING WRITTEN - currentDay = i-startingPos+1; - - // SET THE TYPE OF DAY, THE focusDay GENERALLY APPEARS AS A DIFFERENT COLOR - if (currentDay == day) { - dayType = "focusDay"; - } - else { - dayType = "weekDay"; - } - - // ADD THE DAY TO THE CALENDAR STRING - calDoc += "" + - "" + padding + currentDay + paddingChar + ""; - - columnCount++; - - // START A NEW ROW WHEN NECESSARY - if (columnCount % 7 == 0) { - calDoc += ""; - } - } - - // MAKE REMAINING NON-DATE CELLS BLANK - for (i=days; i<42; i++) { - - calDoc += blankCell; - columnCount++; - - // START A NEW ROW WHEN NECESSARY - if (columnCount % 7 == 0) { - calDoc += ""; - if (i<41) { - calDoc += ""; - } - } - } - - // FINISH THE NEW CALENDAR PAGE - calDoc += calendarEnd; - - // RETURN THE COMPLETED CALENDAR PAGE - return calDoc; -} - - -// WRITE THE MONTHLY CALENDAR TO THE BOTTOM CALENDAR FRAME -function writeCalendar() { - // CREATE THE NEW CALENDAR FOR THE SELECTED MONTH & YEAR - calDocBottom = buildBottomCalFrame(); - - if (document.getElementById) { // ns6 & ie - top.newWin.frames['bottomCalFrame'].document.getElementById('bottomDiv').innerHTML = calDocBottom; - } else { - // WRITE THE NEW CALENDAR TO THE BOTTOM FRAME - top.newWin.frames['bottomCalFrame'].document.open(); - top.newWin.frames['bottomCalFrame'].document.write(calDocBottom); - top.newWin.frames['bottomCalFrame'].document.close(); - } -} - -// SET THE CALENDAR TO TODAY'S DATE AND DISPLAY THE NEW CALENDAR -function setToday() { - - // SET GLOBAL DATE TO TODAY'S DATE - calDate = new Date(); - - // SET DAY MONTH AND YEAR TO TODAY'S DATE - var month = calDate.getMonth(); - var year = calDate.getFullYear(); - - // SET MONTH IN DROP-DOWN LIST - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - - // SET YEAR VALUE - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - - // SET THE DAY VALUE - calDay = calDate.getDate(); - - // DISPLAY THE NEW CALENDAR - writeCalendar(); -} - - -// SET THE GLOBAL DATE TO THE NEWLY ENTERED YEAR AND REDRAW THE CALENDAR -function setYear() { - - // GET THE NEW YEAR VALUE - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - // IF IT'S A FOUR-DIGIT YEAR THEN CHANGE THE CALENDAR - if (isFourDigitYear(year)) { - calDate.setFullYear(year); - writeCalendar(); - top.newWin.frames['topCalFrame'].document.calControl.year.blur(); - } - else { - // HIGHLIGHT THE YEAR IF THE YEAR IS NOT FOUR DIGITS IN LENGTH - top.newWin.frames['topCalFrame'].document.calControl.year.focus(); - top.newWin.frames['topCalFrame'].document.calControl.year.select(); - } -} - - -// SET THE GLOBAL DATE TO THE SELECTED MONTH AND REDRAW THE CALENDAR -function setCurrentMonth() { - - // GET THE NEWLY SELECTED MONTH AND CHANGE THE CALENDAR ACCORDINGLY - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - calDate.setMonth(month); - writeCalendar(); -} - - -// SET THE GLOBAL DATE TO THE PREVIOUS YEAR AND REDRAW THE CALENDAR -function setPreviousYear() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - if (isFourDigitYear(year) && year > 1000) { - year--; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE PREVIOUS MONTH AND REDRAW THE CALENDAR -function setPreviousMonth() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - if (isFourDigitYear(year)) { - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - // IF MONTH IS JANUARY, SET MONTH TO DECEMBER AND DECREMENT THE YEAR - if (month == 0) { - month = 11; - if (year > 1000) { - year--; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - } - } - else { - month--; - } - calDate.setMonth(month); - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE NEXT MONTH AND REDRAW THE CALENDAR -function setNextMonth() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - if (isFourDigitYear(year)) { - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - // IF MONTH IS DECEMBER, SET MONTH TO JANUARY AND INCREMENT THE YEAR - if (month == 11) { - month = 0; - year++; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - } - else { - month++; - } - calDate.setMonth(month); - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE NEXT YEAR AND REDRAW THE CALENDAR -function setNextYear() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - if (isFourDigitYear(year)) { - year++; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - writeCalendar(); - } -} - - -// GET NUMBER OF DAYS IN MONTH -function getDaysInMonth() { - - var days; - var month = calDate.getMonth()+1; - var year = calDate.getFullYear(); - - // RETURN 31 DAYS - if (month==1 || month==3 || month==5 || month==7 || month==8 || - month==10 || month==12) { - days=31; - } - // RETURN 30 DAYS - else if (month==4 || month==6 || month==9 || month==11) { - days=30; - } - // RETURN 29 DAYS - else if (month==2) { - if (isLeapYear(year)) { - days=29; - } - // RETURN 28 DAYS - else { - days=28; - } - } - return (days); -} - - -// CHECK TO SEE IF YEAR IS A LEAP YEAR -function isLeapYear (Year) { - - if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) { - return (true); - } - else { - return (false); - } -} - - -// ENSURE THAT THE YEAR IS FOUR DIGITS IN LENGTH -function isFourDigitYear(year) { - - if (year == null || year.match(/^[0-9]{4}$/) == null){ - top.newWin.frames['topCalFrame'].document.calControl.year.value = calDate.getFullYear(); - top.newWin.frames['topCalFrame'].document.calControl.year.select(); - top.newWin.frames['topCalFrame'].document.calControl.year.focus(); - } - else { - return true; - } -} - - -// BUILD THE MONTH SELECT LIST -function getMonthSelect() { - - monthArray = new Array(L_January, L_February, L_March, L_April, L_May, L_June, - L_July, L_August, L_September, L_October, L_November, L_December); - - - // DETERMINE MONTH TO SET AS DEFAULT - var activeMonth = calDate.getMonth(); - - // START HTML SELECT LIST ELEMENT - monthSelect = ""; - - // RETURN A STRING VALUE WHICH CONTAINS A SELECT LIST OF ALL 12 MONTHS - return monthSelect; -} - - -// SET DAYS OF THE WEEK DEPENDING ON LANGUAGE -function createWeekdayList() { - - weekdayArray = new Array(L_Su,L_Mo,L_Tu,L_We,L_Th,L_Fr,L_Sa); - - - // START HTML TO HOLD WEEKDAY NAMES IN TABLE FORMAT - var weekdays = ""; - - // LOOP THROUGH WEEKDAY ARRAY - for (i in weekdayArray) { - - weekdays += "" + weekdayArray[i] + ""; - } - weekdays += ""; - - // RETURN TABLE ROW OF WEEKDAY ABBREVIATIONS TO DISPLAY ABOVE THE CALENDAR - return weekdays; -} - - -// PRE-BUILD PORTIONS OF THE CALENDAR (FOR PERFORMANCE REASONS) -function buildCalParts() { - - // GENERATE WEEKDAY HEADERS FOR THE CALENDAR - weekdays = createWeekdayList(); - - // BUILD THE BLANK CELL ROWS - blankCell = "   "; - - // BUILD THE TOP PORTION OF THE CALENDAR PAGE USING CSS TO CONTROL SOME DISPLAY ELEMENTS - calendarBegin = - "" + - "" + - // STYLESHEET DEFINES APPEARANCE OF CALENDAR - "" + - - "" + - ""; - if (document.getElementById) { // ns6 & ie - calendarBegin += - "
    "; - } - calendarBegin += - "
    "; - - // NAVIGATOR NEEDS A TABLE CONTAINER TO DISPLAY THE TABLE OUTLINES PROPERLY - if (isNav) { - calendarBegin += - "
    "; - } - - // BUILD WEEKDAY HEADINGS - calendarBegin += - "" + - weekdays + - ""; - - - // BUILD THE BOTTOM PORTION OF THE CALENDAR PAGE - calendarEnd = ""; - - // WHETHER OR NOT TO DISPLAY A THICK LINE BELOW THE CALENDAR - if (bottomBorder) { - calendarEnd += ""; - } - - // NAVIGATOR NEEDS A TABLE CONTAINER TO DISPLAY THE BORDERS PROPERLY - if (isNav) { - calendarEnd += "
    "; - } - - // END THE TABLE AND HTML DOCUMENT - calendarEnd += - "
    " + - "
    "; - if (document.getElementById) { // ns6 & ie - calendarEnd += - "
    "; - } - calendarEnd += - "" + - ""; -} - - -// REPLACE ALL INSTANCES OF find WITH replace -// inString: the string you want to convert -// find: the value to search for -// replace: the value to substitute -// -// usage: jsReplace(inString, find, replace); -// example: jsReplace("To be or not to be", "be", "ski"); -// result: "To ski or not to ski" -// -function jsReplace(inString, find, replace) { - - var outString = ""; - - if (!inString) { - return ""; - } - - // REPLACE ALL INSTANCES OF find WITH replace - if (inString.indexOf(find) != -1) { - // SEPARATE THE STRING INTO AN ARRAY OF STRINGS USING THE VALUE IN find - t = inString.split(find); - - // JOIN ALL ELEMENTS OF THE ARRAY, SEPARATED BY THE VALUE IN replace - return (t.join(replace)); - } - else { - return inString; - } -} - - -// JAVASCRIPT FUNCTION -- DOES NOTHING (USED FOR THE HREF IN THE CALENDAR CALL) -function doNothing() { -} - - -// ENSURE THAT VALUE IS TWO DIGITS IN LENGTH -function makeTwoDigit(inValue) { - - var numVal = parseInt(inValue, 10); - - // VALUE IS LESS THAN TWO DIGITS IN LENGTH - if (numVal < 10) { - - // ADD A LEADING ZERO TO THE VALUE AND RETURN IT - return("0" + numVal); - } - else { - return numVal; - } -} - - -// SET FIELD VALUE TO THE DATE SELECTED AND CLOSE THE CALENDAR WINDOW -function returnDate(inDay) -{ - // inDay = THE DAY THE USER CLICKED ON - calDate.setDate(inDay); - - // SET THE DATE RETURNED TO THE USER - var day = calDate.getDate(); - var month = calDate.getMonth()+1; - var year = calDate.getFullYear(); - - if ( DateTimeFormat == true ) - outDate = "DateTime("; - else - outDate = "Date("; - - outDate += year + ","; - outDate += month + ","; - outDate += day; - - if ( DateTimeFormat == true ) { - outDate += ","; - outDate += gHour + ","; gHour = "0"; - outDate += gMin + ","; gMin = "0"; - outDate += gSec; gSec = "0"; - } - outDate += ")"; - - // SET THE VALUE OF THE FIELD THAT WAS PASSED TO THE CALENDAR - calDateField.value = outDate; - - // GIVE FOCUS BACK TO THE DATE FIELD - calDateField.focus(); - - // CLOSE THE CALENDAR WINDOW - top.newWin.close() -} - -var gHour = "0"; -var gMin = "0"; -var gSec = "0"; -var regDateTimePrompt = /^(D|d)(A|a)(T|t)(E|e)(T|t)(I|i)(M|m)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *, *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ -function ParseDateTimePrompt(inDate) -{ - if ( regDateTimePrompt.test ( inDate ) ) - { - var sDate = inDate.substr ( inDate.indexOf("(")+1 ); //move past "DateTime (" - sDate = sDate.substr ( 0, sDate.lastIndexOf(")") ); //remove trailing ")" - var dateArray = sDate.split (','); - var _date = new Date ( dateArray[0], Number(dateArray[1]) - 1, dateArray[2] ); - gHour = dateArray[3]; gMin = dateArray[4]; gSec = dateArray[5]; - return _date; - } - return new Date (); -} - -var regDatePrompt = /^(D|d)(A|a)(T|t)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *\)$/ -function ParseDatePrompt(inDate) -{ - if ( regDatePrompt.test ( inDate ) ) - { - var sDate = inDate.substr ( inDate.indexOf("(")+1 ); //move past "Date (" - sDate = sDate.substr ( 0, sDate.lastIndexOf(")") ); //remove trailing ")" - var dateArray = sDate.split (','); - return new Date ( dateArray[0], Number(dateArray[1]) - 1, dateArray[2] ); - } - return new Date(); -} - -function ParseDate(inDate, bDateTimeFormat) -{ - var result; - - if (bDateTimeFormat == true) { - result = ParseDateTimePrompt(inDate); - } else { - result = ParseDatePrompt(inDate); - } - - return result; -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/calendar_param.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/calendar_param.js deleted file mode 100644 index 5d70cbc82..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/calendar_param.js +++ /dev/null @@ -1,704 +0,0 @@ -// Modified Date: 11/30/1999 -// Modified By: Robert W. Husted -// Notes: Added frameset support (changed reference for "newWin" to "top.newWin") -// Also changed Spanish "March" from "Marcha" to "Marzo" -// Fixed JavaScript Date Anomaly affecting days > 28 -// -// Modified by Crystal Decisions -// Removed large amounts of comments to shrink file size. -// Removed multi language support as language set by user as accept-language and navigator.language don't necessarily match -// Removed formatting code as only format wanted is for Crystal Reports Date/DateTime parameters -// Moved resource strings to top of file for translation -// Added A.whatever:visited styles so that followed links appear as if they weren't followed - - -// BEGIN USER-EDITABLE SECTION ----------------------------------------------------- - -// CALENDAR COLORS -topBackground = "black"; // BG COLOR OF THE TOP FRAME -bottomBackground = "white"; // BG COLOR OF THE BOTTOM FRAME -tableBGColor = "black"; // BG COLOR OF THE BOTTOM FRAME'S TABLE -cellColor = "lightgrey"; // TABLE CELL BG COLOR OF THE DATE CELLS IN THE BOTTOM FRAME -headingCellColor = "white"; // TABLE CELL BG COLOR OF THE WEEKDAY ABBREVIATIONS -headingTextColor = "black"; // TEXT COLOR OF THE WEEKDAY ABBREVIATIONS -dateColor = "blue"; // TEXT COLOR OF THE LISTED DATES (1-28+) -focusColor = "#ff0000"; // TEXT COLOR OF THE SELECTED DATE (OR CURRENT DATE) -hoverColor = "darkred"; // TEXT COLOR OF A LINK WHEN YOU HOVER OVER IT -fontStyle = "12pt arial, helvetica"; // TEXT STYLE FOR DATES -headingFontStyle = "bold 12pt arial, helvetica"; // TEXT STYLE FOR WEEKDAY ABBREVIATIONS - -// FORMATTING PREFERENCES -bottomBorder = false; // TRUE/FALSE (WHETHER TO DISPLAY BOTTOM CALENDAR BORDER) -tableBorder = 0; // SIZE OF CALENDAR TABLE BORDER (BOTTOM FRAME) 0=none - -var DateTimeFormat = true; //"DateTime" if true, else a "Date" - -// END USER-EDITABLE SECTION ------------------------------------------------------- - -// DETERMINE BROWSER BRAND -var isNav = false; -var isIE = false; - -// ASSUME IT'S EITHER NETSCAPE OR MSIE -if (navigator.appName == "Netscape") { - isNav = true; -} -else { - isIE = true; -} - -// global variable for top frame and bottom frame -var calDocTop; -var calDocBottom; - -// PRE-BUILD PORTIONS OF THE CALENDAR WHEN THIS JS LIBRARY LOADS INTO THE BROWSER -buildCalParts(); - -// CALENDAR FUNCTIONS BEGIN HERE --------------------------------------------------- - -// SET THE INITIAL VALUE OF THE GLOBAL DATE FIELD -function setDateField(formName, dateField, hiddenField) { - - // ASSIGN THE INCOMING FIELD OBJECT TO A GLOBAL VARIABLE - thisform = document.forms[formName]; - calDateField = thisform[dateField]; - calHiddenField = thisform[hiddenField]; - - // GET THE VALUE OF THE INCOMING FIELD - inDate = thisform[hiddenField].value; - - // SET calDate TO THE DATE IN THE INCOMING FIELD OR DEFAULT TO TODAY'S DATE - setInitialDate(); - - // THE CALENDAR FRAMESET DOCUMENTS ARE CREATED BY JAVASCRIPT FUNCTIONS - calDocTop = buildTopCalFrame(); - calDocBottom = buildBottomCalFrame(); -} - - -// SET THE INITIAL CALENDAR DATE TO TODAY OR TO THE EXISTING VALUE IN dateField -function setInitialDate() { - - calDate = ParseDate(inDate, DateTimeFormat); - - // IF THE INCOMING DATE IS INVALID, USE THE CURRENT DATE - if (isNaN(calDate)) { - - // ADD CUSTOM DATE PARSING HERE - // IF IT FAILS, SIMPLY CREATE A NEW DATE OBJECT WHICH DEFAULTS TO THE CURRENT DATE - calDate = new Date(); - } - - // KEEP TRACK OF THE CURRENT DAY VALUE - calDay = calDate.getDate(); - - // SET DAY VALUE TO 1... TO AVOID JAVASCRIPT DATE CALCULATION ANOMALIES - // (IF THE MONTH CHANGES TO FEB AND THE DAY IS 30, THE MONTH WOULD CHANGE TO MARCH - // AND THE DAY WOULD CHANGE TO 2. SETTING THE DAY TO 1 WILL PREVENT THAT) - calDate.setDate(1); -} - -// CREATE THE TOP CALENDAR FRAME -function buildTopCalFrame() { - - // CREATE THE TOP FRAME OF THE CALENDAR - var calDoc = - "" + - "" + - "" + - "" + - "
    " + - "
    " + - "" + - "" + - "" + - "" + - "" + - "" + - "
    " + - "
    " + - getMonthSelect() + - "" + - "
    " + - "
    " + - "
    " + - "" + - "
    " + - "
    " + - "
    " + - "
    " + - "" + - ""; - - return calDoc; -} - -// CREATE THE BOTTOM CALENDAR FRAME -// (THE MONTHLY CALENDAR) -function buildBottomCalFrame() { - // START CALENDAR DOCUMENT - var calDoc = calendarBegin; - - // GET MONTH, AND YEAR FROM GLOBAL CALENDAR DATE - month = calDate.getMonth(); - year = calDate.getFullYear(); - - - // GET GLOBALLY-TRACKED DAY VALUE (PREVENTS JAVASCRIPT DATE ANOMALIES) - day = calDay; - - var i = 0; - - // DETERMINE THE NUMBER OF DAYS IN THE CURRENT MONTH - var days = getDaysInMonth(); - - // IF GLOBAL DAY VALUE IS > THAN DAYS IN MONTH, HIGHLIGHT LAST DAY IN MONTH - if (day > days) { - day = days; - } - - // DETERMINE WHAT DAY OF THE WEEK THE CALENDAR STARTS ON - var firstOfMonth = new Date (year, month, 1); - - // GET THE DAY OF THE WEEK THE FIRST DAY OF THE MONTH FALLS ON - var startingPos = firstOfMonth.getDay(); - days += startingPos; - - // KEEP TRACK OF THE COLUMNS, START A NEW ROW AFTER EVERY 7 COLUMNS - var columnCount = 0; - - // MAKE BEGINNING NON-DATE CELLS BLANK - for (i = 0; i < startingPos; i++) { - - calDoc += blankCell; - columnCount++; - } - - // SET VALUES FOR DAYS OF THE MONTH - var currentDay = 0; - var dayType = "weekday"; - - // DATE CELLS CONTAIN A NUMBER - for (i = startingPos; i < days; i++) { - - var paddingChar = " "; - - // ADJUST SPACING SO THAT ALL LINKS HAVE RELATIVELY EQUAL WIDTHS - if (i-startingPos+1 < 10) { - padding = "  "; - } - else { - padding = " "; - } - - // GET THE DAY CURRENTLY BEING WRITTEN - currentDay = i-startingPos+1; - - // SET THE TYPE OF DAY, THE focusDay GENERALLY APPEARS AS A DIFFERENT COLOR - if (currentDay == day) { - dayType = "focusDay"; - } - else { - dayType = "weekDay"; - } - - // ADD THE DAY TO THE CALENDAR STRING - calDoc += "" + - "" + padding + currentDay + paddingChar + ""; - - columnCount++; - - // START A NEW ROW WHEN NECESSARY - if (columnCount % 7 == 0) { - calDoc += ""; - } - } - - // MAKE REMAINING NON-DATE CELLS BLANK - for (i=days; i<42; i++) { - - calDoc += blankCell; - columnCount++; - - // START A NEW ROW WHEN NECESSARY - if (columnCount % 7 == 0) { - calDoc += ""; - if (i<41) { - calDoc += ""; - } - } - } - - // FINISH THE NEW CALENDAR PAGE - calDoc += calendarEnd; - - // RETURN THE COMPLETED CALENDAR PAGE - return calDoc; -} - - -// WRITE THE MONTHLY CALENDAR TO THE BOTTOM CALENDAR FRAME -function writeCalendar() { - // CREATE THE NEW CALENDAR FOR THE SELECTED MONTH & YEAR - calDocBottom = buildBottomCalFrame(); - - if (document.getElementById) { // ns6 & ie - top.newWin.frames['bottomCalFrame'].document.getElementById('bottomDiv').innerHTML = calDocBottom; - } else { - // WRITE THE NEW CALENDAR TO THE BOTTOM FRAME - top.newWin.frames['bottomCalFrame'].document.open(); - top.newWin.frames['bottomCalFrame'].document.write(calDocBottom); - top.newWin.frames['bottomCalFrame'].document.close(); - } -} - -// SET THE CALENDAR TO TODAY'S DATE AND DISPLAY THE NEW CALENDAR -function setToday() { - - // SET GLOBAL DATE TO TODAY'S DATE - calDate = new Date(); - - // SET DAY MONTH AND YEAR TO TODAY'S DATE - var month = calDate.getMonth(); - var year = calDate.getFullYear(); - - // SET MONTH IN DROP-DOWN LIST - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - - // SET YEAR VALUE - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - - // SET THE DAY VALUE - calDay = calDate.getDate(); - - // DISPLAY THE NEW CALENDAR - writeCalendar(); -} - - -// SET THE GLOBAL DATE TO THE NEWLY ENTERED YEAR AND REDRAW THE CALENDAR -function setYear() { - - // GET THE NEW YEAR VALUE - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - // IF IT'S A FOUR-DIGIT YEAR THEN CHANGE THE CALENDAR - if (isFourDigitYear(year)) { - calDate.setFullYear(year); - writeCalendar(); - top.newWin.frames['topCalFrame'].document.calControl.year.blur(); - } - else { - // HIGHLIGHT THE YEAR IF THE YEAR IS NOT FOUR DIGITS IN LENGTH - top.newWin.frames['topCalFrame'].document.calControl.year.focus(); - top.newWin.frames['topCalFrame'].document.calControl.year.select(); - } -} - - -// SET THE GLOBAL DATE TO THE SELECTED MONTH AND REDRAW THE CALENDAR -function setCurrentMonth() { - - // GET THE NEWLY SELECTED MONTH AND CHANGE THE CALENDAR ACCORDINGLY - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - calDate.setMonth(month); - writeCalendar(); -} - - -// SET THE GLOBAL DATE TO THE PREVIOUS YEAR AND REDRAW THE CALENDAR -function setPreviousYear() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - if (isFourDigitYear(year) && year > 1000) { - year--; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE PREVIOUS MONTH AND REDRAW THE CALENDAR -function setPreviousMonth() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - if (isFourDigitYear(year)) { - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - // IF MONTH IS JANUARY, SET MONTH TO DECEMBER AND DECREMENT THE YEAR - if (month == 0) { - month = 11; - if (year > 1000) { - year--; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - } - } - else { - month--; - } - calDate.setMonth(month); - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE NEXT MONTH AND REDRAW THE CALENDAR -function setNextMonth() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - if (isFourDigitYear(year)) { - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - // IF MONTH IS DECEMBER, SET MONTH TO JANUARY AND INCREMENT THE YEAR - if (month == 11) { - month = 0; - year++; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - } - else { - month++; - } - calDate.setMonth(month); - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE NEXT YEAR AND REDRAW THE CALENDAR -function setNextYear() { - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - if (isFourDigitYear(year)) { - year++; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - writeCalendar(); - } -} - - -// GET NUMBER OF DAYS IN MONTH -function getDaysInMonth() { - - var days; - var month = calDate.getMonth()+1; - var year = calDate.getFullYear(); - - // RETURN 31 DAYS - if (month==1 || month==3 || month==5 || month==7 || month==8 || - month==10 || month==12) { - days=31; - } - // RETURN 30 DAYS - else if (month==4 || month==6 || month==9 || month==11) { - days=30; - } - // RETURN 29 DAYS - else if (month==2) { - if (isLeapYear(year)) { - days=29; - } - // RETURN 28 DAYS - else { - days=28; - } - } - return (days); -} - - -// CHECK TO SEE IF YEAR IS A LEAP YEAR -function isLeapYear (Year) { - - if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) { - return (true); - } - else { - return (false); - } -} - - -// ENSURE THAT THE YEAR IS FOUR DIGITS IN LENGTH -function isFourDigitYear(year) { - - if (year == null || year.match(/^[0-9]{4}$/) == null){ - top.newWin.frames['topCalFrame'].document.calControl.year.value = calDate.getFullYear(); - top.newWin.frames['topCalFrame'].document.calControl.year.select(); - top.newWin.frames['topCalFrame'].document.calControl.year.focus(); - } - else { - return true; - } -} - - -// BUILD THE MONTH SELECT LIST -function getMonthSelect() { - - monthArray = new Array(L_January, L_February, L_March, L_April, L_May, L_June, - L_July, L_August, L_September, L_October, L_November, L_December); - - - // DETERMINE MONTH TO SET AS DEFAULT - var activeMonth = calDate.getMonth(); - - // START HTML SELECT LIST ELEMENT - monthSelect = ""; - - // RETURN A STRING VALUE WHICH CONTAINS A SELECT LIST OF ALL 12 MONTHS - return monthSelect; -} - - -// SET DAYS OF THE WEEK DEPENDING ON LANGUAGE -function createWeekdayList() { - - weekdayArray = new Array(L_Su,L_Mo,L_Tu,L_We,L_Th,L_Fr,L_Sa); - - - // START HTML TO HOLD WEEKDAY NAMES IN TABLE FORMAT - var weekdays = ""; - - // LOOP THROUGH WEEKDAY ARRAY - for (i in weekdayArray) { - - weekdays += "" + weekdayArray[i] + ""; - } - weekdays += ""; - - // RETURN TABLE ROW OF WEEKDAY ABBREVIATIONS TO DISPLAY ABOVE THE CALENDAR - return weekdays; -} - - -// PRE-BUILD PORTIONS OF THE CALENDAR (FOR PERFORMANCE REASONS) -function buildCalParts() { - - // GENERATE WEEKDAY HEADERS FOR THE CALENDAR - weekdays = createWeekdayList(); - - // BUILD THE BLANK CELL ROWS - blankCell = "   "; - - // BUILD THE TOP PORTION OF THE CALENDAR PAGE USING CSS TO CONTROL SOME DISPLAY ELEMENTS - calendarBegin = - "" + - "" + - // STYLESHEET DEFINES APPEARANCE OF CALENDAR - "" + - - "" + - ""; - if (document.getElementById) { // ns6 & ie - calendarBegin += - "
    "; - } - calendarBegin += - "
    "; - - // NAVIGATOR NEEDS A TABLE CONTAINER TO DISPLAY THE TABLE OUTLINES PROPERLY - if (isNav) { - calendarBegin += - "
    "; - } - - // BUILD WEEKDAY HEADINGS - calendarBegin += - "" + - weekdays + - ""; - - - // BUILD THE BOTTOM PORTION OF THE CALENDAR PAGE - calendarEnd = ""; - - // WHETHER OR NOT TO DISPLAY A THICK LINE BELOW THE CALENDAR - if (bottomBorder) { - calendarEnd += ""; - } - - // NAVIGATOR NEEDS A TABLE CONTAINER TO DISPLAY THE BORDERS PROPERLY - if (isNav) { - calendarEnd += "
    "; - } - - // END THE TABLE AND HTML DOCUMENT - calendarEnd += - "
    " + - "
    "; - if (document.getElementById) { // ns6 & ie - calendarEnd += - "
    "; - } - calendarEnd += - "" + - ""; -} - - -// REPLACE ALL INSTANCES OF find WITH replace -// inString: the string you want to convert -// find: the value to search for -// replace: the value to substitute -// -// usage: jsReplace(inString, find, replace); -// example: jsReplace("To be or not to be", "be", "ski"); -// result: "To ski or not to ski" -// -function jsReplace(inString, find, replace) { - - var outString = ""; - - if (!inString) { - return ""; - } - - // REPLACE ALL INSTANCES OF find WITH replace - if (inString.indexOf(find) != -1) { - // SEPARATE THE STRING INTO AN ARRAY OF STRINGS USING THE VALUE IN find - t = inString.split(find); - - // JOIN ALL ELEMENTS OF THE ARRAY, SEPARATED BY THE VALUE IN replace - return (t.join(replace)); - } - else { - return inString; - } -} - - -// JAVASCRIPT FUNCTION -- DOES NOTHING (USED FOR THE HREF IN THE CALENDAR CALL) -function doNothing() { -} - - -// ENSURE THAT VALUE IS TWO DIGITS IN LENGTH -function makeTwoDigit(inValue) { - - var numVal = parseInt(inValue, 10); - - // VALUE IS LESS THAN TWO DIGITS IN LENGTH - if (numVal < 10) { - - // ADD A LEADING ZERO TO THE VALUE AND RETURN IT - return("0" + numVal); - } - else { - return numVal; - } -} - - -// SET FIELD VALUE TO THE DATE SELECTED AND CLOSE THE CALENDAR WINDOW -function returnDate(inDay) -{ - // inDay = THE DAY THE USER CLICKED ON - calDate.setDate(inDay); - - // SET THE DATE RETURNED TO THE USER - var day = calDate.getDate(); - var month = calDate.getMonth()+1; - var year = calDate.getFullYear(); - - // SET THE VALUE OF THE FIELD THAT WAS PASSED TO THE CALENDAR - var dt = new Date(year, month - 1, day, 0, 0, 0); - if (this.formatJsDate) - calDateField.value = formatJsDate(dt); - else - calDateField.value = GLDT(dt,true, false); - - calHiddenField.value = "Date("; - calHiddenField.value += year; - calHiddenField.value += ","; - calHiddenField.value += month; - calHiddenField.value += ","; - calHiddenField.value += day; - calHiddenField.value += ")"; - - // GIVE FOCUS BACK TO THE DATE FIELD - calDateField.focus(); - - // CLOSE THE CALENDAR WINDOW - top.newWin.close() -} - -var gHour = "0"; -var gMin = "0"; -var gSec = "0"; -var regDateTimePrompt = /^(D|d)(A|a)(T|t)(E|e)(T|t)(I|i)(M|m)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *, *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ -function ParseDateTimePrompt(inDate) -{ - if ( regDateTimePrompt.test ( inDate ) ) - { - var sDate = inDate.substr ( inDate.indexOf("(")+1 ); //move past "DateTime (" - sDate = sDate.substr ( 0, sDate.lastIndexOf(")") ); //remove trailing ")" - var dateArray = sDate.split (','); - var _date = new Date ( dateArray[0], Number(dateArray[1]) - 1, dateArray[2] ); - gHour = dateArray[3]; gMin = dateArray[4]; gSec = dateArray[5]; - return _date; - } - return new Date (); -} - -var regDatePrompt = /^(D|d)(A|a)(T|t)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *\)$/ -function ParseDatePrompt(inDate) -{ - if ( regDatePrompt.test ( inDate ) ) - { - var sDate = inDate.substr ( inDate.indexOf("(")+1 ); //move past "Date (" - sDate = sDate.substr ( 0, sDate.lastIndexOf(")") ); //remove trailing ")" - var dateArray = sDate.split (','); - return new Date ( dateArray[0], Number(dateArray[1]) - 1, dateArray[2] ); - } - return new Date(); -} - -function ParseDate(inDate, bDateTimeFormat) -{ - var result; - - if (bDateTimeFormat == true) { - result = ParseDateTimePrompt(inDate); - } else { - result = ParseDatePrompt(inDate); - } - - return result; -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ArgumentNormalizer.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ArgumentNormalizer.js deleted file mode 100644 index 5898e9011..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ArgumentNormalizer.js +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * ArgumentNormalizer names and transforms function arguments based upon a - * set of rules provided by the user. - */ - -if (typeof bobj == 'undefined') { - bobj = {}; -} - -bobj.ArgumentNormalizer = function() { - this._rules = []; -}; - -bobj.ArgumentNormalizer.prototype = { - - /** - * Add a rule for naming and transforming arguments. - * When arguments are normalized each rule is applied until a match is - * found. A rule is a set of elements of the following form: - * - * { - * test: [function, null], - * name: [string], - * xform: [function - optional] - * } - * - * There should be one element of the above form for each argument expected - * by the rule. A rule is a match if and only if true is returned by every - * element's test function when passed its corresponding argument. A null - * test function is considered to return true. Rules are tested in the order - * they were added until one matches or there are no more to test. - * - * When a rule matches, it applies the optional xform (transform) functions - * to it arguments and saves the results in a return object with properties - * specified by the names in the rule elements. - * - * Example: - * - * n.addRule({test:isString, name:'description', xform:trim}, - * {test:isNumber, name:'id'}); - * n.addRule({test:isString, name:'description', xform:trim}, - * {test:isString, name:'id', xform:parseInt}); - * - * n.normalize(" Blue car", 11); // First rule matches - * -> {description: "Blue car", id: 11} - * - * n.normalize("Green car ", "55"); // Second rule matches - * -> {description: "Green car", id: 55} - * - * Rule elements may be passed as arrays for brevity. The first rule - * from the example above would be added as follows: - * - * n.addRule([isString, 'description', trim], [isNumber, 'id']); - * - * When an element simply names an argument (no test or transform is - * desired), it may be specified as a string. For example: - * - * n.addRule([isString, 'description', trim], 'id'); - */ - addRule: function() { - this._rules.push(arguments); - }, - - /** - * Normalize the arguments based upon the rules that have been added - * - * @param arguments Arguments to be normalized - * - * @return An object with a property for each transformed argument or null - */ - normalize: function() { - for (var rIdx = 0, nRules = this._rules.length; rIdx < nRules; ++rIdx) { - var rule = this._rules[rIdx]; - - if (rule.length == arguments.length) { - var normalArgs = {}; - - for (var aIdx = 0, nArgs = rule.length; aIdx < nArgs; ++aIdx) { - var argVal = arguments[aIdx]; - var element = rule[aIdx]; - - if (bobj.isString(element)) { // No test specified, just name the argument - var argTest = null; - var argName = element; - var argXform = null; - } - else if (bobj.isArray(element)) { - var argTest = element[0]; - var argName = element[1]; - var argXform = element[2]; - } - else { - var argTest = element.test; - var argName = element.name; - var argXform = element.xform; - } - - if (!argTest || argTest(argVal)) { - normalArgs[argName] = argXform ? argXform(argVal) : argVal; - if (aIdx+1 == nArgs) { // if no more args to check - return normalArgs; // Rule matched, return normalized args - } - } - else { - break; // Rule didn't match, try the next one - } - } - } - } - return null; - }, - - /** - * Applies an array of arguments to normalize() - * - * @param argsArray [Array] Array of arguments to normalize - * - * @return Normalized arguments or null - */ - normalizeArray: function(argsArray) { - return this.normalize.apply(this, argsArray); - } -}; - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ButtonList.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ButtonList.js deleted file mode 100644 index 4e1c18965..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ButtonList.js +++ /dev/null @@ -1,244 +0,0 @@ - -//** ButtonList Widget ************************************************************* - -/** - * ButtonList Constructor - */ -bobj.crv.newButtonList = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - numLines: null, // null allows the height to grow (will fit within the viewport) - buttonWidth: 24, - buttonTooltip: L_bobj_crv_TabList, - changeCB: null, - label: null, - tabIndex: 0, - multiSelect: false, - menuWidth: null, - menuTooltip: null - }, kwArgs); - - var o = newButtonWidget( - kwArgs.id, - kwArgs.label, - bobj.crv.ButtonList._onClick, - kwArgs.buttonWidth, - null, - kwArgs.buttonTooltip, - kwArgs.tabIndex, - 0, _skin+"menus.gif", 7, 16, 0, 81, true, 0, 97); - - o._menu = newListWidget( - kwArgs.id + "_menu", - MochiKit.Base.bind(bobj.crv.ButtonList._onChange, o), - kwArgs.multiSelect, - kwArgs.menuWidth, - kwArgs.numLines || 2, - kwArgs.menuTooltip, - null, //dblClickCB - null); //keyUpCB - - o._listItems = []; - o._blOldInit = o.init; - o._blOldGetHTML = o.getHTML; - o._menuDiv = null; - - o._captureClicks = MenuWidget_captureClicks; - o._releaseClicks = MenuWidget_releaseClicks; - - bobj.fillIn(o, kwArgs); - o.widgetType = 'ButtonList'; - MochiKit.Base.update(o, bobj.crv.ButtonList); - - return o; -}; - -bobj.crv.ButtonList = { - /** - * @return [Widget] Menu/list widget associated with this button. - */ - getMenu : function() { - return this._menu; - }, - - /** - * Add an item to the menu - * - * @param label [String] The text to display in the menu - * @param value [any - opt.] The value associated with the new menu item - * @param isSelected [bool - opt.] True if item should be selected after being added - * @param id [String - opt.] DHTML id associated with menu item; - */ - add : function(label, value, isSelected, id) { - if (this._menu && this._menu.layer) - this._menu.add (label, value, isSelected, id); - - else - this._listItems.push ( { - lbl : label, - val : value, - sel : isSelected, - id : id - }); - }, - - init : function() { - var menu = this._menu; - this._blOldInit (); - menu.init (); - - this._menuDiv = getLayer (this.id + '_menuDiv'); - - var listItems = this._listItems; - for ( var i = 0, len = listItems.length; i < len; ++i) { - var it = listItems[i]; - menu.add (it.lbl, it.val, it.sel, it.id); - } - this._listItems = []; - }, - - getHTML : function() { - var h = bobj.html; - - var menuDivAtts = { - id : this.id + '_menuDiv', - onmousedown : 'event.cancelBubble=true', - 'class' : 'menuFrame', - style : { - visibility : 'hidden', - position : 'absolute', - 'z-index' : 5000 - } - }; - return this._blOldGetHTML () + h.DIV (menuDivAtts, this._menu.getHTML ()); - }, - - /** - * @return [bool] True if and only if the menu is visible - */ - isMenuShowing : function() { - return this._menuDiv && this._menuDiv.style.visibility != 'hidden'; - }, - - /** - * Hide the menu - */ - hideMenu : function() { - if (this._menuDiv) { - this._menuDiv.style.visibility = 'hidden'; - } - }, - - /** - * Position and show the menu - */ - showMenu : function() { - if (this._menuDiv) { - this._captureClicks (); - - var body = document.body; - - if (this._menuDiv.parentNode !== body) { - body.appendChild (this._menuDiv); - } - - var divStyle = this._menuDiv.style; - divStyle.left = '-1000px'; - divStyle.top = '-1000px'; - divStyle.visibility = 'visible'; - - var winDim = MochiKit.Style.getViewportDimensions (); - - var w = this._menu.layer.offsetWidth; - var h = this._menu.getHeight (); - - /* - * If numLines wasn't specified, use as much space as necessary while remaining within the viewport - */ - if (!this.numLines) { - h = Math.min (this._menu.layer.scrollHeight + 10, winDim.h - 10); - this._menu.resize (null, h); - } - - /* Place the menu below the button and aligned with the left edge */ - var btnPos = getPosScrolled (this.layer); - var x = btnPos.x; - var y = btnPos.y + this.getHeight (); - - /* Change coordinates so the whole menu is on the screen */ - var xRight = x + w + 4; - var yBottom = y + h + 4; - - var xMax = winDim.w + body.scrollLeft - Math.max (0, (winDim.w - body.offsetWidth)); - if (xRight > xMax) { - x = Math.max (0, x - (xRight - xMax)); - } - - var yMax = winDim.h + body.scrollTop; - if (yBottom > yMax) { - y = Math.max (0, y - (yBottom - yMax)); - } - - divStyle.left = x + 'px'; - divStyle.top = y + 'px'; - } - }, - - /** - * Private. Capture clicks in the current document so that the menu can be hidden automatically. - */ - _captureClicks : function() { - var BIND = MochiKit.Base.bind; - try { - this.layer.onmousedown = BIND (this._onCaptureClick, this, true); - this._oldMousedown = document.onmousedown; - document.onmousedown = BIND (this._onCaptureClick, this, false); - } catch (ex) { - if (bobj.crv.config.isDebug) { - throw ex; - } - } - }, - - /** - * Private. Stop capturing clicks. - */ - _releaseClicks : function() { - if (this.layer.onmousedown) { /* non-null if clicks are being captured */ - this.layer.onmousedown = null; - document.onmousedown = this._oldMousedown; - } - }, - - - /** - * Private. Button click callback. - */ - _onClick : function() { - if (!this._cancelNextClick) - this.showMenu (); - - this._cancelNextClick = false; - }, - - /** - * Private. Menu change callback. - */ - _onChange : function() { - this._releaseClicks (); - this.hideMenu (); - - if (this.changeCB) - this.changeCB (); - }, - - /** - * Private. Called when a click is captured (after _captureClicks has been called) - */ - _onCaptureClick : function(cancelNext, e) { - this._cancelNextClick = cancelNext; - eventCancelBubble (e); - this.hideMenu (); - this._releaseClicks (); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Calendar.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Calendar.js deleted file mode 100644 index 4960b1f87..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Calendar.js +++ /dev/null @@ -1,539 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof bobj == 'undefined') { - bobj = {}; -} -if (typeof bobj.crv == 'undefined') { - bobj.crv = {}; -} -if (typeof bobj.crv.Calendar == 'undefined') { - bobj.crv.Calendar = {}; -} - -/* -================================================================================ -Calendar Widget -================================================================================ -*/ - -/** - * Get a shared calendar instance - */ -bobj.crv.Calendar.getInstance = function() { - if (!bobj.crv.Calendar.__instance) { - bobj.crv.Calendar.__instance = bobj.crv.newCalendar(); - } - return bobj.crv.Calendar.__instance; -}; - -bobj.crv.Calendar.Signals = { - OK_CLICK: 'okClick', - CANCEL_CLICK: 'cancelClick', - ON_HIDE: 'onHide' -}; - -bobj.crv.newCalendar = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({ - id: bobj.uniqueId() + "_calendar", - showTime: false, - date: new Date(), - // List of formats to match in order of preference. Once a format is - // matched, the time field will be displayed in that format. - timeFormats: ["HH:mm:ss", "H:mm:ss", "H:m:s", "HH:mm", "H:mm", "H:m", - "h:mm:ss a", "h:m:s a", "h:mm:ssa", "h:m:sa", "h:mm a", "h:m a", - "h:mma", "h:ma"] - }, kwArgs); - - var o = newMenuWidget( ); - - o.widgetType = 'Calendar'; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - o._menuJustInTimeInit = o.justInTimeInit; - UPDATE(o, bobj.crv.Calendar); - - o._curTimeFormat = o.timeFormats[0]; - o._cells = []; - o._firstDay = 0; - o._numDays = 0; - - return o; -}; - -bobj.crv.Calendar._createHeaderButtons = function() { - var w = 8; - var h = 4; - var dx = 46; - var dyUp = 0; - var dyDown = 12; - - var bind = MochiKit.Base.bind; - - this._prevMonthBtn = newIconWidget(this.id+"_pm",_skin+'../lov.gif',bind(this._onPrevMonthClick, this),"",_calendarPrevMonthLab,w,h,dx,dyDown); - this._prevYearBtn = newIconWidget(this.id+"_py",_skin+'../lov.gif',bind(this._onPrevYearClick, this),"",_calendarPrevYearLab,w,h,dx,dyDown); - this._nextMonthBtn = newIconWidget(this.id+"_nm",_skin+'../lov.gif',bind(this._onNextMonthClick, this),"",_calendarNextMonthLab,w,h,dx,dyUp); - this._nextYearBtn = newIconWidget(this.id+"_ny",_skin+'../lov.gif',bind(this._onNextYearClick, this),"",_calendarNextYearLab,w,h,dx,dyUp); -}; - -bobj.crv.Calendar._createTimeTextField = function() { - var bind = MochiKit.Base.bind; - - this._timeField = newTextFieldWidget( - this.id + '_time', - bind(this._onTimeChange, this), //changeCB - null, //maxChar - null, //keyUpCB - null, //enterCB - true, //noMargin - null, //tooltip - null, //width - null, //focusCB - null); //blurCB -}; - -bobj.crv.Calendar._createOKCancelButtons = function() { - var bind = MochiKit.Base.bind; - this._okBtn = newButtonWidget(this.id + "_ok", L_bobj_crv_OK, bind(this._onOKClick, this)); - this._cancelBtn = newButtonWidget(this.id + "_cancel", L_bobj_crv_Cancel, bind(this._onCancelClick, this)); -}; - -/** - * Widget will auto-initialize the first time its show method is called. - * Client code shoud not call this method. - */ -bobj.crv.Calendar.justInTimeInit = function() { - this._menuJustInTimeInit(); - - this._prevMonthBtn.init(); - this._prevYearBtn.init(); - this._nextMonthBtn.init(); - this._nextYearBtn.init(); - - this._okBtn.init(); - this._cancelBtn.init(); - - this._timeField.init(); - this._timeField.layer.style.width = '100%'; - this._timeField.setValue(bobj.external.date.formatDate(this.date, this._curTimeFormat)); - - this._timeRow = getLayer(this.id + '_timeRow'); - this._timeSep = getLayer(this.id + '_timeSep'); - - this._month = getLayer(this.id + "_month"); - this._year = getLayer(this.id + "_year"); - - var numCells = 6 * 7; // six rows in the calendar with 7 days each - for (var i = 0; i < numCells; i++) { - this._cells[i] = getLayer(this.id + '_c' + i); - } - - this._update(); -}; - -/** - * Widget will be written into the document the first time its show method is called. - * Client code shoud not call this method. - */ -bobj.crv.Calendar.getHTML = function() { - var h = bobj.html; - var TABLE = h.TABLE; - var TBODY = h.TBODY; - var TR = h.TR; - var TD = h.TD; - var DIV = h.DIV; - var SPAN = h.SPAN; - var A = h.A; - - this._createHeaderButtons(); - this._createTimeTextField(); - this._createOKCancelButtons(); - - var onkeydown = "MenuWidget_keyDown('" + this.id + "', event); return true"; - var onmousedown = "eventCancelBubble(event)"; - var onmouseup = "eventCancelBubble(event)"; - var onkeypress = "eventCancelBubble(event)"; - - var dayHeaderAtt = {'class':"calendarTextPart"}; - - var html = TABLE({dir: 'ltr', id: this.id, border:"0", cellpadding:"0", cellspacing:"0", - onkeydown: onkeydown, onmousedown: onmousedown, onmouseup: onmouseup, onkeypress: onkeypress, - 'class':"menuFrame", style:{cursor:"default", visibility:"hidden",'z-index': 10000}}, - TBODY(null, - TR(null, TD(null, this._getMonthYearHTML())), - TR(null, TD({align:"center"}, - TABLE({border:"0", cellspacing:"0", cellpadding:"0", style:{margin:"2px", 'margin-top': "6px"}}, - TR({align:"center"}, - TD(dayHeaderAtt, L_bobj_crv_SundayShort), - TD(dayHeaderAtt, L_bobj_crv_MondayShort), - TD(dayHeaderAtt, L_bobj_crv_TuesdayShort), - TD(dayHeaderAtt, L_bobj_crv_WednesdayShort), - TD(dayHeaderAtt, L_bobj_crv_ThursdayShort), - TD(dayHeaderAtt, L_bobj_crv_FridayShort), - TD(dayHeaderAtt, L_bobj_crv_SaturdayShort)), - TR(null, TD({colspan:"7", style:{padding:"2px"}}, this._getSeparatorHTML())), - this._getDaysHTML(), - TR(null, TD({colspan:"7", style:{padding:"2px"}}, this._getSeparatorHTML())), - TR({id:this.id + '_timeRow', style:{display:this.showTime ? '' : 'none'}}, - TD({colspan:"7", style:{'padding-top':"3px", 'padding-bottom':"3px", 'padding-right':"10px", 'padding-left':"10px"}}, - this._timeField.getHTML())), - TR({id:this.id + '_timeSep',style:{display:this.showTime ? '' : 'none'}}, - TD({colspan:"7", style:{padding:"2px"}}, this._getSeparatorHTML())), - TR(null, TD({colspan:"7", align:"right", style:{'padding-bottom':"3px", 'padding-top':"3px"}}, - TABLE(null, TBODY(null, TR(null, - TD(null, this._okBtn.getHTML()), - TD(null, this._cancelBtn.getHTML()))))))))))); - - return this._getLinkHTML('startLink_' + this.id) + html + this._getLinkHTML('endLink_' + this.id); -}; - -bobj.crv.Calendar._getMonthYearHTML = function() { - var h = bobj.html; - var TABLE = h.TABLE; - var TBODY = h.TBODY; - var TR = h.TR; - var TD = h.TD; - var DIV = h.DIV; - var SPAN = h.SPAN; - - return TABLE({'class':"dialogzone", width:"100%", cellpadding:"0", cellspacing:"0"}, - TBODY(null, - TR(null, - TD({style:{'padding-top':"1px"}}, this._nextMonthBtn.getHTML()), - TD({rowspan:"2", width:"100%", align:"center", 'class':"dialogzone"}, - SPAN({id:this.id + "_month", tabIndex:"0"}, _month[this.date.getMonth()]), - "  ", - SPAN({id:this.id + "_year", tabIndex:"0"}, this.date.getFullYear())), - TD({style:{'pading-top':"1px"}}, this._nextYearBtn.getHTML())), - TR({valign:"top"}, - TD({style:{'padding-bottom':"1px"}}, this._prevMonthBtn.getHTML()), - TD({style:{'padding-bottom':"1px"}}, this._prevYearBtn.getHTML())))); -}; - -bobj.crv.Calendar._getSeparatorHTML = function() { - var h = bobj.html; - var TABLE = h.TABLE; - var TBODY = h.TBODY; - var TR = h.TR; - var TD = h.TD; - - return TABLE({width:"100%", - height:"3", - cellpadding:"0", - cellspacing:"0", - border:"0", - style:backImgOffset(_skin+"menus.gif",0,80)}, - TBODY(null, TR(null, TD()))); -}; - -bobj.crv.Calendar._getLinkHTML = function(id) { - return bobj.html.A({ - id: id, - href: "javascript:void(0)", - onfocus: "MenuWidget_keepFocus('"+this.id+"')", - style:{ - visibility:"hidden", - position:"absolute" - }}); -}; - -bobj.crv.Calendar._getDaysHTML = function() { - var TD = bobj.html.TD; - var DIV = bobj.html.DIV; - var html = ''; - - for (i = 0; i < 6; ++i) { - html += ''; - - for (j = 0; j < 7; ++j) { - var cellNum = j + (i * 7); - var eventArgs = "(this," + cellNum + "," + "event);"; - - html += TD({id: this.id + '_c' + (i * 7 + j), - 'class':"calendarTextPart", - onmousedown: "bobj.crv.Calendar._onDayMouseDown" + eventArgs, - onmouseover: "bobj.crv.Calendar._onDayMouseOver" + eventArgs, - onmouseout: "bobj.crv.Calendar._onDayMouseOut" + eventArgs, - ondblclick: "bobj.crv.Calendar._onDayDoubleClick" + eventArgs, - onkeydown: "bobj.crv.Calendar._onDayKeyDown" + eventArgs}, - DIV({'class':"menuCalendar"})); - } - - html += ''; - } - - return html; -}; - -/** - * Update the calendar's display using the current date value - */ -bobj.crv.Calendar._update = function() { - var numCells = 6 * 7; // six rows in the calendar with 7 days each - var curDate = this.date.getDate(); - - var info = this._getMonthInfo(this.date.getMonth(), this.date.getFullYear()); - - var firstCellInMonth = info.firstDay; - this._firstDay = info.firstDay; - this._numDays = info.numDays; - - var year = "" + this.date.getFullYear(); - while (year.length < 4) { - year = "0" + year; - } - this._year.innerHTML = year; - this._month.innerHTML = _month[this.date.getMonth()]; - - this._selectedDate = null; - - for (var cellNum = 0; cellNum < numCells; cellNum++) { - var cell = this._cells[cellNum].firstChild; - var cssClass = "menuCalendar"; - var cellDate = this._getDateFromCellNum(cellNum); - - if (cellDate < 1 || cellDate > info.numDays) { - cell.innerHTML = ""; - cell.tabIndex = "-1"; - } - else { - cell.innerHTML = "" + cellDate; - cell.tabIndex = "0"; - if (cellDate == curDate) { - cssClass = "menuCalendarSel"; - this._selectedDay = cell; - } - } - - cell.className = cssClass; - } -}; - -bobj.crv.Calendar._getMonthInfo = function(month, year) { - var date = new Date(); - date.setDate(1); - date.setFullYear(year); - date.setMonth(month); - - var firstDay = date.getDay(); // First day of the week in this month - - date.setDate(28); - var lastDate = 28; // Last date in this month - - for (var i = 29; i < 32; i++) { - date.setDate(i); - if (date.getMonth() != month) { - break; - } - lastDate = i; - } - - return {firstDay: firstDay, numDays: lastDate}; -}; - -bobj.crv.Calendar._setDayOfMonth = function(date) { - if (date > 0 && date <= this._numDays) { - var prevDate = this.date.getDate(); - - if (date != prevDate) { - var prevCell = this._getCellFromDate(prevDate); - - if (prevCell) { - prevCell.firstChild.className = "menuCalendar"; - } - - this._getCellFromDate(date).firstChild.className = "menuCalendarSel"; - this.date.setDate(date); - } - } -}; - -bobj.crv.Calendar._getCellFromDate = function(date) { - var cellNum = date + this._firstDay - 1; - return this._cells[cellNum]; -}; - -bobj.crv.Calendar._getDateFromCellNum = function(cellNum) { - return cellNum - this._firstDay + 1; -}; - -bobj.crv.Calendar._onDayMouseOver = function(node, cellNum, event) { - var o = getWidget(node); - var div = node.firstChild; - - var date = cellNum - o._firstDay + 1; - if (date < 1 || date > o._numDays) { - div.className = "menuCalendar"; - } - else { - div.className = "menuCalendarSel"; - } -}; - -bobj.crv.Calendar._onDayMouseOut = function(node, cellNum, event) { - var o = getWidget(node); - var div = node.firstChild; - - var date = cellNum - o._firstDay + 1; - - if (date != o.date.getDate()) { - div.className = "menuCalendar"; - } -}; - -bobj.crv.Calendar._onDayMouseDown = function(node, cellNum, event) { - var o = getWidget(node); - var date = cellNum - o._firstDay + 1; - o._setDayOfMonth(date); -}; - -bobj.crv.Calendar._onDayDoubleClick = function(node, cellNum, event) { - var o = getWidget(node); - o._onOKClick(); -}; - -bobj.crv.Calendar._onDayKeyDown = function(node, cellNum, event) { - event = new MochiKit.Signal.Event(node, event); - var key = event.key().string; - if (key === "KEY_ENTER") { - var o = getWidget(node); - var date = cellNum - o._firstDay + 1; - o._setDayOfMonth(date); - } -}; - -bobj.crv.Calendar._onPrevMonthClick = function() { - var d = this.date; - var oldMonth = d.getMonth(); - if(d.getMonth() === 0) { - d.setYear(d.getFullYear() -1); - d.setMonth(11); - } - else { - d.setMonth(d.getMonth() - 1); - if (oldMonth === d.getMonth()) { - // that means we have decremented 0 month instead of 1. This happens if the current date is Oct 31, for eg. Since there's no Sept 31, it jumps to October 1. - d.setMonth(oldMonth-1); - } - } - this._update(); -}; - -bobj.crv.Calendar._onPrevYearClick = function() { - this.date.setFullYear(this.date.getFullYear() - 1); - this._update(); -}; - -bobj.crv.Calendar._onNextMonthClick = function() { - var d = this.date; - var oldMonth = d.getMonth(); - d.setMonth(d.getMonth() + 1); - if ((oldMonth+1) < d.getMonth()) { - // that means we have incremented 2 months instead of 1. This happens if the current date is Oct 31, for eg. Since there's no Nov 31, it jumps to Dec 1. - // For Dec 31, we don't need to worry because there's Jan 31. - d.setMonth(oldMonth+1); - } - this._update(); -}; - -bobj.crv.Calendar._onNextYearClick = function() { - this.date.setFullYear(this.date.getFullYear() + 1); - this._update(); -}; - -bobj.crv.Calendar._onOKClick = function() { - this.restoreFocus(); - MochiKit.Signal.signal(this, this.Signals.OK_CLICK, this._copyDate(this.date)); - this.show(false); -}; - -bobj.crv.Calendar._copyDate = function(date) { - if (date) { - return new Date(date.getFullYear(), - date.getMonth(), - date.getDate(), - date.getHours(), - date.getMinutes(), - date.getSeconds(), - date.getMilliseconds()); - } - return new Date(); -}; - -bobj.crv.Calendar._onCancelClick = function() { - this.restoreFocus(); - this.show(false); - MochiKit.Signal.signal(this, this.Signals.CANCEL_CLICK); -}; - -bobj.crv.Calendar._onTimeChange = function() { - var text = this._timeField.getValue(); - var date = null; - var format = null; - - for (var i = 0; i < this.timeFormats.length && date === null; ++i) { - format = this.timeFormats[i]; - date = bobj.external.date.getDateFromFormat(text, format); - } - - if (date) { - this._curTimeFormat = format; - this.date.setHours(date.getHours()); - this.date.setMinutes(date.getMinutes()); - this.date.setSeconds(date.getSeconds()); - this.date.setMilliseconds(date.getMilliseconds()); - } - else { - this._timeField.setValue(bobj.external.date.formatDate(this.date, this._curTimeFormat)); - } -}; - -bobj.crv.Calendar.setShowTime = function(isShow) { - var disp = isShow ? '' : 'none'; - this.showTime = isShow; - if (this.layer) { - this._timeRow.style.display = disp; - this._timeSep.style.display = disp; - } -}; - -bobj.crv.Calendar.setDate = function(date) { - this.date = date; - if (this.layer) { - this._timeField.setValue(bobj.external.date.formatDate(this.date, this._curTimeFormat)); - this._update(); - } -}; - -/** - * Show the calendar. Will write out the HTML and init the widget also. - * - * @param isShow [bool] Show calendar if true. Hide it if false. - * @param x [int] x coordinate for left of calendar - * @param y [int] y coordinate for top of calendar - * @param isAlignRight [bool, optional] When true, the x coordinate applies to - * the right edge of the calendar - * @param isAlignBottom [bool, optional] When true, the y coordinate applies to - * the bottom edge of the calendar - */ -bobj.crv.Calendar.show = function(isShow, x, y, isAlignRight, isAlignBottom) { - ScrollMenuWidget_show.call(this, isShow, x, y); - if(isShow) { - this.focus(); - } - else { - MochiKit.Signal.signal(this, this.Signals.ON_HIDE); - } -}; - -/** - * Set focus on the Calendar. The currently selected day will receive focus. - */ -bobj.crv.Calendar.focus = function() { - if (this._selectedDay) { - this._selectedDay.focus(); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Colors.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Colors.js deleted file mode 100644 index a3f87af31..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Colors.js +++ /dev/null @@ -1,8 +0,0 @@ -if (typeof bobj == 'undefined') { - bobj = {}; -}; - -bobj.Colors = { - BLACK :'#000000', - GRAY :'#a5a5a5' -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Dialogs.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Dialogs.js deleted file mode 100644 index 8838e5cb6..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Dialogs.js +++ /dev/null @@ -1,933 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof bobj.crv.PrintUI == 'undefined') { - bobj.crv.PrintUI = {}; -} - -if (typeof bobj.crv.ExportUI == 'undefined') { - bobj.crv.ExportUI = {}; -} - -if (typeof bobj.crv.ErrorDialog == 'undefined') { - bobj.crv.ErrorDialog = {}; -} - -if (typeof bobj.crv.ReportProcessingUI == 'undefined') { - bobj.crv.ReportProcessingUI = {}; -} - -/* -================================================================================ -PrintUI -================================================================================ -*/ - -bobj.crv.newPrintUI = function(kwArgs) { - if (!kwArgs.id) { - kwArgs = MochiKit.Base.update({id: bobj.uniqueId()}, kwArgs); - } - - var lbl = kwArgs.submitBtnLabel; - if (!lbl) { - lbl = L_bobj_crv_submitBtnLbl; - } - - var infoTitle = kwArgs.infoTitle; - if (!infoTitle) { - infoTitle = L_bobj_crv_PrintInfoTitle; - } - - var dialogTitle = kwArgs.dialogTitle; - if (!dialogTitle) { - if (kwArgs.isActxPrinting) { - dialogTitle = L_bobj_crv_ActiveXPrintDialogTitle; - } - else { - dialogTitle = L_bobj_crv_PDFPrintDialogTitle; - } - } - - var infoMsg = kwArgs.infoMsg; - if (!infoMsg) { - infoMsg = L_bobj_crv_PrintInfo1; - infoMsg += '\n'; - infoMsg += L_bobj_crv_PrintInfo2; - } - - var o = newDialogBoxWidget(kwArgs.id + '_dialog', - dialogTitle, - 300, - 100, - null, - bobj.crv.PrintUI._cancel, - false); - o.infoMsg = infoMsg; - o.infoTitle = infoTitle; - o.actxId = o.id + '_actx'; - o.actxContainerId = o.id + '_actxdiv'; - o._processingPrinting = false; - o._initOld = o.init; - o._showOld = o.show; - - if (!kwArgs.isActxPrinting) { - o._fromBox = newIntFieldWidget(o.id + "_fromBox", - null, - null, - null, - null, - true, - '', - 50); - o._fromBox.setDisabled = bobj.crv.PrintUI.disabledTextFieldWidget; - o._toBox = newIntFieldWidget(o.id + "_toBox", - null, - null, - null, - null, - true, - '', - 50); - o._toBox.setDisabled = bobj.crv.PrintUI.disabledTextFieldWidget; - - o._submitBtn = newButtonWidget(o.id + "_submitBtn", - lbl, - MochiKit.Base.bind(bobj.crv.PrintUI._submitBtnCB, o)); - - o._submitBtn.setDelayCallback(false); - o._allRadio = newRadioWidget(o.id + "_allRadio", - o.id + "_grp", - L_bobj_crv_PrintAllLbl, - MochiKit.Base.bind(bobj.crv.PrintUI.disabledPageRange ,o, true)); - - o._allRadio.layerClass= "dlgContent"; - - o._rangeRadio = newRadioWidget(o.id + "_rangeRadio", - o.id + "_grp", - L_bobj_crv_PrintPagesLbl, - MochiKit.Base.bind(bobj.crv.PrintUI.disabledPageRange ,o, false)); - - o._rangeRadio.layerClass= "dlgContent"; - } - - o.widgetType = 'PrintUI'; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - MochiKit.Base.update(o, bobj.crv.PrintUI); - - return o; -}; -bobj.crv.PrintUI.disabledTextFieldWidget = function(disabled) -{ - TextFieldWidget_setDisabled.call(this,disabled); - - if(disabled) - { - MochiKit.DOM.addElementClass(this.layer, "textDisabled"); - } - else { - MochiKit.DOM.removeElementClass(this.layer, "textDisabled"); - } -} - -bobj.crv.PrintUI.disabledPageRange = function(bool) -{ - if(this._fromBox && this._toBox) - { - this._fromBox.setDisabled(bool); - this._toBox.setDisabled(bool); - } -} - -bobj.crv.PrintUI._submitBtnCB = function() { - var start = null; - var end = null; - if (this._rangeRadio.isChecked()) { - start = parseInt(this._fromBox.getValue(), 10); - end = parseInt(this._toBox.getValue(), 10); - - if (!start || !end || (start < 0) || (start > end)) { - alert(L_bobj_crv_PrintPageRangeError); - return; - } - } - - if (this.widgetType == 'PrintUI') { - MochiKit.Signal.signal(this, 'printSubmitted', start, end); - } - else { - MochiKit.Signal.signal(this, 'exportSubmitted', start, end, this._comboBox.getSelection().value); - } - - this.show(false); -}; - -bobj.crv.PrintUI._getRPSafeURL = function(url) { - if (!url) { - return; - } - - if (url.indexOf('/') === 0) { - return url; - } - - var winLoc = window.location.href; - - var qPos = winLoc.lastIndexOf('?'); - if (qPos > 0) { - winLoc = winLoc.substring(0, qPos) - } - - var lPos = winLoc.lastIndexOf('/'); - - if (lPos < 0) { - return url; - } - - winLoc = winLoc.substring(0, lPos); - return winLoc + '/' + url; -}; - -bobj.crv.PrintUI._getObjectTag = function(postData) { - var oa = []; - - oa.push(''); - - oa.push(''); - - oa.push(''); - - if (this.lcid) { - oa.push(''); - } - - if (this.url) { - oa.push(''); - } - - if (this.title) { - oa.push(''); - } - - if (this.maxPage) { - oa.push(''); - } - - if (this.paperOrientation) { - oa.push(''); - } - - if (this.paperSize) { - oa.push(''); - } - - if (this.paperWidth) { - oa.push(''); - } - - if (this.paperLength) { - oa.push(''); - } - - if (this.driverName) { - oa.push(''); - } - - if (this.useDefPrinter) { - oa.push(''); - } - - if (this.useDefPrinterSettings) { - oa.push(''); - } - - if (this.sendPostDataOnce) { - oa.push(''); - } - oa.push(''); - - // Add waiting UI while the control is loading - oa.push(''); - oa.push('
    '); - - // Frame Zone - var o = this; - var zoneW=o.getContainerWidth()-10; - var zoneH=o.getContainerHeight()-(2*o.pad+21+10); - oa.push('
    '); - - oa.push(''); - oa.push(''); - oa.push('
    '); - oa.push(img(_skin+'wait01.gif',200,40)); - oa.push('
    '); - oa.push('
    '); - oa.push(convStr(L_bobj_crv_PrintControlProcessingMessage,false,true)); - oa.push('
    '); - - oa.push('
    '); - - oa.push('
    '); - - return oa.join(''); -}; - -bobj.crv.PrintUI._cancel = function () { - if (this.isActxPrinting) { - document.getElementById(this.actxContainerId).innerHTML = ''; - this._processingPrinting = false; - } -}; - -bobj.crv.PrintUI._processPrinting = function(){ - if (!this._processingPrinting){ - var o = document.getElementById(this.actxId); - var w = document.getElementById(this.actxId + '_wait'); - if (o && w){ - o.width = "100%"; - o.height = "100%"; - w.style.display="none"; - } - this._processingPrinting = true; - } - -}; - -bobj.crv.PrintUI.show = function(visible, postBackData) { - this._processingPrinting = false; - if (visible) { - if (!this.layer) { - targetApp(this.getHTML()); - this.init(); - } - if (this.isActxPrinting) { - document.getElementById(this.actxContainerId).innerHTML = this._getObjectTag(postBackData); - } - this._showOld(true); - } - else if (this.layer) { - this._showOld(false); - } -}; - -bobj.crv.PrintUI.init = function() { - this._initOld(); - - if (!this.isActxPrinting) { - this._fromBox.init(); - this._toBox.init(); - this._submitBtn.init(); - - this._allRadio.init(); - this._rangeRadio.init(); - - this._allRadio.check(true); - this._toBox.setDisabled(true); - this._fromBox.setDisabled(true); - - if (this.widgetType == 'ExportUI') { - this._updateExportList(); - } - } -}; - -bobj.crv.PrintUI.getHTML = function(){ - var h = bobj.html; - var o = this; - - var html = o.beginHTML(); - - if (!this.isActxPrinting) { - html += "" + - "" + - "" + - "" + - "" + - "" + - "" + - "
    " + - "
    " + - "" + - "" + - "" + - "" + - "
    " + - "
    " + - "
    " + - "" + - "" + - "
    " + - this._submitBtn.getHTML() + - "
    " + - "
    "; - - - } - else { - html += "
    " + - '' + - '' ; - } - - html += o.endHTML(); - html += bobj.crv.getInitHTML(this.widx); - - return html; -}; - -/* -================================================================================ -ExportUI -================================================================================ -*/ -bobj.crv.newExportUI = function(kwArgs) { - kwArgs = MochiKit.Base.update({ submitBtnLabel:L_bobj_crv_ExportBtnLbl, - dialogTitle:L_bobj_crv_ExportDialogTitle, - infoTitle:L_bobj_crv_ExportInfoTitle, - infoMsg:L_bobj_crv_PrintInfo1, - isExporting:true}, kwArgs); - - var o = bobj.crv.newPrintUI(kwArgs); - - o._comboBox = newCustomCombo( - o.id + "_combo", - MochiKit.Base.bind(bobj.crv.ExportUI._onSelectFormat, o), - false, - 270, - L_bobj_crv_ExportFormatLbl, - _skin + "../transp.gif", // Screen reader can't read its text without transp.gif - 0, - 14); - - //Adjustment to combo box after adding transp.gif as icon - if(o._comboBox) { - o._comboBox.icon.border=0; - o._comboBox.icon.h=14; - o._comboBox.arrow.h=12; - o._comboBox.arrow.dy+=2 - o._comboBox.arrow.disDy+=2 - } - - o.widgetType = 'ExportUI'; - MochiKit.Base.update(o, bobj.crv.ExportUI); - - return o; -}; - -bobj.crv.ExportUI._onSelectFormat = function() { - var format = this._comboBox.getSelection().value; - if (format == 'CrystalReports' || format == 'RPTR' || format == 'RecordToMSExcel' || format == 'RecordToMSExcel2007' || format == 'CharacterSeparatedValues' || format == 'XML') { - this._fromBox.setDisabled(true); - this._toBox.setDisabled(true); - - this._rangeRadio.check(false); - this._rangeRadio.setDisabled(true); - - this._allRadio.check(true); - } - else { - this._rangeRadio.setDisabled(false); - } -}; - -bobj.crv.ExportUI.update = function (update) { - if (!update || update.cons !== "bobj.crv.newExportUI") { - return; - } - - this.availableFormats = update.args.availableFormats; - - if(this._comboBox.initialized()) { - /* - * Uninitialized combobox is not required to be updated as it will - * be updated during initialization - */ - this._updateExportList(); - } -}; - -bobj.crv.ExportUI._updateExportList = function() { - if(!this._comboBox.initialized()) { - this._comboBox.init(); - } - - this._updateComboItems(); - - var item0 = this._comboBox.getItemByIndex(0); - if(item0 != null) - this._comboBox.selectItem(item0); - - this._onSelectFormat(); -}; - -bobj.crv.ExportUI._updateComboItems = function () { - this._comboBox.removeAllMenuItems(); - var itemsCount = (bobj.isArray(this.availableFormats) ? this.availableFormats.length : 0); - - for (var i = 0; i < itemsCount; i++) { - var item = this.availableFormats[i]; - this._comboBox.add(item.name, item.value, item.isSelected); - } -}; - -bobj.crv.ExportUI._getExportList = function() { - return "" + - "" + - (_ie?"" + - "" + - "" + - "
     
    " + - "
    " + - this._comboBox.getHTML() + - "
    "; -}; - -/* -================================================================================ -ErrorDialog - -TODO Dave: If time permits, make dialog resizable with mouse -================================================================================ -*/ - -/** - * Static function. - * @returns [ErrorDialog] Returns a shared Error Dialog - */ -bobj.crv.ErrorDialog.getInstance = function() { - if (!bobj.crv.ErrorDialog.__instance) { - bobj.crv.ErrorDialog.__instance = bobj.crv.newErrorDialog(); - } - return bobj.crv.ErrorDialog.__instance; -}; - -bobj.crv.newErrorDialog = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - title: L_bobj_crv_Error, - text: null, - detailText: null, - okLabel: L_bobj_crv_OK, - promptType: _promptDlgCritical - }, kwArgs); - - var o = newPromptDialog( - kwArgs.id, - kwArgs.title, - kwArgs.text, - kwArgs.okLabel, - null, // cancelLabel - kwArgs.promptType, - null, // yesCB - null, // noCB, - true, // noCloseButton - true); // isAlert - - o.widgetType = 'ErrorDialog'; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - o._promptDlgInit = o.init; - o._promptDialogSetText = o.setText; - o._promptDialogShow = o.show; - o._promptDialogSetTitle = o.setTitle; - o._promptDialogSetPromptType = o.setPromptType; - MochiKit.Base.update(o, bobj.crv.ErrorDialog); - - o.noCB = MochiKit.Base.bind(o._onClose, o); - o.yesCB = o.noCB; - - o._detailBtn = newIconWidget( - o.id + "_detailBtn", - bobj.skinUri('../help.gif'), - MochiKit.Base.bind(bobj.crv.ErrorDialog._onDetailBtnClick, o), - L_bobj_crv_showDetails, // Text - L_bobj_crv_showDetails, // Tooltip - 16,16,0,0,22,0, - true); // Tabbing is enabled - - return o; -}; - -bobj.crv.ErrorDialog.init = function() { - this._promptDlgInit(); - this._detailBtn.init(); - this._detailRow = document.getElementById(this.id + '_detRow'); - this._detailArea = document.getElementById(this.id + '_detArea'); - - if (!this.detailText) { - this._detailBtn.show(false); - } -}; - -bobj.crv.ErrorDialog.getHTML = function() { - var TABLE = bobj.html.TABLE; - var TBODY = bobj.html.TBODY; - var TR = bobj.html.TR; - var TD = bobj.html.TD; - var PRE = bobj.html.PRE; - var DIV = bobj.html.DIV; - - var imgPath = PromptDialog_getimgPath(this.promptType); - var imgAlt = PromptDialog_getimgAlt(this.promptType); - - var width = "320"; - var detailWidth = "300px"; - var detailHeight = "100px"; - - var contentHTML = - TABLE({'class':"dlgBody", width: width, cellpadding:"0", cellspacing:"5", border:"0"}, - TBODY(null, - TR(null, TD(null, - TABLE({'class':"dlgBody", cellpadding:"5", cellspacing:"0", border:"0"}, - TBODY(null, - TR(null, - TD({align:"right", width:"32"}, - img(imgPath, 32, 32, null, 'id="dlg_img_' + this.id + '"', imgAlt)), - TD(), - TD({id:"dlg_txt_" + this.id, align:"left"}, - DIV({tabindex:"0"}, convStr(this.text, false, true)))))))), - TR({id: this.id + '_detRow', style: {display: "none"}}, - TD(null, DIV({'class': "infozone", style: {width: detailWidth, 'height': detailHeight, overflow: "auto"}}, - PRE({id: this.id + '_detArea'}, this.detailText)))), - TR(null, TD(null, getSep())), - TR(null, TD(null, - TABLE({cellpadding:"5", cellspacing:"0", border:"0", width:"100%"}, - TBODY(null, - TR(null, - TD({align:"left"}, this._detailBtn.getHTML()), - TD({align:"right"}, this.yes.getHTML())))))))); - - - return this.beginHTML() + contentHTML + this.endHTML(); -}; - -/** - * Set the error message and detail text. - * - * @param text [String] Error message - * @param detailText [String] Detailed error message or technical info - */ -bobj.crv.ErrorDialog.setText = function (text, detailText) { - this.text = text; - this.detailText = detailText; - - if (this.layer) { - this._promptDialogSetText(text || ''); - - if (this._detailArea) { - this._detailArea.innerHTML = detailText || ''; - } - - var showDetails = detailText ? true : false; - this._detailBtn.show(showDetails); - if (!showDetails) { - this.showDetails(false); - } - } -}; - -bobj.crv.ErrorDialog.setTitle = function (title) { - this.title = title; - if (this.layer) { - this._promptDialogSetTitle(title || ''); - } -}; - -bobj.crv.ErrorDialog.setPromptType = function (promptType) { - this.promptType = promptType; - if (this.layer) { - this._promptDialogSetPromptType(promptType); - } -}; - -/** - * Show/Hide the dialog - * - * @param isShow [bool(=true)] True value displays the dialog, false hides it. - * @param closeCB [function] Callback to call after the next close event - */ -bobj.crv.ErrorDialog.show = function(isShow, closeCB) { - if (typeof isShow == 'undefined') { - isShow = true; - } - - if (isShow) { - this._closeCB = closeCB; - if (!this.layer) { - targetApp(this.getHTML()); - this.init(); - } - this.layer.onkeyup = DialogBoxWidget_keypress; - DialogBoxWidget_keypress = MochiKit.Base.noop; - - this._promptDialogShow(true); - } - else if (this.layer){ - this._closeCB = null; - this._promptDialogShow(false); - } -}; - -/** - * Show/Hide the detailed error message - * - * @param isShow [bool(=true)] True value displays the details, false hides them. - */ -bobj.crv.ErrorDialog.showDetails = function(isShow) { - if (typeof isShow == 'undefined') { - isShow = true; - } - - if (this._detailRow && this._detailBtn) { - if (isShow) { - this._detailRow.style.display = ''; - this._detailBtn.changeText(L_bobj_crv_hideDetails); - } - else { - this._detailRow.style.display = 'none'; - this._detailBtn.changeText(L_bobj_crv_showDetails); - } - } -}; - -/** - * Private. Handles detail button clicks. - */ -bobj.crv.ErrorDialog._onDetailBtnClick = function() { - if (this._detailRow) { - this.showDetails(this._detailRow.style.display == 'none'); - } -}; - -/** - * Private. Notifies listener that dialog has closed; - */ -bobj.crv.ErrorDialog._onClose = function() { - if (this._closeCB) { - this._closeCB(); - this._closeCB = null; - } - DialogBoxWidget_keypress = this.layer.onkeyup; - this.layer.onkeyup = null; -}; - -/* -================================================================================ -Report Processing Dialog -================================================================================ -kwArgs -delay - the wait time prior to showing the dialog. -message - a customized message to display in the dialog. -*/ -bobj.crv.newReportProcessingUI = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - delay: 250, - message: L_bobj_crv_ReportProcessingMessage - }, kwArgs); - - /* Since JSON escapes the '\' in unicode character references (\uXXXX) in Viewer - * process indicator text is converted to html numeric referece (&#ddddd) which Javascript - * don't display as expected. Little hack here to it as HTML string */ - var d = document.createElement('div'); - d.style.visibility = 'hidden'; - d.innerHTML = kwArgs.message; - var newMsg = d.innerHTML; - d = null; - - var o = newWaitDialogBoxWidget( - kwArgs.id, // id - 0, // width - 0, // height - '', // title - false, // show cancel - bobj.crv.ReportProcessingUI.cancelCB, // cancel callback - true, // show label - newMsg, // label text - true // no close button - ); - - - o.widgetType = 'ReportProcessingUI'; - o.delay = kwArgs.delay; - - // Update instance with member functions - MochiKit.Base.update(o, bobj.crv.ReportProcessingUI); - - return o; -}; - -bobj.crv.reportProcessingDialog = null; -bobj.crv.timerID = null; - -bobj.crv.ReportProcessingUI.cancelCB = function () -{ - bobj.crv.reportProcessingDialog.cancelled = true; - - if (bobj.crv.reportProcessingDialog.deferred !== null) { - bobj.crv.reportProcessingDialog.deferred.cancel (); - } - - bobj.crv.reportProcessingDialog.cancelShow (); -}; - -bobj.crv.ReportProcessingUI.wasCancelled = function () -{ - return bobj.crv.reportProcessingDialog.cancelled; -}; - -bobj.crv.ReportProcessingUI._prepareToShow = function () { - // cleanup any existing dialog? - if (bobj.crv.reportProcessingDialog !== null) { - bobj.crv.reportProcessingDialog.cancelShow (); - } - - if (!this.layer) { - append2(document.body, this.getHTML()); - this.init(); - } - - this.deferred = null; - bobj.crv.reportProcessingDialog = this; -}; - -bobj.crv.ReportProcessingUI.Show = function () { - this._prepareToShow(); - bobj.crv.reportProcessingDialog.show(true); -}; - -bobj.crv.ReportProcessingUI.delayedShow = function () { - this._prepareToShow(); - bobj.crv.timerID = setTimeout("bobj.crv._showReportProcessingDialog ()", bobj.crv.reportProcessingDialog.delay); -}; - -bobj.crv.ReportProcessingUI.cancelShow = function () { - if (bobj.crv.timerID) { - clearTimeout (bobj.crv.timerID); - } - - if (bobj.crv.reportProcessingDialog){ - bobj.crv.reportProcessingDialog.show (false); - } - - bobj.crv.reportProcessingDialog = null; - bobj.crv.timerID = null; -}; - -bobj.crv.ReportProcessingUI.setDeferred = function (deferred) { - bobj.crv.reportProcessingDialog.deferred = deferred; - - if (bobj.crv.reportProcessingDialog.wasCancelled () === true) { - deferred.cancel (); - } -}; - -bobj.crv._showReportProcessingDialog = function () { - if (bobj.crv.reportProcessingDialog && bobj.crv.reportProcessingDialog.delay !== 0) { - bobj.crv.logger.info('ShowReportProcessingDialog'); - bobj.crv.reportProcessingDialog.show (true); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTree.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTree.js deleted file mode 100644 index f95877c50..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTree.js +++ /dev/null @@ -1,270 +0,0 @@ -/* - ================================================================================ - GroupTree - ================================================================================ - */ - -/** - * GroupTree constructor. - * - * @param kwArgs.id [String] DOM node id - * @param kwArgs.icns [String] URL to magnifying glass icon - * @param kwArgs.minIcon [String] URL to min.gif - * @param kwArgs.plusIcon [String] URL to plus.gif - */ -bobj.crv.newGroupTree = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE ( { - id : bobj.uniqueId (), - visualStyle : { - className : null, - backgroundColor : null, - borderWidth : null, - borderStyle : null, - borderColor : null, - fontFamily : null, - fontWeight : null, - textDecoration : null, - color : null, - width : null, - height : null, - fontStyle : null, - fontSize : null - }, - icns : bobj.crvUri ('images/magnify.gif'), - minIcon : bobj.crvUri ('images/min.gif'), - plusIcon : bobj.crvUri ('images/plus.gif') - }, kwArgs); - - var o = newTreeWidget (kwArgs.id + '_tree', '100%', '100%', kwArgs.icns, null, null, 'groupTree', - bobj.crv.GroupTree._expand, bobj.crv.GroupTree._collapse, null, kwArgs.minIcon, kwArgs.plusIcon); - - o._children = []; - o._modalChildren = []; - o._lastNodeIdInitialized = -1; - o._lastNodeInitialized = null; - o._curSigs = []; - bobj.fillIn (o, kwArgs); - o.widgetType = 'GroupTree'; - o.initOld = o.init; - - UPDATE (o, bobj.crv.GroupTree); - - return o; -}; - -bobj.crv.GroupTree = { - /** - * Disposes group tree - */ - dispose : function() { - /* removes all the signals */ - while (this._curSigs.length > 0) { - bobj.crv.SignalDisposer.dispose (this._curSigs.pop ()); - } - - /* disposes all the children*/ - while (this._children.length > 0) { - var child = this._children.pop (); - child.dispose (); - bobj.deleteWidget (child); - delete child; - } - - this._lastNodeIdInitialized = -1; - this._lastNodeInitialized = null; - this.sub = []; - bobj.removeAllChildElements(this.treeLyr); - }, - - getModalChildren : function () { - return this._modalChildren; - }, - - /** - * Adds a child widget as a group tree node. - * - * @param widget - * [Widget] Child tree node widget - */ - addChild : function(widget) { - var Base = MochiKit.Base; - var Signal = MochiKit.Signal; - var connect = Signal.connect; - - widget.expandPath = this._children.length + ''; - this._children.push (widget); - - widget._updateProperty (this.enableDrilldown, this.enableNavigation); - this.add (widget); - widget.delayedAddChild (this.enableDrilldown, this.enableNavigation); - - this._curSigs.push (connect (widget, 'grpDrilldown', Base.partial (Signal.signal, this, 'grpDrilldown'))); - this._curSigs.push (connect (widget, 'grpNodeRetrieveChildren', Base.partial (Signal.signal, this, 'grpNodeRetrieveChildren'))); - }, - - /** - * Since GroupTree nodes are delay loaded, we would have to store the timeout ids to cancel them in case user drill down to another views - */ - delayedBatchAdd : function(children) { - if (!children || children.length == 0) - return; - - this._modalChildren = children; - var childrenHTML = ""; - - var numChildrenToRender = children.length > 100 ? 100 : children.length; - if(numChildrenToRender > 0) { - for(var i = 0 ; i < numChildrenToRender ; i++) { - var child = bobj.crv.createWidget (this._modalChildren[i]); - this.addChild(child); - if(this.initialized()) - childrenHTML += child.getHTML(0); - } - } - - if(this.initialized()) { - this.appendChildrenHTML (childrenHTML); - this.initChildren (); - } - }, - - appendChildrenHTML : function (childrenHTML) { - append (this.treeLyr, childrenHTML); - }, - - init : function() { - this.initOld (); - bobj.setVisualStyle (this.layer, this.visualStyle); - this.css.verticalAlign = "top"; - - this.initChildren (); - - this._groupTreeListener = new bobj.crv.GroupTreeListener(this); - }, - - update : function(update) { - if (update.cons == "bobj.crv.newGroupTree") { - var args = update.args; - var path = args.lastExpandedPath; - /* if path specified, then update specific path, otherwise recreate grouptree */ - // if user has expands a node after session timeout -> the whole gt must be rerendered - if (path.length > 0 && this._children.length > 0) { - this.updateNode (path, update); - } else { - this.refreshChildNodes (update) - } - } - }, - - delayedAddChild : function(widget) { - this.addChild (widget); - append (this.treeLyr, widget.getHTML (this.initialIndent)); - }, - - initChildren : function () { - while(this._lastNodeIdInitialized < this._children.length - 1) - this.initNextChild (); - }, - - initNextChild : function () { - var nextNode = null; - var nextNodeId = -1; - if(this._lastNodeIdInitialized == -1) { - var treeSpanLayer = getLayer("treeCont_" + this.id); - nextNode = treeSpanLayer.firstChild; - nextNodeId = 0; - } - else { - nextNode = this._lastNodeInitialized.nextSibling; - while(!(nextNode.id && nextNode.id.indexOf("TWe_") > -1)) - nextNode = nextNode.nextSibling; - - nextNodeId = this._lastNodeIdInitialized + 1; - } - - if(nextNodeId < this._children.length && nextNode != null) { - this._children[nextNodeId].init(nextNode); - this._lastNodeInitialized = nextNode; - this._lastNodeIdInitialized = nextNodeId; - } - }, - - getBestFitHeight : function () { - return bobj.getHiddenElementDimensions (this.layer).h; - /** - * Since container of tree could be invisible, getHiddenElementDimensions has to be called - * instead of element.getHeight() - */ - }, - - /** - * refreshes group tree by removing all nodes and adding new ones - */ - refreshChildNodes : function(update) { - this.dispose (); - this.delayedBatchAdd (update.children); - MochiKit.Signal.signal(this, "refreshed"); - }, - - /** - * @param path - * path to the node that should be updated eg) 0-1-2 - * @param newTree - * the new tree sent in update - * - * Updates children of node specified by path - */ - updateNode : function(path, newTree) { - if (path && path.length > 0) { - var pathArray = path.split ('-'); - var node = this; - var newNode = newTree; - - /* Navigating to the node that requires update */ - for ( var i = 0, len = pathArray.length; i < len; i++) { - if (node && newNode) { - var childIndex = parseInt (pathArray[i]); - newNode = newNode.children[childIndex]; - node = node._children[childIndex]; - } else { - break; - } - } - - /* if we found the node that requires update, then update its children */ - if (node && newNode && newNode.args.groupPath == node.groupPath && node._children.length == 0) { - for ( var nodeNum in newNode.children) { - var newChildnode = bobj.crv.createWidget (newNode.children[nodeNum]); - node.addChild (newChildnode); - } - - node.delayedAddChild (this.enableDrilldown, this.enableNavigation); - node.expand (); - } - } - }, - - getChildrenCount : function () { - return this.sub.length; - }, - - /** - * Private. Callback function when a (complete) group tree node is collapsed. - */ - _collapse : function(expandPath) { - MochiKit.Signal.signal (this, 'grpNodeCollapse', expandPath); - }, - - /** - * Private. Callback function when a (complete) group tree node is expanded. - */ - _expand : function(expandPath) { - MochiKit.Signal.signal (this, 'grpNodeExpand', expandPath); - }, - - resize : function(width, height) { - bobj.setOuterSize (this.layer, width, height); - MochiKit.Signal.signal(this, "resized"); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTreeListener.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTreeListener.js deleted file mode 100644 index 7392c30f9..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTreeListener.js +++ /dev/null @@ -1,165 +0,0 @@ -bobj.crv.GroupTreeListener = function(groupTree) { - this._groupTree = groupTree; - this._groupTreePrevState = this.getTreeState (); - this._lastNodeRendererd = this.getNumberOfNodesRendered () - 1; - this._nodeHeight = -1; - this._futreNodesPlaceHolder = null; - this.actionIDs = []; - this.addFutureNodesPlaceHolder (); - - MochiKit.Signal.connect(groupTree.layer, "onscroll", bobj.bindFunctionToObject(this.detectTreeChanges, this)); - MochiKit.Signal.connect(groupTree, "refreshed", this, this.reset); - MochiKit.Signal.connect(groupTree, "resized", this, this.detectTreeChanges); -}; - -bobj.crv.GroupTreeListener.prototype = { - /** - * - * @return number of nodes rendered by group tree - */ - getNumberOfNodesRendered : function() { - return this._groupTree.getChildrenCount (); - }, - - /** - * - * @return number of nodes that have not been rendered yet - */ - getNumberOfNodesMissing : function() { - return this._groupTree.getModalChildren ().length - this._lastNodeRendererd - 1; - }, - - getTreeState : function() { - var gt = this._groupTree; - return { - height :gt.getHeight (), - scrollTop :gt.layer.scrollTop - }; - }, - - /** - * - * @return number of nodes required to be rendered to fill up the group tree height - */ - getNumberOfNodesToRender : function() { - if (this.getNumberOfNodesMissing() == 0) - return 0; - - var lastNodeRendered = this._groupTree.sub[this._lastNodeRendererd]; - var treeNewState = this.getTreeState (); - - if (lastNodeRendered != null) { - var offsetY = lastNodeRendered.layer.offsetTop; - if (offsetY < treeNewState.scrollTop + treeNewState.height) { - var freeSpace = treeNewState.scrollTop + treeNewState.height - offsetY; - return Math.floor (freeSpace / this.getNodeHeight ()); - } - } - - return 0; - }, - - /** - * - * @return a single node height - */ - getNodeHeight : function() { - if (this._nodeHeight > -1) - return this._nodeHeight; - else if (this.getNumberOfNodesRendered () > 0) { - var node = this._groupTree.sub[0]; - this._nodeHeight = bobj.getHiddenElementDimensions (node.layer).h; - return this._nodeHeight; - } - - return 0; - }, - - /** - * - * Adds as many nodes as it can to fill up the grouptree's height - */ - updateTreeChildren : function() { - var numNodesToRender = this.getNumberOfNodesToRender (); - var groupTreeModalChildren = this._groupTree.getModalChildren (); - - if (numNodesToRender > 0) { - var childrenHTML = ""; - for ( var i = this._lastNodeRendererd + 1, lastNode = this._lastNodeRendererd + numNodesToRender; i <= lastNode; i++) { - var modalChild = groupTreeModalChildren[i]; - if (modalChild != null) { - var treeNode = bobj.crv.createWidget (modalChild); - this._groupTree.addChild (treeNode); - childrenHTML += treeNode.getHTML(0); - this._lastNodeRendererd = i; - } - } - - this._groupTree.appendChildrenHTML(childrenHTML); - this._groupTree.initChildren(); - } - - this.updateFutureNodesPlaceHolderHeight (); - }, - - /** - * Detects if the tree UI has changed and calls update function - * - */ - detectTreeChanges : function() { - if (this.isTreeStateChanged ()) - this.actionIDs.push(setTimeout(bobj.bindFunctionToObject(this.updateTreeChildren, this), 200)); - - this._groupTreePrevState = this.getTreeState (); - }, - - isTreeStateChanged : function() { - var currentState = this.getTreeState (); - if (currentState.height != this._groupTreePrevState.height) - return true; - if (currentState.scrollTop != this._groupTreePrevState.scrollTop) - return true; - - return false; - }, - - /** - * - * Results listener's internal state when grouptree is refreshed - */ - reset : function() { - this._groupTreePrevState = this.getTreeState (); - this._lastNodeRendererd = this.getNumberOfNodesRendered () - 1; - this.clearActions (); - this.updateFutureNodesPlaceHolderHeight (); - }, - - clearActions : function () { - while(this.actionIDs.length > 0) { - clearTimeout(this.actionIDs.pop()); - } - }, - - updateFutureNodesPlaceHolderHeight : function() { - var futurePlaceHolderLayer = this.getFutureNodesPlaceHolderLayer (); - if (futurePlaceHolderLayer != null) { - futurePlaceHolderLayer.style.height = (this.getNumberOfNodesMissing () * this.getNodeHeight ()) + "px"; - } - }, - - getFutureNodesPlaceHolderLayer : function() { - return this._futreNodesPlaceHolder; - }, - - addFutureNodesPlaceHolder : function() { - this._futreNodesPlaceHolder = MochiKit.DOM.DIV ( { - id :bobj.uniqueId () + "_futureHolder", - style : { - width :'0px', - height :(this.getNumberOfNodesMissing () * this.getNodeHeight ()) + "px" - } - }); - this._groupTree.layer.appendChild (this._futreNodesPlaceHolder); - - } -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTreeNode.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTreeNode.js deleted file mode 100644 index 827d7d83c..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/GroupTreeNode.js +++ /dev/null @@ -1,203 +0,0 @@ -/** - * GroupTreeNode constructor. - * - * @param kwArgs.id [String] DOM node id - * @param kwArgs.groupName [String] Name of the group - * @param kwArgs.groupPath [String] Path of the group - */ -bobj.crv.newGroupTreeNode = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE ( { - id : bobj.uniqueId () - }, kwArgs); - var iconAlt = null; - var iconId = -1; // by default, no icon - if (!kwArgs.isVisible) { - iconId = 0; - iconAlt = L_bobj_crv_Tree_Drilldown_Node.replace ('%1', kwArgs.groupName); - } - - var o = newTreeWidgetElem (iconId, kwArgs.groupName, kwArgs.groupPath, null, null, null, iconAlt, null, null, false); - - o._children = []; - o._curSigs = []; - bobj.fillIn (o, kwArgs); - - o.widgetType = 'GroupTreeNode'; - o.initOld = o.init; - o.selectOld = o.select; - o.select = bobj.crv.GroupTreeNode._drilldown; - - if (!kwArgs.isVisible) { - o.setCursorClass('drill_cursor'); - } - - UPDATE (o, bobj.crv.GroupTreeNode); - - return o; -}; - -bobj.crv.GroupTreeNode = { - /** - * Diposes grouptree node. Deletes all signals and children - */ - dispose : function() { - while (this._curSigs.length > 0) { - bobj.crv.SignalDisposer.dispose (this._curSigs.pop ()); - } - - while (this._children.length > 0) { - var child = this._children.pop (); - child.dispose (); - - bobj.deleteWidget (child); - delete child; - } - - this.sub = []; - - //layers of all GroupTreeNodes are disposed in GroupTree.dispose in one batch for performance reason - }, - - init : function(layer) { - this.initOld (layer); - this._setVisualStyle (); - - if (this.isStatic) { - /*"treeNormal" is the default css class for tree node text */ - var spans = MochiKit.DOM.getElementsByTagAndClassName ("span", "treeNormal", this.layer); - if (spans && spans.length > 0) - spans[0].style.cursor = 'text'; - - } - }, - - /** - * @return boolean true if node is expanded - */ - isExpanded : function() { - var elemId = TreeIdToIdx (this.layer); - return _TreeWidgetElemInstances[elemId].expanded; - }, - - /** - * expands node and shows its children - */ - - expand : function() { - var elemId = TreeIdToIdx (this.layer); - _TreeWidgetElemInstances[elemId].expanded = false - TreeWidget_toggleCB (elemId); - }, - - collapse : function() { - var elemId = TreeIdToIdx (this.layer); - _TreeWidgetElemInstances[elemId].expanded = true - TreeWidget_toggleCB (elemId); - }, - - _setVisualStyle : function() { - try { - var textNode = this.layer.lastChild; - var parentNode = this.treeView; - } catch (err) { - return; - } - - var pvStyle = parentNode.visualStyle; - var tStyle = textNode.style; - - if (pvStyle.fontFamily) - tStyle.fontFamily = pvStyle.fontFamily; - - if (pvStyle.fontWeight) - tStyle.fontWeight = pvStyle.fontWeight; - - if (pvStyle.textDecoration) - tStyle.textDecoration = pvStyle.textDecoration; - - if (pvStyle.color) - tStyle.color = pvStyle.color; - - if (pvStyle.fontStyle) - tStyle.fontStyle = pvStyle.fontStyle; - - if (pvStyle.fontSize) - tStyle.fontSize = pvStyle.fontSize; - }, - - /** - * Delay add the child nodes to a node recursively. - * The addition of nodes has to happen in a top-down fashion because each node has a reference to the tree - * and this reference is retrieved from the parent node. - */ - - delayedAddChild : function(enableDrilldown, enableNavigation) { - var CONNECT = MochiKit.Signal.connect; - var SIGNAL = MochiKit.Signal.signal; - var PARTIAL = MochiKit.Base.partial; - var childCount = this._children.length; - - if (childCount > 0) { - this.expanded = true; - } else { - this.expanded = false; - if (!this.leaf) { - this.setIncomplete (bobj.crv.GroupTreeNode._getChildren); - } - } - - var children = this._children; - for ( var i = 0; i < childCount; i++) { - var childNode = children[i]; - childNode.expandPath = this.expandPath + '-' + i; - childNode._updateProperty (enableDrilldown, enableNavigation); - this.add (childNode); - this._curSigs.push (CONNECT (childNode, 'grpDrilldown', PARTIAL (SIGNAL, this, 'grpDrilldown'))); - this._curSigs.push (CONNECT (childNode, 'grpNodeRetrieveChildren', PARTIAL (SIGNAL, this, 'grpNodeRetrieveChildren'))); - childNode.delayedAddChild (enableDrilldown, enableNavigation); - } - }, - - addChild : function(widget) { - this._children.push (widget); - }, - - getLevel : function() { - return this.expandPath.split('-').length; - }, - - /** - * Private. Callback function when a group tree node is clicked, which is a group drilldown. - */ - _drilldown : function() { - this.selectOld (); - MochiKit.Signal.signal (this, 'grpDrilldown', this.groupName, this.groupPath, this.isVisible, this.groupNamePath); - }, - - /** - * Private. Callback function when an incomplete group tree node is expanded. - */ - _getChildren : function() { - this.plusLyr.src = _skin + '../loading.gif'; - MochiKit.Signal.signal (this, 'grpNodeRetrieveChildren', this.expandPath); - }, - - /** - * Private. Change the select event handler and text style class based on the two given flags. - */ - _updateProperty : function(enableDrilldown, enableNavigation) { - var isStatic = false; - if (this.isVisible && !enableNavigation) { - isStatic = true; - } else if (!this.isVisible && !enableDrilldown) { - isStatic = true; - } - - if (isStatic) { - this.select = MochiKit.Base.noop; - } - - this.isStatic = isStatic; - } -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/IOAdapters.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/IOAdapters.js deleted file mode 100644 index 0aa63e81a..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/IOAdapters.js +++ /dev/null @@ -1,599 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - - - - -/** - * Abstract base class. IOAdapters allow the ViewerListener to request data from - * a server without knowing the details of how a particular framework requires - * the request to be made. - */ -bobj.crv.IOAdapterBase = { - /** - * Send a viewer request to the Server. - * - * @param pageState [Object] The composite view state for all viewers on the page - * @param viewerName [String] The name of the viewer that should handle the request - * @param eventArgs [Object] Event arguements - * @param allowAsynch [bool] True if asynchronous requests are allowed - * - * @return [MochiKit.Async.Deferred] Returns a Deferred if an asynchronous - * request is pending. - */ - request: function() {}, - - /** - * Add a parameter to server requests. - * - * @param fldName [String] Name of the parameter - * @param fldValue [String] Value of the parameter - */ - addRequestField: function(fldName, fldValue) {}, - - /** - * Remove a parameter from server requests. - * - * @param fldName [String] Name of the parameter - */ - removeRequestField: function(fldName) {}, - - /** - * Save the page state. Persist the state in a manner apropriate - * for the framework. - * - * @param pageState [Object] The composite view state for all viewers on the page - * @param viewerName [String] The name of the viewer that making the request - */ - saveViewState: function(pageState, viewerName) {}, - - /** - * Get the postback data queryString to use for Active X print control - * - * @param pageState [Object] The composite view state for all viewers on the page - * @param viewerName [String] The name of the viewer that making the request - * @return [String] the postback data in a query string format - */ - getPostDataForPrinting: function(pageState, viewerName) {}, - - /** - * Allows the IOAdapter to manipulate the error before the Viewer processes it for display to the user. - */ - processError: function(response) {return response;}, - - canUseAjax: function() { - try { - return (MochiKit.Async.getXMLHttpRequest() !== null); - } - catch (e) { - return false; - } - }, - - /** - * Ensures that there is a hidden iframe to be used for postbacks. - */ - _getPostbackIframe: function() { - if (!this._iframe) { - ifrm = document.createElement("IFRAME"); - ifrm.id = bobj.uniqueId(); - ifrm.name = ifrm.id; - ifrm.style.width = '0px'; - ifrm.style.height = '0px'; - ifrm.style.position = 'absolute'; - ifrm.style.top = '0px'; - ifrm.style.left = '0px'; - ifrm.style.visibility = 'hidden'; - document.body.appendChild(ifrm); - // in IE, we need to set the window name again - if (!ifrm.contentWindow.name) { - ifrm.contentWindow.name = ifrm.id; - } - - this._iframe = ifrm; - } - - return this._iframe; - } -}; - -/* -================================================================================ -ServletAdapter. ServletAdapter issues requests to the Java DHTML viewer. -================================================================================ -*/ - -/** - * Constructor for ServletAdapter. - * - * @param pageUrl [string] URL of the page - * @param servletUrl [string] URL to which requests to a servlet should be made - * It doubles as the url for all asyncronous requests - */ -bobj.crv.ServletAdapter = function(pageUrl, servletUrl) { - this._pageUrl = pageUrl; - this._servletUrl = servletUrl; - this._form = null; -}; - -bobj.crv.ServletAdapter._requestParams = { - STATE: 'CRVCompositeViewState', - TARGET: 'CRVEventTarget', - ARGUMENT: 'CRVEventArgument' -}; - - -bobj.crv.ServletAdapter.prototype = MochiKit.Base.merge(bobj.crv.IOAdapterBase, { - - request: function(pageState, viewerName, eventArgs, allowAsync, useIframe) { - if (!this._form) { - this._createForm(); - } - - var rp = bobj.crv.ServletAdapter._requestParams; - var toJSON = MochiKit.Base.serializeJSON; - - this._form[rp.STATE].value = encodeURIComponent(toJSON(pageState)); - this._form[rp.TARGET].value = encodeURIComponent(viewerName); - this._form[rp.ARGUMENT].value = encodeURIComponent(toJSON(eventArgs)); - - var deferred = null; - if (allowAsync && this._servletUrl) { - var req = MochiKit.Async.getXMLHttpRequest(); - req.open("POST", this._servletUrl, true); - req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - req.setRequestHeader('Accept','application/json'); - deferred = MochiKit.Async.sendXMLHttpRequest(req, MochiKit.Base.queryString(this._form)); - } - else { - if (useIframe) { - this._form.target = this._getPostbackIframe().id; - } - this._form.submit(); - } - - // once the form is submitted it is not intended to be reused. - - MochiKit.DOM.removeElement(this._form); - this._form = null; - return deferred; - }, - - redirectToServlet: function () { - if (!this._form) { - this._createForm(); - } - - this._form.action = this._servletUrl; - }, - - _createForm: function() { - var d = MochiKit.DOM; - var rp = bobj.crv.ServletAdapter._requestParams; - - this._form = d.FORM({ - name: bobj.uniqueId(), - style: 'display:none', - method: 'POST', - enctype: 'application/x-www-form-urlencoded;charset=utf-8', - action: this._pageUrl}, - d.INPUT({type: 'hidden', name: rp.STATE}), - d.INPUT({type: 'hidden', name: rp.TARGET}), - d.INPUT({type: 'hidden', name: rp.ARGUMENT})); - - document.body.appendChild(this._form); - }, - - addRequestField: function(fldName, fldValue) { - if (fldName && fldValue) { - if (!this._form) { - this._createForm(); - } - - var existingElem = this._form[fldName]; - if (existingElem) { - existingElem.value = fldValue; - } - else { - this._form.appendChild(MochiKit.DOM.INPUT({type: 'hidden', name:fldName, value:fldValue})); - } - } - }, - - removeRequestField: function(fldName) { - if (fldName) { - var form = this._form; - - if (form) { - var existingElem = form[fldName]; - if (existingElem) { - MochiKit.DOM.removeElement(existingElem); - if(form[fldName]) { // Fix for FF - form[fldName] = null; - } - } - - existingElem = null; - } - } - }, - - getPostDataForPrinting: function(pageState, viewerName) { - var toJSON = MochiKit.Base.serializeJSON; - var rp = bobj.crv.ServletAdapter._requestParams; - var state = toJSON(pageState); - - var postData = {}; - postData[rp.STATE] = encodeURIComponent(state); - postData[rp.TARGET] = encodeURIComponent(viewerName); - postData[rp.ARGUMENT] = encodeURIComponent('"axprint="'); - if(document.getElementById('com.sun.faces.VIEW')) { - postData['com.sun.faces.VIEW'] = encodeURIComponent(document.getElementById('com.sun.faces.VIEW').value); - } - - return MochiKit.Base.queryString(postData); - }, - - processError: function(response) { - if (!(typeof(response.number) == 'undefined') && response.number == 404) { - return L_bobj_crv_ServletMissing; - } - - return response; - } -}); - -/* -================================================================================ -AspDotNetAdapter. AspDotNetAdapter issues requests to the WebForm DHTML viewer. -================================================================================ -*/ - -/** - * Constructor for AspDotNetAdapter. - * - * @param postbackEventReference [string] The full functiona call to the ASP.NET dopostback function - * @param replacementParameter [string] the string to replace in the dopostback function - * @param stateID [string] the name of the input field to save the state to - */ -bobj.crv.AspDotNetAdapter = function(postbackEventReference, replacementParameter, stateID, callbackEventReference, aspnetVersion) { - this._postbackEventReference = postbackEventReference; - this._replacementParameter = replacementParameter; - this._stateID = stateID; - this._aspnetVersion = aspnetVersion; - this._form = null; - this._callbackEventReference = callbackEventReference; - this._additionalReqFlds = null; - var tmpState = bobj.getElementByIdOrName(this._stateID); - if (tmpState) { - this._form = tmpState.form; - } - - if(this._isAspNetVersionPriorToVersion4()) { - WebForm_CallbackComplete = this.WebForm_CallbackComplete; - } -}; - - -bobj.crv.AspDotNetAdapter.prototype = MochiKit.Base.merge(bobj.crv.IOAdapterBase, { - - request: function(pageState, viewerName, eventArgs, allowAsync, useIframe, callbackHandler, errbackHandler) { - var toJSON = MochiKit.Base.serializeJSON; - if (eventArgs && this._additionalReqFlds) { - eventArgs = MochiKit.Base.update(eventArgs, this._additionalReqFlds); - } - this._additionalReqFlds = null; - - var jsonEventArgs = toJSON(eventArgs); - this.saveViewState(pageState, viewerName); - - if (allowAsync) { - if(typeof WebForm_InitCallback == "function") { - __theFormPostData = ""; //Used by WeForm_InitCallback - __theFormPostCollection = []; //Used by WeForm_InitCallback - WebForm_InitCallback(); //Need to call this to work around a problem where ASP.NET2 callback does not collect form data prior to request - } - var callback = this._callbackEventReference.replace("'arg'", "jsonEventArgs"); - callback = callback.replace("'cb'", "callbackHandler"); - callback = callback.replace("'errcb'", "errbackHandler"); - callback = callback.replace("'frmID'", "this._form.id"); - return eval(callback); - } - else { - if (useIframe) { - this._form.target = this._getPostbackIframe().id; - } - - var postbackCall; - if(this._postbackEventReference.indexOf("'" + this._replacementParameter + "'") >= 0){ - postbackCall = this._postbackEventReference.replace("'" + this._replacementParameter + "'", "jsonEventArgs"); - } - else { - postbackCall = this._postbackEventReference.replace('"' + this._replacementParameter + '"', "jsonEventArgs"); - } - eval(postbackCall); - this._clearEventFields(); - this._form.target = ""; //Give back the target of the form after using, or the form cannot get focused - } - }, - - /** - * @return true if aspnet verion is prior to version 4 - */ - _isAspNetVersionPriorToVersion4 : function () { - if(this._aspnetVersion != null) { - var sep = this._aspnetVersion.split("."); - if(eval(sep[0]) < 4) - return true; - } - - return false; - }, - - saveViewState: function(pageState, viewerName) { - var toJSON = MochiKit.Base.serializeJSON; - var viewState = pageState[viewerName]; - var state = bobj.getElementByIdOrName(this._stateID); - if (state) { - state.value = toJSON(viewState); - } - }, - - getPostDataForPrinting: function(pageState, viewerName) { - this.saveViewState(pageState, viewerName); - var nv = MochiKit.DOM.formContents(this.form); - var names = nv[0]; - var values = nv[1]; - names.push('crprint'); - values.push(viewerName); - var queryString = MochiKit.Base.queryString(names, values); - return queryString; - }, - - addRequestField: function(fldName, fldValue) { - if (!this._additionalReqFlds) { - this._additionalReqFlds = {}; - } - this._additionalReqFlds[fldName] = fldValue; - - /*if (fldName && fldValue) { - var existingElem = this._form[fldName]; - if (existingElem) { - existingElem.value = fldValue; - } - else { - this._form.appendChild(MochiKit.DOM.INPUT({type: 'hidden', name:fldName, value:fldValue})); - } - }*/ - }, - - _clearRequestField: function(fldName) { - if (fldName) { - if (this._form) { - var existingElem = this._form[fldName]; - if (existingElem) { - existingElem.value = ""; - } - } - } - }, - - _clearEventFields: function() { - this._clearRequestField("__EVENTTARGET"); - this._clearRequestField("__EVENTARGUMENT"); - }, - - /* - * Overriding WebForm_CallbackComplete provided by .Net framework 2(WebResource.asx) as it was incorrect. - * The code below is taken from .Net 4 copy of this function - * This code can be removed once the support for .Net 2 is terminated - */ - WebForm_CallbackComplete : function () { - for (var i = 0; i < __pendingCallbacks.length; i++) { - callbackObject = __pendingCallbacks[i]; - if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) { - if (!__pendingCallbacks[i].async) { - __synchronousCallBackIndex = -1; - } - __pendingCallbacks[i] = null; - var callbackFrameID = "__CALLBACKFRAME" + i; - var xmlRequestFrame = document.getElementById(callbackFrameID); - if (xmlRequestFrame) { - xmlRequestFrame.parentNode.removeChild(xmlRequestFrame); - } - WebForm_ExecuteCallback(callbackObject); - } - } - - } -}); - -/* -================================================================================ -FacesAdapter. FacesAdapter issues requests to a JSF viewer component. -================================================================================ -*/ - -/** - * Constructor for FacesAdapter. - * - * @param formName [string] Name of the form to submit - * @param servletUrl [string] URL to which requests to a servlet should be made - * It doubles as the url for all asyncronous requests - */ -bobj.crv.FacesAdapter = function(formName, servletUrl) { - this._formName = formName; - this._servletUrl = servletUrl; - this._useServlet = false; - if (!bobj.crv.FacesAdapter._hasInterceptedSubmit) { - this._interceptSubmit(); - bobj.crv.FacesAdapter._hasInterceptedSubmit = true; - } -}; - -bobj.crv.FacesAdapter._requestParams = { - STATE: 'CRVCompositeViewState', - TARGET: 'CRVEventTarget', - ARGUMENT: 'CRVEventArgument' -}; - -bobj.crv.FacesAdapter.prototype = MochiKit.Base.merge(bobj.crv.IOAdapterBase, { - - request: function(pageState, viewerName, eventArgs, allowAsync, useIframe) { - - var rp = bobj.crv.FacesAdapter._requestParams; - var toJSON = MochiKit.Base.serializeJSON; - var INPUT = MochiKit.DOM.INPUT; - - var deferred = null; - - var form = this._getForm(); - if (!form) { - return; - } - - if (!form[rp.TARGET]) { - form.appendChild( INPUT({type: 'hidden', name: rp.TARGET}) ); - } - form[rp.TARGET].value = encodeURIComponent(viewerName); - - if (!form[rp.ARGUMENT]) { - form.appendChild( INPUT({type: 'hidden', name: rp.ARGUMENT}) ); - } - form[rp.ARGUMENT].value = encodeURIComponent(toJSON(eventArgs)); - - if (!form[rp.STATE]) { - form.appendChild( INPUT({type: 'hidden', name: rp.STATE}) ); - } - form[rp.STATE].value = encodeURIComponent(toJSON(pageState)); - - if (allowAsync && this._servletUrl) { - var req = MochiKit.Async.getXMLHttpRequest(); - req.open("POST", this._servletUrl, true); - req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - req.setRequestHeader('Accept','application/json'); - deferred = MochiKit.Async.sendXMLHttpRequest(req, MochiKit.Base.queryString(form)); - } - else { - var pageUrl = form.action; - if (this._useServlet === true) { - form.action = this._servletUrl; - } - - var origTarget = form.target; - if (useIframe) { - form.target = this._getPostbackIframe().id; - } - - form.submit(); - - form.action = pageUrl; - form.target = origTarget; - this._useServlet = false; - } - - // clear out the request fields so that the form can be reused - form[rp.TARGET].value = ""; - form[rp.ARGUMENT].value = ""; - form[rp.STATE].value = ""; - - // TODO Post Titan: we shouldn't need to have explicit knowledge of this parameter - this.removeRequestField ('ServletTask'); - - return deferred; - }, - - redirectToServlet: function () { - this._useServlet = true; - }, - - addRequestField: function(fldName, fldValue) { - if (fldName && fldValue) { - var form = this._getForm(); - - if (form) { - var existingElem = form[fldName]; - if (existingElem) { - existingElem.value = fldValue; - } - else { - form.appendChild(MochiKit.DOM.INPUT({type: 'hidden', name:fldName, value:fldValue})); - } - } - } - }, - - removeRequestField: function(fldName) { - if (fldName) { - var form = this._getForm(); - - if (form) { - var existingElem = form[fldName]; - if (existingElem) { - MochiKit.DOM.removeElement(existingElem); - if(form[fldName]) { // Fix for FF - form[fldName] = null; - } - } - - existingElem = null; - } - } - }, - - saveViewState: function(pageState, viewerName) { - if (!bobj.crv.FacesAdapter._isStateSaved) { - var form = this._getForm(); - if (form) { - var rp = bobj.crv.FacesAdapter._requestParams; - var toJSON = MochiKit.Base.serializeJSON; - var INPUT = MochiKit.DOM.INPUT; - - if (!form[rp.STATE]) { - form.appendChild( INPUT({type: 'hidden', name: rp.STATE}) ); - } - form[rp.STATE].value = encodeURIComponent(toJSON(pageState)); - } - bobj.crv.FacesAdapter._isStateSaved = true; - } - }, - - _getForm: function() { - return document.forms[this._formName]; - }, - - _interceptSubmit: function() { - var form = this._getForm(); - if (form) { - var oldSubmit = form.submit; - form.submit = function() { - bobj.event.publish('saveViewState'); - form.submit = oldSubmit; // IE needs this - form.submit(); // Can't apply args because IE misbehaves - }; - } - }, - - getPostDataForPrinting: function(pageState, viewerName) { - var toJSON = MochiKit.Base.serializeJSON; - var rp = bobj.crv.ServletAdapter._requestParams; - var state = toJSON(pageState); - - var postData = {}; - postData[rp.STATE] = encodeURIComponent(state); - postData[rp.TARGET] = encodeURIComponent(viewerName); - postData[rp.ARGUMENT] = encodeURIComponent('"axprint="'); - if(document.getElementById('com.sun.faces.VIEW')) { - postData['com.sun.faces.VIEW'] = encodeURIComponent(document.getElementById('com.sun.faces.VIEW').value); - } - - return MochiKit.Base.queryString(postData); - }, - - processError: function(response) { - if (!(typeof(response.number) == 'undefined') && response.number == 404) { - return L_bobj_crv_ServletMissing; - } - - return response; - } -}); \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ImageSprites.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ImageSprites.js deleted file mode 100644 index bc526c006..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ImageSprites.js +++ /dev/null @@ -1,37 +0,0 @@ -// allInOne.gif - icon images with different width and heights - disabled states are on the right -bobj.crv.allInOne = (function () { - var o = new Object(); - o.uri = bobj.crvUri('images/allInOne.gif'); - - var iconHeight22 = 22; - var offset = 0; - - // Toolbar icons are 22 pixels height and have 3 pixels place holder - offset += 3; - offset = o.toolbarExportDy = offset; - offset = o.toolbarPrintDy = offset + iconHeight22; - - offset = o.toolbarRefreshDy = offset + iconHeight22; - offset = o.toolbarSearchDy = offset + iconHeight22; - offset = o.toolbarUpDy = offset + iconHeight22; - // Rest of the images don't need the place holder - offset -= 3; - - // These are 22 pixels height - offset = o.groupTreeToggleDy = offset + iconHeight22; - offset = o.paramPanelToggleDy = offset + iconHeight22; - - // These two are 20 pixels height - offset = o.toolbarPrevPageDy = offset + iconHeight22; // 22x20 - offset = o.toolbarNextPageDy = offset + 20; // 22x20 - - offset = o.paramRunDy = offset + 20; // 22x22 - offset = o.paramDataFetchingDy = offset + 22; // 16x16 - offset = o.closePanelDy = offset + 16; // 8x7 - offset = o.openParameterArrowDy = offset + 7; // 15x15 - offset = o.plusDy = offset + 15; // 13x12 - offset = o.minusDy = offset + 12; // 13x12 - offset = o.undoDy = offset + 12; // 16x16 - - return o; -})(); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/LeftPanel.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/LeftPanel.js deleted file mode 100644 index f664cdee1..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/LeftPanel.js +++ /dev/null @@ -1,289 +0,0 @@ -/** - * LeftPanel is a container class managing PanelNavigator and ToolPanel classes - */ - -bobj.crv.newLeftPanel = function(kwArgs) { - kwArgs = MochiKit.Base.update ( { - id : bobj.uniqueId () + "_leftPanel", - hasToggleGroupTreeButton : true, - hasToggleParameterPanelButton : true, - paramIconImg : null, - treeIconImg : null - }, kwArgs); - - return new bobj.crv.LeftPanel (kwArgs.id, kwArgs.hasToggleGroupTreeButton, kwArgs.hasToggleParameterPanelButton, kwArgs.paramIconImg, kwArgs.treeIconImg); -}; - -bobj.crv.LeftPanel = function(id, hasToggleGroupTreeButton, hasToggleParameterPanelButton, paramIconImg, treeIconImg) { - this._panelNavigator = null; - this._panelHeader = null; - this._toolPanel = null; - this.id = id; - this.widgetType = 'LeftPanel'; - this.hasToggleParameterPanelButton = hasToggleParameterPanelButton; - this.hasToggleGroupTreeButton = hasToggleGroupTreeButton; - this.paramIconImg = paramIconImg; - this.treeIconImg = treeIconImg; - this._lastViewedPanel = null; -}; - -bobj.crv.LeftPanel.prototype = { - getHTML : function() { - var toolPanelHTML = this._toolPanel ? this._toolPanel.getHTML () : ''; - var panelHeaderHTML = this._panelHeader ? this._panelHeader.getHTML () : ''; - var navigatorHTML = this._panelNavigator ? this._panelNavigator.getHTML () : ''; - - return bobj.html.DIV ( { - 'class' : 'leftPanel', - id : this.id - }, navigatorHTML, panelHeaderHTML, toolPanelHTML); - }, - - /** - * @return width that would best fit both navigator and toolpanel - */ - getBestFitWidth : function() { - var w = 0; - if (this._panelNavigator) - w += this._panelNavigator.getWidth (); - - if (this._toolPanel && this._toolPanel.isDisplayed()) - w += this._toolPanel.getWidth(); - else - w += 5; //The padding between navigator and reportAlbum when no toolpanel exist - - return w; - }, - - getBestFitHeight : function () { - var toolPanelHeight = 0; - var panelNavigatorHeight = 0; - - if(this._panelHeader) - toolPanelHeight += this._panelHeader.getHeight() - if(this._toolPanel) - toolPanelHeight += this._toolPanel.getBestFitHeight(); - if(this._panelNavigator) - panelNavigatorHeight = this._panelNavigator.getBestFitHeight(); - - return Math.max (toolPanelHeight, panelNavigatorHeight); - }, - - /** - * AJAX update flow - * @param update - * @return - */ - update : function(update) { - if (!update || update.cons != "bobj.crv.newLeftPanel") { - return; - } - - for ( var childNum in update.children) { - var child = update.children[childNum]; - if (child && child.cons == "bobj.crv.newToolPanel") { - if (this._toolPanel) - this._toolPanel.update (child); - break; - } - } - }, - - /** - * Initializes widgets and connects signals - */ - init : function() { - this.layer = getLayer (this.id); - this.css = this.layer.style; - - if (this._toolPanel) - this._toolPanel.init (); - - if (this._panelHeader) { - this._panelHeader.init (); - if(!this.isToolPanelDisplayed()) - this._panelHeader.setDisplay(false); - } - - if (this._panelNavigator) - this._panelNavigator.init (); - }, - - /** - * Connects signals - * @return - */ - _initSignals : function() { - var partial = MochiKit.Base.partial; - var signal = MochiKit.Signal.signal; - var connect = MochiKit.Signal.connect; - - if (this._toolPanel) { - MochiKit.Iter.forEach ( [ 'grpDrilldown', 'grpNodeRetrieveChildren', 'grpNodeCollapse', 'grpNodeExpand', 'resetParamPanel', - 'resizeToolPanel' ], function(sigName) { - connect (this._toolPanel, sigName, partial (signal, this, sigName)); - }, this); - } - - if (this._panelNavigator) - connect (this._panelNavigator, "switchPanel", this, '_switchPanel'); - - if(this._panelHeader) - connect (this._panelHeader, "switchPanel", this, '_switchPanel'); - }, - - /** - * @return true if toolpanel is displayed - */ - isToolPanelDisplayed : function() { - return this._toolPanel && this._toolPanel.isDisplayed (); - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - displayLastViewedPanel : function () { - if(this._toolPanel) { - switch(this._lastViewedPanel) - { - case bobj.crv.ToolPanelType.GroupTree: - this._switchPanel (bobj.crv.ToolPanelType.GroupTree); - break; - case bobj.crv.ToolPanelType.ParameterPanel: - this._switchPanel (bobj.crv.ToolPanelType.ParameterPanel); - break; - default : - this._switchPanel (bobj.crv.ToolPanelType.GroupTree); - } - } - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - hideToolPanel : function () { - this._switchPanel (bobj.crv.ToolPanelType.None); - }, - - /** - * - * @param panelType [bobj.crv.ToolPanelType] - * @return - */ - _switchPanel : function(panelType) { - if (this._toolPanel) { - this._toolPanel.setView (panelType); - if(panelType == bobj.crv.ToolPanelType.None) { - this._toolPanel.setDisplay(false); - this._panelHeader.setDisplay(false); - } - else { - this._toolPanel.setDisplay(true); - this._panelHeader.setDisplay(true); - this._lastViewedPanel = panelType; - } - } - - if (this._panelHeader) - var title = bobj.crv.ToolPanelTypeDetails[panelType].title; - this._panelHeader.setTitle (title); - - if (this._panelNavigator) - this._panelNavigator.selectChild (panelType); - - MochiKit.Signal.signal (this, 'switchPanel', panelType); - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getPanelNavigator : function () { - return this._panelNavigator; - }, - - getToolPanel : function() { - return this._toolPanel; - }, - - addChild : function(child) { - if (child.widgetType == "ToolPanel") { - this._toolPanel = child; - this.updateChildren (); - this._initSignals (); - } - }, - - /** - * Update Navigator and Header with toolPanel's children - * @return - */ - updateChildren : function() { - if (this._toolPanel) { - - this._panelNavigator = new bobj.crv.PanelNavigator (); - this._panelHeader = new bobj.crv.PanelHeader (); - var newChild = null; - - if (this._toolPanel.hasParameterPanel () && this.hasToggleParameterPanelButton) { - newChild = { - name : bobj.crv.ToolPanelType.ParameterPanel, - img : this.paramIconImg ? this.paramIconImg : bobj.crv.ToolPanelTypeDetails.ParameterPanel.img, - title : bobj.crv.ToolPanelTypeDetails.ParameterPanel.title - }; - this._panelNavigator.addChild (newChild); - } - if (this._toolPanel.hasGroupTree () && this.hasToggleGroupTreeButton) { - newChild = { - name : bobj.crv.ToolPanelType.GroupTree, - img : this.treeIconImg ? this.treeIconImg : bobj.crv.ToolPanelTypeDetails.GroupTree.img, - title : bobj.crv.ToolPanelTypeDetails.GroupTree.title - }; - this._panelNavigator.addChild (newChild); - } - - this._lastViewedPanel = this._toolPanel.initialViewType; - - this._panelNavigator.selectChild (this._toolPanel.initialViewType); - this._panelHeader.setTitle (bobj.crv.ToolPanelTypeDetails[this._toolPanel.initialViewType].title); - - if (!this._panelNavigator.hasChildren()) - { - this._panelHeader.hideCloseButton(); - this._toolPanel.addLeftBorder(); - } - } - }, - - resize : function(w, h) { - bobj.setOuterSize (this.layer, w, h); - this._doLayout (); - }, - - /** - * Layouts children where PanelHeader appears on top of toolPanel and panelNavigator to left of both header and toolpanel - * @return - */ - _doLayout : function() { - if(!this._toolPanel || !this._panelNavigator || !this._panelHeader) - return; - - var w = this.getWidth (); - var h = this.getHeight (); - var navigatorW = this._panelNavigator.getWidth (); - var newToolPanelWidth = w - navigatorW; - var newToolPanelHeight = h - this._panelHeader.getHeight (); - - if (this._toolPanel.isDisplayed()) { - this._toolPanel.resize (newToolPanelWidth, newToolPanelHeight); - this._toolPanel.move (navigatorW, this._panelHeader.getHeight ()); - } - - this._panelHeader.resize (newToolPanelWidth, null); - this._panelHeader.move (navigatorW, 0); - this._panelNavigator.resize(navigatorW, h); - }, - - move : Widget_move, - getWidth : Widget_getWidth, - getHeight : Widget_getHeight -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/OptionalParameterUI.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/OptionalParameterUI.js deleted file mode 100644 index e07b38ea1..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/OptionalParameterUI.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - * OptionalParameterUI extends ParameterUI - */ - -bobj.crv.params.newOptionalParameterUI = function(kwArgs) { - kwArgs = MochiKit.Base.update( { - noValueDisplayText :'', - isEmptyStringNoValue: true, - clearValuesCB : null - }, kwArgs); - - var o = bobj.crv.params.newParameterUI(kwArgs); - - /* - * The reason I'm using bobj.extendClass is that it would populate all functions defined in ParameterUI - * in this.superClass so I can call any function on parent class - */ - bobj.extendClass(o, bobj.crv.params.OptionalParameterUI, bobj.crv.params.ParameterUI); - - return o; -}; - -bobj.crv.params.OptionalParameterUI = { - _getNewValueRowConstructor : function() { - return bobj.crv.params.newOptionalParameterValueRow; - }, - - _getNewValueRowArgs : function(value) { - var args = this.superClass._getNewValueRowArgs(value); - args.noValueDisplayText = this.noValueDisplayText; - args.isEmptyStringNoValue = this.isEmptyStringNoValue; - args.clearValuesCB = this.clearValuesCB; - return args; - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/OptionalParameterValueRow.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/OptionalParameterValueRow.js deleted file mode 100644 index 791baa1dd..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/OptionalParameterValueRow.js +++ /dev/null @@ -1,143 +0,0 @@ - -/** - * OptionalParameterValueRow extends ParamterValueRow. This class displays a info message for 'undefined' value and - * clears the info message when its control get focus - */ -bobj.crv.params.newOptionalParameterValueRow = function(kwArgs) { - kwArgs = MochiKit.Base.update( { - noValueDisplayText :'', - isEmptyStringNoValue : true, - clearValuesCB : null - }, kwArgs); - - var o = bobj.crv.params.newParameterValueRow(kwArgs); - bobj.extendClass(o, bobj.crv.params.OptionalParameterValueRow, bobj.crv.params.ParameterValueRow); - - if (o.canChangeOnPanel) { - o._clearValueButton = newIconWidget( - o.id + '_clearBtn', - bobj.crvUri('images/clear_x.gif'), - o.clearValuesCB, - null, //text - L_bobj_crv_ParamsClearValues,//tooltip, - 10, 10, 2, 2); //width, height, dx, dy, disDx, disDy, cancelEventPropagation - - o._clearValueButton.setClasses("", "iconcheck", "", "iconcheckhover"); - o._clearValueButton.margin = 2; - } - - return o; -}; - -bobj.crv.params.OptionalParameterValueRow = { - /** - * Returns arguments required for creating new ValueWidget(TextField, TextCombo, RangeField) - */ - getNewValueWidgetArgs : function() { - var args = this.superClass.getNewValueWidgetArgs(); - - if (this.value == undefined) { - //If value is undefined, the valueWidget should display noValueDisplayText - args.cleanValue = this.noValueDisplayText; - args.foreColor = bobj.Colors.GRAY; - } - - return args; - }, - - init : function () { - this.superClass.init(); - if(this._clearValueButton) { - this._clearValueButton.init(); - } - - this.updateUI (); - }, - - getHTML : function () { - var rowHTML = this.superClass.getHTML(); - if (this.canChangeOnPanel) { - var h = bobj.html; - rowHTML = h.DIV({style : {position : 'relative'}}, rowHTML , h.DIV({'class' : 'clearValueBtnCtn'},this._clearValueButton.getHTML())); - } - - return rowHTML; - }, - - /** - * When receiving focus if noValueDisplayText is being displayed (happens when current value is undefined and param is editable on panel), - * it must be cleared so user can type something - */ - onFocus : function() { - this.superClass.onFocus(); - if (this.canChangeOnPanel) { - if(this.value == undefined) - this._valueWidget.setValue(''); - } - }, - - onBlur : function() { - this.superClass.onBlur(); - - if (this.canChangeOnPanel) { - if (this.value == undefined) - this._valueWidget.setValue(this.noValueDisplayText); - } - }, - - /** - * When user changes value, value stored in OptionalParmeterUI gets updated and - */ - _onChange : function() { - this.value = this._valueWidget.getValue(); - if(this.isEmptyStringNoValue && this.value != null && this.value.length == 0) - this.value = undefined; - - this.updateUI(); - if (this.changeCB) - this.changeCB(); - - }, - - updateUI: function() { - if (this._valueWidget) { - if(this.isReadOnlyParam) { - this._valueWidget.setForeColor(bobj.Colors.GRAY); - this._valueWidget.setTextItalic(false); - } - else { - if(this.value == undefined) { - this._valueWidget.setForeColor(bobj.Colors.GRAY); - if(this._clearValueButton) - this._clearValueButton.setDisplay(false); - } - else { - this._valueWidget.setForeColor(bobj.Colors.BLACK); - if(this._clearValueButton) - this._clearValueButton.setDisplay(true); - } - } - } - }, - - getValueWidgetDisplayValue: function(value) { - return (value == undefined) ? this.noValueDisplayText : value; - }, - - setValue : function(value) { - this.value = value; - this._valueWidget.setValue(this.getValueWidgetDisplayValue(value)); - this.updateUI(); - - this.setWarning(null); //Since value is set through parameterController it cannot contain any errors - }, - - reset : function(value) { - this.superClass.reset(value); - if(this._valueWidget) { - this._valueWidget.reset(this.getValueWidgetDisplayValue(value)); - } - - this.updateUI(); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelHeader.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelHeader.js deleted file mode 100644 index c02a4a299..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelHeader.js +++ /dev/null @@ -1,99 +0,0 @@ -/** - * The header that appears above toolPanel. It consists of a title and close button. - */ -bobj.crv.PanelHeader = function() { - this.id = bobj.uniqueId () + "_panelHeader"; - - this._closeButton = newIconWidget (this.id + "_close", bobj.crv.allInOne.uri, bobj - .bindFunctionToObject (this._closeButtonOnClick, this), null, L_bobj_crv_Close, 8, 7, 0, bobj.crv.allInOne.closePanelDy,null,null,true); - - this.normalCssClass = "panelHeaderCloseButton"; - this.highlightedCssClass = "panelHeaderCloseButtonHighlighted"; - - this._closeButton.setClasses (this.normalCssClass, this.normalCssClass, this.highlightedCssClass, this.highlightedCssClass); - this._title = ""; -}; - -bobj.crv.PanelHeader.prototype = { - getHTML : function() { - var DIV = bobj.html.DIV; - var style = {height : bobj.isBorderBoxModel() ? '21px' : '20px'}; - - return DIV ( { - 'class' : 'panelHeader', - id : this.id, - style : style - }, DIV ( { - 'class' : 'panelHeaderTitle', - id : this.id + "_title" - }, this._title), DIV ( { - 'class' : 'panelHeaderButtonCtn' - }, this._closeButton.getHTML ())); - }, - - init : function() { - this.layer = getLayer (this.id); - this.css = this.layer.style; - this._closeButton.init (); - - var cbLayer = this._closeButton.layer - if (cbLayer) { - MochiKit.Signal.connect (cbLayer, "onfocus", this, this._closeButtonOnFocus); - MochiKit.Signal.connect (cbLayer, "onblur", this, this._closeButtonOnBlur); - } - }, - - /** - * - * @return [DOM element] of title - */ - _getTitleLayer : function() { - return getLayer (this.id + "_title"); - }, - - /** - * Sets title on panel header - * @param title - * @return - */ - setTitle : function(title) { - this._title = title; - this._closeButton.changeTooltip(L_bobj_crv_Close + " " + title); - var l = this._getTitleLayer (); - if (l) - l.innerHTML = title; - }, - - _closeButtonOnFocus : function() { - if (this._closeButton && this._closeButton.layer) - MochiKit.DOM.addElementClass (this._closeButton.layer, this.highlightedCssClass); - }, - - _closeButtonOnBlur : function() { - if (this._closeButton && this._closeButton.layer) - MochiKit.DOM.removeElementClass (this._closeButton.layer, this.highlightedCssClass); - }, - - _closeButtonOnClick : function() { - MochiKit.Signal.signal (this, 'switchPanel', bobj.crv.ToolPanelType.None); - }, - - resize : function(w, h) { - if (this.layer) - bobj.setOuterSize (this.layer, w, h); - - var titleLayer = this._getTitleLayer (); - if(titleLayer) - bobj.setOuterSize (titleLayer, w - 30); - }, - - hideCloseButton : function() { - if (this._closeButton) - this._closeButton.setDisplay(false); - }, - - getWidth : Widget_getWidth, - getHeight : Widget_getHeight, - move : Widget_move, - setDisplay : Widget_setDisplay -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelNavigator.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelNavigator.js deleted file mode 100644 index f0404ff9a..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelNavigator.js +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Navigator on left of viewer, controlling which panel is shown - */ -bobj.crv.PanelNavigator = function() { - this._children = []; - this.widgetType = "PanelNavigator"; - this.id = bobj.uniqueId () + "_panelNav"; -}; - -bobj.crv.PanelNavigator.prototype = { - getHTML : function() { - var childrenHTML = ""; - for ( var i = 0; i < this._children.length; i++) - childrenHTML += this._children[i].getHTML (); - - var DIV = bobj.html.DIV; - var style = { width : bobj.isBorderBoxModel() ? '37px' : '35px'}; - - - return DIV ( { - 'class' : 'panelNavigator', - id : this.id, - style : style - }, DIV ( { id : this.id + "_innerBorder", - 'class' : 'panelNavigatorInnerBorder' - }, childrenHTML)); - }, - - /** - * Initializes its layer and calls init on children - * @return - */ - init : function() { - this.layer = getLayer (this.id); - this._innerBorder = getLayer(this.id + "_innerBorder"); - this.css = this.layer.style; - - if(this._children.length == 0) { - this.css.display = "none"; - } - else { - for ( var i = 0; i < this._children.length; i++) - this._children[i].init (); - } - }, - - /** - * Sets selection on specified child and removes selection from any other child - * @return - */ - selectChild : function(childName) { - for ( var i = 0; i < this._children.length; i++) { - var child = this._children[i]; - child.setSelected (child.getName () == childName); - } - }, - - getChild : function (childName) { - for ( var i = 0; i < this._children.length; i++) { - var child = this._children[i]; - if(child.getName () == childName) - return child; - } - return null; - }, - - hasChildren : function () { - return (this._children.length > 0); - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getGroupTreeButton : function () { - return this.getChild (bobj.crv.ToolPanelType.GroupTree); - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getParamPanelButton : function () { - return this.getChild (bobj.crv.ToolPanelType.ParameterPanel); - }, - - - /** - * - * @param kwArgs [JSON] creates PanelNavigatorItem with properties specified in kwArgs and connects signals - * @return - */ - addChild : function(kwArgs) { - kwArgs = MochiKit.Base.update ( { - name : '', - title : '', - img : { uri: '', dx: 0, dy: 0 } - }, kwArgs); - - var partial = MochiKit.Base.partial; - var signal = MochiKit.Signal.signal; - var connect = MochiKit.Signal.connect; - - var navItem = new bobj.crv.PanelNavigatorItem (kwArgs.name, kwArgs.img, kwArgs.title, 35 * this._children.length); - - connect (navItem, "switchPanel", partial (signal, this, "switchPanel")); - this._children.push (navItem); - }, - - resize : function(w, h) { - bobj.setOuterSize (this.layer, w, h); - bobj.setOuterSize (this._innerBorder, w -2, h -2); //Since border size is 1px for all edges - }, - - getBestFitHeight : function () { - var height = 0; - for ( var i = 0; i < this._children.length; i++) - height += this._children[i].getHeight(); - - return height; - }, - - move : Widget_move, - getWidth : Widget_getWidth - -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelNavigatorItem.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelNavigatorItem.js deleted file mode 100644 index c91393627..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PanelNavigatorItem.js +++ /dev/null @@ -1,105 +0,0 @@ -/** - * - * @param name [String] Name of itme - * @param img [String] uri location of icon image - * @param title [String] tooltip - */ -bobj.crv.PanelNavigatorItem = function(name, img, title, topOffset) { - this._name = name; - this._img = img; - this._isSelected = false; - this._title = title; - this.topOffset = topOffset; - this.widgetType = 'PanelNavigatorItem'; - - this.id = bobj.uniqueId () + "_navItem_" + name; -}; - -bobj.crv.PanelNavigatorItem.prototype = { - getHTML : function() { - var h = bobj.html; - var img = this._img; - - return h.DIV ( { - id : this.id, - 'class' : 'panelNavigatorItem', - 'tabindex' : '0', - style : {top : this.topOffset + "px"}, - title : this._title, - role : 'button' - }, imgOffset(img.uri, 22, 22, img.dx, img.dy, null, 'class="panelNavigatorItemImage" title="' + this._title + '"') - ); - }, - - getName : function() { - return this._name; - }, - - init : function() { - this.layer = getLayer (this.id); - this.css = this.layer.style; - - var connect = MochiKit.Signal.connect; - connect (this.layer, "onclick", this, this._onClick); - connect (this.layer, "onkeydown", this, this._onKeyDown); - connect (this.layer, "onmouseover", this, this._onMouseOver); - connect (this.layer, "onmouseout", this, this._onMouseOut); - connect (this.layer, "onfocus", this, this._onFocus); - connect (this.layer, "onblur", this, this._onBlur); - - this.setSelected (this._isSelected); - }, - - _onFocus : function () { - MochiKit.DOM.addElementClass (this.layer, "highlighted"); - }, - - _onBlur : function () { - MochiKit.DOM.removeElementClass (this.layer, "highlighted"); - }, - - _onMouseOver : function () { - MochiKit.DOM.addElementClass (this.layer, "highlighted"); - }, - - _onMouseOut : function () { - MochiKit.DOM.removeElementClass (this.layer, "highlighted"); - }, - - _onKeyDown : function(ev) { - if (ev && ev.key () && (ev.key ().code == 13 || ev.key ().code == 32)) // On Enter or spacebar, signal swith panel - this._signalSwitchPanel(); - }, - - _onClick : function() { - this._signalSwitchPanel (); - }, - - /** - * Signals switch panel if it's not currently selected - * @return - */ - _signalSwitchPanel : function () { - if(!this._isSelected) - MochiKit.Signal.signal (this, "switchPanel", this._name); - }, - - /** - * @param isSelected [Boolean] is item selected or not selected - */ - setSelected : function(isSelected) { - this._isSelected = isSelected; - var DOM = MochiKit.DOM; - if (this.layer) { - if (isSelected) - DOM.addElementClass (this.layer, "selected"); - else - DOM.removeElementClass (this.layer, "selected"); - } - }, - - getWidth : Widget_getWidth, - getHeight: Widget_getHeight, - setDisplay : Widget_setDisplay, - isDisplayed : Widget_isDisplayed -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Parameter.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Parameter.js deleted file mode 100644 index 52488d0cf..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Parameter.js +++ /dev/null @@ -1,511 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof bobj.crv.params == 'undefined') { - bobj.crv.params = {}; -} - - bobj.crv.params.DataTypes = { - DATE: "d", - DATE_TIME: "dt", - TIME: "t", - STRING: "s", - NUMBER: "n", - CURRENCY: "c", - BOOLEAN: "b" - }; - - bobj.crv.params.RangeBoundTypes = { - UNBOUNDED: 0, - EXCLUSIVE: 1, - INCLUSIVE: 2 - }; - - bobj.crv.params.DefaultDisplayTypes = { - Description: 0, - DescriptionAndValue: 1 - }; - - bobj.crv.params.CompareResults = { - TOO_BIG: 1, - TOO_SMALL: -1, - EQUAL: 0 - }; - -/* -================================================================================ -Parameter -================================================================================ -*/ - -/** - * Constructor. - */ -bobj.crv.params.Parameter = function(paramInfo) { - var PARAMS = bobj.crv.params; - var displayTypes = PARAMS.DefaultDisplayTypes; - MochiKit.Base.update(this, { - paramName: null, - reportName: null, - description: null, - valueDataType: null, - value: null, - modifiedValue: null, - defaultValues: null, - defaultDisplayType : displayTypes.DescriptionAndValue, - maxValue: null, - minValue: null, - allowCustomValue: true, - allowDiscreteValue: true, - allowMultiValue: false, - allowNullValue: false, - allowRangeValue: false, - editMask: null, - isOptionalPrompt: false, - isEditable: true, - isHidden: false, - isDataFetching: false, - attributes: null - }, paramInfo); - -}; - -/** - * IMPORTANT! Use getValue and setValue to access the value of the parameter, instead of the property itself. - */ -bobj.crv.params.Parameter.prototype = { - getTitle: function() { - return (this.description || this.paramName); - }, - - getName: function () { - return this.paramName; - }, - - hasLOV: function() { - return (this.defaultValues != null && this.defaultValues.length > 0); - }, - - hasDescription: function() { - return this.description != null; - }, - - isPassword: function() { - return (this.editMask !== null && this.editMask.toLowerCase() == "password"); - }, - - getValue: function() { - this._initModifiedValue(); - return this.modifiedValue; - }, - - /* - * Undos any modifications done on parameter that have not been commited - */ - reset: function() { - delete this.modifiedValue; - }, - - removeValueAt: function(index) { - this._initModifiedValue(); - var value = this.modifiedValue[index]; - this.modifiedValue.splice(index, 1); - }, - - // setValue accepts either an array, or an int + an object. - setValue: function (i, newValue) { - this._initModifiedValue(); - - if (arguments.length == 1 && bobj.isArray(arguments[0])) { - var value= arguments[0]; - this.modifiedValue = value; - } - else if (arguments.length == 2) { - var oldValue = this.modifiedValue[i]; - this.modifiedValue[i] = newValue; - } - }, - - clearValue: function() { - this._initModifiedValue(); - this.modifiedValue = []; - }, - - // commitValue will actually apply the changes made so far - commitValue: function() { - this._initModifiedValue(); - this.value = this.modifiedValue.slice(0); - }, - - _initModifiedValue: function() { - if (!this.modifiedValue) { - if (bobj.isArray(this.value)) { - this.modifiedValue = this.value.slice(0); // make a deep copy of "value" - } - else { - this.modifiedValue = []; - } - } - }, - - isDCP: function () { - if (this.attributes != null) { - if (this.attributes['IsDCP'] === true) { - return true; - } - } - - return false; - } -}; - -/* -================================================================================ -Validator for Parameters -================================================================================ -*/ -bobj.crv.params.Validator = function(){}; - -bobj.crv.params.Validator.ValueStatus = { - OK: 0, - ERROR: 1, - VALUE_MISSING: 2, // Required value is missing - VALUE_INVALID_TYPE: 3, // Value has the wrong data type - VALUE_TOO_LONG: 4, // Value's length is less than the minimum - VALUE_TOO_SHORT: 5, // Value's length is greater than the maximum - VALUE_TOO_BIG: 6, // Value is greater than the maximum - VALUE_TOO_SMALL: 7, // Value is less than the minimum - VALUE_DUPLICATE: 8 -}; - -bobj.crv.params.Validator.getInstance = function(){ - if (!bobj.crv.params.Validator.__instance) { - bobj.crv.params.Validator.__instance = new bobj.crv.params.Validator(); - } - return bobj.crv.params.Validator.__instance; -}; - -bobj.crv.params.Validator.prototype = { - /** - * Validate a Parameter instance and return a status object - */ - validateParameter: function(param) { - var PARAMS = bobj.crv.params; - if (!param) {return null;} - - var Status = PARAMS.Validator.ValueStatus; - - if (!bobj.isArray(param.value) || !param.value.length) { - return { - isValid: false, - reason: Status.VALUE_MISSING - }; - } - - var isValid = true; - var statusList = []; - - for (var i = 0, len = param.values.length; i < len; ++i) { - var status = PARAMS.validateValue(param, i); - statusList.push(status); - isValid = isValid && (status === ValueStatus.OK); - } - - return { - isValid: isValid, - statusList: statusList - }; - - }, - - /** - * Validate a parameter value and return a status code - */ - validateValue: function(param, value) { - var Status = bobj.crv.params.Validator.ValueStatus; - - if (!param || !bobj.isArray(param.value) || (value === undefined)) { - return Status.ERROR; - } - - var validatorFunc = this._getTypeValidatorFunc(param.valueDataType); - if (!validatorFunc) { - return Status.ERROR; - } - - var actualValue = bobj.crv.params.getValue(value); - return validatorFunc(param, actualValue); - }, - - _getTypeValidatorFunc: function(type) { - var Type = bobj.crv.params.DataTypes; - - switch (type) { - case Type.STRING: - return this._validateString; - case Type.NUMBER: - case Type.CURRENCY: - return this._validateNumber; - case Type.DATE: - case Type.TIME: - case Type.DATE_TIME: - return this._validateDateTime; - case Type.BOOLEAN: - return this._validateBoolean; - default: - return null; - } - }, - - _validateString: function(param, value) { - var Status = bobj.crv.params.Validator.ValueStatus; - - if (!bobj.isString(value)) { - return Status.VALUE_INVALID_TYPE; - } - - var maxValue = param.maxValue; - var minValue = param.minValue; - if (bobj.isNumber(maxValue) && value.length > maxValue) { - return Status.VALUE_TOO_LONG; - } - - if (bobj.isNumber(minValue) && value.length < minValue) { - return Status.VALUE_TOO_SHORT; - } - - return Status.OK; - }, - - _validateNumber: function(param, value) { - //the "value" passed in here is a number that has at most one decimal separator and no group separator - var Status = bobj.crv.params.Validator.ValueStatus; - var regNumber = /^(\+|-)?(\d+((\.\d+)|(\.))?|\.\d+)$/; - - if(bobj.isString(value) && regNumber.test(value)) { - value = parseFloat(value); - } - else if(!bobj.isNumber(value)) { - return Status.VALUE_INVALID_TYPE; - } - - var maxValue = param.maxValue; - var minValue = param.minValue; - if(maxValue !== null && value > maxValue) { - return Status.VALUE_TOO_BIG; - } - else if(minValue !== null && value < minValue) { - return Status.VALUE_TOO_SMALL; - } - else { - return Status.OK; - } - }, - - _validateDateTime: function(param, value) { - var Result = bobj.crv.params.CompareResults; - var Status = bobj.crv.params.Validator.ValueStatus; - - if (bobj.isObject(value)) { - var isNumber = function(sel) {return bobj.isNumber(value[sel]);}; - if (MochiKit.Iter.every(['d','m', 'y', 'h', 'min', 's', 'ms'], isNumber)) { - - var compareFunc = bobj.crv.params.getDateCompareFunc(param.valueDataType); - if(param.minValue && compareFunc(param.minValue,value) == Result.TOO_BIG) { - return Status.VALUE_TOO_SMALL; - } - else if(param.maxValue && compareFunc(param.maxValue,value) == Result.TOO_SMALL) { - return Status.VALUE_TOO_BIG; - } - else { - return Status.OK; - } - } - } - - return Status.VALUE_INVALID_TYPE; - }, - - _validateBoolean: function(param, value) { - return bobj.crv.params.Validator.ValueStatus.OK; - } -}; - -/* -================================================================================ -Utility Functions -================================================================================ -*/ - -/** - * Get an object that represents a Date and can be serialized to a json string - * - * @param date [Date] The Date instance that should be represented as json - * - * @return [Object] Object representing the date with (key, value) pairs - */ -bobj.crv.params.dateToJson = function(date) { - return { - d: date.getDate(), - m: date.getMonth(), - y: date.getFullYear(), - h: date.getHours(), - min: date.getMinutes(), - s: date.getSeconds(), - ms: date.getMilliseconds() - }; -}; - -bobj.crv.params.getDateCompareFunc = function(type) { - var PARAMS = bobj.crv.params; - var Type = PARAMS.DataTypes; - - switch (type) { - case Type.DATE: - return PARAMS.compareDate; - case Type.TIME: - return PARAMS.compareTime; - case Type.DATE_TIME: - return PARAMS.compareDateTime; - default: - return null; - } -}; - -bobj.crv.params.compareDateTime = function(dateTimeA, dateTimeB) { - var PARAMS = bobj.crv.params; - var Result = PARAMS.CompareResults; - - var dateResult = PARAMS.compareDate(dateTimeA,dateTimeB); - var timeResult = PARAMS.compareTime(dateTimeA,dateTimeB); - - if(dateResult == Result.EQUAL && timeResult == Result.EQUAL) { - return Result.EQUAL; - } - - if(dateResult != Result.EQUAL) { - return dateResult; - } - else { - return timeResult; - } -}; - -/* - * Compares two dates - * @param dateA [JSON DateTime {y,m,d,h,m,s,ms}] first date value - * @param dateB [JSON DateTime {y,m,d,h,m,s,ms}] second date value - * - * @return - * 0: dateA = dateB - * 1: dateA > dateB - * -1: dateA < dateB - */ -bobj.crv.params.compareDate = function(dateTimeA, dateTimeB) { - var Result = bobj.crv.params.CompareResults; - - if( dateTimeA.d == dateTimeB.d && dateTimeA.m == dateTimeB.m && dateTimeA.y == dateTimeB.y){ - return Result.EQUAL; - } - - if( dateTimeA.y > dateTimeB.y) { - return Result.TOO_BIG; - } - else if(dateTimeA.y < dateTimeB.y) { - return Result.TOO_SMALL; - } - - if(dateTimeA.m > dateTimeB.m) { - return Result.TOO_BIG; - } - else if(dateTimeA.m < dateTimeB.m) { - return Result.TOO_SMALL; - } - - if(dateTimeA.d > dateTimeB.d) { - return Result.TOO_BIG; - } - else if(dateTimeA.d < dateTimeB.d) { - return Result.TOO_SMALL; - } -}; - -/* - * Compares two times - * @param timeA [JSON DateTime {y,m,d,h,m,s,ms}] first time value - * @param timeB [JSON DateTime {y,m,d,h,m,s,ms}] second time value - * - * @return - * 0: dateA = dateB - * 1: dateA > dateB - * -1: dateA < dateB - */ -bobj.crv.params.compareTime = function(dateTimeA,dateTimeB) { - var Result = bobj.crv.params.CompareResults; - - if(dateTimeA.h == dateTimeB.h && dateTimeA.min == dateTimeB.min && dateTimeA.s == dateTimeB.s && dateTimeA.ms == dateTimeB.ms) { - return Result.EQUAL; - } - - if(dateTimeA.h > dateTimeB.h) { - return Result.TOO_BIG; - } - else if(dateTimeA.h < dateTimeB.h){ - return Result.TOO_SMALL; - } - - if(dateTimeA.min > dateTimeB.min) { - return Result.TOO_BIG; - } - else if(dateTimeA.min < dateTimeB.min) { - return Result.TOO_SMALL; - } - - if(dateTimeA.s > dateTimeB.s) { - return Result.TOO_BIG; - } - else if(dateTimeA.s < dateTimeB.s) { - return Result.TOO_SMALL; - } - - if(dateTimeA.ms > dateTimeB.ms) { - return Result.TOO_BIG; - } - else if(dateTimeA.ms < dateTimeB.ms){ - return Result.TOO_SMALL; - } -}; - -/** - * Get a Date instance from an object containing (key, value) pairs - * - * @param json [Object] Object with keys that match Date properties - * - * @return [Date] Returns a Date instance - */ -bobj.crv.params.jsonToDate = function(json) { - var date = new Date(); - - if (json) { - date.setFullYear(json.y || 0, json.m || 0, json.d || 1); - date.setHours(json.h || 0); - date.setMinutes(json.min || 0); - date.setSeconds(json.s || 0); - date.setMilliseconds(json.ms || 0); - } - - return date; -}; - -bobj.crv.params.getValue = function (pair) { - if (pair === undefined || pair === null || pair.value === undefined) - return pair; - - return pair.value; -}; - -bobj.crv.params.getDescription = function (pair) { - if (pair === undefined || pair === null || pair.desc === undefined) - return null; - - return pair.desc; -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterController.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterController.js deleted file mode 100644 index a7b1c1361..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterController.js +++ /dev/null @@ -1,1203 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/* TODO Dave - * - Use delete button to set value to empty string if it can't be removed - */ - -/** - * ParameterController creates and controls the widgets that show and edit - * parameter values in the interactive parameter panel. - * - * @param panel [ParameterPanel] Panel that will contain the parameter widgets - * @param viewerCtrl [ViewerListener] Controller for the entire viewer - * @param paramOpts [Object] Parameter options, such as dateTimeFormat - */ -bobj.crv.params.ParameterController = function(panel, viewerCtrl, paramOpts) { - this._panel = panel; - this._viewerCtrl = viewerCtrl; - this._paramOpts = paramOpts; - this._paramList = null; - this._unusedParamList = null; - - var applyClickCB = bobj.bindFunctionToObject(this._onClickTbApplyButton,this); - var resetClickCB = bobj.bindFunctionToObject(this._onClickTbResetButton,this); - this._panel.setToolbarCallBacks(applyClickCB,resetClickCB); -}; - -bobj.crv.params.ParameterController.prototype = { - - /** - * Set the list of parameters to display in the parameter panel. - * - * @param paramList [Array] List of bobj.crv.params.Parameter instances - */ - setParameters: function(paramList, finishCB) { - var Type = bobj.crv.params.DataTypes; - var map = MochiKit.Base.map; - var bind = MochiKit.Base.bind; - - this._deleteWidgets(); - var TIMEER_INTERVAL = 50; - - this._paramList = paramList; - - for (var i = 0; i < paramList.length; ++i) { - var param = paramList[i]; - - var getDisplayText = bind(this._getDisplayText, this, param); - var getDefaultValue = bind(this._getDefaultValue, this, param.valueDataType,param.defaultDisplayType); - var panelCanChangeValues = this._canPanelChangeValues(param); - var minMaxText = this._getMinMaxText(param.valueDataType, param.minValue, param.maxValue); - var openAdvDialogCB = bind(this._onClickTbAdvButton, this, param); - var clearValuesCB = bind(this.clearParameterValues, this, param); - var isReadOnly = !param.isEditable; - var paramValue = param.getValue(); - var isValueOptional = param.isOptionalPrompt || param.allowNullValue; - var calendarProperties = { - hasButton : param.allowCustomValue && panelCanChangeValues && (param.valueDataType === Type.DATE || param.valueDataType === Type.DATE_TIME), - isTimeShown : param.valueDataType === Type.DATE_TIME, - displayValueFormat : this._getDateTimeFormat(param.valueDataType), - iconUrl : bobj.crvUri('images/calendar.gif') - }; - - if(isValueOptional) - paramValue = this.convertOptionalParameterValue(paramValue); - - var paramWidgetConstructor = isValueOptional ? bobj.crv.params.newOptionalParameterUI : bobj.crv.params.newParameterUI; - var canOpenAdvDialog = param.isEditable && (param.allowRangeValue || param.allowMultiValue || param.isDCP() || param.editMask); - - var newParamWidgetArgs = { - values :map(getDisplayText, paramValue), - canChangeOnPanel :panelCanChangeValues, - allowCustom :param.allowCustomValue, - allowRange :param.allowRangeValue, - canAddValues :param.allowMultiValue && panelCanChangeValues, - isReadOnlyParam :isReadOnly, - isPassword :param.isPassword(), - defaultValues :map(getDefaultValue, param.defaultValues || []), - openAdvDialogCB : openAdvDialogCB, - maxNumParameterDefaultValues :this._paramOpts.maxNumParameterDefaultValues, - tooltip :param.getTitle(), - calendarProperties :calendarProperties, - clearValuesCB : clearValuesCB, - canOpenAdvDialog : canOpenAdvDialog - }; - - if(isValueOptional) { - newParamWidgetArgs.noValueDisplayText = this._getNoValueDisplayText(param.valueDataType, panelCanChangeValues) - newParamWidgetArgs.isEmptyStringNoValue = param.valueDataType != Type.STRING; - } - - var paramWidget = paramWidgetConstructor(newParamWidgetArgs); - this._observeParamWidget(paramWidget); - - var addParameter = function(panel, param, paramWidget, openAdvDialogCB, isValueOptional, panelCanChangeValues, clearValuesCB, isLast, finishCB) { - return function() { - panel.addParameter({paramUI: paramWidget, - label : param.getTitle(), - name : param.getName(), - isDataFetching: param.isDataFetching, - openAdvCB: openAdvDialogCB - }); - - if(isLast && finishCB) - finishCB(); - }; - }; - - setTimeout(addParameter(this._panel, param, paramWidget, canOpenAdvDialog ? openAdvDialogCB : null, isValueOptional, panelCanChangeValues, clearValuesCB, i == paramList.length -1, finishCB), TIMEER_INTERVAL * i); - } - - if(paramList) { - var updatePanel = function (panel) { - return function() { - //Parameter panel has to be resized in case scroll bars appear - panel.resize(); - - // Force the panel to be redrawn to fix a problem - // in IE if the prompt text is too long to be displayed. - if (MochiKit.Base.isIE ()){ - var curDisplay = panel.isDisplayed(); - panel.setDisplay(!curDisplay); - panel.setDisplay(curDisplay); - } - }; - }; - setTimeout(updatePanel(this._panel), TIMEER_INTERVAL * paramList.length ); - } - - //Panel should be disabled when current view is not main report view - this._panel.setDisabled(!this._isCurrentViewMainReport()); - //Disables all buttons on param toolbar -> necessary when refreshing report via ajax request - this._panel.setApplyButtonEnabled(false); - this._panel.setResetButtonEnabled(false); - }, - - setUnusedParameters: function(unusedParamList) { - this._unusedParamList = unusedParamList; - }, - - convertOptionalParameterValue: function(values) { - if(values === undefined || values.length === undefined) - return []; - - var newValues = bobj.cloneArray (values); - if(newValues.length == 0 || newValues[0] == null) - newValues[0] = undefined; - - return newValues; - }, - - /** - * Get the list of params that are displayed in the panel - * - * @return [Array] List of bobj.crv.params.Parameter instances or null - */ - getParameters: function() { - return this._paramList; - }, - - /** - * When view changes, ParameterController must disable panel if current view is not main report view - * @return - */ - onChangeView: function() { - this._panel.setDisabled(!this._isCurrentViewMainReport()); - }, - - /** - * - * @return true if panel is edittable - */ - _isPanelEditable: function() { - return this._isCurrentViewMainReport(); - }, - - /** - * @return true if current view is the main report view - */ - _isCurrentViewMainReport: function() { - var currentView = this._viewerCtrl.getCurrentView (); - return currentView && currentView.isMainReport(); - }, - - findParamIndexByName : function( paramName) { - for (var i = 0; i < this._paramList.length; ++i) { - if (this._paramList[i].paramName === paramName) { - return i; - } - } - - return -1; - }, - - findUnusedParamIndexByName : function(paramName) { - for (var i = 0; i < this._unusedParamList.length; ++i) { - if (this._unusedParamList[i].paramName === paramName) { - return i; - } - } - - return -1; - }, - - findParamByName : function(paramName) { - var index = this.findParamIndexByName(paramName); - if(index == -1) - return null; - else - return this._paramList[index]; - }, - - /** - * Sets the current values of the param with the same name as the one passed - * in and updates the UI. - * - * @param [Parameter] - */ - updateParameter: function(paramName, paramValue) { - if (paramName) { - var index = this.findParamIndexByName(paramName); - - if (index != -1) { - var param = this._paramList[index]; - param.setValue(paramValue); - - var paramUI = this._panel.getParameter(index); - var getDisplayText = MochiKit.Base.bind(this._getDisplayText, this, this._paramList[index]); - - if (param.isOptionalPrompt || param.allowNullValue) - paramValue = this.convertOptionalParameterValue(paramValue); - - paramUI.setValues( MochiKit.Base.map(getDisplayText, paramValue) ); - - var paramTab = this._panel.getParameterTab(index); - if(paramTab) - paramTab.setDirty(true); - } - else { - index = this.findUnusedParamIndexByName(paramName); - - if (index != -1) { - var param = this._unusedParamList[index]; - param.setValue(paramValue); - } - } - } - }, - - getFocusAdvButtonCB: function (paramName) { - return MochiKit.Base.bind(this._focusAdvButton, this, paramName); - }, - - _focusAdvButton: function(paramName) { - if (paramName) { - var index = this.findParamIndexByName(paramName); - - if (index != -1) { - var paramTab = this._panel.getParameterTab(index); - - if(paramTab) - paramTab.focusAdvButton(); - } - } - }, - - /** - * Checks whether a parameter can be edited directly in the panel. Params - * that can't be edited in the panel are either read-only or must be - * edited in the Advanced Dialog. - * - * @param param [Parameter] - * - * @return [bool] True if ParameterPanel is capable of changing the - * parameter's values. False otherwise. - */ - _canPanelChangeValues: function(param) { - return param && param.isEditable && !param.allowRangeValue && !param.editMask && !param.isDCP() && !param.allowMultiValue; - }, - - /** - * Private. Deletes the parameter widgets in the panel. - */ - _deleteWidgets: function() { - var paramUI = this._panel.getParameter(0); - while (paramUI) { - delete _widgets[paramUI.widx]; - this._panel.removeParameter(0); - paramUI = this._panel.getParameter(0); - } - }, - - /** - * Restores original state of parameter panel - */ - resetParamPanel: function() { - - // Resets value of all parameters in panel to values stored in view state - for(var i = 0, iLen = this._paramList.length; i < iLen; i++) { - var param = this._paramList[i]; - param.reset(); - - var paramUI = this._findWidget(param); - var getDisplayText = MochiKit.Base.bind(this._getDisplayText, this, param); - - var paramValue = param.getValue(); - if (param.isOptionalPrompt || param.allowNullValue) - paramValue = this.convertOptionalParameterValue(paramValue); - - var values = MochiKit.Base.map(getDisplayText, paramValue); - paramUI.resetValues(values); - } - - for(var i = 0, l = this._panel.getParameterCount(); i < l; i++) { - var paramTab = this._panel.getParameterTab(i); - if(paramTab) - paramTab.setDirty(false); - } - - this._viewerCtrl.clearAdvancedPromptData (); - - //Disables all buttons on param toolbar - this._panel.setApplyButtonEnabled(false); - this._panel.setResetButtonEnabled(false); - }, - - /** - * Private. Compares 2 objects that have date like members (y, m, d, h, min, s, ms) - * returns true if all members match, false otherwise. - */ - _compareCustomDateObject: function(valA, valB) { - if (valA.y != valB.y) { - return false; - } - - if (valA.m != valB.m) { - return false; - } - - if (valA.d != valB.d) { - return false; - } - - if (valA.h != valB.h) { - return false; - } - - if (valA.min != valB.min) { - return false; - } - - if (valA.s != valB.s) { - return false; - } - - if (valA.ms != valB.ms) { - return false; - } - - return true; - }, - - /** - * Private. Erom doesn't give us NULL in all cases so we need to compare against the boundary values for each type. - * type - the value type - * minValue - the value to check - * returns true if the minValue is NOT equal NULL or the MIN value for the given datatype. - */ - _hasMinBound: function(type,minValue) { - if (minValue == null) { - return false; - } - - var Type = bobj.crv.params.DataTypes; - switch(type) { - case Type.STRING: - if (minValue == 0) { - return false; - } - return true; - case Type.DATE: - case Type.DATE_TIME: - absoluteMin = {y:1753, m:0, d:1, h:0, min:0, s:0, ms:0}; - return !this._compareCustomDateObject (absoluteMin, minValue); - case Type.TIME: - absoluteMin = {y:1899, m:11, d:30, h:0, min:0, s:0, ms:0}; - return !this._compareCustomDateObject (absoluteMin, minValue); - case Type.NUMBER: - case Type.CURRENCY: - if (minValue == -3.40282346638529e+38) { - return false; - } - return true; - } - - // should not get here! - return false; - }, - - /** - * Private. Erom doesn't give us NULL in all cases so we need to compare against the boundary values for each type. - * type - the value type - * minValue - the value to check - * returns true if the maxValue is NOT equal NULL or the MAX value for the given datatype. - */ - _hasMaxBound: function(type,maxValue) { - if (maxValue == null) { - return false; - } - - var Type = bobj.crv.params.DataTypes; - switch(type) { - case Type.STRING: - if (maxValue == 65534) { - return false; - } - return true; - case Type.DATE: - absoluteMax = {y:9999, m:11, d:12, h:0, min:0, s:0, ms:0}; - return !this._compareCustomDateObject (absoluteMax, maxValue); - case Type.TIME: - absoluteMax = {y:1899, m:11, d:30, h:23, min:59, s:59, ms:0}; - return !this._compareCustomDateObject (absoluteMax, maxValue); - case Type.DATE_TIME: - absoluteMax = {y:9999, m:11, d:12, h:23, min:59, s:59, ms:0}; - return !this._compareCustomDateObject (absoluteMax, maxValue); - case Type.NUMBER: - case Type.CURRENCY: - if (maxValue == 3.40282346638529e+38) { - return false; - } - return true; - } - - // should not get here! - return false; - }, - - _getNoValueDisplayText : function(valueType, isEditableOnPanel) { - if(!isEditableOnPanel) { - return L_bobj_crv_ParamsNoneSelected; - } - else { - var DataTypes = bobj.crv.params.DataTypes; - var valueTypeText = ''; - switch(valueType) { - case DataTypes.DATE : - valueTypeText = L_bobj_crv_Date; - break; - case DataTypes.DATE_TIME: - valueTypeText = L_bobj_crv_DateTime; - break; - case DataTypes.TIME: - valueTypeText = L_bobj_crv_Time; - break; - case DataTypes.STRING : - valueTypeText = L_bobj_crv_Text; - break; - case DataTypes.NUMBER : - valueTypeText = L_bobj_crv_Number; - break; - case DataTypes.CURRENCY : - valueTypeText = L_bobj_crv_Number; - break; - case DataTypes.BOOLEAN : - valueTypeText = L_bobj_crv_Boolean; - break; - } - - return L_bobj_crv_ParamsEnterOptional.replace("%1", valueTypeText); - } - }, - - _getMinMaxText: function(type,minValue,maxValue) { - - var Type = bobj.crv.params.DataTypes; - var maxValueDisplay,minValueDisplay; - - if(type == Type.STRING) { - /* because min/max of string are in number format */ - minValueDisplay = this._getValueText(Type.NUMBER , minValue); - maxValueDisplay = this._getValueText(Type.NUMBER, maxValue); - } - else { - minValueDisplay = this._getValueText(type, minValue); - maxValueDisplay = this._getValueText(type, maxValue); - } - - if(type == Type.BOOLEAN || (minValue == null && maxValue == null)) { - return null; - } - - var displayType,returnString; - - switch(type) { - case Type.DATE: - displayType = L_bobj_crv_Date; - break; - case Type.TIME: - displayType = L_bobj_crv_Time; - break; - case Type.DATE_TIME: - displayType = L_bobj_crv_DateTime; - break; - case Type.NUMBER: - displayType = L_bobj_crv_Number; - break; - case Type.CURRENCY: - displayType = L_bobj_crv_Number; - break; - } - - var hasMinBound = this._hasMinBound (type, minValue); - var hasMaxBound = this._hasMaxBound (type, maxValue); - switch(type) { - case Type.STRING: - if(hasMinBound && hasMaxBound) { - returnString = L_bobj_crv_ParamsStringMinAndMaxTooltip.replace("%1", minValueDisplay); - returnString = returnString.replace("%2",maxValueDisplay); - } - else if(hasMinBound) { - returnString = L_bobj_crv_ParamsStringMinOrMaxTooltip.replace("%1", L_bobj_crv_Minimum); - returnString = returnString.replace("%2", minValueDisplay); - } - else if(hasMaxBound) { - returnString = L_bobj_crv_ParamsStringMinOrMaxTooltip.replace("%1", L_bobj_crv_Maximum); - returnString = returnString.replace("%2", maxValueDisplay); - } - break; - default: - if(hasMinBound && hasMaxBound) { - returnString = L_bobj_crv_ParamsMinAndMaxTooltip.replace("%1", displayType); - returnString = returnString.replace("%2",minValueDisplay); - returnString = returnString.replace("%3",maxValueDisplay); - } - else if(hasMinBound) { - returnString = L_bobj_crv_ParamsMinTooltip.replace("%1", displayType); - returnString = returnString.replace("%2", minValueDisplay); - } - else if(hasMaxBound) { - returnString = L_bobj_crv_ParamsMaxTooltip.replace("%1", displayType); - returnString = returnString.replace("%2", maxValueDisplay); - } - } - - return returnString; - }, - /** - * Constructs description and display value for default values - * @param type [bobj.crv.params.DataTypes] - * @param displayType [bobj.crv.params.DefaultValueDisplayTypes] - * @param value [Object] Parameter value to convert to text - * - * @return {value: convertedValue, desc: description} - */ - _getDefaultValue: function(type, displayType, valueObj) { - var displayTypes = bobj.crv.params.DefaultDisplayTypes; - var valueText = this._getValueText(type, valueObj.value); - var valueDesc; - - switch(displayType) { - case displayTypes.Description: - if(valueObj.desc != null && valueObj.desc.length > 0) { - valueDesc = valueObj.desc; - } - else { - valueDesc = valueText; - } - break; - case displayTypes.DescriptionAndValue: // Value And Description - valueDesc = valueText; - if(valueObj.desc != null && valueObj.desc.length > 0) { - valueDesc += ' - ' + valueObj.desc; - } - break; - - } - - return valueDesc; - - }, - - /* - * Private. Convert value text which could contains description to value text based on default values of param - * @param param [bobj.crv.params.Parameter] Value's data type (bobj.crv.params.DataTypes) - * @param desc [string] - */ - _getValueTextFromDefValueDesc: function(param, desc) { - if(param.defaultValues && bobj.isArray(param.defaultValues)) { - for(var i = 0 ; i < param.defaultValues.length;i++) { - var defValueDesc = this._getDefaultValue(param.valueDataType,param.defaultDisplayType, param.defaultValues[i]); - if(defValueDesc == desc) { - // if desc is equal to one of LOV's row desc, then get value text of that row - return this._getValueText(param.valueDataType, param.defaultValues[i].value); - } - } - } - return null; - }, - - - /** - * Private. Converts a parameter value to display text. - * - * @param type [int] Value's data type (bobj.crv.params.DataTypes) - * @param isRange [bool] - * @param value [Object] Parameter value to convert to text - * - * @return [String] Returns display text representing the value - */ - _getValueText: function(type, value) { - if (value === undefined) { - return undefined; - } - - // Get the actual value to be used. When setting values from the param - // panel advanced UI it's possible the value will be an object such as - // {value:'the value'} or {value:'the value', desc:'description'} - value = bobj.crv.params.getValue (value); - - var Type = bobj.crv.params.DataTypes; - switch(type) { - case Type.DATE: - return this._getDateTimeText(value, this._paramOpts.dateFormat); - case Type.TIME: - return this._getDateTimeText(value, this._paramOpts.timeFormat); - case Type.DATE_TIME: - return this._getDateTimeText(value, this._paramOpts.dateTimeFormat); - case Type.NUMBER: - case Type.CURRENCY: - return this._getNumberText(value,this._paramOpts.numberFormat); - case Type.BOOLEAN: - return this._getBooleanText(value,this._paramOpts.booleanFormat); - case Type.STRING: - default: - return '' + value; - } - }, - - _getBooleanText: function(value, booleanFormat) { - - return booleanFormat[''+value]; - }, - - /** - * Private. Converts a Number value into display text. - * - * @param value [int] Parameter value to convert to text - * @param format [{decimalSeperator,groupSeperator}] Number format - * - * @return [String] Returns display text for the value - */ - _getNumberText: function(value,format) { - var dcSeperator = format.decimalSeperator; - var gpSeperator = format.groupSeperator; - var valueSplitted = ('' + value).split("."); - var leftVal,rightVal,formattedValue; - var numberSign = null; - - leftVal = valueSplitted[0]; - if(leftVal.length > 0 && leftVal.slice(0,1) == '-' || leftVal.slice(0,1) == '+') { - numberSign = leftVal.slice(0,1); - leftVal = leftVal.slice(1,leftVal.length); - } - - rightVal = (valueSplitted.length == 2) ? valueSplitted[1] : null; - formattedLeftVal = null; - - if(leftVal.length <= 3) { - formattedLeftVal = leftVal; - } - else { - var gp = null; - var sliceIndex = null; - while(leftVal.length > 0) { - sliceIndex = (leftVal.length > 3) ? leftVal.length - 3 : 0; - gp = leftVal.slice(sliceIndex,leftVal.length); - leftVal = leftVal.slice(0, sliceIndex); - formattedLeftVal = (formattedLeftVal == null) ? gp : gp + gpSeperator + formattedLeftVal; - } - } - - formattedValue = (rightVal != null) ? formattedLeftVal + dcSeperator + rightVal : formattedLeftVal; - formattedValue = (numberSign != null) ? numberSign + formattedValue : formattedValue; - return formattedValue; - }, - - /** - * Private. Converts a DateTime value into display text. - * - * @param value [Object] Parameter value to convert to text - * @param format [String] DateTime format - * - * @return [String] Returns display text for the value - */ - _getDateTimeText: function(value, format) { - var date = bobj.crv.params.jsonToDate(value); - if (date) { - return bobj.external.date.formatDate(date, format); - } - return ''; - }, - - /* - * Looks up value in the param's defualt values list, and if it's existing, get value/desc based on valueDisplayType - * @param value [Object] Parameter value to convert to text - */ - _getValueTextFromDefaultValue: function(param, value) { - var desc = bobj.crv.params.getDescription (value); - if (desc !== null) { - return this._getDefaultValue(param.valueDataType, param.defaultDisplayType, value); - } - - // Get the actual value to be used, then try to match the description in the LOV - value = bobj.crv.params.getValue (value); - - if(bobj.isArray(param.defaultValues)) { - var hashValue = bobj.getValueHashCode(param.valueDataType,value); - for(var i = 0 ; i < param.defaultValues.length; i++) { - if(hashValue == bobj.getValueHashCode(param.valueDataType,param.defaultValues[i].value)) { - return this._getDefaultValue(param.valueDataType, param.defaultDisplayType, param.defaultValues[i]); - } - } - } - - return null; - }, - - /* - * Converts value object to value text in order to be displayed on ParameterUI. takes into account valueDisplayType - * IMPORTANT : use _getValueText if you want to convert param value Obj to param value text - */ - _getDisplayText: function(param,value) { - if (value === undefined) { - return undefined; - } - - if (value.lowerBoundType !== undefined || value.upperBoundType !== undefined) { - return this._getRangeDisplayText(param, value); - } - - var valueText = this._getValueTextFromDefaultValue(param,value); - - if(valueText == null) { - valueText = this._getValueText(param.valueDataType, value); - } - - return valueText; - }, - - /** - * Private. Converts a range value into display text. - * - * @param value [Object] Parameter value to convert to text - * @param type [int] Value's data type (bobj.crv.params.DataTypes) - * - * @return [String] Returns display text for the value - */ - _getRangeDisplayText: function(param, value) { - var displayText = new Object; - displayText.lowerBound = {type : value.lowerBoundType, value : this._getDisplayText(param, value.beginValue)}; - displayText.upperBound = {type : value.upperBoundType, value : this._getDisplayText(param, value.endValue)}; - - return displayText; - }, - - /** - * Private. Converts text into a parameter value. - * - * @param type [int] Value's data type (bobj.crv.params.DataTypes) - * @param text [String] Value's display text - * - * @return [Object] Parameter value - */ - _getParamValue: function(type, text) { - if (type === undefined) { - return undefined; - } - - var Type = bobj.crv.params.DataTypes; - switch(type) { - case Type.DATE: - return this._getDateTimeParamValue(text, this._paramOpts.dateFormat); - case Type.TIME: - return this._getDateTimeParamValue(text, this._paramOpts.timeFormat); - case Type.DATE_TIME: - return this._getDateTimeParamValue(text, this._paramOpts.dateTimeFormat); - case Type.NUMBER: - case Type.CURRENCY: - return this._getNumberParamValue(text,this._paramOpts.numberFormat); - case Type.BOOLEAN: - return this._getBooleanParamValue(text,this._paramOpts.booleanFormat); - case Type.STRING: - default: - return text; - } - }, - - /** - * Private. Converts boolean text to a paramter value - * @param text [String] Value's display text - * @param booleanFormat [boolean format] {true: text : false : text} - * @return [String] - */ - _getBooleanParamValue: function(text,booleanFormat) { - if(text != null && text.length != 0) { - return booleanFormat["true"] == text; - } - else { - return null; - } - }, - - clearParameterValues : function(param) { - if(param.allowNullValue) - this.updateParameter(param.paramName, [null]); - else - this.updateParameter(param.paramName, []); - - this._updateToolbar(); - }, - - /** - * Private. Converts Number text to a paramter value - * @param text [String] Value's display text - * @param format [{decimalSeperator,groupSeperator}] number format - * - * @return [String] - */ - _getNumberParamValue: function(text,format) { - if(text == null) { - return null; - } - - var value = ''; - - if (/[ \f\n\r\t\v\u00A0\u2028\u2029]/.test(format.groupSeperator)) { - value = text.replace(/[ \f\n\r\t\v\u00A0\u2028\u2029]/g, ''); - } - else { - var gpRE = new RegExp( "\\" + format.groupSeperator, "g" ); - value = text.replace(gpRE,"") - } - - return value.replace(format.decimalSeperator, "."); - }, - - /** - * Private. Converts DateTime text into a parameter value. - * - * @param text [String] Value's display text - * @param format [String] DateTime format - * - * @return [Object] DateTime parameter value or the original value if getDateFromFormat fails - */ - _getDateTimeParamValue: function(text, format) { - var date = bobj.external.date.getDateFromFormat(text, format); - if (date) { - return bobj.crv.params.dateToJson(date); - } - return text; - }, - - /** - * Private. Attach callbacks to a parameter widget - * - * @param widget [ParameterUI] - */ - _observeParamWidget: function(widget) { - if (widget) { - var bind = MochiKit.Base.bind; - widget.changeValueCB = bind(this._onChangeValue, this, widget); - widget.enterPressCB = bind(this._onEnterPress, this, widget); - } - }, - - /** - * Private ParameterUI callback. Updates the UI when a param value is edited. - * - * @param widget [ParameterUI] The source of the event - * @param valueIdx [int] The index of the value that changed - * @param new Value [String] The new value (display text) at valueIdx - */ - _onChangeValue: function(widget, valueIdx, newValue) { - if (!this._isPanelEditable()) { - return; - } - - var parameterTab = this._panel.getParameterTabByWidget(widget); - if(parameterTab) - parameterTab.setDirty(true); - - this._checkAndSetValue(widget, valueIdx); - this._updateToolbar(); - }, - - /** - * Private ParameterUI callback. Attempts to apply change param values to - * the report when the Enter key is pressed while editing a value. - * - * @param widget [ParameterUI] The source of the event - * @param valueIdx [int] The index of the value that has focus - */ - _onEnterPress: function(widget, valueIdx) { - if(this._panel.isApplyButtonEnabled()) - this._applyValues(); - }, - - /** - * Private ParameterPanel callback. Applies changed parameter values to the - * report when the run button is clicked on the panel's toolbar. - */ - _onClickTbApplyButton: function() { - this._applyValues(); - }, - - _onClickTbResetButton: function() { - this.resetParamPanel(); - }, - - /** - * Private ParameterPanel callback. Shows the advanced dialog for the - * selected parameter when the advanced dialog button is clicked on the - * panel's toolbar. - */ - _onClickTbAdvButton: function(param) { - if (this._isPanelEditable()) { - this._viewerCtrl.showAdvancedParamDialog(param); - } - }, - - /** - * Private. Attempts to apply changed parameter values to the report. - * Changed display text will be converted to parameter values and validated. - * Validation failure will cause a warning to appear instead of updating the - * report. - */ - _applyValues: function() { - - var numParams = this._paramList.length; - var badParamIdx = -1; - var badValueIdx = -1; - var warning = null; - var paramUI = null; - - for (var i = 0; (i < numParams) && !warning; ++i) { - paramUI = this._panel.getParameter(i); - var numValues = paramUI.getNumValues(); - for (var j = 0; (j < numValues) && !warning; ++j) { - warning = paramUI.getWarning(j); - if (warning) { - badParamIdx = i; - badValueIdx = j; - } - } - } - - if (warning) { - paramUI = this._panel.getParameter(badParamIdx); - paramUI.setFocusOnRow(badValueIdx); - } - else { - // make all value changes permanent - for (var i = 0, c = this._paramList.length; i < c; i++) { - this._paramList[i].commitValue(); - } - for (var i = 0, c = this._unusedParamList.length; i < c; i++) { - this._unusedParamList[i].commitValue(); - } - this._viewerCtrl.applyParams(this._paramList.concat(this._unusedParamList)); - this._panel.setApplyButtonEnabled(false); - } - }, - - /** - * Private. Finds the Parameter associated with a given ParameterUI. - * - * @param widget [ParameterUI] - * - * @return [Parameter] - */ - _findParam: function(widget) { - return this._paramList[this._panel.getIndex(widget)]; - }, - - _findWidget: function(param) { - for(var i = 0 ; i < this._paramList.length; i++) { - if(this._paramList[i].paramName == param.paramName) { - return this._panel.getParameter(i) - } - } - return null; - }, - - /** - * Private. Updates the state of the parameter panel's toolbar buttons. - */ - _updateToolbar: function() { - if (!this._isPanelEditable()) { - return; - } - - this._panel.setApplyButtonEnabled(true); //FIXME: should only enable when panel is dirty - this._panel.setResetButtonEnabled(true); //FIXME: should only enable when panel is dirty - }, - - /** - * Private. Selects a Date/Time format string from paramOpts based on the - * give parameter value type. - * - * @param dataType [bobj.crv.params.DataTypes] - * - * @return [String] Returns a DateTime format string. - */ - _getDateTimeFormat: function(dataType) { - var Type = bobj.crv.params.DataTypes; - switch(dataType) { - case Type.DATE: - return this._paramOpts.dateFormat; - case Type.TIME: - return this._paramOpts.timeFormat; - case Type.DATE_TIME: - return this._paramOpts.dateTimeFormat; - default: return null; - } - }, - - /** - * Private. Convert display text to a param value, validate it, and update - * the value of the associated Parameter instance when validation succeeds. - * Sets the warning text of the value when validation fails. - * - * @param widget [ParameterUI] - * @param valueIdx [int] Index of value to validate and update - */ - _checkAndSetValue: function(widget, valueIdx) { - /* - * Return if parameter value is modified in advanced dialog as the parameter value is already set by updateParameter - */ - if(!widget.canChangeOnPanel) { - return; - } - - var parameter = this._findParam(widget); - var valueText = widget.getValueAt(valueIdx); - - // Checking if value exists in defaultValues and if it does, get the value from defaultValue - var defValue = this._getValueTextFromDefValueDesc(parameter,valueText); - if(defValue != null) { - valueText = defValue; - } - - var paramValue = this._getParamValue(parameter.valueDataType, valueText); - - - // if the following condition is true, the user is providing 'no value' to an optional parameter - if (valueIdx == 0 && paramValue == undefined) { - if(parameter.allowNullValue && parameter.getValue().length == 0) { - parameter.setValue(0, null); - } - - if(parameter.isOptionalPrompt) { - parameter.clearValue(); - } - - widget.setWarning(valueIdx,null); // Removes warning if there is any - - return; - } - - var Status = bobj.crv.params.Validator.ValueStatus; - var code = Status.OK; - var warningMsg = null; - - code = bobj.crv.params.Validator.getInstance().validateValue(parameter, paramValue); - - if (Status.OK === code) { - var cText = this._getValueTextFromDefaultValue(parameter,paramValue); - if(cText != null) { - widget.setValueAt(valueIdx,cText); - } - widget.setWarning(valueIdx,null); // Removes warning - parameter.setValue(valueIdx, paramValue); //checks for duplicates when setting a value - - - } - else { - warningMsg = this._getWarningText(parameter, code); - widget.setWarning(valueIdx, {code : code, message : warningMsg }); - } - - }, - - /** - * Private. Convert a validation error code into a readable warning message. - * - * @param param [Parameter] Parameter that has the erroroneous value - * @param code [ValueStatus] Validation error code - * - * @return [String] Returns a warning message suitable for display in the UI - */ - _getWarningText: function(param, code) { - var Type = bobj.crv.params.DataTypes; - - switch(param.valueDataType) { - case Type.DATE: - case Type.TIME: - case Type.DATE_TIME: - return this._getDateTimeWarning(param,code); - case Type.STRING: - return this._getStringWarning(param, code); - case Type.NUMBER: - case Type.CURRENCY: - return this._getNumberWarning(param,code); - default: - return null; - } - }, - - /** - * Private. Create warning message for invalid datetime value - * @param param [Parameter] Parameter that has the erroroneous value - * @param code [ValueStatus] Validation error code - * - * @return [String] Returns a warning message suitable for display in the UI - */ - _getDateTimeWarning: function(param,code) { - var dataTypes = bobj.crv.params.DataTypes; - var ValueStatus = bobj.crv.params.Validator.ValueStatus; - var dateFormat = this._paramOpts.dateFormat; - - dateFormat = dateFormat.replace('yyyy', '%1'); - dateFormat = dateFormat.replace(/M+/, '%2'); - dateFormat = dateFormat.replace(/d+/, '%3'); - dateFormat = dateFormat.replace('%1', L_bobj_crv_ParamsYearToken); - dateFormat = dateFormat.replace('%2', L_bobj_crv_ParamsMonthToken); - dateFormat = dateFormat.replace('%3', L_bobj_crv_ParamsDayToken); - - if(code == ValueStatus.ERROR || code == ValueStatus.VALUE_INVALID_TYPE) { - switch(param.valueDataType) { - case dataTypes.DATE: - return L_bobj_crv_ParamsBadDate.replace("%1",dateFormat); - case dataTypes.DATE_TIME: - return L_bobj_crv_ParamsBadDateTime.replace("%1",dateFormat); - break; - case dataTypes.TIME: - return L_bobj_crv_ParamsBadTime - break; - } - } - else if(code == ValueStatus.VALUE_TOO_BIG || code == ValueStatus.VALUE_TOO_SMALL){ - return this._getMinMaxText(param.valueDataType,param.minValue,param.maxValue); - } - - return null; - }, - - /** - * Private. Create a warning message for String parameter - * - * @param param [Parameter] Parameter that has the erroroneous value - * @param code [ValueStatus] Validation error code - * - * @return [String] Returns a warning message suitable for display in the UI - */ - _getStringWarning: function(param, code) { - var Status = bobj.crv.params.Validator.ValueStatus; - if (Status.VALUE_TOO_LONG === code) { - return L_bobj_crv_ParamsTooLong.replace('%1', param.maxValue); - } - else if(Status.VALUE_TOO_SHORT === code){ - return L_bobj_crv_ParamsTooShort.replace('%1', param.minValue); - } - return null; - }, - - /** - * Private. Create warning message for invalid datetime value - * @param param [Parameter] Parameter that has the erroroneous value - * @param code [ValueStatus] Validation error code - * - * @return [String] Returns a warning message suitable for display in the UI - */ - _getNumberWarning : function(param,code) { - var ValueStatus = bobj.crv.params.Validator.ValueStatus; - var dataTypes = bobj.crv.params.DataTypes; - switch(code) { - case ValueStatus.ERROR: - case ValueStatus.VALUE_INVALID_TYPE: - if(param.valueDataType == dataTypes.NUMBER) { - return L_bobj_crv_ParamsBadNumber; - } - else if(param.valueDataType == dataTypes.CURRENCY) { - return L_bobj_crv_ParamsBadCurrency; - } - case ValueStatus.VALUE_TOO_BIG: - case ValueStatus.VALUE_TOO_SMALL: - return this._getMinMaxText(param.valueDataType,param.minValue,param.maxValue); - default: - return null; - - } - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterDialog.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterDialog.js deleted file mode 100644 index 1e5e325ae..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterDialog.js +++ /dev/null @@ -1,170 +0,0 @@ -/* -================================================================================ -ParameterDialog - -Advanced Dialog for editing parameters using the prompt engine -================================================================================ -*/ - -bobj.crv.params.newParameterDialog = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - prompt: null, - showCB : null, - hideCB : null - }, kwArgs); - - var o = newDialogBoxWidget( - kwArgs.id, - L_bobj_crv_ParamsDlgTitle, - kwArgs.width, - kwArgs.height /*,defaultCB,cancelCB,noCloseButton*/); - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - o._showDialogBox = o.show; - o._initDialogBox = o.init; - o._resizeSignal = null; - MochiKit.Base.update(o, bobj.crv.params.ParameterDialog); - - return o; -}; - -bobj.crv.params.ParameterDialog = { - init : function() { - this._initDialogBox (); - this._form = document.getElementById (this.id + '_form'); - window.paramWindow = this; - }, - - _checkInitialization : function() { - if (!this.layer) { - targetApp (this.getHTML ()); - this.init (); - } - }, - - show : function(show) { - if (show) { - this._checkInitialization (); - this.doLayout (); - this.setResize (MochiKit.Base.noop); - this._showDialogBox (true); - o._resizeSignal = MochiKit.Signal.connect(window, 'onresize', this, '_onWindowResize'); - } else { - if (this.layer) - this._showDialogBox (false); - bobj.crv.SignalDisposer.dispose(o._resizeSignal, true); - } - - if (show && this.showCB) { - this.showCB (); - } else if (!show && this.hideCB) { - this.hideCB (); - } - }, - - isVisible : function() { - return (this.initialized () && this.isDisplayed ()); - }, - - /* if dialog's height is less than window's height, it would return dialog's height - if dialog's height is greater than window's height, it would return window's height - 100 - if dialog's height is less than 100, it would return 100 - */ - getPreferredHeight : function () { - return Math.min(Math.max (100, winHeight() - 100), this.getFormHeight()); - }, - - getFormHeight : function () { - var form = this._form.cloneNode(true); - form.style.display = "none"; - form.style.height =""; - document.body.appendChild(form); - var dimension = MochiKit.Style.getElementDimensions(form); - form.innerHTML = ""; // http://support.microsoft.com/kb/925014 - document.body.removeChild(form); - - return dimension.h; - }, - - _onWindowResize : function () { - window.paramWindow.doLayout(); - window.paramWindow.center(); - }, - - doLayout: function () { - if(this._form) { - this._form.style.height = this.getPreferredHeight() + "px"; - } - }, - - updateHtmlAndDisplay : function(html) { - if (html) { - this._checkInitialization (); - - if (this.isDisplayed ()) { - this.show (false); - } - - var ext = bobj.html.extractHtml (html); - - var styleText = ""; - for ( var i = 0, len = ext.styles.length; i < len; i++) { - styleText += ext.styles[i].text + '\n'; - } - - var styleLayerID = this.id + '_stylesheet'; - - var styleLayer = getLayer(styleLayerID); - if(styleLayer) { - MochiKit.DOM.removeElement (styleLayer); - } - - if(styleText.length > 0) { - bobj.addStyleSheet (styleText, styleLayerID); - } - - if (this._form) { - this._form.innerHTML = '
    ' + ext.html + '
    '; - } - - var callback = function (parameterDialog, scripts) { - return function () { - - //Must show dialog before executing scripts as scripts could change scroll position - parameterDialog.show(true); - - for ( var iScripts = 0, scriptsLen = scripts.length; iScripts < scriptsLen; ++iScripts) { - var script = scripts[iScripts]; - if (!script) { - continue; - } - - if (script.text) { - bobj.evalInWindow (script.text); - } - } - } - }(this, ext.scripts); - - //CSS links in extracted html are first loaded, then dialog is shown to correctly calcualte - //the width and height of dialog - - bobj.includeCSSLinksAndExecuteCallback ( ext.links, callback); - - } - }, - - getHTML : function(html) { - var FORM = bobj.html.FORM; - var DIV = bobj.html.DIV; - var onsubmit = 'eventCancelBubble(event);return false;'; - - return this.beginHTML() + - DIV({'class' : 'dlgFrame naviBarFrame', style : { padding : '20px 15px 5px 20px'}}, FORM({id: this.id + '_form', style : {overflow : 'auto'}, onsubmit: onsubmit})) + - this.endHTML(); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterInfoRow.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterInfoRow.js deleted file mode 100644 index 5e85fa7a6..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterInfoRow.js +++ /dev/null @@ -1,88 +0,0 @@ -/* -================================================================================ -ParameterInfoRow - -Internal class for use by ParameterUI. Draws a UI for a single info row. -This row is always displayed as last child of parameterUI -================================================================================ - */ - -bobj.crv.params.ParameterInfoRow = function(parentId) { - this.layer = null; - this.parentId = parentId; - this.id = bobj.uniqueId(); -}; - -bobj.crv.params.ParameterInfoRow.prototype = { - setTabDisabled : function(dis) { - if (this.layer) { - bobj.disableTabbingKey(this.layer, dis) - } - }, - - init : function() { - var parent = getLayer(this.parentId); - if (parent) { - append2(parent, this.getHTML()); - this.layer = getLayer(this.id); - } - - if(this.layer) { - MochiKit.Signal.connect(this.layer, "onclick", this, '_onClick'); - MochiKit.Signal.connect(this.layer, "onkeydown", this, '_onKeyDown'); - } - - }, - - getHTML : function() { - return bobj.html.DIV( { - 'class' :'parameterInfoRow', - id :this.id, - "tabIndex" : "0" - }); - }, - - setText : function(text) { - if (!this.layer) - this.init(); - - this.layer.innerHTML = text; - }, - - setVisible : function(isVisible) { - if (isVisible) { - if (!this.layer) - this.init(); - - this.shiftToLastRow(); - this.layer.style.display = "block"; - } else { - if (this.layer) - this.layer.style.display = "none"; - } - }, - - /** - * ParamterInfoRow must always be displayed after all ParmeterValueRows - * @return - */ - shiftToLastRow : function() { - var parentNode = getLayer(this.parentId); - if (this.layer && parentNode) { - parentNode.removeChild(this.layer); - parentNode.appendChild(this.layer); - } - }, - - _onClick : function (ev) { - MochiKit.Signal.signal(this, "switch"); - ev.stop(); - }, - - _onKeyDown : function (ev) { - if(ev && ev.key() && ev.key().code == 13) { - MochiKit.Signal.signal(this, "switch"); - ev.stop(); - } - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterPanel.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterPanel.js deleted file mode 100644 index 6b77f1923..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterPanel.js +++ /dev/null @@ -1,277 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/* -================================================================================ -ParameterPanel -================================================================================ -*/ - -/** - * Constructor - */ -bobj.crv.params.newParameterPanel = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId() + '_IPPanel' - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'ParameterPanel'; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - MochiKit.Base.update(o, bobj.crv.params.ParameterPanel); - - o._tabPanel = bobj.crv.newStackedPanel({ - id: o.id + '_ParamtersStack' - }); - - //Layer that appears on top of panel when it is disabled; necessary for preventing user to select parameters/widgets - o._overlayLayer = new bobj.crv.params.ParameterPanel.OverlayLayer(o.id); - o._toolbar = bobj.crv.params.newParameterPanelToolbar({ - id: o.id + '_IPToolbar' - }); - - return o; -}; - -bobj.crv.params.ParameterPanel = { - setToolbarCallBacks : function(applyClickCB, resetClickCB) { - if(this._toolbar) { - this._toolbar.applyClickCB = applyClickCB; - this._toolbar.resetClickCB = resetClickCB; - } - }, - - /** - * Disables panel by showing modal layer on top of panel, reducing opacity of panel, and disabling tabbing between widgets - */ - setDisabled : function(dis) { - this._overlayLayer.setVisible (dis); - this.setTabDisabled (dis); - }, - - /** - * Disables tabbing for toolbar and all parameters within panel - */ - setTabDisabled : function(dis) { - this._toolbar.setTabDisabled (dis); - this._tabPanel.setTabDisabled (dis); - }, - - init : function() { - Widget_init.call (this); - this._toolbar.init (); - if (this._tabPanel) { - this._tabPanel.init (); - } - - MochiKit.Signal.signal (this, "resetParamPanel"); - }, - - update : function (update) { - if (update && update.cons == "bobj.crv.params.newParameterPanel") { - if(update.args && update.args.isResetParamPanel) - MochiKit.Signal.signal (this, "resetParamPanel"); - } - }, - - getHTML : function() { - var DIV = bobj.html.DIV; - var layerStyle = { - overflow : 'hidden', - width : this.width ? bobj.unitValue(this.width) : 'auto', - height : this.height ? bobj.unitValue(this.height) : 'auto' - } - - var innerHTML = this._toolbar.getHTML (); - if (this._tabPanel) { - innerHTML += this._tabPanel.getHTML (); - } - - return DIV ( { - id : this.id, - style : layerStyle - }, innerHTML); - }, - - getBestFitHeight : function () { - var height = 0; - if(this._tabPanel) { - /** - * Since container of parampanel could be invisible, getHiddenElementDimensions has to be called - * instead of element.getHeight() - */ - height += bobj.getHiddenElementDimensions(this._tabPanel.layer).h; - } - - if(this._toolbar) - height += this._toolbar.getHeight (); - - return height; - }, - - /** - * Resize the panel - * - * @param w [int - optional] Width in pixels - * @param h [int - optional] Height in pixels - */ - resize : function(w, h) { - Widget_resize.call (this, w, h); - - if (this._toolbar) { - w = this.layer.clientWidth; - this._toolbar.resize (w); - if (this._tabPanel) { - h = this.layer.clientHeight - this._toolbar.getHeight (); - this._tabPanel.resize (w, h); - } - } - }, - - /** - * Add a ParameterUI instance to the panel - * - * @param paramUI [ParameterUI] - * @param label [String] Parameter title - * @param isDataFetching [bool] Shows the data fetching icon when true - */ - addParameter : function(kwArgs) { - kwArgs = MochiKit.Base.update ( { - paramUI : null, - label : null, - isDataFetching : false, - openAdvCB : null, - clearValuesCB : null, - id : this._tabPanel.id + '_P' + (this._tabPanel.getNumTabs () + 1) - }, kwArgs); - - if (kwArgs.paramUI) { - var paramTab = bobj.crv.newStackedTab (kwArgs); - paramTab.setContent (kwArgs.paramUI); - this._tabPanel.addTab (paramTab); - } - }, - - - /** - * Remove a ParameterUI instance from the panel - * - * @param index [int] Index of the widget - */ - removeParameter : function(index) { - this._tabPanel.removeTab(index); - }, - - getWidth : function() { - if (this.layer) { - return this.layer.offsetWidth; - } - return this.width; - }, - - setResetButtonEnabled : function(isEnabled) { - this._toolbar.resetButton.setDisabled (!isEnabled); - var tooltip = isEnabled ? L_bobj_crv_ResetTip : L_bobj_crv_ResetDisabledTip; - this._toolbar.resetButton.changeTooltip (tooltip, true); - }, - - setApplyButtonEnabled : function(isEnabled) { - this._toolbar.applyButton.setDisabled (!isEnabled); - var tooltip = isEnabled ? L_bobj_crv_ParamsApplyTip : L_bobj_crv_ParamsApplyDisabledTip; - this._toolbar.applyButton.changeTooltip (tooltip, true); - }, - - isApplyButtonEnabled : function () { - return this._toolbar != null && this._toolbar.applyButton != null && !this._toolbar.applyButton.isDisabled(); - }, - - getIndex : function(paramUI) { - var numTabs = this._tabPanel.getNumTabs (); - for ( var idx = 0; idx < numTabs; ++idx) { - var tab = this._tabPanel.getTab (idx); - if (tab.getContent () === paramUI) { - return idx; - } - } - return -1; - }, - - getParameterTabByWidget : function(paramUI) { - var index = this.getIndex (paramUI); - if (index >= 0) - return this._tabPanel.getTab (index); - - return null; - }, - - getParameter : function(index) { - var tab = this._tabPanel.getTab (index); - if (tab) { - return tab.getContent (); - } - return null; - }, - - /** - * @return ParameterTab, tab specified by index - */ - getParameterTab : function(index) { - return this._tabPanel.getTab (index); - }, - - /** - * return Number of tabs/parameters in panel - */ - getParameterCount : function() { - return this._tabPanel.getNumTabs (); - } -}; - -/** - * A layer that appears on top of panel when it is disabled. Prevents user from selecting widgets - * inside panel - */ -bobj.crv.params.ParameterPanel.OverlayLayer = function(paramPanelID) { - this.paramPanelId = paramPanelID; - this.layer = null; - this.id = bobj.uniqueId(); - this.widx = _widgets.length - _widgets[this.widx] = this; - - return this; -}; - -bobj.crv.params.ParameterPanel.OverlayLayer.prototype = { - setVisible: function(visible) { - if(!this.layer) { - this.init(); - } - if(this.css) { - this.css.visibility = visible ? "visible" : "hidden"; - } - }, - - isVisible: function() { - if(!this.layer) { - this.init(); - } - return this.css.visibility == "visible"; - }, - - getHTML: function() { - return '
    '+(_ie?img(_skin+'../transp.gif','100%','100%',null,'ISMAP'):'')+'
    ' - }, - - init: function() { - var paramPanelLayer = getLayer(this.paramPanelId); - - if(paramPanelLayer) { - append2(paramPanelLayer, this.getHTML()); //adds overlay layer to parameter panel layer - } - - Widget_init.call(this); - } -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterPanelToolbar.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterPanelToolbar.js deleted file mode 100644 index 06b9eaed0..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterPanelToolbar.js +++ /dev/null @@ -1,104 +0,0 @@ - -/* -================================================================================ -ParameterPanelToolbar - -Contains the Delete and Run buttons -================================================================================ -*/ - -/** - * Constructor - */ -bobj.crv.params.newParameterPanelToolbar = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId() - }, kwArgs); - var o = newPaletteContainerWidget(kwArgs.id); - - bobj.fillIn(o, kwArgs); - o.widgetType = 'ParameterPanelToolbar'; - - // Attach member functions - o._paletteContainerInit = o.init; - MochiKit.Base.update(o, bobj.crv.params.ParameterPanelToolbar); - - o._palette = newPaletteWidget(o.id + "_palette"); - o.add(o._palette); - - var bind = MochiKit.Base.bind; - - o.applyButton = newIconWidget( - o.id + '_applyBtn', - bobj.crv.allInOne.uri, - bind(o._onApplyClick, o), //clickCB, - L_bobj_crv_ParamsApply, //text - L_bobj_crv_ParamsApplyDisabledTip,//tooltip, - 16, 16, 3, 3 + bobj.crv.allInOne.paramRunDy, 25, 3 + bobj.crv.allInOne.paramRunDy, false); //width, height, dx, dy, disDx, disDy - - o.applyButton.setClasses("", "", "", ""); //FIXME : saeed, Assign css class - o.resetButton = newIconWidget( - o.id + '_resetBtn', - bobj.crv.allInOne.uri, - bind(o._onResetClick, o), //clickCB, - L_bobj_crv_Reset, //text - L_bobj_crv_ResetDisabledTip,//tooltip, - 16, 16, 0, bobj.crv.allInOne.undoDy, 16, bobj.crv.allInOne.undoDy, false); //width, height, dx, dy, disDx, disDy - - o.resetButton.setClasses("", "", "", ""); //FIXME : saeed, Assign css class - o._palette.add(o.applyButton); - o._palette.add(); // separator - o._palette.add(o.resetButton); - - return o; -}; - -bobj.crv.params.ParameterPanelToolbar = { - init : function() { - this._paletteContainerInit (); - this._palette.init (); - this.applyButton.setDisabled (true); - this.resetButton.setDisabled (true); - }, - - /** - * Disables tabbing for all buttons in toolbar - */ - setTabDisabled : function(dis) { - var items = [ this.applyButton, this.resetButton ]; - - for ( var i = 0, len = items.length; i < len; i++) { - var item = items[i]; - if (item) { - bobj.disableTabbingKey (item.layer, dis); - } - } - }, - - /** - * Overrides parent. Opens the toolbar's tags. - */ - beginHTML : function() { - return bobj.html.openTag ('div', { - id : this.id, - 'class' : 'parameterPanelToolbar' - }); - }, - - getHTML : function() { - return (this.beginHTML () + this._palette.getHTML () + this.endHTML ()); - }, - - _onApplyClick : function() { - if (this.applyClickCB) { - bobj.crv.logger.info ('UIAction ParameterPanel.Apply'); - this.applyClickCB (); - } - }, - - _onResetClick : function() { - if (this.resetClickCB) { - this.resetClickCB (); - } - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterUI.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterUI.js deleted file mode 100644 index 33bb11e83..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterUI.js +++ /dev/null @@ -1,404 +0,0 @@ - -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/* -================================================================================ -ParameterUI - -Widget for displaying and editing parameter values. Contains one or many -ParameterValueRows and, optionally, UI that allows rows to be added. -================================================================================ -*/ - -bobj.crv.params.newParameterUI = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - canChangeOnPanel: false, - allowCustom: false, - isPassword : false, - isReadOnlyParam: true, - allowRange : false, - values: [], - defaultValues: null, - width: '200px', - changeValueCB: null, - enterPressCB: null, - openAdvDialogCB: null, - maxNumParameterDefaultValues: 200, - tooltip : null, - calendarProperties : {displayValueFormat : '' , isTimeShown : false, hasButton : false, iconUrl : ''}, - maxNumValuesDisplayed : 7, - canOpenAdvDialog : false - }, kwArgs); - - var o = newWidget(kwArgs.id); - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - o.displayAllValues = false; - - // Update instance with member functions - MochiKit.Base.update(o, bobj.crv.params.ParameterUI); - - o._createMenu(); - o._rows = []; - o._infoRow = new bobj.crv.params.ParameterInfoRow(o.id); - return o; -}; - -bobj.crv.params.ParameterUI = { - /** - * Creates single menubar for all parameter value rows of current param UI - */ - _createMenu : function() { - var dvLength = this.defaultValues.length; - if (dvLength > 0) { - var kwArgs = { - originalValues : this.defaultValues - }; - - if (dvLength == this.maxNumParameterDefaultValues) { - kwArgs.originalValues[this.maxNumParameterDefaultValues] = L_bobj_crv_ParamsMaxNumDefaultValues; - MochiKit.Base.update (kwArgs, { - openAdvDialogCB : this.openAdvDialogCB, - maxNumParameterDefaultValues : this.maxNumParameterDefaultValues - }); - } - - this._defaultValuesMenu = bobj.crv.params.newScrollMenuWidget (kwArgs); - } else { - this._defaultValuesMenu = null; - } - }, - - setFocusOnRow : function(rowIndex) { - var row = this._rows[rowIndex]; - if (row) - row.focus (); - }, - - /* - * Disables tabbing if dis is true - */ - setTabDisabled : function(dis) { - for(var i = 0, len = this._rows.length; i < len; i++) { - this._rows[i].setTabDisabled(dis); - } - - this._infoRow.setTabDisabled(dis); - }, - - init : function() { - Widget_init.call (this); - - var rows = this._rows; - for ( var i = 0, len = rows.length; i < len; ++i) { - rows[i].init (); - } - - MochiKit.Signal.connect(this._infoRow, "switch", this, '_onSwitchDisplayAllValues'); - this.refreshUI (); - }, - - /** - * Processes actions triggered by clicks on "x more values" or "collapse" button displayed in inforow - */ - _onSwitchDisplayAllValues: function() { - this.displayAllValues = !this.displayAllValues; - var TIME_INTERVAL = 10; /* 10 msec or 100 actions per second */ - var timerIndex = 0; - - if(this.displayAllValues) { - if (this.values.length > this._rows.length) { - for(var i = this._rows.length, l = this.values.length; i < l; i++) { - var addRow = function(paramUI, value) { - return function() { return paramUI._addRow(value); }; - }; - - timerIndex++; - setTimeout(addRow(this, this.values[i]), TIME_INTERVAL * timerIndex); - } - } - } - else { - if(this._rows.length > this.maxNumValuesDisplayed) { - for(var i = this._rows.length -1; i >= this.maxNumValuesDisplayed; i--) { - var deleteRow = function(paramUI, rowIndex) { - return function() { return paramUI.deleteValue(rowIndex); }; - }; - - timerIndex++; - setTimeout(deleteRow(this, i), TIME_INTERVAL * timerIndex); - } - } - } - - var signalResize = function(paramUI) { - return function() {MochiKit.Signal.signal(paramUI, 'ParameterUIResized'); }; - }; - - setTimeout(signalResize(this), TIME_INTERVAL * timerIndex); - }, - - getHTML : function() { - var rowsHtml = ''; - - var values = this.values; - var rows = this._rows; - - var rowsCount = Math.min (values.length, this.maxNumValuesDisplayed); - for ( var i = 0; i < rowsCount; ++i) { - rows.push (this._getRow (values[i])); - rowsHtml += rows[i].getHTML (); - } - - return bobj.html.DIV ( { - id : this.id, - style : { - width : bobj.unitValue (this.width), - 'padding-left' : '20px' - } - }, rowsHtml); - }, - - _getNewValueRowArgs : function(value) { - return { - value : value, - defaultValues : this.defaultValues, - width : this.width, - isReadOnlyParam : this.isReadOnlyParam, - canChangeOnPanel : this.canChangeOnPanel, - allowCustom : this.allowCustom, - isPassword : this.isPassword, - calendarProperties : this.calendarProperties, - defaultValuesMenu : this._defaultValuesMenu, - tooltip : this.tooltip, - isRangeValue : this.allowRange, - canOpenAdvDialog : this.canOpenAdvDialog - }; - }, - - _getNewValueRowConstructor : function() { - return bobj.crv.params.newParameterValueRow; - }, - - _getRow : function(value) { - var row = this._getNewValueRowConstructor()(this._getNewValueRowArgs(value)); - var bind = MochiKit.Base.bind; - - row.changeCB = bind(this._onChangeValue, this, row); - row.enterCB = bind(this._onEnterValue, this, row); - - return row; - }, - - _addRow : function(value) { - var row = this._getRow (value); - this._rows.push (row); - append (this.layer, row.getHTML ()); - - row.init (); - - this.refreshUI (); - return row; - }, - - _onChangeValue : function(row) { - if (this.changeValueCB) { - this.changeValueCB (this._getRowIndex (row), row.getValue ()); - } - }, - - _onEnterValue : function(row) { - if (this.enterPressCB) { - this.enterPressCB (this._getRowIndex (row)); - } - }, - - _getRowIndex : function(row) { - if (row) { - var rows = this._rows; - for ( var i = 0, len = rows.length; i < len; ++i) { - if (rows[i] === row) { - return i; - } - } - } - return -1; - }, - - getNumValues : function() { - return this._rows.length; - }, - - - refreshUI : function() { - if (this.allowRange) - this.alignRangeRows (); - - var displayInfoRow = false; - var infoRowText = ""; - - if (this.values.length > this.maxNumValuesDisplayed) { - displayInfoRow = true; - - if(this.displayAllValues) - infoRowText = L_bobj_crv_Collapse; - else { - var hiddenValuesCount = this.values.length - this.maxNumValuesDisplayed; - infoRowText = (hiddenValuesCount == 1) ? L_bobj_crv_ParamsMoreValue : L_bobj_crv_ParamsMoreValues; - infoRowText = infoRowText.replace ("%1", hiddenValuesCount); - } - } - - this._infoRow.setText (infoRowText); - this._infoRow.setVisible (displayInfoRow); - }, - - getValueAt : function(index) { - var row = this._rows[index]; - if (row) { - return row.getValue (); - } - return null; - }, - - getValues : function() { - var values = []; - for ( var i = 0, len = this._rows.length; i < len; ++i) { - values.push (this._rows[i].getValue ()); - } - return values; - }, - - setValueAt : function(index, value) { - var row = this._rows[index]; - if (row) { - row.setValue (value); - } - - this.refreshUI (); - }, - - resetValues : function(values) { - if (!values) { - return; - } - - this.values = values; - var valuesLen = values.length; - var rowsLen = this._rows.length; - - //Resets value - for ( var i = 0; i < valuesLen && i < rowsLen; ++i) { - this._rows[i].reset (values[i]); - } - - //removes newly added values that are not commited - if (rowsLen > valuesLen) { - for ( var i = rowsLen - 1; i >= valuesLen; --i) { - // delete from the end to minimize calls to setBgColor - this.deleteValue (i); - } - } - //re-adds removed values - else if (valuesLen > rowsLen) { - for ( var i = rowsLen; i < valuesLen && (this.displayAllValues || i < this.maxNumValuesDisplayed); ++i) { - var row = this._addRow (values[i]); - - } - } - - MochiKit.Signal.signal(this, 'ParameterUIResized'); - this.refreshUI (); - }, - - alignRangeRows : function() { - if (!this.allowRange) - return; - - var lowerBoundWidth = 0; - for ( var i = 0, l = this._rows.length; i < l; i++) { - var row = this._rows[i]; - var rangeField = row._valueWidget; - lowerBoundWidth = Math.max (lowerBoundWidth, rangeField.getLowerBoundValueWidth ()); - } - - for ( var i = 0, l = this._rows.length; i < l; i++) { - var row = this._rows[i]; - var rangeField = row._valueWidget; - rangeField.setLowerBoundValueWidth (lowerBoundWidth); - } - }, - - setValues : function(values) { - if (!values) - return; - - this.values = values; - var valuesLen = values.length; - var rowsLen = this._rows.length; - - for ( var i = 0; i < valuesLen && i < rowsLen; ++i) { - this._rows[i].setValue (values[i]); - } - - if (rowsLen > valuesLen) { - for ( var i = rowsLen - 1; i >= valuesLen; --i) { - // delete from the end to minimize calls to setBgColor - this.deleteValue (i); - } - } else if (valuesLen > rowsLen) { - for ( var i = rowsLen; i < valuesLen && (this.displayAllValues || i < this.maxNumValuesDisplayed); ++i) { - this._addRow (values[i]); - } - } - - MochiKit.Signal.signal(this, 'ParameterUIResized'); - this.refreshUI (); - }, - - setCleanValue : function(index, value) { - var row = this._rows[index]; - if (row) - row.setCleanValue (value); - }, - - deleteValue : function(index) { - if (index >= 0 && index < this._rows.length) { - var row = this._rows[index]; - row.layer.parentNode.removeChild (row.layer); - _widgets[row.widx] = null; - - this._rows.splice (index, 1); - var rowsLen = this._rows.length; - } - - this.refreshUI (); - }, - - setWarning : function(index, warning) { - var row = this._rows[index]; - if (row) { - row.setWarning (warning); - } - }, - - getWarning : function(index) { - var row = this._rows[index]; - if (row) - return row.getWarning (); - - return null; - }, - - resize : function(w) { - if (w !== null) { - this.width = w; - if (this.layer) { - bobj.setOuterSize (this.layer, w); - } - } - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterValueRow.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterValueRow.js deleted file mode 100644 index fe4815b80..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ParameterValueRow.js +++ /dev/null @@ -1,505 +0,0 @@ -/* -================================================================================ -ParameterValueRow - -Internal class for use by ParameterUI. Darws a UI for a single parameter value. -================================================================================ -*/ - -bobj.crv.params.newParameterValueRow = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - value: '', - defaultValues: null, - isReadOnlyParam: true, - canChangeOnPanel: false, - isRangeValue : false, - allowCustom: false, - isPassword: false, - calendarProperties : {displayValueFormat : '' , isTimeShown : false, hasButton : false, iconUrl : '', clickCB : null}, - changeCB: null, - enterCB: null, - defaultValuesMenu: null, - tooltip : null, - canOpenAdvDialog : false - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'ParameterValueRow'; - o._prevValueString = kwArgs.value; - o._warning = null; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - MochiKit.Base.update(o, bobj.crv.params.ParameterValueRow); - - return o; -}; - -bobj.crv.params.ParameterValueRow = { - setTabDisabled : function(dis) { - if (this._valueWidget) - this._valueWidget.setTabDisabled (dis); - - if (this._calendarButton) - bobj.disableTabbingKey (this._calendarButton.layer, dis); - }, - - /** - * Resets widget, Restores old value, hides warning and adv dialog icons - */ - reset : function(value) { - this.value = value; - this._prevValueString = value; - this.setWarning(null); - /* Removing Red border color if previous value was errorneous */ - MochiKit.DOM.removeElementClass(this.layer, "hasError"); - - if(this._valueWidget) { - this._valueWidget.reset(value); - } - }, - - init : function() { - Widget_init.call (this); - this._valueWidget.init (); - if (this._calendarButton) { - this._calendarButton.init (); - } - - this._valueCtn = getLayer (this.id + '_vc'); - this._btnCtn = getLayer (this.id + '_bc'); - this._valBtnCtn = getLayer (this.id + '_vab'); - - if (MochiKit.Base.isIE ()) { - /* IE's 100% is different than other browsers, - even in standards compliant mode.... */ - var marg = parseInt (MochiKit.Style.computedStyle (this._valueCtn, 'margin-right'), 10); - if (bobj.isNumber (marg)) { - this._valueWidget.layer.style.marginRight = (-1 * marg) + 'px'; - } - } - }, - - calendarSetValue : function(value) { - this.setValue (value); - this.changeCB (); - }, - - getHTML : function() { - if (!this._valueWidget) { - this._valueWidget = this._getValueWidget (); - } - if (this.calendarProperties.hasButton && !this._calendarButton) { - var getValueCB = bobj.bindFunctionToObject (this.getValue, this); - var setValueCB = bobj.bindFunctionToObject (this.calendarSetValue, this); - this._calendarButton = bobj.crv.params.newCalendarButton ( { - calendarProperties : this.calendarProperties, - getValueCB : getValueCB, - setValueCB : setValueCB - }); - } - - var DIV = bobj.html.DIV; - var IMG = bobj.html.IMG; - - var cssClass = ' iactParamRow'; - - if (this.canChangeOnPanel) - cssClass += ' editable'; - else - cssClass += ' readOnly'; - - if (MochiKit.Base.isIE () && bobj.isQuirksMode ()) { - cssClass += ' ' + 'iactParamRowIE'; - } - - return DIV ( { - id : this.id, - 'class' : cssClass - }, this.calendarProperties.hasButton ? this._getValueAndCalendarHTML () : this._getValueHTML ()); - }, - - - /** - * @return [String] Returns HTML for the the value - */ - _getValueHTML : function() { - var DIV = bobj.html.DIV; - var style = {}; - - if (MochiKit.Base.isIE () && bobj.isQuirksMode ()) { - style.position = "absolute"; - style.top = "0px"; - style.left = "0px"; - } - - return DIV ( { - id : this.id + '_vc', - 'class' : 'iactParamValue', - style : style - }, this._valueWidget.getHTML ()); - }, - - /** - * @return [String] Returns HTML for the value and a button beside it - */ - _getValueAndCalendarHTML : function() { - var style = {}; - if (MochiKit.Base.isIE () && bobj.isQuirksMode ()) { - style.width = '100%'; - } - - var DIV = bobj.html.DIV; - - var buttonRightOffset = (this._valueWidget.widgetType == "TextCombo") ? 16 : 0; - buttonRightOffset += "px"; - - var html = DIV ( { - id : this.id + "_vab", - style : style, - 'class' : "iactParamValueAndButton" - }, this._getValueHTML (), DIV ( { - id : this.id + "_bc", - 'class' : "iactValueIcon", - style : { - position : "absolute", - right : buttonRightOffset, - top : "0", - cursor : _hand - } - }, this._calendarButton.getHTML ())); - - return html; - }, - - getNewValueWidgetConstructor : function() { - var showDefVals = this.defaultValuesMenu !== null && !this.isReadOnlyParam && this.canChangeOnPanel; - - if (this.isRangeValue) - return bobj.crv.params.newRangeField; - else if (showDefVals) - return bobj.crv.params.newTextCombo; - else - return bobj.crv.params.newTextField; - }, - - getNewValueWidgetArgs : function() { - var isEditable = this.allowCustom && this.canChangeOnPanel; - return { - password : this.isPassword, - cleanValue : this.value, - editable : isEditable, - enterCB : bobj.bindFunctionToObject (this._onEnterPress, this), - keyUpCB : isEditable ? bobj.bindFunctionToObject (this._onKeyUp, this) : null, - tooltip : this.tooltip, - foreColor : this.isReadOnlyParam ? bobj.Colors.GRAY : bobj.Colors.BLACK, - focusCB : bobj.bindFunctionToObject (this.onFocus, this), - blurCB : bobj.bindFunctionToObject (this.onBlur, this), - canOpenAdvDialog : this.canOpenAdvDialog - }; - }, - - /** - * Creates a widget to display/edit the value. - * - * @return [Widget] - */ - _getValueWidget : function() { - var cons = this.getNewValueWidgetConstructor (); - var widget = cons (this.getNewValueWidgetArgs ()); - var showDefVals = this.defaultValuesMenu !== null && !this.isReadOnlyParam && this.canChangeOnPanel; - - if (showDefVals) { - widget.setMenu (this.defaultValuesMenu); - widget.changeCB = bobj.bindFunctionToObject (this._onChange, this); - } - - return widget; - }, - - onFocus : function() { - this.refreshWarningPopup (); - MochiKit.DOM.removeElementClass (this.layer, "hasError"); - }, - - refreshWarningPopup : function() { - if (this._warning) { - var pos = getPosScrolled (this.layer); - var fontFamily = MochiKit.Style.computedStyle (this.layer, 'fontFamily'); - var fontSize = MochiKit.Style.computedStyle (this.layer, 'fontSize'); - var valueWidth = bobj.getStringWidth (this.getValue (), fontFamily, fontSize); - var leftOffset = this.layer.offsetWidth < valueWidth ? this.layer.offsetWidth : valueWidth; - var topOffset = 33; - bobj.crv.WarningPopup.getInstance ().show (this._warning.message, pos.x + leftOffset, pos.y + topOffset); - } else { - bobj.crv.WarningPopup.getInstance ().hide (); - MochiKit.DOM.removeElementClass (this.layer, "hasError"); - } - - var tooltipText = this._warning ? this.tooltip + this._warning.message : this.tooltip; - if (this._valueWidget) - this._valueWidget.setTooltip (tooltipText); - }, - - onBlur : function() { - if (this._warning) { - bobj.crv.WarningPopup.getInstance ().hide (); - MochiKit.DOM.addElementClass (this.layer, "hasError"); - } - }, - - getValue : function() { - return this.value; - }, - - setValue : function(value) { - this.value = value; - if (this._valueWidget) - this._valueWidget.setValue (value); - }, - - setCleanValue : function(value) { - if (this._valueWidget) - this._valueWidget.setCleanValue(value); - - }, - - /** - * Set keyboard focus to the widget and mark it as selected - */ - focus : function() { - if (this._valueWidget.widgetType == "TextCombo") - this._valueWidget.text.focus (); - else - this._valueWidget.focus (); - }, - - /** - * Display a warning icon with a tooltip message - * - * @param warning - * [String] Tooltip message. If null, warning is hidden. - */ - setWarning : function(warning) { - this._warning = warning; - this.refreshWarningPopup (); - }, - - getWarning : function() { - return this._warning; - }, - - /** - * Change the outer dimensions of the widget - * - * @param w - * [int, optional] Width in pixels - * @param h - * [int, optional] Height in pixels - */ - resize : function(w, h) { - bobj.setOuterSize (this.layer, w, h); - }, - - deleteValue : function() { - this._valueWidget.setValue ('', true); - }, - - /** - * Handle keyUp events when editing values or using keyboard navigation. - * - * @param e - * [keyup event] - */ - _onKeyUp : function(e) { - var event = new MochiKit.Signal.Event (src, e); - var key = event.key ().string; - var newValueString = this._valueWidget.getValue (); - - switch (key) { - case "KEY_ESCAPE": - this._valueWidget.setValue (this._valueWidget.cleanValue); - this._onChange (); - break; - - case "KEY_ARROW_LEFT": - case "KEY_ARROW_RIGHT": - case "KEY_HOME": - case "KEY_END": - case "KEY_TAB": - break; - - default: - if (newValueString !== this._prevValueString) { - this._onChange () - this._prevValueString = newValueString; - } - break; - } - }, - - /** - * Delete the current value - */ - deleteValue : function() { - this._valueWidget.setValue ('', true); - }, - - _onChange : function() { - this.value = this._valueWidget.getValue(); - if (this.changeCB) - this.changeCB(); - }, - - /** - * Handles Enter key press events. - */ - _onEnterPress : function() { - if(this.enterCB) - this.enterCB(); - } -}; - - - -/* -================================================================================ -CalendarButton - -Internal class. Button that fits inline with parameter values -================================================================================ -*/ -bobj.crv.params.newCalendarButton = function(kwArgs) { - kwArgs = MochiKit.Base.update( { - id : bobj.uniqueId(), - calendarProperties : null, - getValueCB : null, - setValueCB : null, - calendarSignals : { - okSignal : null, - hideSignal : null, - cancelSignal : null - } - }, kwArgs); - - if (kwArgs.getValueCB == null || kwArgs.setValueCB == null || kwArgs.calendarProperties == null) - throw "InvalidArgumentException"; - - var o = newIconWidget( - kwArgs.id, - kwArgs.calendarProperties.iconUrl, - null, - null, - L_bobj_crv_ParamsCalBtn, - 14,14,0,0,0,0); - - o.setClasses("", "", "", "iconcheckhover"); - - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - o.margin = 0; - o.oldInit = o.init; - - MochiKit.Base.update(o, bobj.crv.params.CalendarButton); - o.clickCB = bobj.bindFunctionToObject(o.onClick, o); - - return o; -}; - -bobj.crv.params.CalendarButton = { - onClick : function() { - var calendar = bobj.crv.Calendar.getInstance (); - var date = bobj.external.date.getDateFromFormat (this.getValueCB (), this.calendarProperties.displayValueFormat); - var connect = MochiKit.Signal.connect; - if (date) - calendar.setDate (date); - - this.calendarSignals = { - okSignal : connect (calendar, calendar.Signals.OK_CLICK, this, 'onClickCalendarOKButton'), - cancelSignal : connect (calendar, calendar.Signals.CANCEL_CLICK, this, 'onClickCalendarCancelButton'), - hideSignal : connect (calendar, calendar.Signals.ON_HIDE, this, 'onHideCalendar') - }; - - var absPos = getPosScrolled (this.layer); - var x = absPos.x + this.getWidth (); - var y = absPos.y + this.getHeight () + 1; - - calendar.setShowTime (this.calendarProperties.isTimeShown); - calendar.show (true, x, y); - }, - - onClickCalendarOKButton : function(date) { - var strValue = bobj.external.date.formatDate (date, this.calendarProperties.displayValueFormat); - this.setValueCB (strValue); - }, - - onClickCalendarCancelButton : function() { - this.clearCalendarSignals (); - }, - - clearCalendarSignals : function() { - for ( var identName in this.calendarSignals) { - bobj.crv.SignalDisposer.dispose(this.calendarSignals[identName], true); - this.calendarSignals[identName] = null; - } - }, - - onHideCalendar : function() { - this.clearCalendarSignals (); - if (this.layer.focus) - this.layer.focus (); - }, - - init : function() { - this.oldInit (); - this.layer.onfocus = IconWidget_realOverCB; - this.layer.onblur = IconWidget_realOutCB; - }, - - getHTML : function() { - var imgCode; - var h = bobj.html; - if (this.src) { - imgCode = h.DIV( { - style : { - overflow : 'hidden', - height : '14px', - position : 'relative', - top : '2px', - width : this.w + 'px' - } - }, simpleImgOffset(this.src, this.w, this.h, this.dx, this.dy, 'IconImg_' + this.id, null, this.alt, - 'cursor:' + _hand), this.extraHTML); - } else { - imgCode = h.DIV( { - 'class' : 'iconText', - 'style' : { - width : '1px', - height : (this.h + this.border) + 'px' - } - }); - } - - var divStyle = { - margin : this.margin + 'px', - padding : '1px' - }; - - if (this.width) { - divStyle.width = this.width + 'px'; - } - if (!this.disp) { - divStyle.display = 'none'; - } - - return h.DIV( { - style : divStyle, - id : this.id, - 'class' : this.nocheckClass - }, (this.clickCB && _ie) ? lnk(imgCode, null, null, null, ' tabIndex="-1"') : imgCode); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PromptPage.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PromptPage.js deleted file mode 100644 index 9bf885226..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/PromptPage.js +++ /dev/null @@ -1,295 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * PromptPage constructor - * - * @param kwArgs.id [String] DOM node id - * @param kwArgs.contentId [String] DOM node id of report page content container - * @param kwArgs.bgColor [String] Background color of the page - * @param kwArgs.width [Int] Page content's width in pixels - * @param kwArgs.height [Int] Page content's height in pixels - * @param kwArgs.topMargin [Int] Top margin of report page in pixels - * @param kwArgs.rightMargin [Int] Right margin of report page in pixels - * @param kwArgs.bottomMargin [Int] Bottom margin of report page in pixels - * @param kwArgs.leftMargin [Int] Left margin of report page in pixels - */ -bobj.crv.newPromptPage = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - layoutType: 'fixed', - content : null, - width: 800, - height: 600, - padding: 5, - top: 0, - left: 0 - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'PromptPage'; - o._reportProcessing = null; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - o.initOld = o.init; - MochiKit.Base.update(o, bobj.crv.PromptPage); - - window[o.id] = o; - - return o; -}; - -bobj.crv.PromptPage = { - /** - * Overrides parent. Sets the content of the report page. - * - * @param content - * [String|DOM Node] Html or Node to use as report page content - */ - setHTML : function(content) { - var pageNode = this._pageNode; - if (bobj.isString (content)) { - var ext = bobj.html.extractHtml(content); - pageNode.innerHTML = ext.html; - - var links = ext.links; - for(var iLinks = 0, linksLen = links.length; iLinks < linksLen; ++iLinks) { - bobj.includeLink(links[iLinks]); - } - - var scripts = ext.scripts; - for (var iScripts = 0, scriptsLen = scripts.length; iScripts < scriptsLen; ++iScripts) { - var script = scripts[iScripts]; - if (!script) {continue;} - - if (script.text) { - bobj.evalInWindow(script.text); - } - } - } else if (bobj.isObject (content)) { - pageNode.innerHTML = ''; - pageNode.appendChild (content); - var contentStyle = content.style; - contentStyle.display = 'block'; - contentStyle.visibility = 'visible'; - } - }, - - getHTML : function() { - var h = bobj.html; - var isBorderBoxModel = bobj.isBorderBoxModel (); - - var pageOuterHeight = this.height + this.topMargin + this.bottomMargin; - var pageOuterWidth = this.width + this.leftMargin + this.rightMargin; - - var contentHeight = isBorderBoxModel ? pageOuterHeight : this.height; - var contentWidth = isBorderBoxModel ? pageOuterWidth : this.width; - - var layerStyle = { - position : 'relative', - width : contentWidth + 'px', - height : contentHeight + 'px', - top : this.top + "px", - left : this.left + "px", - border : 'none', - 'z-index' : 1, - 'background-color' : this.bgColor - }; - - /* To support the width and height */ - if (this.layoutType == 'fixed') { - layerStyle.overflow = 'auto'; - } - - var pageStyle = { - 'padding' : this.padding + 'px' - }; - - var html = h.DIV ( { - id : this.id, - style : layerStyle - }, h.DIV ( { - id : this.id + '_page', - style : pageStyle - })); - - return html; - }, - - init : function() { - this._pageNode = document.getElementById (this.id + '_page'); - - this.initOld (); - - if (this.contentId) { - var content = document.getElementById (this.contentId); - if (content) { - this.setHTML (content); - } - } - else if(this.content) { - this.setHTML(this.content); - delete this.content; - } - - var connect = MochiKit.Signal.connect; - - if (this.layoutType.toLowerCase () == 'client') { - connect (window, 'onresize', this, '_doLayout'); - } - - this._doLayout (); - }, - - /* TODO: fix the layout (fitreport) to behave like XIR2 */ - _doLayout : function() { - var layout = this.layoutType.toLowerCase (); - - if ('client' == layout) { - this.css.width = '100%'; - this.css.height = '100%'; - } else if ('fitreport' == layout) { - this.css.width = '100%'; - this.css.height = '100%'; - } else { /* fixed layout */ - if(this.width != null && this.width.length > 0) { - if(this.width.indexOf("px") > 0 || this.width.indexOf("%") > 0) - this.css.width = this.width; - else - this.css.width = this.width + 'px'; - } - if(this.height != null && this.height.length > 0) { - if(this.height.indexOf("px") > 0 || this.height.indexOf("%") > 0) - this.css.height = this.height; - else - this.css.height = this.height + 'px'; - } - } - - var rptProcessing = this._reportProcessing; - if (rptProcessing && rptProcessing.layer) { - rptProcessing.center (); - } - }, - - addChild : function(widget) { - if (widget.widgetType == 'ReportProcessingUI') { - this._reportProcessing = widget; - } - } -}; - - -/** - * FlexPromptPage constructor - * - * @param kwArgs.id [String] DOM node id - * @param kwArgs.contentId [String] DOM node id of report page content container - * @param kwArgs.bgColor [String] Background color of the page - * @param kwArgs.width [Int] Page content's width in pixels - * @param kwArgs.height [Int] Page content's height in pixels - * @param kwArgs.topMargin [Int] Top margin of report page in pixels - * @param kwArgs.rightMargin [Int] Right margin of report page in pixels - * @param kwArgs.bottomMargin [Int] Bottom margin of report page in pixels - * @param kwArgs.leftMargin [Int] Left margin of report page in pixels - */ -bobj.crv.newFlexPromptPage = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - layoutType: 'fixed', - width: 800, - height: 600, - padding: 5, - top: 0, - left: 0 - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'FlexPromptPage'; - o._reportProcessing = null; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - o.initOld = o.init; - MochiKit.Base.update(o, bobj.crv.FlexPromptPage); - window[o.id] = o; - - return o; -}; - -bobj.crv.FlexPromptPage = { - /** - * Overrides parent. Does nothing because the swf content will replace the DIV later - * - * @param content [String|DOM Node] Html or Node to use as report page content - */ - setHTML : MochiKit.Base.noop, - - getHTML : function() { - var isBorderBoxModel = bobj.isBorderBoxModel (); - - var pageOuterHeight = this.height + this.topMargin + this.bottomMargin; - var pageOuterWidth = this.width + this.leftMargin + this.rightMargin; - - var contentHeight = isBorderBoxModel ? pageOuterHeight : this.height; - var contentWidth = isBorderBoxModel ? pageOuterWidth : this.width; - - var useSize = this.layoutType.toLowerCase () == bobj.crv.Viewer.LayoutTypes.FIXED; - - var layerStyle = { - position : 'relative', - width : useSize ? contentWidth + 'px' : '100%', - height : useSize ? contentHeight + 'px' : '100%', - top : this.top + "px", - left : this.left + "px", - border : 'none', - 'z-index' : 1, - 'background-color' : this.bgColor - }; - - var pageStyle = { - 'padding': this.padding + 'px', - position: 'absolute' // Must be absolute to avoid double initialization in firefox ADAPT01260507 - }; - - bobj.crv.params.ViewerFlexParameterAdapter.setViewerLayoutType (this.id, this.layoutType); - - var h = bobj.html; - return h.DIV ( { - id : this.id, - style : layerStyle - }, h.DIV ( { - id : this.id + '_page', - style : pageStyle - }, h.DIV ( { - id : this.contentId - }))); - }, - - init : function() { - var connect = MochiKit.Signal.connect; - if (this.layoutType.toLowerCase () == 'client') { - connect (window, 'onresize', this, '_doLayout'); - } - - this._doLayout (); - }, - - _doLayout : function() { - var rptProcessing = this._reportProcessing; - if (rptProcessing && rptProcessing.layer) { - rptProcessing.center (); - } - }, - - addChild : function(widget) { - if (widget.widgetType == 'ReportProcessingUI') { - this._reportProcessing = widget; - } - } - -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/RangeField.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/RangeField.js deleted file mode 100644 index 18ab39cd1..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/RangeField.js +++ /dev/null @@ -1,215 +0,0 @@ - -/* - * ================================================================================ - * Range Field - * - * ================================================================================ - */ - -bobj.crv.params.newRangeField = function(kwArgs) { - return new bobj.crv.params.RangeField(kwArgs); -}; - -bobj.crv.params.RangeField = function(kwArgs) { - kwArgs = MochiKit.Base.update( { - id : bobj.uniqueId(), - cleanValue : {}, - foreColor : 'black', - isTextItalic: false, - tooltip : '' - }, kwArgs); - - this.widgetType = 'RangeField'; - this.value = kwArgs.cleanValue; - - // Update instance with constructor arguments - bobj.fillIn(this, kwArgs); -}; - -bobj.crv.params.RangeField.prototype = { - setTabDisabled : function(dis) { - if(this.layer) { - var tds = this.layer.getElementsByTagName("TD"); - for(var i = 0, len = tds.length; i < len ; i++) { - bobj.disableTabbingKey(tds[i], dis); - } - } - }, - - setTooltip : function(text) { - if(this.layer) { - this.layer.title = text; - } - }, - - setForeColor : function(color) { - if(this.layer) { - this.layer.style.color = color; - } - }, - - setTextItalic : function(isItalic) { - if(this.layer) { - this.layer.style.fontStyle = isItalic ? 'italic' : ''; - } - }, - - /** - * Generates HTML for either lower or upper bound value - * @param value - the value of upper/lower bound - * @param isRightAligned - a flag for indicating whether left align or right align the generated HTML - * @return - */ - getValueHTML : function(value, isRightAligned) { - value = value ? value : ' '; - var style = { - 'text-align' : isRightAligned ? 'right' : 'left' - }; - - return bobj.html.TD( { - style : style, - tabIndex : 0 - }, bobj.html.SPAN(null, value)); - - }, - - isValueValidRange: function() { - return this.value != null && this.value.lowerBound != null && this.value.upperBound != null; - }, - - getHTML : function() { - var TR = ""; - var h = bobj.html; - - if(this.isValueValidRange()) { - TR = h.TR(null, this.getValueHTML(this.getValue().lowerBound.value, true), this - .getMiddleImageHTML(), this.getValueHTML(this.getValue().upperBound.value, false)) - } - else { - TR = h.TR(null, this.getValueHTML(this.getValue(), false)) - } - - return h.TABLE( { - id : this.id, - 'class' : 'iactRangeFieldTable', - title: this.tooltip, - style : {color : this.foreColor, "font-style" : this.isTextItalic ? 'italic' :''} - }, TR); - }, - - /** - * - * @return HTML for Range type (INCLUSIVE / EXCLUSIVE / UNBOUND) - */ - getMiddleImageHTML : function() { - var lowerImageSrc = ""; - var upperImageSrc = ""; - var lineSrc = "images/line.gif"; - - switch (this.getValue().lowerBound.type) { - case bobj.crv.params.RangeBoundTypes.EXCLUSIVE: - lowerImageSrc = "images/hollowCircle.gif"; - break; - case bobj.crv.params.RangeBoundTypes.INCLUSIVE: - lowerImageSrc = "images/filledCircle.gif"; - break; - case bobj.crv.params.RangeBoundTypes.UNBOUNDED: - lowerImageSrc = "images/leftTriangle.gif"; - break; - } - - switch (this.getValue().upperBound.type) { - case bobj.crv.params.RangeBoundTypes.EXCLUSIVE: - upperImageSrc = "images/hollowCircle.gif"; - break; - case bobj.crv.params.RangeBoundTypes.INCLUSIVE: - upperImageSrc = "images/filledCircle.gif"; - break; - case bobj.crv.params.RangeBoundTypes.UNBOUNDED: - upperImageSrc = "images/rightTriangle.gif"; - break; - } - - var TDStyle = { - 'vertical-align' : 'middle' - }; - - var IMG = bobj.html.IMG; - return bobj.html.TD( { - style : TDStyle - }, IMG( { - src : bobj.crvUri(lowerImageSrc) - }), IMG( { - src : bobj.crvUri(lineSrc) - }), IMG( { - src : bobj.crvUri(upperImageSrc) - })); - }, - - /** - * Initializes the widget - */ - init : function() { - this.layer = getLayer(this.id); - }, - - /** - * - * @return the evaluated width of lower bound TD - */ - getLowerBoundValueWidth : function() { - if(!this.isValueValidRange()) - return 0; - - var value = this.getValue().lowerBound.value; - - var fontFamily = MochiKit.Style.computedStyle(this.layer, 'fontFamily'); - var fontSize = MochiKit.Style.computedStyle(this.layer, 'fontSize'); - - if (!fontFamily) - fontFamily = "arial , sans-serif"; - - if (!fontSize) - fontSize = "12px"; - - return bobj.getStringWidth(value, fontFamily, fontSize); - }, - - getLowerBoundTD : function() { - if (this.layer) - return this.layer.getElementsByTagName("TD")[0]; - - return null; - }, - - setLowerBoundValueWidth : function(w) { - if (this.getLowerBoundTD()) - this.getLowerBoundTD().style.width = w + "px"; - }, - - reset : function(value) { - this.value = value; - this.cleanValue = value; - this.updateUI(); - }, - - updateUI : function() { - var parent = this.layer.parentNode; - MochiKit.DOM.removeElement(this.layer); - append2(parent, this.getHTML()); - this.init(); - }, - - setValue : function(rangeValue) { - this.value = rangeValue; - this.updateUI(); - }, - - setCleanValue : function(rangeValue) { - this.cleanValue = rangeValue; - }, - - getValue : function() { - return this.value; - } -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportAlbum.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportAlbum.js deleted file mode 100644 index a752060d4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportAlbum.js +++ /dev/null @@ -1,335 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * ReportAlbum Constructor - */ -bobj.crv.newReportAlbum = function(kwArgs) { - var mb = MochiKit.Base; - var UPDATE = mb.update; - var BIND = mb.bind; - var ALBUM = bobj.crv.ReportAlbum; - - kwArgs = UPDATE({ - id: bobj.uniqueId(), - initTabIdx: 0, // Index of tab to select when initializing - width: 800, - height: 500, - displayDrilldownTab : true - }, kwArgs); - - - // Override TabbedZone's TabBarWidget - var tabbar = newNaviBarWidget(bobj.uniqueId(), _HorizTabTopWithClose, null, null, kwArgs.width, null, null, null, false, true, false); - var o = newTabbedZone(kwArgs.id, tabbar, kwArgs.width, kwArgs.height); - - tabbar.cb = BIND(ALBUM._onSelectTab, o); - tabbar.closeTab = BIND(ALBUM._removeView, o, true); - bobj.fillIn(o, kwArgs); - o.widgetType = 'ReportAlbum'; - o._views = []; - o._hideFrame = false; - - // Attach member functions - o.selectOld = o.select; - UPDATE(o, ALBUM); - - return o; -}; - -bobj.crv.ReportAlbum = { - getTabBarHeight : function() { - return this.tabs.getHeight (); - }, - - init : function() { - /* - * This is not nice... Copied super class' init code here so that select will be called only once. - */ - this.tzOldInit (); - this.tabs.init (); - this.showDrilldownTab (this.displayDrilldownTab); - - var views = this._views; - if (views.length > 0) { - for ( var i = 0, len = views.length; i < len; i++) { - /* Since views are not initializing themself (as before through - adding bobj.crv.getInitHtml to their HTML) - it is report album's responsibility to initialize its children */ - views[i].init (); - - } - - if (this.initTabIdx < 0 || this.initTabIdx >= views.length) { - this.initTabIdx = 0; - } - - this.select (this.initTabIdx); - } - }, - - showDrilldownTab : function (isDisplay) { - this.displayDrilldownTab = isDisplay; - try - { - /* IE supports table-row since IE8. */ - var displayStyle; - if (_ie && !_ie8Up) - displayStyle = "block"; - else - displayStyle = "table-row"; - this.tabs.layer.parentNode.parentNode.style.display = isDisplay ? displayStyle : "none"; - } - catch(e){} - }, - - isDisplayDrilldownTab : function () { - return this.displayDrilldownTab; - }, - - setHideFrame : function(hide) { - this._hideFrame = hide; - var selectedView = this.getSelectedView (); - if (selectedView && this._hideFrame) - selectedView.hideFrame(); - }, - - update : function(update) { - if (!update || update.cons !== "bobj.crv.newReportAlbum") { - return; - } - - /* Updates all views */ - for ( var i = 0, len = update.children.length; i < len; i++) { - var updateView = update.children[i]; - var view = this._views[i]; - if (view) { - view.update (updateView); /* updates current view */ - } - } - - var updateChildrenLength = update.children.length; - var currentViewsLength = this._views.length; - - /* Adds any new view created by drill down action */ - if (updateChildrenLength > currentViewsLength) { - for ( var i = currentViewsLength, len = updateChildrenLength; i < len; i++) { - this.delayedAddChild (bobj.crv.createWidget (update.children[i])); - } - } - /* Removes views that are have been removed from viewstate */ - else if (updateChildrenLength < currentViewsLength) { - for ( var i = currentViewsLength -1, len = updateChildrenLength; i >= len; i--) { - this._removeView (false, i); /* removes non-existing views */ - } - } - - this.initTabIdx = update.args.initTabIdx; - this.select (this.initTabIdx); - }, - - /** - * @return index of the tab specified by viewstateid - */ - findTabNumber : function(viewStateId) { - var views = this._views; - for ( var i = 0, len = views.length; i < len; i++) - if (views[i].viewStateId == viewStateId) - return i; - - return -1; - }, - - /** - * Adds view to its list of views. Since this method can be called after initialization time, its HTML - * is first added to report album, and then widget is intialized. - */ - delayedAddChild : function(view) { - this._views.push (view); - var tab = this.tabs.add(view.label, view.tooltip); - var tabHTML = this.getTabHTML (this._views.length - 1); - append (getLayer (this.id + "_container"), tabHTML); - view.init (); - }, - - addChild : function(view) { - if (view) { - this._views.push (view); - this.add (view.label, view.tooltip); - } - }, - - getHTML : function() { - var html = this.beginHTML (); - var children = this._views; - for ( var i = 0, len = children.length; i < len; ++i) { - html += this.getTabHTML (i); - } - - html += this.endHTML (); - return html; - }, - - - /** - * @param index, - * index of tab to create HTML for - * @return creates HTML for tab specified by index - */ - getTabHTML : function(index) { - var tab = this.tabs.items[index]; - var view = this._views[index]; - html = ''; - - if (tab && view) { - html += this.beginTabHTML (tab); - html += view.getHTML (); - html += this.endTabHTML (); - } - - return html; - }, - - /** - * Resize the outer dimensions of the ReportAlbum. The standard resize method, inherited from TabbedZoneWidget, resizes the container. We - * can't override it without breaking things. - */ - resizeOuter : function(w, h) { - var tabHeight = 33; - var frameWidth = 10; - - if(bobj.isNumber (h)) { - if(this.displayDrilldownTab) - h -= tabHeight; - h = Math.max(h, 0); - } - - if(bobj.isNumber (w)) { - if(!this._hideFrame) - w -= frameWidth; - - w = Math.max(w, 0); - } - - - this.resize (w, h); - this.tabs.resize (w); - - var selectedView = this.getSelectedView (); - if (selectedView) { - selectedView.resize (); /* Notify ReportView of resize */ - } - }, - - - - /** - * @return Returns a suggested size for the widget as an object with width and height integer properties that specify the dimensions in - * pixels. - */ - getBestFitSize : function() { - var w = this._hideFrame ? 0 : 10; - var h = this.displayDrilldownTab ? 33 : 0; - var selectedView = this.getSelectedView (); - if (selectedView) { - var viewSize = selectedView.getBestFitSize (); - w += viewSize.width; - h += viewSize.height; - } - - return { - width : w, - height : h - }; - }, - - /** - * Overrides parent. Opens a tab with a positioned div. The positioning prevents - * the ReportView from disappearing in IE. - */ - beginTabHTML : function(tab) { - return bobj.html.openTag ('div', { - id : tab.zoneId, - style : { - display : 'none', - width : this.w + 'px', - height : this.h + 'px', - position : 'relative' - } - }); - }, - - /** - * @return Returns the select ReportView or null if no view is selected - */ - getSelectedView : function() { - return this._views[this.oldIndex]; - }, - - - /** - * Overrides parent. Selects a report view to display. - * - * @param index [int] Index of the report view - */ - select : function(index) { - var partial = MochiKit.Base.partial; - - if (index >= 0 && index < this._views.length && index != this.oldIndex) { - - /* Disposes currently selected view */ - var selectedView = this.getSelectedView (); - if (selectedView) { - selectedView.dispose (); - } - - /* Creates new signals for newly selected view */ - var selectedView = this._views[index]; - - /* Does the dirty DOM manipulation to actually change the view */ - this.selectOld (index); - - /* - * Notifies parameter controller that view has changes so it can enable/disable panel based on view's type - */ - MochiKit.Signal.signal (this, "viewChanged"); - } - }, - - /** - * Removes view specified by index from view list - * - * @param autoSelectNext - * [boolean] indicates whether another view should be auto selected after view specified by index is removed - * @param index - * [Number} index of view that would be removed - */ - _removeView : function(autoSelectNext, index) { - var removedView = this._views[index]; - var removedTab = this.tabs.items[index]; - - autoSelectNext = (removedTab != null && removedTab.isSelected && autoSelectNext); - - if (removedView) { - removedView.dispose (); - bobj.deleteWidget (removedView); - MochiKit.Signal.signal (this, 'removeView', removedView); - } - - if (removedTab.isSelected) { - /* oldIndex (index of currently selected view) needs to be reset so when - response for the next selected view arrives - viewer think that view has changed */ - this.oldIndex = -1; - } - - arrayRemove (this, '_views', index); - this.tabs.remove (index, autoSelectNext); - bobj.deleteWidget (removedTab); - }, - - _onSelectTab : function(index) { - if(index != this.oldIndex) - MochiKit.Signal.signal (this, 'selectView', this._views[index]); - } -}; - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportPage.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportPage.js deleted file mode 100644 index e5b0f46e1..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportPage.js +++ /dev/null @@ -1,280 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * ReportPage constructor - * - * @param kwArgs.id [String] DOM node id - * @param kwArgs.bgColor [String] Background color of the page - * @param kwArgs.width [Int] Page content's width in pixels - * @param kwArgs.height [Int] Page content's height in pixels - * @param kwArgs.topMargin [Int] Top margin of report page in pixels - * @param kwArgs.rightMargin [Int] Right margin of report page in pixels - * @param kwArgs.bottomMargin [Int] Bottom margin of report page in pixels - * @param kwArgs.leftMargin [Int] Left margin of report page in pixels - * @param kwArgs.extraCssFileUrl [String] The path of an extra CSS file used in report page - */ - -bobj.crv.newReportPage = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - bgColor: '#FFFFFF', - width: 720, - height: 984, - extraCssFileUrl: "", - documentView: bobj.crv.ReportPage.DocumentView.PRINT_LAYOUT - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'ReportPage'; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - // Update instance with member functions - o.initOld = o.init; - o.resizeOld = o.resize; - MochiKit.Base.update(o, bobj.crv.ReportPage); - - return o; -}; - -bobj.crv.ReportPage = { - DocumentView : { - WEB_LAYOUT : 'weblayout', - PRINT_LAYOUT : 'printlayout' - }, - - /** - * Disposes report page by removing its layer and stylesheet from DOM - */ - dispose : function() { - MochiKit.DOM.removeElement (this.layer); - }, - - /** - * DO NOT REMOVE. USED BY WEB ELEMENTS - */ - displayScrollBars : function (isDisplay) { - this.layer.style.overflow = isDisplay ? "auto" : "hidden"; - }, - - /** - * DO NOT REMOVE. USED BY WEB ELEMENTS - */ - isDisplayScrollBars : function () { - this.layer.style.overflow == "auto"; - }, - - - update : function(update) { - if (update && update.cons == "bobj.crv.newReportPage") { - this.updateSize ( { - width : update.args.width, - height : update.args.height - }); - - this.layer.scrollLeft = 0; - this.layer.scrollTop = 0; - this.updateHTML (update.args.content, false); - } - }, - - scrollToHighlighted : function (scrollWindow) { - if(this._iframe) { - var iframeDoc = _ie ? this._iframe.contentWindow.document : this._iframe.contentDocument; - var e = iframeDoc.getElementById("CrystalHighLighted"); - if(e) { - var ePosition = MochiKit.Style.getElementPosition (e, null, iframeDoc); - if(scrollWindow) { - var reportPagePos = MochiKit.Style.getElementPosition (this.layer); - window.scrollTo (reportPagePos.x + ePosition.x , reportPagePos.y + ePosition.y); - } - else { - this.layer.scrollLeft = ePosition.x; - this.layer.scrollTop = ePosition.y; - } - } - } - }, - - updateHTML : function(content, useAnimation) { - if (content) { - if(!this._iframe) { - this._iframe = MochiKit.DOM.createDOM('IFRAME', {id : this.id + '_iframe', width : '100%', height : '100%', frameBorder : '0', margin : '0'}) - this._pageNode.appendChild(this._iframe); - } - - if(useAnimation) - this._iframe.style.display = "none"; - - var iframeDoc = _ie ? this._iframe.contentWindow.document : this._iframe.contentDocument; - iframeDoc.open(); - iframeDoc.write(this.getIFrameHTML (content)); - iframeDoc.close(); - - if(useAnimation) - bobj.displayElementWithAnimation(this._iframe); - } - }, - - getIFrameHTML : function (content) { - var extraCssFileLink = ""; - if (this.extraCssFileUrl != "") { - extraCssFileLink = "\r\n"; - } - - return "" + - "\r\n" + - "\r\n" + - extraCssFileLink + - "\r\n" + - "\r\n" + - "\r\n" + - content + - "\r\n" + - ""; - }, - - /* - * Updates size of report page based on update object - * @param update [{width,height,marginLeft,marginRight,marginTop}] dimension and margins - * of report p - */ - updateSize : function(sizeObject) { - - if (sizeObject) { - this.width = (sizeObject.width != undefined) ? sizeObject.width : this.width; - this.height = (sizeObject.height != undefined) ? sizeObject.height : this.height; - } - - if (this._pageNode) { - var isBBM = bobj.isBorderBoxModel (); - this._pageNode.style.width = (isBBM ? this.width + 2: this.width) + 'px'; - this._pageNode.style.height = (isBBM ? this.height + 2: this.height) + 'px'; - } - - if (this._shadowNode) { - this._shadowNode.style.width = (isBBM ? this.width + 2: this.width) + 'px'; - this._shadowNode.style.height = (isBBM ? this.height + 2: this.height) + 'px'; - } - }, - - getHTML : function() { - var h = bobj.html; - var isBBM = bobj.isBorderBoxModel (); - - var layerStyle = { - width : '100%', - height : '100%', - overflow : 'auto', - position : 'absolute' - }; - - var pageStyle = { - position : 'relative', - width : (isBBM ? this.width + 2: this.width) + 'px', - height : (isBBM ? this.height + 2: this.height) + 'px', - 'z-index' : 1, - 'border-width' : '1px', - 'border-style' : 'solid', - 'background-color' : this.bgColor, - overflow : 'hidden', - 'text-align' : 'left' - }; - - var shadowStyle = { - position : 'absolute', - 'z-index' : 0, - display : 'none', - width : (isBBM ? this.width + 2: this.width) + 'px', - height : (isBBM ? this.height + 2: this.height) + 'px', - top : '0px', - left : '0px' - }; - - - var shadowHTML = ''; - if (this.documentView.toLowerCase () == bobj.crv.ReportPage.DocumentView.PRINT_LAYOUT) { - layerStyle['background-color'] = '#8E8E8E'; - pageStyle['border-color'] = '#000000'; - shadowStyle['background-color'] = '#737373'; - shadowHTML = h.DIV ( { - id : this.id + '_shadow', - 'class' : 'menuShadow', - style : shadowStyle - }) - /* page should appear in the center for print layouts */ - layerStyle['text-align'] = 'center'; /* For page centering in IE quirks mode */ - pageStyle['margin'] = '0 auto'; /* center the page horizontally - CSS2 */ - pageStyle['top'] = "6px"; - } else { - /* Web Layout*/ - layerStyle['background-color'] = '#FFFFFF'; - pageStyle['border-color'] = '#FFFFFF'; - /* page should appear in left for web layouts */ - pageStyle['margin'] = '0'; - } - - var html = h.DIV ( { - id : this.id, - style : layerStyle, - 'class' : 'insetBorder' - }, h.DIV ( { - id : this.id + '_page', - style : pageStyle - }), shadowHTML); - - return html; - }, - - init : function() { - this._pageNode = getLayer (this.id + '_page'); - this._shadowNode = getLayer (this.id + '_shadow'); - - this.initOld (); - - this.updateHTML (this.content, true); - }, - - updateShadowLocation : function () { - var updateFunc = function () { - if(this._shadowNode && this._pageNode) { - this._shadowNode.style.display = "none"; //Must hide dropshadow as it can cause scrollbars to appear - var pageNodPos = {x : this._pageNode.offsetLeft, y : this._pageNode.offsetTop}; - this._shadowNode.style.display = "block"; - this._shadowNode.style.top = pageNodPos.y + (bobj.isBorderBoxModel() ? 4 : 6) + "px"; - this._shadowNode.style.left = pageNodPos.x + (bobj.isBorderBoxModel() ? 4 : 6) + "px"; - } - } - - setTimeout(bobj.bindFunctionToObject(updateFunc,this), 0); // Must be executed after viewer has finished doLayout - }, - - /** - * Resizes the outer dimensions of the widget. - */ - resize : function (w, h) { - bobj.setOuterSize(this.layer, w, h); - if(_moz) - this.css.clip = bobj.getRect(0,w,h,0); - - this.updateShadowLocation (); - }, - - /** - * @return Returns an object with width and height properties such that there - * would be no scroll bars around the page if they were applied to the widget. - */ - getBestFitSize : function() { - var page = this._pageNode; - return { - width: page.offsetWidth + 30, - height: page.offsetHeight + 30 - }; - }, - - hideFrame : function() { - this.css.borderStyle = 'none'; - this._pageNode.style.border = ''; - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportView.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportView.js deleted file mode 100644 index 815c99d78..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ReportView.js +++ /dev/null @@ -1,156 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * ReportView Constructor - */ -bobj.crv.newReportView = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - viewStateId: null, - isMainReport: false - }, kwArgs); - var o = newWidget(kwArgs.id); - - bobj.fillIn(o, kwArgs); - o.widgetType = 'ReportView'; - - o.reportPage = null; - - o._lastPanelWidth = null; - - // Attach member functions - o.initOld = o.init; - o.isMainReportFlag = o.isMainReport; - MochiKit.Base.update(o, bobj.crv.ReportView); - - return o; -}; - -bobj.crv.ReportView = { - init : function() { - this.initOld (); - if (this.reportPage) - this.reportPage.init (); - }, - - addChild : function(widget) { - if (widget.widgetType == 'ReportPage') - this.reportPage = widget; - }, - - /** - * This method should be called after viewer has initialized. Adds a child to view by first appending its html - * to view and then intializing it. - */ - delayedAddChild : function(widget) { - this.addChild (widget); - append2 (this.layer, widget.getHTML ()); - widget.init (); - - }, - - scrollToHighlighted : function (scrollWindow) { - if(this.reportPage) { - this.reportPage.scrollToHighlighted(scrollWindow); - } - }, - - update : function(update) { - if (update && update.cons == "bobj.crv.newReportView") { - if(update.args) - this.viewStateId = update.args.viewStateId; - - for ( var childVar in update.children) { - var child = update.children[childVar]; - if (child && child.cons == "bobj.crv.newReportPage") { - if (!this.reportPage) { - /* adds reportPage if not existing */ - this.delayedAddChild (bobj.crv.createWidget (child)); - } else { - /* updates reportpage */ - this.reportPage.update (child); - } - - break; /* There is only one child */ - } - } - } - }, - - getHTML : function() { - var h = bobj.html; - - var layerStyle = { - width : '100%', - height : '100%', - overflow : 'hidden', - position : 'relative' - }; - - var html = h.DIV ( { - id : this.id, - style : layerStyle - }, this.reportPage ? this.reportPage.getHTML () : ''); - - return html; - }, - - _doLayout : function() { - if (this.reportPage) - this.reportPage.resize (this.getWidth (), this.getHeight ()); - }, - - isMainReport : function() { - return this.isMainReportFlag; - }, - - /** - * ReportView will always fill its container but it should be told when to - * resize so that the layout of its contents will be updated. - */ - resize : function() { - this._doLayout (); - }, - - dispose : function() { - if (this.reportPage) { - this.reportPage.dispose (); - bobj.deleteWidget (this.reportPage); - delete this.reportPage; - } - - bobj.removeAllChildElements (this.layer); - }, - - /** - * @return Returns a suggested size for the widget as an object with width and height integer properties that specify the dimensions in - * pixels. - */ - getBestFitSize : function() { - var w = 0; - var h = 0; - - var pageSize = this.reportPage ? this.reportPage.getBestFitSize () : null; - if (pageSize) { - w += pageSize.width; - h += pageSize.height; - } - - return { - width : w, - height : h - }; - }, - - /** - * @return True if the view has report content. False if the view is empty. - */ - hasContent : function() { - return this.reportPage != null; - }, - - hideFrame : function() { - if (this.reportPage) - this.reportPage.hideFrame(); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Separator.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Separator.js deleted file mode 100644 index f22dddecb..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Separator.js +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof(bobj.crv.Separator) == 'undefined') { - bobj.crv.Separator = {}; -} - -/** - * Separator Constructor. Simple horizontal separator. - * - */ -bobj.crv.newSeparator = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({ - id: bobj.uniqueId(), - marginLeft: 4, - marginRight: 4, - marginTop: 0, - marginBottom: 2 - }, kwArgs); - var o = newWidget(kwArgs.id); - - bobj.fillIn(o, kwArgs); - o.widgetType = 'Separator'; - - // Attach member functions - UPDATE(o, bobj.crv.Separator); - - return o; -}; - -bobj.crv.Separator.getHTML = function() { - var HTML = bobj.html; - var htmlStr = ''; - if (bobj.isBorderBoxModel()) { - htmlStr = HTML.IMG({ - id: this.id, - src: bobj.skinUri('sep.gif'), - style: { - 'height': 2 + 'px', - 'width':'100%', - 'margin-left': this.marginLeft + 'px', - 'margin-right': this.marginRight + 'px', - 'margin-top': this.marginTop + 'px', - 'margin-bottom': this.marginBottom + 'px' - }}); - } - else { - htmlStr = HTML.DIV({ - id : this.id, - style: { - 'height': 2 + 'px', - 'margin-left': this.marginLeft + 'px', - 'margin-right': this.marginRight + 'px', - 'margin-top': this.marginTop + 'px', - 'margin-bottom': this.marginBottom + 'px', - 'background-image': 'url(' + bobj.skinUri('sep.gif') + ')', - 'background-repeat': 'repeat-x', - 'overflow': 'hidden' - - - }}); - } - return htmlStr + bobj.crv.getInitHTML(this.widx); -}; - -/** - * @return Returns the outer height of the widget, including margins - */ -bobj.crv.Separator.getHeight = function() { - return this.layer.offsetHeight + this.marginTop + this.marginBottom; -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/SharedWidgetHolder.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/SharedWidgetHolder.js deleted file mode 100644 index 92e2d4fc5..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/SharedWidgetHolder.js +++ /dev/null @@ -1,183 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof(bobj.crv.SharedWidgetHolder) == 'undefined') { - bobj.crv.SharedWidgetHolder = {}; - bobj.crv.SharedWidgetHolder._registry = {}; -} - -/** - * Constructor. SharedWidgetHolder is a placeholder for a widget. - * SharedWidgetHolder instances belong to groups, in which one managed - * widget will be shown in one placeholder at a time. When show(true) is called - * for any member of the group, the managed widget will be displayed in that - * member. - * - * @param id [String] DHTML id - * @param group [String] Group the new instance will belong to - * @param width [int | String] Width of the placeholder - * @param height [int | String] Height of the placeholder - * @param resizeWidget [bool] Resize to the placeholder's dimensions - */ -bobj.crv.newSharedWidgetHolder = function(kwArgs) { - var mb = MochiKit.Base; - var ms = MochiKit.Signal; - - kwArgs = mb.update({ - id: bobj.uniqueId(), - group: 'SharedWidgetHolder', - width: null, - height: null, - resizeWidget: true - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'SharedWidgetHolder'; - bobj.fillIn(o, kwArgs); - - o._setVisible = o.show; - o._resizeHolder = o.resize; - o._initHolder = o.init; - mb.update(o, bobj.crv.SharedWidgetHolder); - - o._register(); - - return o; -}; - -bobj.crv.SharedWidgetHolder.init = function() { - this._initHolder(); - var regInfo = this._regInfo; - if (regInfo.managedWidget && this === regInfo.visibleHolder) { - regInfo.managedWidget.init(); - this.resize(); - } -}; - -bobj.crv.SharedWidgetHolder.getHTML = function() { - var ISNUMBER = bobj.isNumber; - var ISSTRING = bobj.isString; - - var vis = this.isHoldingWidget() ? 'visible' : 'hidden'; - var innerHTML = this.isHoldingWidget() ? this._regInfo.managedWidget.getHTML() : ''; - - var style = {visibility: vis}; - - var width = this.width; - if (ISNUMBER(width)) { - width = width + 'px'; - } - if (ISSTRING(width)) { - style.width = width; - } - - var height = this.height; - if (ISNUMBER(height)) { - height = height + 'px'; - } - if (ISSTRING(height)) { - style.height = height; - } - - return bobj.html.DIV({id: this.id, style: style}, innerHTML); -}; - -/** - * Private. Register this instance in a group. - */ -bobj.crv.SharedWidgetHolder._register = function() { - var registry = bobj.crv.SharedWidgetHolder._registry; - var holderInfo = registry[this.group]; - - if (!holderInfo) { - holderInfo = { - managedWidget: null, - visibleHolder: this - }; - registry[this.group] = holderInfo; - } - - this._regInfo = holderInfo; -}; - -/** - * @return [bool] True if and only if this instance is currently holding a - * non-null managed widget. Only one member of a group can return - * true at any given time. - */ -bobj.crv.SharedWidgetHolder.isHoldingWidget = function() { - var regInfo = this._regInfo; - return ((regInfo.visibleHolder === this) && regInfo.managedWidget); -}; - -/** - * @return [Widget] The widget that is managed by the holder group that this - * instance belongs to. - */ -bobj.crv.SharedWidgetHolder.getManagedWidget = function() { - return this._regInfo.managedWidget; -}; - -/** - * Set the widget that is managed by the group that this isntance belongs to. - * The widget will be displayed in the currently visible member of the group. - * - * @param widget [Widget] The widget that should be managed. - */ -bobj.crv.SharedWidgetHolder.setManagedWidget = function(widget) { - var regInfo = this._regInfo; - var oldWidget = regInfo.managedWidget; - regInfo.managedWidget = widget; - - if (oldWidget && oldWidget.layer) { - MochiKit.DOM.removeElement(oldWidget.layer); - } - - if (!regInfo.visibleHolder) { - regInfo.visibleHolder = this; - } - - var holder = regInfo.visibleHolder; - - if (holder.layer && widget && widget.layer) { - holder.layer.appendChild(widget.layer); - holder.resize(); - } -}; - -/** - * Alias for setManagedWidget. Allows instantiation using bobj.crv.createWidget(); - */ -bobj.crv.SharedWidgetHolder.addChild = bobj.crv.SharedWidgetHolder.setManagedWidget; - -/** - * Show or hide the managed widget in this holder instance. - * - * @param show [bool] If true, the managed widget will be displayed in this - * instance. If false and this holder is currently showing - * the managed widget, the widget will be hidden. - */ -bobj.crv.SharedWidgetHolder.show = function(show) { - var regInfo = this._regInfo; - if (show && (regInfo.visibleHolder !== this) && regInfo.managedWidget) { - this.layer.appendChild(regInfo.managedWidget.layer); - regInfo.visibleHolder._setVisible(false); - regInfo.visibleHolder = this; - this.resize(); - } - this._setVisible(show); -}; - -/** - * Resize the holder instance. If resizeWidget property is true, the managed - * widget will be resized to the dimensions of the placeholder. - * - * @param w [width, optional] Width in pixels - * @param h [height, optional] Height in pixels - */ -bobj.crv.SharedWidgetHolder.resize = function(w, h) { - this._resizeHolder(w, h); - - if (this.resizeWidget && this.isHoldingWidget()) { - this._regInfo.managedWidget.resize(this.getWidth(), this.getHeight()); - } -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/SignalDisposer.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/SignalDisposer.js deleted file mode 100644 index 1ee5f8ad4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/SignalDisposer.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Disposes signals synchronously and asynchronously. - */ -if (typeof(bobj.crv.SignalDisposer) == 'undefined') { - bobj.crv.SignalDisposer = new function() { - var signals = []; //private variable - var timerID = null; //private variable - var CLEAN_SIGNALS_PER_TASK = 20; - var disconnect = MochiKit.Signal.disconnect; - - this.dispose = function(signal, sync) { - if(signal != null) { - if(sync) { - disconnect(signal); - } - else { - signals.push (signal); - if (timerID == null) - timerID = setInterval (bobj.bindFunctionToObject (cleanTask, this), 100); - } - } - }; - - cleanTask = function() { - var count = CLEAN_SIGNALS_PER_TASK; - while (signals.length > 0 && count > 0) { - disconnect (signals.pop ()); - count--; - } - - if (signals.length == 0 && timerID != null) { - clearInterval (timerID); - timerID = null; - } - } - }; -} - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StackedPanel.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StackedPanel.js deleted file mode 100644 index 0167fa0dc..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StackedPanel.js +++ /dev/null @@ -1,160 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof(bobj.crv.StackedPanel) == 'undefined') { - bobj.crv.StackedPanel = {}; -} - -/** - * Constructor. - * - * @param id [String] DHTML id - * @param width [int] Width of the panel in pixels - * @param height [int] Height of the panel in pixels - */ -bobj.crv.newStackedPanel = function(kwArgs) { - var mb = MochiKit.Base; - var UPDATE = mb.update; - var BIND = mb.bind; - - kwArgs = UPDATE({ - id: bobj.uniqueId(), - width: null, - height: null - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'StackedPanel'; - bobj.fillIn(o, kwArgs); - - o._tabs = []; - - o._initWidget = o.init; - o._resizeWidget = o.resize; - UPDATE(o, bobj.crv.StackedPanel); - - - return o; -}; - -bobj.crv.StackedPanel = { - init : function() { - this._initWidget (); - - var tabs = this._tabs; - /* Tabs that were added after getHTML must be written now */ - var index = this._numTabsWritten; - while (index < tabs.length) { - append (this.layer, tabs[index].getHTML (), document); - index++; - } - - for ( var i = 0, len = tabs.length; i < len; ++i) { - tabs[i].init (); - } - }, - - setTabDisabled : function(dis) { - for ( var i = 0, len = this._tabs.length; i < len; i++) { - this._tabs[i].setTabDisabled (dis); - } - }, - - getHTML : function() { - var DIV = bobj.html.DIV; - - var layerStyle = {}; - - if (this.height) { - layerStyle.height = bobj.unitValue (this.height); - } - - if (this.width) { - layerStyle.width = bobj.unitValue (this.width); - } - - return DIV ( { - id : this.id, - style : layerStyle, - 'class' : 'stackedPanel', - tabIndex : "-1" - }, this._getTabsHTML ()); - }, - - _getTabsHTML : function() { - var tabsHTML = ''; - var tabs = this._tabs; - var tabsLen = tabs.length; - for ( var i = 0; i < tabsLen; ++i) { - tabsHTML += tabs[i].getHTML (); - } - this._numTabsWritten = tabsLen; - return tabsHTML; - }, - - /** - * Add a tab to the panel. Must be called before getHTML is called. - * - * @param tab - * [StackedTab] - */ - addTab : function(tab) { - if (tab) { - this._tabs.push (tab); - if (this.layer) { - append (this.layer, tab.getHTML ()); - tab.init (); - } - - if (this.layer) - tab.resize(this.layer.clientWidth); - - MochiKit.Signal.connect(tab, "StackedTabResized", this, '_onStackedTabResize'); - } - }, - - getNumTabs : function() { - return this._tabs.length; - }, - - getTab : function(index) { - return this._tabs[index]; - }, - - removeTab : function(index) { - if (index >= 0 && index < this._tabs.length) { - var tab = this._tabs[index]; - this._tabs.splice (index, 1); - delete _widgets[this._tabs.widx]; - if (tab.layer) { - tab.layer.parentNode.removeChild (tab.layer); - } - } - }, - - _onStackedTabResize: function () { - this.resize (this.getWidth()); - }, - - resize : function(w, h) { - /* Exclude margins for safari as it miscalculates left/top margins */ - var excludeMargins = !_saf; - bobj.setOuterSize(this.layer, w, h, excludeMargins); - var tabs = this._tabs; - var tabsLen = tabs.length; - if (tabsLen) { - /* Ensure that the vertical scrollbar never covers the content*/ - var tabWidth = this.layer.clientWidth; - - /* IE changes the value of clientWidth after resizing the first child... */ - tabs[0].resize(tabWidth); - if (tabWidth != this.layer.clientWidth) { - tabWidth = this.layer.clientWidth; - tabs[0].resize(tabWidth); - } - - for (var i = 1; i < tabsLen; ++i) { - tabs[i].resize(tabWidth); - } - } - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StackedTab.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StackedTab.js deleted file mode 100644 index 2d9d4d3a9..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StackedTab.js +++ /dev/null @@ -1,230 +0,0 @@ - -/* -================================================================================ -StackedTab -================================================================================ -*/ -bobj.crv.newStackedTab = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - - kwArgs = UPDATE({ - id: bobj.uniqueId(), - label: '', - width: 300, - height: null, // null height means grow as big as necessary - openAdvCB: null, - name : '', - isDataFetching: false - }, kwArgs); - - var o = newWidget(kwArgs.id); - o.widgetType = 'StackedTab'; - bobj.fillIn(o, kwArgs); - - o._content = null; - - if(o.openAdvCB) { - o._advanceButton = newIconWidget( - o.id + '_advBtn', - bobj.crv.allInOne.uri, - o.openAdvCB, - null, //text - L_bobj_crv_paramsOpenAdvance.replace("%1", o.name),//tooltip, - 10, 10, 3, bobj.crv.allInOne.openParameterArrowDy + (_ie ? 2 : 3)); //width, height, dx, dy, disDx, disDy, cancelEventPropagation - bobj.crv.setAllClasses(o._advanceButton, 'arrow_button'); - o._advanceButton.margin = 0; - } - - o._initWidget = o.init; - o._resizeWidget = o.resize; - UPDATE(o, bobj.crv.StackedTab); - - return o; -}; - -bobj.crv.StackedTab = { - setTabDisabled : function(dis) { - if (this._content) - this._content.setTabDisabled (dis); - - if (this._advanceButton && this._advanceButton.layer) - bobj.disableTabbingKey (this._advanceButton.layer, dis); - - if (this._textCtn) - bobj.disableTabbingKey (this._textCtn, dis); - - if(this._dataFetchLayer) - bobj.disableTabbingKey (this._dataFetchLayer, dis); - }, - - init : function() { - var connect = MochiKit.Signal.connect; - var signal = MochiKit.Signal.signal; - var partial = MochiKit.Base.partial; - - this._initWidget (); - - if (this._content) { - this._content.init (); - } - - if (this._advanceButton) { - this._advanceButton.init (); - this._onAdvanceButtonClickOld = MochiKit.Base.bind(this._advanceButton.layer.onclick, this._advanceButton.layer); - this._advanceButton.layer.onclick = MochiKit.Base.bind(this.advButtonOnClick, this); - this._advanceButton.css.width = "14px"; - } - - this._dataFetchLayer = getLayer(this.id + "_df"); - this._labelCtn = getLayer (this.id + '_labelCtn'); - this._textCtn = getLayer (this.id + '_textCtn'); - this._contentCtn = getLayer (this.id + '_contentCtn'); - - if (this._advanceButton) { - var advButtonLayer = this._advanceButton.layer; - var bind = bobj.bindFunctionToObject; - connect (this.layer, 'onclick', bind(IconWidget_upCB, advButtonLayer)); - connect (this.layer, 'onmouseover', bind(IconWidget_realOverCB, advButtonLayer)); - connect (this.layer, 'onmouseout', bind(IconWidget_realOutCB, advButtonLayer)); - connect (this.layer, 'onmousedown', bind(IconWidget_downCB, advButtonLayer)); - - } - - connect(this._content, 'ParameterUIResized', partial (signal, this, "StackedTabResized")); - }, - - getHTML : function() { - var h = bobj.html; - var DIV = h.DIV; - var IMG = h.IMG; - - var stackedTabAtt = { - 'class' : 'stackedTab', - cellpadding : "0", - id : this.id, - style : { - cursor : this._advanceButton ? _hand : 'default' - } - }; - - var labelCtnAtt = { - id: this.id + '_labelCtn', - cellpadding : "0", - 'class': 'crvnoselect stackedTabTitle' - }; - - var contentHTML = this._content ? this._content.getHTML() : ''; - var advButtonHTML = this._advanceButton ? h.TD ({width : '17px'}, this._advanceButton.getHTML()) : ''; /* 14 for arrow height + 3px right margin */ - var dataFetchHTML = ""; - - if (this.isDataFetching) { - var URL_TAG = "url(%1);" - dataFetchHTML = h.TD ({width : '20px'}, IMG ( { - src : _skin + '../transp.gif', - title : L_bobj_crv_ParamsDataTip, - tabindex: 0, - id: this.id + "_df", - style : { - width : "16px", - height : "16px", - "background-image" : URL_TAG.replace("%1", bobj.crv.allInOne.uri), - "background-position" : "0px " + (-bobj.crv.allInOne.paramDataFetchingDy) + "px", - "margin-right" : '4px', - 'vertical-align' : 'middle' - } - })); - } - - var html = DIV (stackedTabAtt, DIV (labelCtnAtt, h.TABLE ( { - cellpadding : "0", - width : '100%', - height : '20px', - style : { - 'table-layout' : 'fixed' - } - }, h.TD ({style : {"vertical-align" : "top", "overflow" : "hidden"}}, DIV ( { - 'class' :'stackedTabText', - id :this.id + '_textCtn', - title :this.label, - 'tabIndex' :0, - style : { - 'font-weight' : 'bold', - 'color' : '#4F5C72' - } - }, convStr (this.label)) - ), dataFetchHTML, advButtonHTML) - ), DIV ( { - id :this.id + '_contentCtn', - 'class' :'stackedTabContentCtn' - }, contentHTML)); - - return html; - }, - - setDirty : function(isDirty) { - if(this._textCtn) { - this._textCtn.style.fontStyle = isDirty ? "italic" : ""; - this._textCtn.title = isDirty ? this.label + " " + L_bobj_crv_ParamsDirtyTip : this.label; - } - - if(this._labelCtn) { - var titleClassName = isDirty ? "stackedTabTitleDirty" : "stackedTabTitle"; - - // IE 7 uses "className" - this._labelCtn.setAttribute("className", titleClassName); - - // IE 8, FireFox, and Safari use "class" - this._labelCtn.setAttribute("class", titleClassName); - } - }, - - resize : function(w) { - w = w - 4; // TODO exclude margins properly - if(this._labelCtn) { - // Exclude margins for safari as it miscalculates left/top margins - var excludeMargins = !_saf; - bobj.setOuterSize(this._labelCtn, w , null, excludeMargins); - } - if (this._content) { - this._content.resize(w -2); - } - bobj.setOuterSize(this.layer, w); - }, - - /** - * Set the widget that is displayed below the tab. Must be called before getHTML. - * - * @param widget [Widget] Widget that appears below the tab when the tab is expanded - */ - setContent : function(widget) { - this._content = widget; - }, - - /** - * Get the widget that is displayed below the tab. - * - * @return [Widget] Widget that appears below the tab - */ - getContent : function() { - return this._content; - }, - - /** - * Focus the advanced button if available - */ - focusAdvButton : function() { - if (this._advanceButton && this._advanceButton.focus) - this._advanceButton.focus(); - }, - - /** - * Override default onclick for the advanced button to cancel propagating the event. - */ - advButtonOnClick : function(e) { - if (this._onAdvanceButtonClickOld) - { - this._onAdvanceButtonClickOld(e); - eventCancelBubble(e); - } - } -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StateManager.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StateManager.js deleted file mode 100644 index b9b354909..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/StateManager.js +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * Constructor. StateManager holds state for multiple viewers. - */ -bobj.crv.StateManager = function() { - this._state = {}; -}; - -bobj.crv.StateManager.prototype = { - /** - * Set the state object for a report view - * - * @param viewerName [String] - * @param stateName [String] The name of the report view - * @param viewState [Object] The state associated with the report view - */ - setViewState: function(viewerName, stateName, viewState) { - var state = this._state; - - if (!state[viewerName]) { - state[viewerName] = {}; - } - - state[viewerName][stateName] = viewState; - }, - - /** - * Get the state object for a report view - * - * @param viewerName [String] - * @param stateName [String] The name of the report view - * - * @return [Object] Returns the state object for the report view or null - * if no object is associated with (viewerName, stateName) - */ - getViewState: function(viewerName, stateName) { - var state = this._state; - - if (!state[viewerName]) { - return null; - } - return state[viewerName][stateName]; - }, - - /** - * Set the compound state object for a viewer components. This object - * should contain a state object for every report view displayed by the - * viewer. - * - * @param viewerName [String] - * @param state [Object] All report view states for the viewer - */ - setComponentState: function(viewerName, state) { - this._state[viewerName] = state; - }, - - /** - * Get the compound state object for a viewer component. This object - * should contain a state object for every report view displayed by the - * viewer. - * - * @param viewerName [String] - * - * @return [Object] Returns all report view states for the viewer - */ - getComponentState: function(viewerName) { - return this._state[viewerName]; - }, - - /** - * Get the state for all viewer components on the page. - * - * @return [Object] Returns the state of all viewers on the page, mapped - * by the id of the viewer widgets. - */ - getCompositeState: function() { - return this._state; - } -}; - -// Create a single StateManager for all viewers in the page to share -if (typeof bobj.crv.viewerState == 'undefined') { - bobj.crv.stateManager = new bobj.crv.StateManager(); -} - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Statusbar.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Statusbar.js deleted file mode 100644 index 4a9985838..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Statusbar.js +++ /dev/null @@ -1,257 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * Statusbar widget constructor ({id: String}) - */ -bobj.crv.newStatusbar = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({ - id: bobj.uniqueId(), - visualStyle : { - className : null, - backgroundColor : null, - borderWidth : null, - borderStyle : null, - borderColor : null, - fontFamily : null, - fontWeight : null, - textDecoration : null, - color : null, - width : null, - height : null, - fontStyle : null, - fontSize : null - } - }, kwArgs); - - var o = newPaletteContainerWidget(kwArgs.id); - - o.margin = 0; - bobj.fillIn(o, kwArgs); - o._rightZoneWgts = []; - o.widgetType = 'Statusbar'; - - // Attach member functions (since we can't use prototypes) - o.initOld = o.init; - UPDATE(o, bobj.crv.Statusbar); - - o.palette = newPaletteWidget(o.id + "_palette"); - o.palette.isLeftTableFixed = true; - o.add(o.palette); - - return o; -}; - -bobj.crv.Statusbar = { - /** - * Overrides parent - */ - init : function() { - this.initOld (); - bobj.setVisualStyle (this.layer, this.visualStyle); - this.palette.init (); - }, - - /** - * Overrides parent - */ - beginHTML : function() { - return bobj.html.openTag ('div', { - id : this.id, - 'class' : 'dialogzone', - style : { - width : '100%', - overflow : 'hidden', - margin : this.margin + 'px', - padding : '2px 0px', - position : 'absolute' - } - }); - }, - - /** - * Overrides parent - */ - getHTML : function() { - this._addRightZone (); - return (this.beginHTML () + this.palette.getHTML () + this.endHTML ()); - }, - - /** - * Private. Adds right-aligned widgets to the right zone of the palette - */ - _addRightZone : function() { - this.palette.beginRightZone (); - - var w = null; - while (w = this._rightZoneWgts.pop ()) { - this.palette.add (w); - } - - delete this._rightZoneWgts; - }, - - /** - * Overrides parent - */ - write : function() { - this._addRightZone (); - this.begin (); - this.palette.write (); - this.end (); - document.write (bobj.crv.getInitHTML (this.widx)); - }, - - /** - * Add child widgets to the statusbar - left or right - */ - addChild : function(widget) { - switch (widget.widgetType) { - case 'StatusbarBreadcrumb': - this.breadcrumb = widget; - break; - case 'StatusbarVersionIndicator': - this.versionIndicator = widget; - break; - } - - /* Delay adding right-aligned widgets due to the semantics of the palette */ - if (widget.layoutAlign == 'right') { - this._rightZoneWgts.push (widget); - } else { - this.palette.add (widget); - } - }, - - /** - * Update child widgets - if they are exists in the statusbar - */ - update : function(update) { - if (update) { - for ( var childNum in update.children) { - var child = update.children[childNum]; - if (child) { - switch (child.cons) { - case "bobj.crv.newStatusbarBreadcrumb": - if (this.breadcrumb) { - this.breadcrumb.update (child.args); - } - break; - case "bobj.crv.newStatusbarVersionIndicator": - if (this.versionIndicator) { - this.versionIndicator.update (child.args); - } - break; - } - } - } - } - }, - - doLayout : function() { - if (this.breadcrumb) { - this.breadcrumb._doLayout(); - } - } -}; - -/** - * StatusbarBreadcrumb widget constructor ({values: String[]}) - */ -bobj.crv.newStatusbarBreadcrumb = function(kwArgs) { - var o = newWidget(bobj.uniqueId()); - - o.widgetType = 'StatusbarBreadcrumb'; - o.values = kwArgs.values; - o.layoutAlign = 'left'; - - o._separatorImage = img(bobj.crvUri('images/breadcrumbSep.gif'), 14, 9); - - MochiKit.Base.update(o, bobj.crv.StatusbarBreadcrumb); - return o; -}; - -bobj.crv.StatusbarBreadcrumb = { - /** - * Update the breadcrumbs ({values: String[]}) - */ - update : function(kwArgs) { - this.values = kwArgs.values; - this.layer.innerHTML = this._render (); - }, - - /** - * Overrides parent - */ - getHTML : function() { - return bobj.html.DIV ( { - 'class' : 'statusbar_breadcrumb' - }, bobj.html.DIV ( { - id : this.id - }, this._render ())); - }, - - /** - * Render the breadcrumbs as table cells separated by an image - called by getHTML and update - */ - _render : function() { - var html = ''; - if (this.values && this.values.length > 0) { - var cells = ''; - for (i = 0; i < this.values.length; i++) { - if (i > 0) { /* insert a separate image before values - except first one */ - cells += bobj.html.TD (null, this._separatorImage); - } - cells += bobj.html.TD ( { - style : { - 'white-space' : 'nowrap' - } - }, this.values[i]); - } - - html = bobj.html.TABLE ( { - 'class' : 'iconText', - cellspacing : '0', - cellpadding : '0' - }, bobj.html.TR (null, cells)); - } - return html; - }, - - _doLayout : function() { - var needsRightAlign = (this.layer.parentNode.scrollWidth > this.layer.parentNode.offsetWidth) || (this.layer.offsetLeft < 0); - if (needsRightAlign) { - this.layer.style.position = "absolute"; - this.layer.style.top = "0px"; - this.layer.style.right = "0px"; - } - else { - this.layer.style.position = ""; - } - } -}; - - -/** - * StatusbarVersionIndicator widget constructor ({value: String}) - */ -bobj.crv.newStatusbarVersionIndicator = function(kwArgs) { - var text = (kwArgs && kwArgs.value) ? L_bobj_crv_LastRefreshed + ": " + kwArgs.value : ' '; - var o = NewLabelWidget(bobj.uniqueId(), text, true); - - o.widgetType = 'StatusbarVersionIndicator'; - o.layoutAlign = 'right'; - - MochiKit.Base.update(o, bobj.crv.StatusbarVersionIndicator); - return o; -}; - -bobj.crv.StatusbarVersionIndicator = { - /** - * Update the last refreshed value - */ - update : function(kwArgs) { - var text = (kwArgs && kwArgs.value) ? L_bobj_crv_LastRefreshed + ": " + kwArgs.value : ' '; - this.layer.innerHTML = text; - } -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/TextCombo.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/TextCombo.js deleted file mode 100644 index 2617de6cf..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/TextCombo.js +++ /dev/null @@ -1,377 +0,0 @@ - -/* -================================================================================ -TextCombo - -Internal class. Editable combo box that renders correctly in a Parameter UI -================================================================================ -*/ - -/** - * Constructor. TextCombo extends TextComboWidget from the dhtmllib. - */ -bobj.crv.params.newTextCombo = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - var PARAMS = bobj.crv.params; - kwArgs = UPDATE({ - id: bobj.uniqueId(), - width: '100%', - maxChar: null, - tooltip: null, - disabled: false, - editable: false, - changeCB: null, - enterCB: null, - keyUpCB: null, - isTextItalic: false - }, kwArgs); - - var o = newTextComboWidget( - kwArgs.id, - kwArgs.maxChar, - kwArgs.tooltip, - null, // width - kwArgs.changeCB, - null, // check CB - null, // beforeShowCB - null);// formName - - o.widgetType = 'TextCombo'; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - o.width = kwArgs.width; - - // Update instance with member functions - o.init_TextCombo = o.init; - UPDATE(o, PARAMS.TextCombo); - - o._createTextField(); // Override parent's text property - o._createArrow(); - o.arrow.dy += 2; // Center the arrow - o.arrow.disDy += 2; - - return o; -}; - -bobj.crv.params.TextCombo = { - setTextItalic : function(isTextItalic) { - if (this.text) { - this.text.setTextItalic (isTextItalic); - } - }, - - setForeColor : function(color) { - if (this.text) - this.text.setForeColor (color); - }, - - setTooltip : function(tooltip) { - if (this.text) { - this.text.setTooltip (tooltip); - } - }, - - setTabDisabled : function(dis) { - if (this.text) - this.text.setTabDisabled (dis); - - if (this.arrow) - bobj.disableTabbingKey (this.arrow.layer, dis); - }, - - setMenu : function(menu) { - this.menu = menu; - }, - - init : function() { - this.init_TextCombo (); - this.arrowContainer = getLayer (this.id + '_arrowCtn'); - - if (this.arrow) { - this.arrow.layer.onfocus = IconWidget_realOverCB; - this.arrow.layer.onblur = IconWidget_realOutCB; - } - - this.text.setValue (this.cleanValue); - }, - - toggleMenu : function() { - var menu = this.menu; - menu.parIcon = this; - var toShow = !menu.isShown(); - menu.show (toShow); - if (toShow) - menu.valueSelect (this.text.getValue () + ''); - }, - - _createArrow : function() { - var tooltip = _openMenu.replace("{0}", this.tooltip? this.tooltip: ''); - this.arrow = newIconWidget(this.id + "arrow_", - bobj.skinUri("menus.gif"), - bobj.bindFunctionToObject(this.toggleMenu,this), - null, - tooltip, - 7, /* w */ - 12, /* h */ - 0, /* dx */ - 83, /* dy */ - 0, /* disDx */ - 99); /* disDy */ - - this.arrow.setClasses("iconnocheck", "combobtnhover", "combobtnhover", "combobtnhover"); - this.arrow.par = this; - }, - - _createTextField : function() { - this.text = bobj.crv.params.newTextField ( { - id : this.id + '_text', - cleanValue : this.cleanValue, - width : '100%', - maxChar : null, - tooltip : this.tooltip, - disabled : false, - editable : this.editable, - password : false, - focusCB : this.focusCB, - blurCB : this.blurCB, - keyUpCB : bobj.bindFunctionToObject (this._onKeyUp, this), - enterCB : this.enterCB, - foreColor : this.foreColor, - isTextItalic : this.isTextItalic - }); - }, - - getHTML : function() { - var h = bobj.html; - - var arrowClassName = 'iactTextComboArrow'; - var arrowStyle = {}; - arrowStyle.right = "0px"; - - if (MochiKit.Base.isIE ()) { - arrowStyle.height = "18px"; - - } else { - arrowStyle.height = "16px"; - } - - var html = h.DIV ( { - id : this.id, - style : { - width : "100%", - position : "relative" - } - }, h.DIV ( { - style : { - position : "relative" - }, - 'class' : 'iactTextComboTextField' - }, this.text.getHTML ()), h.DIV ( { - 'class' : arrowClassName, - id : this.id + '_arrowCtn', - style : arrowStyle - }, this.arrow.getHTML ())); - - return html; - }, - - /** - * Resets TextCombo. sets original value and hides arrow icon - */ - reset : function(value) { - this.text.reset (value); - }, - - /** - * Set the content of the text box and update the menu selection - * - * @param text [String] - */ - setValue : function(text) { - this.text.setValue(text); - }, - - setCleanValue : function(text) { - this.text.setCleanValue (text); - }, - - /** - * Private. Overrides parent. - */ - selectItem : function(item) { - if (item) { - this.val = item.value; - this.text.setValue (item.value, true); /* keep the previous clean value */ - this.menu.select (item.index); - } - }, - - /** - * Get the content on the text box - * - * @return [String] - */ - getValue : function() { - return this.text.getValue (); - }, - - _onKeyUp : function(e) { - var text = this.text.getValue (); - - if (this.keyUpCB) - this.keyUpCB (e); - } -}; - - -/** - * ScrollMenuWidget - */ - -bobj.crv.params.newScrollMenuWidget = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id : bobj.uniqueId(), - originalValues: [], - hasProperWidth: false, - hasValueList: false, - maxVisibleItems: 10, - openAdvDialogCB: null, - maxNumParameterDefaultValues: null - },kwArgs); - - var visibleLines = (kwArgs.originalValues.length >= kwArgs.maxVisibleItems) ? kwArgs.maxVisibleItems : kwArgs.originalValues.length; - if (visibleLines === 1) { - visibleLines++; - } - - var o = newScrollMenuWidget( - "menu_"+ kwArgs.id, //id - bobj.crv.params.ScrollMenuWidget.onChange, //changeCB - false, //multi - null, - visibleLines, //lines - null, //tooltip - null,//dblClickCB - null, //keyUpCB - false, //showLabel - '', //label - '',//convBlanks - null, //beforeShowCB - null); //menuClickCB - - o.oldShow = o.show; - MochiKit.Base.update(o,kwArgs, bobj.crv.params.ScrollMenuWidget); - - return o; -}; - -bobj.crv.params.ScrollMenuWidget = { - onChange : function() { - var o = this.parIcon; - var item = this.getSelection (); - - if (item) { - if (this.maxNumParameterDefaultValues && item.index == this.maxNumParameterDefaultValues) { - if (this.openAdvDialogCB) { - this.openAdvDialogCB (); - this.clearSelection (); - } - } else { - o.val = item.value; - o.text.setValue (item.value); - } - } else { - o.val = null; - o.text.setValue (""); - } - - if (o.changeCB) { - o.changeCB (); - } - }, - - getPosition : function() { - if (this.parIcon === null) { - return; - } - - var layer = this.parIcon.layer; - var getDimensions = MochiKit.Style.getElementDimensions; - var position = getPosScrolled (layer); - var xPos = position.x + 2; - var yPos = position.y + getDimensions (layer).h + 3; - if (MochiKit.Base.isIE ()) { - xPos -= 1; - if (bobj.isQuirksMode ()) { - yPos -= 2; - } - } - - return { - x : xPos, - y : yPos - }; - - }, - - setProperWidth : function() { - if (this.hasProperWidth === false) { - this.css.display = "block"; - this.orginalWidth = this.layer.offsetWidth; - this.css.display = "none"; - this.hasProperWidth = true; - } - }, - - setValueList : function() { - if (this.hasValueList === false) { - this.hasValueList = true; - var origValues = this.originalValues; - for ( var i = 0, len = origValues.length; i < len; i++) { - this.add (origValues[i], origValues[i], false); - } - } - }, - - setFocus : function(focus) { - if (focus) { - var focusCB = bobj.bindFunctionToObject (this.list.focus, this.list); - setTimeout (focusCB, 300); - } else { - if (this.parIcon.selected === true) { - this.parIcon.arrow.focus (); - } - } - }, - - show : function(show) { - if (this.layer === null) - this.justInTimeInit (); - - if (this.hasValueList === false) - this.setValueList (); - - if (this.parIcon === null) - return; - - if (this.hasProperWidth === false) - this.setProperWidth (); - - if (this.parIcon && this.parIcon.layer) { - var layer = this.parIcon.layer; - if (layer.clientWidth > this.orginalWidth) { - this.css.width = layer.clientWidth + "px"; - this.list.css.width = layer.clientWidth + "px"; - } else { - this.css.width = this.orginalWidth + "px"; - this.list.css.width = this.orginalWidth + "px"; - } - } - - var pos = this.getPosition (); - this.oldShow (show, pos.x, pos.y); - - this.setFocus (show); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/TextField.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/TextField.js deleted file mode 100644 index bfe95499c..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/TextField.js +++ /dev/null @@ -1,151 +0,0 @@ -/* - * ================================================================================ - * TextField - * - * Internal class. Text box that renders correctly in a Parameter UI - * ================================================================================ - */ - -/** - * Constructor. TextField extends TextFieldWidget from the dhtmllib. - */ -bobj.crv.params.newTextField = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - cleanValue: '', - width: '100%', - maxChar: null, - tooltip: null, - disabled: false, - editable: true, - password: false, - focusCB: null, - blurCB: null, - changeCB: null, - keyUpCB: null, - enterCB: null, - foreColor : 'black', - isTextItalic : false, - canOpenAdvDialog : false - }, kwArgs); - - var o = newTextFieldWidget( - kwArgs.id, - kwArgs.changeCB, - kwArgs.maxChar, - kwArgs.keyUpCB, - kwArgs.enterCB, - true, //nomargin - kwArgs.tooltip, - null, //width - kwArgs.focusCB, - kwArgs.blurCB); - - o.widgetType = 'TextField'; - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - o.disabled = kwArgs.disabled; - o.width = kwArgs.width; - - // Update instance with member functions - MochiKit.Base.update(o, bobj.crv.params.TextField); - - if (kwArgs.cleanValue) { - o.setValue(kwArgs.cleanValue); - } - - return o; -}; - -bobj.crv.params.TextField = { - setForeColor : function(color) { - this.foreColor = color; - if (this.css) - this.css.color = color; - }, - - setTextItalic : function(isTextItalic) { - this.isTextItalic = isTextItalic; - if (this.css) - this.css.fontStyle = isTextItalic ? 'italic' : ''; - }, - - setTabDisabled : function(dis) { - bobj.disableTabbingKey (this.layer, dis); - }, - - eraseHelpTxt: MochiKit.Base.noop, - - getHTML : function() { - var style = { - width : bobj.unitValue (this.width) - }; - - var isIE = MochiKit.Base.isIE (); - var className = 'iactTextField'; - - var attributes = { - type : this.password ? 'password' : 'text', - name : this.id, - id : this.id, - maxLength : this.maxChar, - style : style, - 'class' : className, - oncontextmenu : "event.cancelBubble=true;return true", - onfocus : "TextFieldWidget_focus(this)", - onblur : "TextFieldWidget_blur(this)", - onchange : "TextFieldWidget_changeCB(event, this)", - onkeydown : "return TextFieldWidget_keyDownCB(event, this);", - onkeyup : "return TextFieldWidget_keyUpCB(event, this);", - onkeypress : "return TextFieldWidget_keyPressCB(event, this);", - ondragstart : "event.cancelBubble=true; return true;", - onselectstart : "event.cancelBubble=true; return true;" - }; - - if (this.disabled) { - attributes.disabled = "disabled"; - } - - if (this.isTextItalic) { - style["font-style"] = "italic"; - } - - style.color = this.foreColor; - - if (!this.editable) { - attributes.readonly = "readonly"; - - if (this.canOpenAdvDialog) { - style.cursor = "pointer"; - } - else { - style.cursor = "default"; - } - } - - if (this.tooltip) { - attributes.title = this.tooltip.replace(/"/g, """); - } - - return bobj.html.INPUT (attributes); - }, - - /** - * Resets textField object. Sets clean value, current value - */ - reset : function(value) { - this.value = value; - this.cleanValue = value; - this.setValue (value); - }, - - setValue : function(value) { - TextFieldWidget_setValue.call (this, value); - }, - - setCleanValue : function(value) { - this.cleanValue = value; - } -}; - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ToolPanel.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ToolPanel.js deleted file mode 100644 index 097cc6f26..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ToolPanel.js +++ /dev/null @@ -1,295 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -bobj.crv.ToolPanelType = { //values must match server's expectations - None: 'None', - GroupTree : 'GroupTree', - ParameterPanel: 'ParameterPanel' -}; - -bobj.crv.ToolPanelTypeDetails = { - None : { - title : null, - img : null, - alt : null - }, - GroupTree : { - title : L_bobj_crv_GroupTree, - img : { uri: bobj.crv.allInOne.uri, dx: 0, dy: bobj.crv.allInOne.groupTreeToggleDy }, - alt : L_bobj_crv_GroupTree - }, - ParameterPanel : { - title : L_bobj_crv_ParamPanel, - img : { uri: bobj.crv.allInOne.uri, dx: 0, dy: bobj.crv.allInOne.paramPanelToggleDy }, - alt : L_bobj_crv_ParamPanel - } -}; - -/** - * ToolPanel constructor - * - * @param kwArgs.id [String] DOM node id - * @param kwArgs.width [String] Width - * @param kwArgs.height [String] Height - */ -bobj.crv.newToolPanel = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId() + "_toolPanel", - width: '300px', - height: '100%', - initialViewType: bobj.crv.ToolPanelType.None - }, kwArgs); - - - var o = newWidget(kwArgs.id); - - // Update instance with constructor arguments - bobj.fillIn(o, kwArgs); - - o.widgetType = 'ToolPanel'; - - o._children = []; - o._selectedChild = null; - o._groupTree = null; - o._paramPanel = null; - - // Update instance with member functions - o.initOld = o.init; - o.resizeOld = o.resize; - MochiKit.Base.update(o, bobj.crv.ToolPanel); - - o.needLeftBorder = false; - - return o; -}; - -bobj.crv.ToolPanel = { - hasGroupTree : function() { - return this._groupTree != null; - }, - - /** - * Adds a child widget as a view. If the child has an isSelected attribute - * that evaluates as true, it will be the selected (active) view. - * - * This function must be called before getHTML() is called. - * - * @param widget [Widget] Child view widget - */ - addChild : function(widget) { - if (!widget) { - return; - } - - var connect = MochiKit.Signal.connect; - var partial = MochiKit.Base.partial; - var signal = MochiKit.Signal.signal; - var Type = bobj.crv.ToolPanelType; - - if (widget.widgetType == 'GroupTree') { - this._groupTree = widget; - - MochiKit.Iter.forEach ( [ 'grpDrilldown', 'grpNodeRetrieveChildren', 'grpNodeCollapse', 'grpNodeExpand' ], function(sigName) { - connect (this._groupTree, sigName, partial (signal, this, sigName)); - }, this); - - if (this.initialViewType == Type.GroupTree) { - this._selectedChild = widget; - } - } else if (widget.widgetType == 'ParameterPanel') { - this._paramPanel = widget; - connect (this._paramPanel, 'resetParamPanel', partial (signal, this, 'resetParamPanel')); - if (this.initialViewType == Type.ParameterPanel) { - this._selectedChild = widget; - } - } - - this._children.push (widget); - }, - - hasParameterPanel : function () { - return this._paramPanel != null; - }, - - getParameterPanel : function() { - return this._paramPanel; - }, - - /** - * This method must be called after viewer has been initialized. Adds new child to toolpanel. - */ - delayedAddChild : function(widget) { - this.addChild (widget); - - var display = widget === this._selectedChild ? '' : 'none'; - append2 (this.layer, bobj.html.DIV ( { - style : { - display : display - } - }, widget.getHTML ())); - widget.init (); - }, - - /* - * The caller is responsible for calling doLayout after making a call to setView. calling doLayout is very expensive and want to avoid it if - * possible. - */ - setView : function(panelType) { - var prevSelectedChild = this._selectedChild; - this.updateSelectedChild (panelType); - var nextSelectedChild = this._selectedChild; - - if(prevSelectedChild != nextSelectedChild) { - if (prevSelectedChild) { - var container = bobj.getContainer (prevSelectedChild); - if (container) { - container.style.display = 'none'; - } - } - - if(nextSelectedChild) { - var container = bobj.getContainer (nextSelectedChild); - if (container) { - bobj.displayElementWithAnimation(container); - } - } - } - }, - - updateSelectedChild : function (panelType) { - var Type = bobj.crv.ToolPanelType; - switch(panelType) { - case Type.GroupTree: - this._selectedChild = this._groupTree; - break; - case Type.ParameterPanel: - this._selectedChild = this._paramPanel; - break; - default: - this._selectedChild = null; - } - }, - - getHTML : function() { - var h = bobj.html; - - var content = ''; - var children = this._children; - for ( var i = 0, len = children.length; i < len; ++i) { - var child = children[i]; - var display = child === this._selectedChild ? '' : 'none'; - content += h.DIV ( { - style : { - display : display - } - }, child.getHTML ()); - } - - var isDisplayed = (bobj.crv.ToolPanelType.None !== this.initialViewType); - var toolPanelClass = 'toolPanel'; - if (this.needLeftBorder) - toolPanelClass += ' leftBorder'; - - - var layerAtt = { - id : this.id, - 'class' : toolPanelClass, - style : { - position : 'absolute', - margin : '0', - width : this.width, - height : this.height, - overflow : 'hidden', - display : isDisplayed ? '' : 'none' - } - }; - - var html = h.DIV (layerAtt, content); - - return html; - }, - - init : function() { - this.initOld (); - if (this._groupTree) - this._groupTree.init (); - - if (this._paramPanel) - this._paramPanel.init (); - }, - - update : function(update) { - if (update && update.cons == "bobj.crv.newToolPanel") { - for ( var childVar in update.children) { - var child = update.children[childVar]; - if (child) { - switch (child.cons) { - case "bobj.crv.newGroupTree": - /* if there is a group tree, update it */ - if (this._groupTree) { - this._groupTree.update (child); - } - /* else create and add one */ - else { - this.delayedAddChild (bobj.crv.createWidget (child)); - } - break; - case "bobj.crv.params.newParameterPanel": - if (this._paramPanel) { - this._paramPanel.update (child); - } - else { - this.delayedAddChild (bobj.crv.createWidget (child)); - } - break; - } - } - } - - this.initialViewType = update.args.initialViewType; - this.setView (this.initialViewType); - this.css.width = update.args.width; - } - }, - - getBestFitHeight : function () { - var height = 0; - if(this._selectedChild != null) - height = this._selectedChild.getBestFitHeight(); - - return height; - }, - - hasPercentWidth : function () { - return (this.width != null) && (this.width.length > 0) && (this.width.charAt(this.width.length - 1) == '%'); - }, - - getPercentWidth : function () { - return parseInt(this.width) / 100; - }, - - _doLayout : function() { - var innerWidth = this.layer.clientWidth; - var contentHeight = this.layer.clientHeight; - - if (this._selectedChild) { - this._selectedChild.setDisplay (true); - this._selectedChild.resize (innerWidth, contentHeight); - } - }, - - resize : function(w, h) { - bobj.setOuterSize (this.layer, w, h); - this._doLayout (); - - var width = _ie && _isQuirksMode ? this.layer.offsetWidth : this.layer.clientWidth; - var height = _ie && _isQuirksMode ? this.layer.offsetWidth : this.layer.clientWidth; - MochiKit.Signal.signal (this, 'resizeToolPanel', width, height); - - // do not have a percent width if we have resized the tool panel - this.width = width; - }, - - addLeftBorder : function() { - this.needLeftBorder = true; - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Toolbar.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Toolbar.js deleted file mode 100644 index bc6370fd5..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Toolbar.js +++ /dev/null @@ -1,1213 +0,0 @@ -/* - * set default, depressed and hover behaviours of a widget using classes - */ -bobj.crv.setAllClasses = function (widget, prefix) -{ - if (widget && widget.setClasses) - { - if (prefix) - widget.setClasses(prefix + '_default', prefix + '_depressed', prefix + '_hover', prefix + '_depressed'); - else - widget.setClasses(null, null, null, null); - } -}; - -/** - * Toolbar Constructor - */ -bobj.crv.newToolbar = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({ - id: bobj.uniqueId(), - visualStyle : { - className : null, - backgroundColor : null, - borderWidth : null, - borderStyle : null, - borderColor : null, - fontFamily : null, - fontWeight : null, - textDecoration : null, - color : null, - width : null, - height : null, - fontStyle : null, - fontSize : null - } - - }, kwArgs); - - var o = newPaletteContainerWidget(kwArgs.id); - - o.margin = 0; - bobj.fillIn(o, kwArgs); - o._rightZoneWgts = []; - o.widgetType = 'Toolbar'; - - // Attach member functions (since we can't use prototypes) - o.initOld = o.init; - UPDATE(o, bobj.crv.Toolbar); - - o.palette = newPaletteWidget(o.id + "_palette"); - o.add(o.palette); - return o; -}; - -bobj.crv.Toolbar = { - - /** - * Adds a widget to the toolbar and attaches callbacks to known types. - * - * @param widget - * [Widget] The control to be displayed in the toolbar. - */ - addChild : function(widget) { - if(!widget) - return; - - var SIGNAL = MochiKit.Signal.signal; - var PARTIAL = MochiKit.Base.partial; - var BIND = MochiKit.Base.bind; - - /* Connect callbacks that broadcast events as signals */ - switch (widget.widgetType) { - case 'ToolbarMenu': - this.menu = widget; - if (widget.exportMenuItem) - widget.exportMenuItem.cb = PARTIAL (SIGNAL, this, 'export'); - if (widget.printMenuItem) - widget.printMenuItem.cb = PARTIAL (SIGNAL, this, 'print'); - break; - case 'ToolbarButtonGroup': - this.group = widget; - if (widget.printButton) - widget.printButton.clickCB = PARTIAL (SIGNAL, this, 'print', widget.printButton.closeCB); - if (widget.exportButton) - widget.exportButton.clickCB = PARTIAL (SIGNAL, this, 'export', widget.exportButton.closeCB); - if (widget.refreshButton) - widget.refreshButton.clickCB = PARTIAL (SIGNAL, this, 'refresh'); - if (widget.drillUpButton) - widget.drillUpButton.clickCB = PARTIAL (SIGNAL, this, 'drillUp'); - break; - case 'PrevPageButton': - this.prevPageButton = widget; - widget.clickCB = PARTIAL (SIGNAL, this, 'prevPage'); - break; - case 'NextPageButton': - this.nextPageButton = widget; - widget.clickCB = PARTIAL (SIGNAL, this, 'nextPage'); - break; - case 'ZoomControl': - this.zoomControl = widget; - widget.zoomCB = PARTIAL (SIGNAL, this, 'zoom'); - break; - case 'SelectPageControl': - this.selectPageControl = widget; - widget.selectPageCB = PARTIAL (SIGNAL, this, 'selectPage'); - if (widget.firstPage && widget.lastPage) { - widget.firstPage.cb = PARTIAL (SIGNAL, this, 'firstPage'); - widget.lastPage.cb = PARTIAL (SIGNAL, this, 'lastPage'); - } - break; - case 'SearchTextControl': - this.searchTextControl = widget; - widget.searchTextCB = PARTIAL (SIGNAL, this, 'search'); - break; - default: - break; - } - - /* Delay adding right-aligned widgets due to the semantics of the palette*/ - if (widget.layoutAlign == 'right') { - this._rightZoneWgts.push (widget); - } else { - this.palette.add (widget); - } - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getSearchTextControl : function () { - return this.searchTextControl; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getZoomControl : function () { - return this.zoomControl; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getSelectPageControl : function () { - return this.selectPageControl; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getButtonGroup : function () { - return this.group; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getNextPageButton : function () { - return this.nextPageButton; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getPrevPageButton : function () { - return this.prevPageButton; - }, - - init : function() { - this.initOld (); - bobj.setVisualStyle (this.layer, this.visualStyle); - this.palette.init (); - this._updateNavButtons (); - }, - - write : function() { - this._addRightZone (); - this.begin (); - this.palette.write (); - this.end (); - document.write (bobj.crv.getInitHTML (this.widx)); - }, - - /** - * Overrides parent. Opens the toolbar's tags. - */ - beginHTML : function() { - return bobj.html.openTag ('div', { - id : this.id, - 'class' : 'crtoolbar', - style : { - height : '28px', - overflow : 'hidden', - margin : this.margin + 'px' - } - }); - }, - - getHTML : function() { - this._addRightZone (); - return (this.beginHTML () + this.palette.getHTML () + this.endHTML ()); - }, - - getWidth : function() { - var itemLayer; - var width = 0; - var items = this.palette.items; - for ( var i = 0, len = items.length; i < len; i++) { - itemLayer = items[i].layer; - if (itemLayer.offsetWidth) { - width += itemLayer.offsetWidth; - } - if (itemLayer.offsetLeft) { - width += (itemLayer.offsetLeft * 2); - } - } - return width; - }, - - /** - * Private. Adds right-aligned widgets to the right zone of the palette - */ - _addRightZone : function() { - this.palette.beginRightZone (); - - var w = null; - while (w = this._rightZoneWgts.pop ()) { - this.palette.add (w); - } - - delete this._rightZoneWgts; - }, - - /** - * Private. Updates the enabled state of navigation buttons based on the current page number and the number of pages. - */ - _updateNavButtons : function() { - if (this.selectPageControl) { - var curPg = this.selectPageControl.getCurrentPage (); - if (this.selectPageControl.firstPage) { - this.selectPageControl.firstPage.setDisabled (curPg == 1); - } - if (this.prevPageButton) { - this.prevPageButton.setDisabled (curPg == 1); - } - - var numPgsStr = this.selectPageControl.getNumPages (); - var lastPgKnown = numPgsStr.indexOf ('+') == -1; - var numPgs = parseInt (numPgsStr, 10); - var fwdDisabled = lastPgKnown && numPgs == curPg; - - if (this.nextPageButton) { - this.nextPageButton.setDisabled (fwdDisabled); - } - if (this.selectPageControl.lastPage) { - this.selectPageControl.lastPage.setDisabled (fwdDisabled); - } - } - }, - - setPageNumber : function(curPage, numPages) { - if (this.selectPageControl) { - if (curPage) - this.selectPageControl.setCurrentPage (curPage); - - if (numPages) - this.selectPageControl.setNumPages (numPages); - - this._updateNavButtons (); - } - }, - - update : function(update) { - if (update) { - for ( var childNum in update.children) { - var child = update.children[childNum]; - if (child) { - switch (child.cons) { - case "bobj.crv.newSelectPageControl": - if (this.selectPageControl) { - this.selectPageControl.update (child); - this._updateNavButtons (); - } - break; - case "bobj.crv.newSearchTextControl": - if (this.searchTextControl) { - this.searchTextControl.update (child); - } - break; - case "bobj.crv.newZoomControl": - if(this.zoomControl) { - this.zoomControl.update(child); - } - break; - case "bobj.crv.newToolbarButtonGroup": - if(this.group) { - this.group.update(child); - } - break; - } - } - } - } - } -}; - -/** - * ToolbarMenu Constructor - */ - -bobj.crv.newToolbarMenu = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - icon: null, - text: L_bobj_crv_File, - tooltip: L_bobj_crv_FileMenu - }, kwArgs); - - var o = newSingleIconMenuWidget(kwArgs.id, kwArgs.icon, null, kwArgs.text, kwArgs.tooltip); - o.widgetType = 'ToolbarMenu'; - - o._tbBtnOldInit = o.init; - - bobj.crv.setAllClasses(o.icon, null); - bobj.crv.setAllClasses(o.arrow, null); - bobj.crv.setAllClasses(o, 'filemenu'); - o.arrow.resize(13, (_ie?20:18)); - - MochiKit.Base.update(o, bobj.crv.ToolbarMenu); - return o; -}; - -bobj.crv.ToolbarMenu = { - init : function() { - this._tbBtnOldInit (); - bobj.disableTabbingKey (this.icon.layer, true); - - /* If menu does not have any items make it look like a 'label' */ - if (this.getMenu ().items.length == 0) { - this.arrow.setDisplay (false); - bobj.crv.setAllClasses (this.icon, null); - this.icon.clickCB = null; - } - }, - - /** - * Add toolbar menu items to toolbar - */ - addChild : function(widget) { - var menu = this.getMenu (); - switch (widget.widgetType) { - case 'ExportMenuItem': - var icon = bobj.crv.allInOne.uri; - var dy = bobj.crv.allInOne.toolbarExportDy; - var disDy = dy; - - this.exportMenuItem = menu.add (widget.id, L_bobj_crv_submitBtnLbl, null, icon, 3, dy, widget.disabled, 25, disDy, null); - break; - case 'PrintMenuItem': - var icon = bobj.crv.allInOne.uri; - var dy = bobj.crv.allInOne.toolbarPrintDy; - var disDy = dy; - - this.printMenuItem = menu.add (widget.id, L_bobj_crv_ActiveXPrintDialogTitle, null, icon, 3, dy, widget.disabled, 25, disDy, null); - break; - default: - bobj.crv.ToolbarMenu.commonAddChild (menu, widget); - break; - } - }, - - commonAddChild : function(menu, widget) { - switch (widget.widgetType) { - case 'Separator': - menu.addSeparator (); - break; - case 'ScriptMenuItem': - var cb = function() { - bobj.crv.ToolbarMenuItem.scriptItemCB (widget.callback, widget.args); - }; - var menuitem = menu.add (widget.id, widget.text, cb, widget.icon, widget.dx, widget.dy, widget.disabled, widget.disDx, widget.disDy, widget.alt); - if (widget.callback == null) - menuitem.setDisabled (true); - break; - case 'ToolbarSubMenu': - var menuitem = menu.add (widget.id, widget.text, null, widget.icon, widget.dx, widget.dy, widget.disabled, widget.disDx, widget.disDy, widget.alt); - menuitem.attachSubMenu (widget.submenu); - break; - } - } -}; - - -/** - * ToolbarSubMenu Constructor - */ -bobj.crv.newToolbarSubMenu = function(kwArgs) { - var o = MochiKit.Base.update({ - id: bobj.uniqueId(), - text: null, - icon: null, - dx: 0, - dy: 0, - disabled: false, - disDx: 0, - disDy: 0, - alt : null - }, kwArgs); - - o.submenu = newMenuWidget(o.id); - o.widgetType = 'ToolbarSubMenu'; - - MochiKit.Base.update(o, bobj.crv.ToolbarSubMenu); - return o; -}; - -bobj.crv.ToolbarSubMenu = { - /** - * Add toolbar menu items to toolbarsubmenu - */ - addChild : function(widget) { - bobj.crv.ToolbarMenu.commonAddChild (this.submenu, widget); - } -}; - - -/** - * ToolbarMenuItem constructor - */ -bobj.crv.newToolbarMenuItem = function(kwArgs) { - var o = MochiKit.Base.update({ - id: bobj.uniqueId(), - widgetType:null, - text: null, - icon: null, - dx: 0, - dy: 0, - disabled: false, - disDx: 0, - disDy: 0, - alt : null - }, kwArgs); - - MochiKit.Base.update(o, bobj.crv.ToolbarMenuItem); - return o; -}; - -bobj.crv.ToolbarMenuItem = { - scriptItemCB : function(callback, args) { - if (callback) { - var f = eval (callback); - if (typeof f == 'function') { - if (args) - f.call (null, args); - else - f.call (null); - } - } - } -}; - -/** - * Constructor. Base class for toolbar buttons. - */ -bobj.crv.newToolbarButton = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - icon: null, - tooltip: null, - text: null, - isDisabled: false, - isChecked: false, - clickCB: null, - width: 16, - height: 16, - dx: 3, - dy: 3, - disDx: 25, - disDy: 3, - isTabEnabled: true - }, kwArgs); - - var o = newIconWidget( - kwArgs.id, - kwArgs.icon, - kwArgs.clickCB, - kwArgs.text, - kwArgs.tooltip, - kwArgs.width, - kwArgs.height, - kwArgs.dx, - kwArgs.dy, - kwArgs.disDx, - kwArgs.disDy, - kwArgs.isTabEnabled); - - if (kwArgs.text) - bobj.crv.setAllClasses(o, null); - else - bobj.crv.setAllClasses(o, 'toolbar_button'); - - o._tbBtnOldInit = o.init; - o._tbBtnKwArgs = kwArgs; - MochiKit.Base.update(o, bobj.crv.ToolbarButton); - - return o; -}; - -bobj.crv.ToolbarButton = { - init : function() { - this._tbBtnOldInit (); - var kwArgs = this._tbBtnKwArgs; - - this.setDisabled (kwArgs.isDisabled); - }, - - update : function (update) { - if(update && bobj.isBoolean(update.args.isDisabled)) { - this.setDisabled (update.args.isDisabled); - } - } -}; - - -/** - * PrevPageButton constructor - */ -bobj.crv.newPrevPageButton = function(kwArgs) { - var o = bobj.crv.newToolbarButton(MochiKit.Base.update({ - icon: bobj.crv.allInOne.uri, - tooltip: L_bobj_crv_PrevPage, - dx:3, dy:bobj.crv.allInOne.toolbarPrevPageDy + 3, disDx:25, disDy:bobj.crv.allInOne.toolbarPrevPageDy + 3, width:16, height:16 - }, kwArgs)); - - o.widgetType = 'PrevPageButton'; - return o; -}; - -/** - * NextPageButton constructor - */ -bobj.crv.newNextPageButton = function(kwArgs) { - var o = bobj.crv.newToolbarButton(MochiKit.Base.update({ - icon: bobj.crv.allInOne.uri, - tooltip: L_bobj_crv_NextPage, - dx:3, dy:bobj.crv.allInOne.toolbarNextPageDy + 3, disDx:25, disDy:bobj.crv.allInOne.toolbarNextPageDy + 3, width:16, height:16 - }, kwArgs)); - - o.widgetType = 'NextPageButton'; - return o; -}; - -/** - * DrillUp constructor - */ -bobj.crv.newDrillUpButton = function(kwArgs) { - var o = bobj.crv.newToolbarButton(MochiKit.Base.update({ - icon: bobj.crv.allInOne.uri, - tooltip: L_bobj_crv_DrillUp, - dx:0, dy:bobj.crv.allInOne.toolbarUpDy, disDx:22, disDy:bobj.crv.allInOne.toolbarUpDy - }, kwArgs)); - - o.widgetType = 'DrillUpButton'; - return o; -}; - -/** - * RefreshButton constructor - */ -bobj.crv.newRefreshButton = function(kwArgs) { - var o = bobj.crv.newToolbarButton(MochiKit.Base.update({ - icon: bobj.crv.allInOne.uri, - tooltip: L_bobj_crv_Refresh, - dy: bobj.crv.allInOne.toolbarRefreshDy, - disDy: bobj.crv.allInOne.toolbarRefreshDy - }, kwArgs)); - - o.widgetType = 'RefreshButton'; - return o; -}; - -/** - * ExportButton constructor - */ -bobj.crv.newExportButton = function(kwArgs) { - var o = bobj.crv.newToolbarButton(MochiKit.Base.update({ - icon: bobj.crv.allInOne.uri, - tooltip: L_bobj_crv_Export, - dy: bobj.crv.allInOne.toolbarExportDy, - disDy: bobj.crv.allInOne.toolbarExportDy - }, kwArgs)); - - o.widgetType = 'ExportButton'; - o.closeCB = MochiKit.Base.bind(function() { if (this.focus) this.focus(); }, o); - return o; -}; - -/** - * PrintButton constructor - */ -bobj.crv.newPrintButton = function(kwArgs) { - var o = bobj.crv.newToolbarButton(MochiKit.Base.update({ - icon: bobj.crv.allInOne.uri, - tooltip: L_bobj_crv_Print, - dy: bobj.crv.allInOne.toolbarPrintDy, - disDy: bobj.crv.allInOne.toolbarPrintDy - }, kwArgs)); - - o.widgetType = 'PrintButton'; - o.closeCB = MochiKit.Base.bind(function() { if (this.focus) this.focus(); }, o); - return o; -}; - -/** - * LogoButton constructor - */ -bobj.crv.newLogoIcon = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - icon : bobj.crvUri('images/logo.gif') - }, kwArgs); - var o = newIconWidget( - kwArgs.id, - kwArgs.icon, - function() {window.open('http://www.businessobjects.com/ipl/default.asp?destination=ViewerLogoLink&product=crystalreports&version=14%2E0')}, - null, - "SAP Crystal Reports", - 120, - 20, - 0, - 0, - 0, - 0, - true - ); - - bobj.crv.setAllClasses(o, null); - - o.layoutAlign = 'right'; - o.widgetType = 'LogoIcon'; - return o; -}; - -/** - * Catalyst constructor - */ -bobj.crv.newCatalystIcon = function(kwArgs) { - var o = newIconWidget( - kwArgs.id, - bobj.crvUri('images/catalyst.gif'), - function() {window.open('http://www.businessobjects.com/ipl/default.asp?destination=DHTMLViewerLandingPage&product=crystalreports&version=14%2E0')}, - null, - L_bobj_crv_CatalystTip, - 22, - 22, - 0, - 0, - 0, - 0, - true - ); - - bobj.crv.setAllClasses(o, null); - - o.layoutAlign = 'right'; - o.widgetType = 'CatalystIcon'; - return o; -}; - -/** - * ToolbarSeparator constructor - */ -bobj.crv.newToolbarSeparator = function() { - var o = newPaletteVerticalSepWidget(bobj.uniqueId()); - o.getHTML = function() { - return bobj.html.DIV({id: this.id, style: {width: '6px'}}, - bobj.html.IMG({src: _skin+'../transp.gif', 'class':'toolbar_separator'})); - }; - return o; -}; - -/** - * ZoomControl Constructor - */ -bobj.crv.newZoomControl = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({ - initialZoom: '100%', - id: bobj.uniqueId() - }, kwArgs); - if (bobj.isNumber(kwArgs.initialZoom)) { - kwArgs.initialZoom = kwArgs.initialZoom + '%'; - } - - var o = newTextComboWidget( - kwArgs.id, - 5, // max chars - L_bobj_crv_Zoom, // tooltip - 60, // width - bobj.crv.ZoomControl._zoomChangeCB, // change CB - null, // check CB - null, // beforeShow CB - null // form name - ); - - o.arrow.resize(13, (_ie?20:18)); - bobj.crv.setAllClasses(o.arrow, 'toolbar_menuarrow'); - - o.menu.setAccelEnabled(false); - - var zoomList = ['400%','300%','200%','150%','125%','100%','75%','50%','25%']; - - for (var i = 0, len = zoomList.length; i < len; ++i) { - var zoomLevel = zoomList[i]; - o.add(zoomLevel, zoomLevel, (zoomLevel == kwArgs.initialZoom)); - } - o.text.setValue(kwArgs.initialZoom); - - o.zoomCB = null; - o.widgetType = 'ZoomControl'; - - o.initOld = o.init; - o._initZoom = kwArgs.initialZoom; - - UPDATE(o, bobj.crv.ZoomControl); - - return o; -}; - -bobj.crv.ZoomControl = { - init : function() { - this.initOld (); - this.setZoom (this._initZoom); - }, - - update : function(update) { - if(update.cons == "bobj.crv.newZoomControl") { - this.setZoom(update.args.initialZoom); - } - }, - - setZoom : function(lvl) { - var zoomVal = parseInt (lvl, 10); - if (bobj.isNumber (zoomVal)) { - zoomVal += '%'; - - this.valueSelect (zoomVal); - - var si = this.selectedItem; - if (si && si.val != zoomVal) { - si.check (false); - this.selectedItem = null; - } - - this._lastValue = zoomVal; - return true; - } - return false; - }, - - _zoomChangeCB : function() { - var zoomLvl = parseInt (this.text.getValue (), 10); - - if (bobj.isNumber (zoomLvl)) { - if (zoomLvl < 10) { - zoomLvl = 10; - } else if (zoomLvl > 400) { - zoomLvl = 400; - } - } - - if (!this.setZoom (zoomLvl)) { - this.setZoom (this._lastValue); - } else if (this.zoomCB) { - this.zoomCB (zoomLvl); - } - } -}; - -/** - * SelectPageControl constructor - * - * @param kwArgs.curPage [String|Int] Current page number - * @param kwArgs.numPages [String|Int] Number of pages in report - */ -bobj.crv.newSelectPageControl = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({ - id: bobj.uniqueId(), - showMenu: true - }, kwArgs); - - // calculate the text input width on construction time to eliminate resize visual while loading - var textNWidth = bobj.crv.SelectPageControl.getTextAndWidth(kwArgs.curPage, kwArgs.numPages); - - var o = newTextComboWidget( - kwArgs.id, - 75, // max chars - L_bobj_crv_PageNav, // tooltip - textNWidth.width + 13, // calculated width of the input field + what is getting substracted from it this constructor - null, // change CB - null, // check CB - null, // beforeShow CB - null // form name - ); - - // Constructor args - o.curPage = kwArgs.curPage; - o.numPages = kwArgs.numPages; - - if (kwArgs.showMenu) { - o.addMenuItem(bobj.uniqueId(),L_bobj_crv_FirstPage,null,null,0,0,false,0,0); - o.addMenuItem(bobj.uniqueId(),L_bobj_crv_LastPage,null,null,0,0,false,0,0); - - o.firstPage = o.menu.items[0]; - o.lastPage = o.menu.items[1]; - - o.arrow.resize(13, (_ie?20:18)); - bobj.crv.setAllClasses(o.arrow, 'toolbar_menuarrow'); - o.menu.setAccelEnabled(false); - } - else { - o.arrow.setDisplay(false); - } - - o.text.oldSetValue = o.text.setValue; - o.text.setValue = function(newText, newWidth) { - o.text.oldSetValue(newText); - if (newWidth && o.text.layer) { - o.text.resize(newWidth, null); - } - }; - o.text.focusCB = function() { - o.text.setValue(o.curPage); - var l = o.text.layer; - if (l) l.select(); - }; - o.text.blurCB = function() { - var textNWidth = o.getTextAndWidth(o.curPage, o.numPages); - o.text.setValue(textNWidth.text); - }; - o.text.enterCB = function() { - if (o.selectPageCB){ - var value = o.text.getValue(); - o.selectPageCB(value); - } - }; - - // Constants - o.margin = 1; - o.space = 0; - o.fieldWidth = 30; - o.labelWidth = 13 + o.space; - - /* Attach member functions */ - o.selectPageCB = null; - UPDATE(o, bobj.crv.SelectPageControl); - - o.updateTextValue(); - o.widgetType = 'SelectPageControl'; - return o; -}; - -bobj.crv.SelectPageControl = { - getTextAndWidth : function(curPage, numPages) { - var text = L_bobj_crv_of.replace ("%1", curPage).replace ("%2", numPages); - var width = (text.length > 9) ? (text.length * 7) : 60; /* min. width is 60; 7 is a number works for font size 11 */ - return { - 'text' : text, - 'width' : width - }; - }, - - update : function(update) { - if (update && update.cons == "bobj.crv.newSelectPageControl") { - /* Don't call setCurrentPage and setNumPages as each of them calls updateTextValue - we'll end in updating twice!*/ - this.curPage = update.args.curPage; - this.numPages = update.args.numPages; - this.updateTextValue (); - } - }, - - updateTextValue : function() { - var textNWidth = this.getTextAndWidth(this.curPage, this.numPages); - this.text.setValue(textNWidth.text, textNWidth.width); - /* lets not leave the cursor inside this edit box as user could start editing the formatted text, "n of N" */ - var l = this.text.layer; - if (l) l.blur(); - }, - - /** - * @return [Int] Returns the current page number - */ - getCurrentPage : function() { - return this.curPage; - }, - - setCurrentPage : function(val) { - this.curPage = val; - this.updateTextValue(); - }, - - /** - * @return [String] Returns the number of pages label - */ - getNumPages : function() { - return this.numPages; - }, - - setNumPages : function(val) { - this.numPages = val; - this.updateTextValue(); - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getFirstPageButton : function () { - return this.firstPage; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getLastPageButton : function () { - return this.lastPage; - } -}; - -/** - * searchTextControl constructor - * - * @param kwArgs.searchText [String] Search Text - */ -bobj.crv.newSearchTextControl = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({id: bobj.uniqueId(), - icon : bobj.crv.allInOne.uri, - dy : bobj.crv.allInOne.toolbarSearchDy, - disDy : bobj.crv.allInOne.toolbarSearchDy - }, kwArgs); - var o = newWidget(kwArgs.id); - bobj.fillIn(o, kwArgs); - /* Construct the input box */ - o.textField = newTextFieldWidget( - o.id + "_textField", - null, - null, - null, - MochiKit.Base.bind(bobj.crv.SearchTextControl._searchTextCB, o), - true, - L_bobj_crv_SearchText, - 100); - - o.empty = (o.searchText == ''); - o.textField.focusCB = function() { - if (o.empty) { - o.textField.setValue(''); - } - }; - o.textField.blurCB = function() { - if (o.textField.getValue() == '') { - o.textField.setValue(L_bobj_crv_Find); - o.empty = true; - } - else { - o.empty = false; - } - }; - - o.searchButton = newIconWidget( - o.id + "_button", - kwArgs.icon, - MochiKit.Base.bind(bobj.crv.SearchTextControl._searchTextCB, o), - null, - L_bobj_crv_SearchText, - 16,16,3,kwArgs.dy, kwArgs.disDy,3,true); - - bobj.crv.setAllClasses(o.searchButton, 'toolbar_button'); - - /* Attach member functions */ - o.initOld = o.init; - o.searchTextCB = null; - UPDATE(o, bobj.crv.SearchTextControl); - - o.widgetType = 'SearchTextControl'; - return o; -}; - -bobj.crv.SearchTextControl = { - update : function(update) { - if (update && update.cons == "bobj.crv.newSearchTextControl") { - this.empty = (update.args.searchText == ''); - var text = (this.empty) ? L_bobj_crv_Find : update.args.searchText; - this.textField.setValue (text); - } - }, - - init : function() { - this.initOld (); - this.textField.init (); - var text = (this.empty) ? L_bobj_crv_Find : this.searchText; - this.textField.setValue (text); - this.searchButton.init (); - }, - - getHTML : function() { - var h = bobj.html; - - var labelStyle = { - cursor : 'default', - 'padding-left' : this.space + 'px', - width : this.labelWidth + 'px' - }; - - return h.TABLE ( { - id : this.id, - cellspacing : 0, - cellpadding : 0, - border : 0, - style : { - margin : this.margin + 'px' - } - }, h.TBODY (null, h.TR (null, h.TD (null, this.textField.getHTML ()), h.TD (null, this.searchButton.getHTML ())))); - }, - _searchTextCB : function() { - var text = this.textField.getValue (); - if ((text !== "" || this.searchText != text) && bobj.isFunction (this.searchTextCB)) { - this.searchTextCB (text); - } - } -}; - - -bobj.crv.newToolbarButtonGroup = function(kwArgs) { - var UPDATE = MochiKit.Base.update; - kwArgs = UPDATE({ - id: bobj.uniqueId(), - visualStyle : { - className : null, - backgroundColor : null, - borderWidth : null, - borderStyle : null, - borderColor : null, - fontFamily : null, - fontWeight : null, - textDecoration : null, - color : null, - width : null, - height : null, - fontStyle : null, - fontSize : null - } - - }, kwArgs); - - var o = newPaletteContainerWidget(kwArgs.id); - - o.margin = 2; - bobj.fillIn(o, kwArgs); - o.widgetType = 'ToolbarButtonGroup'; - - // Attach member functions (since we can't use prototypes) - o.initOld = o.init; - UPDATE(o, bobj.crv.ToolbarButtonGroup); - - o.palette = newPaletteWidget(o.id + "_palette"); - o.add(o.palette); - return o; -}; - -bobj.crv.ToolbarButtonGroup = { - addChild : function(widget) { - switch (widget.widgetType) { - case 'ExportButton': - this.exportButton = widget; - break; - case 'PrintButton': - this.printButton = widget; - break; - case 'RefreshButton': - this.refreshButton = widget; - break; - case 'DrillUpButton': - this.drillUpButton = widget; - } - this.palette.add (widget); - }, - - update : function (update) { - if(update != null && update.cons == "bobj.crv.newToolbarButtonGroup") { - for (var childNum in update.children) { - var child = update.children[childNum]; - if (child) { - switch(child.cons) { - case "bobj.crv.newPrintButton": - if(this.printButton) { - this.printButton.update(child); - } - break; - case "bobj.crv.newExportButton": - if(this.exportButton) { - this.exportButton.update(child); - } - break; - case "bobj.crv.newRefreshButton": - if(this.refreshButton) { - this.refreshButton.update(child); - } - break; - case "bobj.crv.newDrillUpButton": - if(this.drillUpButton) { - this.drillUpButton.update(child); - } - break; - } - } - } - } - }, - - isAnyButtonDisplayed : function () { - return (this.printButton != null && this.printButton.isDisplayed()) || - (this.exportButton != null && this.exportButton.isDisplayed()) || - (this.refreshButton != null && this.refreshButton.isDisplayed()) || - (this.drillUpButton != null && this.drillUpButton.isDisplayed()); - }, - - autoDisplay : function () { - if(this.isAnyButtonDisplayed()) - this.setDisplay (true); - else - this.setDisplay(false); - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getExportButton : function () { - return this.exportButton; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getRefreshButton : function () { - return this.refreshButton; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getDrillUpButton : function () { - return this.drillUpButton; - }, - - /** - * Do not Remove, Used by WebElements Public API - */ - getPrintButton : function () { - return this.printButton; - }, - - init : function() { - this.initOld (); - bobj.setVisualStyle (this.layer, this.visualStyle); - this.palette.init (); - }, - - /** - * Overrider parent - */ - beginHTML : function() { - var h = bobj.html; - return h.openTag ('table', { - id: this.id, - 'class': 'dialogzone toolbar', - border: '0', - cellspacing: '0', - cellpadding: '0', - style: { - overflow: 'hidden', - margin: this.margin + 'px' - } - }) - + h.openTag ('tr', null) - + h.TD ({ style: { width: '2px' } - }, h.IMG({src: _skin+'../transp.gif', 'class': 'toolbar_buttongroup_left'})) - + h.openTag ('td', {'class': 'toolbar_buttongroup'}); - }, - - /** - * Overrider parent - */ - endHTML : function() { - var h = bobj.html; - return h.closeTag ('td', null) - + h.TD ( - { style: { width: '2px' } - }, h.IMG({src: _skin+'../transp.gif', 'class' : 'toolbar_buttongroup_right'})) - + h.closeTag ('tr', null) - + h.closeTag ('table'); - }, - - getHTML : function() { - return this.beginHTML () + this.palette.getHTML () + this.endHTML (); - } -}; - -bobj.crv.newToolbarButtonGroupSeparator = function() { - return newPaletteVerticalSepWidget(bobj.uniqueId()); -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Viewer.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Viewer.js deleted file mode 100644 index 7c2139e70..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/Viewer.js +++ /dev/null @@ -1,862 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - - -/** - * Viewer Constructor - * - * kwArgs.layoutType [String] Tells the viewer how to size itself. Can be - * "client" (fill window), "fitReport", or "fixed" - * kwArgs.width [Int] Width in pixels when layoutType=fixed - * kwArgs.height [Int] Height in pixels when layoutType=fixed - */ -bobj.crv.newViewer = function(kwArgs) { - kwArgs = MochiKit.Base.update({ - id: bobj.uniqueId(), - isDisplayModalBG : false, - isLoadContentOnInit : false, - layoutType : bobj.crv.Viewer.LayoutTypes.FIXED, - visualStyle : { - className : null, - backgroundColor : null, - borderWidth : null, - borderStyle : null, - borderColor : null, - fontFamily : null, - fontWeight : null, - textDecoration : null, - color : null, - width : '800px', - height : '600px', - fontStyle : null, - fontSize : null, - top : "0px", /* passed by Java DHTML viewer */ - left : "0px" /* passed by Java DHTML viewer */ - } - }, kwArgs); - var o = newWidget(kwArgs.id); - - bobj.fillIn(o, kwArgs); - o.widgetType = 'Viewer'; - - o._topToolbar = null; - o._reportAlbum = null; - o._leftPanel = null; - o._separator = null; - o._print = null; - o._export = null; - o._promptDlg = null; - o._reportProcessing = null; - o._eventListeners = []; - o._statusbar = null; - o._leftPanelResizeGrabber = newGrabberWidget( - o.id + '_leftPanelResizeGrabber', - bobj.bindFunctionToObject(bobj.crv.Viewer.onGrabberMove, o), - 0, // intial left - 0, // intial top - 4, // width - 1, // intial height (has to be pixels so we'll figure it out later) - true); // Moves on the horizontal axis - - // Attach member functions - o.initOld = o.init; - o._boundaryControl = new bobj.crv.BoundaryControl(kwArgs.id + "_bc"); - o._modalBackground = new bobj.crv.ModalBackground( - kwArgs.id + "_mb", - bobj.bindFunctionToObject(bobj.crv.Viewer.keepFocus, o)); - MochiKit.Base.update(o, bobj.crv.Viewer); - window[o.id] = o - - return o; -}; - -bobj.crv.Viewer = { - LayoutTypes : { - FIXED : 'fixed', - CLIENT : 'client', - FITREPORT : 'fitreport' - }, - - PromptingTypes : { - HTML : 'html', - FLEX : 'flex' - }, - - onGrabberMove : function(x) { - if (this._leftPanel) { - this._leftPanel.resize (x, null); - this._doLayout (); - } - }, - - keepFocus : function () { - var swf = bobj.crv.params.FlexParameterBridge.getSWF(this.id); - if (swf) - swf.focus(); - }, - - addChild : function(widget) { - if (widget.widgetType == 'ReportAlbum') { - this._reportAlbum = widget; - } else if (widget.widgetType == 'Toolbar') { - this._topToolbar = widget; - this._separator = bobj.crv.newSeparator (); - } else if (widget.widgetType == 'Statusbar') { - this._statusbar = widget; - } else if (widget.widgetType == 'PrintUI') { - this._print = widget; - } else if (widget.widgetType == 'ExportUI') { - this._export = widget; - } else if (widget.widgetType == 'ReportProcessingUI') { - this._reportProcessing = widget; - } else if (widget.widgetType == 'LeftPanel') { - this._leftPanel = widget; - } - }, - - getHTML : function() { - var h = bobj.html; - - var layerStyle = { - overflow: 'hidden', - position: 'relative', - left : this.visualStyle.left, - top : this.visualStyle.top - }; - - var html = h.DIV({dir: 'ltr', id:this.id, style:layerStyle, 'class':'dialogzone'}, - this._topToolbar ? this._topToolbar.getHTML() : '', - this._separator ? this._separator.getHTML() : '', - this._leftPanel ? this._leftPanel.getHTML() : '', - this._reportAlbum ? this._reportAlbum.getHTML() : '', - this._leftPanelResizeGrabber ? this._leftPanelResizeGrabber.getHTML() : '', - this._statusbar ? this._statusbar.getHTML(): ''); - - return html; - }, - - _onWindowResize : function() { - if (this._currWinSize.w != winWidth () || this._currWinSize.h != winHeight ()) { - this._doLayout (); - this._currWinSize.w = winWidth (); - this._currWinSize.h = winHeight (); - } - }, - - init : function() { - this.initOld (); - this._initSignals (); - - if (this._reportAlbum) - this._reportAlbum.init (); - - if (this._topToolbar) - this._topToolbar.init (); - - if (this._leftPanel) - this._leftPanel.init (); - - if (this._statusbar) - this._statusbar.init (); - - if (this._leftPanelResizeGrabber) { - this._leftPanelResizeGrabber.init (); - - if (!this._leftPanel || !this._leftPanel.isToolPanelDisplayed ()) - this._leftPanelResizeGrabber.setDisplay (false); - } - - this.setDisplayModalBackground(this.isDisplayModalBG); - - bobj.setVisualStyle (this.layer, this.visualStyle); - - this._currWinSize = { - w : winWidth (), - h : winHeight () - }; - var connect = MochiKit.Signal.connect; - var signal = MochiKit.Signal.signal; - - if (this.layoutType.toLowerCase () == bobj.crv.Viewer.LayoutTypes.CLIENT) { - connect (window, 'onresize', this, '_onWindowResize'); - } - - if (!this._topToolbar && !this._statusbar && this._reportAlbum && !this._reportAlbum.isDisplayDrilldownTab()) { - this.layer.className += ' hideFrame'; - this._reportAlbum.setHideFrame(true); - } - - if (this.layer && _ie && bobj.checkParent (this.layer, "TABLE")) { - /* - * delays the call to doLayout to ensure all dom elemment's width and - * height are set beforehand. - */ - connect (window, 'onload', this, '_doLayoutOnLoad'); - this._oldCssVisibility = this.css.visibility; - this.css.visibility = "hidden"; - } else { - this._doLayout (); - } - - this.scrollToHighlighted (); - signal (this, 'initialized', this.isLoadContentOnInit); - }, - - /** - * Connects all the signals during initialization - */ - _initSignals : function() { - var partial = MochiKit.Base.partial; - var signal = MochiKit.Signal.signal; - var connect = MochiKit.Signal.connect; - var fe = MochiKit.Iter.forEach; - - if (this._topToolbar) { - fe ( [ 'zoom', 'drillUp', 'firstPage', 'prevPage', 'nextPage', 'lastPage', 'selectPage', 'refresh', 'search', 'export', 'print' ], function(sigName) { - connect (this._topToolbar, sigName, partial (signal, this, sigName)); - }, this); - } - - this._initLeftPanelSignals (); - - if (this._reportAlbum) { - fe ( [ 'selectView', 'removeView', 'viewChanged' ], function(sigName) { - connect (this._reportAlbum, sigName, partial (signal, this, sigName)); - }, this); - } - - if (this._print) { - connect (this._print, 'printSubmitted', partial (signal, this, 'printSubmitted')); - } - - if (this._export) { - connect (this._export, 'exportSubmitted', partial (signal, this, 'exportSubmitted')); - } - }, - - /** - * DO NOT REMOVE. USED BY WEB ELEMENTS - */ - getLeftPanel : function () { - return this._leftPanel; - }, - - _initLeftPanelSignals : function () { - var partial = MochiKit.Base.partial; - var signal = MochiKit.Signal.signal; - var connect = MochiKit.Signal.connect; - var fe = MochiKit.Iter.forEach; - - if (this._leftPanel) { - fe ( [ 'grpDrilldown', 'grpNodeRetrieveChildren', 'grpNodeCollapse', 'grpNodeExpand', 'resetParamPanel', 'resizeToolPanel' ], function(sigName) { - connect (this._leftPanel, sigName, partial (signal, this, sigName)); - }, this); - - connect (this._leftPanel, 'switchPanel', this, '_onSwitchPanel') - } - }, - - /** - * returns true when main report view is selected in report album - */ - _isMainReportViewSelected : function() { - var currentView = this._reportAlbum.getSelectedView(); - return currentView && currentView.isMainReport(); - }, - - _doLayoutOnLoad : function() { - this.css.visibility = this._oldCssVisibility; - this._doLayout(); - }, - - _doLayout : function() { - var topToolbarH = this._topToolbar ? this._topToolbar.getHeight() : 0; - var topToolbarW = this._topToolbar ? this._topToolbar.getWidth() : 0; - var separatorH = this._separator ? this._separator.getHeight() : 0; - var statusbarH = this._statusbar ? this._statusbar.getHeight() : 0; - var leftPanelW = this._leftPanel ? this._leftPanel.getBestFitWidth() : 0; - - var leftPanelGrabberW = this._leftPanelResizeGrabber && this._leftPanelResizeGrabber.isDisplayed() ? - this._leftPanelResizeGrabber.getWidth() : 0; - - var layout = this.layoutType.toLowerCase(); - - var toolPanel = this._leftPanel ? this._leftPanel.getToolPanel() : null; - var hasPercentWidth = (toolPanel && toolPanel.isDisplayed() && toolPanel.hasPercentWidth()); - - if (bobj.crv.Viewer.LayoutTypes.CLIENT == layout) { - this.css.width = '100%'; - this.css.height = '100%'; - - if (hasPercentWidth) - leftPanelW = Math.max(leftPanelW, (this.getWidth() * toolPanel.getPercentWidth()) - leftPanelGrabberW); - } - else if (bobj.crv.Viewer.LayoutTypes.FITREPORT == layout) { - var viewerWidth = 0; - var viewerHeight = 0; - - if (hasPercentWidth) - leftPanelW += 200; - - if(this._reportAlbum) { - var albumSize = this._reportAlbum.getBestFitSize(); - viewerWidth = (albumSize.width + leftPanelW + leftPanelGrabberW < topToolbarW) ? topToolbarW : albumSize.width + leftPanelW + leftPanelGrabberW; - viewerHeight = (albumSize.height + topToolbarH + separatorH + statusbarH); - } - else if (this._leftPanel) { /* If DisplayPage = false in webformviewer */ - viewerWidth = leftPanelW; - viewerHeight = (this._leftPanel.getBestFitHeight() + topToolbarH + separatorH + statusbarH); ; - } - - this.css.height = viewerHeight + 'px'; - this.css.width = viewerWidth + 'px'; - } - else { /* fixed layout */ - this.css.width = this.visualStyle.width; - this.css.height = this.visualStyle.height; - - if (hasPercentWidth) - leftPanelW = Math.max(leftPanelW, (this.getWidth() * toolPanel.getPercentWidth()) - leftPanelGrabberW); - } - - var albumW = this.getWidth() - leftPanelW - leftPanelGrabberW; - var albumH = Math.max(0, this.getHeight() - topToolbarH - separatorH - statusbarH); - - if (this._reportAlbum) { - this._reportAlbum.resizeOuter(albumW, albumH); - this._reportAlbum.move(leftPanelW + leftPanelGrabberW, topToolbarH + separatorH); - } - - if(this._leftPanel) { - this._leftPanel.resize(leftPanelW, albumH); - this._leftPanel.move(0, topToolbarH + separatorH); - } - - if(this._leftPanelResizeGrabber && this._leftPanelResizeGrabber.isDisplayed()) { - this._leftPanelResizeGrabber.resize(null, albumH); - this._leftPanelResizeGrabber.move(leftPanelW, topToolbarH + separatorH) - } - - if(this._statusbar) { - this._statusbar.doLayout(); - this._statusbar.move(0, topToolbarH + separatorH + albumH) - } - - if (this._print && this._print.layer) { - this._print.center(); - } - - if (this._export && this._export.layer) { - this._export.center(); - } - - if (this._reportProcessing && this._reportProcessing.layer) { - this._reportProcessing.center(); - } - - - var viewerP = MochiKit.Style.getElementPosition(this.layer); - var viewerD = MochiKit.Style.getElementDimensions(this.layer); - - if (this._modalBackground) - this._modalBackground.updateBoundary(viewerD.w, viewerD.h, viewerP.x, viewerP.y); - - var bodyD = bobj.getBodyScrollDimension(); - - var isViewerCutOff = ((viewerP.x + viewerD.w) >= bodyD.w) || ((viewerP.y + viewerD.h) >= bodyD.h); - - if(isViewerCutOff && (layout != bobj.crv.Viewer.LayoutTypes.CLIENT)) { - - /* BoundaryControl adds a hidden div with the same dimension and position as current viewer to body - to fix the problem of IE regarding scrollbar that are hidden when left + viewer's width > body's width - */ - - this._boundaryControl.updateBoundary(viewerD.w, viewerD.h, viewerP.x, viewerP.y); - } - else { - this._boundaryControl.updateBoundary(0, 0, 0, 0); - } - - var FLEXUI = bobj.crv.params.FlexParameterBridge; - var swf = FLEXUI.getSWF(this.id); - if(swf) { - if (this._promptDlg && this._promptDlg.style.visibility != 'hidden') { - if(swf._isMaximized) { - FLEXUI.fitScreen(this.id); - } - else { - FLEXUI.resize(this.id, swf.offsetHeight, swf.offsetWidth, true); - } - } - } - - this._adjustWindowScrollBars(); - }, - - _onSwitchPanel : function(panelType) { - var Type = bobj.crv.ToolPanelType; - - if (Type.GroupTree == panelType) { - MochiKit.Signal.signal (this, 'showGroupTree'); - } else if (Type.ParameterPanel == panelType) { - MochiKit.Signal.signal (this, 'showParamPanel'); - } else if (Type.None == panelType) { - MochiKit.Signal.signal (this, 'hideToolPanel'); - } - this._leftPanelResizeGrabber.setDisplay (!(Type.None == panelType)); - this._doLayout (); - }, - - resize : function(w, h) { - if (bobj.isNumber (w)) { - w = w + 'px'; - } - - if (bobj.isNumber (h)) { - h = h + 'px'; - } - - this.visualStyle.width = w; - this.visualStyle.height = h; - this._doLayout (); - }, - - /** - * Set the page number. Updates toolbars with current page and number of pages - * info. - * - * @param curPageNum [String] - * @param numPages [String] (eg. "1" or "1+"); - */ - setPageNumber : function(curPageNum, numPages) { - if (this._topToolbar) { - this._topToolbar.setPageNumber (curPageNum, numPages); - } - }, - - /** - * Display the prompt dialog. - * - * @param html [string] HTML fragment to display inside the dialog's form. - */ - showPromptDialog : function(html, closeCB) { - if (!this._promptDlg) { - var promptDialog_ShowCB = MochiKit.Base.bind (this._onShowPromptDialog, this); - var promptDialog_HideCB = MochiKit.Base.bind (this._onHidePromptDialog, this); - this._promptDlg = bobj.crv.params.newParameterDialog ( { - id : this.id + '_promptDlg', - showCB : promptDialog_ShowCB, - hideCB : promptDialog_HideCB - }); - } - - this._promptDlg.setCloseCB (closeCB); - this._promptDlg.setNoCloseButton(!closeCB); - - /* The reason for saving document.onkeypress is that prompt dialog steals the document.onkeypress and never sets it back */ - this._originalDocumentOnKeyPress = document.onkeypress; /* - * Must be set before .updateHtmlAndDisplay(html) as this function call modifies - * document.onkeypress; - */ - this.updatePromptDialog(html); - }, - - /** - * Update the prompt dialog - with CR2010 DCP prompting this allow the dialog to be kept open during dependent prompt submits - * - * @param html [string] HTML fragment to display inside the dialog's form - */ - updatePromptDialog : function(html) { - html = html || ''; - - var callback = function(prompt, prompthtml) { - return function() { - prompt.updateHtmlAndDisplay (prompthtml); - } - }; - - /** - * AllInOne.js lacks prompting javascript files (to reduce amount of data transmitted) therefore, prompting data must be loaded on demand - */ - - bobj.loadJSResourceAndExecCallBack(bobj.crv.config.resources.HTMLPromptingSDK, callback(this._promptDlg, html)); - - if (bobj.isParentWindowTestRunner ()) { - /* for testing purposes only*/ - setTimeout (MochiKit.Base.partial (MochiKit.Signal.signal, this, "promptDialogIsVisible"), 5); - } - }, - - showFlexPromptDialog : function(servletURL, closeCB) { - var FLEXUI = bobj.crv.params.FlexParameterBridge; - var VIEWERFLEX = bobj.crv.params.ViewerFlexParameterAdapter; - - if (!FLEXUI.checkFlashPlayer ()) { - var msg = L_bobj_crv_FlashRequired; - this.showError (msg.substr (0, msg.indexOf ('{0}')), FLEXUI.getInstallHTML ()); - return; - } - - VIEWERFLEX.setViewerLayoutType (this.id, this.layoutType); - - if (!this._promptDlg) { - this._promptDlg = document.createElement ('div'); - this._promptDlg.id = this.id + '_promptDlg'; - this._promptDlg.closeCB = closeCB; - - var PROMPT_STYLE = this._promptDlg.style; - PROMPT_STYLE.border = '1px'; - PROMPT_STYLE.borderStyle = 'solid'; - PROMPT_STYLE.borderColor = '#000000'; - PROMPT_STYLE.position = 'absolute'; - PROMPT_STYLE.zIndex = bobj.constants.modalLayerIndex; - - var divID = bobj.uniqueId (); - this._promptDlg.innerHTML = "
    "; - - // generate hidden buttons to prevent tabbing into the viewer - var onfocusCB = bobj.bindFunctionToObject(bobj.crv.Viewer.keepFocus, this); - - var firstLink = MochiKit.DOM.createDOM('BUTTON', { - id : this._promptDlg.id + '_firstLink', - onfocus : onfocusCB, - style : { - width : '0px', - height : '0px', - position : 'absolute', - left : '-30px', - top : '-30px' - } - }); - - var lastLink = MochiKit.DOM.createDOM('BUTTON', { - id : this._promptDlg.id + '_lastLink', - onfocus : onfocusCB, - style : { - width : '0px', - height : '0px', - position : 'absolute', - left : '-30px', - top : '-30px' - } - }); - - document.body.appendChild (firstLink); - document.body.appendChild (this._promptDlg); - document.body.appendChild (lastLink); - - var state = bobj.crv.stateManager.getComponentState (this.id); - var sessionID = state.common.reportSourceSessionID; - var lang = bobj.crv.getLangCode (); - - FLEXUI.setMasterCallBack (this.id, VIEWERFLEX); - FLEXUI.createSWF (this.id, divID, servletURL, true, lang, sessionID); - } else { - this._promptDlg.closeCB = closeCB; - this._promptDlg.style.display = ''; - FLEXUI.init (this.id); - } - - this.setDisplayModalBackground (true); - }, - - sendPromptingAsyncRequest : function (evArgs){ - MochiKit.Signal.signal(this, 'crprompt_asyncrequest', evArgs); - }, - setDisplayModalBackground : function (isDisplay) { - isDisplay = this.isDisplayModalBG || isDisplay; //viewer.isDisplayModalBG has higher priority - if(this._modalBackground) - this._modalBackground.show(isDisplay); - }, - - _onShowPromptDialog : function() { - this._adjustWindowScrollBars (); - this.setDisplayModalBackground (true); - }, - - _onHidePromptDialog : function() { - this._adjustWindowScrollBars (); - document.onkeypress = this._originalDocumentOnKeyPress; - this.setDisplayModalBackground (false); - }, - - isPromptDialogVisible: function () { - return this._promptDlg && this._promptDlg.isVisible && this._promptDlg.isVisible (); - }, - - hidePromptDialog : function() { - if (this.isPromptDialogVisible()) { - this._promptDlg.show (false); - } - }, - - /** - * Hide the flex prompt dialog - */ - hideFlexPromptDialog : function() { - if (this._promptDlg) { - if (_ie) - { - /* IE has an issue where if a user calls back from a swf - and closes the containing div then when the div is shown - again the swf will lose any external interface calls. To get around - this we must set the focus to something other than the swf first - before hiding the window. */ - this._promptDlg.focus(); - } - - this._promptDlg.style.visibility = 'hidden'; - this._promptDlg.style.display = 'none'; - this.setDisplayModalBackground (false); - - if (this._promptDlg.closeCB) - this._promptDlg.closeCB(); - } - }, - - _adjustWindowScrollBars : function() { - if (_ie && this.layoutType == bobj.crv.Viewer.LayoutTypes.CLIENT && this._promptDlg && this._promptDlg.layer && MochiKit.DOM.currentDocument ().body) { - var bodyOverFlow, pageOverFlow; - var body = MochiKit.DOM.currentDocument ().body; - var promptDlgLayer = this._promptDlg.layer; - - if (this.getReportPage () && this.getReportPage ().layer) { - var reportPageLayer = this.getReportPage ().layer; - } - - if (!window["bodyOverFlow"]) { - window["bodyOverFlow"] = MochiKit.DOM.getStyle (body, 'overflow'); - } - - if (body.offsetHeight < (promptDlgLayer.offsetTop + promptDlgLayer.offsetHeight)) { - if (window["bodyOverFlow"] == "hidden") { - bodyOverFlow = "scroll"; - } - pageOverFlow = "hidden"; - } else { - bodyOverFlow = window["bodyOverFlow"]; - pageOverFlow = "auto"; - } - - body.style.overflow = bodyOverFlow; - if (reportPageLayer) { - reportPageLayer.style.overflow = pageOverFlow; - } - } - }, - - /** - * Display an error message dialog. - * - * @param text [String] Short, user-friendly error message - * @param details [String] Technical info that's hidden unless the user chooses to see it - */ - showError : function(text, details) { - var dlg = bobj.crv.ErrorDialog.getInstance (); - dlg.setText (text, details); - dlg.setTitle (L_bobj_crv_Error); - dlg.show (true); - }, - - /** - * Update the UI using the given properties - * - * @param update [Object] Component properties - */ - update : function(update) { - if (!update || update.cons != "bobj.crv.newViewer") - return; - - if(update.args) - this.isDisplayModalBG = update.args.isDisplayModalBG; - - /* - * With CR2010 DCP prompting we want to keep open the prompt dialog until all parameters - * are resolved (ADAPT01346079). Unfortunately, as soon as the parameters resolved, server - * calls the getPage and returns the page content, so we don't know when to close the dialog. - */ - this.hidePromptDialog(); - - for ( var childNum in update.children) { - var child = update.children[childNum]; - if (child) { - switch (child.cons) { - case "bobj.crv.newReportAlbum": - if (this._reportAlbum) { - this._reportAlbum.update (child); - } - break; - case "bobj.crv.newToolbar": - if (this._topToolbar) { - this._topToolbar.update (child); - } - break; - case "bobj.crv.newStatusbar": - if (this._statusbar) { - this._statusbar.update (child); - } - break; - case "bobj.crv.newLeftPanel": - if (this._leftPanel) - this._leftPanel.update (child); - else { - this._leftPanel = bobj.crv.createWidget(child); - if(this.layer) { - append(this.layer, this._leftPanel.getHTML()) - this._initLeftPanelSignals (); - this._leftPanel.init(); - } - - if(this._leftPanel && this._leftPanel.isToolPanelDisplayed()) - this._leftPanelResizeGrabber.setDisplay(true); - } - break; - case "bobj.crv.newExportUI": - if (this._export) { - this._export.update (child); - } - break; - } - } - } - - this._doLayout (); - this.scrollToHighlighted (); - this.setDisplayModalBackground (this.isDisplayModalBG); - }, - - getToolPanel : function() { - if(this._leftPanel) - return this._leftPanel.getToolPanel(); - - return null; - }, - - getParameterPanel : function() { - var toolPanel = this.getToolPanel (); - if (toolPanel) - return toolPanel.getParameterPanel (); - - return null; - }, - - getReportPage : function() { - if (this._reportAlbum) { - var view = this._reportAlbum.getSelectedView(); - if (view) { - return view.reportPage; - } - } - - return null; - }, - - scrollToHighlighted : function() { - if(!this._reportAlbum) - return; - - var currentView = this._reportAlbum.getSelectedView (); - - if (currentView) { - currentView.scrollToHighlighted(this.layoutType.toLowerCase () == bobj.crv.Viewer.LayoutTypes.FITREPORT); - } - }, - - addViewerEventListener : function (e, l) { - var ls = this._eventListeners[e]; - if (!ls) { - this._eventListeners[e] = [l]; - return; - } - - ls[ls.length] = l; - }, - - removeViewerEventListener : function (e, l) { - var ls = this._eventListeners[e]; - if (ls) { - for (var i = 0, lsLen = ls.length; i < lsLen; i++) { - if (ls[i] == l){ - ls.splice(i, 1); - return; - } - } - } - }, - - getEventListeners : function (e) { - return this._eventListeners[e]; - } -}; - - - -bobj.crv.BoundaryControl = function(id) { - this.id = id; -}; - -bobj.crv.BoundaryControl.prototype = { - updateBoundary : function(width,height,left,top) { - if(!this.layer) { - this._init(); - } - if(this.layer) { - this.layer.style.width = width + "px"; - this.layer.style.height = height + "px"; - this.layer.style.left = left + "px"; - this.layer.style.top = top + "px"; - } - - }, - - _getStyle : function () { - return { - display:'block', - visibility:'hidden', - position:'absolute' - }; - }, - - _getHTML : function () { - return bobj.html.DIV({id : this.id, style : this._getStyle()}); - }, - - _init: function() { - if(!this.layer){ - append2(_curDoc.body,this._getHTML ()); - this.layer = getLayer(this.id); - this.layer.onselectstart = function () {return false;}; - this.layer.onmousedown = eventCancelBubble; - if (this.mouseupCB) - this.layer.onmouseup = this.mouseupCB; - } - } -}; - -bobj.crv.ModalBackground = function (id, mouseupCB) { - this.id = id; - this.mouseupCB = mouseupCB; -}; - -bobj.crv.ModalBackground.prototype = new bobj.crv.BoundaryControl(); -MochiKit.Base.update(bobj.crv.ModalBackground.prototype, { - _getStyle : function () { - return { - 'background-color' : '#888888', - position : 'absolute', - opacity : 0.30, - display : 'block', - filter : 'alpha(opacity=30);', - 'z-index' : bobj.constants.modalLayerIndex - 2, - visibility : 'hidden' - }; - }, - - show : function (show) { - if(!this.layer) { - this._init(); - } - - this.layer.style.visibility = show ? "visible" : "hidden"; - } - -}); diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ViewerFlexParameterAdapter.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ViewerFlexParameterAdapter.js deleted file mode 100644 index 44ce678a9..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ViewerFlexParameterAdapter.js +++ /dev/null @@ -1,547 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/* - ================================================================================ - ViewerFlexParameterAdapter.js - - Viewer's implementaion for flex prompting UI - ================================================================================ - */ - -bobj.crv.params.ViewerFlexParameterAdapter = { - _viewerLayoutType : [], - _promptData : [], - _paramCtrl : [], - _iParam : [], - _iPromptUnitData : [], - _iParamData : [], - _moveArea : null, - - /////////////////////////// - // Member setters - ////////////////////////// - setViewerLayoutType : function(id, l) { - this._viewerLayoutType[id] = l; - }, - - setPromptData : function(id, d, forIParams) { - if (!forIParams){ - /* Full prompt UI data */ - this._promptData[id] = d; - this.clearIParamPromptUnitData(id); - }else{ - /* Interactive prompt UI data */ - for(var i = 0, l = d.length; i < l; i++) { - var unit = d[i]; - this._addIParamPromptUnitData(id, unit.id, unit.names, unit.data); - } - } - }, - - setCurrentIParamInfo : function(id, c, p) { - this._paramCtrl[id] = c; - this._iParam[id] = p; - }, - - getShowMinUI : function (id) { - return this.hasIParamPromptUnitData(id); - }, - - getWidth : function (id) { - if(this.hasIParamPromptUnitData(id)) - return 300; - else - return this.getSWFWidth(id); - }, - - getHeight : function (id) { - if(this.hasIParamPromptUnitData(id)) - return 315; - else - return this.getSWFHeight(id); - }, - - getScreenHeight : function (id) { - var lDim = MochiKit.Style.getElementDimensions(getLayer(id)); - return lDim.h - 2; - }, - - getScreenWidth : function (id) { - var lDim = MochiKit.Style.getElementDimensions(getLayer(id)); - return lDim.w - 2; - }, - - /* - * Returns the ideal height of the prompting window - */ - getSWFHeight : function(id) { - var lTypes = bobj.crv.Viewer.LayoutTypes; - var layout = lTypes.CLIENT; - if (this._viewerLayoutType[id]) { - layout = this._viewerLayoutType[id]; - } - - var min = layout === lTypes.FIXED ? 0 : 480; - var sH = this.getScreenHeight(id); - return Math.max(min, sH - 200); - }, - - getSWFWidth : function(id) { - var sW = this.getScreenWidth(id); - return Math.min(600, sW - 20); - }, - - getAllowFullScreen : function(id) - { - return !this.hasIParamPromptUnitData(id); - }, - - hasIParamPromptUnitData : function (id) { - return (this._iPromptUnitData[id] != null) && (this._iParamData[id] != null) && (this._iParam[id] != null); - }, - - _addIParamPromptUnitData : function(id, unitID, names, data) { - if (!this.hasIParamPromptUnitData(id)) { - this._iPromptUnitData[id] = []; - this._iParamData[id] = []; - } - - this._iPromptUnitData[id][unitID] = data; - for ( var i = 0, len = names.length; i < len; i++) { - this._iParamData[id][names[i]] = unitID; - } - }, - - clearIParamPromptUnitData : function (id) { - if (!this.hasIParamPromptUnitData(id)) { - return; - } - - delete this._iPromptUnitData[id]; - delete this._iParamData[id]; - delete this._iParam[id]; - }, - - /////////////////////////// - // Callbacks - ////////////////////////// - - getPromptData : function (id) { - if (this.hasIParamPromptUnitData(id)) { - var promptUUID = this._iParamData[id][this._iParam[id].paramName]; - if (promptUUID) { - return this._iPromptUnitData[id][promptUUID]; - } - } - - return this._promptData[id]; - }, - - /** - * Flex callback to start moving the dialog - */ - startDrag : function(id) { - var swf = bobj.crv.params.FlexParameterBridge.getSWF(id); - if (swf) { - if (this._moveArea) { - return; - } - - this._moveArea = document.createElement('div'); - this._moveArea.id = bobj.uniqueId(); - - MOVE_STYLE = this._moveArea.style; - - var STYLE = swf.style; - var P_STYLE = swf.parentNode.style; - - MOVE_STYLE.top = P_STYLE.top; - MOVE_STYLE.left = P_STYLE.left; - MOVE_STYLE.width = STYLE.width ? STYLE.width : swf.width + 'px'; - MOVE_STYLE.height = STYLE.height ? STYLE.height : swf.height + 'px';; - MOVE_STYLE.border = '1px'; - MOVE_STYLE.borderStyle = 'solid'; - MOVE_STYLE.borderColor = '#000000'; - MOVE_STYLE.backgroundColor = '#FFFFFF'; - MOVE_STYLE.position = 'absolute'; - MOVE_STYLE.opacity = 0.50; - MOVE_STYLE.filter = 'alpha(opacity=50)'; - MOVE_STYLE.zIndex = bobj.constants.modalLayerIndex - 1; - - document.body.appendChild(this._moveArea); - document.body.style.cursor = 'move'; - } - }, - - /** - * Flex callback when finished moving the dialog - */ - stopDrag : function(id) { - if (this._moveArea) { - var p = MochiKit.Style.getElementPosition(this._moveArea); - this.move(id, p.x, p.y); - - document.body.removeChild(this._moveArea); - delete this._moveArea; - - document.body.style.cursor = 'default'; - } - }, - - /** - * Flex callback for moving the dialog. - * x is the amount to move on the x axis, -:left +:right - * y is the amount to move on the y axis, -:up +:down - */ - drag : function(id, x, y) { - var LOG = bobj.crv.logger; - LOG.info('doMove Called viewer:' + id + ' x:' + x + ' y:' + y); - - var l = getLayer(id); - if (!l) { - LOG.error('Shifting SWF could not find the viewer:' + id); - return; - } - - var m = this._moveArea; - if (!m) { - LOG.error('Unable to move SWF, no move area available'); - return; - } - - var mX = m.offsetLeft; - var mY = m.offsetTop; - var mH = m.offsetHeight; - var mW = m.offsetWidth; - var vX = l.offsetLeft; - var vY = l.offsetTop; - var vH = l.offsetHeight; - var vW = l.offsetWidth; - - var newX = mX + x; - var newY = mY + y; - - if (newY < vY) { - newY = vY; - } else if (newY + mH > vY + vH) { - newY = vH - mH; - } - - if (newX < vX) { - newX = vX; - } else if (newX + mW > vX + vW) { - newX = vW - mW; - } - - m.style.top = newY + 'px'; - m.style.left = newX + 'px'; - - LOG.info('Moved the SWF to x:' + newX + ' y:' + newY); - }, - - - /** - * Flex callback when finished moving the dialog - */ - move : function(id, x, y) { - var swf = bobj.crv.params.FlexParameterBridge.getSWF(id); - if (swf) { - var p = new MochiKit.Style.Coordinates(x,y); - MochiKit.Style.setElementPosition(swf.parentNode, p); - } - }, - - setParamValues : function(id, valueData) { - bobj.crv.logger.info('setting parameter values'); - if (this.hasIParamPromptUnitData(id)){ - this._setIParamValues (id, valueData); - } else { - this._setFullParamValues (id, valueData); - this.closeDialog(id); - } - }, - - _setFullParamValues : function (id, valueData) { - bobj.event.publish('crprompt_flexparam', id, valueData); - }, - - _setIParamValues : function (id, valueData) { - var param = this._iParam[id]; - var ctrl = this._paramCtrl[id]; - var data = this._iParamData[id]; - var unitData = this._iPromptUnitData[id]; - - if (!param || !ctrl || !data || !unitData || valueData.length != 1) { - return; - } - - var vPromptUnit = valueData[0]; - var vPrompts = vPromptUnit.prompts; - for (var i = 0, len = vPrompts.length; i < len; i++) { - var vPrompt = vPrompts[i]; - - if (!vPrompt || !vPrompt.name || !vPrompt.values) { - continue; - } - - ctrl.updateParameter(decodeURI(vPrompt.name), this._convertFlexValues(vPrompt, param.valueDataType)); - } - - ctrl._updateToolbar(); - - this._updatePromptData(id, vPromptUnit, param.valueDataType); - - this.closeDialog(id); - }, - - _updatePromptData: function (id, newUnitData, type){ - var newPrompts = newUnitData.prompts; - - var data = this._iPromptUnitData[id][newUnitData.id]; - var unitData = data.promptUnits[0]; - var prompts = unitData.prompts; - for (var i = 0, pLen = prompts.length; i < pLen; i++) { - var prompt = prompts[i]; - for (var j = 0, npLen = newPrompts.length; j < npLen; j++) { - var newPrompt = newPrompts[j]; - if (prompt.id == newPrompt.id){ - prompt.values = this._unescapeFlexValues(newPrompt.values, type); - break; - } - } - } - }, - - _unescapeFlexValues: function (fValues, type){ - if (type != bobj.crv.params.DataTypes.STRING) { - return fValues; - } - - for (var i = 0, len = fValues.length; i < len; i++) { - this._unescapeFlexValue(fValues[i], type); - } - - return fValues; - }, - - _unescapeFlexValue: function (fValue, type) { - if (type != bobj.crv.params.DataTypes.STRING) { - return; - } - - if ((fValue.value !== undefined && fValue.value !== null)){ - fValue.value = decodeURI(fValue.value); - - if (fValue.labels !== undefined && fValue.labels !== null){ - for (var i = 0, len = fValue.labels.length; i < len; i++) { - fValue.labels[i] = decodeURI(fValue.labels[i]); - } - } - - } else { - // Range - if (fValue.start){ - this._unescapeFlexValue(fValue.start, type); - } - - if (fValue.end){ - this._unescapeFlexValue(fValue.end, type); - } - } - }, - - _getDescriptionIndex: function (prompt) - { - var vIndex = prompt.lovValueIndex; - var types = prompt.lovFieldTypes; - if (vIndex !== undefined && types !== undefined) - { - for (var i=0, len=types.length; i -1 && fValue.labels && fValue.labels.length > dIndex){ - jsValue.desc = decodeURI(fValue.labels[dIndex]); - } - - var Type = bobj.crv.params.DataTypes; - switch (type) { - case Type.DATE: - case Type.TIME: - case Type.DATE_TIME: - jsValue.value = this._convertDateTimeFlexValue(fValue.value, type); - break; - default: - jsValue.value = decodeURI(fValue.value); - break; - } - - } else { - // Range - if (fValue.start){ - jsValue.lowerBoundType = fValue.start.inc == true ? 2 : 1; - jsValue.beginValue = this._convertFlexValue(fValue.start, type); - } else { - jsValue.lowerBoundType = 0; - } - - if (fValue.end){ - jsValue.upperBoundType = fValue.end.inc == true ? 2 : 1; - jsValue.endValue = this._convertFlexValue(fValue.end, type); - } else { - jsValue.upperBoundType = 0; - } - } - - return jsValue; - }, - - _convertDateTimeFlexValue : function (fValue, type) { - var Type = bobj.crv.params.DataTypes; - var dValue = {}; - var parts = fValue.split(','); - switch(type) { - case Type.DATE: - dValue.y = parseInt(parts[0].substring(5), 10); - dValue.m = parseInt(parts[1], 10) - 1; - dValue.d = parseInt(parts[2].substring(parts[2].length - 1, 0), 10); - break; - - case Type.TIME: - dValue.h = parseInt(parts[0].substring(5), 10); - dValue.min = parseInt(parts[1], 10); - dValue.s = parseInt(parts[2].substring(parts[2].length - 1, 0), 10); - dValue.ms = 0; - break; - - case Type.DATE_TIME: - dValue.y = parseInt(parts[0].substring(9), 10); - dValue.m = parseInt(parts[1], 10) - 1; - dValue.d = parseInt(parts[2], 10); - dValue.h = parseInt(parts[3], 10); - dValue.min = parseInt(parts[4]); - dValue.s = parseInt(parts[5].substring(parts[5].length - 1, 0), 10); - dValue.ms = 0; - break; - } - return dValue; - }, - - - logon : function(id, logonData) { - bobj.crv.logger.info('logging on'); - this.closeDialog(id); - bobj.event.publish('crprompt_flexlogon', id, logonData); - }, - - processingCancel : function(id) { - var v = getWidgetFromID(id); - if (v && v._reportProcessing) { - v._reportProcessing.cancelShow(); - } - }, - - processingDelayedShow : function(id) { - var v = getWidgetFromID(id); - if (v && v._reportProcessing) { - v._reportProcessing.delayedShow(); - } - }, - - logger : function(text) { - bobj.crv.logger.info(text); - }, - - getSWFBaseURL : function() { - return bobj.crvUri("../../swf/"); - }, - - getSWFID : function() { - return bobj.uniqueId(); - }, - - getZIndex : function() { - return bobj.constants.modalLayerIndex; - }, - - getUseSavedData : function(id) { - return this.hasIParamPromptUnitData(id); - }, - - closeDialog : function(id) { - var v = getWidgetFromID(id); - if (v) { - v.hideFlexPromptDialog(); - } - }, - - getUseOKCancelButtons : function(id) { - return this.hasIParamPromptUnitData(id); - }, - - getIsDialog : function(id) { - return true; - }, - - getShouldAutoResize : function(id) { - return true; - }, - - setVisibility : function(id) { - var swf = bobj.crv.params.FlexParameterBridge.getSWF(id); - if (swf) { - var P_STYLE = swf.parentNode.style; - - P_STYLE.position = 'absolute'; - P_STYLE.visibility = 'visible'; - P_STYLE.borderStyle = 'none'; - P_STYLE.opacity = 1; - - if (swf.focus !== undefined) { - swf.focus(); - } - } - }, - - getReportStateInfo : function(id) { - var s = bobj.crv.stateManager.getComponentState(id); - if (s && s.common && s.common.reqCtx) { - return MochiKit.Base.serializeJSON(s.common.reqCtx); - } - }, - - setReportStateInfo : function(id, rsInfo) { - var s = bobj.crv.stateManager.getComponentState(id); - if (s && s.common && s.common.reqCtx) { - s.common.reqCtx = MochiKit.Base.evalJSON(unescape(rsInfo)); - } - }, - - sendAsyncRequest : function(id, args) { - bobj.event.publish('crprompt_asyncrequest', id, args); - }, - - readyToShow: function(id) { - this.processingCancel(id); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ViewerListener.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ViewerListener.js deleted file mode 100644 index c02f99ec4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/ViewerListener.js +++ /dev/null @@ -1,1110 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -/** - * ViewerListener Constructor. Handles Viewer UI events. - */ - -if(typeof(bobj.crv.Async) == 'undefined') { - bobj.crv.Async = {}; -} - -bobj.crv.ViewerListener = function(viewerName, ioHandler) { - this._name = viewerName; - this._viewer = null; - this._promptPage = null; - this._paramCtrl = null; - this._ioHandler = ioHandler; - this._reportProcessing = null; - - var connect = MochiKit.Signal.connect; - var subscribe = bobj.event.subscribe; - var bind = MochiKit.Base.bind; - - var widget = window[viewerName]; - if (widget) { - if (widget.widgetType == 'Viewer') { - this._viewer = widget; - this._reportProcessing = this._viewer._reportProcessing; - } - else if (widget.widgetType == 'PromptPage') { - this._promptPage = widget; - this._reportProcessing = this._promptPage._reportProcessing; - } - } - - if (this._viewer) { - // ReportAlbum events - connect(this._viewer, 'selectView', this, '_onSelectView'); - connect(this._viewer, 'removeView', this, '_onRemoveView'); - - // Toolbar events - connect(this._viewer, 'firstPage', this, '_onFirstPage'); - connect(this._viewer, 'prevPage', this, '_onPrevPage'); - connect(this._viewer, 'nextPage', this, '_onNextPage'); - connect(this._viewer, 'lastPage', this, '_onLastPage'); - connect(this._viewer, 'selectPage', this, '_onSelectPage'); - connect(this._viewer, 'zoom', this, '_onZoom'); - connect(this._viewer, 'drillUp', this, '_onDrillUp'); - connect(this._viewer, 'refresh', this, '_onRefresh'); - connect(this._viewer, 'search', this, '_onSearch'); - connect(this._viewer, 'export', this, '_onExport'); - connect(this._viewer, 'print', this, '_onPrint'); - - // Tool Panel events - connect(this._viewer, 'resizeToolPanel', this, '_onResizeToolPanel'); - connect(this._viewer, 'hideToolPanel', this, '_onHideToolPanel'); - connect(this._viewer, 'grpDrilldown', this, '_onDrilldownGroupTree'); - connect(this._viewer, 'grpNodeRetrieveChildren', this, '_onRetrieveGroupTreeNodeChildren'); - connect(this._viewer, 'grpNodeCollapse', this, '_onCollapseGroupTreeNode'); - connect(this._viewer, 'grpNodeExpand', this, '_onExpandGroupTreeNode'); - connect(this._viewer, 'showParamPanel', this, '_onShowParamPanel'); - connect(this._viewer, 'showGroupTree', this, '_onShowGroupTree'); - connect(this._viewer, 'viewChanged', this, '_onChangeView'); - connect(this._viewer, 'resetParamPanel', this, '_onResetParamPanel'); - connect(this._viewer, 'printSubmitted', this, '_onSubmitPrintPdf'); - connect(this._viewer, 'exportSubmitted', this, '_onSubmitExport'); - connect(this._viewer, 'initialized', this, '_onViewerInitialization'); - - } - - // Report Page Events - subscribe('drilldown', this._forwardTo('_onDrilldown')); - subscribe('drilldownGraph', this._forwardTo('_onDrilldownGraph')); - subscribe('drilldownSubreport', this._forwardTo('_onDrilldownSubreport')); - subscribe('sort', this._forwardTo('_onSort')); - subscribe('hyperlinkClicked', this._forwardTo('_onHyperlinkClicked')); - subscribe('displayError', this._forwardTo('_displayError')); - - // Prompt events - subscribe('crprompt_param', this._forwardTo('_onSubmitStaticPrompts')); - subscribe('crprompt_pmtEngine', this._forwardTo('_onSubmitPromptEnginePrompts')); - subscribe('crprompt_logon', this._forwardTo('_onSubmitDBLogon')); - subscribe('crprompt_cancel',this._forwardTo('_onCancelParamDlg')); - subscribe('crprompt_flexparam', this._forwardTo('_onFlexParam')); - subscribe('crprompt_flexlogon', this._forwardTo('_onFlexLogon')); - subscribe('crprompt_asyncrequest', this._forwardTo('_onPromptingAsyncRequest')); - - - // Report Part Events - subscribe('pnav', this._forwardTo('_onNavigateReportPart')); - subscribe ('navbookmark', this._forwardTo('_onNavigateBookmark')); - subscribe ('updatePromptDlg', this._forwardTo('_onPromptDialogUpdate')); - - // Universal Events, No Target Checks - subscribe('saveViewState', bind(this._onSaveViewState, this)); - - if(widget) { - widget.init(); //must initialize widget after connecting event listeners as signals might be thrown during initialization - } - - if(bobj.isObject(window.jsUnit) && !window.jsUnit.testSuite) { - window.jsUnit.testSuite = new jsUnit.crViewerTestSuite(this); - } -}; - -bobj.crv.ViewerListener.prototype = { - - /** - * Public - * - * @return The current report view - */ - getCurrentView: function() { - if(this._viewer && this._viewer._reportAlbum) { - return this._viewer._reportAlbum.getSelectedView(); - } - - return null; - }, - - getPromptingType : function () { - return this._getCommonProperty('promptingType'); - }, - - _displayError : function(args) { - args = MochiKit.Base.parseQueryString(args); - - if (args && this._viewer ) { - var errorMessage = args.errorMessage || L_bobj_crv_RequestError; - var debug = args.debug || ""; - this.showError(errorMessage, debug); - } - }, - - /** - * Private. Wraps an event handler function with an event target check. - * - * @param handlerName [String] Name of the event handler method - * - * @return Function that can be used as a callback for subscriptions - */ - _forwardTo: function(handlerName) { - return MochiKit.Base.bind(function(target) { - if (target == this._name) { - var args = bobj.slice(arguments, 1); - this[handlerName].apply(this, args); - } - }, this); - }, - - _onViewerInitialization: function (isLoadContentOnInit) { - if(isLoadContentOnInit) { - this._initialLoadViewerContent (); - } - }, - - _onSaveViewState: function() { - this._saveViewState(); - }, - - _onSelectView: function(view) { - if (view) { - bobj.crv.logger.info('UIAction View.Select'); - - // Since "restore state" happens before events, we need to - // change the curViewId before making the server request - var state = bobj.crv.stateManager.getComponentState(this._name); - if (state) { - state.curViewId = view.viewStateId; - this._request({selectView: view.viewStateId}, bobj.crv.config.useAsync, true); - } - } - }, - - _onRemoveView: function(view) { - if (view) { - bobj.crv.logger.info('UIAction View.Remove'); - var viewerState = bobj.crv.stateManager.getComponentState(this._name); - if (viewerState) { - // Remove view from viewer state - delete viewerState[view.viewStateId]; - } - - var commonState = this._getCommonState(); - if (commonState) { - // Remove view from taborder - var idx = MochiKit.Base.findValue(commonState.rptAlbumOrder, view.viewStateId); - if (idx != -1) { - arrayRemove(commonState, 'rptAlbumOrder', idx); - } - } - } - }, - - _initialLoadViewerContent: function() { - bobj.crv.logger.info('UIAction InitLoad'); - this._request({ajaxInitLoad : true}, bobj.crv.config.useAsync, true); - }, - - _onFirstPage: function() { - bobj.crv.logger.info('UIAction Toolbar.FirstPage'); - this._request({tb:'first'}, bobj.crv.config.useAsync, true); - }, - - _onPrevPage: function() { - bobj.crv.logger.info('UIAction Toolbar.PrevPage'); - this._request({tb:'prev'}, bobj.crv.config.useAsync, true); - }, - - _onNextPage: function() { - bobj.crv.logger.info('UIAction Toolbar.NextPage'); - this._request({tb:'next'}, bobj.crv.config.useAsync, true); - }, - - _onLastPage: function() { - bobj.crv.logger.info('UIAction Toolbar.LastPage'); - this._request({tb:'last'}, bobj.crv.config.useAsync, true); - }, - - _onDrillUp: function() { - bobj.crv.logger.info('UIAction Toolbar.DrillUp'); - this._request({tb:'drillUp'}, bobj.crv.config.useAsync, true); - }, - - _onChangeView: function() { - if(this._paramCtrl) { - this._paramCtrl.onChangeView(); - } - }, - - _onResetParamPanel: function() { - if(this._isResettingParamPanel) { - return; - } - - this._isResettingParamPanel = true; - - if(this._paramCtrl) { - this._paramCtrl.setParameters([]); - delete this._paramCtrl; - } - - this.clearAdvancedPromptData(); - - var onFinishCB = bobj.bindFunctionToObject( function () { - this._isResettingParamPanel = false; - }, this); - - this._setInteractiveParams(null, onFinishCB); - }, - - _onSelectPage: function(pgTxt) { - bobj.crv.logger.info('UIAction Toolbar.SelectPage ' + pgTxt); - this._request({tb:'gototext', text:pgTxt}, bobj.crv.config.useAsync, true); - }, - - _onZoom: function(zoomTxt) { - bobj.crv.logger.info('UIAction Toolbar.Zoom ' + zoomTxt); - this._request({tb:'zoom', value:zoomTxt}, bobj.crv.config.useAsync, true); - }, - - _onExport: function(closeCB) { - var exportComponent = this._viewer._export; - if (exportComponent) { - if (closeCB) exportComponent.setCloseCB (closeCB); - - bobj.crv.logger.info('UIAction Toolbar.Export'); - exportComponent.show(true); - } - }, - - _onPrint: function(closeCB) { - var printComponent = this._viewer._print; - if (printComponent) { - if (closeCB) printComponent.setCloseCB (closeCB); - - if (printComponent.isActxPrinting) { - bobj.crv.logger.info('UIAction Toolbar.Print ActiveX'); - var pageState = bobj.crv.stateManager.getCompositeState(); - var postBackData = this._ioHandler.getPostDataForPrinting(pageState, this._name); - this._viewer._print.show(true, postBackData); - } - else { - var isOneClickPrint = this._getCommonProperty('pdfOCP') && bobj.hasPDFReaderWithJSFunctionality(); - if (isOneClickPrint) { - this._onSubmitPrintPdf(0, 0, isOneClickPrint); - } - else { - bobj.crv.logger.info('UIAction Toolbar.Print PDF'); - this._viewer._print.show(true); - } - } - } - }, - - _onResizeToolPanel: function(width) { - this._setCommonProperty('toolPanelWidth', width); - this._setCommonProperty('toolPanelWidthUnit', 'px'); - }, - - _onHideToolPanel: function() { - bobj.crv.logger.info('UIAction Toolbar.HideToolPanel'); - this._setCommonProperty('toolPanelType', bobj.crv.ToolPanelType.None); - }, - - _onShowParamPanel: function() { - bobj.crv.logger.info('UIAction Toolbar.ShowParamPanel'); - this._setCommonProperty('toolPanelType', bobj.crv.ToolPanelType.ParameterPanel); - }, - - _onShowGroupTree: function() { - bobj.crv.logger.info('UIAction Toolbar.ShowGroupTree'); - this._setCommonProperty('toolPanelType', bobj.crv.ToolPanelType.GroupTree); - }, - - _onDrilldown: function(drillargs) { - bobj.crv.logger.info('UIAction Report.Drilldown'); - this._request(drillargs, bobj.crv.config.useAsync, true); - }, - - _onDrilldownSubreport: function(drillargs) { - bobj.crv.logger.info('UIAction Report.DrilldownSubreport'); - this._request(drillargs, bobj.crv.config.useAsync, true); - }, - - _onDrilldownGraph: function(event, graphName, branch, offsetX, offsetY, pageNumber, nextpart, twipsPerPixel) { - if (event) { - bobj.crv.logger.info('UIAction Report.DrilldownGraph'); - var mouseX, mouseY; - - if(_ie || _saf || _ie11Up) { - mouseX = event.offsetX; - mouseY = event.offsetY; - } - else { - mouseX = event.layerX; - mouseY = event.layerY; - } - - var zoomFactor = parseInt(this._getCommonProperty('zoom'), 10); - zoomFactor = (isNaN(zoomFactor) ? 1 : zoomFactor/100); - - this._request({ name:encodeURIComponent(graphName), - brch:branch, - coord:(mouseX*twipsPerPixel/zoomFactor + parseInt(offsetX, 10)) + '-' + (mouseY*twipsPerPixel/zoomFactor +parseInt(offsetY, 10)), - pagenumber:pageNumber, - nextpart:encodeURIComponent(nextpart)}, - bobj.crv.config.useAsync, - true); - } - }, - - _onDrilldownGroupTree: function(groupName, groupPath, isVisible, groupNamePath) { - bobj.crv.logger.info('UIAction GroupTree.Drilldown'); - var encodedGroupName = encodeURIComponent(groupName); - var evtArgs = {drillname: encodedGroupName, gnpath: groupNamePath}; - if(isVisible) { - evtArgs.grp = groupPath; - } - else { - evtArgs.brch = groupPath; - } - - this._request(evtArgs, bobj.crv.config.useAsync, true); - }, - - _onRetrieveGroupTreeNodeChildren: function(groupPath) { - this._request({grow:groupPath}, bobj.crv.config.useAsync, true); - }, - - /* - * Removes groupPath from currentExpandedPaths in current view's state - */ - _onCollapseGroupTreeNode: function(groupPath) { - bobj.crv.logger.info('UIAction GroupTree.CollapseNode'); - var expPathPointer = this.getCurrentExpandedPaths(); // expPathPointer is assigned to expanded paths in memory - var groupPathArray = groupPath.split('-'); - - for(var i = 0 , end = groupPathArray.length - 1; i <= end ; i++) { - var nodeID = groupPathArray[i]; - if(expPathPointer[nodeID]) { - if(i == end) { - delete expPathPointer[nodeID]; - return; - } - expPathPointer = expPathPointer[nodeID]; - } - else { - return; - } - } - - }, - - showError: function(message,detailText) { - if(this._viewer) { - this._viewer.showError(message, detailText); - } - }, - - _onExpandGroupTreeNode: function(groupPath) { - bobj.crv.logger.info('UIAction GroupTree.ExpandNode'); - var expPathPointer = this.getCurrentExpandedPaths(); - var groupPathArray = groupPath.split('-'); - // Iterates through groupPath, and adds indxes to currentExpandedPaths if not existing - for(var i = 0 , end = groupPathArray.length; i < end; i++) { - var nodeID = groupPathArray[i]; - if(!expPathPointer[nodeID]) { - expPathPointer[nodeID] = {}; - } - expPathPointer = expPathPointer[nodeID]; - } - - }, - - _onRefresh: function() { - bobj.crv.logger.info('UIAction Toolbar.Refresh'); - - var commonState = this._getCommonState(); - var useAsyncForRefresh = true; - if (commonState && commonState.useAsyncForRefresh !== undefined) { - useAsyncForRefresh = commonState.useAsyncForRefresh; - } - - this._request({tb:'refresh'}, bobj.crv.config.useAsync && useAsyncForRefresh, true); - }, - - _onSearch: function(searchText) { - bobj.crv.logger.info('UIAction Toolbar.Search'); - this._request({tb:'search', text:encodeURIComponent(searchText)}, bobj.crv.config.useAsync, true); - }, - - /** - * Full Prompt page should use post back request even if ajax is enabled as it is unable to process the ajax response - */ - _canUseAsync : function () { - return this._viewer != null && bobj.crv.config.useAsync; - }, - - _onFlexParam: function(paramData){ - this._request({'crprompt':'flexPromptingSetValues', 'paramList':paramData, 'isFullPrompt': true}, this._canUseAsync()); - }, - - _onFlexLogon: function(logonData) { - for (var i = 0, len = logonData.length; i < len; i++) { - this._addRequestField(logonData[i].field, logonData[i].value); - } - - this._request({'crprompt':'logon'}, this._canUseAsync()); - }, - - /** - * - * @param isFullPrompt [String] a flag indicating whether the current prompt is full prompt which refreshes report content - * @return - */ - _onSubmitPromptEnginePrompts: function(isFullPrompt) { - - isFullPrompt = eval(isFullPrompt); //converting it to boolean type - var useAjax = this._viewer && this._viewer.isPromptDialogVisible(); //use ajax request when prompt dialog is visible - - /* - * this._name is used to get a unique id for prompt variables - * For dhtml and JSF viewer it will be the name of the viewer - * For webform viewer it will be the 'unique UI id' - */ - var valueIDKey = 'ValueID' + this._name; - var contextIDKey = 'ContextID' + this._name; - var contextHandleIDKey = 'ContextHandleID' + this._name; - - var valueID = document.getElementById(valueIDKey); - if (valueID) { - this._addRequestField(valueIDKey, valueID.value); - } - - var contextID = document.getElementById(contextIDKey); - if (contextID) { - this._addRequestField(contextIDKey, contextID.value); - } - - var contextHandleID = document.getElementById(contextHandleIDKey); - if (contextHandleID) { - this._addRequestField(contextHandleIDKey, contextHandleID.value); - } - - this._request({'crprompt':'pmtEngine', 'isFullPrompt': isFullPrompt}, useAjax); - - // These elements are dynamically created - we should delete them as soon after their job is done. - this._removeRequestField(valueIDKey); - this._removeRequestField(contextIDKey); - this._removeRequestField(contextHandleIDKey); - - }, - - _onSubmitStaticPrompts: function(formName) { - this._addRequestFields(formName); - this._request({'crprompt':'param'}, false); - }, - - _onSubmitDBLogon: function(formName) { - var useAjax = this._viewer && this._viewer.isPromptDialogVisible(); //use ajax request when prompt dialog is visible - - if(this._viewer) - this._viewer.hidePromptDialog(); - this._addRequestFieldsFromContent(formName); - /** - * use async when viewer is loaded (instead of promptpage) and it's allowed to make async requests - */ - - this._request({'crprompt':'logon'}, useAjax); - }, - - _onSubmitPrintPdf: function (start, end, isOneClickPrint) { - this._handlePrintOrExport (start, end, 'PDF', isOneClickPrint); - }, - - _onSubmitExport: function (start, end, format) { - this._handlePrintOrExport (start, end, format); - }, - - _handlePrintOrExport: function (start, end, format, isOneClickPrint) { - var isRange = true; - var useIframe = false; - if (!start && !end) { - isRange = false; - } - - if (!format) { - format = 'PDF'; - } - - var isOneClickPDFPrinting = (format == 'PDF' && isOneClickPrint); - var reqObj = {text:format, range:isRange+''}; - reqObj.tb = isOneClickPDFPrinting ? 'crpdfprint' : 'crexport'; - if (isRange) { - reqObj['from'] = start + ''; - reqObj['to'] = end + ''; - } - - bobj.crv.logger.info('UIAction Export.Submit ' + format); - // we want to redirect export requests to a Servlet (ASP should do nothing different) - if (this._ioHandler instanceof bobj.crv.ServletAdapter || this._ioHandler instanceof bobj.crv.FacesAdapter) { - useIframe = true; //always use iframe for exporting/printing in Java DHTML Viewer - this._ioHandler.redirectToServlet (); - this._ioHandler.addRequestField ('ServletTask', 'Export'); - this._ioHandler.addRequestField ('LoadInIFrame', useIframe); - } - else if(this._ioHandler instanceof bobj.crv.AspDotNetAdapter){ - useIframe = true;//always use iframe for exporting/printing in ASP - } - else { - useIframe = isOneClickPDFPrinting; - } - this._request(reqObj, false, false, useIframe); - }, - - _onCancelParamDlg: function() { - bobj.crv.logger.info('UIAction PromptDialog.Cancel'); - this._viewer.hidePromptDialog(); - }, - - _onReceiveParamDlg: function(html) { - this._viewer.showPromptDialog(html); - }, - - _onSort: function(sortArgs) { - bobj.crv.logger.info('UIAction Report.Sort'); - this._request(sortArgs, bobj.crv.config.useAsync, true); - }, - - _onNavigateReportPart: function(navArgs) { - bobj.crv.logger.info('UIAction ReportPart.Navigate'); - this._request(navArgs, false); - }, - - _onNavigateBookmark: function(navArgs) { - bobj.crv.logger.info('UIAction Report.Navigate'); - this._request(navArgs, bobj.crv.config.useAsync, true); - }, - - getCurrentExpandedPaths: function() { - var viewState = this._getViewState(); - if(viewState) { - return viewState.gpTreeCurrentExpandedPaths; - } - - //This return shouldn't get exectued - return {}; - }, - - applyParams: function(params) { - // TODO Dave can we just set the parsm into state since they've - // gone through client side validation? - if (params) { - bobj.crv.logger.info('UIAction ParameterPanel.Apply'); - var clonedParams = []; - var cloneFunc = MochiKit.Base.clone; - for(var i = 0, len = params.length; i < len; i++) { - var clonedParam = cloneFunc(params[i]); - clonedParam.modifiedValue = null; - clonedParam.value = cloneFunc(params[i].value); /* _encodeParameter modifes deep copy of value so I have to make a copy of it before encoding it */ - if (this._ioHandler instanceof bobj.crv.ServletAdapter || this._ioHandler instanceof bobj.crv.FacesAdapter) { - this._encodeParameter(clonedParam); - } - clonedParams.push(clonedParam); - } - - this._request({crprompt: 'paramPanel', paramList: clonedParams}, bobj.crv.config.useAsync, true); - } - }, - - getServletURI : function () { - var servletURL = ""; - if (this._ioHandler instanceof bobj.crv.ServletAdapter - || this._ioHandler instanceof bobj.crv.FacesAdapter) { - servletURL = this._ioHandler._servletUrl; - } - - return servletURL; - }, - - /** - * The loading time of HTML prompting resources is changed from initialization to on demand to reduce the initial loading time. - * When a request for advance dialog is triggered, resources are loaded prior to sending the request to server - * @param callBack - * @return - */ - showAdvancedParamDialog : function(param) { - var paramOpts = this._getCommonProperty('paramOpts'); - if(!paramOpts.canOpenAdvancedDialog) { - this.showError(L_bobj_crv_AdvancedDialog_NoAjax, L_bobj_crv_EnableAjax); - } - else { - this._focusedParamName = param.paramName; - - if (this._isPromptingTypeFlex()) { - var flexAdapter = bobj.crv.params.ViewerFlexParameterAdapter; - flexAdapter.setCurrentIParamInfo (this._name, this._paramCtrl, param); - - if (!flexAdapter.hasIParamPromptUnitData(this._name)) { - /* Need to fetch the interactive prompt data*/ - this._request({promptDlg: this._cloneParameter(param)}, true); - } else { - /* Already have enough data to prompt*/ - /* Creating 5+ range controls can take a long time */ - if (param.allowMultiValue && param.allowRangeValue && - param.modifiedValue.length > 5) { - if (this._reportProcessing) { - this._reportProcessing.Show(); - } - } - var closeCB = this._getPromptDialogCloseCB(); - this._viewer.showFlexPromptDialog(this.getServletURI(), closeCB); - } - } else { - /* Need to fetch the interactive parameter HTML*/ - this._request({promptDlg: this._cloneParameter(param)}, true); - } - } - }, - - _cloneParameter : function(param) { - var clonedParam = MochiKit.Base.clone(param); - clonedParam.defaultValues = null; // ADAPT00776482 - clonedParam.modifiedValue = null; - if (this._ioHandler instanceof bobj.crv.ServletAdapter || this._ioHandler instanceof bobj.crv.FacesAdapter) { - // we need to clone the value again - clonedParam.value = MochiKit.Base.clone(param.value); - clonedParam = this._encodeParameter(clonedParam); - } - return clonedParam; - }, - - _encodeParameter: function(p) { - // we only worry about the "%" sign in the "string" values, param name and the report name. - // ignore the other properties of the parameter because they are not used on the server side - if (p) { - if (p.value && p.valueDataType == bobj.crv.params.DataTypes.STRING) { - for (var i = 0, valuesLen = p.value.length; i < valuesLen; i++) { - if (bobj.isString(p.value[i])) { //discrete value - p.value[i] = encodeURIComponent(p.value[i]); - } - else if (bobj.isObject(p.value[i])) { //range value - var actualValue = null; - if (p.value[i].beginValue) { - actualValue = bobj.crv.params.getValue(p.value[i].beginValue); - p.value[i].beginValue = encodeURIComponent(actualValue); - } - if (p.value[i].endValue) { - actualValue = bobj.crv.params.getValue(p.value[i].endValue); - p.value[i].endValue = encodeURIComponent(actualValue); - } - } - } - } - - if (p.paramName) { - p.paramName = encodeURIComponent(p.paramName); - } - - if (p.reportName) { - p.reportName = encodeURIComponent(p.reportName); - } - } - - return p; - }, - - /** - * Set a property in the state associated with the current report view - * - * @param propName [String] The name of the property to set - * @param propValue [Any] The value of the property to set - */ - _setViewProperty: function(propName, propValue) { - var viewState = this._getViewState(); - if (viewState) { - viewState[propName] = propValue; - } - }, - - /** - * Get a property in the state associated with the current report view - * - * @param propName [String] The name of the property to retrieve - */ - _getViewProperty: function(propName) { - var viewState = this._getViewState(); - if (viewState) { - return viewState[propName]; - } - return null; - }, - - /** - * Set a property that's shared by all report views from the state - * - * @param propName [String] The name of the property to set - * @param propValue [String] The value to set - */ - _setCommonProperty: function(propName, propValue) { - var state = this._getCommonState(); - if (state) { - state[propName] = propValue; - } - }, - - /** - * Get a property that's shared by all report views from the state - * - * @param propName [String] The name of the property to retrieve - */ - _getCommonProperty: function(propName) { - var state = this._getCommonState(); - if (state) { - return state[propName]; - } - return null; - }, - - /** - * Set the UI properties to match the state associated with viewId - * - * @param viewId [String - optional] - */ - _updateUIState: function(viewId) { - - }, - - /** - * Get the state associated with the current report view - * - * @return State object or null - */ - _getViewState: function() { - var compState = bobj.crv.stateManager.getComponentState(this._name); - if (compState && compState.curViewId !== undefined) { - return compState[compState.curViewId]; - } - return null; - }, - - /** - * Get the state that's common to all report views - * - * @return State object or null - */ - _getCommonState: function() { - var compState = bobj.crv.stateManager.getComponentState(this._name); - if (compState) { - return compState.common; - } - return null; - }, - - /** - * Create CRPrompt instances from interactive parameters in state and pass - * them to the Viewer widget so it can display them in the parameter panel. - */ - _setInteractiveParams: function(paramList, onFinishCB) { - if (!this._ioHandler.canUseAjax()) { - var paramPanel = this._viewer.getParameterPanel(); - if (paramPanel) { - paramPanel.showError(L_bobj_crv_InteractiveParam_NoAjax); - } - onFinishCB(); - return; - } - - if (!paramList) { - var stateParamList = this._getCommonProperty('iactParams'); - - var unusedParamList = []; - if (stateParamList) { - var Parameter = bobj.crv.params.Parameter; - var paramList = []; - - for (var i = 0; i < stateParamList.length; ++i) { - if (stateParamList[i].isInUse != null && !stateParamList[i].isInUse) - unusedParamList.push(new Parameter(stateParamList[i])); - else - paramList.push(new Parameter(stateParamList[i])); - } - } - } - - if (paramList && paramList.length) { - var callback = function (viewerListener, paramList) { - return function () { - var paramPanel = viewerListener._viewer.getParameterPanel(); - if (paramPanel) { - var paramOpts = viewerListener._getCommonProperty('paramOpts'); - viewerListener._paramCtrl = new bobj.crv.params.ParameterController(paramPanel, viewerListener, paramOpts); - viewerListener._paramCtrl.setParameters(paramList, onFinishCB); - viewerListener._paramCtrl.setUnusedParameters(unusedParamList); - } - } - } - - bobj.loadJSResourceAndExecCallBack(bobj.crv.config.resources.ParameterControllerAndDeps, callback(this, paramList)); - } - else { - onFinishCB(); - } - }, - - _isPromptingTypeFlex: function() { - var type = this.getPromptingType(); - return (type && type.toLowerCase() == bobj.crv.Viewer.PromptingTypes.FLEX); - }, - - clearAdvancedPromptData: function() { - if (this._isPromptingTypeFlex()){ - bobj.crv.params.ViewerFlexParameterAdapter.clearIParamPromptUnitData(this._name); - } - }, - - _onPromptDialogUpdate: function(update) { - if (update.resolvedFields) { - this._viewer.hidePromptDialog(); - - if(this._paramCtrl) { - for (var i = 0; i < update.resolvedFields.length; i++) { - var param = new bobj.crv.params.Parameter(update.resolvedFields[i]); - this._paramCtrl.updateParameter(param.paramName, param.getValue()); - } - this._paramCtrl._updateToolbar(); - } - } - else { - if (this._isPromptingTypeFlex()) { - if(update.script) { - /* update.script contains JavaScript code for updating ViewerFlexParameterAdapter class*/ - bobj.evalInWindow(update.script); - var closeCB = this._getPromptDialogCloseCB(); - this._viewer.showFlexPromptDialog(this.getServletURI(), closeCB); - } - } - else - { - if(update.html) { - if (this._viewer.isPromptDialogVisible()) { - this._viewer.updatePromptDialog(update.html); - } - else { - var closeCB = this._getPromptDialogCloseCB(); - this._viewer.showPromptDialog(update.html, closeCB); - } - } - } - - } - }, - - _getPromptDialogCloseCB: function () { - var closeCB = null; - if (this._paramCtrl && this._focusedParamName) { - closeCB = this._paramCtrl.getFocusAdvButtonCB(this._focusedParamName); - - /* Clear the name so that if the dialog is used for a full prompt */ - /* it won't have the focus callback */ - this._focusedParamName = null; - } - return closeCB; - }, - - _onPromptingAsyncRequest: function(evArgs) { - this._request(evArgs, true, false, false); - }, - - _request: function(evArgs, allowAsynch, showIndicator, useIframe, callback) { - var pageState = bobj.crv.stateManager.getCompositeState(); - var bind = MochiKit.Base.bind; - var defaultCallback = callback ? callback : bind(this._onResponse, this, evArgs); - var defaultErrCallback = bind(this._onIOError, this); - if (!bobj.isBoolean (showIndicator)) { - showIndicator = true; - } - - if (this._reportProcessing && showIndicator) { - this._reportProcessing.delayedShow (); - } - - var deferred = this._ioHandler.request(pageState, this._name, evArgs, allowAsynch, useIframe, defaultCallback, defaultErrCallback); - - if (deferred) { - if (this._reportProcessing && showIndicator) { - this._reportProcessing.setDeferred (deferred); - } - - deferred.addCallback(defaultCallback); - - deferred.addErrback(defaultErrCallback); - } - }, - - _onResponse: function(evArgs, response) { - var json = null; - if (bobj.isString(response)) { - json = MochiKit.Base.evalJSON(response); - } else { - json = MochiKit.Async.evalJSONRequest(response); - } - - if (json) { - if (json.needsReload) { - this._request(evArgs, false, true); - return; - } - - if(json.redirect) { - window.location = json.redirect; - return; - } - - if (json.status && this._viewer && (json.status.errorMessage || json.status.debug) ) { - var errorMessage = json.status.errorMessage || L_bobj_crv_RequestError; - this.showError(errorMessage, json.status.debug); - } - - if (json.state) { - var jsonState = json.state; - if (bobj.isString(jsonState)) { - jsonState = MochiKit.Base.evalJSON(jsonState); - } - bobj.crv.stateManager.setComponentState(this._name, jsonState); - } - - if (json.update) { - if (json.update.promptDlg) { - this._onPromptDialogUpdate(json.update.promptDlg); - bobj.crv.logger.info('Update InteractiveParams'); - } - else if (this._viewer) { - this._viewer.update(json.update); - bobj.crv.logger.info('Update Viewer'); - } - } - - if (json.script && json.script.length > 0) { - bobj.evalInWindow(json.script); - bobj.crv.logger.info('Execute Script'); - } - - } - - if (this._reportProcessing) { - this._reportProcessing.cancelShow (); - } - - if(bobj.isParentWindowTestRunner()) - MochiKit.Signal.signal(this._viewer, "updated"); - }, - _onIOError: function(response) { - - if (this._reportProcessing.wasCancelled () == true) { - return; - } - - if (this._viewer) { - var error = this._ioHandler.processError (response); - var detailText = ''; - if (bobj.isString(error)) { - detailText = error; - } - else { - for (var i in error) { - if (bobj.isString(error[i]) || bobj.isNumber(error[i])) { - detailText += i + ': ' + error[i] + '\n'; - } - } - } - - this.showError(L_bobj_crv_RequestError, detailText); - } - - if (this._reportProcessing) { - this._reportProcessing.cancelShow (); - } - }, - - _saveViewState: function() { - var pageState = bobj.crv.stateManager.getCompositeState(); - this._ioHandler.saveViewState(pageState, this._name); - }, - - /** - * Private. Retrieve all children of the given form and add them to the request. - * - * @param formName [String] Name of the form - */ - _addRequestFields: function(formName) { - var frm = document.getElementById(formName); - if (frm) { - for (var i in frm) { - var frmElem = frm[i]; - if (frmElem && frmElem.name && frmElem.value) { - this._addRequestField(frmElem.name, frmElem.value); - } - } - } - }, - - /** - * Private. Retrieve all input fields inside the content div element and add them to the request. - * - * @param contentId [String] Id of the containing div element - */ - _addRequestFieldsFromContent: function(contentId) { - var parent = document.getElementById(contentId); - if (!parent) - return; - - var elements = MochiKit.DOM.getElementsByTagAndClassName("input", null, parent); - - for (var i in elements) { - var inputElement = elements[i]; - if(inputElement.type && inputElement.type.toLowerCase() == "checkbox" && inputElement.name) { - if(inputElement.checked) - this._addRequestField(inputElement.name, inputElement.value ); - } - else if (inputElement && inputElement.name && inputElement.value) { - this._addRequestField(inputElement.name, inputElement.value); - } - } - }, - - /** - * Private. Add the given name and value as a request variable. - * - * @param fldName [String] Name of the field - * @param fldValue [String] Value of the field - */ - _addRequestField: function(fldName, fldValue) { - this._ioHandler.addRequestField(fldName, fldValue); - }, - - /** - * Private. Add the given name and value as a request variable. - * - * @param fldName [String] Name of the field - */ - _removeRequestField: function(fldName) { - this._ioHandler.removeRequestField(fldName); - }, - - _onHyperlinkClicked: function(args) { - args = MochiKit.Base.parseQueryString(args); - var ls = this._viewer.getEventListeners('hyperlinkClicked'); - var handled = false; - if (ls) { - for (var i = 0, lsLen = ls.length; i < lsLen; i++) { - if (ls[i](args) == true){ - handled = true; - } - } - } - - if (handled) {return;} - - var w = window; - if (args.target && args.target != '_self'){ - w.open(args.url, args.target); - } else { - w.location = args.url; - } - - } -}; - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/WarningPopup.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/WarningPopup.js deleted file mode 100644 index 8443a1a76..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/WarningPopup.js +++ /dev/null @@ -1,65 +0,0 @@ -if (typeof bobj === 'undefined') { - bobj = {}; -} -if (typeof bobj.crv === 'undefined') { - bobj.crv = {}; -} -if (typeof bobj.crv.WarningPopup === 'undefined') { - bobj.crv.WarningPopup = {}; -} - -bobj.crv.WarningPopup.getInstance = function() { - if (bobj.crv.WarningPopup.__instance === undefined) - bobj.crv.WarningPopup.__instance = new bobj.crv.WarningPopup.Class(); - - return bobj.crv.WarningPopup.__instance; -}; - -bobj.crv.WarningPopup.Class = function() { - this.layer = null; - this.id = bobj.uniqueId(); -}; - -bobj.crv.WarningPopup.Class.prototype = { - show : function(text, xPos, yPos) { - if (!this.layer) { - this.init(); - } - - this.layer.style.top = yPos + "px"; - this.layer.style.left = xPos + "px"; - this.txtLayer.innerHTML = text; - this.layer.style.display = "block"; - }, - - hide : function() { - if (this.layer) - this.layer.style.display = "none"; - }, - - getHTML : function() { - return bobj.html.DIV( { - 'class' : 'WarningPopup', - id : this.id - }, bobj.html.IMG( { - id : this.id + "img", - style : { - position : 'absolute', - left : '10px', - top : '-19px' - }, - src : bobj.crvUri('images/WarningPopupTriangle.gif') - }), bobj.html.DIV( { - id : this.id + "txt", - style : { - padding : "5px" - } - })); - - }, - init : function() { - append2(document.body, this.getHTML()); - this.layer = getLayer(this.id); - this.txtLayer = getLayer(this.id + "txt"); - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/api.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/api.js deleted file mode 100644 index 3cc3d3fb4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/api.js +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) Business Objects 2010. All rights reserved. -// CrystalReports DHTML Viewer SDK -// Version: Internal (Unsupported) -// ################################################################################### -// CRViewer object contains utilities that allow interaction with the CrystalReports DHTML viewer. -// CRViewer has the following properties and methods defined. -// CRViewer.getViewer() -// returns an CRViewer.Viewer object that represents the DHTML viewer on the current page. Use this object to interact with the DHTML viewer. -// CRViewer.getViewer().addEventListener (event type, listener function) -// Registers a listener function with the given event type. The listener function should return true if the event was handled and normal viewer processing should not occur. -// CRViewer.getViewer().removeEventListener (event type, listener function) -// Removes the listener for the given event type. -// CRViewer.Events -// returns an Array of event types that can be handled using event listeners -// CRViewer.Events.HyperlinkClicked -// An event that will be fired when a hyperlink is clicked. Note this event will only occur if the viewer is configured to render hyperlinks using javascript. -// Arguments to listeners of these events will be as follows: { url : 'url string', target : 'target for the link'} -// ################################################################################### - -if (typeof (CRViewer) == "undefined") { - CRViewer = { - - getViewer : function (/* optional */ viewerName) { - return this._getViewer(viewerName); - }, - - Events : { - HyperlinkClicked : "hyperlinkClicked" - }, - - _viewersMap : [], - _getViewer : function (viewerName) { - var map = this._viewersMap; - if (viewerName) { - for (var i = 0, len = map.length; i < len; i++) { - if (map[i].id == viewerName) { - return map[i]; - } - } - } else if (map.length > 0) { - return map[0]; - } - - return this._createViewer(viewerName); - }, - - _getRealViewer : function (viewerName) - { - if (viewerName) { - return getWidgetFromID(viewerName); - } else { - if (_widgets) { - for (var i = 0, len = _widgets.length; i < len; i++) { - if (_widgets[i].widgetType == "Viewer") { - return _widgets[i]; - } - } - } - } - }, - - _createViewer : function (viewerName) - { - var realViewer = this._getRealViewer(viewerName); - - if (realViewer && realViewer.widgetType == "Viewer") { - var o = {}; - o.id = realViewer.id; - o.realViewer = realViewer; - - o.addEventListener = function (event, listener) { - this.realViewer.addViewerEventListener(event, listener); - } - - o.removeEventListener = function (event, listener) { - this.realViewer.removeViewerEventListener(event, listener); - } - - this._viewersMap[this._viewersMap.length] = o; - return o; - } - } - }; -} \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/bobjcallback.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/bobjcallback.js deleted file mode 100644 index 4c6062249..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/bobjcallback.js +++ /dev/null @@ -1,34 +0,0 @@ -function bobj_WebForm_Callback (viewerID, callbackEventArgument, formID) { - if (!viewerID || !formID) { - return; - } - - var frm = document.getElementById(formID); // get the form by using viewerID - - if (!frm) { - return; - } - - var strArr = []; - for (var i = 0, itemCount = frm.elements.length; i < itemCount; i++) { - var elem = frm.elements[i]; - if (elem.name && elem.value) { - strArr.push(elem.name); - strArr.push('='); - strArr.push(encodeURIComponent(elem.value)); - strArr.push('&'); - } - } - - strArr.push('__BOBJ_CALLBACK_EVENTTARGET='); - strArr.push(encodeURIComponent(viewerID)); - strArr.push('&__BOBJ_CALLBACK_EVENTARGUMENT='); - strArr.push(encodeURIComponent(callbackEventArgument)); - var qryString = strArr.join(''); - - var req = MochiKit.Async.getXMLHttpRequest(); - req.open("POST", frm.action, true); - req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - req.setRequestHeader('Accept','application/json'); - return MochiKit.Async.sendXMLHttpRequest(req, qryString); -} \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/common.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/common.js deleted file mode 100644 index bd5f33821..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/common.js +++ /dev/null @@ -1,776 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof bobj == 'undefined') { - bobj = {}; -} - -if (typeof bobj.constants == 'undefined') { - bobj.constants = { - modalLayerIndex:1000 - }; -} - -/** - * @return [String] Returns a different id each time it's called - */ -bobj.uniqueId = function() { - return 'bobjid_' + (++bobj.uniqueId._count); -}; - -if (typeof bobj.uniqueId._count == 'undefined') { - bobj.uniqueId._count = new Date().getTime(); -} - -/** - * Like MochiKit.Base.update except that it checks each item in obj against - * a test function before adding it to self. - * - * @param test [Function] function that returns a boolean when passed (self, obj, key) - * @param self [Object|null] object to be updated - * @param obj [Object] object to copy properties from - */ -bobj.updateIf = function (test, self, obj/*, ... */) { - if (self === null) { - self = {}; - } - for (var i = 1, len = arguments.length; i < len; i++) { - var o = arguments[i]; - if (typeof(o) != 'undefined' && o !== null) { - for (var k in o) { - if (test(self, obj, k)) { - self[k] = o[k]; - } - } - } - } - return self; -}; - -/** - * Copy properties from obj to self if the properties are undefined in self - */ -bobj.fillIn = function (self, obj) { - var test = function(self, obj, k) { - return (typeof(self[k]) == 'undefined'); - } - bobj.updateIf(test, self, obj); -}; - - -bobj.isObject = function(obj) { - return (obj && typeof obj == 'object'); -}; - -bobj.isArray = function(obj) { - if(bobj.isObject(obj)) { - try { - return obj.constructor == Array; - } - catch(e) { - return false; - } - } - - return false; -}; - -bobj.isString = function(obj) { - return (typeof(obj) == 'string'); -}; - -bobj.isNumber = function(obj) { - return typeof(obj) == 'number' && isFinite(obj); -}; - -bobj.isBoolean = function(obj) { - return typeof obj == 'boolean'; -}; - -bobj.isFunction = function(obj) { - return typeof(obj) == 'function'; -}; - -/** - * Checks for the border box model, where css width includes padding and borders. - * IE uses this box model when a strict dtd is not specified. - * - * @return [boolean] Returns true if the border box model is being used - */ -bobj.isBorderBoxModel = function() { - if (typeof bobj.isBorderBoxModel._cachedValue == 'undefined') { - /* - * TODO: It is unnecessary to create DIV to check border box model. All we need to do is check _ie && quirksMode - * I didn't remove it for sake of not breaking different scenarios (requires alot of testing) - */ - if(document.body) { - var box = document.createElement('div'); - box.style.width = '10px'; - box.style.padding = '1px'; - box.style.position = 'absolute'; - box.style.visibility = 'hidden'; - - document.body.appendChild(box); - bobj.isBorderBoxModel._cachedValue = (box.offsetWidth == 10); - document.body.removeChild(box); - } - else { - return _ie && bobj.isQuirksMode(); - } - } - return bobj.isBorderBoxModel._cachedValue; -}; - -/** - * @return [boolean] True if the document is rendering in quirks mode - */ -bobj.isQuirksMode = function() { - return (document.compatMode != 'CSS1Compat'); -}; - -/* Sets the visual style of the specified element - * - * @param element [DOM node] - * @param visualStyle {} object containing visual styles - */ -bobj.setVisualStyle =function(element,visualStyle) { - - if(element === null || visualStyle === null) { - return; - } - - var elemStyle = element.style; - - if(visualStyle.className) - element.className = visualStyle.className; - - MochiKit.Iter.forEach ( [ "background", "borderWidth", "borderStyle", "borderColor", "fontFamily", "fontStyle", "fontSize", - "fontWeight", "textDecoration", "color", "width", "height", "left", "top" ], function(styleName) { - if (visualStyle[styleName]) - elemStyle[styleName] = visualStyle[styleName]; - }); - -}; - -/** - * Sets the outer size of an element, including padding, borders and margins. - * - * Note: Non-pixel units are ignored - * - * @param node [DOM node] - * @param w [Int - optional] Width in pixels - * @param h [Int - optional] Height in pixels - * @param excludeMargins [bool - optional] When true, margins are not included - * in the box size. - */ -bobj.setOuterSize = function(node, w, h, excludeMargins) { - var origStyle = null; - var nodeStyle = node.style; - if (nodeStyle.display == 'none') { - // Nodes have to be displayed to get their calculated styles. - // We display them but make them invisible and absolutely positioned - // so they don't affect the layout. - origStyle = { - visibility: nodeStyle.visibility, - position: nodeStyle.position, - display: 'none' - }; - - nodeStyle.visibility = 'hidden'; - nodeStyle.position = 'absolute'; - nodeStyle.display = ''; - } - - function pixels (selector) { - var value = MochiKit.DOM.getStyle(node, selector); - if (bobj.isString(value) && value.substring(value.length - 2 == 'px')) { - return (parseInt(value, 10) || 0); - } - return 0; - } - - if (bobj.isNumber(w)) { - if (!bobj.isBorderBoxModel()) { - w -= pixels('border-left-width'); - w -= pixels('border-right-width'); - w -= pixels('padding-left'); - w -= pixels('padding-right'); - - if(excludeMargins) { - w -= pixels('margin-left'); - w -= pixels('margin-right'); - } - } - nodeStyle.width = Math.max(0, w) + 'px'; - } - - if (bobj.isNumber(h)) { - if (!bobj.isBorderBoxModel()) { - if(excludeMargins) { - h -= pixels('margin-top'); - h -= pixels('margin-bottom'); - } - h -= pixels('border-top-width'); - h -= pixels('border-bottom-width'); - h -= pixels('padding-top'); - h -= pixels('padding-bottom'); - } - nodeStyle.height = Math.max(0, h) + 'px'; - } - - if (origStyle) { - nodeStyle.display = origStyle.display; - nodeStyle.position = origStyle.position; - nodeStyle.visibility = origStyle.visibility; - } -}; - -/** - * Get the node that contains a child widget. - * - * @param child [object] the widget whose parent node to be looked for - */ -bobj.getContainer = function(child) { - if (child && child.layer) { - return child.layer.parentNode; - } - return null; -}; - -/** - * Checks whether elem has a parent with the tag name equivalent to parentTagName - * - * @param elem [HTML node] the element whose parent is checked against parentTagName - * @param parentTagName [String] Parent's tagName ie) TABLE - * - * - * @return [boolean] True if elem has a parent with tagName equivalent to parentTagName - */ -bobj.checkParent = function(elem,parentTagName) { - var foundParent = false; - if(elem && parentTagName) { - parentTagName = parentTagName.toUpperCase(); - var parent = elem.parentNode; - - while(parent) { - if(parent.tagName == parentTagName) { - foundParent = true; - break; - } - parent = parent.parentNode; - } - } - - return foundParent; -}; - -/** - * Implements Array.slice for array-like objects. For example, the special - * "arguments" variable within function calls is array-like but doesn't have - * a slice method. - * - * @param arrayLike [Object] An array-like object as defined by MochiKit.Base.isArrayLike. - * @param begin [Number] Zero-based index at which to begin extraction. - * @param end [Number] Zero-based index at which to end extraction. - * Extracts up to but not including end. - * - * @return [Array] A shallow copy of the portion of the array specified or null if invalid argument. - */ -bobj.slice = function(arrayLike, begin, end) { - if (bobj.isArray(arrayLike)) { - return arrayLike.slice(begin, end); - } - else if (MochiKit.Base.isArrayLike(arrayLike)) { - var retArray = []; - - var endIdx = arrayLike.length; - if (bobj.isNumber(end) && end < endIdx) { - endIdx = end; - } - - begin = Math.max(begin, 0); - - for (var i = begin; i < endIdx; ++i) { - retArray.push(arrayLike[i]); - } - - return retArray; - } - return null; -}; - -/** - * Extract a range of elements from a string or array-like list (non-destructive) - * - * @param list [String | Array-Like] - * @param start [Int] Index of start, inclusive - * @param end [Int] Index of end, exclusive - * - * @return Array of extracted elements or Null - */ -bobj.extractRange = function(list, start, end) { - if (list && bobj.isNumber(start)) { - if (!bobj.isNumber(end) || end > list.length) { - end = list.length; - } - - start = Math.max(0, start); - - if (start < end) { - var s1 = 0, e1 = start; - var s2 = end, e2 = list.length; - - if (list.substring) { - return (list.substring(s1, e1) + list.substring(s2, e2)); - } - else { - return bobj.slice(list, s1, e1).concat(bobj.slice(list, s2, e2)); - } - } - } - return list; -}; - -/** - * Returns a value with a unit appended - * - * @param val [int or string] - * @param unit [sring - optional] Defaults to 'px' - * - * @return [string] Returns val as a string with unit appended if val is a - * number. Returns val without modification if val is not a number. - */ -bobj.unitValue = function(val, unit) { - if (bobj.isNumber(val)) { - return val + (unit || 'px'); - } - return val; -}; - -/** - * Evaluate an expression in the window (global) scope - * - * @param expression [String] Expression to evaluate - * - * @return Returns the result of the evaluation - */ -bobj.evalInWindow = function(expression) { - if (window.execScript) { // Internet Explorer - return window.execScript(expression); - } - else { - return MochiKit.Base.bind(eval, window, expression).call(); - } -}; - -/** - * Loads specified resource and executes callback - */ -bobj.loadJSResourceAndExecCallBack = function(resource, callback) -{ - if(!resource || !callback) - return; // if arguments are not defined, just return - - /* - * If bobj.crv.config.useCompressedScripts is true, then the resource is already loaded and we can skip loading - */ - if(!resource.isLoaded) { - var onLoad = function(resource, callback, response) { - resource.isLoaded = true; - bobj.evalInWindow(response.responseText); - callback.apply(); - }; - - var req = MochiKit.Async.getXMLHttpRequest(); - req.open("GET", bobj.crvUri(resource.path), true); - req.setRequestHeader('Accept','application/x-javascript,application/javascript, text/javascript'); - var deferred = MochiKit.Async.sendXMLHttpRequest(req); - deferred.addCallback(MochiKit.Base.bind(onLoad, this, resource, callback)); - } - else { - setTimeout(function(){callback.apply()},0); - } -}; - -/** - * Remove whitespace from the left end of a string. - * - * @param str [String] - * - * @return [String] Returns a string with no leading whitespace - */ -bobj.trimLeft = function(str) { - str = str || ''; - return str.replace(/^\s+/g, ''); -}; - -/** - * Remove whitespace from the right end of a string. - * - * @param str [String] - * - * @return [String] Returns a string with no trailing whitespace - */ -bobj.trimRight = function(str) { - str = str || ''; - return str.replace(/\s+$/g, ''); -}; - -/** - * Remove whitespace from both ends of a string. - * - * @param str [String] - * - * @return [String] Returns a string with no leading or trailing whitespace - */ -bobj.trim = function(str) { - return bobj.trimLeft(bobj.trimRight(str)); -}; - -/** - * Check if the two inputs (and their contents) are equal. - * - * @param obj1 [Any] - * @param obj2 [Any] - * - * @return [boolean] Returns true if the two inputs are equal. - */ -bobj.equals = function (obj1, obj2) { - if (typeof(obj1) != typeof(obj2)) { - return false; - } - - if (bobj.isObject(obj1)) { - var same = true; - for (var prop in obj1) { - same = same && bobj.equals(obj1[prop], obj2[prop]); - } - return same; - } - else { - return obj1 == obj2; - } -}; - -/** - * Creates a stylesheet link and adds it to document body - * @param1 href [String] location of css file - * - */ -bobj.includeLink = function(href) { - var head = document.getElementsByTagName("head")[0]; - var body = document.body; - - var link = document.createElement("link"); - link.setAttribute("rel","stylesheet"); - link.setAttribute("type","text/css"); - link.setAttribute("href",href); - - if(head) { - head.appendChild(link); - } - else if(body) { - body.appendChild(link); - } - -}; - -/** - * @param hrefArray Array of url of css files - * @param callback function that gets executed once all css files are loaded - */ -bobj.includeCSSLinksAndExecuteCallback = function (hrefArray, callback) { - if(hrefArray == null || hrefArray.length < 1) { - callback.apply(); - return; - } - - var cb = function () { - var me = arguments.callee; - var callback = me.callback; - me.hrefCount--; - if(me.hrefCount == 0) - callback.apply(); - } - - cb.hrefCount = hrefArray.length; - cb.callback = callback; - - for(var i = 0, len = hrefArray.length; i < len; i++) { - bobj.includeCSSLinkAndExecuteCallback(hrefArray[i], cb); - } -}; - -bobj.includeCSSLinkAndExecuteCallback = function(href, callback) { - var cssLinkId = encodeURIComponent(href); - - /*if a css file with same href is already added, execute cb and continue */ - if(getLayer(cssLinkId)) { - callback.apply(); - return; - } - - /*if css file successfully loads, add css text and call callback*/ - var onLoad = function(callback, linkId, response) { - bobj.addStyleSheet(response.responseText, linkId); - callback.apply(); - }; - - /*if css file fails to load, continue with callback */ - var onError = function(callback) { - callback.apply(); - }; - - var req = MochiKit.Async.getXMLHttpRequest(); - req.open("GET", href, true); - req.setRequestHeader('Accept','text/css'); - var deferred = MochiKit.Async.sendXMLHttpRequest(req); - var cb = MochiKit.Base.bind(onLoad, this, callback, cssLinkId) - var eb = MochiKit.Base.bind(onError, this, callback) - deferred.addCallbacks(cb, eb); -}; - -bobj.addStyleSheet = function(stylesheet,id) { - var style = document.createElement('style'); - style.setAttribute("type", "text/css"); - - if(id) { - style.setAttribute("id", id); - } - - if (style.styleSheet) { - style.styleSheet.cssText = stylesheet; - } - else { - style.appendChild(document.createTextNode(stylesheet)); - } - - var head = document.getElementsByTagName('head'); - var body = document.getElementsByTagName('body'); - - if(head && head[0]) { - head[0].appendChild(style); - } - else if(body && body[0]) { - body[0].appendChild(style); - } - -}; - -bobj.removeAllChildElements = function(elem) { - if(elem) { - while(elem.lastChild) { - elem.removeChild(elem.lastChild); - } - } -}; - -bobj.getValueHashCode = function(valueType, value) { - var Types = bobj.crv.params.DataTypes; - switch(valueType) { - case Types.BOOLEAN : - case Types.CURRENCY: - case Types.NUMBER: - case Types.STRING: - return '' + value; - case Types.TIME: - return '' + value.h + ',' + value.min + ',' + value.s + ',' + value.ms; - case Types.DATE: - return '' + value.y + ',' + value.m + ',' + value.d; - case Types.DATE_TIME: - return '' + value.y + ',' +value.m + ',' + value.d + ',' + value.h + ',' + value.min + ',' + value.s + ',' + value.ms; - } -}; - -/** - * Checks if there's a DOM element whose ID attribute matches the given string. If not, continue to search for a DOM element - * whose Name attribute matches the given string. - * - * @param idOrName [string] The ID or Name of the element to search for. - * @return [DOM element] Returns a DOM element, or null. - */ -bobj.getElementByIdOrName = function (idOrName) { - if (!idOrName) { - return null; - } - - var elem = document.getElementById(idOrName); - if (elem) { - return elem; - } - - var elems = document.getElementsByName(idOrName); - if (elems && elems.length > 0) { - return elems[0]; - } - - return null; -}; - -/* - * Returns a rectangle that can be used for css clip property - * @param top, right, bottom, left [Int] - * @return [String] returns rect(top,right,bottom,left) in pixel unit - */ -bobj.getRect = function(top, right, bottom, left) { - return "rect(" + top + "px, "+ right + "px," + bottom + "px," + left + "px)"; -} - -bobj.getBodyScrollDimension = function() { - var w = 0; - var h = 0; - var bodyTags = document.getElementsByTagName("Body"); - if(bodyTags && bodyTags[0]) { - w = bodyTags[0].scrollWidth; - h = bodyTags[0].scrollHeight; - } - - return {w : w, h : h}; -} -/** - * Disables tabbing on element specified - * @param layer, The layer that will be modified - * @param dis [boolean], true would disable tabbing on element - */ -bobj.disableTabbingKey = function(layer, dis) { - if(layer) { - //Setting tabIndex value to (-1) would prevent tabbing to the DOM layer - layer.tabIndex = dis ? -1 : 0; - } -} - - -bobj.getStringWidth = function(string, fontFamily, fontSize) { - if(document.body) { - var span = document.createElement('span'); - span.appendChild(document.createTextNode(string)); - span.style.position = 'absolute'; - span.style.visibility = 'hidden'; - - if(fontFamily) - span.style.fontFamily = fontFamily; - - if(fontSize) - span.style.fontSize = fontSize; - - document.body.appendChild(span); - var width = span.offsetWidth; - document.body.removeChild(span); - return width; - } - - return 0; -} - -bobj.deleteWidget = function(widget) { - if(widget && widget.widx) { - if(widget.layer) { - - //Helps GC reclaim memory. Essential to IE memory leak - widget.layer.click = null; - widget.layer.onmouseup = null; - widget.layer.onmousedown = null; - widget.layer.onmouseover = null; - widget.layer.onmousemove = null; - widget.layer.onmouseout = null; - widget.layer.onchange = null; - widget.layer.onfocus = null; - widget.layer.onkeydown = null; - widget.layer.onkeyup = null; - widget.layer.onkeypress = null; - - var parent = widget.layer.parentNode; - if(parent) { - parent.removeChild(widget.layer); //removing child from parent - } - delete widget.layer; - } - - delete widget.css; - delete _widgets[widget.widx]; // cleans DHTML_Lib collection of widgets - _widgets[widget.widx] = null; /* for debugging purpose only */ - - delete widget; - } -}; - -bobj.cloneArray = function(array) { - return array.slice(); -}; - -/** - * returns a function that would execute obj.func with obj as the context - * Similar to MochiKit.Base.bind, but this is a lot faster - */ -bobj.bindFunctionToObject = function(func, obj) { - return function () { - return func.apply(obj, arguments); - }; -}; -/** - * Object.superClass will be populated with all functions defined in superClass - */ -bobj.extendClass = function(object, ObjectClassDefinition, superClass) { - MochiKit.Base.update(object, ObjectClassDefinition); - - object.superClass = {}; - for ( var funcName in superClass) { - object.superClass[funcName] = bobj.bindFunctionToObject(superClass[funcName], object);; - } -}; - -bobj.displayElementWithAnimation = function (element) { - if(element != null) { - MochiKit.DOM.setOpacity(element, 0); //to reserve the element's space - MochiKit.Style.setDisplayForElement("block", element); - new MochiKit.Visual.appear(element, {duration: 0.5}); - } -}; - -/** - * Returns dimension of element when it is invisible.DOM.offsetHeight should be used when - * element is visible to avoid execution cost of this method - */ -bobj.getHiddenElementDimensions = function (element) { - var size = { w : 0, h : 0}; - if(element) { - var body = document.body; - var clonedNode = element.cloneNode(true); //clone and append the node to body as - var nodeStyle = clonedNode.style; - nodeStyle.display = ""; - nodeStyle.visibility = "hidden"; - nodeStyle.width = ""; - nodeStyle.height = ""; - nodeStyle.position = "absolute"; - nodeStyle.left = "-1000px"; - nodeStyle.top = "-1000px"; - body.appendChild(clonedNode); - size = { w : clonedNode.offsetWidth, h : clonedNode.offsetHeight}; - body.removeChild(clonedNode); - } - - return size; -} - -/** - * Checks for PDF reader that has the ability to process JavaScript. - * Currently, it checks for Adobe Acrobat Reader version >= 7 on IE and Version >= 8 on other browsers. - */ -bobj.hasPDFReaderWithJSFunctionality = function() { - if (navigator.plugins) { - var plugins = navigator.plugins; - for (var i=0, len=plugins.length; i < len; i++) { - if (plugins[i].description.indexOf('Adobe PDF Plug-In') != -1) { - return true; - } - } - } - - try { - var pdfReader = new ActiveXObject('AcroPDF.PDF.1'); - if (pdfReader) { - return true; - } - } catch (e) {} - - return false; -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/crv.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/crv.js deleted file mode 100644 index 2f2d3b284..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/crv.js +++ /dev/null @@ -1,536 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof(bobj) == 'undefined') { - bobj = {}; -} - -if (typeof(bobj.crv) == 'undefined') { - bobj.crv = {}; - - // Constants used in the viewer - bobj.crv.ActxPrintControl_CLSID = 'B7DA1CA9-1EF8-4831-868A-A767093EA685'; - bobj.crv.ActxPrintControl_Version = '13,0,15,1840'; - - // Configuration for ALL viewers in a page - // TODO The dhtmllib doesn't currently suport widgets from different locales - // on the same page. We will need that support for the viewer. - bobj.crv.config = { - isDebug : false, - scriptUri: null, // The uri for the viewer script dir (that holds crv.js) - skin: "skin_standard", - needFallback: true, - lang: "en", - useCompressedScripts: true, - useAsync : true, - indicatorOnly: false, - resources : { - 'HTMLPromptingSDK' : {isLoaded: false, path : '../../promptengine-compressed.js'}, - 'ParameterControllerAndDeps' : {isLoaded: false, path: '../../parameterUIController-compressed.js'} - }, - logging: { enabled: false, id: 0} - }; - - bobj.crv.logger = { - info: function(){ /* Do Nothing */} - }; - - // Udate configuration with properties from crv_config, if it exists - if (typeof(crv_config) == 'object') { - for (var i in crv_config) { - bobj.crv.config[i] = crv_config[i]; - } - } - - // If the uri for the bobj.crv script dir wasn't set, try to figure it out - if (!bobj.crv.config.scriptUri) { - var scripts = document.getElementsByTagName("script"); - var reCrvJs = /(.*)crv\.js$/i; - - for(var i = 0; i < scripts.length; i++) { - var src = scripts[i].getAttribute("src"); - if(!src) { continue; } - - var matches = src.match(reCrvJs); - - if(matches && matches.length) { - bobj.crv.config.scriptUri = matches[1]; - break; - } - } - - if (!bobj.crv.config.scriptUri ) { - bobj.crv.config.scriptUri = ''; - if (bobj.crv.config.isDebug) { - throw "bobj.crv.config.scriptUri is undefined"; - } - } - } - - /** - * Parse a URI into its constitutents as defined in RFC2396 - * - * @param uri [String] Uri to parse - * - * @return Returns object has string values for the uri's components - */ - bobj.parseUri = function(uri) { - var regExp = "^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"; - var result = uri.match(new RegExp(regExp)); - return { - scheme : result[2], - authority : result[4], - path : result[5], - query : result[7], - fragment : result[9] - }; - }; - - - bobj.crvUri = function(uri) { - return bobj.crv.config.scriptUri + uri; - }; - - /** - * A helper method for evaluating whether parent window is JSUnit test runner - */ - bobj.isParentWindowTestRunner = function() { - try { - var tempTop = top || window; - while(tempTop.top && tempTop.top != tempTop) { - tempTop = tempTop.top; - } - - return tempTop.jsUnitTestSuite !== undefined; - } - - catch(err){} - - return false; - }; - - bobj.skinUri = function(uri) { - return bobj.crvUri("../dhtmllib/images/") + bobj.crv.config.skin + "/" + uri; - }; - - /** - * Create a widget using json - * eg. - * createWidget({ - * cons: bobj.crv.myWidget, - * args: {foo: 'bar'}, - * children: [ {cons: ...}, ...] - * }); - * - * @param json [Object] Object representing the widget - * @return Returns the widget or null if creation failed - */ - bobj.crv.createWidget = function(json) { - if (!bobj.isObject(json)){ - return null; - } - - var constructor = json.cons; - if (bobj.isString(constructor)) { - try { - constructor = eval(constructor); - } - catch (err) { - if (bobj.crv.config.isDebug) { - throw "bobj.crv.createWidget: invalid constructor"; - } - } - } - - if (!bobj.isFunction(constructor)) { - if (bobj.crv.config.isDebug) { - throw "bobj.crv.createWidget: invalid constructor"; - } - return null; - } - - var widget = constructor(json.args); - - if (bobj.isArray(json.children)) { - if (widget.delayedBatchAdd) { - widget.delayedBatchAdd(json.children); - } - else if (widget.addChild){ - for (var i = 0, len = json.children.length; i < len; ++i) { - var child = bobj.crv.createWidget(json.children[i]); - widget.addChild(child); - } - } - } - - return widget; - }; - - /** - * Create a widget using bobj.crv.createWidget and write it to the document. - * If optional element is given, the innerHTML is written instead and scripts - * are executed. - * - * @param json [Object] Object representing the widget - * @return Returns the widget or null if creation failed - */ - bobj.crv.writeWidget = function(json, element) { - - var widget = bobj.crv.createWidget(json); - if (widget) { - if(element){ - var html = widget.getHTML(); - var ext = bobj.html.extractHtml(html); - var links = ext.links; - element.innerHTML = html; - for(var iLinks = 0, linksLen = links.length; iLinks < linksLen; ++iLinks){ - bobj.includeLink(links[iLinks]); - } - - var scripts = ext.scripts; - for (var iScripts = 0, scriptsLen = scripts.length; iScripts < scriptsLen; ++iScripts) { - var script = scripts[iScripts]; - if (!script) {continue;} - - if (script.text) { - try { - bobj.evalInWindow(script.text); - } - catch(err) {} - } - } - - var styleText = ""; - for (var i = 0, len = ext.styles.length; i < len ; i++) { - styleText += ext.styles[i].text + '\n'; - } - - if(styleText.length > 0) { - bobj.addStyleSheet(styleText); - } - } - else { - widget.write(); - } - } - return widget; - }; - - /** - * Initialize a widget. - * - * @param widx [Int] Widget index - * @param initElt [DOM Node, opt] The element that called the init event - */ - bobj.crv._initWidget = function(widx, initElt) { - try { - var widget = _widgets[widx]; - widget.init(); - - if (initElt) { - MochiKit.DOM.removeElement(initElt); - } - } - catch (err) { - if (bobj.crv.config.isDebug) { - var msg = "bobj.crv._initWidget: Couldn't initialize widget: "; - msg += 'widx=' + widx; - msg += ', type='; - if (!_widgets[widx]) { - msg += 'null'; - } - else if (bobj.isString(_widgets[widx].widgetType)) { - msg += _widgets[widx].widgetType; - } - else - { - msg += 'unknown'; - } - msg += ' because: ' + err; - throw msg; - } - } - }; - - /** - * Creates an hidden image tag that initializes a widget using its onload - * event. The tag should be appended to the html of the widget. - * - * Note: doesn't work in Opera 9, but we don't support that yet - * - * TODO nested widgets fail in Firefox because parent's init method has to - * be called after child's init method and the timing of the img onload - * events looks to be unpredictable. onerror might be more predictable if - * no src is specified... is it supported in Safari? - * - * @param widx [Int] Widget index - * - * @return Returns html that initializes the widget with index == widx - - bobj.crv.getInitHTML = function(widx) { - return bobj.html.IMG({ - style: {display:'none'}, - //onload: 'bobj.crv._initWidget(' + widx + ', this);', - onload: "alert('loading " + widx + "')", - src: bobj.crvUri("../dhtmllib/images/transp.gif") - }); - }*/ - - /** - * Returns HTML that auto-intializes a widget. - */ - bobj.crv.getInitHTML = function(widx) { - var scriptId = 'bobj_crv_getInitHTML_' + widx; - return ''; - }; - - bobj.crv._preloadProcessingIndicatorImages = function() { - var relativeImgPath = bobj.crvUri("../dhtmllib/images/" + bobj.crv.config.skin + "/"); - var images = []; - var imgNames = [ - "wait01.gif", - "dialogtitle.gif", - "dialogelements.gif", - "../transp.gif"]; - - for(var i = 0, len = imgNames.length; i < len; i++){ - images[i] = new Image(); - images[i].src = relativeImgPath + imgNames[i]; - } - }; - - bobj.crv._loadJavaScript = function(scriptFile) { - if (scriptFile) { - document.write(''); - } - }; - - /** - * Include the viewer's scripts in the document. - */ - bobj.crv._includeAll = function() { - - bobj.crv._includeLocaleStrings(); - - if (bobj.crv.config.useCompressedScripts) { - if (bobj.crv.config.indicatorOnly) { - bobj.crv._loadJavaScript('../../processindicator.js'); - } - else { - bobj.crv._loadJavaScript('../../allInOne.js'); - if(!bobj.crv.config.useAsync) { - for(var name in bobj.crv.config.resources) { - var resource = bobj.crv.config.resources[name]; - resource.isLoaded = true; - bobj.crv._loadJavaScript(resource.path); - } - } - if (bobj.crv.config.logging.enabled) { - bobj.crv._loadJavaScript('../log4javascript/log4javascript.js'); - } - } - return; - } - else { - // list of script uris relative to crv.js - var scripts = []; - if (bobj.crv.config.indicatorOnly) { - scripts = [ - '../MochiKit/Base.js', - '../dhtmllib/dom.js', - 'initDhtmlLib.js', - '../dhtmllib/dialog.js', - '../dhtmllib/waitdialog.js', - 'common.js', - 'Dialogs.js' - ]; - } - else { - scripts = [ - '../MochiKit/Base.js', - '../MochiKit/Async.js', - '../MochiKit/DOM.js', - '../MochiKit/Style.js', - '../MochiKit/Signal.js', - '../MochiKit/New.js', - '../MochiKit/Color.js', - '../MochiKit/Iter.js', - '../MochiKit/Visual.js', - '../log4javascript/log4javascript_uncompressed.js', - '../external/date.js', - '../dhtmllib/dom.js', - 'initDhtmlLib.js', - '../dhtmllib/palette.js', - '../dhtmllib/menu.js', - '../dhtmllib/psheet.js', - '../dhtmllib/treeview.js', - '../dhtmllib/dialog.js', - '../dhtmllib/waitdialog.js', - '../../prompting/js/promptengine_prompts2.js', - '../../prompting/js/promptengine_calendar2.js', - '../swfobject/swfobject.js', - 'common.js', - 'encoding.js', - 'html.js', - 'ImageSprites.js', - 'Toolbar.js', - 'Statusbar.js', - 'PanelNavigator.js', - 'PanelNavigatorItem.js', - 'PanelHeader.js', - 'LeftPanel.js', - 'GroupTreeNode.js', - 'GroupTree.js', - 'GroupTreeListener.js', - 'ToolPanel.js', - 'ReportPage.js', - 'ReportView.js', - 'ButtonList.js', - 'ReportAlbum.js', - 'Separator.js', - 'Viewer.js', - 'ViewerListener.js', - 'StateManager.js', - 'IOAdapters.js', - 'ArgumentNormalizer.js', - 'event.js', - 'PromptPage.js', - 'Dialogs.js', - 'StackedTab.js', - 'StackedPanel.js', - 'Parameter.js', - 'ParameterController.js', - 'Colors.js', - 'TextField.js', - 'TextCombo.js', - 'RangeField.js', - 'ParameterValueRow.js', - 'ParameterInfoRow.js', - 'OptionalParameterValueRow.js', - 'ParameterUI.js', - 'OptionalParameterUI.js', - 'ParameterDialog.js', - 'ParameterPanelToolbar.js', - 'ParameterPanel.js', - 'bobjcallback.js', - 'Calendar.js', - 'WarningPopup.js', - '../FlexParameterBridge.js', - 'ViewerFlexParameterAdapter.js', - 'SignalDisposer.js' - ]; - } - - if(bobj.isParentWindowTestRunner()) { - scripts.push('../jsunit/tests/crViewerTestSuite.js'); - } - - for (var i = 0, len = scripts.length; i < len; i++) { - document.write(''); - } - - for(var i in bobj.crv.config.resources){ - //all Resources are automatically loaded at initialization when useCompressedScripts is false (in debug mode) - bobj.crv.config.resources[i].isLoaded = true; - } - } - }; - - bobj.crv.getLangCode = function () { - var splitChar = '_'; // default to java's locale split character - if (bobj.crv.config.lang.indexOf ('-') > 0) { - splitChar = '-'; // must be .Net's locale split - } - var lang = bobj.crv.config.lang.split(splitChar); - - // TODO (Julian): Java server side now handles the chinese variants due to language pack fix - // We'll do the same for WebForm and then the following code can be removed. - // For Chinese locales "zh" we only support "TW" & "CN" - // zh_HK / zh_MO / zh_MY, are all mapped to zh_TW, everything else is zh_CN - if(lang[0].toLowerCase() == "zh") { - if(lang.length > 1 ) { - var region = lang[1].toUpperCase(); - if(region == "TW" || region == "HK" || region == "MO" || region == "MY") { - lang[1] = "TW"; - } else { - lang[1] = "CN"; - } - } else { - lang[1] = "CN"; - } - } - - // .NET webform viewers don't support variants from server side - until we fix this chop-off variant code for all other than "zh" - if (lang.length > 1 && (!bobj.crv.config.needFallback || lang[0].toLowerCase() == "zh")) { - - lang = lang[0] + "_" + lang[1]; - } - else { - lang = lang[0]; - } - - return lang; - }; - - bobj.crv._includeLocaleStrings = function() { - var lang = bobj.crv.getLangCode (); - - if (bobj.crv.config.needFallback) { - bobj.crv._loadJavaScript('../../allStrings_en.js'); - if (lang == 'en') return; // DO NOT load 'en' strings below again! - } - - bobj.crv._loadJavaScript('../../allStrings_' + lang + '.js'); - }; - - - if (typeof MochiKit == 'undefined') { - MochiKit = {}; - } - if (typeof MochiKit.__export__ == 'undefined') { - MochiKit.__export__ = false; // don't export symbols into the global namespace - } - - if (!bobj.crv.config.useAsync) bobj.crv._preloadProcessingIndicatorImages(); - bobj.crv._includeAll(); - - bobj.crv.initLog = function(logLevel, handlerUri) { - bobj.crv.logger = log4javascript.getLogger(); - log4javascript.setEnabled(bobj.crv.config.logging.enabled); - - if (bobj.crv.config.logging.enabled) { - bobj.crv.logger.setLevel(logLevel); - var uri = handlerUri + '?ServletTask=Log'; - var ajaxAppender = new log4javascript.AjaxAppender(uri); - bobj.crv.logger.addAppender(ajaxAppender); - - var oldLogFunc = bobj.crv.logger.log; - bobj.crv.logger.log = function(level, message, exception) { - oldLogFunc(level, bobj.crv.config.logging.id + ' ' + message, exception); - }; - - bobj.crv.logger.info('Logging Initialized'); - } - }; - - bobj.crv.invokeActionAdapter = function (args) { - var n = "invokeAction"; - var f = window[n]; - if (!f && window.parent){ - f = window.parent[n]; - } - - if (f){ - f(args.url, args.actionId, args.objectId, args.containerId, args.actionType, null); - } - }; -} - -if(typeof(Sys)!=='undefined' && typeof(Sys.Application)!== 'undefined' && typeof(Sys.Application.notifyScriptLoaded)!== 'undefined') { - Sys.Application.notifyScriptLoaded(); -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/dom.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/dom.js deleted file mode 100644 index 7912d8943..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/dom.js +++ /dev/null @@ -1,6 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof(bobj.dom) == 'undefined') { - bobj.dom = {}; -} - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/encoding.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/encoding.js deleted file mode 100644 index 37e8eb219..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/encoding.js +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof bobj == 'undefined') { - bobj = {}; -} - -bobj.encodeUTF8 = function(string) { - var arr = []; - var strLen = string.length; - for(var i = 0; i < strLen; i++) { - var c = string.charCodeAt(i); - if(c < 0x80) { - arr.push(c); - } - else if(c < 0x0800) { - arr.push((c >> 6) | 0xc0); - arr.push(c & 0x3f | 0x80); - } - else if(c < 0xd800 || c >= 0xe000) { - arr.push((c >> 12) | 0xe0); - arr.push((c >> 6) & 0x3f | 0x80); - arr.push(c & 0x3f | 0x80); - } - else if(c < 0xdc00) { - var c2 = string.charCodeAt(i + 1); - if(isNaN(c2) || c2 < 0xdc00 || c2 >= 0xe000) { - arr.push(0xef, 0xbf, 0xbd); - continue; - } - i++; - val = ((c & 0x3ff) << 10) | (c2 & 0x3ff); - val += 0x10000; - arr.push((val >> 18) | 0xf0); - arr.push((val >> 12) & 0x3f | 0x80); - arr.push((val >> 6) & 0x3f | 0x80); - arr.push(val & 0x3f | 0x80); - } - else { - arr.push(0xef, 0xbf, 0xbd); - } - } - return arr; -}; - -bobj.encodeBASE64 = function(byteArray) { - var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - var arr = []; - var c1, c2, c3, e1, e2, e3, e4; - var i = 0, arrLen = byteArray.length; - - while(i < arrLen) { - c1 = byteArray[i++]; - c2 = byteArray[i++]; - c3 = byteArray[i++]; - - e1 = c1 >> 2; - e2 = ((c1 & 3) << 4) | (c2 >> 4); - e3 = ((c2 & 15) << 2) | (c3 >> 6); - e4 = c3 & 63; - - if (isNaN(c2)) { - e3 = e4 = 64; - } else if(isNaN(c3)) { - e4 = 64; - } - arr.push(keyStr.charAt(e1)); - arr.push(keyStr.charAt(e2)); - arr.push(keyStr.charAt(e3)); - arr.push(keyStr.charAt(e4)); - } - return arr.join(''); -}; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/event.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/event.js deleted file mode 100644 index de821af77..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/event.js +++ /dev/null @@ -1,136 +0,0 @@ -/** - * Publish/Subscribe event system for anonymous message passing - * - */ - -if (typeof bobj == 'undefined') { - bobj = {}; -} - -if (typeof bobj.event == 'undefined') { - bobj.event = {}; - bobj.event._topicSubscriptions = {}; - bobj.event._globalSubscriptions = []; -} - -/** - * Publish an event for subscribers to receive - * - * @param topic [String] The event topic - * @param arguments Unnamed args will be passed to subscribers - */ -bobj.event.publish = function(topic) { - var args = bobj.slice(arguments, 1); - - var topicSubs = bobj.event._topicSubscriptions[topic]; - if (topicSubs) { - for (var i = 0; i < topicSubs.length; ++i) { - topicSubs[i]._notify.apply(null, args); - } - } - - var globalSubs = bobj.event._globalSubscriptions; - for (var j = 0; j < globalSubs.length; ++j) { - globalSubs[j]._notify.apply(null, args); - } -}; - -/** - * Subscribe to a topic - * - * @param topic [String] The event topic - * @param callback [Function] Function to be call with topic's arguments - * @param target [Object] Object to notify (requires methName) - * @param methName [String] Name of method to call when target is notified - * - * Arguments may be passed in any of the following combinations: - * (topic, target, methName) - * (topic, callback) - * (target, methName) - * (callback) - * - * When a topic is not specified, the subscriber receives all topics - * - * @return Subscription object that can be used to unsubscribe - */ -bobj.event.subscribe = function() { - var nmlr = bobj.event.subscribe._normalizer; - if (!nmlr) { - nmlr = bobj.event.subscribe._normalizer = new bobj.ArgumentNormalizer(); - - // If 3 args: (topic, target, methName) - nmlr.addRule('topic', 'target', 'methName'); - - // If 2 args and first is a string: (topic, callback) - nmlr.addRule([bobj.isString, 'topic'], 'callback'); - - // If 2 args: (target, methName) - nmlr.addRule('target', 'methName'); - - // If 1 arg: (callback) - nmlr.addRule('callback'); - } - - return bobj.event.kwSubscribe(nmlr.normalizeArray(arguments)); -}; - -/** - * Subscribe to a topic using keyword arguments - * - * @param kwArgs.topic [String] The event topic - * @param kwArgs.callback [Function] Function to be call with topic's arguments - * @param kwArgs.target [Object] Object to notify (requires methName) - * @param kwArgs.methName [String] Name of method to call when target is notified - * - * @see bobj.event.subscribe - * - * @return Subscription object that can be used to unsubscribe - */ -bobj.event.kwSubscribe = function(kwArgs) { - var bind = MochiKit.Base.bind; - var subscription = {}; - - if (kwArgs.callback) { - subscription._notify = kwArgs.callback; - } - else { - subscription._notify = bind(kwArgs.target[kwArgs.methName], kwArgs.target); - } - - if (kwArgs.topic) { - subscription.topic = kwArgs.topic; - - var subs = bobj.event._topicSubscriptions; - if (!subs[kwArgs.topic]) { - subs[kwArgs.topic] = []; - } - subs[kwArgs.topic].push(subscription); - } - else { - bobj.event._globalSubscriptions.push(subscription); - } - - return subscription; -}; - -/** - * Unsubscribe from a topic - * - * @param subscription [Subscription] The object returned by subscribe - */ -bobj.event.unsubscribe = function(subscription) { - var subsList = bobj.event._globalSubscriptions; - - if (subscription.topic) { - subsList = bobj.event._topicSubscriptions[subscription.topic]; - } - - if (subsList) { - var idx = MochiKit.Base.findIdentical(subsList, subscription); - if (idx != -1) { - subsList.splice(idx, 1); // remove the subscription - delete subscription._notify; // prevent leaks - } - } -}; - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/html.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/html.js deleted file mode 100644 index af83b4931..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/crviewer/html.js +++ /dev/null @@ -1,219 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -if (typeof(bobj.html) == 'undefined') { - bobj.html = {}; -} - -bobj.html.openTag = function(tag, atts) { - var html = '<' + tag; - - for (var i in atts) { - - html += ' ' + i + '="'; - - var value = atts[i]; - - if (bobj.isArray(value)) { - value = value.join(' '); - } - else if (bobj.isObject(value)) { - // create a string of the form "foo:bar;baz:garply" - var stringValue = "" - for (var k in value) { - stringValue += k + ':' + value[k] + ';'; - } - value = stringValue; - } - - html += value + '"'; - } - - return html + '>' -}; - -bobj.html.closeTag = function(tag) { - return ''; -}; - -bobj.html.createHtml = function(tag, atts, innerHtml /*, innerHtml...*/) { - var html = bobj.html.openTag(tag, atts); - - for (var i = 2; i < arguments.length; ++i) { - html += arguments[i]; - } - - html += bobj.html.closeTag(tag); - return html; -}; - -bobj.html.TABLE = MochiKit.Base.partial(bobj.html.createHtml, 'table'); -bobj.html.UL = MochiKit.Base.partial(bobj.html.createHtml, "ul"); -bobj.html.OL = MochiKit.Base.partial(bobj.html.createHtml, "ol"); -bobj.html.LI = MochiKit.Base.partial(bobj.html.createHtml, "li"); -bobj.html.TD = MochiKit.Base.partial(bobj.html.createHtml, "td"); -bobj.html.TR = MochiKit.Base.partial(bobj.html.createHtml, "tr"); -bobj.html.TBODY = MochiKit.Base.partial(bobj.html.createHtml, "tbody"); -bobj.html.THEAD = MochiKit.Base.partial(bobj.html.createHtml, "thead"); -bobj.html.TFOOT = MochiKit.Base.partial(bobj.html.createHtml, "tfoot"); -bobj.html.TABLE = MochiKit.Base.partial(bobj.html.createHtml, "table"); -bobj.html.TH = MochiKit.Base.partial(bobj.html.createHtml, "th"); -bobj.html.INPUT = MochiKit.Base.partial(bobj.html.createHtml, "input"); -bobj.html.SPAN = MochiKit.Base.partial(bobj.html.createHtml, "span"); -bobj.html.A = MochiKit.Base.partial(bobj.html.createHtml, "a"); -bobj.html.DIV = MochiKit.Base.partial(bobj.html.createHtml, "div"); -bobj.html.IMG = MochiKit.Base.partial(bobj.html.createHtml, "img"); -bobj.html.BUTTON = MochiKit.Base.partial(bobj.html.createHtml, "button"); -bobj.html.TT = MochiKit.Base.partial(bobj.html.createHtml, "tt"); -bobj.html.PRE = MochiKit.Base.partial(bobj.html.createHtml, "pre"); -bobj.html.H1 = MochiKit.Base.partial(bobj.html.createHtml, "h1"); -bobj.html.H2 = MochiKit.Base.partial(bobj.html.createHtml, "h2"); -bobj.html.H3 = MochiKit.Base.partial(bobj.html.createHtml, "h3"); -bobj.html.BR = MochiKit.Base.partial(bobj.html.createHtml, "br"); -bobj.html.HR = MochiKit.Base.partial(bobj.html.createHtml, "hr"); -bobj.html.LABEL = MochiKit.Base.partial(bobj.html.createHtml, "label"); -bobj.html.TEXTAREA = MochiKit.Base.partial(bobj.html.createHtml, "textarea"); -bobj.html.FORM = MochiKit.Base.partial(bobj.html.createHtml, "form"); -bobj.html.P = MochiKit.Base.partial(bobj.html.createHtml, "p"); -bobj.html.SELECT = MochiKit.Base.partial(bobj.html.createHtml, "select"); -bobj.html.OPTION = MochiKit.Base.partial(bobj.html.createHtml, "option"); -bobj.html.OPTGROUP = MochiKit.Base.partial(bobj.html.createHtml, "optgroup"); -bobj.html.LEGEND = MochiKit.Base.partial(bobj.html.createHtml, "legend"); -bobj.html.FIELDSET = MochiKit.Base.partial(bobj.html.createHtml, "fieldset"); -bobj.html.STRONG = MochiKit.Base.partial(bobj.html.createHtml, "strong"); -bobj.html.CANVAS = MochiKit.Base.partial(bobj.html.createHtml, "canvas"); -bobj.html.IFRAME = MochiKit.Base.partial(bobj.html.createHtml, "iframe"); -bobj.html.SCRIPT = MochiKit.Base.partial(bobj.html.createHtml, "script"); - - -/** - * Extract scripts from an html fragment. - * - * @param html [String] html fragment - * - * @return [Object] Returns an object with a list of scripts and html without - * scripts - * i.e. {scripts: [{src:[String], text:[String]},...], html:[String]} - */ -bobj.html.extractScripts = function(html) { - // Match script tags with or without closing tags - // 1 - Attributes of tag that doesn't have closing tag (e.g. - - - - - - - - - - -
    -
    - - Filter List

    - Drag and Drop is enabled (CTRL to copy). You can use DEL to delete an item
    Double click on a node to change is kind (AND or OR)
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Add an item
    Add a custom item
    Add a node
    Remove a node or an item
    index
    - - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/basicDialog.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/basicDialog.html deleted file mode 100644 index b96ba4dd5..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/basicDialog.html +++ /dev/null @@ -1,314 +0,0 @@ - - - - - - - Basic dialog window - - - - - - - - - - - - - - - - - - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - this is a sample text - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/blockWhileWait.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/blockWhileWait.html deleted file mode 100644 index c6d093bdd..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/blockWhileWait.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - -
    -
    - -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/bolist.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/bolist.html deleted file mode 100644 index 01e842381..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/bolist.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - - - -
    -
    - - - - - - - - -
    Add an item
    -
    - -
    - - - - Wrapped BO List

    - -
    To delete an item, select it and press DEL, to move an item, drag and drop it (also between lists); to copy an item, use CTRL with drag and drop
    -
    - -
    - -
    - Vertical BO List

    -
    - -
    - -
    - Horizontal BO List

    -
    - -
    - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/borderswidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/borderswidget.html deleted file mode 100644 index 528f08706..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/borderswidget.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - -
    -
    - - IconBordersMenuwidget

    - -
    - -
    -
    - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/buttons.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/buttons.html deleted file mode 100644 index 17ed01415..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/buttons.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - -
    -
    - - - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/calendar.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/calendar.html deleted file mode 100644 index 88c0819f1..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/calendar.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - -
    -
    - - Calendar

    -
    - -
    -

    -
    - -
    -

    -
    -

    - resize text - - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/checktree.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/checktree.html deleted file mode 100644 index c777589ca..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/checktree.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - -
    -
    - - Tree View with check boxes

    - -
    - -
    -
    - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/default.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/default.html deleted file mode 100644 index d2509b746..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/default.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - -Library samples - - - - - - - - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim.gif deleted file mode 100644 index f388e3d54..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_close.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_close.gif deleted file mode 100644 index 309ee9ffa..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_close.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_o.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_o.gif deleted file mode 100644 index e22583eec..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_o.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_open.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_open.gif deleted file mode 100644 index 34cfb4422..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/dim_open.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/empty.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/empty.html deleted file mode 100644 index 323df6a38..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/empty.html +++ /dev/null @@ -1,9 +0,0 @@ - - - -Library samples - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/eventsDialog.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/eventsDialog.html deleted file mode 100644 index c12352119..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/eventsDialog.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - Basic events window - - - - - - - - - - - this is a sample text - - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/fieldswidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/fieldswidget.html deleted file mode 100644 index b457c3320..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/fieldswidget.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - -
    -
    - - Text Field with help text
    - -


    - - Text Field maxchar = 10
    - -


    - Int Field min = -10, max = 1000, maxchar = 5
    - -


    - Float Field Value =3.50, min = 0, max = 10, precision = 2 decimales, maxchar = 7
    - -


    - -


    - txtArea = newTextAreaWidget("txtArea", 3, 36); - - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/format.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/format.gif deleted file mode 100644 index d9fca033d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/format.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/framezone.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/framezone.html deleted file mode 100644 index c96b1df5d..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/framezone.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - -
    -
    - - Premier exemple fait par Minh - -
    - - date: 23 janvier 2004 - - -
    - - Zone Retaillable - - - -
    -
    - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/grabber.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/grabber.html deleted file mode 100644 index d58a36c2e..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/grabber.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/iconlistpopupwidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/iconlistpopupwidget.html deleted file mode 100644 index 6665735aa..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/iconlistpopupwidget.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - -
    -
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    - Test IconListPopupWidget by right clicking here. The IconListPopupWidget should appear...
    -
    -
    -

    - -
    - -
    - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/iconscrollmenuwidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/iconscrollmenuwidget.html deleted file mode 100644 index 8b58e8a92..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/iconscrollmenuwidget.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - -
    -
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    - Test scrollMenuWidget by clicking here. The scrollMenuWidget should appear...
    -
    - -

    - -
    - Icon scroll menu widget -

    - -
    -
    -
    - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/imgtabs.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/imgtabs.gif deleted file mode 100644 index bc612f976..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/imgtabs.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/inconwidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/inconwidget.html deleted file mode 100644 index 40e53127e..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/inconwidget.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - - - - - - - - - -
    -
    - - Icon widget with button behaviour: (click to disable/enable next icon)
    - - - Disabled Icon widget with button behaviour:
    - - -

    Icon widget with check box behaviour:
    - - -

    Icon widget with toggle behaviour:
    - - - -

    Icon widget with radio button behaviour:

    -
    - - - -
    - - Color menu widget

    - -
    - -
    - - Icon menu widget

    - -
    - - Button menu widget

    - -
    - - - Button scroll menu widget

    - -
    - - Horizontal Table Icon widget

    - -
    - - Vertical Table Icon widget

    - -
    - - -
    -
    - - - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/infowidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/infowidget.html deleted file mode 100644 index 5b58cce93..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/infowidget.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - -
    -
    - - Info zone:

    - -


    - Change the text -
    - Change the title -
    - Change the bold title -
    - - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/lov.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/lov.html deleted file mode 100644 index 1b3a8a713..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/lov.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/measure.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/measure.gif deleted file mode 100644 index 1b2099135..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/measure.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/measure_o.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/measure_o.gif deleted file mode 100644 index 4397eb94d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/measure_o.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/menu.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/menu.html deleted file mode 100644 index d978c3fad..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/menu.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - sdfjgfds lkfjglk sfdkg dflskjg lsdfgldfsjlgk sdfkg lsfdj glsdfjg lksfdjklg sdflk g - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/navigation.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/navigation.html deleted file mode 100644 index 9ded9a802..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/navigation.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - Navigation page - - - - - -
    - - Simple widgets

    - - - - - - - - - - - - - - - - - - - -
    Icon widgetsInfo widget
    FrameZone widgetGrabber Widget
    Field widgets text, int, floatButton Widget
    Tooltip widget
    - - - -


    - List and tree widgets

    - - - - - - - - - - - - - - - - -
    Tree widgetBOList widget
    Filter widgetPrompt tree widget
    Simple list widgetCheck Tree widget
    - -


    - GUI Emulation Widgets

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Menu widgetTab panel widget
    Dialog Box WidgetWaitDialog Widget
    Office-like palettesLOV Widget
    Calendar WidgetScrollTabs
    TextCombo WidgetIconScrollMenu Widget
    iconListPopup WidgetPane Manager
    Borders Widget
    - - - -
    - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/palettes.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/palettes.html deleted file mode 100644 index c2803a1ce..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/palettes.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/pane.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/pane.html deleted file mode 100644 index 5ea4d307f..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/pane.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/parent_dialog.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/parent_dialog.html deleted file mode 100644 index 05af2c79b..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/parent_dialog.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - -
    - - - -
    - - - ' - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/progressBar.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/progressBar.html deleted file mode 100644 index 221846eda..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/progressBar.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - Progress Bar - - - - - - - - - - - - - - - - -
    - -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/prompttree.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/prompttree.html deleted file mode 100644 index e4061a771..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/prompttree.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - -
    -
    - - Tree View

    -
    - -
    - - change
    - change with empty values
    - -
    - -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/qualif.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/qualif.gif deleted file mode 100644 index 9a7985099..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/qualif.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/scrolltabs.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/scrolltabs.html deleted file mode 100644 index 0f0e10d5a..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/scrolltabs.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -
    -
    - -


    - Tab bar

    -
    - -
    - -
    - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/simplelist.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/simplelist.html deleted file mode 100644 index 40e3805e1..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/simplelist.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - -
    -
    - - - - - - - - - - -

    - - - -

    -
    this is a sample text using dialogzone CSS class
    -
    this is a sample text using dialogzonebold CSS class
    - -
    -
    - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/skinIntl.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/skinIntl.html deleted file mode 100644 index c4a3dae03..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/skinIntl.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - Skin and Language - - - - - - - - - - - - - - -
    skin:language:
    - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/tabs.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/tabs.html deleted file mode 100644 index cf1d72ce7..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/tabs.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - -
    -
    - - Single Top Tab, no image

    - - -
    -

    - Single Bottom Tab, no image

    - - -
    -
    - - - -


    - Tab bar

    -
    - -
    - -
    - - - -


    - Tabdeb zone

    - - - - - test du premier tab

    - test test - - - - test du deuxieme tab
    - qsd fqsd dsqf sqdf test test dkjsfhqsdk kqsdh kjqdshf kjdsqh kf qsdk fkqsdh kjsdqhf sdqjk hfksqdhf kjqsdkjsqd kjhsdqk hksdjq - - - - - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/textcombowidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/textcombowidget.html deleted file mode 100644 index b315a5f81..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/textcombowidget.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - -
    -
    - - TextCombo widget

    - -
    - - - - -
    - -
    -
    - - - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/tooltipwidget.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/tooltipwidget.html deleted file mode 100644 index 1c17ba7bd..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/tooltipwidget.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - -
    -
    - - Tooltip widget

    - Move you mouse over here -
    - Move you mouse over here -
    - -
    -
    - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/treeicons.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/treeicons.gif deleted file mode 100644 index 3e06537b3..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/treeicons.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/treeview.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/treeview.html deleted file mode 100644 index c5882ce1c..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/treeview.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - - -
    -
    - - Tree View

    - - - -
    - -

    Rewrite Tree -

    -
    -
    -
    -
    -
    -
    -
    - - - -

    Rewrite Tree No Icons -
    - - - -

    -
    -
    -
    -
    - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_close.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_close.gif deleted file mode 100644 index ff97209cc..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_close.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_o.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_o.gif deleted file mode 100644 index 5872ca22d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_o.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_open.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_open.gif deleted file mode 100644 index a0343b0d6..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/unv_open.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/waitDialog.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/waitDialog.html deleted file mode 100644 index ad242ea18..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/samples/waitDialog.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - Waiting dialog window - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/treeview.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/treeview.js deleted file mode 100644 index fa9a91864..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/treeview.js +++ /dev/null @@ -1,3027 +0,0 @@ -// - - - - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/validator/validator_res.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/validator/validator_res.html deleted file mode 100644 index 95725ab30..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/validator/validator_res.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - -
    Restrict to file:
    Restrict children of tag with id:

        

    -

    - - - - - - \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/waitdialog.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/waitdialog.js deleted file mode 100644 index a28cb36d8..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/dhtmllib/waitdialog.js +++ /dev/null @@ -1,220 +0,0 @@ -// ','','','','
    ','
    ','
    ','Filters:','','','','','','','','
    ','','
    ','Options:','','','','','','','
    ','
    ','
    ','
    ','','' ]};function ConsoleAppender(){}var consoleAppenderIdCounter=1;ConsoleAppender.prototype=new Appender();ConsoleAppender.prototype.create=function(inPage,containerElement,layout,lazyInit,focusConsoleWindow,useOldPopUp,complainAboutPopUpBlocking,newestMessageAtTop,scrollToLatestMessage,initiallyMinimized,width,height,reopenWhenClosed,maxMessages){var appender=this;if(layout){this.setLayout(layout)}else{this.setLayout(this.defaults.layout)}var initialized=false;var consoleWindowLoaded=false;var queuedLoggingEvents=[];var isSupported=true;var consoleAppenderId=consoleAppenderIdCounter++;lazyInit=extractBooleanFromParam(lazyInit,true);newestMessageAtTop=extractBooleanFromParam(newestMessageAtTop,this.defaults.newestMessageAtTop);scrollToLatestMessage=extractBooleanFromParam(scrollToLatestMessage,this.defaults.scrollToLatestMessage);width=width?width:this.defaults.width;height=height?height:this.defaults.height;maxMessages=maxMessages?maxMessages:this.defaults.maxMessages;var init,safeToAppend,getConsoleWindow;var appenderName=inPage?"InPageAppender":"PopUpAppender";var checkCanConfigure=function(configOptionName){if(initialized){handleError(appenderName+": configuration option '"+configOptionName+"' may not be set after the appender has been initialized");return false}return true};this.isNewestMessageAtTop=function(){return newestMessageAtTop};this.setNewestMessageAtTop=function(newestMessageAtTopParam){newestMessageAtTop=bool(newestMessageAtTopParam);if(consoleWindowLoaded&&isSupported){getConsoleWindow().setNewestAtTop(newestMessageAtTop)}};this.isScrollToLatestMessage=function(){return scrollToLatestMessage};this.setScrollToLatestMessage=function(scrollToLatestMessageParam){scrollToLatestMessage=bool(scrollToLatestMessageParam);if(consoleWindowLoaded&&isSupported){getConsoleWindow().setScrollToLatest(scrollToLatestMessage)}};this.getWidth=function(){return width};this.setWidth=function(widthParam){if(checkCanConfigure("width")){width=extractStringFromParam(widthParam,width)}};this.getHeight=function(){return height};this.setHeight=function(heightParam){if(checkCanConfigure("height")){height=extractStringFromParam(heightParam,height)}};this.getMaxMessages=function(){return maxMessages};this.setMaxMessages=function(maxMessagesParam){maxMessages=extractIntFromParam(maxMessagesParam,maxMessages);if(consoleWindowLoaded&&isSupported){getConsoleWindow().setMaxMessages(maxMessages)}};this.append=function(loggingEvent){if(isSupported){queuedLoggingEvents.push(loggingEvent);var isSafeToAppend=safeToAppend();if(!initialized||(consoleClosed&&reopenWhenClosed)){init()}if(safeToAppend()){appendQueuedLoggingEvents()}}};var appendQueuedLoggingEvents=function(loggingEvent){while(queuedLoggingEvents.length>0){var currentLoggingEvent=queuedLoggingEvents.shift();var formattedMessage=appender.getLayout().format(currentLoggingEvent);if(appender.getLayout().ignoresThrowable()){formattedMessage+=currentLoggingEvent.getThrowableStrRep()}getConsoleWindow().log(currentLoggingEvent.level,formattedMessage)}if(focusConsoleWindow){getConsoleWindow().focus()}};var writeHtml=function(doc){var lines=getConsoleHtmlLines();doc.open();for(var i=0;i";iframeContainerDiv.innerHTML=iframeHtml;consoleClosed=false;var iframeDocumentExistsTest=function(win){return bool(win)&&bool(win.document)};if(iframeDocumentExistsTest(getConsoleWindow())){writeToDocument()}else{pollConsoleWindow(iframeDocumentExistsTest,writeToDocument,initErrorMessage)}initialized=true};getConsoleWindow=function(){var iframe=window.frames[iframeId];if(iframe){return iframe}};safeToAppend=function(){if(isSupported&&!consoleClosed){if(!consoleWindowLoaded&&getConsoleWindow()&&getConsoleWindow().loaded){consoleWindowLoaded=true}return consoleWindowLoaded}return false}}else{useOldPopUp=extractBooleanFromParam(useOldPopUp,appender.defaults.useOldPopUp);complainAboutPopUpBlocking=extractBooleanFromParam(complainAboutPopUpBlocking,appender.defaults.complainAboutPopUpBlocking);reopenWhenClosed=extractBooleanFromParam(reopenWhenClosed,this.defaults.reopenWhenClosed);this.isUseOldPopUp=function(){return useOldPopUp};this.setUseOldPopUp=function(useOldPopUpParam){if(checkCanConfigure("useOldPopUp")){useOldPopUp=bool(useOldPopUpParam)}};this.isComplainAboutPopUpBlocking=function(){return complainAboutPopUpBlocking};this.setComplainAboutPopUpBlocking=function(complainAboutPopUpBlockingParam){if(checkCanConfigure("complainAboutPopUpBlocking")){complainAboutPopUpBlocking=bool(complainAboutPopUpBlockingParam)}};this.isFocusPopUp=function(){return focusConsoleWindow};this.setFocusPopUp=function(focusPopUpParam){focusConsoleWindow=bool(focusPopUpParam)};this.isReopenWhenClosed=function(){return reopenWhenClosed};this.setReopenWhenClosed=function(reopenWhenClosedParam){reopenWhenClosed=bool(reopenWhenClosedParam)};this.close=function(){try{popUp.close()}catch(e){}consoleClosed=true};var popUp;init=function(){var windowProperties="width="+width+",height="+height+",status,resizable";var windowName="PopUp_"+location.host.replace(/[^a-z0-9]/gi,"_")+"_"+consoleAppenderId;if(!useOldPopUp){windowName=windowName+"_"+uniqueId}function finalInit(){consoleWindowLoaded=true;getConsoleWindow().setNewestAtTop(newestMessageAtTop);getConsoleWindow().setScrollToLatest(scrollToLatestMessage);getConsoleWindow().setMaxMessages(maxMessages);appendQueuedLoggingEvents()}try{popUp=window.open("",windowName,windowProperties);consoleClosed=false;if(popUp){if(useOldPopUp&&popUp.loaded){popUp.mainPageReloaded();finalInit()}else{writeHtml(popUp.document);var popUpLoadedTest=function(win){return bool(win)&&win.loaded};if(popUp.loaded){finalInit()}else{pollConsoleWindow(popUpLoadedTest,finalInit,"PopUpAppender.init: unable to create console window")}}}else{isSupported=false;logLog.warn("PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender");if(complainAboutPopUpBlocking){handleError("log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging.")}}}catch(ex){handleError("PopUpAppender.init: error creating pop-up",ex)}initialized=true};getConsoleWindow=function(){return popUp};safeToAppend=function(){if(isSupported&&!isUndefined(popUp)&&!consoleClosed){if(popUp.closed||(consoleWindowLoaded&&isUndefined(popUp.closed))){consoleClosed=true;logLog.debug("PopUpAppender: pop-up closed");return false}if(!consoleWindowLoaded&&popUp.loaded){consoleWindowLoaded=true}}return isSupported&&consoleWindowLoaded&&!consoleClosed}}if(enabled&&!lazyInit){init()}this.getConsoleWindow=getConsoleWindow};var PopUpAppender=function(lazyInit,layout,focusPopUp,useOldPopUp,complainAboutPopUpBlocking,newestMessageAtTop,scrollToLatestMessage,reopenWhenClosed,width,height,maxMessages){var focusConsoleWindow=extractBooleanFromParam(focusPopUp,this.defaults.focusPopUp);this.create(false,null,layout,lazyInit,focusConsoleWindow,useOldPopUp,complainAboutPopUpBlocking,newestMessageAtTop,scrollToLatestMessage,null,width,height,reopenWhenClosed,maxMessages)};PopUpAppender.prototype=new ConsoleAppender();PopUpAppender.prototype.defaults={layout:new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"),focusPopUp:false,lazyInit:true,useOldPopUp:true,complainAboutPopUpBlocking:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:"600",height:"400",reopenWhenClosed:false,maxMessages:null};PopUpAppender.prototype.toString=function(){return "[PopUpAppender]"};log4javascript.PopUpAppender=PopUpAppender;var InPageAppender=function(containerElement,lazyInit,layout,initiallyMinimized,newestMessageAtTop,scrollToLatestMessage,width,height,maxMessages){this.create(true,containerElement,layout,lazyInit,false,null,null,newestMessageAtTop,scrollToLatestMessage,initiallyMinimized,width,height,null,maxMessages)};InPageAppender.prototype=new ConsoleAppender();InPageAppender.prototype.defaults={layout:new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"),initiallyMinimized:false,lazyInit:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:"100%",height:"250px",maxMessages:null};InPageAppender.prototype.toString=function(){return "[InPageAppender]"};log4javascript.InPageAppender=InPageAppender;log4javascript.InlineAppender=InPageAppender})();var BrowserConsoleAppender=function(layout){if(layout){this.setLayout(layout)}};BrowserConsoleAppender.prototype=new log4javascript.Appender();BrowserConsoleAppender.prototype.layout=new NullLayout();BrowserConsoleAppender.prototype.threshold=Level.DEBUG;BrowserConsoleAppender.prototype.append=function(loggingEvent){var appender=this;var getFormattedMessage=function(){var layout=appender.getLayout();var formattedMessage=layout.format(loggingEvent);if(layout.ignoresThrowable()&&loggingEvent.exception){formattedMessage+=loggingEvent.getThrowableStrRep()}return formattedMessage};if((typeof opera!="undefined")&&opera.postError){opera.postError(getFormattedMessage())}else if(window.console&&window.console.log){var formattedMesage=getFormattedMessage();if(window.console.debug&&Level.DEBUG.isGreaterOrEqual(loggingEvent.level)){window.console.debug(formattedMesage)}else if(window.console.info&&Level.INFO.equals(loggingEvent.level)){window.console.info(formattedMesage)}else if(window.console.warn&&Level.WARN.equals(loggingEvent.level)){window.console.warn(formattedMesage)}else if(window.console.error&&loggingEvent.level.isGreaterOrEqual(Level.ERROR)){window.console.error(formattedMesage)}else{window.console.log(formattedMesage)}}};BrowserConsoleAppender.prototype.toString=function(){return "[BrowserConsoleAppender]"};log4javascript.BrowserConsoleAppender=BrowserConsoleAppender})(); \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_stub.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_stub.js deleted file mode 100644 index 65e3d3b84..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_stub.js +++ /dev/null @@ -1 +0,0 @@ -var log4javascript;(function(){function ff(){return function(){}}function copy(obj,props){for(var i in props){obj[i]=props[i]}}var f=ff();var Logger=ff();copy(Logger.prototype,{addAppender:f,removeAppender:f,removeAllAppenders:f,log:f,setLevel:f,getLevel:f,trace:f,debug:f,info:f,warn:f,error:f,fatal:f});var getLogger=function(){return new Logger()};log4javascript={isStub:true,version:"dummy",logLog:{setQuietMode:f,setAlertAllErrors:f,debug:f,warn:f,error:f},addErrorListener:f,removeErrorListener:f,setEnabled:f,setShowStackTraces:f,isEnabled:f,evalInScope:f,getLogger:getLogger,getDefaultLogger:getLogger,getNullLogger:getLogger,Level:ff(),LoggingEvent:ff(),Layout:ff(),Appender:ff()};log4javascript.LoggingEvent.prototype={getThrowableStrRep:f};log4javascript.Level.prototype={toString:f,equals:f,isGreaterOrEqual:f};var level=new log4javascript.Level();copy(log4javascript.Level,{ALL:level,TRACE:level,DEBUG:level,INFO:level,WARN:level,ERROR:level,FATAL:level,OFF:level});log4javascript.Layout.prototype={defaults:{},format:f,ignoresThrowable:f,getContentType:f,allowBatching:f,getDataValues:f,setKeys:f,setCustomField:f,hasCustomFields:f};log4javascript.SimpleLayout=ff();log4javascript.SimpleLayout.prototype=new log4javascript.Layout();log4javascript.XmlLayout=ff();log4javascript.XmlLayout.prototype=new log4javascript.Layout();log4javascript.XmlLayout.prototype.escapeCdata=f;log4javascript.JsonLayout=ff();log4javascript.JsonLayout.prototype=new log4javascript.Layout();copy(log4javascript.JsonLayout.prototype,{setReadable:f,isReadable:f});log4javascript.HttpPostDataLayout=ff();log4javascript.HttpPostDataLayout.prototype=new log4javascript.Layout();log4javascript.PatternLayout=ff();log4javascript.PatternLayout.prototype=new log4javascript.Layout();log4javascript.NullLayout=ff();log4javascript.NullLayout.prototype=new log4javascript.Layout();log4javascript.Appender=ff();log4javascript.Appender.prototype={layout:new log4javascript.PatternLayout(),threshold:log4javascript.Level.ALL,doAppend:f,append:f,setLayout:f,getLayout:f,setThreshold:f,getThreshold:f,toString:f};log4javascript.AlertAppender=ff();log4javascript.AlertAppender.prototype=new log4javascript.Appender();log4javascript.ArrayAppender=ff();log4javascript.ArrayAppender.prototype=new log4javascript.Appender();log4javascript.AjaxAppender=ff();log4javascript.AjaxAppender.prototype=new log4javascript.Appender();copy(log4javascript.AjaxAppender.prototype,{isTimed:f,setTimed:f,getTimerInterval:f,setTimerInterval:f,isWaitForResponse:f,setWaitForResponse:f,getBatchSize:f,setBatchSize:f,setRequestSuccessCallback:f,setFailCallback:f,sendAll:f,defaults:{requestSuccessCallback:null,failCallback:null}});function ConsoleAppender(){}ConsoleAppender.prototype=new log4javascript.Appender();copy(ConsoleAppender.prototype,{create:f,isNewestMessageAtTop:f,setNewestMessageAtTop:f,isScrollToLatestMessage:f,setScrollToLatestMessage:f,getWidth:f,setWidth:f,getHeight:f,setHeight:f,getMaxMessages:f,setMaxMessages:f});log4javascript.InPageAppender=ff();log4javascript.InPageAppender.prototype=new ConsoleAppender();copy(log4javascript.InPageAppender.prototype,{isInitiallyMinimized:f,setInitiallyMinimized:f,hide:f,show:f,isVisible:f,close:f,defaults:{layout:new log4javascript.PatternLayout(),maxMessages:null}});log4javascript.InlineAppender=log4javascript.InPageAppender;log4javascript.PopUpAppender=ff();log4javascript.PopUpAppender.prototype=new ConsoleAppender();copy(log4javascript.PopUpAppender.prototype,{isUseOldPopUp:f,setUseOldPopUp:f,isComplainAboutPopUpBlocking:f,setComplainAboutPopUpBlocking:f,isFocusPopUp:f,setFocusPopUp:f,isReopenWhenClosed:f,setReopenWhenClosed:f,close:f,defaults:{layout:new log4javascript.PatternLayout(),maxMessages:null}});log4javascript.BrowserConsoleAppender=ff();log4javascript.BrowserConsoleAppender.prototype=new log4javascript.Appender()})();var log4javascript_dummy=log4javascript; \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_stub_uncompressed.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_stub_uncompressed.js deleted file mode 100644 index 1553d4d2e..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_stub_uncompressed.js +++ /dev/null @@ -1,224 +0,0 @@ -var log4javascript; -(function() { - function ff() { - return function() {}; - } - function copy(obj, props) { - for (var i in props) { - obj[i] = props[i]; - } - } - var f = ff(); - - // Loggers - var Logger = ff(); - copy(Logger.prototype, { - addAppender: f, - removeAppender: f, - removeAllAppenders: f, - log: f, - setLevel: f, - getLevel: f, - trace: f, - debug: f, - info: f, - warn: f, - error: f, - fatal: f - }); - - var getLogger = function() { - return new Logger(); - }; - - log4javascript = { - isStub: true, - version: "dummy", - logLog: { - setQuietMode: f, - setAlertAllErrors: f, - debug: f, - warn: f, - error: f - }, - addErrorListener: f, - removeErrorListener: f, - setEnabled: f, - setShowStackTraces: f, - isEnabled: f, - evalInScope: f, - getLogger: getLogger, - getDefaultLogger: getLogger, - getNullLogger: getLogger, - Level: ff(), - LoggingEvent: ff(), - Layout: ff(), - Appender: ff() - }; - - // LoggingEvents - log4javascript.LoggingEvent.prototype = { - getThrowableStrRep: f - }; - - // Levels - log4javascript.Level.prototype = { - toString: f, - equals: f, - isGreaterOrEqual: f - }; - var level = new log4javascript.Level(); - copy(log4javascript.Level, { - ALL: level, - TRACE: level, - DEBUG: level, - INFO: level, - WARN: level, - ERROR: level, - FATAL: level, - OFF: level - }); - - // Layouts - log4javascript.Layout.prototype = { - defaults: {}, - format: f, - ignoresThrowable: f, - getContentType: f, - allowBatching: f, - getDataValues: f, - setKeys: f, - setCustomField: f, - hasCustomFields: f - }; - - // SimpleLayout - log4javascript.SimpleLayout = ff(); - log4javascript.SimpleLayout.prototype = new log4javascript.Layout(); - - // XmlLayout - log4javascript.XmlLayout = ff(); - log4javascript.XmlLayout.prototype = new log4javascript.Layout(); - log4javascript.XmlLayout.prototype.escapeCdata = f; - - // JsonLayout - log4javascript.JsonLayout = ff(); - log4javascript.JsonLayout.prototype = new log4javascript.Layout(); - copy(log4javascript.JsonLayout.prototype, { - setReadable: f, - isReadable: f - }); - - // HttpPostDataLayout - log4javascript.HttpPostDataLayout = ff(); - log4javascript.HttpPostDataLayout.prototype = new log4javascript.Layout(); - - // PatternLayout - log4javascript.PatternLayout = ff(); - log4javascript.PatternLayout.prototype = new log4javascript.Layout(); - - // NullLayout - log4javascript.NullLayout = ff(); - log4javascript.NullLayout.prototype = new log4javascript.Layout(); - - // Appenders - log4javascript.Appender = ff(); - log4javascript.Appender.prototype = { - layout: new log4javascript.PatternLayout(), - threshold: log4javascript.Level.ALL, - doAppend: f, - append: f, - setLayout: f, - getLayout: f, - setThreshold: f, - getThreshold: f, - toString: f - }; - - // AlertAppender - log4javascript.AlertAppender = ff(); - log4javascript.AlertAppender.prototype = new log4javascript.Appender(); - - // AlertAppender - log4javascript.ArrayAppender = ff(); - log4javascript.ArrayAppender.prototype = new log4javascript.Appender(); - - // AjaxAppender - log4javascript.AjaxAppender = ff(); - log4javascript.AjaxAppender.prototype = new log4javascript.Appender(); - copy(log4javascript.AjaxAppender.prototype, { - isTimed: f, - setTimed: f, - getTimerInterval: f, - setTimerInterval: f, - isWaitForResponse: f, - setWaitForResponse: f, - getBatchSize: f, - setBatchSize: f, - setRequestSuccessCallback: f, - setFailCallback: f, - sendAll: f, - defaults: { - requestSuccessCallback: null, - failCallback: null - } - }); - - // ConsoleAppender - function ConsoleAppender() {} - ConsoleAppender.prototype = new log4javascript.Appender(); - copy(ConsoleAppender.prototype, { - create: f, - isNewestMessageAtTop: f, - setNewestMessageAtTop: f, - isScrollToLatestMessage: f, - setScrollToLatestMessage: f, - getWidth: f, - setWidth: f, - getHeight: f, - setHeight: f, - getMaxMessages: f, - setMaxMessages: f - }); - - // InPageAppender - log4javascript.InPageAppender = ff(); - log4javascript.InPageAppender.prototype = new ConsoleAppender(); - copy(log4javascript.InPageAppender.prototype, { - isInitiallyMinimized: f, - setInitiallyMinimized: f, - hide: f, - show: f, - isVisible: f, - close: f, - defaults: { - layout: new log4javascript.PatternLayout(), - maxMessages: null - } - }); - log4javascript.InlineAppender = log4javascript.InPageAppender; - - // PopUpAppender - log4javascript.PopUpAppender = ff(); - log4javascript.PopUpAppender.prototype = new ConsoleAppender(); - copy(log4javascript.PopUpAppender.prototype, { - isUseOldPopUp: f, - setUseOldPopUp: f, - isComplainAboutPopUpBlocking: f, - setComplainAboutPopUpBlocking: f, - isFocusPopUp: f, - setFocusPopUp: f, - isReopenWhenClosed: f, - setReopenWhenClosed: f, - close: f, - defaults: { - layout: new log4javascript.PatternLayout(), - maxMessages: null - } - }); - - // BrowserConsoleAppender - log4javascript.BrowserConsoleAppender = ff(); - log4javascript.BrowserConsoleAppender.prototype = new log4javascript.Appender(); -})(); -var log4javascript_dummy = log4javascript; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_uncompressed.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_uncompressed.js deleted file mode 100644 index 06a7ecdf7..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/log4javascript_uncompressed.js +++ /dev/null @@ -1,3199 +0,0 @@ -/** - * Copyright 2006 Tim Down. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * log4javascript - * - * log4javascript is a logging framework for JavaScript based on log4j - * for Java. This file contains all core log4javascript code and is the only - * file required to use log4javascript. If you wish to disable log4javascript - * in production code, replace log4javascript.js with the stub file - * log4javascript_stub.js, included in the distribution. Also included in the - * distribution is log4javascript.js, a compressed but functionally - * identical version of this file. - * - * Author: Tim Down - * Version: 1.3.1 - * Last modified: 8/11/2006 - * Website: http://www.timdown.co.uk/log4javascript - */ - -/* ------------------------------------------------------------------------- */ - -// Array-related stuff - -// Next three methods are solely for IE5, which is missing them -if (!Array.prototype.push) { - Array.prototype.push = function() { - for (var i = 0; i < arguments.length; i++){ - this[this.length] = arguments[i]; - } - return this.length; - }; -} - -if (!Array.prototype.shift) { - Array.prototype.shift = function() { - if (this.length > 0) { - var firstItem = this[0]; - for (var i = 0; i < this.length - 1; i++) { - this[i] = this[i + 1]; - } - this.length = this.length - 1; - return firstItem; - } - }; -} - -if (!Array.prototype.splice) { - Array.prototype.splice = function(startIndex, deleteCount) { - var itemsAfterDeleted = this.slice(startIndex + deleteCount); - var itemsDeleted = this.slice(startIndex, startIndex + deleteCount); - this.length = startIndex; - // Copy the arguments into a proper Array object - var argumentsArray = []; - for (var i = 0; i < arguments.length; i++) { - argumentsArray[i] = arguments[i]; - } - var itemsToAppend = (argumentsArray.length > 2) ? - itemsAfterDeleted = argumentsArray.slice(2).concat(itemsAfterDeleted) : itemsAfterDeleted; - for (i = 0; i < itemsToAppend.length; i++) { - this.push(itemsToAppend[i]); - } - return itemsDeleted; - }; -} - -/* ------------------------------------------------------------------------- */ - -var log4javascript; -var SimpleDateFormat; - -(function() { - function isUndefined(obj) { - return typeof obj == "undefined"; - } - - // Date-related stuff - (function() { - var regex = /('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/; - var monthNames = ["January", "February", "March", "April", "May", "June", - "July", "August", "September", "October", "November", "December"]; - var dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; - var TEXT2 = 0, TEXT3 = 1, NUMBER = 2, YEAR = 3, MONTH = 4, TIMEZONE = 5; - var types = { - G : TEXT2, - y : YEAR, - Y : YEAR, - M : MONTH, - w : NUMBER, - W : NUMBER, - D : NUMBER, - d : NUMBER, - F : NUMBER, - E : TEXT3, - a : TEXT2, - H : NUMBER, - k : NUMBER, - K : NUMBER, - h : NUMBER, - m : NUMBER, - s : NUMBER, - S : NUMBER, - Z : TIMEZONE - }; - var ONE_DAY = 24 * 60 * 60 * 1000; - var ONE_WEEK = 7 * ONE_DAY; - var DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK = 1; - - Date.prototype.getDifference = function(date) { - return this.getTime() - date.getTime(); - }; - - Date.prototype.isBefore = function(d) { - return this.getTime() < d.getTime(); - }; - - Date.prototype.getWeekInYear = function(minimalDaysInFirstWeek) { - if (isUndefined(this.minimalDaysInFirstWeek)) { - minimalDaysInFirstWeek = DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK; - } - var previousSunday = new Date(this.getTime() - this.getDay() * ONE_DAY); - previousSunday = new Date(previousSunday.getFullYear(), previousSunday.getMonth(), previousSunday.getDate()); - var startOfYear = new Date(this.getFullYear(), 0, 1); - var numberOfSundays = previousSunday.isBefore(startOfYear) ? - 0 : 1 + Math.floor((previousSunday.getTime() - startOfYear.getTime()) / ONE_WEEK); - var numberOfDaysInFirstWeek = 7 - startOfYear.getDay(); - var weekInYear = numberOfSundays; - if (numberOfDaysInFirstWeek >= minimalDaysInFirstWeek) { - weekInYear++; - } - return weekInYear; - }; - - Date.prototype.getWeekInMonth = function(minimalDaysInFirstWeek) { - if (isUndefined(this.minimalDaysInFirstWeek)) { - minimalDaysInFirstWeek = DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK; - } - var previousSunday = new Date(this.getTime() - this.getDay() * ONE_DAY); - previousSunday = new Date(previousSunday.getFullYear(), previousSunday.getMonth(), previousSunday.getDate()); - var startOfMonth = new Date(this.getFullYear(), this.getMonth(), 1); - var numberOfSundays = previousSunday.isBefore(startOfMonth) ? - 0 : 1 + Math.floor((previousSunday.getTime() - startOfMonth.getTime()) / ONE_WEEK); - var numberOfDaysInFirstWeek = 7 - startOfMonth.getDay(); - var weekInMonth = numberOfSundays; - if (numberOfDaysInFirstWeek >= minimalDaysInFirstWeek) { - weekInMonth++; - } - return weekInMonth; - }; - - Date.prototype.getDayInYear = function() { - var startOfYear = new Date(this.getFullYear(), 0, 1); - return 1 + Math.floor((this.getTime() - startOfYear.getTime()) / ONE_DAY); - }; - - /* ----------------------------------------------------------------- */ - - SimpleDateFormat = function(formatString) { - this.formatString = formatString; - }; - - /** - * Sets the minimum number of days in a week in order for that week to - * be considered as belonging to a particular month or year - */ - SimpleDateFormat.prototype.setMinimalDaysInFirstWeek = function(days) { - this.minimalDaysInFirstWeek = days; - }; - - SimpleDateFormat.prototype.getMinimalDaysInFirstWeek = function(days) { - return isUndefined(this.minimalDaysInFirstWeek) ? - DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK : this.minimalDaysInFirstWeek; - }; - - SimpleDateFormat.prototype.format = function(date) { - var formattedString = ""; - var result; - - var padWithZeroes = function(str, len) { - while (str.length < len) { - str = "0" + str; - } - return str; - }; - - var formatText = function(data, numberOfLetters, minLength) { - return (numberOfLetters >= 4) ? data : data.substr(0, Math.max(minLength, numberOfLetters)); - }; - - var formatNumber = function(data, numberOfLetters) { - var dataString = "" + data; - // Pad with 0s as necessary - return padWithZeroes(dataString, numberOfLetters); - }; - - var searchString = this.formatString; - while ((result = regex.exec(searchString))) { - var matchedString = result[0]; - var quotedString = result[1]; - var patternLetters = result[2]; - var otherLetters = result[3]; - var otherCharacters = result[4]; - - // If the pattern matched is quoted string, output the text between the quotes - if (quotedString) { - if (quotedString == "''") { - formattedString += "'"; - } else { - formattedString += quotedString.substring(1, quotedString.length - 1); - } - } else if (otherLetters) { - // Swallow non-pattern letters by doing nothing here - } else if (otherCharacters) { - // Simply output other characters - formattedString += otherCharacters; - } else if (patternLetters) { - // Replace pattern letters - var patternLetter = patternLetters.charAt(0); - var numberOfLetters = patternLetters.length; - var rawData = ""; - switch (patternLetter) { - case "G": - rawData = "AD"; - break; - case "y": - rawData = date.getFullYear(); - break; - case "M": - rawData = date.getMonth(); - break; - case "w": - rawData = date.getWeekInYear(this.getMinimalDaysInFirstWeek()); - break; - case "W": - rawData = date.getWeekInMonth(this.getMinimalDaysInFirstWeek()); - break; - case "D": - rawData = date.getDayInYear(); - break; - case "d": - rawData = date.getDate(); - break; - case "F": - rawData = 1 + Math.floor((date.getDate() - 1) / 7); - break; - case "E": - rawData = dayNames[date.getDay()]; - break; - case "a": - rawData = (date.getHours() >= 12) ? "PM" : "AM"; - break; - case "H": - rawData = date.getHours(); - break; - case "k": - rawData = 1 + date.getHours(); - break; - case "K": - rawData = date.getHours() % 12; - break; - case "h": - rawData = 1 + (date.getHours() % 12); - break; - case "m": - rawData = date.getMinutes(); - break; - case "s": - rawData = date.getSeconds(); - break; - case "S": - rawData = date.getMilliseconds(); - break; - case "Z": - rawData = date.getTimezoneOffset(); // This returns the number of minutes since GMT was this time. - break; - } - // Format the raw data depending on the type - switch (types[patternLetter]) { - case TEXT2: - formattedString += formatText(rawData, numberOfLetters, 2); - break; - case TEXT3: - formattedString += formatText(rawData, numberOfLetters, 3); - break; - case NUMBER: - formattedString += formatNumber(rawData, numberOfLetters); - break; - case YEAR: - if (numberOfLetters <= 2) { - // Output a 2-digit year - var dataString = "" + rawData; - formattedString += dataString.substr(2, 2); - } else { - formattedString += formatNumber(rawData, numberOfLetters); - } - break; - case MONTH: - if (numberOfLetters >= 3) { - formattedString += formatText(monthNames[rawData], numberOfLetters, numberOfLetters); - } else { - // NB. Months returned by getMonth are zero-based - formattedString += formatNumber(rawData + 1, numberOfLetters); - } - break; - case TIMEZONE: - var isPositive = (rawData > 0); - // The following line looks like a mistake but isn't - // because of the way getTimezoneOffset measures. - var prefix = isPositive ? "-" : "+"; - var absData = Math.abs(rawData); - - // Hours - var hours = "" + Math.floor(absData / 60); - hours = padWithZeroes(hours, 2); - // Minutes - var minutes = "" + (absData % 60); - minutes = padWithZeroes(minutes, 2); - - formattedString += prefix + hours + minutes; - break; - } - } - searchString = searchString.substr(result.index + result[0].length); - } - return formattedString; - }; - })(); - - /* ------------------------------------------------------------------------- */ - - var applicationStartDate = new Date(); - var uniqueId = "log4javascript_" + applicationStartDate.getTime() + "_" + - Math.floor(Math.random() * 100000000); - var emptyFunction = function() {}; - var newLine = "\r\n"; - - // Create logging object; this will be assigned properties and returned - log4javascript = {}; - log4javascript.version = "1.3.1"; - - // Returns a nicely formatted representation of an error - function getExceptionStringRep(ex) { - if (ex) { - var exStr = "Exception: "; - if (ex.message) { - exStr += ex.message; - } else if (ex.description) { - exStr += ex.description; - } - if (ex.lineNumber) { - exStr += " on line number " + ex.lineNumber; - } - if (ex.fileName) { - exStr += " in file " + ex.fileName; - } - if (showStackTraces && ex.stack) { - exStr += newLine + "Stack trace:" + newLine + ex.stack; - } - return exStr; - } - return null; - } - - function formatObjectExpansion(obj, depth, indentation) { - var i, output, childDepth, childIndentation, childLines; - if ((obj instanceof Array) && depth > 0) { - if (!indentation) { - indentation = ""; - } - output = "[" + newLine; - childDepth = depth - 1; - childIndentation = indentation + " "; - childLines = []; - for (i = 0; i < obj.length; i++) { - childLines.push(childIndentation + formatObjectExpansion(obj[i], childDepth, childIndentation)); - } - output += childLines.join("," + newLine) + newLine + indentation + "]"; - return output; - } else if (typeof obj == "object" && depth > 0) { - if (!indentation) { - indentation = ""; - } - output = "" + "{" + newLine; - childDepth = depth - 1; - childIndentation = indentation + " "; - childLines = []; - for (i in obj) { - childLines.push(childIndentation + i + ": " + formatObjectExpansion(obj[i], childDepth, childIndentation)); - } - output += childLines.join("," + newLine) + newLine + indentation + "}"; - return output; - } else if (typeof obj == "string") { - return obj; - } else { - return obj.toString(); - } - } - - function escapeNewLines(str) { - return str.replace(/\r\n|\r|\n/g, "\\r\\n"); - } - - function urlEncode(str) { - return escape(str).replace(/\+/g, "%2B").replace(/"/g, "%22").replace(/'/g, "%27").replace(/\//g, "%2F"); - } - - function bool(obj) { - return Boolean(obj); - } - - function array_remove(arr, val) { - var index = -1; - for (var i = 0; i < arr.length; i++) { - if (arr[i] === val) { - index = i; - break; - } - } - if (index >= 0) { - arr.splice(index, 1); - return true; - } else { - return false; - } - } - - function extractBooleanFromParam(param, defaultValue) { - if (isUndefined(param)) { - return defaultValue; - } else { - return bool(param); - } - } - - function extractStringFromParam(param, defaultValue) { - if (isUndefined(param)) { - return defaultValue; - } else { - return String(param); - } - } - - function extractIntFromParam(param, defaultValue) { - if (isUndefined(param)) { - return defaultValue; - } else { - try { - var value = parseInt(param, 10); - return isNaN(value) ? defaultValue : value; - } catch (ex) { - logLog.warn("Invalid int param " + param, ex); - return defaultValue; - } - } - } - - function extractFunctionFromParam(param, defaultValue) { - if (typeof param == "function") { - return param; - } else { - return defaultValue; - } - } - - /* --------------------------------------------------------------------- */ - - // Simple logging for log4javascript itself - - var logLog = { - quietMode: false, - - setQuietMode: function(quietMode) { - this.quietMode = bool(quietMode); - }, - - numberOfErrors: 0, - - alertAllErrors: false, - - setAlertAllErrors: function(alertAllErrors) { - this.alertAllErrors = alertAllErrors; - }, - - debug: function(message, exception) { - }, - - warn: function(message, exception) { - }, - - error: function(message, exception) { - if (++this.numberOfErrors == 1 || this.alertAllErrors) { - if (!this.quietMode) { - var alertMessage = "log4javascript error: " + message; - if (exception) { - alertMessage += newLine + newLine + "Original error: " + getExceptionStringRep(exception); - } - alert(alertMessage); - } - } - } - }; - log4javascript.logLog = logLog; - - /* --------------------------------------------------------------------- */ - - var errorListeners = []; - - log4javascript.addErrorListener = function(listener) { - if (typeof listener == "function") { - errorListeners.push(listener); - } else { - handleError("addErrorListener: listener supplied was not a function"); - } - }; - - log4javascript.removeErrorListener = function(listener) { - array_remove(errorListeners, listener); - }; - - function handleError(message, exception) { - logLog.error(message, exception); - for (var i = 0; i < errorListeners.length; i++) { - errorListeners[i](message, exception); - } - } - - /* --------------------------------------------------------------------- */ - - var enabled = (typeof log4javascript_disabled != "undefined") && - log4javascript_disabled ? false : true; - - log4javascript.setEnabled = function(enable) { - enabled = bool(enable); - }; - - log4javascript.isEnabled = function() { - return enabled; - }; - - // This evaluates the given expression in the current scope, thus allowing - // scripts to access private variables. Particularly useful for testing - log4javascript.evalInScope = function(expr) { - return eval(expr); - }; - - var showStackTraces = false; - - log4javascript.setShowStackTraces = function(show) { - showStackTraces = bool(show); - }; - - /* --------------------------------------------------------------------- */ - - function Logger(name) { - this.name = name; - var appenders = []; - var loggerLevel = Level.DEBUG; - - // Create methods that use the appenders variable in this scope - this.addAppender = function(appender) { - if (appender instanceof log4javascript.Appender) { - appenders.push(appender); - } else { - handleError("Logger.addAppender: appender supplied is not a subclass of Appender"); - } - }; - - this.removeAppender = function(appender) { - array_remove(appenders, appender); - }; - - this.removeAllAppenders = function(appender) { - appenders.length = 0; - }; - - this.log = function(level, message, exception) { - if (level.isGreaterOrEqual(loggerLevel)) { - var loggingEvent = new LoggingEvent( - this, new Date(), level, message, exception); - for (var i = 0; i < appenders.length; i++) { - appenders[i].doAppend(loggingEvent); - } - } - }; - - this.setLevel = function(level) { - loggerLevel = level; - }; - - this.getLevel = function() { - return loggerLevel; - }; - } - - Logger.prototype = { - trace: function(message, exception) { - this.log(Level.TRACE, message, exception); - }, - - debug: function(message, exception) { - this.log(Level.DEBUG, message, exception); - }, - - info: function(message, exception) { - this.log(Level.INFO, message, exception); - }, - - warn: function(message, exception) { - this.log(Level.WARN, message, exception); - }, - - error: function(message, exception) { - this.log(Level.ERROR, message, exception); - }, - - fatal: function(message, exception) { - this.log(Level.FATAL, message, exception); - } - }; - - Logger.prototype.trace.isEntryPoint = true; - Logger.prototype.debug.isEntryPoint = true; - Logger.prototype.info.isEntryPoint = true; - Logger.prototype.warn.isEntryPoint = true; - Logger.prototype.error.isEntryPoint = true; - Logger.prototype.fatal.isEntryPoint = true; - - /* --------------------------------------------------------------------- */ - - // Hashtable of loggers keyed by logger name - var loggers = {}; - - log4javascript.getLogger = function(loggerName) { - // Use default logger if loggerName is not specified or invalid - if (!(typeof loggerName == "string")) { - loggerName = "[anonymous]"; - } - - // Create the logger for this name if it doesn't already exist - if (!loggers[loggerName]) { - loggers[loggerName] = new Logger(loggerName); - } - return loggers[loggerName]; - }; - - var defaultLogger = null; - log4javascript.getDefaultLogger = function() { - if (!defaultLogger) { - defaultLogger = log4javascript.getLogger("[default]"); - var a = new log4javascript.PopUpAppender(); - defaultLogger.addAppender(a); - } - return defaultLogger; - }; - - var nullLogger = null; - log4javascript.getNullLogger = function() { - if (!nullLogger) { - nullLogger = log4javascript.getLogger("[null]"); - } - return nullLogger; - }; - - /* --------------------------------------------------------------------- */ - - var Level = function(level, name) { - this.level = level; - this.name = name; - }; - - Level.prototype = { - toString: function() { - return this.name; - }, - equals: function(level) { - return this.level == level.level; - }, - isGreaterOrEqual: function(level) { - return this.level >= level.level; - } - }; - - Level.ALL = new Level(Number.MIN_VALUE, "ALL"); - Level.TRACE = new Level(10000, "TRACE"); - Level.DEBUG = new Level(20000, "DEBUG"); - Level.INFO = new Level(30000, "INFO"); - Level.WARN = new Level(40000, "WARN"); - Level.ERROR = new Level(50000, "ERROR"); - Level.FATAL = new Level(60000, "FATAL"); - Level.OFF = new Level(Number.MAX_VALUE, "OFF"); - - log4javascript.Level = Level; - - /* --------------------------------------------------------------------- */ - - var LoggingEvent = function(logger, timeStamp, level, message, - exception) { - this.logger = logger; - this.timeStamp = timeStamp; - this.timeStampInSeconds = Math.floor(timeStamp.getTime() / 1000); - this.level = level; - this.message = message; - this.exception = exception; - }; - - LoggingEvent.prototype.getThrowableStrRep = function() { - return this.exception ? - getExceptionStringRep(this.exception) : ""; - }; - - log4javascript.LoggingEvent = LoggingEvent; - - /* --------------------------------------------------------------------- */ - - // Layout "abstract class" - var Layout = function() { - }; - - Layout.prototype = { - defaults: { - loggerKey: "logger", - timeStampKey: "timestamp", - levelKey: "level", - messageKey: "message", - exceptionKey: "exception", - urlKey: "url" - }, - loggerKey: "logger", - timeStampKey: "timestamp", - levelKey: "level", - messageKey: "message", - exceptionKey: "exception", - urlKey: "url", - batchHeader: "", - batchFooter: "", - batchSeparator: "", - - format: function(loggingEvent) { - handleError("Layout.format: layout supplied has no format() method"); - }, - - ignoresThrowable: function() { - handleError("Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method"); - }, - - getContentType: function() { - return "text/plain"; - }, - - allowBatching: function() { - return true; - }, - - getDataValues: function(loggingEvent) { - var dataValues = [ - [this.loggerKey, loggingEvent.logger.name], - [this.timeStampKey, loggingEvent.timeStampInSeconds], - [this.levelKey, loggingEvent.level.name], - [this.urlKey, window.location.href], - [this.messageKey, loggingEvent.message] - ]; - if (loggingEvent.exception) { - dataValues.push([this.exceptionKey, getExceptionStringRep(loggingEvent.exception)]); - } - if (this.hasCustomFields()) { - for (var i = 0; i < this.customFields.length; i++) { - dataValues.push([this.customFields[i].name, this.customFields[i].value]); - } - } - return dataValues; - }, - - setKeys: function(loggerKey, timeStampKey, levelKey, messageKey, - exceptionKey, urlKey) { - this.loggerKey = extractStringFromParam(loggerKey, this.defaults.loggerKey); - this.timeStampKey = extractStringFromParam(timeStampKey, this.defaults.timeStampKey); - this.levelKey = extractStringFromParam(levelKey, this.defaults.levelKey); - this.messageKey = extractStringFromParam(messageKey, this.defaults.messageKey); - this.exceptionKey = extractStringFromParam(exceptionKey, this.defaults.exceptionKey); - this.urlKey = extractStringFromParam(urlKey, this.defaults.urlKey); - }, - - setCustomField: function(name, value) { - var fieldUpdated = false; - for (var i = 0; i < this.customFields.length; i++) { - if (this.customFields[i].name === name) { - this.customFields[i].value = value; - fieldUpdated = true; - } - } - if (!fieldUpdated) { - this.customFields.push({"name": name, "value": value}); - } - }, - - hasCustomFields: function() { - return (this.customFields.length > 0); - } - }; - - log4javascript.Layout = Layout; - - /* --------------------------------------------------------------------- */ - - // SimpleLayout - var SimpleLayout = function() { - this.customFields = []; - }; - - SimpleLayout.prototype = new Layout(); - - SimpleLayout.prototype.format = function(loggingEvent) { - return loggingEvent.level.name + " - " + loggingEvent.message; - }; - - SimpleLayout.prototype.ignoresThrowable = function(loggingEvent) { - return true; - }; - - log4javascript.SimpleLayout = SimpleLayout; - - /* --------------------------------------------------------------------- */ - - // NullLayout - var NullLayout = function() { - this.customFields = []; - }; - - NullLayout.prototype = new Layout(); - - NullLayout.prototype.format = function(loggingEvent) { - return loggingEvent.message; - }; - - NullLayout.prototype.ignoresThrowable = function(loggingEvent) { - return true; - }; - - log4javascript.NullLayout = NullLayout; - - /* --------------------------------------------------------------------- */ - - // XmlLayout - var XmlLayout = function() { - this.customFields = []; - }; - - XmlLayout.prototype = new Layout(); - - XmlLayout.prototype.getContentType = function() { - return "text/xml"; - }; - - XmlLayout.prototype.escapeCdata = function(str) { - return str.replace(/\]\]>/, "]]>]]>" + newLine + "" + newLine; - if (this.hasCustomFields()) { - for (var i = 0; i < this.customFields.length; i++) { - str += "" + newLine; - } - } - if (loggingEvent.exception) { - str += "" + newLine; - } - str += "" + newLine + newLine; - return str; - }; - - XmlLayout.prototype.ignoresThrowable = function(loggingEvent) { - return false; - }; - - log4javascript.XmlLayout = XmlLayout; - - /* --------------------------------------------------------------------- */ - - // JsonLayout - var JsonLayout = function(readable, loggerKey, timeStampKey, - levelKey, messageKey, exceptionKey, urlKey) { - this.readable = bool(readable); - this.batchHeader = this.readable ? "[" + newLine : "["; - this.batchFooter = this.readable ? "]" + newLine : "]"; - this.batchSeparator = this.readable ? "," + newLine : ","; - this.setKeys(loggerKey, timeStampKey, levelKey, messageKey, - exceptionKey, urlKey); - this.propertySeparator = this.readable ? ", " : ","; - this.colon = this.readable ? ": " : ":"; - this.customFields = []; - }; - - JsonLayout.prototype = new Layout(); - - JsonLayout.prototype.setReadable = function(readable) { - this.readable = bool(readable); - }; - - JsonLayout.prototype.isReadable = function() { - return this.readable; - }; - - JsonLayout.prototype.format = function(loggingEvent) { - var dataValues = this.getDataValues(loggingEvent); - var str = "{"; - if (this.readable) { - str += newLine; - } - for (var i = 0; i < dataValues.length; i++) { - if (this.readable) { - str += "\t"; - } - // Check the type of the data value to decide whether quotation marks - // are required - var valType = typeof dataValues[i][1]; - var val = (valType != "number" && valType != "boolean") ? - "\"" + escapeNewLines(dataValues[i][1].toString().replace(/\"/g, "\\\"")) + "\"" : - dataValues[i][1]; - str += "\"" + dataValues[i][0] + "\"" + this.colon + val; - if (i < dataValues.length - 1) { - str += this.propertySeparator; - } - if (this.readable) { - str += newLine; - } - } - str += "}"; - if (this.readable) { - str += newLine; - } - return str; - }; - - JsonLayout.prototype.ignoresThrowable = function(loggingEvent) { - return false; - }; - - log4javascript.JsonLayout = JsonLayout; - - /* --------------------------------------------------------------------- */ - - // HttpPostDataLayout - var HttpPostDataLayout = function(loggerKey, timeStampKey, - levelKey, messageKey, exceptionKey, urlKey) { - this.setKeys(loggerKey, timeStampKey, levelKey, messageKey, - exceptionKey, urlKey); - this.customFields = []; - }; - - HttpPostDataLayout.prototype = new Layout(); - - // Disable batching - HttpPostDataLayout.prototype.allowBatching = function() { - return false; - }; - - HttpPostDataLayout.prototype.format = function(loggingEvent) { - var dataValues = this.getDataValues(loggingEvent); - var queryBits = []; - for (var i = 0; i < dataValues.length; i++) { - queryBits.push(urlEncode(dataValues[i][0]) + "=" + urlEncode(dataValues[i][1])); - } - return queryBits.join("&"); - }; - - HttpPostDataLayout.prototype.ignoresThrowable = function(loggingEvent) { - return false; - }; - - log4javascript.HttpPostDataLayout = HttpPostDataLayout; - - /* --------------------------------------------------------------------- */ - - // PatternLayout - var PatternLayout = function(pattern) { - if (pattern) { - this.pattern = pattern; - } else { - this.pattern = PatternLayout.DEFAULT_CONVERSION_PATTERN; - } - this.customFields = []; - }; - - PatternLayout.TTCC_CONVERSION_PATTERN = "%r %p %c - %m%n"; - PatternLayout.DEFAULT_CONVERSION_PATTERN = "%m%n"; - PatternLayout.ISO8601_DATEFORMAT = "yyyy-MM-dd HH:mm:ss,SSS"; - PatternLayout.DATETIME_DATEFORMAT = "dd MMM yyyy HH:mm:ss,SSS"; - PatternLayout.ABSOLUTETIME_DATEFORMAT = "HH:mm:ss,SSS"; - - PatternLayout.prototype = new Layout(); - - PatternLayout.prototype.format = function(loggingEvent) { - var regex = /%(-?[0-9]+)?(\.?[0-9]+)?([cdfmMnpr%])(\{([^\}]+)\})?|([^%]+)/; - var formattedString = ""; - var result; - var searchString = this.pattern; - - // Cannot use regex global flag since it doesn't work with exec in IE5 - while ((result = regex.exec(searchString))) { - var matchedString = result[0]; - var padding = result[1]; - var truncation = result[2]; - var conversionCharacter = result[3]; - var specifier = result[5]; - var text = result[6]; - - // Check if the pattern matched was just normal text - if (text) { - formattedString += "" + text; - } else { - // Create a raw replacement string based on the conversion - // character and specifier - var replacement = ""; - switch(conversionCharacter) { - case "c": // Logger name - var loggerName = loggingEvent.logger.name; - if (specifier) { - var precision = parseInt(specifier, 10); - var loggerNameBits = loggingEvent.logger.name.split("."); - if (precision >= loggerNameBits.length) { - replacement = loggerName; - } else { - replacement = loggerNameBits.slice(loggerNameBits.length - precision).join("."); - } - } else { - replacement = loggerName; - } - break; - case "d": // Date - var dateFormat = PatternLayout.ISO8601_DATEFORMAT; - if (specifier) { - dateFormat = specifier; - // Pick up special cases - if (dateFormat == "ISO8601") { - dateFormat = PatternLayout.ISO8601_DATEFORMAT; - } else if (dateFormat == "ABSOLUTE") { - dateFormat = PatternLayout.ABSOLUTETIME_DATEFORMAT; - } else if (dateFormat == "DATE") { - dateFormat = PatternLayout.DATETIME_DATEFORMAT; - } - } - // Format the date - replacement = (new SimpleDateFormat(dateFormat)).format(loggingEvent.timeStamp); - break; - case "f": // Custom field - if (this.hasCustomFields()) { - var fieldIndex = 0; - if (specifier) { - fieldIndex = parseInt(specifier, 10); - if (isNaN(fieldIndex)) { - handleError("PatternLayout.format: invalid specifier '" + - specifier + "' for conversion character 'f' - should be a number"); - } else if (fieldIndex === 0) { - handleError("PatternLayout.format: invalid specifier '" + - specifier + "' for conversion character 'f' - must be greater than zero"); - } else if (fieldIndex > this.customFields.length) { - handleError("PatternLayout.format: invalid specifier '" + - specifier + "' for conversion character 'f' - there aren't that many custom fields"); - } else { - fieldIndex = fieldIndex - 1; - } - } - replacement = this.customFields[fieldIndex].value; - } - break; - case "m": // Message - if (specifier) { - var depth = parseInt(specifier, 10); - if (isNaN(depth)) { - handleError("PatternLayout.format: invalid specifier '" + - specifier + "' for conversion character 'm' - should be a number"); - replacement = loggingEvent.message; - } else { - replacement = formatObjectExpansion(loggingEvent.message, depth); - } - } else { - replacement = loggingEvent.message; - } - break; - case "n": // New line - replacement = newLine; - break; - case "p": // Level - replacement = loggingEvent.level.name; - break; - case "r": // Milliseconds since log4javascript startup - replacement = "" + loggingEvent.timeStamp.getDifference(applicationStartDate); - break; - case "%": // Literal % sign - replacement = "%"; - break; - default: - replacement = matchedString; - break; - } - // Format the replacement according to any padding or - // truncation specified - var len; - - // First, truncation - if (truncation) { - len = parseInt(truncation.substr(1), 10); - var strLen = replacement.length; - if (len < strLen) { - replacement = replacement.substring(strLen - len, strLen); - } - } - // Next, padding - if (padding) { - if (padding.charAt(0) == "-") { - len = parseInt(padding.substr(1), 10); - // Right pad with spaces - while (replacement.length < len) { - replacement += " "; - } - } else { - len = parseInt(padding, 10); - // Left pad with spaces - while (replacement.length < len) { - replacement = " " + replacement; - } - } - } - formattedString += replacement; - } - searchString = searchString.substr(result.index + result[0].length); - } - return formattedString; - }; - - PatternLayout.prototype.ignoresThrowable = function(loggingEvent) { - return true; - }; - - log4javascript.PatternLayout = PatternLayout; - - /* --------------------------------------------------------------------- */ - - // Appender "abstract class" - var Appender = function() {}; - - // Performs threshold checks before delegating actual logging to the - // subclass's specific append method. - Appender.prototype = { - layout: new PatternLayout(), - threshold: Level.ALL, - - doAppend: function(loggingEvent) { - if (enabled && loggingEvent.level.level >= this.threshold.level) { - this.append(loggingEvent); - } - }, - - append: function(loggingEvent) {}, - - setLayout: function(layout) { - if (layout instanceof Layout) { - this.layout = layout; - } else { - handleError("Appender.setLayout: layout supplied to " + - this.toString() + " is not a subclass of Layout"); - } - }, - - getLayout: function() { - return this.layout; - }, - - setThreshold: function(threshold) { - if (threshold instanceof Level) { - this.threshold = threshold; - } else { - handleError("Appender.setThreshold: threshold supplied to " + - this.toString() + " is not a subclass of Level"); - } - }, - - getThreshold: function() { - return this.threshold; - }, - - toString: function() { - return "[Base Appender]"; - } - }; - - log4javascript.Appender = Appender; - - /* --------------------------------------------------------------------- */ - - // AlertAppender - var AlertAppender = function(layout) { - if (layout) { - this.setLayout(layout); - } - }; - - AlertAppender.prototype = new Appender(); - - AlertAppender.prototype.layout = new SimpleLayout(); - - AlertAppender.prototype.append = function(loggingEvent) { - var formattedMessage = this.getLayout().format(loggingEvent); - if (this.getLayout().ignoresThrowable()) { - formattedMessage += loggingEvent.getThrowableStrRep(); - } - alert(formattedMessage); - }; - - AlertAppender.prototype.toString = function() { - return "[AlertAppender]"; - }; - - log4javascript.AlertAppender = AlertAppender; - - /* --------------------------------------------------------------------- */ - - // AjaxAppender - var AjaxAppender = function(url, layout, timed, waitForResponse, - batchSize, timerInterval, requestSuccessCallback, failCallback) { - var appender = this; - var isSupported = true; - if (!url) { - handleError("AjaxAppender: URL must be specified in constructor"); - isSupported = false; - } - - timed = extractBooleanFromParam(timed, this.defaults.timed); - waitForResponse = extractBooleanFromParam(waitForResponse, this.defaults.waitForResponse); - batchSize = extractIntFromParam(batchSize, this.defaults.batchSize); - timerInterval = extractIntFromParam(timerInterval, this.defaults.timerInterval); - requestSuccessCallback = extractFunctionFromParam(requestSuccessCallback, this.defaults.requestSuccessCallback); - failCallback = extractFunctionFromParam(failCallback, this.defaults.failCallback); - var sessionId = null; - - var queuedLoggingEvents = []; - var queuedRequests = []; - var sending = false; - var initialized = false; - - // Configuration methods. The function scope is used to prevent - // direct alteration to the appender configuration properties. - function checkCanConfigure(configOptionName) { - if (initialized) { - handleError("AjaxAppender: configuration option '" + configOptionName + "' may not be set after the appender has been initialized"); - return false; - } - return true; - } - - this.getSessionId = function() { return sessionId; }; - this.setSessionId = function(sessionIdParam) { - sessionId = extractStringFromParam(sessionIdParam, null); - this.layout.setCustomField("sessionid", sessionId); - }; - - this.setLayout = function(layout) { - if (checkCanConfigure("layout")) { - this.layout = layout; - // Set the session id as a custom field on the layout, if not already present - if (sessionId !== null) { - this.setSessionId(sessionId); - } - } - }; - - if (layout) { - this.setLayout(layout); - } - - this.isTimed = function() { return timed; }; - this.setTimed = function(timedParam) { - if (checkCanConfigure("timed")) { - timed = bool(timedParam); - } - }; - - this.getTimerInterval = function() { return timerInterval; }; - this.setTimerInterval = function(timerIntervalParam) { - if (checkCanConfigure("timerInterval")) { - timerInterval = extractIntFromParam(timerIntervalParam, timerInterval); - } - }; - - this.isWaitForResponse = function() { return waitForResponse; }; - this.setWaitForResponse = function(waitForResponseParam) { - if (checkCanConfigure("waitForResponse")) { - waitForResponse = bool(waitForResponseParam); - } - }; - - this.getBatchSize = function() { return batchSize; }; - this.setBatchSize = function(batchSizeParam) { - if (checkCanConfigure("batchSize")) { - batchSize = extractIntFromParam(batchSizeParam, batchSize); - } - }; - - this.setRequestSuccessCallback = function(requestSuccessCallbackParam) { - requestSuccessCallback = extractFunctionFromParam(requestSuccessCallbackParam, requestSuccessCallback); - }; - - this.setFailCallback = function(failCallbackParam) { - failCallback = extractFunctionFromParam(failCallbackParam, failCallback); - }; - - // Internal functions - function sendAll() { - if (isSupported && enabled) { - sending = true; - var currentRequestBatch; - if (waitForResponse) { - // Send the first request then use this function as the callback once - // the response comes back - if (queuedRequests.length > 0) { - currentRequestBatch = queuedRequests.shift(); - sendRequest(preparePostData(currentRequestBatch), sendAll); - } else { - sending = false; - if (timed) { - scheduleSending(); - } - } - } else { - // Rattle off all the requests without waiting to see the response - while ((currentRequestBatch = queuedRequests.shift())) { - sendRequest(preparePostData(currentRequestBatch)); - } - sending = false; - if (timed) { - scheduleSending(); - } - } - } - } - - this.sendAll = sendAll; - - function preparePostData(batchedLoggingEvents) { - // Format the logging events - var formattedMessages = []; - var currentLoggingEvent; - var postData = ""; - while ((currentLoggingEvent = batchedLoggingEvents.shift())) { - var currentFormattedMessage = appender.getLayout().format(currentLoggingEvent); - if (appender.getLayout().ignoresThrowable()) { - currentFormattedMessage += loggingEvent.getThrowableStrRep(); - } - formattedMessages.push(currentFormattedMessage); - } - // Create the post data string - if (batchedLoggingEvents.length == 1) { - postData = formattedMessages.join(""); - } else { - postData = appender.getLayout().batchHeader + - formattedMessages.join(appender.getLayout().batchSeparator) + - appender.getLayout().batchFooter; - } - return postData; - } - - function scheduleSending() { - setTimeout(sendAll, timerInterval); - } - - function getXmlHttp() { - var xmlHttp = null; - if (typeof XMLHttpRequest == "object" || typeof XMLHttpRequest == "function") { - xmlHttp = new XMLHttpRequest(); - } else { - try { - xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e2){ - try { - xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (e3) { - var msg = "AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled"; - handleError(msg); - isSupported = false; - if (failCallback) { - failCallback(msg); - } - } - } - } - return xmlHttp; - } - - function sendRequest(postData, successCallback) { - try { - var xmlHttp = getXmlHttp(); - if (isSupported) { - if (xmlHttp.overrideMimeType) { - xmlHttp.overrideMimeType(appender.getLayout().getContentType()); - } - xmlHttp.onreadystatechange = function() { - if (xmlHttp.readyState == 4) { - var success = (isUndefined(xmlHttp.status) || xmlHttp.status === 0 || - (xmlHttp.status >= 200 && xmlHttp.status < 300)); - if (success) { - if (requestSuccessCallback) { - requestSuccessCallback(xmlHttp); - } - if (successCallback) { - successCallback(xmlHttp); - } - } else { - var msg = "AjaxAppender.append: XMLHttpRequest request to URL " + - url + " returned status code " + xmlHttp.status; - handleError(msg); - if (failCallback) { - failCallback(msg); - } - } - xmlHttp.onreadystatechange = emptyFunction; - xmlHttp = null; - } - }; - xmlHttp.open("POST", url, true); - try { - xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); - } catch (headerEx) { - var msg = "AjaxAppender.append: your browser's XMLHttpRequest implementation" + - " does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled"; - handleError(msg); - isSupported = false; - if (failCallback) { - failCallback(msg); - } - return; - } - xmlHttp.send(postData); - } - } catch (ex) { - var msg = "AjaxAppender.append: error sending log message to " + url; - handleError(msg, ex); - if (failCallback) { - failCallback(msg + ". Details: " + getExceptionStringRep(ex)); - } - } - } - - this.append = function(loggingEvent) { - if (isSupported) { - if (!initialized) { - init(); - } - queuedLoggingEvents.push(loggingEvent); - var actualBatchSize = this.getLayout().allowBatching() ? batchSize : 1; - - if (queuedLoggingEvents.length >= actualBatchSize) { - var currentLoggingEvent; - var postData = ""; - var batchedLoggingEvents = []; - while ((currentLoggingEvent = queuedLoggingEvents.shift())) { - batchedLoggingEvents.push(currentLoggingEvent); - } - // Queue this batch of log entries - queuedRequests.push(batchedLoggingEvents); - - // If using a timer, the queue of requests will be processed by the - // timer function, so nothing needs to be done here. - if (!timed) { - if (!waitForResponse || (waitForResponse && !sending)) { - sendAll(); - } - } - } - } - }; - - function init() { - initialized = true; - // Start timer - if (timed) { - scheduleSending(); - } - } - }; - - AjaxAppender.prototype = new Appender(); - - AjaxAppender.prototype.defaults = { - waitForResponse: false, - timed: false, - timerInterval: 1000, - batchSize: 1, - requestSuccessCallback: null, - failCallback: null - }; - - AjaxAppender.prototype.layout = new HttpPostDataLayout(); - - AjaxAppender.prototype.toString = function() { - return "[AjaxAppender]"; - }; - - log4javascript.AjaxAppender = AjaxAppender; - - /* --------------------------------------------------------------------- */ - - // BaseConsoleAppender - // Create an anonymous function to protect base console methods - - (function() { - var getConsoleHtmlLines = function() { - return [ -'', -'', -' ', -' log4javascript', -' ', -' ', -' ', -' ', -'', -' ', -'
    ', -'
    ', -'
    ', -' Filters:', -' ', -' ', -' ', -' ', -' ', -' ', -' ', -'
    ', -' ', -'
    ', -' Options:', -' ', -' ', -' ', -' ', -' ', -' ', -'
    ', -'
    ', -'', -'
    ', -'
    ', -' ', -'' -]; - }; - - function ConsoleAppender() {} - - var consoleAppenderIdCounter = 1; - - ConsoleAppender.prototype = new Appender(); - - ConsoleAppender.prototype.create = function(inPage, containerElement, - layout, lazyInit, focusConsoleWindow, useOldPopUp, - complainAboutPopUpBlocking, newestMessageAtTop, - scrollToLatestMessage, initiallyMinimized, width, height, - reopenWhenClosed, maxMessages) { - var appender = this; - - // Common properties - if (layout) { - this.setLayout(layout); - } else { - this.setLayout(this.defaults.layout); - } - var initialized = false; - var consoleWindowLoaded = false; - var queuedLoggingEvents = []; - var isSupported = true; - var consoleAppenderId = consoleAppenderIdCounter++; - - // Params - lazyInit = extractBooleanFromParam(lazyInit, true); - newestMessageAtTop = extractBooleanFromParam(newestMessageAtTop, this.defaults.newestMessageAtTop); - scrollToLatestMessage = extractBooleanFromParam(scrollToLatestMessage, this.defaults.scrollToLatestMessage); - width = width ? width : this.defaults.width; - height = height ? height : this.defaults.height; - maxMessages = maxMessages ? maxMessages : this.defaults.maxMessages; - - // Functions whose implementations vary between subclasses - var init, safeToAppend, getConsoleWindow; - - // Configuration methods. The function scope is used to prevent - // direct alteration to the appender configuration properties. - var appenderName = inPage ? "InPageAppender" : "PopUpAppender"; - var checkCanConfigure = function(configOptionName) { - if (initialized) { - handleError(appenderName + ": configuration option '" + configOptionName + "' may not be set after the appender has been initialized"); - return false; - } - return true; - }; - - this.isNewestMessageAtTop = function() { return newestMessageAtTop; }; - this.setNewestMessageAtTop = function(newestMessageAtTopParam) { - newestMessageAtTop = bool(newestMessageAtTopParam); - if (consoleWindowLoaded && isSupported) { - getConsoleWindow().setNewestAtTop(newestMessageAtTop); - } - }; - - this.isScrollToLatestMessage = function() { return scrollToLatestMessage; }; - this.setScrollToLatestMessage = function(scrollToLatestMessageParam) { - scrollToLatestMessage = bool(scrollToLatestMessageParam); - if (consoleWindowLoaded && isSupported) { - getConsoleWindow().setScrollToLatest(scrollToLatestMessage); - } - }; - - this.getWidth = function() { return width; }; - this.setWidth = function(widthParam) { - if (checkCanConfigure("width")) { - width = extractStringFromParam(widthParam, width); - } - }; - - this.getHeight = function() { return height; }; - this.setHeight = function(heightParam) { - if (checkCanConfigure("height")) { - height = extractStringFromParam(heightParam, height); - } - }; - - this.getMaxMessages = function() { return maxMessages; }; - this.setMaxMessages = function(maxMessagesParam) { - maxMessages = extractIntFromParam(maxMessagesParam, maxMessages); - if (consoleWindowLoaded && isSupported) { - getConsoleWindow().setMaxMessages(maxMessages); - } - }; - - // Common methods - this.append = function(loggingEvent) { - if (isSupported) { - queuedLoggingEvents.push(loggingEvent); - // Force a check of whether the window is closed - var isSafeToAppend = safeToAppend(); - if (!initialized || (consoleClosed && reopenWhenClosed)) { - init(); - } - if (safeToAppend()) { - appendQueuedLoggingEvents(); - } - } - }; - - var appendQueuedLoggingEvents = function(loggingEvent) { - while (queuedLoggingEvents.length > 0) { - var currentLoggingEvent = queuedLoggingEvents.shift(); - var formattedMessage = appender.getLayout().format(currentLoggingEvent); - if (appender.getLayout().ignoresThrowable()) { - formattedMessage += currentLoggingEvent.getThrowableStrRep(); - } - getConsoleWindow().log(currentLoggingEvent.level, formattedMessage); - } - if (focusConsoleWindow) { - getConsoleWindow().focus(); - } - }; - - var writeHtml = function(doc) { - var lines = getConsoleHtmlLines(); - doc.open(); - for (var i = 0; i < lines.length; i++) { - doc.writeln(lines[i]); - } - doc.close(); - }; - - var consoleClosed = false; - - var pollConsoleWindow = function(windowTest, successCallback, errorMessage) { - function pollConsoleWindowLoaded() { - try { - // Test if the console has been closed while polling - if (consoleClosed) { - clearInterval(poll); - } - if (windowTest(getConsoleWindow())) { - clearInterval(poll); - successCallback(); - } - } catch (ex) { - clearInterval(poll); - isSupported = false; - handleError(errorMessage, ex); - } - } - - // Poll the pop-up since the onload event is not reliable - var poll = setInterval(pollConsoleWindowLoaded, 100); - }; - - // Define methods and properties that vary between subclasses - if (inPage) { - // InPageAppender - - // Extract params - if (!containerElement || !containerElement.appendChild) { - isSupported = false; - handleError("InPageAppender.init: a container DOM element must be supplied for the console window"); - return; - } - initiallyMinimized = extractBooleanFromParam(initiallyMinimized, appender.defaults.initiallyMinimized); - - // Configuration methods. The function scope is used to prevent - // direct alteration to the appender configuration properties. - this.isInitiallyMinimized = function() { return initiallyMinimized; }; - this.setInitiallyMinimized = function(initiallyMinimizedParam) { - if (checkCanConfigure("initiallyMinimized")) { - initiallyMinimized = bool(initiallyMinimizedParam); - } - }; - - // Define useful variables - var minimized = false; - var iframeContainerDiv; - var iframeId = uniqueId + "_InPageAppender_" + consoleAppenderId; - - this.hide = function() { - iframeContainerDiv.style.display = "none"; - minimized = true; - }; - - this.show = function() { - iframeContainerDiv.style.display = "block"; - minimized = false; - }; - - this.isVisible = function() { - return !minimized; - }; - - this.close = function() { - if (!consoleClosed) { - iframeContainerDiv.parentNode.removeChild(iframeContainerDiv); - consoleClosed = true; - } - }; - - // Create init, getConsoleWindow and safeToAppend functions - init = function() { - var initErrorMessage = "InPageAppender.init: unable to create console iframe"; - function finalInit() { - try { - getConsoleWindow().setNewestAtTop(newestMessageAtTop); - getConsoleWindow().setScrollToLatest(scrollToLatestMessage); - getConsoleWindow().setMaxMessages(maxMessages); - consoleWindowLoaded = true; - appendQueuedLoggingEvents(); - if (initiallyMinimized) { - appender.hide(); - } - } catch (ex) { - isSupported = false; - handleError(initErrorMessage, ex); - } - } - - function writeToDocument() { - try { - var windowTest = function(win) { return bool(win.loaded); }; - writeHtml(getConsoleWindow().document); - if (windowTest(getConsoleWindow())) { - finalInit(); - } else { - pollConsoleWindow(windowTest, finalInit, initErrorMessage); - } - } catch (ex) { - isSupported = false; - handleError(initErrorMessage, ex); - } - } - - minimized = initiallyMinimized; - iframeContainerDiv = containerElement.appendChild(document.createElement("div")); - - iframeContainerDiv.style.width = width; - iframeContainerDiv.style.height = height; - iframeContainerDiv.style.border = "solid gray 1px"; - - // Adding an iframe using the DOM would be preferable, but it doesn't work - // in IE5 on Windows, or in Konqueror prior to version 3.5 - in Konqueror - // it creates the iframe fine but I haven't been able to find a way to obtain - // the iframe's window object - var iframeHtml = ""; - iframeContainerDiv.innerHTML = iframeHtml; - consoleClosed = false; - - // Write the console HTML to the iframe - var iframeDocumentExistsTest = function(win) { return bool(win) && bool(win.document); }; - if (iframeDocumentExistsTest(getConsoleWindow())) { - writeToDocument(); - } else { - pollConsoleWindow(iframeDocumentExistsTest, writeToDocument, initErrorMessage); - } - - initialized = true; - }; - - getConsoleWindow = function() { - var iframe = window.frames[iframeId]; - if (iframe) { - return iframe; - } - }; - - safeToAppend = function() { - if (isSupported && !consoleClosed) { - if (!consoleWindowLoaded && getConsoleWindow() && getConsoleWindow().loaded) { - consoleWindowLoaded = true; - } - return consoleWindowLoaded; - } - return false; - }; - } else { - // PopUpAppender - - // Extract params - useOldPopUp = extractBooleanFromParam(useOldPopUp, appender.defaults.useOldPopUp); - complainAboutPopUpBlocking = extractBooleanFromParam(complainAboutPopUpBlocking, appender.defaults.complainAboutPopUpBlocking); - reopenWhenClosed = extractBooleanFromParam(reopenWhenClosed, this.defaults.reopenWhenClosed); - - // Configuration methods. The function scope is used to prevent - // direct alteration to the appender configuration properties. - this.isUseOldPopUp = function() { return useOldPopUp; }; - this.setUseOldPopUp = function(useOldPopUpParam) { - if (checkCanConfigure("useOldPopUp")) { - useOldPopUp = bool(useOldPopUpParam); - } - }; - - this.isComplainAboutPopUpBlocking = function() { return complainAboutPopUpBlocking; }; - this.setComplainAboutPopUpBlocking = function(complainAboutPopUpBlockingParam) { - if (checkCanConfigure("complainAboutPopUpBlocking")) { - complainAboutPopUpBlocking = bool(complainAboutPopUpBlockingParam); - } - }; - - this.isFocusPopUp = function() { return focusConsoleWindow; }; - this.setFocusPopUp = function(focusPopUpParam) { - // This property can be safely altered after logging has started - focusConsoleWindow = bool(focusPopUpParam); - }; - - this.isReopenWhenClosed = function() { return reopenWhenClosed; }; - this.setReopenWhenClosed = function(reopenWhenClosedParam) { - // This property can be safely altered after logging has started - reopenWhenClosed = bool(reopenWhenClosedParam); - }; - - this.close = function() { - try { - popUp.close(); - } catch (e) { - // Do nothing - } - consoleClosed = true; - }; - - // Define useful variables - var popUp; - - // Create init, getConsoleWindow and safeToAppend functions - init = function() { - var windowProperties = "width=" + width + ",height=" + height + ",status,resizable"; - var windowName = "PopUp_" + location.host.replace(/[^a-z0-9]/gi, "_") + "_" + consoleAppenderId; - if (!useOldPopUp) { - // Ensure a previous window isn't used by using a unique name - windowName = windowName + "_" + uniqueId; - } - - function finalInit() { - consoleWindowLoaded = true; - getConsoleWindow().setNewestAtTop(newestMessageAtTop); - getConsoleWindow().setScrollToLatest(scrollToLatestMessage); - getConsoleWindow().setMaxMessages(maxMessages); - appendQueuedLoggingEvents(); - } - - try { - popUp = window.open("", windowName, windowProperties); - consoleClosed = false; - if (popUp) { - if (useOldPopUp && popUp.loaded) { - popUp.mainPageReloaded(); - finalInit(); - } else { - writeHtml(popUp.document); - // Check if the pop-up window object is available - var popUpLoadedTest = function(win) { return bool(win) && win.loaded; }; - if (popUp.loaded) { - finalInit(); - } else { - pollConsoleWindow(popUpLoadedTest, finalInit, "PopUpAppender.init: unable to create console window"); - } - } - } else { - isSupported = false; - logLog.warn("PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender"); - if (complainAboutPopUpBlocking) { - handleError("log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging."); - } - } - } catch (ex) { - handleError("PopUpAppender.init: error creating pop-up", ex); - } - initialized = true; - }; - - getConsoleWindow = function() { - return popUp; - }; - - safeToAppend = function() { - if (isSupported && !isUndefined(popUp) && !consoleClosed) { - if (popUp.closed || - (consoleWindowLoaded && isUndefined(popUp.closed))) { // Extra check for Opera - consoleClosed = true; - logLog.debug("PopUpAppender: pop-up closed"); - return false; - } - if (!consoleWindowLoaded && popUp.loaded) { - consoleWindowLoaded = true; - } - } - return isSupported && consoleWindowLoaded && !consoleClosed; - }; - } - - if (enabled && !lazyInit) { - init(); - } - - // Expose getConsoleWindow so that automated tests can check the DOM - this.getConsoleWindow = getConsoleWindow; - }; - - /* ----------------------------------------------------------------- */ - - var PopUpAppender = function(lazyInit, layout, focusPopUp, - useOldPopUp, complainAboutPopUpBlocking, newestMessageAtTop, - scrollToLatestMessage, reopenWhenClosed, width, height, - maxMessages) { - - var focusConsoleWindow = extractBooleanFromParam(focusPopUp, this.defaults.focusPopUp); - - this.create(false, null, layout, lazyInit, focusConsoleWindow, - useOldPopUp, complainAboutPopUpBlocking, - newestMessageAtTop, scrollToLatestMessage, null, width, height, - reopenWhenClosed, maxMessages); - }; - - PopUpAppender.prototype = new ConsoleAppender(); - - PopUpAppender.prototype.defaults = { - layout: new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"), - focusPopUp: false, - lazyInit: true, - useOldPopUp: true, - complainAboutPopUpBlocking: true, - newestMessageAtTop: false, - scrollToLatestMessage: true, - width: "600", - height: "400", - reopenWhenClosed: false, - maxMessages: null - }; - - PopUpAppender.prototype.toString = function() { - return "[PopUpAppender]"; - }; - - log4javascript.PopUpAppender = PopUpAppender; - - /* ----------------------------------------------------------------- */ - - var InPageAppender = function(containerElement, lazyInit, - layout, initiallyMinimized, newestMessageAtTop, - scrollToLatestMessage, width, height, maxMessages) { - - this.create(true, containerElement, layout, lazyInit, false, - null, null, newestMessageAtTop, scrollToLatestMessage, - initiallyMinimized, width, height, null, maxMessages); - }; - - InPageAppender.prototype = new ConsoleAppender(); - - InPageAppender.prototype.defaults = { - layout: new PatternLayout("%d{HH:mm:ss} %-5p - %m{1}%n"), - initiallyMinimized: false, - lazyInit: true, - newestMessageAtTop: false, - scrollToLatestMessage: true, - width: "100%", - height: "250px", - maxMessages: null - }; - - InPageAppender.prototype.toString = function() { - return "[InPageAppender]"; - }; - - log4javascript.InPageAppender = InPageAppender; - - // Next line for backwards compatibility - log4javascript.InlineAppender = InPageAppender; - })(); - - /* --------------------------------------------------------------------- */ - - // BrowserConsoleAppender (only works in Opera and Safari and Firefox with - // FireBug extension) - var BrowserConsoleAppender = function(layout) { - if (layout) { - this.setLayout(layout); - } - }; - - BrowserConsoleAppender.prototype = new log4javascript.Appender(); - BrowserConsoleAppender.prototype.layout = new NullLayout(); - BrowserConsoleAppender.prototype.threshold = Level.DEBUG; - - BrowserConsoleAppender.prototype.append = function(loggingEvent) { - var appender = this; - - var getFormattedMessage = function() { - var layout = appender.getLayout(); - var formattedMessage = layout.format(loggingEvent); - if (layout.ignoresThrowable() && loggingEvent.exception) { - formattedMessage += loggingEvent.getThrowableStrRep(); - } - return formattedMessage; - }; - - if ((typeof opera != "undefined") && opera.postError) { // Opera - opera.postError(getFormattedMessage()); - } else if (window.console && window.console.log) { // Safari and FireBug - var formattedMesage = getFormattedMessage(); - // Log to FireBug using its logging methods or revert to the console.log - // method in Safari - if (window.console.debug && Level.DEBUG.isGreaterOrEqual(loggingEvent.level)) { - window.console.debug(formattedMesage); - } else if (window.console.info && Level.INFO.equals(loggingEvent.level)) { - window.console.info(formattedMesage); - } else if (window.console.warn && Level.WARN.equals(loggingEvent.level)) { - window.console.warn(formattedMesage); - } else if (window.console.error && loggingEvent.level.isGreaterOrEqual(Level.ERROR)) { - window.console.error(formattedMesage); - } else { - window.console.log(formattedMesage); - } - } - }; - - BrowserConsoleAppender.prototype.toString = function() { - return "[BrowserConsoleAppender]"; - }; - - log4javascript.BrowserConsoleAppender = BrowserConsoleAppender; -})(); \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/main.css b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/main.css deleted file mode 100644 index 959706cb5..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/log4javascript/main.css +++ /dev/null @@ -1,221 +0,0 @@ -body { - font-family: Verdana, Arial, Helvetica, Sans-serif; - font-size: 75%; - color: black; - background-color: #eeeeee; - text-align: center; - padding: 0px; - margin: 0px; -} - -div#container { - width: 770px; - text-align: left; - line-height: 150%; - border-width: 0px 1px 1px 1px; - border-color: #cccccc; - border-style: solid; - background-color: white; - color: black; - padding: 10px; - margin: 0px auto 10px auto; -} - -div#header { - margin: 0px; - border-bottom: solid #cccccc 1px; -} - -div#header h1 { - font-family: Courier New, Courier, Monospace, Serif; - padding: 10px 0px; - margin: 0px; - font-size: 200%; - font-weight: bold; - text-align: right; -} - -div#header h1 a { - color: black; -} - -div#nav { - float: right; - font-size: 91.66%; - font-weight: bold; - padding-top: 5px; -} - -div#container.nonav div#content { - float: none; - width: auto; -} - -*.externallinkinfo { - float: right; - font-style: italic; -} - -div#content h1 { - padding: 5px 3px; - margin: 5px 0px; - font-size: 175%; - font-weight: normal; -} - -div#content h2 { - background-color: darkgreen; - color: white; - padding: 0px 3px; - font-size: 116.66%; - font-weight: bold; -} - -div#content h2 a { - color: white; -} - -div#content h3 { - padding: 0px 3px; - font-size: 116.66%; - font-weight: bold; - border-style: solid; - border-color: #003399; - border-width: 1px 0px; -} - -div#content h4 { - padding: 0px 3px; - font-size: 100%; - font-weight: bold; - border-top: solid #eeeeee 1px; -} - -div#content h5 { - padding: 0px; - margin: 3px 0px; -} - -div#footer { - margin-top: 20px; - padding: 2px; - border-top: solid #cccccc 1px; - font-size: 91.66%; -} - -a { - color: #003399; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -a.bold { - font-weight: bold; -} - -a img { - border-width: 0px; -} - -br.clear { - clear: both; -} - -table { - font-size: 100%; -} - -/* Code */ -pre, code { - font-family: Courier New, Courier; - font-size: 108.33%; -} - -pre.code { - border: solid 1px #cccccc; - background-color: #eeeeee; - padding: 3px; -} - -div.example, div.panel { - border: solid 1px #cccccc; - background-color: #f5f5f5; - padding: 3px; -} - -div.panel h2 { - margin: 5px 0px; -} - -div.padded { - padding: 10px; -} - -div.hidden { - display: none; -} - -div.active { - background-color: #fcfffc; - border-color: green; -} - -label.rightofinput, input.rightoflabel { - margin-right: 20px; -} - -/* 'Back to top' link */ -p.linktotop { - text-align: right; -} - -ul.propertieslist li.method, ul.propertieslist li.property { - margin: 0; - padding: 0px 0px 15px 0px; -} - -ul.propertieslist li *.name { - font-size: 116.66%; - font-weight: bold; -} - -ul.propertieslist li.method div.methodsignature { - margin: 10px 0px; - font-size: 116.66%; - background-color: #eeeeee; -} - -ul.propertieslist li.method *.paramsheading { - font-weight: bold; -} - -ul.propertieslist li.method *.params { - padding-top: 5px; - padding-bottom: 5px; -} - -ul.propertieslist li.method *.params li.param { - padding-bottom: 10px; -} - -ul.propertieslist li.method *.params li.param *.paramname { - font-style: italic; -} - -div.serverlog { - height: 200px; - /*border: solid 1px #cccccc;*/ -} - -div#inPageConsole { - margin-top: 10px; -} - -div.iframecontainer { - background-color: white; - border: solid #cccccc 1px; - width: 100%; -} \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/previewerror.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/previewerror.js deleted file mode 100644 index 5a429cf73..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/previewerror.js +++ /dev/null @@ -1,42 +0,0 @@ -function writeError(header, message) -{ - document.write( - '' + - '' + - '' + - '' + - '
    ' + header + '
    ' + - '' + - '' + - '
    ' + - '' + - '' + - '
    ' + message + '
    ' + - '
    ' + - '
    \n' ); -} - -function loadResources(locale) -{ - var lang = locale.split('-'); - var locales = []; - - locales.push('en'); - - if(lang.length >= 1) { - locales.push(lang[0]); - } - - if(lang.length >= 2) { - locales.push(lang[0] + '_' + lang[1]); - } - - for(var i =0 ; i < locales.length; i++) { - _loadStrings(locales[i]); - } -} - -function _loadStrings(locale) -{ - document.write(''); -} \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/prompts.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/prompts.js deleted file mode 100644 index 7f7153d3e..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/prompts.js +++ /dev/null @@ -1,360 +0,0 @@ -////////////////////////////// -// FOR DEBUGGING ONLY -var debug = false; -function dumpFormFields(formName) -{ - theForm = document.forms[formName]; - for ( idx = 0; idx < theForm.elements.length; ++idx ) - alert ( theForm.elements[idx].name + " - " + theForm.elements[idx].value ); -} - -////////////////////////////// -// GLOBAL VAR -var needURLEncode = false; // only need to do url encode in java -var promptPrefix = "promptex-"; - -/////////////////////////////// -// properly encode prompt values -function encodePrompt (prompt) -{ - if (needURLEncode) - { - return encodeURIComponent(prompt); - } - else - { - return prompt; - } -} - -//////////////////////////////// -// add number, currency, string from dropdown/textbox to list box -// where multiple prompt values are supported -function addPromptDiscreteValue ( inForm, type , paramName) -{ - var widget, obj; - widget = obj = inForm[paramName + "DiscreteValue"]; - if ( obj.type && obj.type.toLowerCase() != "text" && - obj.type.toLowerCase() != "hidden" && obj.type.toLowerCase() != "password") - { - //select box not a textbox - obj = obj.options[obj.selectedIndex]; - } - if ( ! checkSingleValue ( obj.value, type ) ) - { - if (widget.focus && widget.type.toLowerCase() != "hidden") - widget.focus(); - return false; - } - promptValue = encodePrompt(obj.value); - displayString = ( obj.text ) ? obj.text : obj.value; - promptEntry = new Option(displayString,promptValue,false,false); - theList = inForm[paramName + "ListBox"]; - theList.options[theList.length] = promptEntry; - if (widget.focus && widget.type.toLowerCase() != "hidden") - widget.focus (); - if ( widget.select ) - widget.select (); - if ( widget.type.toLowerCase != "text" && - widget.type.toLowerCase != "hidden" && - widget.type.toLowerCase != "password") - if ( widget.selectedIndex < widget.length - 1 ) - widget.selectedIndex = widget.selectedIndex + 1; //... or move to next selection in listbox -} - -//////////////////////////////////// -// adds Range prompt to listbox where multiple values are supported -function addPromptRangeValue ( inForm, type , paramName ) -{ - lowerBound = inForm[paramName + "LowerBound"]; - upperBound = inForm[paramName + "UpperBound"]; - //handle select box, not text box case - if ( lowerBound.type.toLowerCase () != "text" && - lowerBound.type.toLowerCase () != "hidden" && - lowerBound.type.toLowerCase () != "password" ) //either upper or lower, doesn't matter - { - lowerBound = lowerBound.options[lowerBound.selectedIndex]; - upperBound = upperBound.options[upperBound.selectedIndex]; - } - - lowerUnBounded = inForm[paramName + "NoLowerBoundCheck"].checked; - upperUnBounded = inForm[paramName + "NoUpperBoundCheck"].checked; - lvalue = uvalue = ""; - - if ( ! lowerUnBounded ) - { - if ( ! checkSingleValue ( lowerBound.value, type ) ) { - if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden") - lowerBound.focus (); - return false; - } - lvalue = lowerBound.value; - } - if ( ! upperUnBounded ) - { - if ( ! checkSingleValue ( upperBound.value, type ) ) { - if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden") - upperBound.focus (); - return false; - } - uvalue = upperBound.value; - } - ldisplay = (lowerBound.text && !lowerUnBounded) ? lowerBound.text : lvalue; - udisplay = (upperBound.text && !upperUnBounded) ? upperBound.text : uvalue; - - lowerChecked = inForm[paramName + "LowerCheck"].checked; - upperChecked = inForm[paramName + "UpperCheck"].checked; - - value = ( lowerChecked && ! lowerUnBounded ) ? "[" : "("; - if ( ! lowerUnBounded ) //unbounded is empty string not quoted empty string (e.g not "_crEMPTY_") - value += encodePrompt(lvalue); - value += "_crRANGE_" - if ( ! upperUnBounded ) - value += encodePrompt(uvalue); - value += (upperChecked && ! upperUnBounded ) ? "]" : ")"; - if ( debug ) alert (value); - - display = ( lowerChecked && ! lowerUnBounded ) ? "[" : "("; - display += ldisplay; - display += " .. " - display += udisplay; - display += (upperChecked && ! upperUnBounded ) ? "]" : ")"; - - promptEntry = new Option(display,value,false,false); - theList = inForm[paramName + "ListBox"]; - theList.options[theList.length] = promptEntry; - -} - -//////////////////////////////////// -// disable check boxes based on user selection on the range parameters -function disableBoundCheck(lowOrUpBound, inform, paramName) { - if (lowOrUpBound == 0) { - if (inform[paramName + "NoLowerBoundCheck"].checked) { - inform[paramName + "NoUpperBoundCheck"].disabled = true; - inform[paramName + "LowerCheck"].disabled = true; - inform[paramName + "LowerBound"].disabled = true; - } - else { - inform[paramName + "NoUpperBoundCheck"].disabled = false; - inform[paramName + "LowerCheck"].disabled = false; - inform[paramName + "LowerBound"].disabled = false; - } - } else if (lowOrUpBound == 1) { - if (inform[paramName + "NoUpperBoundCheck"].checked) { - inform[paramName + "NoLowerBoundCheck"].disabled = true; - inform[paramName + "UpperCheck"].disabled = true; - inform[paramName + "UpperBound"].disabled = true; - } else { - inform[paramName + "NoLowerBoundCheck"].disabled = false; - inform[paramName + "UpperCheck"].disabled = false; - inform[paramName + "UpperBound"].disabled = false; - } - } -} - -//////////////////////////////////// -// puts "select" value into text box for an editable prompt which also has defaults -function setSelectedValue (inForm, selectCtrl, textCtrl) -{ - selectedOption = inForm[selectCtrl].options[inForm[selectCtrl].selectedIndex]; - inForm[textCtrl].value = selectedOption.value; -} - -/////////////////////////////////// -// remove value from listbox where multiple value prompts are supported -function removeFromListBox ( inForm, paramName ) -{ - lbox = inForm[paramName + "ListBox"]; - for ( var idx = 0; idx < lbox.options.length; ) - { - if ( lbox.options[idx].selected ) - lbox.options[idx] = null; - else - idx++; - } -} - -///////////////////////////////////// -// sets prompt value into the hidden form field in proper format so that it can be submitted -function setPromptSingleValue (inform, type, paramName) -{ - hiddenField = inform[promptPrefix + paramName]; - value = ""; - if ( inform[paramName + "NULL"] != null && inform[paramName + "NULL"].checked ) - value = "_crNULL_"; //NULL is a literal for, uhmm.. a NULL - else - { - discreteVal = inform[paramName + "DiscreteValue"]; - if ( discreteVal.type.toLowerCase () != "text" && - discreteVal.type.toLowerCase () != "hidden" && - discreteVal.type.toLowerCase () != "password") - value = discreteVal.options[discreteVal.selectedIndex].value; - else - value = discreteVal.value; - if ( ! checkSingleValue ( value, type ) ) { - if (discreteVal.focus && discreteVal.type.toLowerCase ()) - discreteVal.focus (); - return false; - } - else - value = encodePrompt(value); - } - hiddenField.value = value; - return true; -} - -///////////////////////////////////// -// sets prompt value for a range into the hidden form field in proper format so that it can be submitted -function setPromptRangeValue (inform, type, paramName) -{ - hiddenField = inform[promptPrefix + paramName]; - - if ( inform[paramName + "NULL"] != null && inform[paramName + "NULL"].checked ) - { - value = "_crNULL_"; //NULL is a literal for, uhmm.. a NULL - hiddenField.value = value; - return true; - } - - lowerBound = inform[paramName + "LowerBound"]; - upperBound = inform[paramName + "UpperBound"]; - //handle select box, not text box case - if ( lowerBound.type.toLowerCase () != "text" && - lowerBound.type.toLowerCase () != "hidden" && - lowerBound.type.toLowerCase () != "password") //either upper or lower, doesn't matter - { - lowerBound = lowerBound.options[lowerBound.selectedIndex]; - upperBound = upperBound.options[upperBound.selectedIndex]; - } - lowerUnBounded = inform[paramName + "NoLowerBoundCheck"].checked; - upperUnBounded = inform[paramName + "NoUpperBoundCheck"].checked; - lowerChecked = inform[paramName + "LowerCheck"].checked; - upperChecked = inform[paramName + "UpperCheck"].checked; - uvalue = lvalue = ""; - - if ( ! lowerUnBounded ) - { - if ( ! checkSingleValue ( lowerBound.value, type ) ) { - if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden") - lowerBound.focus(); - return false; - } - lvalue = lowerBound.value; - } - if ( ! upperUnBounded ) - { - if ( ! checkSingleValue ( upperBound.value, type ) ) { - if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden") - upperBound.focus (); - return false; - } - uvalue = upperBound.value; - } - value = ( lowerChecked && ! lowerUnBounded ) ? "[" : "("; - if ( ! lowerUnBounded ) - value += encodePrompt(lvalue); - value += "_crRANGE_" - if ( ! upperUnBounded ) - value += encodePrompt(uvalue); - value += (upperChecked && ! upperUnBounded ) ? "]" : ")"; - if ( debug ) - alert (value); - hiddenField.value = value; - return true; -} - -///////////////////////////////////// -// sets prompt value into the hidden form field in proper format so that it can be submitted -function setPromptMultipleValue (inform, type, paramName) -{ - hiddenField = inform[promptPrefix + paramName]; - values = inform[paramName + "ListBox"].options; - - if ( inform[paramName + "NULL"] != null && inform[paramName + "NULL"].checked ) - { - value = "_crNULL_"; //NULL is a literal for, uhmm.. a NULL - hiddenField.value = value; - return true; - } - - if ( values.length == 0 ) - { - value = "_crEMPTY_"; //if value is empty, set to empty string - } - else - { - value = ""; - for ( idx = 0; idx < values.length; ++idx ) - { - // first value could be empty string, then chcking value.length != 0 could miss one empty string - if ( idx != 0 ) - value += "_crMULT_" - value += values[idx].value; - } - } - - if ( debug ) - alert (value); - hiddenField.value = value; - //NOTE: we'll always return true as the validation is done before values are added to select box - return true; -} - -/////////////////////////////////////// -// check and alert user about any errors based on type of prompt -var regNumber = /^(\+|-)?((\d+(\.|,| |\u00A0)?\d*)+|(\d*(\.|,| |\u00A0)?\d+)+)$/ -var regCurrency = regNumber; -var regDate = /^(D|d)(A|a)(T|t)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *\)$/ -var regDateTime = /^(D|d)(A|a)(T|t)(E|e)(T|t)(I|i)(M|m)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *, *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ -var regTime = /^(T|t)(I|i)(M|m)(E|e) *\( *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ - -function checkSingleValue ( value, type ) -{ - if ( type == 'n' && ! regNumber.test ( value ) ) - { - alert ( L_BadNumber ); - return false; - } - else if ( type == 'c' && ! regCurrency.test ( value ) ) - { - alert ( L_BadCurrency ); - return false; - } - else if ( type == 'd' && ! regDate.test ( value ) ) - { - alert ( L_BadDate ); - return false; - } - else if ( type == "dt" && ! regDateTime.test ( value ) ) - { - alert ( L_BadDateTime ); - return false; - } - else if ( type == 't' && ! regTime.test ( value ) ) - { - alert ( L_BadTime ); - return false; - } - - //by default let it go... - return true; -} - -function checkValue(evt) { - - if (navigator.appName == "Netscape") - { - if (evt.which == 13 && (evt.target.type == "text" || evt.target.type == "password")) - { - checkSetAndSubmitValues (); - } - } - else - { - if (window.event.keyCode == 13 && (window.event.srcElement.type == "text" || window.event.srcElement.type == "password")) - { - checkSetAndSubmitValues (); - } - } -} \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/prompts_param.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/prompts_param.js deleted file mode 100644 index a61c7c55b..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/prompts_param.js +++ /dev/null @@ -1,1727 +0,0 @@ - -////////////////////////////// -// FOR DEBUGGING ONLY -var debug = false; -function dumpFormFields(formName) -{ - theForm = document.forms[formName]; - for ( idx = 0; idx < theForm.elements.length; ++idx ) - alert ( theForm.elements[idx].name + " - " + theForm.elements[idx].value ); -} - -////////////////////////////// -// GLOBAL VAR -var needURLEncode = false; // only need to do url encode in java -var promptPrefix = "promptex-"; -var CR_NULL = "_crNULL_"; -var CR_USE_VALUE = "_crUseValue_"; -var promptMinValue = "_minValue"; -var promptMaxValue = "_maxValue"; -var warningMaxValue = "_warnMSG"; - -var _bver = parseInt(navigator.appVersion); -var Nav4 = ((navigator.appName == "Netscape") && _bver==4); -var Nav4plus = ((navigator.appName == "Netscape") && _bver >= 4); -var IE4plus = ((navigator.userAgent.indexOf("MSIE") != -1) && _bver>4); - -if (Nav4plus) - var userLanguage = (navigator.language.substr(0, 2)); -else - var userLanguage = (navigator.browserLanguage.substr(0, 2)); - -/////////////////////////////// -// substitue range string -function ConstructRangeDisplayString(rangeStr, param0, param1) -{ - var newString = rangeStr.replace("{0}", param0); - newString = newString.replace("{1}", param1); - return newString; -} - -/////////////////////////////// -// Display string for range value in ListBox -function GetRangeValueDisplayText(rangeStr, param0, param1, paramType) -{ - if (paramType == "dt" || paramType == "d" || paramType == "t") - { - if (param0.length != 0) - { - if (this.formatJsDate) - param0 = formatJsDate(NeutralDT2Date(param0)); - else - param0 = NeutralDT2D(param0); - } - - if (param1.length != 0) - { - if (this.formatJsDate) - param1 = formatJsDate(NeutralDT2Date(param1)); - else - param1 = NeutralDT2D(param1); - } - } - - return ConstructRangeDisplayString(rangeStr, param0, param1); -} - -/////////////////////////////// -// properly encode prompt values -function encodePrompt (prompt) -{ - if (needURLEncode) - { - return encodeURIComponent(prompt); - } - else - { - return prompt; - } -} - -function clickSetNullCheckBox(inForm, paramName, suffix) -{ - var nullCtrl = inForm[paramName + "NULL"]; - var textCtrl = inForm[paramName + suffix]; - var hiddenCtrl = inForm[paramName + suffix + "Hidden"]; - var hourCtrl = inForm[paramName + suffix + "Hour"]; - var minuteCtrl = inForm[paramName + suffix + "Minute"]; - var secondCtrl = inForm[paramName + suffix + "Second"]; - var ampmCtrl = inForm[paramName + suffix + "AMPM"]; - if (nullCtrl.checked) - { - if (textCtrl != null) textCtrl.disabled = true; - if (hourCtrl != null) hourCtrl.disabled = true; - if (minuteCtrl != null) minuteCtrl.disabled = true; - if (secondCtrl != null) secondCtrl.disabled = true; - if (ampmCtrl != null) ampmCtrl.disabled = true; - } - else - { - if (textCtrl != null) textCtrl.disabled = false; - if (hourCtrl != null) hourCtrl.disabled = false; - if (minuteCtrl != null) minuteCtrl.disabled = false; - if (secondCtrl != null) secondCtrl.disabled = false; - if (ampmCtrl != null) ampmCtrl.disabled = false; - - } -} - -function ClearListBoxAndSetNULL(theList) -{ - // delete everything in the listbox, add _crNULL_ as an item - promptEntry = new Option(L_NoValue, CR_NULL,false,false); - for ( var idx = 0; idx < theList.options.length; ) - { - theList.options[0] = null; - idx++; - } - - theList.options[0] = promptEntry; - return; -} - -//////////////////////////////// -// add number, currency, string from dropdown/textbox to list box -// where multiple prompt values are supported -function DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl) -{ - var promptValue = ""; - - var year; - var month; - var day; - if ((type == "dt") || (type == "d")) - { - var d = hiddenCtrl.value; - if (d.length == 0) - { - alert(L_NoDateEntered); - return ""; - } - var leftIndex = d.indexOf("("); - var rightIndex = d.indexOf(")"); - d = d.substr(leftIndex + 1, rightIndex - leftIndex - 1); - var dArray = d.split(","); - year = dArray[0]; - month = dArray[1]; - day = dArray[2]; - } - - if (type == "dt") - { - promptValue = "DateTime("; - promptValue += year; - promptValue += ","; - promptValue += month; - promptValue += ","; - promptValue += day; - promptValue += ","; - - var hour = 0; - if (ampmCtrl != undefined) - { - var i = 0; - if (ampmCtrl.selectedIndex == 1) - i = 1; - hour = hourCtrl.selectedIndex + 1 + i * 12; - if (hour == 12) hour = 0; - else if (hour == 24) hour = 12; - } - else - { - hour = hourCtrl.selectedIndex; - } - - promptValue += hour; - promptValue += ","; - promptValue += minuteCtrl.selectedIndex; - promptValue += ","; - promptValue += secondCtrl.selectedIndex; - - promptValue += ")"; - } - else if (type == "d") - { - promptValue = "Date("; - promptValue += year; - promptValue += ","; - promptValue += month; - promptValue += ","; - promptValue += day; - promptValue += ")"; - - } - else if (type == "t") - { - promptValue = "Time(" - - var hour = 0; - if (ampmCtrl != undefined) - { - var i = 0; - if (ampmCtrl.selectedIndex == 1) - i = 1; - hour = hourCtrl.selectedIndex + 1 + i * 12; - if (hour == 12) hour = 0; - else if (hour == 24) hour = 12; - } - else - { - hour = hourCtrl.selectedIndex; - } - - - promptValue += hour; - promptValue += ","; - promptValue += minuteCtrl.selectedIndex; - promptValue += ","; - promptValue += secondCtrl.selectedIndex; - promptValue += ")"; - } - - return promptValue; -} - - -function DateTimeDisplayStringHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl) -{ - var neutralstring = DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - if (type == "d" && this.formatJsDate) - return formatJsDate(NeutralDT2Date(neutralstring)); - else if (type == "t" && this.formatJsTime) - return formatJsTime(NeutralDT2Date(neutralstring)); - else if (type == "dt" && this.formatJsDate && this.formatJsTime) - return formatJsDate(NeutralDT2Date(neutralstring)) + ' ' + formatJsTime(NeutralDT2Date(neutralstring)); - else - return NeutralDT2D(neutralstring); -} - - -function addPromptDiscreteValueHelper(inForm, type, paramName, suffix) -{ - theList = inForm[paramName + "ListBox"]; - - // if there is a NULL checkbox and it is set - if ( inForm[paramName + "NULL"] != null && inForm[paramName + "NULL"].checked ) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - - // if the listbox already has a NULL value in it, don't do anything, unless user removes NULl value from the listbox - if (theList.options.length > 0 && theList.options[0].value == CR_NULL) - { - alert(L_NoValueAlready); - return; - } - - // if defaultdropdownlist selected item is _crNULL_, put it into multiple listbox - var dropDownListName = ""; - if (suffix == "DiscreteValue") - dropDownListName = paramName + "SelectValue"; - else - dropDownListName = paramName + "SelectLowerBound"; - var dropDownListCtrl = inForm[dropDownListName]; - if (dropDownListCtrl != null) - { - if (dropDownListCtrl.options[dropDownListCtrl.selectedIndex].value == CR_NULL) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - } - - var textCtrl = inForm[paramName + suffix]; - var hiddenCtrl = inForm[paramName + suffix + "Hidden"]; - var hourCtrl = inForm[paramName + suffix + "Hour"]; - var minuteCtrl = inForm[paramName + suffix + "Minute"]; - var secondCtrl = inForm[paramName + suffix + "Second"]; - var ampmCtrl = inForm[paramName + suffix + "AMPM"]; - - var obj; - var editables = true; - - if (textCtrl == undefined && hourCtrl == undefined) - { - //select box not a textbox, hour, minute, and second, ampm dropdown are not there either - editables = false; - obj = dropDownListCtrl; - obj = obj.options[obj.selectedIndex]; - } - else - { - if (type == "t") - obj = hourCtrl; - else - obj = textCtrl; - } - - if (type == "dt" || type == "d" || type == "t") - { - promptValue = DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - if (promptValue.length == 0) return false; - - if (editables) - displayString = DateTimeDisplayStringHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - else - displayString = DateTimeDisplayStringHelper(type, obj.text, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - } - else - { - promptValue = encodePrompt(obj.value); - displayString = ( obj.text ) ? obj.text : obj.value; - } - - if ( ! checkSingleValue (promptValue, type ) ) - { - return false; - } - - promptEntry = new Option(displayString,promptValue,false,false); - theList.options[theList.length] = promptEntry; -} - -function addPromptDiscreteValueHelperWithChecking(inForm, type, paramName, suffix, minValue, maxValue, errorMessage ) -{ - theList = inForm[paramName + "ListBox"]; - - // if there is a NULL checkbox and it is set - if ( inForm[paramName + "NULL"] != null && inForm[paramName + "NULL"].checked ) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - - // if the listbox already has a NULL value in it, don't do anything, unless user removes NULl value from the listbox - if (theList.options.length > 0 && theList.options[0].value == CR_NULL) - { - alert(L_NoValueAlready); - return; - } - - // if defaultdropdownlist selected item is _crNULL_, put it into multiple listbox - var dropDownListName = ""; - if (suffix == "DiscreteValue") - dropDownListName = paramName + "SelectValue"; - else - dropDownListName = paramName + "SelectLowerBound"; - var dropDownListCtrl = inForm[dropDownListName]; - if (dropDownListCtrl != null) - { - if (dropDownListCtrl.options[dropDownListCtrl.selectedIndex].value == CR_NULL) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - } - - var textCtrl = inForm[paramName + suffix]; - var hiddenCtrl = inForm[paramName + suffix + "Hidden"]; - var hourCtrl = inForm[paramName + suffix + "Hour"]; - var minuteCtrl = inForm[paramName + suffix + "Minute"]; - var secondCtrl = inForm[paramName + suffix + "Second"]; - var ampmCtrl = inForm[paramName + suffix + "AMPM"]; - - var obj; - var editables = true; - - if (textCtrl == undefined && hourCtrl == undefined) - { - //select box not a textbox, hour, minute, and second, ampm dropdown are not there either - editables = false; - obj = dropDownListCtrl; - obj = obj.options[obj.selectedIndex]; - } - else - { - if (type == "t") - obj = hourCtrl; - else - obj = textCtrl; - } - - if (type == "dt" || type == "d" || type == "t") - { - promptValue = DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - if (promptValue.length == 0) return false; - - if (editables) - displayString = DateTimeDisplayStringHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - else - displayString = DateTimeDisplayStringHelper(type, obj.text, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - } - else - { - promptValue = encodePrompt(obj.value); - displayString = ( obj.text ) ? obj.text : obj.value; - } - - if ( ! checkSingleValueWithMinMax (promptValue, type, minValue, maxValue, errorMessage ) ) - { - return false; - } - - promptEntry = new Option(displayString,promptValue,false,false); - theList.options[theList.length] = promptEntry; -} - -function addPromptDiscreteValue ( inForm, type , paramName) -{ - addPromptDiscreteValueHelper(inForm, type, paramName, "DiscreteValue"); -} - -function addPromptDiscreteValueWithChecking ( inForm, type , paramName, minValue, maxValue, errorMessage ) -{ - addPromptDiscreteValueHelperWithChecking(inForm, type, paramName, "DiscreteValue", minValue, maxValue, errorMessage); -} - -//////////////////////////////////// -// adds Range prompt to listbox where multiple values are supported -function addPromptDiscreteRangeValue ( inForm, type , paramName ) -{ - lowerOption = inForm[paramName + "SelectLowerOptions"]; - - // exactly - if (lowerOption.selectedIndex == 1) - { - // add discrete - addPromptDiscreteValueHelper(inForm, type, paramName, "LowerBound"); - } - else - { - // add range - addPromptRangeValue(inForm, type, paramName); - } -} - -// adds Range prompt with Checking to listbox where multiple values are supported -function addPromptDiscreteRangeValueWithChecking ( inForm, type , paramName, minValue, maxValue, errorMessage ) -{ - lowerOption = inForm[paramName + "SelectLowerOptions"]; - - // exactly - if (lowerOption.selectedIndex == 1) - { - // add discrete - addPromptDiscreteValueHelperWithChecking(inForm, type, paramName, "LowerBound", minValue, maxValue, errorMessage); - } - else - { - // add range - addPromptRangeValueWithChecking(inForm, type, paramName, minValue, maxValue, errorMessage); - } -} - -//////////////////////////////////// -// adds Range prompt to listbox where multiple values are supported -function addPromptRangeValue ( inForm, type , paramName ) -{ - - theList = inForm[paramName + "ListBox"]; - - // if there is a NULL checkbox and it is set - if ( inForm[paramName + "NULL"] != null && inForm[paramName + "NULL"].checked ) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - - // if the listbox already has a NULL value in it, don't do anything, unless user removed NULl value from the listbox - if (theList.options.length > 0 && theList.options[0].value == CR_NULL) - { - alert(L_NoValueAlready); - return; - } - - // if both defaultdropdownlists selected item is _crNULL_, put it into multiple listbox - // if one of them is _crNULL_, it is not a valid option, do nothing - var lowerDropDownListName = paramName + "SelectLowerBound"; - var upperDropDownListName = paramName + "SelectUpperBound"; - var lowerDropDownListCtrl = inForm[lowerDropDownListName]; - var upperDropDownListCtrl = inForm[upperDropDownListName]; - if (lowerDropDownListCtrl != null && upperDropDownListCtrl != null) - { - if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL - && upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - else if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL - || upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL) - { - alert(L_BadValue); - return; - } - } - - lowerOption = inForm[paramName + "SelectLowerOptions"]; - upperOption = inForm[paramName + "SelectUpperOptions"]; - - lowerBound = inForm[paramName + "LowerBound"]; - upperBound = inForm[paramName + "UpperBound"]; - - lowerBoundHidden = inForm[paramName + "LowerBoundHidden"]; - upperBoundHidden = inForm[paramName + "UpperBoundHidden"]; - - var lhourCtrl = inForm[paramName+"LowerBound" + "Hour"]; - var lminuteCtrl = inForm[paramName + "LowerBound" + "Minute"]; - var lsecondCtrl = inForm[paramName + "LowerBound" + "Second"]; - var lampmCtrl = inForm[paramName + "LowerBound" + "AMPM"]; - - var uhourCtrl = inForm[paramName+"UpperBound" + "Hour"]; - var uminuteCtrl = inForm[paramName + "UpperBound" + "Minute"]; - var usecondCtrl = inForm[paramName + "UpperBound" + "Second"]; - var uampmCtrl = inForm[paramName + "UpperBound" + "AMPM"]; - - var editable = true; - - //handle select box, not text box case - if ( lowerBound == undefined && lhourCtrl == undefined)//either upper or lower, doesn't matter - { - editable = false; - - lowerBound = inForm[paramName + "SelectLowerBound"]; - upperBound = inForm[paramName + "SelectUpperBound"]; - lowerBound = lowerBound.options[lowerBound.selectedIndex]; - upperBound = upperBound.options[upperBound.selectedIndex]; - } - - lowerUnBounded = (inForm[paramName+"SelectLowerOptions"].selectedIndex == (inForm[paramName + "SelectLowerOptions"].options.length - 1)); - upperUnBounded = (inForm[paramName+"SelectUpperOptions"].selectedIndex == (inForm[paramName + "SelectUpperOptions"].options.length - 1)); - - - lvalue = uvalue = ""; - - if ( ! lowerUnBounded ) - { - if ((type == "dt" || type == "d" || type == "t") && (editable)) - { - lvalue = DateTimePromptValueHelper(type, lowerBoundHidden, lhourCtrl, lminuteCtrl, lsecondCtrl, lampmCtrl); - if (lvalue.length == 0) return false; - } - else - lvalue = lowerBound.value; - - if ( ! checkSingleValue ( lvalue, type ) ) { - if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden") - lowerBound.focus (); - return false; - } - } - if ( ! upperUnBounded ) - { - if ((type == "dt" || type == "d" || type == "t") && (editable)) - { - uvalue = DateTimePromptValueHelper(type, upperBoundHidden, uhourCtrl, uminuteCtrl, usecondCtrl, uampmCtrl); - if (uvalue.length == 0) return false; - } - else - uvalue = upperBound.value; - - if ( ! checkSingleValue ( uvalue, type ) ) { - if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden") - upperBound.focus (); - return false; - } - } - - var ldisplay = ""; - var udisplay = ""; - if ((type == "dt" || type == "d" || type == "t") && (editable)) - { - if (!lowerUnBounded) - ldisplay = DateTimeDisplayStringHelper(type, lowerBoundHidden, lhourCtrl, lminuteCtrl, lsecondCtrl, lampmCtrl); - if (!upperUnBounded) - udisplay = DateTimeDisplayStringHelper(type, upperBoundHidden, uhourCtrl, uminuteCtrl, usecondCtrl, uampmCtrl); - } - else - { - ldisplay = lvalue; - udisplay = uvalue; - } - - lowerChecked = (inForm[paramName+"SelectLowerOptions"].selectedIndex == 0); - upperChecked = (inForm[paramName+"SelectUpperOptions"].selectedIndex == 0); - - value = lowerUnBounded ? "{" : lowerChecked ? "[" : "("; - if ( ! lowerUnBounded ) //unbounded is empty string not quoted empty string (e.g not "_crEMPTY_") - value += encodePrompt(lvalue); - value += "_crRANGE_" - if ( ! upperUnBounded ) - value += encodePrompt(uvalue); - value += upperUnBounded ? "}" : upperChecked ? "]" : ")"; - if ( debug ) alert (value); - - if ( !lowerUnBounded && !upperUnBounded && !checkRangeValue(lvalue, uvalue, type)) - { - return false; - } - - var display = ""; - if (lowerChecked && upperUnBounded) - { - display = ConstructRangeDisplayString(L_FROM, ldisplay, ""); - } - else if (lowerUnBounded && upperChecked) - { - display = ConstructRangeDisplayString(L_TO, udisplay, ""); - } - else if (!lowerChecked && upperUnBounded) - { - display = ConstructRangeDisplayString(L_AFTER, ldisplay, ""); - } - else if (lowerUnBounded && !upperChecked) - { - display = ConstructRangeDisplayString(L_BEFORE, udisplay, ""); - } - else if (lowerChecked && upperChecked) - { - display = ConstructRangeDisplayString(L_FROM_TO, ldisplay, udisplay); - } - else if (lowerChecked && !upperUnBounded && !upperChecked) - { - display = ConstructRangeDisplayString(L_FROM_BEFORE, ldisplay, udisplay); - } - else if (!lowerChecked && !lowerUnBounded && upperChecked) - { - display = ConstructRangeDisplayString(L_AFTER_TO, ldisplay, udisplay); - } - else if (!lowerChecked && !lowerUnBounded && !upperChecked && !upperUnBounded) - { - display = ConstructRangeDisplayString(L_AFTER_BEFORE, ldisplay, udisplay); - } - - if ((!lowerUnBounded) || (!upperUnBounded)) - { - promptEntry = new Option(display,value,false,false); - theList.options[theList.length] = promptEntry; - } - else - { - alert(L_BadBound); - } - -} - -//////////////////////////////////// -// adds Range prompt with Checking to listbox where multiple values are supported -function addPromptRangeValueWithChecking ( inForm, type , paramName, minValue, maxValue, errorMessage ) -{ - - theList = inForm[paramName + "ListBox"]; - - // if there is a NULL checkbox and it is set - if ( inForm[paramName + "NULL"] != null && inForm[paramName + "NULL"].checked ) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - - // if the listbox already has a NULL value in it, don't do anything, unless user removed NULl value from the listbox - if (theList.options.length > 0 && theList.options[0].value == CR_NULL) - { - alert(L_NoValueAlready); - return; - } - - // if both defaultdropdownlists selected item is _crNULL_, put it into multiple listbox - // if one of them is _crNULL_, it is not a valid option, do nothing - var lowerDropDownListName = paramName + "SelectLowerBound"; - var upperDropDownListName = paramName + "SelectUpperBound"; - var lowerDropDownListCtrl = inForm[lowerDropDownListName]; - var upperDropDownListCtrl = inForm[upperDropDownListName]; - if (lowerDropDownListCtrl != null && upperDropDownListCtrl != null) - { - if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL - && upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL) - { - // delete everything in the listbox, add _crNULL_ as an item - ClearListBoxAndSetNULL(theList); - return; - } - else if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL - || upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL) - { - alert(L_BadValue); - return; - } - } - - lowerOption = inForm[paramName + "SelectLowerOptions"]; - upperOption = inForm[paramName + "SelectUpperOptions"]; - - lowerBound = inForm[paramName + "LowerBound"]; - upperBound = inForm[paramName + "UpperBound"]; - - lowerBoundHidden = inForm[paramName + "LowerBoundHidden"]; - upperBoundHidden = inForm[paramName + "UpperBoundHidden"]; - - var lhourCtrl = inForm[paramName+"LowerBound" + "Hour"]; - var lminuteCtrl = inForm[paramName + "LowerBound" + "Minute"]; - var lsecondCtrl = inForm[paramName + "LowerBound" + "Second"]; - var lampmCtrl = inForm[paramName + "LowerBound" + "AMPM"]; - - var uhourCtrl = inForm[paramName+"UpperBound" + "Hour"]; - var uminuteCtrl = inForm[paramName + "UpperBound" + "Minute"]; - var usecondCtrl = inForm[paramName + "UpperBound" + "Second"]; - var uampmCtrl = inForm[paramName + "UpperBound" + "AMPM"]; - - var editable = true; - - //handle select box, not text box case - if ( lowerBound == undefined && lhourCtrl == undefined)//either upper or lower, doesn't matter - { - editable = false; - - lowerBound = inForm[paramName + "SelectLowerBound"]; - upperBound = inForm[paramName + "SelectUpperBound"]; - lowerBound = lowerBound.options[lowerBound.selectedIndex]; - upperBound = upperBound.options[upperBound.selectedIndex]; - } - - lowerUnBounded = (inForm[paramName+"SelectLowerOptions"].selectedIndex == (inForm[paramName + "SelectLowerOptions"].options.length - 1)); - upperUnBounded = (inForm[paramName+"SelectUpperOptions"].selectedIndex == (inForm[paramName + "SelectUpperOptions"].options.length - 1)); - - - lvalue = uvalue = ""; - - if ( ! lowerUnBounded ) - { - if ((type == "dt" || type == "d" || type == "t") && (editable)) - { - lvalue = DateTimePromptValueHelper(type, lowerBoundHidden, lhourCtrl, lminuteCtrl, lsecondCtrl, lampmCtrl); - if (lvalue.length == 0) return false; - } - else - lvalue = lowerBound.value; - - if ( ! checkSingleValue ( lvalue, type ) ) { - if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden") - lowerBound.focus (); - return false; - } - } - if ( ! upperUnBounded ) - { - if ((type == "dt" || type == "d" || type == "t") && (editable)) - { - uvalue = DateTimePromptValueHelper(type, upperBoundHidden, uhourCtrl, uminuteCtrl, usecondCtrl, uampmCtrl); - if (uvalue.length == 0) return false; - } - else - uvalue = upperBound.value; - - if ( ! checkSingleValue ( uvalue, type ) ) { - if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden") - upperBound.focus (); - return false; - } - } - - var ldisplay = ""; - var udisplay = ""; - if ((type == "dt" || type == "d" || type == "t") && (editable)) - { - if (!lowerUnBounded) - ldisplay = DateTimeDisplayStringHelper(type, lowerBoundHidden, lhourCtrl, lminuteCtrl, lsecondCtrl, lampmCtrl); - if (!upperUnBounded) - udisplay = DateTimeDisplayStringHelper(type, upperBoundHidden, uhourCtrl, uminuteCtrl, usecondCtrl, uampmCtrl); - } - else - { - ldisplay = lvalue; - udisplay = uvalue; - } - - lowerChecked = (inForm[paramName+"SelectLowerOptions"].selectedIndex == 0); - upperChecked = (inForm[paramName+"SelectUpperOptions"].selectedIndex == 0); - - value = lowerUnBounded ? "{" : lowerChecked ? "[" : "("; - if ( ! lowerUnBounded ) //unbounded is empty string not quoted empty string (e.g not "_crEMPTY_") - value += encodePrompt(lvalue); - value += "_crRANGE_" - if ( ! upperUnBounded ) - value += encodePrompt(uvalue); - value += upperUnBounded ? "}" : upperChecked ? "]" : ")"; - if ( debug ) alert (value); - - if ( !lowerUnBounded && !upperUnBounded && !checkRangeValueWithMinMax(lvalue, uvalue, type, minValue, maxValue, errorMessage)) - { - return false; - } - - var display = ""; - if (lowerChecked && upperUnBounded) - { - display = ConstructRangeDisplayString(L_FROM, ldisplay, ""); - } - else if (lowerUnBounded && upperChecked) - { - display = ConstructRangeDisplayString(L_TO, udisplay, ""); - } - else if (!lowerChecked && upperUnBounded) - { - display = ConstructRangeDisplayString(L_AFTER, ldisplay, ""); - } - else if (lowerUnBounded && !upperChecked) - { - display = ConstructRangeDisplayString(L_BEFORE, udisplay, ""); - } - else if (lowerChecked && upperChecked) - { - display = ConstructRangeDisplayString(L_FROM_TO, ldisplay, udisplay); - } - else if (lowerChecked && !upperUnBounded && !upperChecked) - { - display = ConstructRangeDisplayString(L_FROM_BEFORE, ldisplay, udisplay); - } - else if (!lowerChecked && !lowerUnBounded && upperChecked) - { - display = ConstructRangeDisplayString(L_AFTER_TO, ldisplay, udisplay); - } - else if (!lowerChecked && !lowerUnBounded && !upperChecked && !upperUnBounded) - { - display = ConstructRangeDisplayString(L_AFTER_BEFORE, ldisplay, udisplay); - } - - if ((!lowerUnBounded) || (!upperUnBounded)) - { - promptEntry = new Option(display,value,false,false); - theList.options[theList.length] = promptEntry; - } - else - { - alert(L_BadBound); - } - -} - -//////////////////////////////////// -// disable check boxes based on user selection on the range parameters -function disableBoundCheck(lowOrUpBound, inform, paramName) { - if (lowOrUpBound == 0) { - if (inform[paramName + "NoLowerBoundCheck"].checked) { - inform[paramName + "NoUpperBoundCheck"].disabled = true; - inform[paramName + "LowerCheck"].disabled = true; - inform[paramName + "LowerBound"].disabled = true; - } - else { - inform[paramName + "NoUpperBoundCheck"].disabled = false; - inform[paramName + "LowerCheck"].disabled = false; - inform[paramName + "LowerBound"].disabled = false; - } - } else if (lowOrUpBound == 1) { - if (inform[paramName + "NoUpperBoundCheck"].checked) { - inform[paramName + "NoLowerBoundCheck"].disabled = true; - inform[paramName + "UpperCheck"].disabled = true; - inform[paramName + "UpperBound"].disabled = true; - } else { - inform[paramName + "NoLowerBoundCheck"].disabled = false; - inform[paramName + "UpperCheck"].disabled = false; - inform[paramName + "UpperBound"].disabled = false; - } - } -} - -//////////////////////////////////// -// puts "select" value into text box for an editable prompt which also has defaults -function setSelectedValue (inForm, selectCtrlName, textCtrlName, type, namePlusFix) -{ - var textCtrl = inForm[textCtrlName]; - var selectCtrl = inForm[selectCtrlName]; - var hiddenCtrl = inForm[namePlusFix+"Hidden"]; - var hourCtrl = inForm[namePlusFix+"Hour"]; - var minuteCtrl = inForm[namePlusFix+"Minute"]; - var secondCtrl = inForm[namePlusFix+"Second"]; - var ampmCtrl = inForm[namePlusFix+"AMPM"]; - - // if no editable input fields are there, return, do nothing; - if (textCtrl == null && hourCtrl == null) - return; - - // if selectedItem is UseValue,do nothing, and return - if (selectCtrl.options[selectCtrl.selectedIndex].value == CR_USE_VALUE) - { - return; - } - - if (selectCtrl.options[selectCtrl.selectedIndex].value == CR_NULL) - { - if (textCtrl != null) textCtrl.disabled = true; - if (hourCtrl != null) hourCtrl.disabled = true; - if (minuteCtrl != null) minuteCtrl.disabled = true; - if (secondCtrl != null) secondCtrl.disabled = true; - if (ampmCtrl != null) ampmCtrl.disabled = true; - return; - } - else - { - if (textCtrl != null) textCtrl.disabled = false; - if (hourCtrl != null) hourCtrl.disabled = false; - if (minuteCtrl != null) minuteCtrl.disabled = false; - if (secondCtrl != null) secondCtrl.disabled = false; - if (ampmCtrl != null) ampmCtrl.disabled = false; - } - - var year, month, day; - var hour, minute, second; - if (type == "dt" || type == "d" || type == "t") - { - var sDateTime = selectCtrl.options[selectCtrl.selectedIndex].value; - if (sDateTime.length == 0) - return; - - var leftIndex = sDateTime.indexOf("("); - sDateTime = sDateTime.substr(leftIndex+1, sDateTime.length - leftIndex); - var rightIndex = sDateTime.indexOf(")"); - sDateTime = sDateTime.substr(0, rightIndex); - var a = sDateTime.split(","); - - if (type == "dt") - { - year = a[0]; - month = a[1]; - day = a[2]; - - hour = parseInt(a[3]); - minute = parseInt(a[4]); - second = parseInt(a[5]); - } - else if (type == "d") - { - year = a[0]; - month = a[1]; - day = a[2]; - } - else if (type == "t") - { - hour = parseInt(a[0]); - minute = parseInt(a[1]); - second = parseInt(a[2]); - } - } - - selectedOption = selectCtrl.options[selectCtrl.selectedIndex]; - if (type == "dt") - { - var dt = new Date(year, month - 1, day, hour, minute, second); - if (this.formatJsDate) - textCtrl.value = formatJsDate(dt); - else - textCtrl.value = GLDT(dt,true, false); - hiddenCtrl.value = "Date("; - hiddenCtrl.value += year; - hiddenCtrl.value += ","; - hiddenCtrl.value += month; - hiddenCtrl.value += ","; - hiddenCtrl.value += day; - hiddenCtrl.value += ")"; - - if (ampmCtrl != undefined) - { - if (hour == 0 || hour == 12) - hourCtrl.selectedIndex = 11; - else if (hour > 12) - hourCtrl.selectedIndex = hour - 12 - 1; - else - hourCtrl.selectedIndex = hour - 1; - } - else - hourCtrl.selectedIndex = hour; - minuteCtrl.selectedIndex = minute; - secondCtrl.selectedIndex = second; - if (ampmCtrl != null) - { - if ( hour >= 12) - ampmCtrl.selectedIndex = 1; - else - ampmCtrl.selectedIndex = 0; - } - } - else if (type == "d") - { - var dt = new Date(year, month - 1, day, 0, 0, 0); - if (this.formatJsDate) - textCtrl.value = formatJsDate(dt); - else - textCtrl.value = GLDT(dt,true, false); - hiddenCtrl.value = "Date("; - hiddenCtrl.value += year; - hiddenCtrl.value += ","; - hiddenCtrl.value += month; - hiddenCtrl.value += ","; - hiddenCtrl.value += day; - hiddenCtrl.value += ")"; - } - else if (type == "t") - { - if (ampmCtrl != null) - { - if (hour == 0 || hour == 12) - hourCtrl.selectedIndex = 11; - else if (hour > 12) - hourCtrl.selectedIndex = hour - 12 - 1; - else - hourCtrl.selectedIndex = hour - 1; - } - else - hourCtrl.selectedIndex = hour; - minuteCtrl.selectedIndex = minute; - secondCtrl.selectedIndex = second; - if (ampmCtrl != null) - { - if ( hour >= 12) - ampmCtrl.selectedIndex = 1; - else - ampmCtrl.selectedIndex = 0; - } - } - else - { - textCtrl.value = selectedOption.value; - } - - if (selectCtrl.options[0].value == CR_USE_VALUE) - { - // always show USE_VALUE as selectedItem for the dropdownlist - selectCtrl.selectedIndex = 0; - } -} - -/////////////////////////////////// -// remove value from listbox where multiple value prompts are supported -function removeFromListBox ( inForm, paramName ) -{ - lbox = inForm[paramName + "ListBox"]; - for ( var idx = 0; idx < lbox.options.length; ) - { - if ( lbox.options[idx].selected ) - lbox.options[idx] = null; - else - idx++; - } -} - -///////////////////////////////////// -// sets prompt value into the hidden form field in proper format so that it can be submitted -function setPromptSingleValue (inform, type, paramName) -{ - //alert("SetPromptSingleValue"); - hiddenField = inform[promptPrefix + paramName]; - var hiddenMinValue = ""; - var hiddenMaxValue = ""; - var hiddenWarnMsg = ""; - if (typeof(inform[promptPrefix + paramName + promptMinValue]) != "undefined") - hiddenMinValue = (inform[promptPrefix + paramName + promptMinValue]).value; - if (typeof(inform[promptPrefix + paramName + promptMaxValue])!= "undefined") - hiddenMaxValue = (inform[promptPrefix + paramName + promptMaxValue]).value; - if (typeof(inform[promptPrefix + paramName + warningMaxValue]) != "undefined") - hiddenWarnMsg = (inform[promptPrefix + paramName + warningMaxValue]).value; - value = ""; - if ( inform[paramName + "NULL"] != null && inform[paramName + "NULL"].checked ) - { - value = CR_NULL; //NULL is a literal for, uhmm.. a NULL - hiddenField.value = value; - return true; - } - - // if defaultdropdownlist selected item is _crNULL_, put it into multiple listbox - var dropDownListName = paramName + "SelectValue"; - var dropDownListCtrl = inform[dropDownListName]; - if (dropDownListCtrl != null) - { - if (dropDownListCtrl.options[dropDownListCtrl.selectedIndex].value == CR_NULL) - { - hiddenField.value = CR_NULL; - return true; - } - } - - - discreteVal = inform[paramName + "DiscreteValue"]; - if (discreteVal != undefined || inform[paramName + "DiscreteValueHour"] != undefined) - { // editable - - if ( type == "dt" || type == "d" || type == "t") - { - var hiddenCtrl = inform[paramName+"DiscreteValueHidden"]; - var hourCtrl = inform[paramName+"DiscreteValueHour"]; - var minuteCtrl = inform[paramName + "DiscreteValueMinute"]; - var secondCtrl = inform[paramName + "DiscreteValueSecond"]; - var ampmCtrl = inform[paramName + "DiscreteValueAMPM"]; - value = DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl); - if (value.length == 0) return false; - } - else - value = discreteVal.value; - } - else - { - // not editable - discreteVal = inform[paramName+"SelectValue"]; - value = discreteVal.options[discreteVal.selectedIndex].value; - //alert(value); - } - if ( (hiddenMinValue.length==0 && hiddenMaxValue.length==0 && hiddenWarnMsg.length==0) && ! checkSingleValue ( value, type ) ) { - if (discreteVal.focus && discreteVal.type.toLowerCase ()) - discreteVal.focus (); - return false; - } - else if ( (hiddenMinValue.length>0 && hiddenMaxValue.length>0 && hiddenWarnMsg.length>0) && ! checkSingleValueWithMinMax ( value, type, hiddenMinValue, hiddenMaxValue, hiddenWarnMsg ) ) { - if (typeof(discreteVal)!="undefined" && discreteVal.focus && discreteVal.type.toLowerCase ()) - discreteVal.focus (); - return false; - } - else - value = encodePrompt(value); - - hiddenField.value = value; - return true; -} - -///////////////////////////////////// -// sets prompt value for a range into the hidden form field in proper format so that it can be submitted -function setPromptRangeValue (inform, type, paramName) -{ - - hiddenField = inform[promptPrefix + paramName]; - var hiddenMinValue = ""; - var hiddenMaxValue = ""; - var hiddenWarnMsg = ""; - if (typeof(inform[promptPrefix + paramName + promptMinValue]) != "undefined") - hiddenMinValue = (inform[promptPrefix + paramName + promptMinValue]).value; - if (typeof(inform[promptPrefix + paramName + promptMaxValue])!= "undefined") - hiddenMaxValue = (inform[promptPrefix + paramName + promptMaxValue]).value; - if (typeof(inform[promptPrefix + paramName + warningMaxValue]) != "undefined") - hiddenWarnMsg = (inform[promptPrefix + paramName + warningMaxValue]).value; - - if ( inform[paramName + "NULL"] != null && inform[paramName + "NULL"].checked ) - { - value = CR_NULL; //NULL is a literal for, uhmm.. a NULL - hiddenField.value = value; - return true; - } - - // if both defaultdropdownlists selected item is _crNULL_, put it into hiddenfield - // if one of them is _crNULL_, it is not a valid option, do nothing - var lowerDropDownListName = paramName + "SelectLowerBound"; - var upperDropDownListName = paramName + "SelectUpperBound"; - var lowerDropDownListCtrl = inform[lowerDropDownListName]; - var upperDropDownListCtrl = inform[upperDropDownListName]; - if (lowerDropDownListCtrl != null && upperDropDownListCtrl != null) - { - if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL - && upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL) - { - hiddenField.value = "_crNULL_"; - return true; - } - else if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL - || upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL) - { - alert(L_BadValue); - return false; - } - } - - lowerOptions = inform[paramName + "SelectLowerOptions"]; - upperOptions = inform[paramName + "SelectUpperOptions"]; - - lowerBound = inform[paramName + "LowerBound"]; - upperBound = inform[paramName + "UpperBound"]; - - lowerBoundHidden = inform[paramName + "LowerBoundHidden"]; - upperBoundHidden = inform[paramName + "UpperBoundHidden"]; - - lowerBoundDropdown = inform[paramName + "SelectLowerBound"]; - upperBoundDropdown = inform[paramName + "SelectUpperBound"]; - - var editables = true; - - //handle select box, not text box case - if (lowerBound == undefined && inform[paramName + "LowerBound" + "Hour"] == undefined) - { - editables = false; - lowerBound = lowerBoundDropdown; - upperBound = upperBoundDropdown; - lowerBound = lowerBound.options[lowerBound.selectedIndex]; - upperBound = upperBound.options[upperBound.selectedIndex]; - } - - lowerUnBounded = (lowerOptions.selectedIndex == (lowerOptions.length - 1)); - upperUnBounded = (upperOptions.selectedIndex == (upperOptions.length - 1)); - - lowerChecked = (lowerOptions.selectedIndex == 0); - upperChecked = (upperOptions.selectedIndex == 0); - - uvalue = lvalue = ""; - - if ( ! lowerUnBounded ) - { - if ( (type == "dt" || type == "d" || type == "t") && (editables)) - { - var lhourCtrl = inform[paramName+"LowerBound" + "Hour"]; - var lminuteCtrl = inform[paramName + "LowerBound" + "Minute"]; - var lsecondCtrl = inform[paramName + "LowerBound" + "Second"]; - var lampmCtrl = inform[paramName + "LowerBound" + "AMPM"]; - lvalue = DateTimePromptValueHelper(type, lowerBoundHidden, lhourCtrl, lminuteCtrl, lsecondCtrl, lampmCtrl); - if (lvalue.length == 0) return false; - } - else - lvalue = lowerBound.value; - - if ( ! checkSingleValue ( lvalue, type ) ) { - if (lowerBound != undefined && lowerBound.focus) - lowerBound.focus(); - return false; - } - } - if ( ! upperUnBounded ) - { - if (( type == "dt" || type == "d" || type == "t") && (editables)) - { - var uhourCtrl = inform[paramName+"UpperBound" + "Hour"]; - var uminuteCtrl = inform[paramName + "UpperBound" + "Minute"]; - var usecondCtrl = inform[paramName + "UpperBound" + "Second"]; - var uampmCtrl = inform[paramName + "UpperBound" + "AMPM"]; - uvalue = DateTimePromptValueHelper(type, upperBoundHidden, uhourCtrl, uminuteCtrl, usecondCtrl, uampmCtrl); - if (uvalue.length == 0) return false; - } - else - uvalue = upperBound.value; - - if ( ! checkSingleValue ( uvalue, type ) ) { - if (upperBound != undefined && upperBound.focus) - upperBound.focus(); - return false; - } - } - - value = lowerUnBounded ? "{" : lowerChecked ? "[" : "("; - if ( ! lowerUnBounded ) - value += encodePrompt(lvalue); - value += "_crRANGE_" - if ( ! upperUnBounded ) - value += encodePrompt(uvalue); - value += upperUnBounded ? "}" : upperChecked ? "]" : ")"; - if ( debug ) - alert (value); - - if (lowerUnBounded && upperUnBounded) - { - alert(L_BadBound); - return false; - } - - if ((hiddenMinValue.length==0 && hiddenMaxValue.length==0 && hiddenWarnMsg.length==0) && !lowerUnBounded && !upperUnBounded && !checkRangeValue(lvalue, uvalue, type)) - { - return false; - } - else if ((hiddenMinValue.length>0 && hiddenMaxValue.length>0 && hiddenWarnMsg.length>0) && !lowerUnBounded && !upperUnBounded && !checkRangeValueWithMinMax(lvalue, uvalue, type, hiddenMinValue, hiddenMaxValue, hiddenWarnMsg)) - { - return false; - } - - hiddenField.value = value; - return true; -} - -///////////////////////////////////// -// sets prompt value into the hidden form field in proper format so that it can be submitted -function setPromptMultipleValue (inform, type, paramName) -{ - hiddenField = inform[promptPrefix + paramName]; - values = inform[paramName + "ListBox"].options; - - if ( values.length == 0 ) - { - value = "_crEMPTY_"; //if value is empty, set to empty string - } - else - { - value = ""; - for ( idx = 0; idx < values.length; ++idx ) - { - // first value could be empty string, then chcking value.length != 0 could miss one empty string - if ( idx != 0 ) - value += "_crMULT_" - value += values[idx].value; - } - } - - if ( debug ) - alert (value); - - hiddenField.value = value; - //NOTE: we'll always return true as the validation is done before values are added to select box - return true; -} - -/////////////////////////////////////// -// check and alert user about any errors based on type of prompt -var regNumber = /^(\+|-)?((\d+(\.|,| |\u00A0)?\d*)+|(\d*(\.|,| |\u00A0)?\d+)+)$/ -var regCurrency = regNumber; -var regDate = /^(D|d)(A|a)(T|t)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *\)$/ -var regDateTime = /^(D|d)(A|a)(T|t)(E|e)(T|t)(I|i)(M|m)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *, *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ -var regTime = /^(T|t)(I|i)(M|m)(E|e) *\( *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ - -function checkSingleValue ( value, type ) -{ - if ( type == 'n' && ! regNumber.test ( value ) ) - { - alert ( L_BadNumber ); - return false; - } - else if ( type == 'c' && ! regCurrency.test ( value ) ) - { - alert ( L_BadCurrency ); - return false; - } - /*else if ( type == 'd' && ! regDate.test ( value ) ) - { - alert ( L_BadDate ); - return false; - } - else if ( type == "dt" && ! regDateTime.test ( value ) ) - { - alert ( L_BadDateTime ); - return false; - } - else if ( type == 't' && ! regTime.test ( value ) ) - { - alert ( L_BadTime ); - return false; - }*/ - - //by default let it go... - return true; -} - -function checkSingleValueWithMinMax ( value, type, minValue, maxValue, errorMessage ) -{ - if ( type == 'n' ) - { - if (! regNumber.test ( value ) || isNaN(DelocalizeNum (value)) || isNaN(DelocalizeNum (minValue)) || isNaN(DelocalizeNum (maxValue))) - { - alert ( L_BadNumber ); - return false; - } - if (minValue.length>0 && maxValue.length>0){ - //check min and max - if (eval (DelocalizeNum (value)) < eval (DelocalizeNum (minValue)) || eval (DelocalizeNum (value)) > eval (DelocalizeNum (maxValue))) - { - alert (errorMessage); - return false; - } - } - } - else if ( type == 'c' ) - { - if (! regCurrency.test ( value ) || isNaN(DelocalizeNum (value)) || isNaN(DelocalizeNum (minValue)) || isNaN(DelocalizeNum (maxValue))) - { - alert ( L_BadCurrency ); - return false; - } - if (minValue.length>0 && maxValue.length>0){ - //check min and max - if (eval (DelocalizeNum (value)) < eval (DelocalizeNum (minValue)) || eval (DelocalizeNum (value)) > eval (DelocalizeNum (maxValue))) - { - alert (errorMessage); - return false; - } - } - } - else if ( type == 'd' ) - { - if (minValue.length>0 && maxValue.length>0){ - var comp = NeutralDT2Date(value); - //check min and max - var dMin = Date.parse(minValue); - var dMax = Date.parse(maxValue); - // since Date month as a value is from 0-11, the string represenatation as a value of 1-12, NeutralDT2Date handle it - // The number of milliseconds after midnight January 1, 1970 - // Set to GMT for consistent comparison on the client side - var offset = comp.getTimezoneOffset()*60*1000; - var dComp = Date.parse(comp) - offset; - if (dComp < dMin || dComp > dMax) - { - alert (errorMessage); - return false; - } - } - } - else if ( type == "dt" ) - { - if (minValue.length>0 && maxValue.length>0){ - var comp = NeutralDT2Date(value); - //check min and max - var dtMin = Date.parse(minValue); - var dtMax = Date.parse(maxValue); - // since Date month as a value is from 0-11, the string represenatation as a value of 1-12, NeutralDT2Date handle it - // The number of milliseconds after midnight January 1, 1970 - // Set to GMT for consistent comparison on the client side - var offset = comp.getTimezoneOffset()*60*1000; - var dtComp = Date.parse(comp) - offset; - if (dtComp < dtMin || dtComp > dtMax) - { - alert (errorMessage); - return false; - } - } - } - else if ( type == 't' ) - { - if (minValue.length>0 && maxValue.length>0){ - var comp = eval("new Date(0,0,0," + value.substring(value.indexOf('(') + 1, value.indexOf(')') + 1)); - //var comp = NeutralDT2Date(value); - //check min and max - //getTimeFromIETFFormat to remove the difference of the year, month and day components - var tMinComponents = getTimeFromIETFFormat(minValue); - var tMaxComponents = getTimeFromIETFFormat(maxValue); - var tMinTEFT = eval("new Date(0,0,0," + tMinComponents[0] + "," + tMinComponents[1] + "," + tMinComponents[2] + ")"); - var tMaxTEFT = eval("new Date(0,0,0," + tMaxComponents[0] + "," + tMaxComponents[1] + "," + tMaxComponents[2] + ")"); - // check am or pm - var index1 = minValue.indexOf(" PM "); - if (index1>-1) - { - tMinTEFT.setTime(tMinTEFT.getTime()+(12*3600*1000)); - } - var index2 = maxValue.indexOf(" PM "); - if (index2>-1) - { - tMaxTEFT.setTime(tMaxTEFT.getTime()+(12*3600*1000)); - } - var tMin = Date.parse(tMinTEFT); - var tMax = Date.parse(tMaxTEFT); - // Both new Date() make consistent comparison on the client side - var tComp = Date.parse(comp); - if (tComp < tMin || tComp > tMax) - { - alert (errorMessage); - return false; - } - } - } - else if (type == "text" || type == 's') - { - // is a string - //check min and max - if (value.length < eval (DelocalizeNum (minValue)) || value.length > eval (DelocalizeNum (maxValue))) - { - alert (errorMessage); - return false; - } - } - //by default let it go... - return true; -} - -function checkRangeValue (fvalue, tvalue, type) -{ - // determine if the start is smaller than the end - if ((type == "n") || (type == "c")) - { - // Is a number, or currency - if (eval (DelocalizeNum (fvalue)) > eval (DelocalizeNum (tvalue))) - { - alert(L_RangeError); - return false; - } - } - else if (type == "d"){ - //Is a Date - if (eval("new " + fvalue) > eval("new " + tvalue)){ - alert(L_RangeError); - return false; - } - }else if (type == "t"){ - //Is a Time - var comp1 = eval("new Date(0,0,0," + fvalue.substring(fvalue.indexOf('(') + 1, fvalue.indexOf(')') + 1)); - var comp2 = eval("new Date(0,0,0," + tvalue.substring(tvalue.indexOf('(') + 1, tvalue.indexOf(')') + 1)); - if (comp1 > comp2){ - alert(L_RangeError); - return false; - } - }else if (type == "dt"){ - //Is a DateTime - var comp1 = eval("new Date" + fvalue.substring(8, fvalue.length)); - var comp2 = eval("new Date" + tvalue.substring(8, tvalue.length)); - if (comp1 > comp2){ - alert(L_RangeError); - return false; - } - } - else if (type == "text") - { - // is a string - if (fvalue.toLowerCase() > tvalue.toLowerCase()) - { - alert(L_RangeError); - return false; - } - } - // otherwise, let it go - - return true; -} - -function checkRangeValueWithMinMax (fvalue, tvalue, type, minValue, maxValue, errorMessage) -{ - // determine if the start is smaller than the end - if ((type == "n") || (type == "c")) - { - // check invalid number - if (isNaN (DelocalizeNum(fvalue)) || isNaN(DelocalizeNum (minValue)) || isNaN(DelocalizeNum (tvalue)) || isNaN(DelocalizeNum (maxValue))) - { - alert ( L_BadNumber ); - return false; - } - // Is a number, or currency - if (eval (DelocalizeNum (fvalue)) > eval (DelocalizeNum (tvalue))) - { - alert(L_RangeError); - return false; - } - if (minValue.length>0 && maxValue.length>0){ - //check min and max - if (eval (DelocalizeNum (fvalue)) < eval (DelocalizeNum (minValue)) || eval (DelocalizeNum (tvalue)) > eval (DelocalizeNum (maxValue))) - { - alert (errorMessage); - return false; - } - } - } - else if (type == "d"){ - //Is a Date - var comp1 = NeutralDT2Date(fvalue); - var comp2 = NeutralDT2Date(tvalue); - if (comp1 > comp2){ - alert(L_RangeError); - return false; - } - //check min and max - if (minValue.length>0 && maxValue.length>0){ - var dMin = Date.parse(minValue); - var dMax = Date.parse(maxValue); - // since Date month as a value is from 0-11, the string represenatation as a value of 1-12, NeutralDT2Date handle it - // The number of milliseconds after midnight January 1, 1970 - // Set to GMT for consistent comparison on the client side - var offset1 = comp1.getTimezoneOffset()*60*1000; - var offset2 = comp2.getTimezoneOffset()*60*1000; - var dComp1 = Date.parse(comp1) - offset1; - var dComp2 = Date.parse(comp2) - offset2; - if (dComp1 < dMin || dComp2 > dMax) - { - alert (errorMessage); - return false; - } - } - }else if (type == "t"){ - //Is a Time - var comp1 = eval("new Date(0,0,0," + fvalue.substring(fvalue.indexOf('(') + 1, fvalue.indexOf(')') + 1)); - var comp2 = eval("new Date(0,0,0," + tvalue.substring(tvalue.indexOf('(') + 1, tvalue.indexOf(')') + 1)); - //var comp1 = NeutralDT2Date(fvalue); - //var comp2 = NeutralDT2Date(tvalue); - if (comp1 > comp2){ - alert(L_RangeError); - return false; - } - //check min and max - if (minValue.length>0 && maxValue.length>0){ - //getTimeFromIETFFormat to remove the difference of the year, month and day components - var tMinComponents = getTimeFromIETFFormat(minValue); - var tMaxComponents = getTimeFromIETFFormat(maxValue); - var tMinTEFT = eval("new Date(0,0,0," + tMinComponents[0] + "," + tMinComponents[1] + "," + tMinComponents[2] + ")"); - var tMaxTEFT = eval("new Date(0,0,0," + tMaxComponents[0] + "," + tMaxComponents[1] + "," + tMaxComponents[2] + ")"); - // check am or pm - var index1 = minValue.indexOf(" PM "); - if (index1>-1) - { - tMinTEFT.setTime(tMinTEFT.getTime()+(12*3600*1000)); - } - var index2 = maxValue.indexOf(" PM "); - if (index2>-1) - { - tMaxTEFT.setTime(tMaxTEFT.getTime()+(12*3600*1000)); - } - var tMin = Date.parse(tMinTEFT); - var tMax = Date.parse(tMaxTEFT); - // Both new Date() make consistent comparison on the client side - var tComp1 = Date.parse(comp1); - var tComp2 = Date.parse(comp2); - if (tComp1 < tMin || tComp2 > tMax) - { - alert (errorMessage); - return false; - } - } - }else if (type == "dt"){ - //Is a DateTime - var comp1 = NeutralDT2Date(fvalue); - var comp2 = NeutralDT2Date(tvalue); - if (comp1 > comp2){ - alert(L_RangeError); - return false; - } - //check min and max - if (minValue.length>0 && maxValue.length>0){ - var dtMin = Date.parse(minValue); - var dtMax = Date.parse(maxValue); - // since Date month as a value is from 0-11, the string represenatation as a value of 1-12, NeutralDT2Date handle it - // The number of milliseconds after midnight January 1, 1970 - // Set to GMT for consistent comparison on the client side - var offset1 = comp1.getTimezoneOffset()*60*1000; - var offset2 = comp2.getTimezoneOffset()*60*1000; - var dtComp1 = Date.parse(comp1) - offset1; - var dtComp2 = Date.parse(comp2) - offset2; - if (dtComp1 < dtMin || dtComp2 > dtMax) - { - alert (errorMessage); - return false; - } - } - } - else if (type == "text" || type == 's') - { - // is a string - if (fvalue.toLowerCase() > tvalue.toLowerCase()) - { - alert(L_RangeError); - return false; - } - if (minValue.length>0 && maxValue.length>0){ - //check min and max - if (fvalue.length < eval (DelocalizeNum (minValue)) || fvalue.length > eval (DelocalizeNum(maxValue)) || tvalue.length > eval (DelocalizeNum (maxValue)) || tvalue.length < eval (DelocalizeNum (minValue))) - { - alert (errorMessage); - return false; - } - } - } - // otherwise, let it go - - return true; -} - -function DelocalizeNum(value) -{ - // trim spaces first - var numStr = value.replace(/\s/g, ""); - - // get rid of grouping first - var tempStr = ""; - var index = numStr.indexOf(groupSep); - - while (index != -1) - { - tempStr += numStr.substr(0, index); - numStr = numStr.substr(index + groupSep.length, numStr.length - index - groupSep.length); - index = numStr.indexOf(groupSep); - } - - tempStr += numStr; - - index = tempStr.indexOf(decimalSep); - var neutralStr = ""; - if (index != -1) - { - neutralStr += tempStr.substr(0, index); - neutralStr += "."; - neutralStr += tempStr.substr(index + decimalSep.length, tempStr.length - index - decimalSep.length); - } - else - { - neutralStr = tempStr; - } - - return neutralStr; -} - -// Disable enter key checking for multibyte languages since the enter key is used for committing characters -var isEnabledLanguage = (! ((userLanguage == "ja") || (userLanguage == "ko") || (userLanguage == "zh")) ) - -var isNav = (navigator.appName == "Netscape"); -if (isEnabledLanguage) -{ - if(isNav) { - document.captureEvents(Event.KEYUP); - } - document.onkeyup = checkValue; -} - -function checkValue(evt) { - var buttonVal = ""; - if (isNav) { - if (evt.which == 13 && (evt.target.type == "text" || evt.target.type == "password")) { - buttonVal = evt.target.value; - } - } else { - if (window.event.keyCode == 13 && (window.event.srcElement.type == "text" || window.event.srcElement.type == "password")) { - buttonVal = window.event.srcElement.value; - } - } - - if (buttonVal != "") { - submitValues (); - } -} - -// To retrieve Time components of IETF format -function getTimeFromIETFFormat (strIETF) { - - var components = strIETF.split(" "); - for (var i=0; i1) { - return y; - } - } -} diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/swfobject/swfobject.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/swfobject/swfobject.js deleted file mode 100644 index c3831232b..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/js/swfobject/swfobject.js +++ /dev/null @@ -1,5 +0,0 @@ -/* SWFObject v2.0 - Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis - This software is released under the MIT License -*/ -var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v);/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write(" - - - - - - - WebForm1 - - -
    - - -
    - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/preview.jsp b/aspnet_client/system_web/4_0_30319/crystalreportviewers/preview.jsp deleted file mode 100644 index acea7aadb..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/preview.jsp +++ /dev/null @@ -1,124 +0,0 @@ -<%@ page session="true"%> - -<%@ page import="java.io.*, - java.util.Locale, - com.crystaldecisions.client.helper.ResourceManager, - com.crystaldecisions.report.web.viewer.CrystalReportViewer, - com.crystaldecisions.sdk.occa.report.reportsource.IReportSource, - com.crystaldecisions.xml.serialization.*" %> -<% -String CLOSED_RPT_ID = "closedreportid"; -String RPT_ID = "reportid"; -String RPT_SOURCE = "reportsource"; -String PRODUCT_LOCALE = "language"; - -String closeRptID = request.getParameter(CLOSED_RPT_ID); -String reportID = request.getParameter(RPT_ID); -String serializedRptSrc = request.getParameter(RPT_SOURCE); -String productLocale = request.getParameter(PRODUCT_LOCALE); - -if (closeRptID != null && closeRptID.length() > 0) -{ - // Clear the report source in session with the given closedreportid - session.removeAttribute(closeRptID); -} - -if (reportID != null && reportID.length() > 0) -{ - CrystalReportViewer viewer = new CrystalReportViewer(); - viewer.setName("htmlpreview"); - viewer.setHasRefreshButton(false); - viewer.setHasExportButton(false); - viewer.setHasPrintButton(false); - viewer.setOwnForm(true); - viewer.setOwnPage(true); - - if (productLocale != null && productLocale.length() > 0) - { - String[] localeParts = productLocale.split("[_\\-]"); - if (localeParts.length > 0) - { - Locale locale = null; - if (1 == localeParts.length) - { - locale = new Locale(localeParts[0] /*language*/); - } - else if (2 == localeParts.length) - { - locale = new Locale(localeParts[0], // language - localeParts[1]); // country - } - else - { - locale = new Locale(localeParts[0], // language - localeParts[1], // country - localeParts[2]); // variant - } - viewer.setProductLocale(locale); - } - } - - - IReportSource reportSource = null; - - if (serializedRptSrc != null && serializedRptSrc.length() > 0) - { - // Got a seralizedRprtSrc string - // need to deserialize the report source string and pass to viewer - byte[] byteRptSrc = serializedRptSrc.getBytes(); - ByteArrayInputStream byteInStream = new ByteArrayInputStream(byteRptSrc); - - try - { - XMLObjectSerializer serializer = new XMLObjectSerializer(); - SaveOption saveOpt = serializer.getSaveOption(); - saveOpt.setExcludeNullObjects(true); - // Enabled since server is ready. - saveOpt.setSkipWritingIdenticalObject(true); - - reportSource = (IReportSource)serializer.load(byteInStream); - } - catch (Exception e) - { - out.write("Error deserializing report source."); - return; - } - finally - { - byteInStream.close(); - } - viewer.setReportSource(reportSource); - session.setAttribute(reportID, viewer.getReportSource()); - } - else - { - // Try to load report source from session - reportSource = (IReportSource) session.getAttribute(reportID); - if (reportSource == null) - { - Locale errLoc = viewer.getProductLocale(); - if (errLoc == null) - { - errLoc = request.getLocale(); - } - - String componentName = "crystalreportviewer"; - String sessionExpired = ResourceManager.getString(componentName, "Error_HtmlPreviewSessionTimeout", errLoc); - String needRefresh = ResourceManager.getString(componentName, "Error_HtmlPreviewNeedsRefresh", errLoc); - - out.write(""); - out.write(""); - return; - } - viewer.setReportSource(reportSource); - } - viewer.setURI(request.getRequestURI() + "?" + RPT_ID + "=" + reportID + "&" + PRODUCT_LOCALE + "=" + productLocale); - viewer.processHttpRequest(request, response, application, null); -} -%> - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/processindicator.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/processindicator.js deleted file mode 100644 index b0c792b4e..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/processindicator.js +++ /dev/null @@ -1 +0,0 @@ -if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Base")}if(typeof (MochiKit)=="undefined"){MochiKit={}}if(typeof (MochiKit.Base)=="undefined"){MochiKit.Base={}}MochiKit.Base.VERSION="1.4";MochiKit.Base.NAME="MochiKit.Base";MochiKit.Base.update=function(B,D){if(B===null){B={}}for(var C=1;CC){A=C}}G=[];for(E=0;E=0;H--){G=[E[H].apply(this,G)]}return G[0]}},bind:function(E,C){if(typeof (E)=="string"){E=C[E]}var D=E.im_func;var G=E.im_preargs;var B=E.im_self;var A=MochiKit.Base;if(typeof (E)=="function"&&typeof (E.apply)=="undefined"){E=A._wrapDumbFunction(E)}if(typeof (D)!="function"){D=E}if(typeof (C)!="undefined"){B=C}if(typeof (G)=="undefined"){G=[]}else{G=G.slice()}A.extend(G,arguments,2);var F=function(){var I=arguments;var J=arguments.callee;if(J.im_preargs.length>0){I=A.concat(J.im_preargs,I)}var H=J.im_self;if(!H){H=this}return J.im_func.apply(H,I)};F.im_self=B;F.im_func=D;F.im_preargs=G;return F},bindMethods:function(B){var D=MochiKit.Base.bind;for(var A in B){var C=B[A];if(typeof (C)=="function"){B[A]=D(C,B)}}},registerComparator:function(C,B,A,D){MochiKit.Base.comparatorRegistry.register(C,B,A,D)},_primitives:{"boolean":true,string:true,number:true},compare:function(F,B){if(F==B){return 0}var E=(typeof (F)=="undefined"||F===null);var G=(typeof (B)=="undefined"||B===null);if(E&&G){return 0}else{if(E){return -1}else{if(G){return 1}}}var A=MochiKit.Base;var D=A._primitives;if(!(typeof (F) in D&&typeof (B) in D)){try{return A.comparatorRegistry.match(F,B)}catch(H){if(H!=A.NotFound){throw H}}}if(FB){return 1}}var C=A.repr;throw new TypeError(C(F)+" and "+C(B)+" can not be compared")},compareDateLike:function(B,A){return MochiKit.Base.compare(B.getTime(),A.getTime())},compareArrayLike:function(B,A){var F=MochiKit.Base.compare;var E=B.length;var G=0;if(E>A.length){G=1;E=A.length}else{if(E=0;C--){D+=F[C]}}else{D+=F}}if(E<=0){throw new TypeError("mean() requires at least one argument")}return D/E},median:function(){var B=MochiKit.Base.flattenArguments(arguments);if(B.length===0){throw new TypeError("median() requires at least one argument")}B.sort(compare);if(B.length%2==0){var A=B.length/2;return(B[A]+B[A-1])/2}else{return B[(B.length-1)/2]}},findValue:function(A,E,F,B){if(typeof (B)=="undefined"||B===null){B=A.length}if(typeof (F)=="undefined"||F===null){F=0}var D=MochiKit.Base.compare;for(var C=F;C0))){var G=MochiKit.DOM.formContents(H);H=G[0];I=G[1]}else{if(arguments.length==1){var A=H;H=[];I=[];for(var B in A){var J=A[B];if(typeof (J)!="function"){H.push(B);I.push(J)}}}}var E=[];var F=Math.min(H.length,I.length);var C=MochiKit.Base.urlEncode;for(var D=0;D=0)||(_userAgent.indexOf("applewebkit")>=0);_mac=(_appVer.indexOf("macintosh")>=0)||(_appVer.indexOf("macos")>=0);_opera=(_userAgent.indexOf("opera")!=-1);_userAgent=navigator.userAgent?navigator.userAgent.toLowerCase():null;_ctrl=0;_shift=1;_alt=2;var docMode=document.documentMode;var _ie6Up=(docMode>=6);var _ie8Up=(docMode>=8);var _ie10Up=(docMode>=10);var _ie11Up=(docMode>=11);_moz=_dom&&!_ie&&!_ie11Up;_saf=_moz&&(_userAgent.indexOf("safari")>=0);_small=(screen.height<=600);_curDoc=document;_curWin=self;_tooltipWin=self;_tooltipDx=0;_tooltipDy=0;_codeWinName="_CW";_leftBtn=(_ie||_saf)?1:0;_preloadArr=new Array;_widgets=new Array;_resizeW=_ie6Up?"col-resize":"E-resize";_resizeH=_ie6Up?"row-resize":"S-resize";_ddData=new Array;_dontNeedEncoding=null;_thex=null;_defaultButtonWidth=60;function initDom(D,C,E,B,A){_skin=D;_lang=E;_style=C;if(B){_curWin=B;_curDoc=B.document}_tooltipWin=_curWin;if(A){_codeWinName="_CW"+A}_curWin[_codeWinName]=self}function styleSheet(){includeCSS("style")}function isLayerDisplayed(A){var B=A?A.style:null;if(B){if(B.display=="none"||B.visibility=="hidden"){return false}else{var C=A.parentNode;if(C!=null){return isLayerDisplayed(C)}else{return true}}}else{return true}}function safeSetFocus(A){if(A&&A.focus&&isLayerDisplayed(A)){A.focus()}}function newWidget(B){var A=new Object;A.id=B;A.layer=null;A.css=null;A.getHTML=Widget_getHTML;A.beginHTML=Widget_getHTML;A.endHTML=Widget_getHTML;A.write=Widget_write;A.begin=Widget_begin;A.end=Widget_end;A.init=Widget_init;A.move=Widget_move;A.resize=Widget_resize;A.setBgColor=Widget_setBgColor;A.show=Widget_show;A.getWidth=Widget_getWidth;A.getHeight=Widget_getHeight;A.setHTML=Widget_setHTML;A.setDisabled=Widget_setDisabled;A.focus=Widget_focus;A.setDisplay=Widget_setDisplay;A.isDisplayed=Widget_isDisplayed;A.appendHTML=Widget_appendHTML;A.setTooltip=Widget_setTooltip;A.initialized=Widget_initialized;A.widx=_widgets.length;_widgets[A.widx]=A;return A}function new_Widget(A){return newWidget(A.id)}function getEvent(B,A){if(_ie&&(B==null)){B=A?A.event:_curWin.event}return B}function Widget_param(C,B,A){var D=C?C[B]:null;return D==null?A:D}function Widget_appendHTML(){append(_curDoc.body,this.getHTML())}function Widget_getHTML(){return""}function Widget_write(A){_curDoc.write(this.getHTML(A))}function Widget_begin(){_curDoc.write(this.beginHTML())}function Widget_end(){_curDoc.write(this.endHTML())}function Widget_init(){var A=this;A.layer=getLayer(A.id);A.css=A.layer.style;A.layer._widget=A.widx;if(A.initialHTML){A.setHTML(A.initialHTML)}}function Widget_move(A,C){var B=this.css;if(A!=null){if(_moz){B.left=""+A+"px"}else{B.pixelLeft=A}}if(C!=null){if(_moz){B.top=""+C+"px"}else{B.pixelTop=C}}}function Widget_focus(){safeSetFocus(this.layer)}function Widget_setBgColor(A){this.css.backgroundColor=A}function Widget_show(A){this.css.visibility=A?_show:_hide}function Widget_getWidth(){return this.layer.offsetWidth}function Widget_getHeight(){return this.layer.offsetHeight}function Widget_setHTML(A){var B=this;if(B.layer){B.layer.innerHTML=A}else{B.initialHTML=A}}function Widget_setDisplay(A){if(this.css){this.css.display=A?"":"none"}}function Widget_isDisplayed(){if(this.css.display=="none"){return false}else{return true}}function Widget_setDisabled(A){if(this.layer){this.layer.disabled=A}}function Widget_resize(A,B){if(A!=null){this.css.width=""+(Math.max(0,A))+"px"}if(B!=null){this.css.height=""+(Math.max(0,B))+"px"}}function Widget_setTooltip(A){this.layer.title=A}function Widget_initialized(){return this.layer!=null}function newGrabberWidget(A,D,G,F,H,E,C,B,I){o=newWidget(A);o.resizeCB=D;o.x=G;o.y=F;o.w=H;o.h=E;o.dx=0;o.dy=0;o.min=null;o.max=null;o.isHori=C;o.preloaded=new Image;o.preloaded.src=_skin+"../resizepattern.gif";o.buttonCB=B;o.allowGrab=true;o.collapsed=false;o.isFromButton=false;o.showGrab=GrabberWidget_showGrab;o.setCollapsed=GrabberWidget_setCollapsed;o.tooltipButton=I;o.getHTML=GrabberWidget_getHTML;o.enableGrab=GrabberWidget_enableGrab;o.setMinMax=GrabberWidget_setMinMax;if(window._allGrabbers==null){window._allGrabbers=new Array}o.index=_allGrabbers.length;_allGrabbers[o.index]=o;o.buttonLyr=null;o.setButtonImage=GrabberWidget_setButtonImage;o.getImgOffset=GrabberWidget_getImgOffset;return o}function GrabberWidget_setCollapsed(B,A){this.collapsed=B;this.setButtonImage(false,A)}function GrabberWidget_getImgOffset(A){var B=this;if(B.isHori){B.dx=(B.collapsed?12:0)+(A?6:0);B.dy=0}else{B.dy=(B.collapsed?12:0)+(A?6:0);B.dx=0}}function GrabberWidget_setButtonImage(A,B){var C=this;C.getImgOffset(A);C.tooltipButton=B;if(C.layer){if(C.buttonLyr==null){C.buttonLyr=getLayer("grabImg_"+C.id)}if(C.buttonLyr){changeSimpleOffset(C.buttonLyr,C.dx,C.dy,null,B)}}}function GrabberWidget_enableGrab(A){var B=this;B.allowGrab=A;if(B.css){B.css.cursor=B.allowGrab?(B.isHori?_resizeW:_resizeH):"default"}}function GrabberWidget_getHTML(){var B=this;var A=B.isHori?_resizeW:_resizeH;var D='onselectstart="return false" ondragstart="return false" onmousedown="'+_codeWinName+".GrabberWidget_down(event,'"+B.index+"',this);return false;\"";var C=_ie?(''):('');return getBGIframe("grabIframe_"+B.id)+C+'
    '}function GrabberWidget_setMinMax(B,A){this.min=B;this.max=A}function GrabberWidget_button(e,index,lyr){var o=_allGrabbers[index];o.isFromButton=true;lyr.onmouseup=eval("_curWin."+_codeWinName+".GrabberWidget_buttonup")}function GrabberWidget_buttonover(C,B,A){var D=_allGrabbers[B];D.setButtonImage(true)}function GrabberWidget_buttonout(C,B,A){var D=_allGrabbers[B];D.setButtonImage(false)}function GrabberWidget_buttonup(A){GrabberWidget_up(A)}function GrabberWidget_showGrab(){var D=this,C=D.mod,E=D.iframe,B=D.layer.style,A=C.style;E.setDisplay(true)}function GrabberWidget_down(e,index,lyr){var o=_allGrabbers[index];window._theGrabber=o;if(o.mod==null){o.mod=getLayer("modal_"+o.id);o.iframe=newWidget("grabIframe_"+o.id);o.iframe.init()}o.mod.onmousemove=eval("_curWin."+_codeWinName+".GrabberWidget_move");o.mod.onmouseup=eval("_curWin."+_codeWinName+".GrabberWidget_up");o.grabStartPosx=parseInt(lyr.style.left);o.grabStartPosy=parseInt(lyr.style.top);o.grabStartx=eventGetX(e);o.grabStarty=eventGetY(e);var mod=o.mod,ifr=o.iframe,stl=o.layer.style,st=mod.style;stl.backgroundImage="url('"+_skin+"../resizepattern.gif')";o.prevZ=stl.zIndex;stl.zIndex=9999;ifr.css.zIndex=9998;st.width="100%";st.height="100%";mod.style.display="block";var p=getPos(o.layer);ifr.move(p.x,p.y);ifr.resize(o.getWidth(),o.getHeight());if(!o.isFromButton){o.showGrab()}return false}function GrabberWidget_move(F){var C=_theGrabber,E=C.layer,H=C.mod;if(C.isFromButton){if(C.isHori){var I=eventGetX(F),D=C.grabStartx;if((ID+3)){C.isFromButton=false}}else{var A=eventGetY(F),B=C.grabStarty;if((GB+3)){C.isFromButton=false}}if(!C.isFromButton){C.showGrab()}}if(!C.isFromButton){if(C.allowGrab){var I=C.isHori?Math.max(0,C.grabStartPosx-C.grabStartx+eventGetX(F)):null;var G=C.isHori?null:Math.max(0,C.grabStartPosy-C.grabStarty+eventGetY(F));if(C.isHori){if(C.min!=null){I=Math.max(I,C.min)}if(C.max!=null){I=Math.min(I,C.max)}}else{if(C.min!=null){G=Math.max(G,C.min)}if(C.max!=null){G=Math.min(G,C.max)}}eventCancelBubble(F);C.move(I,G);getPos(C.layer);if(C.buttonCB){var J=C.buttonLyr.style;if(J.display!="none"){J.display="none"}}C.iframe.move(I,G)}}}function GrabberWidget_up(E){var F=_theGrabber,B=F.layer,D=F.mod,C=B.style;C.backgroundImage="";C.zIndex=F.prevZ;var G=F.iframe;G.move(-100,-100);G.resize(1,1);G.setDisplay(false);eventCancelBubble(E);var A=D.style;A.display="none";A.width="0px";A.height="0px";if(F.buttonCB){F.buttonLyr.style.display=""}if(F&&(F.isFromButton)){if(F.buttonCB){F.buttonCB()}F.isFromButton=false}if(F.allowGrab&&(!F.isFromButton)){if(F.resizeCB){F.resizeCB(parseInt(B.style.left),parseInt(B.style.top))}}}function newButtonWidget(C,L,H,D,F,Q,G,I,B,M,K,P,N,J,A,O){var E=newWidget(C);E.label=L;E.cb=H;E.width=D;E.hlp=F;E.tooltip=Q;E.tabIndex=G;E.isGray=false;E.isDefault=false;E.txt=null;E.icn=null;E.margin=I?I:0;E.extraStyle="";E.isDelayCallback=true;if(B){E.url=B;E.w=M;E.h=K;E.dx=P;E.dy=N;E.disDx=(A!=null)?A:P;E.disDy=(O!=null)?O:N;E.imgRight=J?true:false}E.getHTML=ButtonWidget_getHTML;E.setDisabled=ButtonWidget_setDisabled;E.setText=ButtonWidget_setText;E.changeImg=ButtonWidget_changeImg;E.oldInit=E.init;E.init=ButtonWidget_init;E.isDisabled=ButtonWidget_isDisabled;E.setDefaultButton=ButtonWidget_setDefaultButton;E.executeCB=ButtonWidget_executeCB;E.setTooltip=ButtonWidget_setTooltip;E.setDelayCallback=ButtonWidget_setDelayCallback;E.instIndex=ButtonWidget_currInst;ButtonWidget_inst[ButtonWidget_currInst++]=E;return E}ButtonWidget_inst=new Array;ButtonWidget_currInst=0;function ButtonWidget_getHTML(){with(this){var clk=_codeWinName+".ButtonWidget_clickCB("+this.instIndex+');return false;"';var clcbs='onclick="'+clk+'" ';if(_ie){clcbs+='ondblclick="'+clk+'" '}var isDefaultSty=(this.isDefault&&!this.isGray);clcbs+='onkeydown=" return '+_codeWinName+".ButtonWidget_keydownCB(event,"+this.instIndex+');" ';var url1=_skin+"button.gif",addPar=' style="'+extraStyle+"cursor:"+_hand+";margin-left:"+margin+"px; margin-right:"+margin+'px; "'+clcbs+" ",tip=attr("title",tooltip),idText="theBttn"+id,idIcon="theBttnIcon"+id;var bg=backImgOffset(url1,0,isDefaultSty?105:42);var lnkB="';var l=(label!=null);var im=(this.url?(''+(l?"":lnkB)+simpleImgOffset(url,w,h,this.isGray?disDs:dx,this.isGray?disDy:dy,idIcon,null,(l?"":tooltip),"cursor:"+_hand)+(l?"":"")+""):"");return''+(this.imgRight?"":im)+(l?(""):"")+(this.imgRight?im:"")+'
    '+lnkB+label+"
    '}}function ButtonWidget_setDelayCallback(A){this.isDelayCallback=(A==true)}function ButtonWidget_setDisabled(F){var E=this,D=F?"default":_hand;E.isGray=F;if(E.layer){var B=F?"wizbuttongray":"wizbutton";if(E.txt.className!=B){E.txt.className=B;E.txt.style.cursor=D;E.css.cursor=D;if(E.icn){changeSimpleOffset(E.icn,E.isGray?E.disDx:E.dx,E.isGray?E.disDy:E.dy);E.icn.style.cursor=D}if(E.isDefault){var A=!F,C=_skin+"button.gif";changeSimpleOffset(E.leftImg,0,A?63:0,C);changeOffset(E.centerImg,0,A?105:42,C);changeSimpleOffset(E.rightImg,0,A?84:21,C)}}}}function ButtonWidget_setDefaultButton(){var C=this;if(C.layer){var A=!C.isGray,B=_skin+"button.gif";changeSimpleOffset(C.leftImg,0,A?63:0,B);changeOffset(C.centerImg,0,A?105:42,B);changeSimpleOffset(C.rightImg,0,A?84:21,B)}C.isDefault=true}function ButtonWidget_isDisabled(){return this.isGray}function ButtonWidget_setText(A){this.txt.innerHTML=convStr(A)}function ButtonWidget_setTooltip(A){var B=this;B.tooltip=A;B.layer.title=A;if(B.txt){B.txt.title=A}if(B.icn){B.icn.title=A}}function ButtonWidget_init(){var B=this;B.oldInit();B.txt=getLayer("theBttn"+this.id);B.icn=getLayer("theBttnIcon"+this.id);B.leftImg=getLayer("theBttnLeftImg"+this.id);B.centerImg=getLayer("theBttnCenterImg"+this.id);B.rightImg=getLayer("theBttnRightImg"+this.id);var A=B.isGray?"wizbuttongray":"wizbutton";if(B.txt.className!=A){B.setDisabled(B.isGray)}}function ButtonWidget_changeImg(B,A,E,D,C,F){var G=this;if(C){G.url=C}if(B!=null){G.dx=B}if(A!=null){G.dy=A}if(E!=null){G.disDx=E}if(D!=null){G.disDy=D}if(F!=null){G.tooltip=F}if(G.icn){changeSimpleOffset(G.icn,G.isGray?G.disDx:G.dx,G.isGray?G.disDy:G.dy,G.url,G.tooltip)}}function ButtonWidget_clickCB(A){var B=ButtonWidget_inst[A];if(B&&!B.isGray){if(B.isDelayCallback){setTimeout("ButtonWidget_delayClickCB("+A+")",1)}else{ButtonWidget_delayClickCB(A)}}}function ButtonWidget_delayClickCB(A){var B=ButtonWidget_inst[A];B.executeCB()}function ButtonWidget_executeCB(){var o=this;if(o.cb){if(typeof o.cb!="string"){o.cb()}else{eval(o.cb)}}}function ButtonWidget_keydownCB(D,B){var A=eventGetKey(D);var C=ButtonWidget_inst[B];if(A==13&&C.cb){eventCancelBubble(D)}return true}function newScrolledZoneWidget(G,C,E,B,D,A){var F=newWidget(G);F.borderW=C;F.padding=E;F.w=B;F.h=D;F.oldResize=F.resize;F.beginHTML=ScrolledZoneWidget_beginHTML;F.endHTML=ScrolledZoneWidget_endHTML;F.resize=ScrolledZoneWidget_resize;F.bgClass=(A)?A:"insetBorder";return F}function ScrolledZoneWidget_beginHTML(){var A=this.w,B=this.h;var C=_moz?2*(this.borderW+this.padding):0;if(typeof (A)=="number"){if(_moz){A=Math.max(0,A-C)}A=""+A+"px"}if(typeof (B)=="number"){if(_moz){B=Math.max(0,B-C)}B=""+B+"px"}return'
    '}function ScrolledZoneWidget_endHTML(){return"
    "}function ScrolledZoneWidget_resize(A,B){if(_moz){var C=2*(this.borderW+this.padding);if(A!=null){A=Math.max(0,A-C)}if(B!=null){B=Math.max(0,B-C)}}this.oldResize(A,B)}function newComboWidget(F,E,A,B,C){var D=newWidget(F);D.tooltip=C;D.size=1;D.getHTML=ComboWidget_getHTML;D.beginHTML=ComboWidget_beginHTML;D.endHTML=ComboWidget_endHTML;D.changeCB=E;D.noMargin=A;D.width=B==null?null:""+B+"px";D.add=ComboWidget_add;D.del=ComboWidget_del;D.getSelection=ComboWidget_getSelection;D.select=ComboWidget_select;D.valueSelect=ComboWidget_valueSelect;D.getCount=ComboWidget_getCount;D.oldSetDisabled=D.setDisabled;D.setDisabled=ComboWidget_setDisabled;D.setUndefined=ComboWidget_setUndefined;D.delByID=ComboWidget_delByID;D.findByValue=ComboWidget_findByValue;D.findByText=ComboWidget_findByText;D.getValue=ComboWidget_getValue;D.isGrayed=ComboWidget_isGrayed;D.clearSelection=ComboWidget_clearSelection;D.isDisabled=false;D.multi=false;D.undef=false;D.isCombo=true;D.undefId=D.id+"__undef";D.disabledId=D.id+"__disabled";return D}_extrCmbS=(_moz?"font-size:12px;":"");function ComboWidget_beginHTML(){var B=this,A=((_moz&&!B.isCombo)?"font-size:12px;":"");return""}function ComboWidget_getHTML(A){return this.beginHTML()+(A?A:"")+this.endHTML()}function ComboWidget_add(B,F,C,G,E){var D=this.layer,A=_curDoc.createElement("option");if(_ie){D.options.add(A)}else{D.appendChild(A)}if(A.innerText!=null){A.innerText=B}else{A.innerHTML=convStr(B)}A.value=F;if(G!=null){A.id=G}if(C){A.selected=true}if(E){A.style.color="gray"}return A}function ComboWidget_getSelection(){var C=this.layer,B=C.selectedIndex;if(B<0){return null}var A=new Object;A.index=B;A.value=C.options[B].value;A.text=C.options[B].text;return A}function ComboWidget_select(B){var D=this,C=D.layer,A=C.options.length;if(B==null){C.selectedIndex=-1}if((B<0)||(B>=A)){B=A-1}if(B>=0){C.selectedIndex=B}D.setUndefined(false)}function ComboWidget_valueSelect(B){var F=this,E=F.layer,D=E.options,A=D.length;for(var C=0;CA){return null}var B=new Object;B.index=C;B.value=E.options[C].value;return B}function ComboWidget_isGrayed(B){var E=this,D=E.layer,C=D.options,A=C.length;if(B==null||B<0||B>A){return false}return(D.options[B].style.color=="gray")}function newListWidget(A,F,E,B,J,I,G,D,H){var C=newComboWidget(A,F,true,B,I);C.clickCB=H;C.dblClickCB=G;C.keyUpCB=D;C.size=J;C.multi=E;C.getMultiSelection=ListWidget_getMultiSelection;C.setUndefined=ListWidget_setUndefined;C.isUndefined=ListWidget_isUndefined;C.change=ListWidget_change;C.isCombo=false;return C}function ListWidget_setUndefined(A){var B=this;B.undef=A;if(A==true){B.layer.selectedIndex=-1}}function ListWidget_isUndefined(){return(this.layer.selectedIndex==-1)}function ListWidget_getMultiSelection(){var F=this.layer,E=new Array,A=F.options.length;for(var D=0;D'+img(_skin+"../help.gif",16,16,"top",null,_helpLab)+''+convStr(A.title)+''+convStr(A.boldTitle)+"
    "+getSpace(1,2)+'
    '+convStr(A.text,false,true)+"
    "}function InfoWidget_resize(B,C){var D=this;if(B!=null){D.w=B}if(C!=null){D.h=C}D.oldResize(B,C);if(D.layer){var A=D.textLayer;if(A==null){A=D.textLayer=getLayer("infozone_"+D.id)}if(A){if(D.h!=null){A.style.height=""+Math.max(0,D.h-(_ie?18:28))+"px"}}}}function newCheckWidget(A,H,F,E,I,G,D,C){var B=newWidget(A);B.text=H;B.convText=C;B.changeCB=F;B.idCheckbox="check_"+A;B.checkbox=null;B.kind="checkbox";B.name=B.idCheckbox;B.bold=E;B.imgUrl=I;B.imgW=G;B.imgH=D;B.getHTML=CheckWidget_getHTML;B.setText=CheckWidget_setText;B.parentInit=Widget_init;B.init=CheckWidget_init;B.check=CheckWidget_check;B.isChecked=CheckWidget_isChecked;B.setDisabled=CheckWidget_setDisabled;B.isDisabled=CheckWidget_isDisabled;B.uncheckOthers=CheckWidget_uncheckOthers;B.isIndeterminate=CheckWidget_isIndeterminate;B.setIndeterminate=CheckWidget_setIndeterminate;B.layerClass=("dialogzone"+(B.bold?"bold":""));B.nobr=true;return B}function CheckWidget_getHTML(){var B=this,A=B.layerClass;return'"+(B.imgUrl?'":"")+"
    "+(B.nobr?"":"")+'"+(B.nobr?"":"")+"
    "}function CheckWidget_setText(A){var B=this;B.text=A;if(B.layer){if(B.labelLyr==null){B.labelLyr=getLayer("label_"+B.id)}B.labelLyr.innerHTML=B.convText?convStr(A):A}}function CheckWidget_init(){this.parentInit();this.checkbox=getLayer(this.idCheckbox)}function CheckWidget_check(A){this.checkbox.checked=A;if(A){this.uncheckOthers()}}function CheckWidget_isChecked(){return this.checkbox.checked}function CheckWidget_changeCB(B,A){var C=getWidget(A);C.uncheckOthers();if(C.changeCB){C.changeCB(B)}}function CheckWidget_setDisabled(A){this.checkbox.disabled=A;if(_moz){this.checkbox.className=(A?"dialogzone":"")}}function CheckWidget_isDisabled(){return this.checkbox.disabled}function CheckWidget_uncheckOthers(){}function CheckWidget_isIndeterminate(){return this.checkbox.indeterminate}function CheckWidget_setIndeterminate(A){this.checkbox.indeterminate=A}function newRadioWidget(A,I,J,G,F,K,H,D,C){var B=newCheckWidget(A,J,G,F,K,H,D,C);B.kind="radio";B.name=I;if(_RadioWidget_groups[I]==null){_RadioWidget_groups[I]=new Array}B.groupInstance=_RadioWidget_groups[I];var E=B.groupInstance;B.groupIdx=E.length;E[E.length]=B;B.uncheckOthers=RadioWidget_uncheckOthers;return B}var _RadioWidget_groups=new Array;function RadioWidget_uncheckOthers(){var D=this.groupInstance,B=this.groupIdx,A=D.length;for(var C=0;C'}function TextFieldWidget_getValue(){var A=this;if(A.isHelpTxt){return""}else{return A.layer?A.layer.value:A.oldValue}}function TextFieldWidget_setValue(A){var B=this;if(B.layer){B.eraseHelpTxt();B.layer.value=""+A}else{B.oldValue=A}}function TextFieldWidget_changeCB(B,A){var C=getWidget(A);C.eraseHelpTxt();if(C.beforeChange){C.beforeChange()}if(C.changeCB){C.changeCB(B)}}function TextFieldWidget_keyPressCB(B,A){var C=getWidget(A);if(eventGetKey(B)==13){C.enterKeyPressed=true;return false}else{C.enterKeyPressed=false}return true}function TextFieldWidget_keyUpCB(B,A){var C=getWidget(A);C.eraseHelpTxt();if(eventGetKey(B)==13&&C.enterKeyPressed){if(C.beforeChange){C.beforeChange()}if(C.enterCB){if(C.enterCancelBubble){eventCancelBubble(B)}C.enterCB(B)}return false}else{if(C.keyUpCB){C.keyUpCB(B)}}C.enterKeyPressed=false;return true}function TextFieldWidget_keyDownCB(B,A){var C=getWidget(A);C.eraseHelpTxt();C.enterKeyPressed=false;if(eventGetKey(B)==13){return true}else{if(eventGetKey(B)==8){eventCancelBubble(B)}}return true}function TextFieldWidget_eraseHelpTxt(){var A=this;if(A.isHelpTxt){A.layer.value=""}A.isHelpTxt=false;A.layer.style.color="black"}function TextFieldWidget_focus(A){var B=getWidget(A);B.eraseHelpTxt();if(B.focusCB){B.focusCB()}}function TextFieldWidget_blur(A){var B=getWidget(A);if(B.beforeChange){B.beforeChange()}if(B.blurCB){B.blurCB()}}function TextFieldWidget_intValue(A){var B=parseInt(this.getValue());return isNaN(B)?A:B}function TextFieldWidget_intPosValue(A){var B=this.intValue(A);return(B<0)?A:B}function TextFieldWidget_select(){this.layer.select()}function TextFieldWidget_setHelpTxt(A){var B=this;B.helpTxt=A;if(B.layer&&(B.layer.value=="")){B.isHelpTxt=true;B.layer.value=A;B.layer.style.color="#808080"}}function newIntFieldWidget(C,G,I,F,H,B,J,D,A){var E=newTextFieldWidget(C,G,I,F,H,B,J,D);E.min=-Number.MAX_VALUE;E.max=Number.MAX_VALUE;E.customCheckCB=A;E.setMin=IntFieldWidget_setMin;E.setMax=IntFieldWidget_setMax;E.setValue=IntFieldWidget_setValue;E.beforeChange=IntFieldWidget_checkChangeCB;E.value="";return E}function IntFieldWidget_setMin(A){if(!isNaN(A)){this.min=A}}function IntFieldWidget_setMax(A){if(!isNaN(A)){this.max=A}}function IntFieldWidget_setValue(B){var C=this,A=C.layer;B=""+B;if(B==""){if(A){A.value=""}C.oldValue="";return }var D=parseInt(B);value="";if(!isNaN(D)&&(D>=C.min)&&(D<=C.max)&&((C.customCheckCB==null)||C.customCheckCB(D))){value=D;C.oldValue=value}else{if(C.oldValue){value=C.oldValue}}if(A){A.value=""+value}}function IntFieldWidget_checkChangeCB(){var A=this;A.setValue(A.layer.value)}function newFrameZoneWidget(E,A,C,B){var D=newWidget(E);D.w=(A!=null)?""+Math.max(0,A-10)+"px":null;D.h=(C!=null)?""+Math.max(0,C-10)+"px":null;D.reverse=(B!=null)?B:false;D.cont=null;D.beginHTML=FrameZoneWidget_beginHTML;D.endHTML=FrameZoneWidget_endHTML;D.oldResize=D.resize;D.resize=FrameZoneWidget_resize;return D}function FrameZoneWidget_resize(A,B){var D=this;var C=D.layer.display!="none";if(C&_moz&&!_saf){D.setDisplay(false)}D.oldResize(A,B);if(C&_moz&&!_saf){D.setDisplay(true)}}function FrameZoneWidget_beginHTML(){var A=this;return'
    '}function FrameZoneWidget_endHTML(){var A=this;return"
    "}function arrayAdd(E,G,D,B){var F=E[G],A=F.length;if((B==null)||(typeof B!="number")){B=-1}if((B<0)||(B>A)){B=A}if(B!=A){var C=F.slice(B);F.length=B+1;F[B]=D;F=F.concat(C)}else{F[B]=D}E[G]=F;return B}function arrayRemove(D,F,A){var E=D[F],C=E.length-1;if(A==null){E.length=0;D[F]=E;return -1}if((A<0)||(A>C)){return -1}if(A==C){E.length=C}else{var B=E.slice(A+1);E.length=A;E=E.concat(B)}D[F]=E;return A}function getFrame(name,par){if(par==null){par=self}var frames=par.frames,w=eval("frames."+name);if(w==null){return w}var l=frames.length;for(var i=0;i/g,">").replace(/"/g,""");if(A){B=B.replace(/ /g," ")}if(C){B=B.replace(/\n/g,"
    ")}return B}function escapeCR(B){B=""+B;var A=B.replace(/\r/g,"").replace(/\n/g,"\\n");return A}function addDblClickCB(B,A){if(B.addEventListener&&!_saf){B.addEventListener("dblclick",A,false)}else{B.ondblclick=A}}function img(E,A,C,F,B,D){B=(B?B:"");if(D==null){D=""}return""}function imgOffset(A,G,D,J,I,B,F,C,H,E){return img(_skin+"../transp.gif",G,D,E,(F?F:"")+" "+attr("id",B)+' style="float:left;'+backImgOffset(A,J,I)+(H?H:"")+'"',C)}function simpleImgOffset(A,G,D,J,I,B,F,C,H,E){if(_ie){if(J==null){J=0}if(I==null){I=0}return"
    '+img(A,null,null,(E?E:"top"),'style="margin:0px;position:relative;top:'+(-I)+"px;left:"+(-J)+'px" tabIndex="-1"',C)+"
    "}else{return imgOffset(A,G,D,J,I,B,F,C,H,E)}}function changeSimpleOffset(E,B,A,D,F){if(_ie){E=E.childNodes[0];var C=E.style;if((D!=null)&&(D!=E.src)){E.src=D}if(B!=null){C.left=""+(-B)+"px"}if(A!=null){C.top=""+(-A)+"px"}if(F!=null){E.title=F;E.alt=F}}else{changeOffset(E,B,A,D,F)}}function backImgOffset(C,B,A){return"background-image:url('"+C+"');background-position:"+(-B)+"px "+(-A)+"px;"}function changeOffset(E,B,A,D,F){var C=E.style;if(C){if((B!=null)&&(A!=null)){C.backgroundPosition=""+(-B)+"px "+(-A)+"px"}if(D){C.backgroundImage="url('"+D+"')"}}if(F){E.title=F}}function includeCSS(B,C){if(typeof (_skin)=="string"&&_skin!=""){var A="";if(C){A=_skin+"../"+B}else{A=_skin+B}A+=".css";_curDoc.write('')}}function getLayer(A){return _curDoc.getElementById(A)}function setLayerTransp(A,B){if(_ie){A.style.filter=(B==null)?"":"progid:DXImageTransform.Microsoft.Alpha( style=0,opacity="+B+")"}else{A.style.MozOpacity=(B==null)?1:B/100}}function getPos(B,A){A=A?A:null;for(var D=0,C=0;(B!=null)&&(B!=A);D+=B.offsetLeft,C+=B.offsetTop,B=B.offsetParent){}return{x:D,y:C}}function getPos2(B,A){var A=A?A:null;var D=0;var C=0;while(B.parentNode||B.offsetParent){if(B.offsetParent){D+=B.offsetLeft;C+=B.offsetTop;B=B.offsetParent}else{if(B.parentNode){if(B.style){if(B.style.left){D+=B.style.left}if(B.style.top){C+=B.style.top}}B=B.parentNode}else{break}}}if(A){relToCord=getPos2(A);D-=relToCord.x;C-=relToCord.y}return{x:D,y:C}}function getPosScrolled(C,B){B=B?B:null;if(_ie){for(var E=0,D=0;(C!=null)&&(C!=B);E+=C.offsetLeft-C.scrollLeft,D+=C.offsetTop-C.scrollTop,C=C.offsetParent){}}else{var A=C;for(var E=0,D=0;(C!=null)&&(C!=B);E+=C.offsetLeft,D+=C.offsetTop,C=C.offsetParent){}for(C=A;(C!=null)&&(C!=B);C=C.parentNode){if(C.scrollLeft!=null){E-=C.scrollLeft;D-=C.scrollTop}}}E+=getScrollX();D+=getScrollY();return{x:E,y:D}}function getWidget(B){if(B==null){return null}var A=B._widget;if(A!=null){return _widgets[A]}else{return getWidget(B.parentNode)}}function getWidgetFromID(B){if(B==null){return null}var A=getLayer(B);return getWidget(A)}function attr(A,B){return(B!=null?" "+A+'="'+B+'" ':"")}function sty(A,B){return(B!=null?A+":"+B+";":"")}function getSep(B,A){if(B==null){B=0}var C=B>0?''+getSpace(B,1)+"":"";return''+C+''+C+"
    "}function writeSep(B,A){_curDoc.write(getSep(B,A))}function getSpace(A,B){return'
    '+img(_skin+"../transp.gif",A,B)+"
    "}function writeSpace(A,B){_curDoc.write(getSpace(A,B))}function documentWidth(B){var B=B?B:_curWin;var A=Math.max(document.body.clientWidth,document.documentElement.clientWidth);A=Math.max(A,document.body.scrollWidth);return A}function documentHeight(B){var B=B?B:_curWin;var A=Math.max(document.body.clientHeight,document.documentElement.clientHeight);A=Math.max(A,document.body.scrollHeight);return A}function winWidth(B){var A;var B=B?B:_curWin;if(_ie){if(_isQuirksMode){A=B.document.body.clientWidth}else{A=B.document.documentElement.clientWidth}}else{A=B.innerWidth}return A}function winHeight(B){var B=B?B:_curWin;var A;if(_ie){if(_isQuirksMode){A=document.body.clientHeight}else{A=document.documentElement.clientHeight}}else{A=B.innerHeight}return A}function getScrollX(A){var B=0;var A=A?A:_curWin;if(typeof (A.scrollX)=="number"){B=A.scrollX}else{B=Math.max(A.document.body.scrollLeft,A.document.documentElement.scrollLeft)}return B}function getScrollY(B){var A=0;var B=B?B:_curWin;if(typeof (B.scrollY)=="number"){A=window.scrollY}else{A=Math.max(B.document.body.scrollTop,B.document.documentElement.scrollTop)}return A}function winScrollTo(A,C,B){B=B?B:_curWin;B.scrollTo(A,C)}function eventGetKey(B,A){A=A?A:_curWin;return _ie?A.event.keyCode:B.keyCode}function eventGetX(A){return _ie?_curWin.event.clientX:A.clientX?A.clientX:A.pageX}function eventGetY(A){return _ie?_curWin.event.clientY:A.clientY?A.clientY:A.pageY}function xpos(D,C,B,A){if((A==null)||(!_ie)){A=1}return((C.clientX/A)-getPos(D).x)+getScrollX()}function ypos(D,C,B,A){if((A==null)||(!_ie)){A=1}return((C.clientY/A)-getPos(D).y)+(_ie?B.body.scrollTop:0)}function absxpos(B,A){if((A==null)||(!_ie)){return B.clientX}else{return B.clientX/A}}function absypos(B,A){if((A==null)||(!_ie)){return B.clientY}else{return B.clientY/A}}function eventCancelBubble(C,B){B=B?B:_curWin;var A=_ie?B.event:C;if(A){A.cancelBubble=true;if(A.stopPropagation){A.stopPropagation()}}}function isHidden(B){if((B==null)||(B.tagName=="BODY")){return false}var A=B.style;if((A==null)||(A.visibility==_hide)||(A.display=="none")){return true}return isHidden(B.parentNode)}function opt(C,A,B){return'"}function lnk(C,D,A,F,B,E){if(D==null){D="return false"}B=B?B:"";return""+C+""}_oldErrHandler=null;function localErrHandler(){return true}function canScanFrames(A){var B=true,D=null;if(_moz){_oldErrHandler=window.onerror;window.onerror=localErrHandler}try{D=A.document;B=false}catch(C){}if(_moz){window.onerror=_oldErrHandler}return(!B&&(D!=null))}function getBGIframe(A){return''}function getDynamicBGIFrameLayer(){var A=false;if(_curWin.BGIFramePool){BGIFrames=_curWin.BGIFramePool.split(",");BGIFCount=BGIFrames.length;for(var B=0;B'}function BlockWhileWaitWidget_show(A){var B=this;if(B.layer==null){B.layer=getLayer(B.id);if(B.layer==null){targetApp(B.getPrivateHTML());B.layer=getLayer(B.id);B.css=B.layer.style}else{B.css=B.layer.style}}B.setDisplay(A)}function isTextInput(A){var B=_ie?A.srcElement:A.target;var C=false;if(B.tagName=="TEXTAREA"){C=true}if((B.tagName=="INPUT")&&((B.type.toLowerCase()=="text")||(B.type.toLowerCase()=="password"))){C=true}return C}function isTextArea(A){var B=_ie?A.srcElement:A.target;if(B.tagName=="TEXTAREA"){return true}else{return false}}function LZ(A){return(A<0||A>9?"":"0")+A}if(bobj.crv.config.isDebug){localErrHandler=null}initDom(bobj.crvUri("../dhtmllib/images/")+bobj.crv.config.skin+"/","",bobj.crv.config.lang);styleSheet();if(window._DHTML_LIB_DIALOG_JS_LOADED==null){_DHTML_LIB_DIALOG_JS_LOADED=true;DialogBoxWidget_modals=new Array;DialogBoxWidget_instances=new Array;DialogBoxWidget_current=null;_promptDlgInfo=0;_promptDlgWarning=1;_promptDlgCritical=2;_dlgTitleLBorderToTxt=20;_dlgTitleHeight=25;_dlgTitleMarginBottom=4;_dlgTitleRBorderToClose=10;_dlgTitleCloseBtnImgFile="dialogtitle.gif";_dlgTitleCloseBtnW=11;_dlgTitleCloseBtnH=10;_dlgTitleCloseBtnDy=26;_dlgTitleCloseBtnHoverDy=37;_dlgBottomMargin=14}function newDialogBoxWidget(A,F,B,H,I,G,E,D){var C=newWidget(A);C.title=F;C.width=B;C.height=H;C.defaultCB=I;C.cancelCB=G;C.noCloseButton=E?E:false;C.isAlert=D;C.closeCB=null;C.resizeable=false;C.oldMouseDown=null;C.oldCurrent=null;C.modal=null;C.hiddenVis=new Array;C.lastLink=null;C.firstLink=null;C.titleLayer=null;C.defaultBtn=null;C.divLayer=null;C.oldInit=C.init;C.oldShow=C.show;C.init=DialogBoxWidget_init;C.setResize=DialogBoxWidget_setResize;C.beginHTML=DialogBoxWidget_beginHTML;C.endHTML=DialogBoxWidget_endHTML;C.show=DialogBoxWidget_Show;C.center=DialogBoxWidget_center;C.focus=DialogBoxWidget_focus;C.setTitle=DialogBoxWidget_setTitle;C.getContainerWidth=DialogBoxWidget_getContainerWidth;C.getContainerHeight=DialogBoxWidget_getContainerHeight;DialogBoxWidget_instances[A]=C;C.modal=newWidget("modal_"+A);C.placeIframe=DialogBoxWidget_placeIframe;C.oldResize=C.resize;C.resize=DialogBoxWidget_resize;C.attachDefaultButton=DialogBoxWidget_attachDefaultButton;C.unload=DialogBoxWidget_unload;C.close=DialogBoxWidget_close;C.setCloseCB=DialogBoxWidget_setCloseCB;C.setNoCloseButton=DialogBoxWidget_setNoCloseButton;if(!_ie){if(C.width!=null){C.width=Math.max(0,B+4)}if(C.height!=null){C.height=Math.max(0,H+4)}}return C}function DialogBoxWidget_setResize(A,C,D,B,F){var E=this;E.resizeable=true;E.resizeCB=A;E.minWidth=C?C:50;E.minHeight=D?D:50;E.noResizeW=B;E.noResizeH=F}function DialogBoxWidget_setTitle(B){var A=this;A.title=B;if(A.titleLayer==null){A.titleLayer=getLayer("titledialog_"+this.id)}A.titleLayer.innerHTML=convStr(B)}function DialogBoxWidget_setCloseIcon(A,B){changeOffset(A,0,(B==1?0:18))}function DialogBoxWidget_beginHTML(){with(this){var moveableCb=' onselectstart="return false" ondragstart="return false" onmousedown="'+_codeWinName+".DialogBoxWidget_down(event,'"+id+"',this,false);return false;\" ";var titleBG="background-image:url("+_skin+"dialogtitle.gif)";var mdl='";var btn="";if(_dtd4){btn='
    '}else{btn=''+simpleImgOffset(_skin+_dlgTitleCloseBtnImgFile,_dlgTitleCloseBtnW,_dlgTitleCloseBtnH,0,_dlgTitleCloseBtnDy,"dialogClose_"+id,null,_closeDialog)+""}var closeBtn=''+btn+"
    ";var dlgtitle='"+closeBtn+"
    '+convStr(title)+"
    ";var s="";s=mdl;var dims=sty("width",width?(""+width+"px"):null)+sty("height",height?(""+Math.max(0,height+(_moz?-2:0))+"px"):null);s+='";s+='";s+="";A+='";return A}function DialogBoxWidget_getContainerWidth(){var A=this;return A.width-(2+2)}function DialogBoxWidget_getContainerHeight(){var A=this;return A.height-(2+18+2+2+2)}function DialogBoxWidget_close(B){var A=DialogBoxWidget_instances[B];if(A){A.show(false);if(A.cancelCB!=null){A.cancelCB()}}}function DialogBoxWidget_setCloseCB(A){this.closeCB=A}function DialogBoxWidget_setNoCloseButton(A){if(this.noCloseButton!==A){this.noCloseButton=A;if(this.initialized()){this.closeButton.style.visibility=this.noCloseButton?_hide:_show}}}function DialogBoxWidget_resizeIframeCB(B,A){DialogBoxWidget_instances[B].placeIframe()}function DialogBoxWidget_placeIframe(){var B=this;if(B.iframe){var A=B.td_lyr;if(A==null){B.td_lyr=A=getLayer("td_dialog_"+B.id)}B.iframe.resize(A.offsetWidth,A.offsetHeight);B.iframe.move(B.layer.offsetLeft,B.layer.offsetTop)}}function DialogBoxWidget_resize(A,B){var C=this;C.oldResize(A,B);if(C.iframe){C.iframe.resize(A,B)}}function DialogBoxWidget_init(){if(this.layer!=null){return }var A=this;A.oldInit();A.modal.init();A.lastLink=newWidget("lastLink_"+A.id);A.firstLink=newWidget("firstLink_"+A.id);A.lastLink.init();A.firstLink.init();if(_saf){A.webKitFocusElem=getLayer("webKitFocusElem"+A.id)}A.closeButton=getLayer("dialogClose_"+A.id);A.closeButton.style.visibility=A.noCloseButton?_hide:_show;A.closeButton.onmouseover=DialogBoxWidget_moverCloseBtn;A.closeButton.onmouseout=DialogBoxWidget_moverCloseBtn;A.closeButton.onclick=function(){A.close(A.id)}}function DialogBoxWidget_moverCloseBtn(A){var A=getEvent(A);var B=(A&&A.type=="mouseover")?true:false;if(_dtd4){this.className=B?"dlgCloseBtnHover":"dlgCloseBtn"}else{changeOffset(this,0,B?_dlgTitleCloseBtnHoverDy:_dlgTitleCloseBtnDy)}}function DialogBoxWidget_attachDefaultButton(A){this.defaultBtn=A;this.defaultBtn.setDefaultButton()}_theLYR=null;_dlgResize=null;function DialogBoxWidget_down(e,id,obj,isResize){_dlgResize=isResize;var o=DialogBoxWidget_instances[id],lyr=o.layer,mod=o.modal.layer;lyr.onmousemove=mod.onmousemove=eval("_curWin."+_codeWinName+".DialogBoxWidget_move");lyr.onmouseup=mod.onmouseup=eval("_curWin."+_codeWinName+".DialogBoxWidget_up");lyr.dlgStartPosx=mod.dlgStartPosx=parseInt(lyr.style.left);lyr.dlgStartPosy=mod.dlgStartPosy=parseInt(lyr.style.top);lyr.dlgStartx=mod.dlgStartx=eventGetX(e);lyr.dlgStarty=mod.dlgStarty=eventGetY(e);lyr.dlgStartw=mod.dlgStartw=o.getWidth();lyr.dlgStarth=mod.dlgStarth=o.getHeight();lyr._widget=mod._widget=o.widx;_theLYR=lyr;eventCancelBubble(e);if(lyr.setCapture){lyr.setCapture(true)}}function DialogBoxWidget_move(C){var E=_theLYR,D=getWidget(E);if(_dlgResize){var G=Math.max(D.minWidth,E.dlgStartw+eventGetX(C)-E.dlgStartx);var B=Math.max(D.minHeight,E.dlgStarth+eventGetY(C)-E.dlgStarty);D.resize(D.noResizeW?null:G,D.noResizeH?null:B);if(D.firstTR){if(!D.noResizeW){D.firstTR.style.width=G-4}if(!D.noResizeH){D.secondTR.style.height=B-44}}if(D.resizeCB){D.resizeCB(G,B)}}else{var A=Math.max(0,E.dlgStartPosx-E.dlgStartx+eventGetX(C));var F=Math.max(0,E.dlgStartPosy-E.dlgStarty+eventGetY(C));D.iframe.move(A,F);D.move(A,F)}eventCancelBubble(C);return false}function DialogBoxWidget_up(C){var D=getWidget(_theLYR),A=D.layer,B=D.modal.layer;A.onmousemove=B.onmousemove=null;A.onmouseup=B.onmouseup=null;if(A.releaseCapture){A.releaseCapture()}_theLYR=null}function DialogBoxWidget_keypress(A){eventCancelBubble(A);var B=DialogBoxWidget_current;if(B!=null){switch(eventGetKey(A)){case 13:if(B.yes&&!B.no){if(B.defaultCB){B.defaultCB()}return false}if(isTextArea(_ie?_curWin.event:A)){return true}if(B.defaultBtn!=null&&!B.defaultBtn.isDisabled()){B.defaultBtn.executeCB();return false}break;case 27:if(!B.noCloseButton){B.show(false);hideBlockWhileWaitWidget();if(B.cancelCB!=null){B.cancelCB()}}return false;break;case 8:return isTextInput(_ie?_curWin.event:A);break}}}function DialogBoxWidgetResizeModals(H){var G=DialogBoxWidget_current&&DialogBoxWidget_current.isDisplayed();if(G){DialogBoxWidget_current.setDisplay(false);DialogBoxWidget_current.iframe.setDisplay(false)}var E=[];for(var D=0,A=DialogBoxWidget_modals.length;D'+convStr(B,false,true)+""}function PromptDialog_getHTML(){var C=this;var B=PromptDialog_getimgPath(C.promptType);var A=PromptDialog_getimgAlt(C.promptType);return C.beginHTML()+'
    '+img(B,32,32,null,'id="dlg_img_'+C.id+'"',A)+''+convStr(C.text,false,true)+"
    "+getSep()+'
    '+(C.yes?"":"")+(C.no?"":"")+"
    "+C.yes.getHTML()+""+C.no.getHTML()+"
    "+C.endHTML()}function PromptDialog_defaultCB(){var o=this;if(o.yesCB){if(typeof o.yesCB!="string"){o.yesCB()}else{eval(o.yesCB)}}this.show(false)}function PromptDialog_cancelCB(){var o=this;if(o.noCB){if(typeof o.noCB!="string"){o.noCB()}else{eval(o.noCB)}}this.show(false)}function PromptDialog_yesCB(A){DialogBoxWidget_instances[A].defaultCB()}function PromptDialog_noCB(A){DialogBoxWidget_instances[A].cancelCB()}function newWaitDialogBoxWidget(A,I,E,G,C,H,K,J,F){var D=250;var L=150;if(I';A+=''+B.frZone.beginHTML();A+='
    '+img(_skin+"wait01.gif",200,40)+'
    '+convStr(B.label.text,false,true)+"
    ";A+=B.frZone.endHTML()+"";A+=''+B.cancelButton.getHTML()+"";A+="";A+=B.endHTML();return A}function WaitDialog_FrameZoneWidget_beginHTML(){var A=this;return'
    '}function WaitDialog_FrameZoneWidget_endHTML(){var A=this;return"
    "}function WaitDialogBoxWidget_setShowCancel(A,C){var B=this;B.showCancel=A;B.cancelButton.setDisabled(false);B.cancelButton.setDisplay(A);B.cancelCB=C}function WaitDialogBoxWidget_setShowLabel(A,C){var B=this;B.showLabel=A;B.label.text=C;B.label.setHTML(C);B.label.setDisplay(A)}function WaitDialogBoxWidget_cancelCB(){var A=this;if(A.cancelCB!=null){A.cancelCB();A.cancelButton.setDisabled(true)}}function CancelButton_cancelCB(){var A=this;if(A.par.cancelCB!=null){A.par.cancelCB();A.par.cancelButton.setDisabled(true)}}if(typeof bobj=="undefined"){bobj={}}if(typeof bobj.constants=="undefined"){bobj.constants={modalLayerIndex:1000}}bobj.uniqueId=function(){return"bobjid_"+(++bobj.uniqueId._count)};if(typeof bobj.uniqueId._count=="undefined"){bobj.uniqueId._count=new Date().getTime()}bobj.updateIf=function(G,C,E){if(C===null){C={}}for(var D=1,A=arguments.length;DD.length){A=D.length}G=Math.max(0,G);if(G0){return A[0]}return null};bobj.getRect=function(D,B,A,C){return"rect("+D+"px, "+B+"px,"+A+"px,"+C+"px)"};bobj.getBodyScrollDimension=function(){var A=0;var C=0;var B=document.getElementsByTagName("Body");if(B&&B[0]){A=B[0].scrollWidth;C=B[0].scrollHeight}return{w:A,h:C}};bobj.disableTabbingKey=function(B,A){if(B){B.tabIndex=A?-1:0}};bobj.getStringWidth=function(B,A,E){if(document.body){var D=document.createElement("span");D.appendChild(document.createTextNode(B));D.style.position="absolute";D.style.visibility="hidden";if(A){D.style.fontFamily=A}if(E){D.style.fontSize=E}document.body.appendChild(D);var C=D.offsetWidth;document.body.removeChild(D);return C}return 0};bobj.deleteWidget=function(B){if(B&&B.widx){if(B.layer){B.layer.click=null;B.layer.onmouseup=null;B.layer.onmousedown=null;B.layer.onmouseover=null;B.layer.onmousemove=null;B.layer.onmouseout=null;B.layer.onchange=null;B.layer.onfocus=null;B.layer.onkeydown=null;B.layer.onkeyup=null;B.layer.onkeypress=null;var A=B.layer.parentNode;if(A){A.removeChild(B.layer)}delete B.layer}delete B.css;delete _widgets[B.widx];_widgets[B.widx]=null;delete B}};bobj.cloneArray=function(A){return A.slice()};bobj.bindFunctionToObject=function(A,B){return function(){return A.apply(B,arguments)}};bobj.extendClass=function(A,D,B){MochiKit.Base.update(A,D);A.superClass={};for(var C in B){A.superClass[C]=bobj.bindFunctionToObject(B[C],A)}};bobj.displayElementWithAnimation=function(A){if(A!=null){MochiKit.DOM.setOpacity(A,0);MochiKit.Style.setDisplayForElement("block",A);new MochiKit.Visual.appear(A,{duration:0.5})}};bobj.getHiddenElementDimensions=function(D){var C={w:0,h:0};if(D){var A=document.body;var E=D.cloneNode(true);var B=E.style;B.display="";B.visibility="hidden";B.width="";B.height="";B.position="absolute";B.left="-1000px";B.top="-1000px";A.appendChild(E);C={w:E.offsetWidth,h:E.offsetHeight};A.removeChild(E)}return C};bobj.hasPDFReaderWithJSFunctionality=function(){if(navigator.plugins){var B=navigator.plugins;for(var C=0,A=B.length;CA)){alert(L_bobj_crv_PrintPageRangeError);return }}if(this.widgetType=="PrintUI"){MochiKit.Signal.signal(this,"printSubmitted",B,A)}else{MochiKit.Signal.signal(this,"exportSubmitted",B,A,this._comboBox.getSelection().value)}this.show(false)};bobj.crv.PrintUI._getRPSafeURL=function(C){if(!C){return }if(C.indexOf("/")===0){return C}var B=window.location.href;var D=B.lastIndexOf("?");if(D>0){B=B.substring(0,D)}var A=B.lastIndexOf("/");if(A<0){return C}B=B.substring(0,A);return B+"/"+C};bobj.crv.PrintUI._getObjectTag=function(B){var C=[];C.push('');C.push('');C.push('');if(this.lcid){C.push('')}if(this.url){C.push('')}if(this.title){C.push('')}if(this.maxPage){C.push('')}if(this.paperOrientation){C.push('')}if(this.paperSize){C.push('')}if(this.paperWidth){C.push('')}if(this.paperLength){C.push('')}if(this.driverName){C.push('')}if(this.useDefPrinter){C.push('')}if(this.useDefPrinterSettings){C.push('')}if(this.sendPostDataOnce){C.push('')}C.push("");C.push('');C.push('
    ');var E=this;var D=E.getContainerWidth()-10;var A=E.getContainerHeight()-(2*E.pad+21+10);C.push('
    ');C.push('');C.push('");C.push('
    ');C.push(img(_skin+"wait01.gif",200,40));C.push("
    ');C.push('
    ');C.push(convStr(L_bobj_crv_PrintControlProcessingMessage,false,true));C.push("
    ");C.push("
    ");C.push("
    ");return C.join("")};bobj.crv.PrintUI._cancel=function(){if(this.isActxPrinting){document.getElementById(this.actxContainerId).innerHTML="";this._processingPrinting=false}};bobj.crv.PrintUI._processPrinting=function(){if(!this._processingPrinting){var B=document.getElementById(this.actxId);var A=document.getElementById(this.actxId+"_wait");if(B&&A){B.width="100%";B.height="100%";A.style.display="none"}this._processingPrinting=true}};bobj.crv.PrintUI.show=function(B,A){this._processingPrinting=false;if(B){if(!this.layer){targetApp(this.getHTML());this.init()}if(this.isActxPrinting){document.getElementById(this.actxContainerId).innerHTML=this._getObjectTag(A)}this._showOld(true)}else{if(this.layer){this._showOld(false)}}};bobj.crv.PrintUI.init=function(){this._initOld();if(!this.isActxPrinting){this._fromBox.init();this._toBox.init();this._submitBtn.init();this._allRadio.init();this._rangeRadio.init();this._allRadio.check(true);this._toBox.setDisabled(true);this._fromBox.setDisabled(true);if(this.widgetType=="ExportUI"){this._updateExportList()}}};bobj.crv.PrintUI.getHTML=function(){var B=bobj.html;var C=this;var A=C.beginHTML();if(!this.isActxPrinting){A+="
    "+this._submitBtn.getHTML()+"
    "}else{A+="
    - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/html/calendarbottom.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/html/calendarbottom.html deleted file mode 100644 index 90b83a1c3..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/html/calendarbottom.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/html/calendartop.html b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/html/calendartop.html deleted file mode 100644 index 800ece7a4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/html/calendartop.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addallfield.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addallfield.gif deleted file mode 100644 index 170f97def..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addallfield.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addallfield_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addallfield_over.gif deleted file mode 100644 index 9706482c2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addallfield_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addfield.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addfield.gif deleted file mode 100644 index e1a47d71c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addfield.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addfield_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addfield_over.gif deleted file mode 100644 index 1cbc9145f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/addfield_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/back.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/back.gif deleted file mode 100644 index 17e9cf8b5..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/back.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/back_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/back_over.gif deleted file mode 100644 index 67160b561..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/back_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/background_field.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/background_field.gif deleted file mode 100644 index a125dda0f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/background_field.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button.gif deleted file mode 100644 index 2c54908e6..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_left_normal.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_left_normal.gif deleted file mode 100644 index 0cc483c53..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_left_normal.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_middle_normal.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_middle_normal.gif deleted file mode 100644 index d1d65b7db..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_middle_normal.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_right_normal.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_right_normal.gif deleted file mode 100644 index 941f6fe47..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/button_right_normal.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/calendar.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/calendar.gif deleted file mode 100644 index 880c46570..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/calendar.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/cfilter.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/cfilter.gif deleted file mode 100644 index 06ce507aa..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/cfilter.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/cfilter_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/cfilter_over.gif deleted file mode 100644 index b69a02af2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/cfilter_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/dialogelements.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/dialogelements.gif deleted file mode 100644 index 35d803283..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/dialogelements.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/dialogtitle.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/dialogtitle.gif deleted file mode 100644 index 301d114a2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/dialogtitle.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/error.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/error.gif deleted file mode 100644 index cbb3bdaf2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/error.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/errormsg.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/errormsg.gif deleted file mode 100644 index 06234bf91..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/errormsg.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/filter.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/filter.gif deleted file mode 100644 index feca9d36a..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/filter.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/filter_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/filter_over.gif deleted file mode 100644 index 0d22a499c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/filter_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/forward.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/forward.gif deleted file mode 100644 index e1a47d71c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/forward.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/forward_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/forward_over.gif deleted file mode 100644 index 1cbc9145f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/forward_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/info.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/info.gif deleted file mode 100644 index c24c40f3f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/info.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/infomsg.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/infomsg.gif deleted file mode 100644 index 028b5d1f6..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/infomsg.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/minus.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/minus.gif deleted file mode 100644 index 9cb5eb996..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/minus.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/next.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/next.gif deleted file mode 100644 index 8540d35e9..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/next.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/next_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/next_over.gif deleted file mode 100644 index 801c2306d..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/next_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/plus.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/plus.gif deleted file mode 100644 index 0216dadfa..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/plus.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/prev.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/prev.gif deleted file mode 100644 index ec66dc2b4..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/prev.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/prev_over.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/prev_over.gif deleted file mode 100644 index 76318a28f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/prev_over.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/resize.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/resize.gif deleted file mode 100644 index 0ab68291c..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/resize.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/transp.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/transp.gif deleted file mode 100644 index d2ac90fe2..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/transp.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/warning.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/warning.gif deleted file mode 100644 index 7496185ea..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/warning.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/warningmsg.gif b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/warningmsg.gif deleted file mode 100644 index 20bfc954f..000000000 Binary files a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/images/warningmsg.gif and /dev/null differ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/initDhtmlLib.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/initDhtmlLib.js deleted file mode 100644 index 7e1f1c2b7..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/initDhtmlLib.js +++ /dev/null @@ -1,4 +0,0 @@ -if(typeof(promptengine_skin) != 'undefined' && typeof(promptengine_style) != 'undefined' && typeof(promptengine_lang) != 'undefined') { - initDom(promptengine_skin, promptengine_style, promptengine_lang); - styleSheet(); -} \ No newline at end of file diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_calendar.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_calendar.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_calendar2.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_calendar2.js deleted file mode 100644 index a07c667e0..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_calendar2.js +++ /dev/null @@ -1,173 +0,0 @@ -if(typeof(bobj) == "undefined") bobj = {}; -if(typeof(bobj.prompt) == "undefined") bobj.prompt = {}; - -bobj.prompt.Calendar = function(formName,dateFormat,locale,promptJsFilePrefix) { - this.locale = locale; - this.crystalreportviewerPath = promptJsFilePrefix + '/../'; - - this.loadFiles(); - - this.formName = formName; - this.dateFormat = dateFormat; - this.dateTimeFormat = dateFormat + " " + "H:mm:ss"; - this.isDateTime = false; -} - -bobj.prompt.Calendar.prototype = { - - /* - * shows calendar for the specified input - * @param e [event] - * @param inputName [DOM element] The node that will receive the calendar value - */ - show : function(e,inputName) { - this.calendar = bobj.crv.Calendar.getInstance(); - this.input = document.getElementById (inputName); - - var srcElem = e.target ? e.target : e.srcElement; - var pos = this._getPosition(srcElem); - - this._setValue(this.input.value); - - this._setSignals(true); // sets OK, and cancel event handlers - - this.calendar.setShowTime(this.isDateTime); - this.calendar.show(true,pos.x,pos.y); - }, - - setIsDateTime : function(isDateTime) { - this.isDateTime = isDateTime; - }, - - _getPosition : function(element) { - var scrolled = {x : 0, y : 0}; - var offset = {x : 0, y : 0}; - - var e = element; - while(e != null) { - offset.x += e.offsetLeft; - offset.y += e.offsetTop; - e = e.offsetParent; - } - - var e = element; - while(e != null && e.tagName.toLowerCase() != "body") { - /* Removes scrolling offset inside the dialog as calendar's position is with respect to top/left corner of window. - Excludes scroll position of body as calendar is rendered relative to window - */ - scrolled.x += e.scrollLeft; - scrolled.y += e.scrollTop; - e = e.parentNode; - } - - return { x: offset.x - scrolled.x, y : offset.y - scrolled.y}; - }, - - _setValue : function(value) { - var date = this._getDateValue(value); - if(!date) { - date = new Date(); - } - this.calendar.setDate(date); - }, - - _onOkayClick : function(dateValue) { - this._setFieldValue(dateValue); - }, - - _setFieldValue : function(dateValue) { - if(this.input) { - this.input.value = this._getStringValue(dateValue); - } - }, - - _onHide : function() { - this._removeSignals(); - }, - - _getStringValue : function(dateValue) { - var format = this.isDateTime ? this.dateTimeFormat : this.dateFormat; - return bobj.external.date.formatDate(dateValue, format); - - }, - - _getDateValue : function(stringValue) { - var format = this.isDateTime ? this.dateTimeFormat : this.dateFormat; - return bobj.external.date.getDateFromFormat(stringValue, format); - }, - - _setSignals: function(isConnected) { - var op = isConnected ? MochiKit.Signal.connect : MochiKit.Signal.disconnect; - op(this.calendar, this.calendar.Signals.OK_CLICK, this, '_onOkayClick'); - op(this.calendar, this.calendar.Signals.ON_HIDE, this, '_onHide'); - }, - - _removeSignals: function() { - this._setSignals(false); - }, - - loadJsResources : function() { - - var resources = [ - 'js/external/date.js', - 'js/MochiKit/Base.js', - 'js/MochiKit/DOM.js', - 'js/MochiKit/Style.js', - 'js/MochiKit/Signal.js', - 'js/dhtmllib/dom.js', - 'prompting/js/initDhtmlLib.js', - 'js/dhtmllib/palette.js', - 'js/dhtmllib/menu.js', - 'js/crviewer/html.js', - 'js/crviewer/common.js', - 'js/crviewer/Calendar.js' - ] - - for(var i = 0 ; i < resources.length; i++) { - this.loadJsFile(resources[i]); - } - - }, - - loadJsFile : function(uri) { - document.write(""); - }, - - loadLocaleStrings: function() { - var localeFiles = [ - 'js/dhtmllib/language/en/labels.js', - 'js/crviewer/strings_en.js' - ] - - var splitChar = '_'; // default to java's locale split character - if (this.locale.indexOf ('-') > 0) - splitChar = '-'; // must be .Net's locale split - - var lang = this.locale.split(splitChar); - - if(lang.length >= 1) { - localeFiles.push('js/dhtmllib/language/' + lang[0] + '/labels.js'); - localeFiles.push('js/crviewer/strings_' + lang[0] + '.js'); - } - - if(lang.length >= 2) { - localeFiles.push('js/dhtmllib/language/' + lang[0] + '_' + lang[1] + '/labels.js'); - localeFiles.push('js/crviewer/strings_' + lang[0] + '_' + lang[1] + '.js'); - } - - for (var i = 0; i < localeFiles.length; i++) { - this.loadJsFile(localeFiles[i]); - } - }, - - loadFiles : function() { - if(typeof(bobj.crv) == "undefined" || typeof(bobj.crv.Calendar) == "undefined") { - window["promptengine_skin"] = this.crystalreportviewerPath + "js/dhtmllib/images/skin_standard/"; - window["promptengine_style"] = this.crystalreportviewerPath + "js/crviewer/images/"; - window["promptengine_lang"] = this.locale; - this.loadLocaleStrings(); - this.loadJsResources(); - } - - } -}; diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_prompts.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_prompts.js deleted file mode 100644 index e25c293c4..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_prompts.js +++ /dev/null @@ -1,1110 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ - -////////////////////////////// -// FOR DEBUGGING ONLY -var debug = false; -function dumpFormFields(formName) -{ - theForm = document.forms[formName]; - for ( idx = 0; idx < theForm.elements.length; ++idx ) - alert ( theForm.elements[idx].name + " - " + theForm.elements[idx].value ); -} - -////////////////////////////// -// GLOBAL VAR -var isJava = false; // do encodeURIComponent for Java only - -var isNetscape = navigator.appName.indexOf("Netscape") != -1; - -var LEFT_ARROW_KEY = 37; -var RIGHT_ARROW_KEY = 39; -var ENTER_KEY = 13; - -var DateTimeFormatSetting = { -"datePattern":"Y-M-D", -"isTwoDigitMonth":true, -"isTwoDigitDay":true, -"dateRegex":null, -"dateTimeRegex":null -}; - -/////////////////////////////// -// functions for DateTimeFormatSetting - -function promptengine_getDatePattern() -{ - return DateTimeFormatSetting.datePattern; -} - -function promptengine_setDatePattern(pattern) -{ - DateTimeFormatSetting.datePattern = pattern; -} - -function promptengine_getIsTwoDigitMonth() -{ - return DateTimeFormatSetting.isTwoDigitMonth; -} - -function promptengine_setIsTwoDigitMonth(isTwoDigitMonth) -{ - DateTimeFormatSetting.isTwoDigitMonth = isTwoDigitMonth; -} - -function promptengine_getIsTwoDigitDay() -{ - return DateTimeFormatSetting.isTwoDigitDay; -} - -function promptengine_setIsTwoDigitDay(isTwoDigitDay) -{ - DateTimeFormatSetting.isTwoDigitDay = isTwoDigitDay; -} - -function promptengine_getDateRegex() -{ - return DateTimeFormatSetting.dateRegex; -} - -function promptengine_setDateRegex(dateRegex) -{ - DateTimeFormatSetting.dateRegex = dateRegex; -} - -function promptengine_getDateTimeRegex() -{ - return DateTimeFormatSetting.dateTineRegex; -} - -function promptengine_setDateTimeRegex(dateTineRegex) -{ - DateTimeFormatSetting.dateTineRegex = dateTineRegex; -} - -/////////////////////////////// -// properly encode prompt values -function promptengine_encodePrompt (prompt) -{ - if (isJava) - { - return encodeURIComponent(prompt); - } - else - { - return promptengine_urlEncode(prompt); - } -} - -//////////////////////////////// -// add number, currency, string from dropdown/textbox to list box -// where multiple prompt values are supported -function promptengine_addDiscreteValue ( - form, - type , - promptID) -{ - var widget, obj; - widget = obj = form[promptID + "DiscreteValue"]; - if ( obj.type && obj.type.toLowerCase() != "text" && - obj.type.toLowerCase() != "hidden" && obj.type.toLowerCase() != "password") - { - //select box not a textbox - obj = obj.options[obj.selectedIndex]; - } - if ( ! promptengine_checkValue ( obj.value, type ) ) - { - if (widget.focus && widget.type.toLowerCase() != "hidden") - widget.focus(); - return false; - } - promptValue = obj.value; - displayString = ( obj.text ) ? obj.text : obj.value; - promptEntry = new Option(displayString,promptValue,false,false); - theList = form[promptID + "ListBox"]; - theList.options[theList.length] = promptEntry; - if (widget.focus && widget.type.toLowerCase() != "hidden" && !widget.disabled) - widget.focus (); - if ( widget.select ) - widget.select (); - if ( widget.type.toLowerCase != "text" && - widget.type.toLowerCase != "hidden" && - widget.type.toLowerCase != "password") - if ( widget.selectedIndex < widget.length - 1 ) - widget.selectedIndex = widget.selectedIndex + 1; //... or move to next selection in listbox -} - -function promptengine_deselectAllItems(listbox) -{ - for (var i = 0; i < listbox.length; i++) - listbox.options[i].selected = false; -} - -function promptengine_addAvailableItem( - availableList, - index, - selectedList) -{ - for (var i = 0; i < selectedList.length; i++) - { - if (selectedList.options[i].value == availableList.options[index].value && - selectedList.options[i].text == availableList.options[index].text) - { - selectedList.options[i].selected = true; - return false; - } - } - - var promptEntry = new Option(availableList.options[index].text, availableList.options[index].value, false, true); - selectedList.options[selectedList.length] = promptEntry; - return true; -} - -//////////////////////////////// -// add number, currency, string from available list box to selected list box -// where multiple prompt values are supported -function promptengine_addValueFromPickList( - form, - type, - promptID) -{ - var AvailableList, SelectedList; - AvailableList = form[promptID + "AvailableList"]; - SelectedList = form[promptID + "ListBox"]; - - promptengine_deselectAllItems(SelectedList); - - var changed = false; - - var lastSelected = -1; - for (var i = 0; i < AvailableList.length; i++) - { - if (AvailableList.options[i].selected) - { - var added = promptengine_addAvailableItem(AvailableList, i, SelectedList); - if (added == true) - changed = true; - lastSelected = i; - } - } - - // set focus to the next item on the available list - if (lastSelected++ >= 0 && lastSelected < AvailableList.length) - { - promptengine_deselectAllItems(AvailableList); - AvailableList.options[lastSelected].selected = true; - } - - return changed; -} - -//////////////////////////////// -// add all number, currency, string from available list box to selected list box -// where multiple prompt values are supported -function promptengine_addAllValues( - form, - type, - promptID) -{ - var AvailableList, SelectedList; - AvailableList = form[promptID + "AvailableList"]; - SelectedList = form[promptID + "ListBox"]; - - promptengine_deselectAllItems(SelectedList); - - var changed = false; - for (var i = 0; i < AvailableList.length; i++) - { - var added = promptengine_addAvailableItem(AvailableList, i, SelectedList); - if (added == true) - changed = true; - } - - return changed; -} - -//////////////////////////////////// -// adds Range prompt to listbox where multiple values are supported -function promptengine_addRangeValue ( - form, - type , - promptID ) -{ - var lowerBoundPickList = form[promptID + "SelectLowerRangeValue"]; - var upperBoundPickList = form[promptID + "SelectUpperRangeValue"]; - - lowerBound = form[promptID + "LowerBound"]; - upperBound = form[promptID + "UpperBound"]; - //handle select box, not text box case - if ( lowerBound.type.toLowerCase () != "text" && - lowerBound.type.toLowerCase () != "hidden" && - lowerBound.type.toLowerCase () != "password" ) //either upper or lower, doesn't matter - { - lowerBound = lowerBound.options[lowerBound.selectedIndex]; - upperBound = upperBound.options[upperBound.selectedIndex]; - } - - lowerUnBounded = form[promptID + "NoLBoundCheck"].checked; - upperUnBounded = form[promptID + "NoUBoundCheck"].checked; - lvalue = uvalue = ""; - - if ( ! lowerUnBounded ) - { - if ( ! promptengine_checkRangeBoundValue ( lowerBound.value, type ) ) { - if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden") - lowerBound.focus (); - return false; - } - lvalue = lowerBound.value; - } - if ( ! upperUnBounded ) - { - if ( ! promptengine_checkRangeBoundValue ( upperBound.value, type ) ) { - if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden") - upperBound.focus (); - return false; - } - uvalue = upperBound.value; - } - - var ldisplay = ""; - var udisplay = ""; - - var found = false; - if (lowerBoundPickList != null && lvalue != null && lvalue.length > 0) - { - var cItems = lowerBoundPickList.length; - for (var item = 0; item < cItems; item++) - { - var value = lowerBoundPickList.options[item].value; - if (value != null && value.length > 0 && value == lvalue) - { - ldisplay = lowerBoundPickList.options[item].text; - found = true; - break; - } - } - } - if (!found) - ldisplay = (lowerBound.text && !lowerUnBounded) ? lowerBound.text : lvalue; - - found = false; - if (upperBoundPickList != null && uvalue != null && uvalue.length > 0) - { - var cItems = upperBoundPickList.length; - for (var item = 0; item < cItems; item++) - { - var value = upperBoundPickList.options[item].value; - if (value != null && value == uvalue) - { - udisplay = upperBoundPickList.options[item].text; - found = true; - break; - } - } - } - if (!found) - udisplay = (upperBound.text && !upperUnBounded) ? upperBound.text : uvalue; - - lowerChecked = form[promptID + "LowerCheck"].checked; - upperChecked = form[promptID + "UpperCheck"].checked; - - // value for showing in the list box only, no need encode here - value = ( lowerChecked && ! lowerUnBounded ) ? "[" : "("; - if ( ! lowerUnBounded ) //unbounded is empty string not quoted empty string (e.g not "_crEMPTY_") - value += (lvalue); - value += "_crRANGE_" - if ( ! upperUnBounded ) - value += (uvalue); - value += (upperChecked && ! upperUnBounded ) ? "]" : ")"; - if ( debug ) alert (value); - - display = ( lowerChecked && ! lowerUnBounded ) ? "[" : "("; - display += ldisplay; - display += " .. " - display += udisplay; - display += (upperChecked && ! upperUnBounded ) ? "]" : ")"; - - promptEntry = new Option(display,value,false,false); - theList = form[promptID + "ListBox"]; - - // search the list/select box for the new option, if the returned index is -1, i.e., no such option, add it - // otherwise, highlight that option - var idx = promptengine_findOptionInList(theList, value); - if (idx > -1) - theList.selectedIndex = idx; - else - theList.options[theList.length] = promptEntry; - - return true; -} - -//////////////////////////////////// -// search the given select object for the given option value, and returns its index. -function promptengine_findOptionInList(selectObj, optionValue) -{ - if (selectObj == null || optionValue == null || optionValue == "") - return -1; - - for (var i = 0; i < selectObj.options.length; i++) - { - if (selectObj.options[i].value == optionValue) - return i; - } - - return -1; -} - -//////////////////////////////////// -// disable check boxes / dropdowns / textboxes based on user selection on the range parameters -function promptengine_onNoBoundCheckClicked( - form, - promptID, - lowOrUpBound) -{ - if (lowOrUpBound == 0) { - if (form[promptID + "NoLBoundCheck"].checked) { - form[promptID + "NoUBoundCheck"].disabled = true; - form[promptID + "LowerCheck"].disabled = true; - form[promptID + "LowerBound"].disabled = true; - if (form[promptID + "SelectLowerRangeValue"] != null) - form[promptID + "SelectLowerRangeValue"].disabled = true; - } - else { - form[promptID + "NoUBoundCheck"].disabled = false; - form[promptID + "LowerCheck"].disabled = false; - form[promptID + "LowerBound"].disabled = false; - if (form[promptID + "SelectLowerRangeValue"] != null) - form[promptID + "SelectLowerRangeValue"].disabled = false; - } - } else if (lowOrUpBound == 1) { - if (form[promptID + "NoUBoundCheck"].checked) { - form[promptID + "NoLBoundCheck"].disabled = true; - form[promptID + "UpperCheck"].disabled = true; - form[promptID + "UpperBound"].disabled = true; - if (form[promptID + "SelectUpperRangeValue"] != null) - form[promptID + "SelectUpperRangeValue"].disabled = true; - } else { - form[promptID + "NoLBoundCheck"].disabled = false; - form[promptID + "UpperCheck"].disabled = false; - form[promptID + "UpperBound"].disabled = false; - if (form[promptID + "SelectUpperRangeValue"] != null) - form[promptID + "SelectUpperRangeValue"].disabled = false; - } - } -} - -//////////////////////////////////// -// disable text boxes / list boxes based on whether setNull is checked -function promptengine_onSetNullCheckClicked( - form, - promptID) -{ - if (form[promptID + "NULL"].checked) - { - if (form[promptID + "DiscreteValue"] != null) - form[promptID + "DiscreteValue"].disabled = true; - if (form[promptID + "SelectValue"] != null) - form[promptID + "SelectValue"].disabled = true; - } - else - { - if (form[promptID + "DiscreteValue"] != null) - form[promptID + "DiscreteValue"].disabled = false; - if (form[promptID + "SelectValue"] != null) - form[promptID + "SelectValue"].disabled = false; - } -} - -//////////////////////////////////// -// puts "select" value into text box for an editable prompt which also has defaults -function promptengine_selectValue( - form, - selectCtrl, - textCtrl) -{ - // If no selection, return unchanged. - if(form[selectCtrl].selectedIndex < 0) - return false; - - selectedOption = form[selectCtrl].options[form[selectCtrl].selectedIndex]; - if (selectedOption.value == null && form[textCtrl].value == null) - return false; - - var changed = true; - if (selectedOption.value == form[textCtrl].value) - changed = false; - - form[textCtrl].value = selectedOption.value; - return changed; -} - -function promptengine_hasValueInTextBox( - form, - textboxID) -{ - if (form[textboxID].value == null) - return false; - return true; -} - -///////////////////////////////////////// -// set cascading prompt id into value field. -function promptengine_setCascadingPID( - form, - valueID, - promptID) -{ - valueField = form[valueID]; - - curVal = valueField.value; - - if (curVal.length > 0) - curVal += "&"; - curVal += "cascadingPID" + "=" + promptID; - - if ( debug ) - alert (curVal); - - valueField.value = curVal; - return true; -} - -///////////////////////////////////////////////// -// remove selected values from multi-value prompt -function promptengine_removeValue( - form, - promptID) -{ - var lbox = form[promptID + "ListBox"]; - var changed = false; - - var lastSelected = -1; - for ( var idx = 0; idx < lbox.options.length; ) - { - if ( lbox.options[idx].selected ) - { - lbox.options[idx] = null; - changed = true; - lastSelected = idx; - } - else - idx++; - } - - if (lastSelected >= 0 && lastSelected < lbox.length) - { - // highlight the next item - promptengine_deselectAllItems(lbox); - lbox.options[lastSelected].selected = true; - } - else if (lastSelected == lbox.length && lastSelected > 0) - { - // highlight the last item - promptengine_deselectAllItems(lbox); - lbox.options[lastSelected - 1].selected = true; - } - - return changed; -} - -function promptengine_onRemoveValue( - form, - promptID) -{ - promptengine_removeValue(form, promptID); -} - -///////////////////////////////////////////////// -// remove all values from multi-value prompt -function promptengine_removeAllValues( - form, - promptID) -{ - var lbox = form[promptID + "ListBox"]; - - var changed = false; - - if (lbox.options.length > 0) - changed = true; - - for ( var idx = 0; idx < lbox.options.length; ) - { - lbox.options[idx] = null; - } - - return changed; -} - -function promptengine_onRemoveAllValues( - form, - promptID) -{ - promptengine_removeAllValues(form, promptID); -} - -///////////////////////////////////// -// update hidden value field with encoded value -function promptengine_updateValueField ( - form, - valueID, - promptID, - value) -{ - valueField = form[valueID]; - - curVal = valueField.value; - - if (curVal.length > 0) - curVal += "&"; - curVal += promptID + "=" + value; - - if ( debug ) - alert (curVal); - - valueField.value = curVal; - - return true; -} - -/////////////////////////////////////// -// reset hidden value field -function promptengine_resetValueField ( - form, - valueID) -{ - valueField = form[valueID]; - valueField.value = ""; -} - -///////////////////////////////////// -// sets prompt value into the hidden form field in proper format so that it can be submitted -function promptengine_updateDiscreteValue ( - form, - valueID, - promptID, - type, - checkValue) -{ - var value = ""; - - if (form[promptID + "NULL"] != null && - form[promptID + "NULL"].checked ) - { - value = "_crNULL_"; //NULL is a literal for, uhmm.. a NULL - } - else - { - valueField = form[promptID + "DiscreteValue"]; - - if (valueField.type.toLowerCase () != "text" && - valueField.type.toLowerCase () != "hidden" && - valueField.type.toLowerCase () != "password") - { - value = valueField.options[valueField.selectedIndex].value; - } - else - { - value = valueField.value; - } - - if ( checkValue && !promptengine_checkValue ( value, type ) ) - { - if (valueField.focus) - { - if(valueField.type.toLowerCase () != "hidden") - valueField.focus (); - else - { - var valueSelectField = form[promptID + "SelectValue"]; - if(valueSelectField && valueSelectField.focus) - valueSelectField.focus (); - } - } - - return false; - } - else - { - value = promptengine_encodePrompt(value); - } - } - - return promptengine_updateValueField(form, valueID, promptID, value); -} - -///////////////////////////////////// -// sets prompt value for a range into the hidden form field in proper format so that it can be submitted -function promptengine_updateRangeValue ( - form, - valueID, - promptID, - type, - checkValue) -{ - if (form[promptID + "NULL"] != null && - form[promptID + "NULL"].checked ) - { - value = "_crNULL_"; //NULL is a literal for, uhmm.. a NULL - } - else - { - lowerBound = form[promptID + "LowerBound"]; - upperBound = form[promptID + "UpperBound"]; - - //handle select box, not text box case - if (lowerBound.type.toLowerCase () != "text" && - lowerBound.type.toLowerCase () != "hidden" && - lowerBound.type.toLowerCase () != "password") //either upper or lower, doesn't matter - { - lowerBound = lowerBound.options[lowerBound.selectedIndex]; - upperBound = upperBound.options[upperBound.selectedIndex]; - } - lowerUnBounded = form[promptID + "NoLBoundCheck"].checked; - upperUnBounded = form[promptID + "NoUBoundCheck"].checked; - lowerChecked = form[promptID + "LowerCheck"].checked; - upperChecked = form[promptID + "UpperCheck"].checked; - uvalue = lvalue = ""; - - if ( ! lowerUnBounded ) - { - if ( checkValue && !promptengine_checkRangeBoundValue ( lowerBound.value, type ) ) { - if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden") - lowerBound.focus(); - return false; - } - lvalue = lowerBound.value; - } - if ( ! upperUnBounded ) - { - if ( checkValue && !promptengine_checkRangeBoundValue ( upperBound.value, type ) ) { - if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden") - upperBound.focus (); - return false; - } - uvalue = upperBound.value; - } - value = ( lowerChecked && ! lowerUnBounded ) ? "[" : "("; - if ( ! lowerUnBounded ) - value += promptengine_encodePrompt(lvalue); - value += "_crRANGE_" - if ( ! upperUnBounded ) - value += promptengine_encodePrompt(uvalue); - value += (upperChecked && ! upperUnBounded ) ? "]" : ")"; - } - - return promptengine_updateValueField(form, valueID, promptID, value); -} - -///////////////////////////////////// -// sets prompt value into the hidden form field in proper format so that it can be submitted -function promptengine_updateMultiValue ( - form, - valueID, - promptID, - type, - checkValue) -{ - values = form[promptID + "ListBox"].options; - value = ""; - - if (form[promptID + "NULL"] != null && - form[promptID + "NULL"].checked) - { - value = "_crNULL_"; //NULL is a literal for, uhmm.. a NULL - } - else - { - if ( values.length == 0 ) - { - value = "_crEMPTY_"; //if value is empty, set to empty string - } - else - { - for ( i = 0; i < values.length; i++ ) - { - // first value could be empty string, then chcking value.length != 0 could miss one empty string - if ( i != 0 ) - value += "_crMULT_" - value += promptengine_encodePrompt(values[i].value); - } - } - } - - //NOTE: we'll always return true as the validation is done before values are added to select box - return promptengine_updateValueField(form, valueID, promptID, value); -} - -/////////////////////////////////////// -// check and alert user about any errors based on type of prompt -var regNumber = /^(\+|-)?((\d+(\.|,|'| |\xA0)?\d*)+|(\d*(\.|,| |\xA0)?\d+)+)$/ -var regCurrency = regNumber; -var regDate = /^(D|d)(A|a)(T|t)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *\)$/ -var regDateTime = /^(D|d)(A|a)(T|t)(E|e)(T|t)(I|i)(M|m)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *, *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ -var regTime = /^(T|t)(I|i)(M|m)(E|e) *\( *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/ -var regDateTimeHTML = /^ *\d{4} *- *(0?[1-9]|1[0-2]) *- *((0?[1-9]|[1-2]\d)|3(0|1)) * *([0-1]?\d|2[0-3]) *: *[0-5]?\d *: *[0-5]?\d *$/ -var regDateHTML = /^ *\d{4} *- *(0?[1-9]|1[0-2]) *- *((0?[1-9]|[1-2]\d)|3(0|1)) *$/ -var regTimeHTML = /^ *([0-1]?\d|2[0-3]) *: *[0-5]?\d *: *[0-5]?\d *$/ - -function promptengine_getDateSpec() -{ - var datePattern = promptengine_getDatePattern(); - datePattern = datePattern.replace("Y", L_YYYY); - datePattern = datePattern.replace("M", L_MM); - datePattern = datePattern.replace("D", L_DD); - return datePattern; -} - -function promptengine_checkValue ( - value, - type ) -{ - if (value == null) - return false; - - if (value == "_crNULL_") - return true; - - if ( type == 'n' && ! regNumber.test ( value ) ) - { - if (value.length > 0) - alert ( L_BadNumber ); - else - alert ( (typeof L_Empty) != 'undefined'? L_Empty : L_NoValue ); - - return false; - } - else if ( type == 'c' && ! regCurrency.test ( value ) ) - { - if (value.length > 0) - alert ( L_BadCurrency ); - else - alert ( (typeof L_Empty) != 'undefined'? L_Empty : L_NoValue ); - - return false; - } - else if ( type == 'd' ) - { - var regex = promptengine_getDateRegex(); - if((regex == null || !regex.test(value)) && ! regDate.test ( value ) && !regDateHTML.test( value )) - { - if (value.length > 0) - { - var badDate = L_BadDate.replace("%1", promptengine_getDateSpec()); - alert ( badDate ); - } - else - alert ( (typeof L_Empty) != 'undefined'? L_Empty : L_NoValue ); - return false; - } - } - else if ( type == "dt" ) - { - var regex = promptengine_getDateTimeRegex(); - if((regex == null || !regex.test(value)) && ! regDateTime.test ( value ) && !regDateTimeHTML.test( value )) - { - if (value.length > 0) - { - var badDateTime = L_BadDateTime.replace("%1", promptengine_getDateSpec()); - alert ( badDateTime ); - } - else - alert ( (typeof L_Empty) != 'undefined'? L_Empty : L_NoValue ); - return false; - } - } - else if ( type == 't' && ! regTime.test ( value ) && !regTimeHTML.test( value ) ) - { - if (value.length > 0) - alert ( L_BadTime ); - else - alert ( (typeof L_Empty) != 'undefined'? L_Empty : L_NoValue ); - - return false; - } - - //by default let it go... - return true; -} - -function promptengine_checkRangeBoundValue ( - value, - type ) -{ - if (value == null || value.length == 0) - { - alert ( (typeof L_Empty) != 'undefined'? L_Empty : L_NoValue ); - return false; - } - - return promptengine_checkValue(value, type); -} - -function promptengine_isSubmitEvent(evt) -{ - if (isNetscape) - { - if (evt.which == ENTER_KEY && (evt.target.type == "text" || evt.target.type == "password")) - return true; - } - else - { - if (window.event.keyCode == ENTER_KEY && (window.event.srcElement.type == "text" || window.event.srcElement.type == "password")) - return true; - } - - return false; -} - -function promptengine_isEnterKey(evt) -{ - if (isNetscape) - { - if (evt.which == ENTER_KEY && evt.target.tagName.toLowerCase() != "a") - return true; - } - else - { - if (window.event.keyCode == ENTER_KEY && window.event.srcElement.tagName.toLowerCase() != "a") - return true; - } -} - -//This function should only be called from the COM components. -//Use encodeURIComponent for Java -function promptengine_urlEncode(strToBeEncoded) -{ - var encodedString = new String(""); - for( var i = 0; i < strToBeEncoded.length; i++ ) - { - var nextChar = strToBeEncoded.charAt(i); - switch( nextChar ) - { - //Unsafe characters - case '%': - { - encodedString += "%25"; - break; - } - case '+': - { - encodedString += "%2B"; - break; - } - case ' ': - { - encodedString += "%20"; - break; - } - case '<': - { - encodedString += "%3C"; - break; - } - case '>': - { - encodedString += "%3E"; - break; - } - case '"': - { - encodedString += "%22"; - break; - } - case '\'': - { - encodedString += "%27"; - break; - } - case '#': - { - encodedString += "%23"; - break; - } - case '{': - { - encodedString += "%7B"; - break; - } - case '}': - { - encodedString += "%7D"; - break; - } - case '|': - { - encodedString += "%7C"; - break; - } - case '\\': - { - encodedString += "%5C"; - break; - } - case '^': - { - encodedString += "%5E"; - break; - } - case '~': - { - encodedString += "%7E"; - break; - } - case '`': - { - encodedString += "%60"; - break; - } - case '[': - { - encodedString += "%5B"; - break; - } - case ']': - { - encodedString += "%5D"; - break; - } - //Reserved characters - case ';': - { - encodedString += "%3B"; - break; - } - case '/': - { - encodedString += "%2F"; - break; - } - case '?': - { - encodedString += "%3F"; - break; - } - case ':': - { - encodedString += "%3A"; - break; - } - case '@': - { - encodedString += "%40"; - break; - } - case '=': - { - encodedString += "%3D"; - break; - } - case '&': - { - encodedString += "%26"; - break; - } - default: - { - encodedString += nextChar; - break; - } - } - } - - return encodedString; -} - -function promptengine_CancelRightClick(evt) -{ - if (isNetscape) - { - if (evt.target.type != "text" && evt.target.type != "textarea") - { - evt.preventDefault(); - evt.cancelBubble = true; - return true; - } - } - else - { - if (window.event.srcElement.type != "text" && window.event.srcElement.type != "textarea") - { - window.event.cancelBubble = true; - window.event.returnValue = false; - } - } -} - -function promptengine_showHidePromptByKey(fieldSetId, imgId, currentImgPath, changeImgPath, evt) -{ - var correctKey = false; - var fieldSet = document.getElementById(fieldSetId); - - if (fieldSet == null) - return; - - if (isNetscape) - { - if ( (evt.which == LEFT_ARROW_KEY && fieldSet.style.display == "") || - (evt.which == RIGHT_ARROW_KEY && fieldSet.style.display == "none") ) - correctKey = true; - } - else - { - if ( (window.event.keyCode == LEFT_ARROW_KEY && fieldSet.style.display == "") || - (window.event.keyCode == RIGHT_ARROW_KEY && fieldSet.style.display == "none") ) - correctKey = true; - } - - if (correctKey == true) - promptengine_showHidePrompt(fieldSetId, imgId, currentImgPath, changeImgPath, evt) -} - -function promptengine_showHidePrompt(fieldSetId, imgId, currentImgPath, changeImgPath, evt) -{ - var imgElem; - imgElem = document.getElementById(imgId); - - if (imgElem!= null && fieldSetId != null) - { - if (!imgElem.origImage) - imgElem.origImage = imgElem.src; - - var fieldSet = document.getElementById(fieldSetId); - if (fieldSet != null) - { - if (fieldSet.style.display == "") - fieldSet.style.display = "none"; - else - fieldSet.style.display = ""; - - if (!imgElem.changed || imgElem.changed == false) - { - imgElem.src = changeImgPath; - imgElem.changed = true; - } - else - { - imgElem.src = currentImgPath; - imgElem.changed = false; - } - } - } -} - -function promptengine_scrollTo(elt) -{ - if (!elt) return; - - var offsetTop = elt.offsetTop; - if (!offsetTop) return; - - var myOffsetParent = elt.offsetParent; - while( myOffsetParent ) - { - offsetTop += myOffsetParent.offsetTop; - myOffsetParent = myOffsetParent.offsetParent; - } - - window.scrollTo(0, offsetTop); -} - - /* Crystal Decisions Confidential Proprietary Information */ diff --git a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_prompts2.js b/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_prompts2.js deleted file mode 100644 index 0c22ba392..000000000 --- a/aspnet_client/system_web/4_0_30319/crystalreportviewers/prompting/js/promptengine_prompts2.js +++ /dev/null @@ -1,3405 +0,0 @@ -/* Copyright (c) Business Objects 2006. All rights reserved. */ -var PE_VALUE_DESC_SEPARATOR = ' - '; - -if(typeof(_pe) == 'undefined') { - -_pe = new function() -{ -var o=this -o._ie=(document.all!=null)?true:false -o._dom=(document.getElementById!=null)?true:false -o._isQuirksMode = (document.compatMode != 'CSS1Compat'); -o._moz=o._dom&&!o._ie -o._appVer=navigator.appVersion.toLowerCase(); -o._mac=(o._appVer.indexOf('macintosh')>=0)||(o._appVer.indexOf('macos')>=0); -o._userAgent=navigator.userAgent?navigator.userAgent.toLowerCase():null -o._saf=o._moz&&(o._userAgent.indexOf("safari")>=0) -o._ie6=o._ie&&(o._appVer.indexOf("msie 6")>=0) - -o._root = '' -o._images= o._root + '/images/' - -// prompt section -o._prompts=new Array -o._lovBS=1000 - -o._st='s' -o._nm='n' -o._cy='c' -o._bo='b' -o._da='d' -o._tm='t' -o._dt='dt' - -_BlockWaitWidgetID = "PEBlockWidgetID" - -// dialog secion -o._theLYR=null -o._dlgResize=null -o._widgets=new Array -o.DlgBox_modals=new Array; -o.DlgBox_instances=new Array -o.DlgBox_current=null - -o._show='visible' -o._hide='hidden' -o._hand=o._ie?"hand":"pointer" - -// functions -o.init=PE_init -o.canSubmit=PE_canSubmit -o.beginBlocking=PE_beginBlocking -o.endBlocking=PE_endBlocking - -// commands -o.setLOVMsg=PE_setLOVMsg -} -} - -function PE_init(root,lovBS) -{ -var o=this -if (root && root.length > 0) -{ -if (root.charAt(root.length - 1)!='/') root += '/' -o._root = root -o._images = root + 'images/' -} -else -{ -o._root = null -o._images = null -} -if(lovBS>0) o._lovBS=lovBS -} - -function PE_canSubmit() -{ -return (this.DlgBox_current) ? false : true -} - -/* -Commands: -cmd=lov (get values from the active prompt) -ap(active prompt id) -*/ -function PE_setLOVMsg(form,vid,pid) -{ -var fl=document.getElementById(vid); -var fv=fl.value; - -if (fv.length > 0) fv += "&"; -fv += "cmd=1&ap" + "=" + pid; - -fl.value=fv -} - -var DateTimeFormatSetting = { -"datePattern":"Y-M-D", -"isTwoDigitMonth":true, -"isTwoDigitDay":true, -"dateRegex":null, -"dateTimeRegex":null -}; - -/////////////////////////////// -// functions for DateTimeFormatSetting -function promptengine_getDatePattern() -{ - return DateTimeFormatSetting.datePattern; -} - -function promptengine_setDatePattern(pattern) -{ - DateTimeFormatSetting.datePattern = pattern; -} - -function promptengine_getIsTwoDigitMonth() -{ - return DateTimeFormatSetting.isTwoDigitMonth; -} - -function promptengine_setIsTwoDigitMonth(isTwoDigitMonth) -{ - DateTimeFormatSetting.isTwoDigitMonth = isTwoDigitMonth; -} - -function promptengine_getIsTwoDigitDay() -{ - return DateTimeFormatSetting.isTwoDigitDay; -} - -function promptengine_setIsTwoDigitDay(isTwoDigitDay) -{ - DateTimeFormatSetting.isTwoDigitDay = isTwoDigitDay; -} - -function promptengine_getDateRegex() -{ - return DateTimeFormatSetting.dateRegex; -} - -function promptengine_setDateRegex(dateRegex) -{ - DateTimeFormatSetting.dateRegex = dateRegex; -} - -function promptengine_getDateTimeRegex() -{ - return DateTimeFormatSetting.dateTineRegex; -} - -function promptengine_setDateTimeRegex(dateTineRegex) -{ - DateTimeFormatSetting.dateTineRegex = dateTineRegex; -} - -//////////////////////////////////////////// -// helper functions duplicate in dhtml lib -function _convStr(s,nbsp,br) -{ -s=''+s -var ret=s.replace(/&/g,"&").replace(//g,">").replace(/"/g,""") -if (nbsp) -ret=ret.replace(/ /g," ") -if (br) -ret=ret.replace(/\n/g,"
    ") -return ret -} - -function _opt(val,txt,sel) -{ -return '' -} - -function _canScanFrames(w) -{ -var ex=true,d=null -if (_pe._moz) -{ -_oldErrHandler=window.onerror -window.onerror=localErrHandler -} -try -{ -d=w.document -ex=false -} -catch(expt) -{ -} -if (_pe._moz) -window.onerror=_oldErrHandler -return (!ex&&(d!=null)) -} - -function _restoreAllDisabledInputs(win,level) -{ -if (_pe._ie&&window._peInputStackLevel!=null) -{ -win=win?win:window -if (_canScanFrames(win)) -{ -if (level==null) -level=--window._peInputStackLevel -var b=win.document.body,arr=b?b.getElementsByTagName("SELECT"):null,len=arr?arr.length:0 -for (var i=0;i