You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2014/03/19 20:16:31 UTC

svn commit: r1579359 [1/8] - in /ofbiz/trunk/specialpurpose/birt: src/org/ofbiz/birt/report/servlet/ webapp/birt/webcontent/ webapp/birt/webcontent/birt/ webapp/birt/webcontent/birt/ajax/ webapp/birt/webcontent/birt/ajax/core/ webapp/birt/webcontent/bi...

Author: jleroux
Date: Wed Mar 19 19:16:28 2014
New Revision: 1579359

URL: http://svn.apache.org/r1579359
Log:
A patch from Chatree Srichart for "BIRT Web Viewer Integration" https://issues.apache.org/jira/browse/OFBIZ-4952

jleroux: Oops forgot to commit the unversioned files

Added:
    ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/lib/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/lib/prototype.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/mh/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/mh/BirtBaseResponseHandler.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/mh/BirtGetUpdatedObjectsResponseHandler.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/taglib/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/taglib/CascadingParameter.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/taglib/ParameterDefinition.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/taglib/ParameterGroup.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/taglib/ProgressBar.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/taglib/SoapResponseHelper.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/AbstractBaseToc.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/AbstractBaseToolbar.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/AbstractUIComponent.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/BirtNavigationBar.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/BirtProgressBar.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/BirtToc.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/app/BirtToolbar.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/AbstractBaseDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/AbstractExceptionDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/AbstractParameterDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtConfirmationDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtExceptionDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtExportReportDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtParameterDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtPrintReportDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtPrintReportServerDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtSimpleExportDataDialog.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/dialog/BirtTabedDialogBase.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/report/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/report/AbstractBaseReportDocument.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/report/AbstractReportComponent.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/report/BirtReportDocument.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/ui/report/ReportComponentIdRegistry.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/utility/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/utility/BirtPosition.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/utility/BirtUtility.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/utility/BrowserUtility.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/utility/Constants.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/utility/Debug.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/utility/Printer.js   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Add.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/AddAll.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/AddAll_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/AddAll_disabled_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/AddAll_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/AddFilter.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Add_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Add_disabled_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Add_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Close.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Collapse.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/DeleteFilter.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Down.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Down_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/EclipseBannerPic.jpg   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Error.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Expand.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Export.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/ExportReport.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/FirstPage.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/FirstPage_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Go.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Go_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Idea.jpg   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Interactive_viewer.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/LastPage.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/LastPage_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Leaf.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Loading.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Loading_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/NextPage.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/NextPage_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/PreviousPage.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/PreviousPage_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Print.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/PrintServer.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Remove.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/RemoveAll.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/RemoveAll_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/RemoveAll_disabled_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/RemoveAll_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Remove_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Remove_disabled_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Remove_rtl.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Report_Parameters_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Report_parameters.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Toc.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Up.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/Up_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/childicon.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/close.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/ok-cancel-button-center.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/ok-cancel-button-center_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/ok-cancel-button-left.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/ok-cancel-button-left_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/ok-cancel-button-right.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/dialog/common/ok-cancel-button-right_disabled.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/gradient.jpg   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/parameter.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/images/parameter_group.gif   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/common/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/common/Attributes.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/common/Error.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/common/Locale.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/common/blank.html   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/common/processing.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/control/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/control/NavigationbarFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/control/ProgressBarFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/control/TocFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/control/ToolbarFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/ConfirmationDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/DialogContainerFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/ExceptionDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/ExportDataDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/ExportReportDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/ParameterDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/PrintReportDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/PrintReportServerDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/dialog/SimpleExportDataDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/DocumentFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/FramesetFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/ParameterFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/ReportContentFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/ReportDialogFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/ReportFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/RequesterFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/RunFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/layout/SidebarFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/parameter/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/parameter/CheckboxParameterFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/parameter/ComboBoxParameterFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/parameter/HiddenParameterFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/parameter/ParameterGroupFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/parameter/RadioButtonParameterFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/pages/parameter/TextBoxParameterFragment.jsp   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/styles/
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/styles/dialogbase.css   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/styles/dialogbase_rtl.css   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/styles/index.css   (with props)
    ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/styles/style.css   (with props)

Added: ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java (added)
+++ ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java Wed Mar 19 19:16:28 2014
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *******************************************************************************/
+package org.ofbiz.birt.report.servlet;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+
+import org.eclipse.birt.report.utility.DataUtil;
+import org.eclipse.birt.report.utility.ParameterAccessor;
+import org.ofbiz.base.location.FlexibleLocation;
+import org.ofbiz.base.util.Debug;
+
+public class ViewerServletRequest extends HttpServletRequestWrapper {
+    
+    public final static String module = ViewerServletRequest.class.getName();
+
+    protected String originalReportParam = null;
+
+    public ViewerServletRequest(String originalReportParam, HttpServletRequest request) {
+        super(request);
+        this.originalReportParam = originalReportParam;
+    }
+    
+    @Override
+    public String getParameter(String name) {
+        if (ParameterAccessor.PARAM_REPORT.equals(name)) {
+            String reportParam = DataUtil.trimString(originalReportParam);
+            if (reportParam.startsWith("component://")) {
+                ClassLoader loader = Thread.currentThread().getContextClassLoader();
+                if (loader == null) {
+                    loader = ViewerServletRequest.class.getClassLoader();
+                }
+                URL reportFileUrl = null;
+                try {
+                    reportFileUrl = FlexibleLocation.resolveLocation(reportParam, loader);
+                } catch (MalformedURLException e) {
+                    Debug.logError(e, module);
+                }
+                if (reportFileUrl == null) {
+                    throw new IllegalArgumentException("Could not resolve location to URL: " + reportParam);
+                }
+                return reportFileUrl.getPath();
+            } else {
+                return originalReportParam;
+            }
+        }
+        return super.getParameter(name);
+    }
+}

Propchange: ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/report/servlet/ViewerServletRequest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js (added)
+++ ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js Wed Mar 19 19:16:28 2014
@@ -0,0 +1,121 @@
+/******************************************************************************
+ *	Copyright (c) 2004 Actuate Corporation and others.
+ *	All rights reserved. This program and the accompanying materials 
+ *	are made available under the terms of the Eclipse Public License v1.0
+ *	which accompanies this distribution, and is available at
+ *		http://www.eclipse.org/legal/epl-v10.html
+ *	
+ *	Contributors:
+ *		Actuate Corporation - Initial implementation.
+ *****************************************************************************/
+
+/**
+ *	BirtCommunicationManager
+ *	...
+ */
+BirtCommunicationManager = Class.create( );
+
+BirtCommunicationManager.prototype =
+{
+	__active : false,
+	
+	/**
+	 *	Initialization routine required by "ProtoType" lib.
+	 *
+	 *	@return, void
+	 */
+	initialize: function( )
+	{
+	},
+
+	/**
+	 *	Make xml http request.
+	 *
+	 *	return, void
+	 */
+	connect: function( )
+	{
+		var xmlDoc = birtSoapRequest.__xml_document;
+		
+		if( xmlDoc )
+		{
+			debug( birtSoapRequest.prettyPrintXML(xmlDoc), true);
+			if ( BrowserUtility.isSafari || BrowserUtility.isFirefox3 )
+			{
+				// WORKAROUND: sending the XML DOM doesn't replace the
+				// ampersands properly but the XMLSerializer does.
+				xmlDoc = (new XMLSerializer()).serializeToString(xmlDoc);
+			}
+		}		
+		
+		if ( !birtSoapRequest.getURL( ) ) return;
+
+		//activate delay message manager;
+		this.__active = true;
+		birtProgressBar.__start( );
+		
+		//workaround for Bugzilla Bug 144598. Add request header "Connection" as "keep-alive"
+		var myAjax = new Ajax.Request( birtSoapRequest.getURL( ), { method: 'post', postBody: xmlDoc,
+			onSuccess: this.responseHandler, onFailure: this.invalidResponseHandler,
+			requestHeaders: ['Content-Type', 'text/xml; charset=UTF-8', 'SOAPAction', '""', 'request-type', 'SOAP', 'Connection', 'keep-alive' ] } );
+
+		birtSoapRequest.reset( );
+	},
+	
+	/**
+	 *	Callback function triggered when reponse is ready, status is 200.
+	 *
+	 *	@request, httpXmlRequest instance
+	 *	@return, void
+	 */
+	responseHandler: function( request )
+	{
+		if ( isDebugging( ) )
+		{
+			debug(request.responseText, true);
+			debug(birtSoapRequest.prettyPrintXML(request.responseXML.documentElement), true);
+		}
+		
+		if ( request.responseXML && request.responseXML.documentElement )
+		{
+			birtSoapResponse.process( request.responseXML.documentElement );
+		}
+		
+		birtCommunicationManager.postProcess( );
+		//todo handle responseText
+	},
+	
+	/**
+	 *	Callback function triggered when reponse is ready status is not 200.
+	 *	Process any http (non-200) errors. Note this is not exception from
+	 *	server side.
+	 *
+	 *	@request, httpXmlRequest instance
+	 *	@return, void
+	 */
+	invalidResponseHandler: function( request )
+	{
+		debug("invalid response");
+		
+		if ( request.responseXML && request.responseXML.documentElement )
+		{
+			birtSoapResponse.process( request.responseXML.documentElement );
+		}
+		
+		birtCommunicationManager.postProcess( );
+	},
+
+	/**
+	 *	Post process after finish processing the response.
+	 *
+	 *	@return, void
+	 */
+	postProcess: function( )
+	{
+	    //deactivate delay message manager
+		birtProgressBar.__stop( );
+	    this.__active = false;
+	}
+}
+
+var birtCommunicationManager = new BirtCommunicationManager( );
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtCommunicationManager.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js (added)
+++ ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js Wed Mar 19 19:16:28 2014
@@ -0,0 +1,331 @@
+/******************************************************************************
+ *	Copyright (c) 2004 Actuate Corporation and others.
+ *	All rights reserved. This program and the accompanying materials 
+ *	are made available under the terms of the Eclipse Public License v1.0
+ *	which accompanies this distribution, and is available at
+ *		http://www.eclipse.org/legal/epl-v10.html
+ *	
+ *	Contributors:
+ *		Actuate Corporation - Initial implementation.
+ *****************************************************************************/
+
+BirtDndManager = function( ) { 
+
+	//An item is dragging
+this.isDragging = false;
+
+};
+
+BirtDndManager.prototype = {
+
+	__dropTargetManager: null, //PRIVATE - extending classes must use accessor method
+	
+	__mousemoveHandlerFunction: null,
+	
+	__dropHandlerFunction: null,
+		
+	currentDropTarget: null, //Element that is the current valid drop target
+	
+	currentDragElement: null, //Element that is currently being dragged
+	
+	
+	/**
+	Extending classes should use this method to set the drop target manager if
+	custom drop behavior is desired
+	@param {DropTargetManager}
+	*/
+	setDropTargetManager: function( dTargetManager)
+	{
+		this.__dropTargetManager = dTargetManager;
+	},
+		
+	/**
+	Drop targets call this method to register as accepting "dragType" items
+	*/		
+	addAssociation: function(dragType, targetHtmlId, target)
+	{
+		if(this.__dropTargetManager == null)
+		{
+			throw new WRError("BirtDndManager", "DropTargetManager not set");
+		}
+		this.__dropTargetManager.addAssociation(dragType, targetHtmlId, target);
+	},
+	
+	/**
+	Delete an association when the corresponding html element is removed
+	@param dragType
+	@param dropTargetId id attribute of html element to remove
+	*/
+	deleteAssociation: function(dragType, htmlId)
+	{
+		if(this.__dropTargetManager == null)
+		{
+			throw new WRError("BirtDndManager", "DropTargetManager not set");
+		}
+		this.__dropTargetManager.deleteAssociation(dragType, htmlId);
+	},
+	
+	/**
+	startDrag redefines itself the first time it is called based on the desired type of drag drop behavior.<b>
+	*/ 
+	startDrag: function(element, event, dragType)
+	{
+			//If there is no drop target manager, define startDrag as default
+		if(this.__dropTargetManager == null)
+		{
+			this.startDrag = this.__getDefaultStartDrag();			
+		}
+		else
+		{
+			this.startDrag = this.__getCustomStartDrag();
+		}
+		this.startDrag(element, event, dragType);
+	},
+	
+	/**
+	Default start drag function handles elements that drag but do not have drop targets
+	@returns {function} default start drag function
+	*/
+	__getDefaultStartDrag: function()
+	{
+		return function(element, event, dragType)
+		{
+			debug("default startDrag");
+			if(!this.isDragging)
+			{
+				this.eventMouseout = this.elementMouseout.bindAsEventListener(this);
+			
+				this.__mousemoveHandlerFunction = this.__moveElement.bindAsEventListener(this);
+				this.__dropElementFunction = this.__dropElement.bindAsEventListener(this);
+			
+				var zIndex = this.__activateDragMask();
+				this.__elementSetUp(element, event, zIndex);
+				this.__startDragObservers(this.__mousemoveHandlerFunction, this.__dropElementFunction);
+			}
+			this.isDragging = true;
+		}
+	},
+	
+	/**
+	Custom start drag function handles elements that have drop targets
+	@returns {function} custome start drag function
+	*/
+	__getCustomStartDrag: function()
+	{	
+		return function(element, event, dragType)
+		{
+			debug("custom startDrag");
+			if(!this.isDragging)
+			{
+				
+				if(dragType == null) //There are no drop targets
+				{
+					this.__mousemoveHandlerFunction = this.__moveElement.bindAsEventListener(this);
+					this.__dropElementFunction = this.__dropElement.bindAsEventListener(this);
+				}
+				else
+				{
+					this.__dropTargetManager.setUpForDrag(dragType);
+					this.__mousemoveHandlerFunction = this.__moveElementWithTarget.bindAsEventListener(this);
+					this.__dropElementFunction = this.__dropElementWithTarget.bindAsEventListener(this);				
+				}		
+				this.eventMouseout = this.elementMouseout.bindAsEventListener(this);
+				
+				var zIndex = this.__activateDragMask();
+				this.__elementSetUp(element, event, zIndex);
+				this.__startDragObservers(this.__mousemoveHandlerFunction, this.__dropElementFunction);
+			}
+			this.isDragging = true;
+		}
+	},
+	
+	__activateDragMask: function()
+	{
+		return Mask.show();
+	},
+	
+	__deactivateDragMask: function()
+	{
+		Mask.hide();
+	},
+
+	/**
+	Set up an element to be dragged
+	*/
+	__elementSetUp: function(elem, event, zIndex)
+	{	
+		//TODO if removing selections is kept, move to utility funciton
+		//remove any existing selections
+		if(document.selection)
+		{
+			document.selection.empty();
+		}
+		else if(window.getSelection)
+		{
+			var selection = window.getSelection();
+			if(selection)
+			{
+				selection.removeAllRanges();
+			}
+		}
+	
+		this.currentDragElement = elem;
+		this.currentDragElement.oldZIndex = this.currentDragElement.style.zIndex;
+		this.currentDragElement.style.zIndex = zIndex;
+		this.currentDropTarget = null;
+			//Location of mouse
+		var mouseX = Event.pointerX(event);
+		var mouseY = Event.pointerY(event);
+			//Distance from the edge of the element to edge of browser
+		var offsets = Position.cumulativeOffset(elem);
+			//Distance from the edge of the element of mouse
+		elem.offsetX =  (mouseX - offsets[0]);
+		elem.offsetY =  (mouseY - offsets[1]);
+			
+			//Used for revert effect
+		elem.originalTop = parseInt(elem.style.top || '0');
+		elem.originalLeft = parseInt(elem.style.left || '0');		 
+	},
+	
+	/**
+	Start drag event observing
+	*/
+	__startDragObservers: function(mousemoveHandlerFunction, dropHandlerFunction)
+	{	
+		Event.observe(document, "mousemove", mousemoveHandlerFunction, false);
+		Event.observe(document, "mouseup", dropHandlerFunction, false);
+	},	
+	
+	/**
+	Move element
+	*/
+	__moveElement: function(event)
+	{
+		var xPos = Event.pointerX(event);
+		var yPos = Event.pointerY(event);
+		
+		this.__moveCurrentDragElement(xPos, yPos);				
+	},
+		
+	/**
+	Move element and use DropTargetManager to check if it can be dropped
+	*/
+	__moveElementWithTarget: function(event)
+	{	
+		var xPos = Event.pointerX(event);
+		var yPos = Event.pointerY(event);
+		
+		this.__moveCurrentDragElement(xPos, yPos);
+		
+		var oldDropTarget = this.currentDropTarget; //is the state changing?
+		var dropTarget = this.__dropTargetManager.getDropTarget(xPos, yPos);
+		
+			//Change indicator to drop allowed
+		if(dropTarget)
+		{
+			this.currentDropTarget = dropTarget;				
+			if(!oldDropTarget) 
+			{
+				var nodes = this.currentDragElement.childNodes;
+				this.toggleDropIndicator(true, nodes);
+			}
+		}
+		else //Change indicator to drop forbidden
+		{
+			this.currentDropTarget = null;
+			if(oldDropTarget)
+			{
+				var nodes = this.currentDragElement.childNodes;
+				this.toggleDropIndicator(false, nodes);
+			}
+		}			
+	},
+	
+	__moveCurrentDragElement: function(x, y)
+	{
+		var offsets = Position.cumulativeOffset(this.currentDragElement);
+	    	//subtract the element's current left, top coordinates from the offsets
+	    offsets[0] -= parseInt(this.currentDragElement.style.left || '0');
+	    offsets[1] -= parseInt(this.currentDragElement.style.top || '0');
+	        
+	    var style = this.currentDragElement.style;
+	     
+	    	//take current mouse position, subtract difference in drag object position, s
+	    style.left = (x - offsets[0] - this.currentDragElement.offsetX) + "px";
+	    style.top  = (y - offsets[1] - this.currentDragElement.offsetY) + "px";   
+	},
+	
+	/**
+	Check if the mouse button is no longer pressed, if not, call
+	eventDropped. (IE specific)<b>
+	*/ 
+	__mouseStillDown: function(event)
+	{
+		/**
+		Check that the mouse button is still down
+		(used to detect roll off the screen in IE)
+		*/
+		//debug("check mouse down");
+			//TODO refine this Check that element is really moving	
+		if(!event.which && event.button == "0")
+		{
+			this.eventDropped(event);
+			return true;
+		}
+		return false;
+	},
+	
+		
+	/**
+	Handle mouseout of drag element
+	*/
+	elementMouseout: function(event)
+	{
+		//debug("mouseout");
+		var target = Event.element( event );
+		if(target.tagName.toLowerCase() == "iframe")
+		{
+			Event.stop(event);
+			this.eventDropped(event);
+		}
+		
+	},
+	
+	__dropElement: function(event)
+	{
+		this.isDragging = false;
+
+	    Event.stopObserving(document, "mousemove", this.__mousemoveHandlerFunction);
+	    Event.stopObserving(document, "mouseup", this.__dropElementFunction);
+	    Event.stopObserving(document, "mouseout", this.eventMouseout);
+	    this.__deactivateDragMask();
+		this.currentDragElement.style.zIndex = this.currentDragElement.oldZIndex;
+	},
+	
+	__dropElementWithTarget: function(event)
+	{
+		this.__dropElement(event);
+	    
+	    this.__dropTargetManager.dropElementWithTarget(event, this.currentDragElement, this.currentDropTarget);
+	},
+	
+     
+     /**
+     Toggle drop indicator to show if item can be dropped
+     @param accept {boolean} Indicates if item is accepted
+     @param nodes {Array} Potential imageHolder nodes //TODO once indicator is decided on can be made more efficient
+     */
+     toggleDropIndicator: function(accept, nodes)
+     {     	
+		for(var j = 0 ; j < nodes.length ; j++)
+		{
+			if(nodes[j].imageHolder)
+			{
+				accept ? nodes[j].childNodes[0].style.display = "none" : nodes[j].childNodes[0].style.display = "block";
+				accept ? nodes[j].childNodes[1].style.display = "block" : nodes[j].childNodes[1].style.display = "none";
+				break;
+			}
+		}
+     }
+       
+}
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtDndManager.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js (added)
+++ ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js Wed Mar 19 19:16:28 2014
@@ -0,0 +1,48 @@
+/******************************************************************************
+ *	Copyright (c) 2004 Actuate Corporation and others.
+ *	All rights reserved. This program and the accompanying materials 
+ *	are made available under the terms of the Eclipse Public License v1.0
+ *	which accompanies this distribution, and is available at
+ *		http://www.eclipse.org/legal/epl-v10.html
+ *	
+ *	Contributors:
+ *		Actuate Corporation - Initial implementation.
+ *****************************************************************************/
+ 
+/**
+ *	BirtEvent
+ */
+BirtEvent = Class.create( );
+
+BirtEvent.prototype =
+{
+	__E_WARN : '__E_WARN',
+	__E_BLUR : '__E_BLUR', // Blur current selection.
+	__E_GETPAGE : '__E_GETPAGE', // Getting pagination page.
+	__E_GETPAGE_INIT : '__E_GETPAGE_INIT', // Getting pagination page with parameters.
+	__E_PRINT : '__E_PRINT', // Print event.
+	__E_PRINT_SERVER : '__E_PRINT_SERVER', // Print event.
+	__E_QUERY_EXPORT : '__E_QUERY_EXPORT',
+	__E_TOC : '__E_TOC',
+	__E_TOC_IMAGE_CLICK : '__E_TOC_IMAGE_CLICK',
+	__E_PARAMETER : '__E_PARAMETER',
+	__E_CHANGE_PARAMETER : '__E_CHANGE_PARAMETER',  //Change parameter event.
+	__E_CACHE_PARAMETER : '__E_CACHE_PARAMETER',  //Cache parameter event.
+	__E_CASCADING_PARAMETER : '__E_CASCADING_PARAMETER',  //Cascading parameter event.
+	__E_PDF : '__E_PDF', // Create pdf event.
+	__E_CANCEL_TASK : '__E_CANCEL_TASK', // Cancel current task event.
+	__E_GETPAGE_ALL : '__E_GETPAGE_ALL', // Get all pages.
+	__E_EXPORT_REPORT : '__E_EXPORT_REPORT', // Export report
+ 	
+	/**
+	 *	Initialization routine required by "ProtoType" lib.
+	 *	Define available birt events.
+	 *
+	 *	@return, void
+	 */
+	initialize: function( )
+	{
+	}
+}
+
+var birtEvent = new BirtEvent( );
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEvent.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js (added)
+++ ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js Wed Mar 19 19:16:28 2014
@@ -0,0 +1,244 @@
+/******************************************************************************
+ *	Copyright (c) 2004 Actuate Corporation and others.
+ *	All rights reserved. This program and the accompanying materials 
+ *	are made available under the terms of the Eclipse Public License v1.0
+ *	which accompanies this distribution, and is available at
+ *		http://www.eclipse.org/legal/epl-v10.html
+ *	
+ *	Contributors:
+ *		Actuate Corporation - Initial implementation.
+ *****************************************************************************/
+
+/**
+ *	BirtEventDispatcher
+ *	...
+ */
+BirtEventDispatcher = Class.create( );
+
+BirtEventDispatcher.prototype =
+{
+	__focusId : null,
+	
+	__event_map : { },
+	
+	/**
+	 *	Initialization routine required by "ProtoType" lib.
+	 *
+	 *	@return, void
+	 */
+	initialize : function( )
+	{
+	},
+
+	/**
+	 *	Register birt event handler with global birt event dispatcher to
+	 *	handle birt events (Not native events).
+	 *
+	 *	@eventType, pre-defined birt event type
+	 *	@id, ui object id
+	 *	@handler, birt event handler
+	 *	@return, void
+	 */
+	registerEventHandler : function( eventType, id, handler )
+	{
+	    if ( !this.__event_map[eventType] )
+	    {
+			this.__event_map[eventType] = { };
+	    }
+	    
+		this.__event_map[eventType][id] = handler;
+	},
+	
+	/**
+	 *	Register birt event handler with global birt event dispatcher to
+	 *	handle birt events (Not native events).
+	 *
+	 *	@eventType, pre-defined birt event type
+	 *	@id, ui object id
+	 *	@handler, birt event handler
+	 *	@return, void
+	 */
+	unregisterEventHandler : function( eventType, id )
+	{	
+		if( this.__event_map[eventType] && this.__event_map[eventType][id] )
+		{   
+			delete this.__event_map[eventType][id]; //deletes 'id' property
+		}
+	},
+	
+	/**
+	Unregisters all handlers associated with a particular id
+	@param id ui object id
+	*/
+	unregisterEventHandlerById : function( id )
+	{	
+		debug(birtEventDispatcher.toString());
+		for( var eventType in this.__event_map)
+		{
+			if( this.__event_map[eventType][id])
+			{
+				delete this.__event_map[eventType][id]; //deletes 'id' property
+			}
+		}
+		debug(birtEventDispatcher.toString());
+	},
+	
+	/**
+	 *	Register birt event handler with global birt event dispatcher to
+	 *	handle birt events (Not native events).
+	 *	If the event has already been registered under another handler,
+	 *  replace that handler with new handler.
+	 *
+	 *	@eventType, pre-defined birt event type
+	 *	@id, ui object id
+	 *	@handler, birt event handler
+	 *	@return, void
+	 */
+	replaceEventHandler : function( eventType, id, handler )
+	{
+	    if ( !this.__event_map[eventType] )
+	    {
+			this.__event_map[eventType] = { };
+	    }
+	    else
+	    {
+			for( var eventId in this.__event_map[eventType] )
+			{
+				delete this.__event_map[eventType][eventId]; //unregister previous event handler
+			}
+	    }
+	    
+		this.__event_map[eventType][id] = handler;
+	},
+	
+	/**
+	 *	Fire birt event. Objects that is or is the child of current focused object are waken.
+	 *	Their registered event handlers are triggered.
+	 *
+	 *	@eventType, pr-defined birt events.
+	 *	@object, event parameters.
+	 *	@return, void
+	 */
+	fireEvent : function( eventType, object )
+	{
+		var handled = this.sendEvent( eventType, object, false );
+		if ( !handled )
+		{
+			this.broadcastEvent( birtEvent.__E_WARN );
+		}
+	},
+	
+	/**
+	 *	Fire birt event. Objects that is or is the child of current focused object are waken.
+	 *	Their registered event handlers are triggered.
+	 *
+	 *	@eventType, pr-defined birt events.
+	 *	@object, event parameters.
+	 *	@return, void
+	 */
+	broadcastEvent : function( eventType, object )
+	{
+		this.sendEvent( eventType, object, true );
+	},
+
+	/**
+	 *	Fire birt event. Objects that is or is the child of current focused object are waken.
+	 *	Their registered event handlers are triggered.
+	 *
+	 *	@eventType, pr-defined birt events.
+	 *	@object, event parameters.
+	 *	@return, void
+	 */
+	sendEvent : function( eventType, object, isBroadcast )
+	{
+		var processed = false;
+		var serverCall = false;
+		var focus = this.__focusId ? this.__focusId : birtReportDocument.__instance.id;
+		
+		for ( var id in this.__event_map[ eventType ] )
+		{
+			if ( !isBroadcast && focus && focus != id )
+			{
+				// TODO: need more complex scheme.
+				continue;
+			}
+			
+			var handler = this.__event_map[ eventType ][ id ];
+			if ( handler )
+			{
+				processed = true;
+			}
+			if ( handler( id, object ) )
+			{
+				serverCall = true;
+			}
+		}
+		
+		if( serverCall )
+		{
+			birtCommunicationManager.connect( );
+		}
+		
+		return processed;
+	},
+
+	/**
+	 *	@param id id of current DOM element in focus.
+	 */
+	setFocusId : function( id )
+	{
+		this.__focusId = id;
+	},
+	
+	/**
+	 *	@return id id of current DOM element in focus.
+	 */
+	getFocusId : function( )
+	{
+		return this.__focusId;
+	},
+	
+	/**
+	 *	Convenience method.
+	 *
+	 *	@param element current DOM element in focus, must have id
+	 */
+	setFocusElement : function( element )
+	{
+		this.__focusId = element.id || null;
+	},
+	
+	/**
+	 *	Convenience method.
+	 *
+	 *	@return element current DOM element in focus
+	 */
+	getFocusElement : function( )
+	{
+		return $( this.__focusId );
+	},
+	
+	
+	toString: function( )
+	{
+		var str = "";
+		str += "----start-------BirtEventDispatcher.toString------------";
+		str += "\n";
+		str += ("    focusId = " + this.__focusId);		
+		for(var i in this.__event_map)
+		{
+			str += "\n";
+			str += ("    eventType = " + i);
+			for(var k in this.__event_map[i])
+			{
+				str += "\n";
+				str += ("        id = " + k);
+			}
+		}
+		str += "\n";
+		str += "------end-------BirtEventDispatcher.toString------------";
+		return str;
+	}
+}
+
+var birtEventDispatcher = new BirtEventDispatcher( );
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtEventDispatcher.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js (added)
+++ ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js Wed Mar 19 19:16:28 2014
@@ -0,0 +1,356 @@
+/******************************************************************************
+ *	Copyright (c) 2004 Actuate Corporation and others.
+ *	All rights reserved. This program and the accompanying materials 
+ *	are made available under the terms of the Eclipse Public License v1.0
+ *	which accompanies this distribution, and is available at
+ *		http://www.eclipse.org/legal/epl-v10.html
+ *	
+ *	Contributors:
+ *		Actuate Corporation - Initial implementation.
+ *****************************************************************************/
+
+/**
+ *	BirtSoapRequest
+ *	...
+ */
+BirtSoapRequest = Class.create( );
+
+BirtSoapRequest.prototype =
+{
+	SOAP_NAMESPACE_URI : "http://schemas.xmlsoap.org/soap/envelope/",
+	BIRT_NAMESPACE_URI : "http://schemas.eclipse.org/birt",
+
+	__url : null,
+	__message : null,
+	__xml_document : null,
+	__operation_content : null,
+
+	/**
+	 *	Initialization routine required by "ProtoType" lib.
+	 *
+	 *	@return, void
+	 */
+	initialize : function( )
+	{
+		/* 
+		   XML namespaces are supported by the following browsers :
+		   - Firefox 2 and 3
+		   - Safari 3
+		   - Mozilla 1.7.13
+		   Unsupported by:
+		   - IE6 nor IE7
+		*/ 
+		this.hasXmlNamespaceSupport = ( typeof( document.createElementNS ) != "undefined" );
+		
+		this.reset();
+	},
+	
+	/**
+	 *	Init the request message. There's only one request message DOM instance at any time,
+	 *	when client running.
+	 *
+	 *	@message, request message DOM
+	 *	@return, void
+	 */
+	setMessage : function( message )
+	{
+		// TODO: need to use dom contrcture the request.
+		this.__xml_document = message;
+	},
+
+	/**
+	 *	Retrieve the request message.
+	 *
+	 *	@return, request message in DOM
+	 */
+	getMessage : function( message )
+	{
+		return this.__message;
+	},
+
+	/**
+	 *	Retrieve the request message.
+	 *
+	 *	@return, request message in DOM
+	 */
+	setURL : function( url )
+	{
+		this.__url = url;
+	},
+	
+	/**
+	 *	Retrieve the request message.
+	 *
+	 *	@return, request message in DOM
+	 */
+	getURL : function( )
+	{
+		return this.__url;
+	},
+
+	/**
+	 * Clears the message body
+	 */
+	reset : function( )
+	{
+		// Soap envelope
+		this.__xml_document = this.createXMLDom( this.SOAP_NAMESPACE_URI, "soap:Envelope" );
+		
+ 		var soapEnv = this.__xml_document.documentElement;
+
+		// Soap body
+		var soapBody;
+		
+		if ( this.hasXmlNamespaceSupport )
+		{
+		 	soapBody = this.__xml_document.createElementNS( this.SOAP_NAMESPACE_URI, "Body" );
+		}
+		else
+		{
+		 	soapBody = this.__xml_document.createElement( "soap:Body" );
+		}
+		 	
+  		soapEnv.appendChild( soapBody );
+  		
+		// Get updated objects method
+		var getUpdatedObjects = this.createBirtElement( "GetUpdatedObjects" );
+		if ( !this.hasXmlNamespaceSupport )
+		{
+			// only the first element needs the xmlns attribute
+			getUpdatedObjects.setAttribute( "xmlns", this.BIRT_NAMESPACE_URI );
+		}
+		
+  		soapBody.appendChild( getUpdatedObjects );
+		
+		this.__operation_content = getUpdatedObjects;
+		
+		var str = this.prettyPrintXML( this.__xml_document.documentElement, false );
+		debug( "RESET XML : new message body is\n" + str );
+	},
+
+	/**
+	 * Utility method to create an XML element in the birt namespace.
+	 *
+	 * @param qualifiedName qualified name
+	 */
+	createBirtElement : function( qualifiedName )
+	{
+		if ( this.hasXmlNamespaceSupport )
+		{
+			return this.__xml_document.createElementNS( this.BIRT_NAMESPACE_URI, qualifiedName );
+		}
+		else
+		{
+			return this.__xml_document.createElement( qualifiedName );
+		}			
+	},
+
+	/**
+	 * Utility method creates an XML document.
+	 *
+	 * @param rootName the name of documentElement
+	 * @return xmlDocument a new XML document
+	 */
+	createXMLDom : function( namespaceUri, qualifiedName )
+	{
+		if ( document.implementation && document.implementation.createDocument )
+		{
+			// DOM Level 2 Browsers
+			var dom = document.implementation.createDocument( namespaceUri, qualifiedName, null );
+			if ( !dom.documentElement )
+			{
+				dom.appendChild( dom.createElement( qualifiedName ) );
+			}
+			
+			return dom;
+		}
+		else if ( window.ActiveXObject )
+		{
+			// Internet Explorer
+			var createdDocument = new ActiveXObject( "Microsoft.XMLDOM" );
+			var documentElement = createdDocument.createElement( qualifiedName );
+			createdDocument.appendChild( documentElement );
+
+			// check for a namespace prefix
+			var namespacePrefix = null;
+			var nameParts = qualifiedName.split(":");
+			if ( nameParts.length > 0 )
+			{
+				namespacePrefix = nameParts[0];
+				qualifiedName = nameParts[1];
+			}
+			
+			var nsAttribute = "xmlns";			
+			if ( namespacePrefix )
+			{
+				nsAttribute += ":" + namespacePrefix;
+			}
+			
+			documentElement.setAttribute( nsAttribute, namespaceUri );
+			return createdDocument;
+		}
+		else
+		{
+			throw "Unable to create new Document.";
+		}
+	},
+	
+	/**
+	 * Adds Operation type to message.
+	 *
+	 * @param id id of UIComponent
+	 * @param operator name of desired operation (from Constants.js)
+	 * @param data xmlElement type 'Data' or null if not applicable
+	 * @param (optional) argument[1] - argument[n] object  {name: "paramName1", value: "paramValue1"}
+	 */
+	addOperation : function( id, type, operator, data )
+	{
+		var optionalArgs = 4; //number of params
+	 	var operation = this.createBirtElement( "Operation" );
+	 	
+  		// Target
+  		var target = this.createBirtElement( "Target" );
+  		operation.appendChild( target );
+  		
+  		// Target id
+  		var reportId = this.createBirtElement( "Id" );
+		target.appendChild( reportId );
+  		var reportIdText = this.__xml_document.createTextNode( id || "Error-id" );
+		reportId.appendChild( reportIdText );
+		
+  		// Target type
+  		var reportType = this.createBirtElement( "Type" );
+		target.appendChild( reportType );
+  		var reportTypeText = this.__xml_document.createTextNode( type || "Error-id" );
+		reportType.appendChild( reportTypeText );
+		
+		// Operator
+		var operatorEl = this.createBirtElement( "Operator" );
+		var targetText = this.__xml_document.createTextNode( operator || "Error-operator" );
+		operatorEl.appendChild( targetText );
+		operation.appendChild( operatorEl );
+		
+		// Oprands
+		if( arguments.length > optionalArgs ) //there are optional parameters
+		{	
+	  		var operand, name, value;
+	  		for( var i = optionalArgs; i < arguments.length; i++ )
+	  		{
+				if( arguments[i].length && arguments[i].length > 0 )
+				{
+					for( var j = 0; j < arguments[i].length; j++ )
+					{
+						if ( !arguments[i][j].name )
+						{
+							continue;
+						}
+						
+						operand = this.createBirtElement( "Oprand" );
+						name = this.createBirtElement( "Name" );
+						nameText = this.__xml_document.createTextNode( arguments[i][j].name );
+						name.appendChild( nameText );
+						operand.appendChild( name );
+						value = this.createBirtElement( "Value" );
+						valueText = this.__xml_document.createTextNode( arguments[i][j].value );
+						value.appendChild( valueText );
+						operand.appendChild( value );
+						operation.appendChild( operand );
+					}
+				}
+				else
+				{
+					if ( arguments[i].name )
+					{
+						operand = this.createBirtElement( "Oprand" );
+						name = this.createBirtElement( "Name" );
+						nameText = this.__xml_document.createTextNode( arguments[i].name );
+						name.appendChild( nameText );
+						operand.appendChild( name );
+						value = this.createBirtElement( "Value" );
+						valueText = this.__xml_document.createTextNode( arguments[i].value );
+						value.appendChild( valueText );
+						operand.appendChild( value );
+						operation.appendChild( operand );
+					}
+				}
+			}
+	  	}
+	  	
+	  	// Data
+	  	if( data )
+	  	{
+	  		operation.appendChild( data.documentElement );
+	  	}
+	  	
+  		this.__operation_content.appendChild( operation );
+  		
+		var str = this.prettyPrintXML( this.__xml_document.documentElement, false );
+		debug( "ADDED OPERATION : new message body is\n" + str );
+	},
+		
+	/**
+	 * Creates string of xml, optionally prints to debug window.
+	 *
+	 * @param xmlRoot documentElement of xml Element
+	 * @param str leave empty -- used in recursive call
+	 * @param offset leave empty -- used in recursive call
+	 * @return String with indented tree of elements and text contents
+	 */
+	prettyPrintXML : function( xmlRoot, isDebug, str, offset )
+	{	
+		if( !str )
+		{
+			str = "";
+		}
+		
+		var myIndent = 6;
+		if( offset == null )
+		{
+			myIndent = 2;
+		}
+		else
+		{
+			myIndent += offset;
+		} 
+		var spacer = "";
+		for( var i = 0; i < myIndent;i++ )
+		{
+			spacer += " ";
+		}		
+		var topLevel = xmlRoot.childNodes;
+		var size = topLevel.length;
+		var temp;
+		for( var i = 0; i < size; i++ )
+		{	
+			var curNode = topLevel[i];
+			
+			//either node or a leaf
+			if( curNode.nodeType == "1" )
+			{	
+				str += 	spacer + "&lt" + curNode.nodeName + "&gt\n";			
+				if( isDebug )
+				{
+					debug( spacer + "&lt" + curNode.nodeName + "&gt" );
+				}
+				str = this.prettyPrintXML( curNode, isDebug, str, myIndent );
+				str += spacer + "&lt/" + curNode.nodeName + "&gt\n";
+				if( isDebug )
+				{
+					debug( spacer + "&lt/" + curNode.nodeName + "&gt" );
+				}
+			}
+			else
+			{
+				str += spacer + curNode.data + "\n";
+				if( isDebug )
+				{
+					debug( spacer + curNode.data );
+				}
+			}
+		}
+		
+		return str;
+	}
+}
+
+var birtSoapRequest = new BirtSoapRequest( );
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapRequest.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js (added)
+++ ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js Wed Mar 19 19:16:28 2014
@@ -0,0 +1,82 @@
+/******************************************************************************
+ *	Copyright (c) 2004 Actuate Corporation and others.
+ *	All rights reserved. This program and the accompanying materials 
+ *	are made available under the terms of the Eclipse Public License v1.0
+ *	which accompanies this distribution, and is available at
+ *		http://www.eclipse.org/legal/epl-v10.html
+ *	
+ *	Contributors:
+ *		Actuate Corporation - Initial implementation.
+ *****************************************************************************/
+
+/**
+ *	BirtSoapResponse
+ *	...
+ */
+BirtSoapResponse = Class.create( );
+
+BirtSoapResponse.prototype =
+{
+	/**
+	 *	Initialization routine required by "ProtoType" lib.
+	 *
+	 *	@return, void
+	 */
+	initialize: function( )
+	{
+	},
+	
+	/**
+	 *	Process the soap response, dispatcher message content to designated
+	 *	message handlers.
+	 *
+	 *	@message, incoming soap message DOM
+	 *	@return, void
+	 */
+	process: function( message )
+	{
+		// TODO: will gradually remove it since not all response are in soap now.
+		var soapBody = message.getElementsByTagName( 'soapenv:Body' )[ 0 ];
+		if ( !soapBody )
+		{
+			soapBody = message.getElementsByTagName( 'Body' )[ 0 ];
+		}
+		
+		if ( soapBody )
+		{
+			for ( var i = 0; i < soapBody.childNodes.length; i++ )
+			{
+				if ( soapBody.childNodes[i].nodeType == 1 ) // Need to use NodeType definition.
+				{
+					if ( soapBody.childNodes[i].tagName == 'soapenv:Fault' )
+					{
+						birtExceptionDialog.__cb_bind( soapBody.childNodes[i] );
+					}
+					else
+					{
+						var handler = eval( 'birt' + soapBody.childNodes[i].tagName + 'Handler' );
+						if ( handler )
+						{
+							handler.__process( soapBody.childNodes[i] );
+						}
+					}
+					
+					break;
+				}
+			}
+			
+			return;
+		}
+		
+		if ( message )
+		{
+			var handler = eval( 'birt' + message.tagName + 'ResponseHandler' );
+			if ( handler )
+			{
+				handler.__process( message );
+			}
+		}
+	}
+}
+
+var birtSoapResponse = new BirtSoapResponse( );
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/BirtSoapResponse.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js?rev=1579359&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js (added)
+++ ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js Wed Mar 19 19:16:28 2014
@@ -0,0 +1,195 @@
+// Copyright 1994-2006, Actuate Software Corp., All rights reserved.
+
+Mask = Class.create();
+
+Mask.prototype = {
+
+	zIndexStack: [],
+	zIndexBase: 200, //Lowest zIndex for mask
+	zIndexCurrent: null,
+	opacity: 0, //Default opacity is zero
+	_baseElements : null,
+
+	initialize: function(useIframe, opacity)
+	{
+		this.zIndexCurrent = this.zIndexBase;
+		
+		if(useIframe)
+		{
+			this.__useIFrame = true;
+			this.__mask = document.createElement( 'iframe' );
+			// Workaround for IE https secure warning
+			this.__mask.src = "birt/pages/common/blank.html";
+		}
+		else
+		{
+			this.__useIFrame = false;
+			this.__mask = document.createElement( 'div' );
+		}
+
+		this.__mask.id = "Mask";
+		//default opacity to zero
+		if(opacity)
+		{
+			debug("setting opacity to : " + opacity);
+			this.opacity = opacity;
+		}
+		document.body.appendChild( this.__mask );
+		this.__mask.style.position = 'absolute';
+		this.__mask.style.top = '0px';
+		this.__mask.style.left = '0px';
+		var width = BirtPosition.viewportWidth();
+		this.__mask.style.width = width + 'px';
+		var height = BirtPosition.viewportHeight();
+		this.__mask.style.height = height + 'px';
+		this.__mask.style.zIndex = '200';
+		this.__mask.style.backgroundColor = '#0044ff';
+		this.__mask.style.filter = 'alpha( opacity=' + ( this.opacity * 100 ) + ')';
+		this.__mask.style.opacity = this.opacity;
+		this.__mask.scrolling = 'no';
+		this.__mask.marginHeight = '0px';
+		this.__mask.marginWidth = '0px';
+		this.__mask.style.display = 'none';
+		// Support low version Mozilla/NS
+		this.__mask.style.MozOpacity = 0;
+		
+		if(useIframe)
+		{
+			this.__useIFrame = true;
+			this.__progressBarMask = document.createElement( 'iframe' );
+			// Workaround for IE https secure warning
+			this.__progressBarMask.src = "birt/pages/common/blank.html";
+		}
+		else
+		{
+			this.__useIFrame = false;
+			this.__progressBarMask = document.createElement( 'div' );
+		}
+	
+		document.body.appendChild( this.__progressBarMask );
+		this.__progressBarMask.style.position = 'absolute';
+		this.__progressBarMask.style.top = '0px';
+		this.__progressBarMask.style.left = '0px';
+		var width = BirtPosition.viewportWidth();
+		this.__progressBarMask.style.width = width + 'px';
+		var height = BirtPosition.viewportHeight();
+		this.__progressBarMask.style.height = height + 'px';
+		this.__progressBarMask.style.zIndex = '200';
+		this.__progressBarMask.style.backgroundColor = '#ff0000';
+		this.__progressBarMask.style.filter = 'alpha( opacity=' + ( this.opacity * 100 ) + ')';
+		this.__progressBarMask.style.opacity = this.opacity;
+		this.__progressBarMask.scrolling = 'no';
+		this.__progressBarMask.marginHeight = '0px';
+		this.__progressBarMask.marginWidth = '0px';
+		this.__progressBarMask.style.display = 'none';
+		this.__progressBarMask.style.cursor = "move"; //cursor is set to a different value than desired so that change is trigged in IE
+		
+		this.__eh_resize_closure = this.__eh_resize.bindAsEventListener( this );
+		Event.observe( window, 'resize', this.__eh_resize_closure, false );
+	},
+	
+	/**
+	 * Sets the element DOM objects present on the main window.
+	 * They will be disabled when the mask is floating on the top
+	 * of them.
+	 * @param baseElements array of base elements
+	 */
+	setBaseElements : function( baseElements )
+	{
+		this._baseElements = baseElements;
+	},
+	
+	/*
+	If mask is not shown, shows mask, otherwise, moves mask zIndex above last returned zIndex.
+	@returns zIndex for element to place directly above mask
+	*/
+	show: function()
+	{
+		if(this.zIndexStack.length == 0)
+		{
+			this._updateElements(this._baseElements, false);
+			
+			Element.show( this.__mask );
+		}
+		this.__mask.style.zIndex = this.zIndexCurrent;
+		this.zIndexStack.push(this.zIndexCurrent);
+		this.zIndexCurrent++;
+		var dialogZIndex = this.zIndexCurrent;
+		this.zIndexCurrent++;
+		
+		return dialogZIndex;
+	},
+	
+	/*
+	Resizes masks to current screen width (not including scrollbars)
+	*/
+	__eh_resize: function()
+	{
+		var width = BirtPosition.viewportWidth();
+		var height = BirtPosition.viewportHeight();
+		
+		this.__mask.style.width = width + 'px';
+		this.__mask.style.height = height + 'px';
+		this.__progressBarMask.style.width = width + 'px';
+		this.__progressBarMask.style.height = height + 'px';
+	},
+	
+	/*
+	Shows progress bar mask above the highest regular item zIndex.
+	*/
+	showProgressBarMask: function()
+	{		
+		this.__progressBarMask.style.cursor = "wait";
+		
+		Element.show( this.__progressBarMask );
+
+		this.__progressBarMask.style.zIndex = this.zIndexCurrent;
+		
+		return (this.zIndexCurrent + 1);
+		
+	},
+	
+	hide: function()
+	{
+		if(this.zIndexStack.length == 1)
+		{
+			this._updateElements(this._baseElements, true);
+			
+			Element.hide( this.__mask );
+			this.zIndexStack.pop();
+			this.zIndexCurrent = this.zIndexBase;
+		}
+		else
+		{
+			this.zIndexCurrent = this.zIndexStack.pop();
+			this.__mask.style.zIndex = this.zIndexStack[this.zIndexStack.length -1];
+		}
+	},
+	
+	hideProgressBarMask: function()
+	{	
+		this.__progressBarMask.style.cursor = "move";
+			
+		Element.hide( this.__progressBarMask );
+	},
+	
+	isIFrame: function()
+	{
+		return this.__useIFrame;
+	},
+	
+	_updateElements : function(elements, enable)
+	{
+		if ( !elements )
+		{
+			return;
+		}
+		
+		var func = enable?birtUtility.restoreTabIndexes:birtUtility.disableTabIndexes;
+		for ( var i = 0; i < elements.length; i++ )
+		{
+			func.call(birtUtility, $(elements[i]));
+		}
+	}
+
+}

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/birt/webapp/birt/webcontent/birt/ajax/core/Mask.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain