Initial OpenECOMP policy/engine commit
[policy/engine.git] / ecomp-sdk-app / src / main / webapp / WEB-INF / fusion / raptor / wizard_chart.jsp
1 <%--
2   ================================================================================
3   eCOMP Portal SDK
4   ================================================================================
5   Copyright (C) 2017 AT&T Intellectual Property
6   ================================================================================
7   Licensed under the Apache License, Version 2.0 (the "License");
8   you may not use this file except in compliance with the License.
9   You may obtain a copy of the License at
10   
11        http://www.apache.org/licenses/LICENSE-2.0
12   
13   Unless required by applicable law or agreed to in writing, software
14   distributed under the License is distributed on an "AS IS" BASIS,
15   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   See the License for the specific language governing permissions and
17   limitations under the License.
18   ================================================================================
19   --%>
20 <%--
21  Name: wizard_chart.jsp
22  Use : This JSP is invoked when chart tab is selected. This is used for creating chart configuration for the report. 
23  
24  Change Log
25  ==========
26  
27  12-Aug-2009 : Version 8.5 (Sundar);
28                                 <UL> 
29                                 <LI> For Line Chart Category can be configured. For this UI is added.</LI>
30                                 <LI> Line Chart can be displayed as 3D or 2D.</LI>
31                                 </UL>
32  29-Jun-2009 : Version 8.4 (Sundar);
33                                 <UL> 
34                                 <LI> For Bar Chart Last Series/Category can be configured as Line Chart or Bar Chart. For this UI is added.</LI>
35                                 <LI> UI options for compare to prev year chart has been added. </LI>
36                                 </UL>
37
38  23-Jun-2009 : Version 8.4 (Sundar);
39                                 <UL> 
40                                 <LI> Hiding/ Unhiding parameters based on chart type is checked throughly and missing elements were added.</LI>
41                                 <LI> Table width is made 100% for special input parameters </LI>
42                                 </UL>
43  
44  22-Jun-2009 : Version 8.4 (Sundar); 
45                                 
46                                 <UL> 
47                                 <LI> Calendar JS and CSS were added to this page as it is used in customizable input parameters for Time Difference Chart. </LI>
48                                 <LI> JS method and configurable input parameters were added for Multiple Pie Chart, Bar Chart 3D, Pareto, Time Difference Chart and Multiple
49                                      Time Series Chart. </LI>
50                                 </UL>
51 --%>
52 <%@page import="org.openecomp.portalsdk.analytics.model.runtime.FormField"%>
53 <%@page import="org.openecomp.portalsdk.analytics.model.runtime.ReportFormFields"%>
54 <%@page import="org.openecomp.portalsdk.analytics.model.runtime.ReportRuntime"%>
55 <%@page import="org.openecomp.portalsdk.analytics.model.base.IdNameValue"%>
56 <%@page import="org.openecomp.portalsdk.analytics.model.DataCache"%>
57 <%@page import="org.openecomp.portalsdk.analytics.model.ReportHandler"%>
58 <%@page import="java.util.Vector"%>
59 <%@ page import="java.util.List" %>
60 <%@ page import="java.util.ArrayList" %>
61 <%@ page import="java.util.Iterator" %>
62 <%@ page import="org.openecomp.portalsdk.analytics.xmlobj.DataColumnType" %>
63 <%@ page import="org.openecomp.portalsdk.analytics.model.definition.ReportDefinition" %>
64 <%@ page import="org.openecomp.portalsdk.analytics.controller.WizardSequence" %>
65 <%@ page import="org.openecomp.portalsdk.analytics.util.AppConstants" %>
66 <%@ page import="org.openecomp.portalsdk.analytics.system.Globals" %>
67 <%@ page import="org.openecomp.portalsdk.analytics.system.AppUtils" %>
68 <%@ page import="org.openecomp.portalsdk.analytics.xmlobj.Reports"%>
69
70 <%      
71     ReportDefinition rdef = (ReportDefinition) request.getAttribute(AppConstants.SI_REPORT_DEFINITION);
72     WizardSequence ws = rdef.getWizardSequence();    
73         boolean isCrossTab = rdef.getReportType().equals(AppConstants.RT_CROSSTAB);
74         boolean isSQLBased = rdef.getReportDefType().equals(AppConstants.RD_SQL_BASED) || rdef.getReportDefType().equals(AppConstants.RD_SQL_BASED_DATAMIN);
75
76         String legendColId = null;
77         String valueColId = null;
78         
79         //String firstColId = null;
80         //String firstNumColId = null;
81         
82         List reportCols     = rdef.getAllColumns();
83         List chartValueCols = rdef.getChartValueColumnsList(AppConstants.CHART_ALL_COLUMNS, null);
84         
85         ArrayList unusedNumCols = new ArrayList(reportCols.size());
86         int  numColsCount = 0;
87         for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { 
88                 DataColumnType dct = (DataColumnType) iter.next();
89                 
90                 if(nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))
91                         legendColId = dct.getColId();
92                 
93                 if(isSQLBased||nvl(dct.getColType()).equals(AppConstants.CT_NUMBER)) {
94                         numColsCount++;
95                         if(nvl(dct.getColOnChart()).length()==0)        //dct.getChartSeq()<0)
96                                 unusedNumCols.add(dct);
97                 }       // if
98                 
99 /*              if(dct.getChartSeq()>0)
100                         valueColId = dct.getColId();
101                 
102                 if(firstColId==null)
103                         firstColId = dct.getColId();
104                 if(firstNumColId==null)
105                         if(isSQLBased)
106                                 firstNumColId = dct.getColId();
107                         else
108                                 if(nvl(dct.getColType()).equals(AppConstants.CT_NUMBER))
109                                         firstNumColId = dct.getColId();*/
110         }   // for
111         
112         String chartType = nvl(rdef.getChartType()); %>
113
114 <script type="text/javascript" src="<%= AppUtils.getBaseFolderURL() %>js/CalendarPopup.js"></script> 
115 <link rel="stylesheet" type="text/css" href="<%= AppUtils.getBaseFolderURL() %>css/calendar.css">
116
117 <script language="javascript">
118
119
120
121 function refreshWizard() {
122    var selectBox = document.forma.chartType;
123    var selectedString = selectBox.options[selectBox.selectedIndex].value;
124    
125    if(selectedString == '<%=AppConstants.GT_TIME_SERIES%>'){
126         document.getElementById("seriesDiv").style.display='block';
127         var selObj = document.getElementById('chartSeries');
128         if(selObj) {
129                 var selIndex = selObj.selectedIndex;
130                 var value = selObj.options[selIndex].value;
131                 var value = <%=chartValueCols.size()%>;
132                 if(value > 1) {
133                 document.getElementById("multiseriesDiv").style.display='block';
134                 
135             } else {
136                         document.getElementById("multiseriesDiv").style.display='none';    
137                         document.getElementById("multiSeries").value='N';    
138                 }       
139         }
140     <%  int col1Idx = 1; %>
141            //var contentIframe = window.parent.document.getElementById("content_Iframe");
142            //contentIframe.style.height = contentIframe.clientHeight + 120; 
143         if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="block";
144         if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
145         if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="block";
146         if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display="block";
147         if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
148         if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
149         if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
150         if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
151         if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
152         if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
153         if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
154         if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
155         if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
156         if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='block';      
157         if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='none';
158         if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='block';
159         if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='none';
160         if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
161             
162                 
163
164    } else {
165    <%
166         col1Idx = 1;
167     for(int i=1; i<chartValueCols.size(); i++) {
168                 col1Idx++;
169         %>
170      document.getElementById("newChartDiv<%=col1Idx%>").style.visibility='hidden';
171      //document.getElementById("chartGroupDiv<%=col1Idx%>").style.visibility='hidden';
172      document.getElementById("seriesDiv").style.display='none';
173      document.getElementById("multiseriesDiv").style.display='none';   
174          if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
175          if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
176         if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
177         if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='none';
178          
179          
180      <%
181      }
182     %>
183  
184    if(selectedString == "<%=AppConstants.GT_PIE_MULTIPLE%>") {
185    //var contentIframe = window.parent.document.getElementById("content_Iframe");
186    //contentIframe.style.height = contentIframe.clientHeight + 120; 
187                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="block";
188                 if (document.getElementById("multiplePieChartOptions"))  document.getElementById("multiplePieChartOptions").style.display="block";
189                 if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
190                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
191                 if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
192                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='none';
193                 if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
194                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
195                 if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
196                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
197                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
198                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
199                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
200                 if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
201                 if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
202                 if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='block';
203                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='none';
204                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
205
206    }  else if(selectedString == "<%=AppConstants.GT_SCATTER%>") {
207            //var contentIframe = window.parent.document.getElementById("content_Iframe");
208            //contentIframe.style.height = contentIframe.clientHeight + 120; 
209                         if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
210                         if (document.getElementById("multiplePieChartOptions"))  document.getElementById("multiplePieChartOptions").style.display="none";
211                         if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
212                         if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
213                         if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='block';
214                         if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
215                         if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
216                         if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
217                         if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
218                         if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
219                         if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
220                         if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
221                         if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
222                         if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
223                         if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
224                         if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='block';
225                         if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='none';
226                         if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
227
228
229    }  else if(selectedString == "<%=AppConstants.GT_REGRESSION%>") {
230            //var contentIframe = window.parent.document.getElementById("content_Iframe");
231            //contentIframe.style.height = contentIframe.clientHeight + 120; 
232                         if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
233                         if (document.getElementById("multiplePieChartOptions"))  document.getElementById("multiplePieChartOptions").style.display="none";
234                         if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
235                         if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
236                         if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='block';
237                         if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
238                         if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='block';
239                         if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='block';
240                         if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
241                         if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
242                         if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
243                         if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
244                         if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="none";
245                         if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
246                         if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
247                         if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
248                         if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
249                         if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='block';
250                         if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
251
252                         
253    }  else if(selectedString == "<%=AppConstants.GT_STACKED_VERT_BAR%>" || selectedString == "<%=AppConstants.GT_STACKED_HORIZ_BAR%>" || selectedString == "<%=AppConstants.GT_STACKED_VERT_BAR_LINES%>"
254             || selectedString == "<%=AppConstants.GT_STACKED_HORIZ_BAR_LINES%>") {
255            //var contentIframe = window.parent.document.getElementById("content_Iframe");
256            //contentIframe.style.height = contentIframe.clientHeight + 120; 
257                         if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
258                         if (document.getElementById("multiplePieChartOptions"))  document.getElementById("multiplePieChartOptions").style.display="none";
259                         if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
260                         if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
261                         if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='block';
262                         if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
263                         if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
264                         if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='block';
265                         if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="block";
266                         if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
267                         if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
268                         if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
269                         if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
270                         if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
271                         if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
272                         if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
273                         if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
274                         if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='block';
275                         if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='block';
276                         if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
277
278     }  else if(selectedString == "<%=AppConstants.GT_BAR_3D%>") { 
279                 //var contentIframe = window.parent.document.getElementById("content_Iframe");
280                 //contentIframe.style.height = contentIframe.clientHeight + 120; 
281                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="block";
282                 if (document.getElementById("BarChartOptions"))  document.getElementById("BarChartOptions").style.display='block';
283                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display='block';
284                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='block';
285                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
286                 if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
287                 if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
288                 if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='block';
289                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
290                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='block';
291                 if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
292                 if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
293                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
294                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
295                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='block';
296                 if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
297                 if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
298                 if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='block';
299                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
300
301     }  else if(selectedString == "<%=AppConstants.GT_LINE%>") { 
302                 //var contentIframe = window.parent.document.getElementById("content_Iframe");
303                 //contentIframe.style.height = contentIframe.clientHeight + 120; 
304                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
305                 if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
306                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
307                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='block';
308                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
309                 if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
310                 if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
311                 if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
312                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='block';
313                 if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
314                 if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
315                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
316                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
317                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='block';
318                 if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
319                 if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
320                 if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='block';
321                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='block';
322                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='block';
323
324     } else if (selectedString == "<%=AppConstants.GT_PARETO_CHART%>") {
325            //var contentIframe = window.parent.document.getElementById("content_Iframe");
326            //contentIframe.style.height = contentIframe.clientHeight + 120; 
327                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
328                 if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
329                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
330                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='none';
331                 if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
332                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
333                 if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
334                 if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
335                 if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
336                 if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
337                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
338                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="none";
339                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
340                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
341                 if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
342                 if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
343                 if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='block';
344                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='none';
345                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
346
347     } else if (selectedString == "<%=AppConstants.GT_TIME_DIFFERENCE_CHART%>") {
348            //var contentIframe = window.parent.document.getElementById("content_Iframe");
349            //contentIframe.style.height = contentIframe.clientHeight + 120; 
350                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
351                 if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
352                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
353                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='block';
354                 if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
355                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
356                 if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
357                 if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
358                 if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
359                 if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
360                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
361                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="none";
362                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='block';
363                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
364                 if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='block';
365                 if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='none';
366                 if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='none';
367                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='none';
368                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
369
370     } else if (selectedString == "<%=AppConstants.GT_COMPARE_PREVYEAR_CHART%>") {
371            //var contentIframe = window.parent.document.getElementById("content_Iframe");
372            //contentIframe.style.height = contentIframe.clientHeight + 120; 
373                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
374                 if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
375                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
376                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='block';
377                 if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
378                 if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
379                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
380                 if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
381                 if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
382                 if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
383                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
384                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="none";
385                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
386                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
387                 if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='block';
388                 if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='none';
389         if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='none';
390                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='none';
391                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
392
393     }else if (selectedString != "<%=AppConstants.GT_TIME_SERIES%>") { 
394            //var contentIframe = window.parent.document.getElementById("content_Iframe");
395            //contentIframe.style.height = contentIframe.clientHeight + 120; 
396                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="block";
397                 if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
398                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="block";
399                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='none';
400                 if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
401                 if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
402                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
403                 //if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
404                 if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
405                 if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
406                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
407                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
408                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
409                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
410                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='block';
411                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
412
413     } else      if (selectedString == "<%=AppConstants.GT_MULTIPLE_TIMESERIES_CHART%>") {
414            //var contentIframe = window.parent.document.getElementById("content_Iframe");
415            //contentIframe.style.height = contentIframe.clientHeight + 120; 
416                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
417                         if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='none';
418                         if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
419                         if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
420                         if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='block';
421                         if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
422                         if (document.getElementById("chartOptions"))  document.getElementById("chartOptions").style.display="block";
423                         if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='none';
424                         if (document.getElementById("lastSeriesAsLineChartDiv"))  document.getElementById("lastSeriesAsLineChartDiv").style.display='none';
425                         if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
426                         if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
427                         if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
428                         if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
429                         if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
430                         if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="block";
431                         if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
432                         if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
433                         if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
434
435          } else {
436                    //var contentIframe = window.parent.document.getElementById("content_Iframe");
437                    //contentIframe.style.height = contentIframe.clientHeight + 120; 
438                 if (document.getElementById("animatedDiv"))  document.getElementById("animatedDiv").style.display="none";
439                         if (document.getElementById("regressionChartDiv"))  document.getElementById("regressionChartDiv").style.display='none';
440                 if (document.getElementById("LabelAngleForOtherCharts")) document.getElementById("LabelAngleForOtherCharts").style.display='block';
441                 if (document.getElementById("LabelAngleForTimeSeriesCharts")) document.getElementById("LabelAngleForTimeSeriesCharts").style.display='none';
442                 if (document.getElementById("maxLabelsInDomainAxisForOtherCharts")) document.getElementById("maxLabelsInDomainAxisForOtherCharts").style.display='none';
443                 if (document.getElementById("CustomizingYAxisDiv"))  document.getElementById("CustomizingYAxisDiv").style.display='none';
444                 if (document.getElementById("drillDownOptions"))  document.getElementById("drillDownOptions").style.display="none";
445                 if (document.getElementById("lastSeriesAsBarChartDiv"))  document.getElementById("lastSeriesAsBarChartDiv").style.display='none';
446                 if (document.getElementById("seriesDiv"))  document.getElementById("seriesDiv").style.display='none';
447                 if (document.getElementById("multiseriesDiv"))  document.getElementById("multiseriesDiv").style.display='none';
448                 if (document.getElementById("multiplePieChartOptions")) document.getElementById("multiplePieChartOptions").style.display="none";
449                 if (document.getElementById("barChartOptions"))  document.getElementById("barChartOptions").style.display="none";
450                 if (document.getElementById("stackBarChartOptions"))  document.getElementById("stackBarChartOptions").style.display="none";
451                 if (document.getElementById("AddRangeAxisDiv"))  document.getElementById("AddRangeAxisDiv").style.display="none";
452                 if (document.getElementById("TimeDifferenceChartOptions")) document.getElementById("TimeDifferenceChartOptions").style.display='none';
453                 if (document.getElementById("BarLineChartOptions")) document.getElementById("BarLineChartOptions").style.display='none';
454                 if (document.getElementById("keepAsString")) document.getElementById("keepAsString").style.display='none';
455                 }
456     }
457  }
458
459
460 </script>
461
462 <iframe id="calendarFrame" class="nav" z-index:199; scrolling="no"  frameborder="0"  width=165px height=165px src="" style="position:absolute; display:none;">
463 </iframe>
464
465  <div id="calendarDiv" name="calendarDiv" style="position:absolute; z-index:200; visibility:none; background-color:white;layer-background-color:white;"></div>
466  
467
468 <table width="100%"  class="tableBorder" border="0" cellspacing="1" cellpadding="3" align=center>
469         <tr>
470                 <td class=rbg1 colspan=5 valign="Middle"><b class=rtableheader>Step <%= ws.getCurrentStepIndex() %> of <%= ws.getStepCount() %> - Report <%= ws.getCurrentStep() %></b></td>
471         </tr>
472 <%      if(numColsCount==0) { %>
473         <tr>
474                 <td class=rbg2 colspan=5 align="center" height="30"><font class=rtabletext>No numeric columns found - chart not available</font></td>
475         </tr>
476         <input type="hidden" name="chartType" value="">
477         <input type="hidden" name="chartWidth" value="">
478         <input type="hidden" name="chartHeight" value="">
479         
480 <%      } else { %>
481
482         <tr>
483           <td colspan="4">
484             <table><tr>
485                 <td class=rbg2 align="right" width="50%" height="30"><font class=rtabletext>Chart Type: </font></td>
486                 <td class=rbg3 align="left"><font class=rtabletext>
487                         <select name="chartType" onChange="showAlertForTimeSeries()">
488                                 <option value=""                                <%= chartType.equals(""                       )?" selected":"" %>>--- Do Not Include Chart ---
489                                 <option value="<%= AppConstants.GT_BAR_3D    %>"<%= chartType.equals(AppConstants.GT_BAR_3D   ) || chartType.equals(AppConstants.GT_HORIZ_BAR   ) || chartType.equals(AppConstants.GT_VERT_BAR   ) || chartType.equals(AppConstants.GT_BAR_LINES)?" selected":"" %>>Bar Chart
490                                 <option value="<%= AppConstants.GT_TOTAL_BAR %>"<%= chartType.equals(AppConstants.GT_TOTAL_BAR)?" selected":"" %>>Bar Chart With Running Total
491                                 <% if(!Globals.getJFreeVersion().equals(AppConstants.JFV_0911)) { %> 
492                                     <option value="<%= AppConstants.GT_STACKED_VERT_BAR %>"<%= chartType.equals(AppConstants.GT_STACKED_VERT_BAR)?" selected":"" %>>Vertical Stacked Bar                                
493                                     <option value="<%= AppConstants.GT_STACKED_HORIZ_BAR %>"<%= chartType.equals(AppConstants.GT_STACKED_HORIZ_BAR)?" selected":"" %>>Horizontal Stacked Bar                                                            
494                                     <option value="<%= AppConstants.GT_STACKED_VERT_BAR_LINES %>"<%= chartType.equals(AppConstants.GT_STACKED_VERT_BAR_LINES)?" selected":"" %>>Vertical Stacked Bar With Lines Chart                           
495                                     <option value="<%= AppConstants.GT_STACKED_HORIZ_BAR_LINES %>"<%= chartType.equals(AppConstants.GT_STACKED_HORIZ_BAR_LINES)?" selected":"" %>>Horizontal Stacked Bar With Lines Chart                                                               
496                                 <% } %> 
497                                 <option value="<%= AppConstants.GT_LINE      %>"<%= chartType.equals(AppConstants.GT_LINE     )?" selected":"" %>>Line Chart
498                                 <option value="<%= AppConstants.GT_PIE_3D    %>"<%= chartType.equals(AppConstants.GT_PIE_3D   )?" selected":"" %>>Pie Chart 3D
499                                 <option value="<%= AppConstants.GT_PIE       %>"<%= chartType.equals(AppConstants.GT_PIE      )?" selected":"" %>>Pie Chart
500                                 <option value="<%= AppConstants.GT_PIE_MULTIPLE %>"<%= chartType.equals(AppConstants.GT_PIE_MULTIPLE      )?" selected":"" %>>Multiple Pie Chart
501                                 <option value="<%= AppConstants.GT_PARETO_CHART %>"<%= chartType.equals(AppConstants.GT_PARETO_CHART      )?" selected":"" %>>Pareto Chart
502                                 <option value="<%= AppConstants.GT_MULTIPLE_TIMESERIES_CHART %>"<%= chartType.equals(AppConstants.GT_MULTIPLE_TIMESERIES_CHART      )?" selected":"" %>>Multiple TimeSeries Chart
503                                 <option value="<%= AppConstants.GT_TIME_DIFFERENCE_CHART %>"<%= chartType.equals(AppConstants.GT_TIME_DIFFERENCE_CHART      )?" selected":"" %>>Time Difference Chart
504                                 <option value="<%= AppConstants.GT_COMPARE_PREVYEAR_CHART %>"<%= chartType.equals(AppConstants.GT_COMPARE_PREVYEAR_CHART      )?" selected":"" %>>Compare Previous Year Chart
505                                 <option value="<%= AppConstants.GT_SCATTER %>"<%= chartType.equals(AppConstants.GT_SCATTER      )?" selected":"" %>>Scatter Plot Chart
506                                 <option value="<%= AppConstants.GT_REGRESSION %>"<%= chartType.equals(AppConstants.GT_REGRESSION      )?" selected":"" %>>Regression Chart
507                                 <option value="<%= AppConstants.GT_HIERARCHICAL %>"<%= chartType.equals(AppConstants.GT_HIERARCHICAL      )?" selected":"" %>>Hierarchical (HTML5) Chart
508                                 <option value="<%= AppConstants.GT_HIERARCHICAL_SUNBURST %>"<%= chartType.equals(AppConstants.GT_HIERARCHICAL_SUNBURST      )?" selected":"" %>>Hierarchical (HTML5) Sun Burst Chart
509                                 
510 <%              if(!Globals.getJFreeVersion().equals(AppConstants.JFV_0911)) { %>                               
511                                 <option value="<%= AppConstants.GT_TIME_SERIES%>"<%= chartType.equals(AppConstants.GT_TIME_SERIES )?" selected":"" %>>Time Series Chart                         
512 <%      } //It is supported only when chart library is above 0911 %>
513 <%              if(Globals.getShowNonstandardCharts()) { %>
514                                 <option value="<%= AppConstants.GT_MTD_BAR   %>"<%= chartType.equals(AppConstants.GT_MTD_BAR  )?" selected":"" %>>Month To Date Bar Chart
515 <%              }       // if(Globals.getShowNonstandardCharts 
516 %>
517                         </select></font></td>
518                 <td class=rbg3 align="left" nowrap><font class=rtabletext>
519                         <input type="checkbox" name="chartTypeFixed" value="Y"<%= rdef.isChartTypeFixed()?" checked":"" %>>
520                         &nbsp;Do NOT allow user to change chart type at runtime
521                 </td>   
522                 <td id="animatedDiv" style ="display:none;">
523            <select name="animatedOption">
524                                 <option value="static" <%=!rdef.isChartAnimate()?" selected":""%>>      Static  </option>
525                                 <option value="animate" <%=rdef.isChartAnimate()?" selected":""%>>      Animate </option>
526                    </select>               
527                 </td>
528        </tr>
529        </table>
530        </td>       
531         </tr>
532         <tr>
533                 <td class=rbg2 align="right"  height="30"><font class=rtabletext>Chart Width (px): </font></td> 
534                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
535                         <input type="text" name="chartWidth" value="<%= ""+rdef.getChartWidthAsInt() %>" size="10" maxlength="4"></font></td>
536         </tr>
537         <tr>
538                 <td class=rbg2 align="right"  height="30"><font class=rtabletext>Chart Height (px): </font></td> 
539                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
540                         <input type="text" name="chartHeight" value="<%= ""+rdef.getChartHeightAsInt() %>" size="10" maxlength="4"></font></td>
541         </tr>
542         <tr>
543                 <td class=rbg2 align="right" height="30"><font class=rtabletext>Domain Axis: </font></td> 
544                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
545                         <select name="legendCol">
546                         <%      for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { 
547                                         DataColumnType dct = (DataColumnType) iter.next(); %>
548                                 <option value="<%= dct.getColId() %>"<%= nvl(legendColId /*, firstColId*/).equals(dct.getColId())?" selected":"" %>><%= dct.getDisplayName() %>
549                         <%      } %>
550                         </select></font></td>
551         </tr>
552         <tr id="seriesDiv">
553                 <td class=rbg2 align="right" height="30"><font class=rtabletext>Category:</font></td>
554                 <td class=rbg3 colspan=4 align="left" ><font class=rtabletext>
555                         <select name="chartSeries" onChange="refreshWizard()">
556                <%       int isThereChartSeries = 0;
557                     if(rdef.hasSeriesColumn()) isThereChartSeries = 1; 
558                     if(isThereChartSeries == 0) {
559                %>
560                              <option value="-1" selected> -->select series <-- </option>
561                <%                       
562                     } else {
563                %>       
564                              <option value="-1"> -->select series <-- </option>                          
565                <%    
566                     } // else
567                                for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { 
568                                         DataColumnType dct = (DataColumnType) iter.next(); 
569                                                         if(dct.isChartSeries()!=null && dct.isChartSeries().booleanValue()) {
570                %>
571                                                 <option value="<%= dct.getColId() %>" selected><%= dct.getDisplayName() %>
572                <%
573                                 } else {
574                                                         
575                %>                                                       
576                                 <option value="<%= dct.getColId() %>"><%= dct.getDisplayName() %>
577                <%
578                                 } // else Chart Series
579                                 }       // for 
580                                                 
581                         %>
582                         </select></font></td>           
583     </tr>                
584         <tr id = "lastSeriesAsLineChartDiv">
585                 <td> last Category display As Line Chart
586                 </td>
587                 <td class=rbg3 colspan=3 align="left" nowrap><font class=rtabletext>
588                         <input type="checkbox" name="lastSeriesALineChart" value="Y"<%= rdef.isLastSeriesALineChart()?" checked":"" %>>
589                 </td>   
590         </tr>
591
592         <tr id = "lastSeriesAsBarChartDiv">
593                 <td> last Category display As Bar Chart
594                 </td>
595                 <td class=rbg3 colspan=3 align="left" nowrap><font class=rtabletext>
596                         <input type="checkbox" name="lastSeriesABarChart" value="Y"<%= rdef.isLastSeriesABarChart()?" checked":"" %>>
597                 </td>   
598         </tr>
599
600         <tr id = "multiseriesDiv">
601                 <td class=rbg2 align="right"  height="30"><font class=rtabletext>Multi Series</font></td>
602                 <td class=rbg3 colspan=4 align="left" width="50%">
603                         <input type=radio name="multiSeries" value="Y" <%= (AppUtils.getRequestNvlValue(request, "multiSeries").trim().length()>0? (AppUtils.getRequestNvlValue(request, "multiSeries").equals("Y")? " checked ":""): (rdef.isMultiSeries() ? " checked ":" checked ")) %>><font class=rtabletext>Yes</font>
604                         <input type=radio name="multiSeries" value="N" <%= (AppUtils.getRequestNvlValue(request, "multiSeries").trim().length()>0? (AppUtils.getRequestNvlValue(request, "multiSeries").equals("N")? " checked ":""): (!rdef.isMultiSeries() ? " checked":"")) %>><font class=rtabletext>No</font>
605     </tr>
606     
607 <%              if(chartValueCols.size()==0) { %>
608         <tr>
609                 <td class=rbg2 align="right" height="30"><font class=rtabletext>Range Axis:</font></td> 
610                 <td class=rbg3 colspan=3 align="left" width="50%"><font class=rtabletext>
611                         <select name="valueCol1">
612                         <%      for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { 
613                                         DataColumnType dct = (DataColumnType) iter.next(); 
614                                         if(isSQLBased||nvl(dct.getColType()).equals(AppConstants.CT_NUMBER)) {%>
615                                 <option value="<%= dct.getColId() %>"><%= dct.getDisplayName() %>
616                         <%              }       // if
617                                 }       // for 
618                         %>
619                         </select></font></td>
620                 <td class=rbg3 align="center" nowrap><font class=rtabletext>
621                         <%      String sValue = ""; %>
622                         <select name="valueCol1Color">
623                                 <option value=""<%=        sValue.equals("")       ?" selected":"" %>>Color: Default
624                                 <option value="#00FFFF"<%= sValue.equals("#00FFFF")?" selected":"" %>>Aqua
625                                 <option value="#000000"<%= sValue.equals("#000000")?" selected":"" %>>Black
626                                 <option value="#0000FF"<%= sValue.equals("#0000FF")?" selected":"" %>>Blue
627                                 <option value="#FF00FF"<%= sValue.equals("#FF00FF")?" selected":"" %>>Fuchsia
628                                 <option value="#808080"<%= sValue.equals("#808080")?" selected":"" %>>Gray
629                                 <option value="#008000"<%= sValue.equals("#008000")?" selected":"" %>>Green
630                                 <option value="#00FF00"<%= sValue.equals("#00FF00")?" selected":"" %>>Lime
631                                 <option value="#800000"<%= sValue.equals("#800000")?" selected":"" %>>Maroon
632                                 <option value="#000080"<%= sValue.equals("#000080")?" selected":"" %>>Navy
633                                 <option value="#808000"<%= sValue.equals("#808000")?" selected":"" %>>Olive
634                                 <option value="#FF9900"<%= sValue.equals("#FF9900")?" selected":"" %>>Orange
635                                 <option value="#800080"<%= sValue.equals("#800080")?" selected":"" %>>Purple
636                                 <option value="#FF0000"<%= sValue.equals("#FF0000")?" selected":"" %>>Red
637                                 <option value="#C0C0C0"<%= sValue.equals("#C0C0C0")?" selected":"" %>>Silver
638                                 <option value="#008080"<%= sValue.equals("#008080")?" selected":"" %>>Teal
639                                 <option value="#FFFFFF"<%= sValue.equals("#FFFFFF")?" selected":"" %>>White
640                                 <option value="#FFFF00"<%= sValue.equals("#FFFF00")?" selected":"" %>>Yellow
641                         </select>
642                         </font></td>
643         </tr>
644 <%              } else { 
645                         int count = 1;
646                         String colIdx = "";
647                         for(Iterator iterV=chartValueCols.iterator(); iterV.hasNext(); count++) { 
648                                 colIdx = "";
649                                 DataColumnType dctV = (DataColumnType) iterV.next();
650                                 colIdx = dctV.getColId();
651                                 int colAxisIdx = 0;
652                                 boolean newChart = false;
653                                 try {
654                                         colAxisIdx = Integer.parseInt(dctV.getColOnChart());
655                                 } catch(Exception e) {} 
656                                 newChart = (dctV.isCreateInNewChart()!=null)?dctV.isCreateInNewChart().booleanValue():false;
657                                 %>
658
659         <tr>
660                 <td class=rbg2 align="right" height="30"><font class=rtabletext>Range Axis <%= count %>:</font></td> 
661                 <td class=rbg3 align="left" nowrap><font class=rtabletext>
662                         <select name="valueCol<%= count %>">
663                         <%      for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { 
664                                         DataColumnType dct = (DataColumnType) iter.next(); 
665                                         if(isSQLBased||nvl(dct.getColType()).equals(AppConstants.CT_NUMBER)) {%>
666                                 <option value="<%= dct.getColId() %>"<%= dct.getColId().equals(dctV.getColId())?" selected":"" %>><%= dct.getDisplayName() %>
667                         <%              }       // if
668                                 }       // for 
669                         %>
670                         </select>
671                         <%      if(count>1) { %>
672                         &nbsp;
673                         <input type=image border="0" src="<%= AppUtils.getImgFolderURL() %>deleteicon.gif" alt="Remove" width="12" height="12" onClick="document.forma.<%= AppConstants.RI_WIZARD_ACTION %>.value='<%= AppConstants.WA_DELETE_USER %>'; document.forma.<%= AppConstants.RI_DETAIL_ID %>.value='<%= dctV.getColId() %>';">
674                         <%      } %>
675                         &nbsp;
676                         </font></td>
677                 <td class=rbg3 align="center" nowrap>
678                 <%
679                   String chartGroupOrg = dctV.getChartGroup();
680                   String yAxisGroup = dctV.getYAxis();  
681                   String chartGroup = (chartGroupOrg!=null && chartGroupOrg.length()>0 && chartGroupOrg.indexOf("|")!= -1)?chartGroupOrg.substring(0,chartGroupOrg.lastIndexOf("|")):""; 
682                   String yAxis          = (yAxisGroup!=null && yAxisGroup.length()>0 && yAxisGroup.indexOf("|")!= -1)?yAxisGroup.substring(0,yAxisGroup.lastIndexOf("|")):""; 
683                 %>
684              <div id="chartGroupDiv<%=colIdx%>">
685                      <font class=rtabletext>Chart Title:</font><input type="text" name="chartGroup<%= colIdx%>Axis" value="<%=nvl(chartGroup).length()>0?chartGroup:""%>"/>
686                      <font class=rtabletext>YAxis:</font><input type="text" name="YAxisLabel<%= colIdx%>" value="<%=nvl(yAxis).length()>0?yAxis:""%>"/>
687             </div>
688               
689                 </td>
690                 <td class=rbg3 align="center" nowrap><font class=rtabletext>
691                         <%      String sValue = nvl(dctV.getChartColor()); %>
692                         <select name="valueCol<%= count %>Color">
693                                 <option value=""<%=        sValue.equals("")       ?" selected":"" %>>Color: Default
694                                 <option value="#00FFFF"<%= sValue.equals("#00FFFF")?" selected":"" %>>Aqua
695                                 <option value="#000000"<%= sValue.equals("#000000")?" selected":"" %>>Black
696                                 <option value="#0000FF"<%= sValue.equals("#0000FF")?" selected":"" %>>Blue
697                                 <option value="#FF00FF"<%= sValue.equals("#FF00FF")?" selected":"" %>>Fuchsia
698                                 <option value="#808080"<%= sValue.equals("#808080")?" selected":"" %>>Gray
699                                 <option value="#008000"<%= sValue.equals("#008000")?" selected":"" %>>Green
700                                 <option value="#00FF00"<%= sValue.equals("#00FF00")?" selected":"" %>>Lime
701                                 <option value="#800000"<%= sValue.equals("#800000")?" selected":"" %>>Maroon
702                                 <option value="#000080"<%= sValue.equals("#000080")?" selected":"" %>>Navy
703                                 <option value="#808000"<%= sValue.equals("#808000")?" selected":"" %>>Olive
704                                 <option value="#FF9900"<%= sValue.equals("#FF9900")?" selected":"" %>>Orange
705                                 <option value="#800080"<%= sValue.equals("#800080")?" selected":"" %>>Purple
706                                 <option value="#FF0000"<%= sValue.equals("#FF0000")?" selected":"" %>>Red
707                                 <option value="#C0C0C0"<%= sValue.equals("#C0C0C0")?" selected":"" %>>Silver
708                                 <option value="#008080"<%= sValue.equals("#008080")?" selected":"" %>>Teal
709                                 <option value="#FFFFFF"<%= sValue.equals("#FFFFFF")?" selected":"" %>>White
710                                 <option value="#FFFF00"<%= sValue.equals("#FFFF00")?" selected":"" %>>Yellow
711                         </select>
712                         </font></td>
713                 <td class=rbg3 align="left" nowrap valign="middle"><font class=rtabletext>
714                         <%      if(count>1) { %>
715                    <div id="newChartDiv<%=count%>">
716                     <input type="checkbox" name="newChart<%= count %>Axis" value="Y"<%= (newChart)?" checked":"" %>>
717                         &nbsp;Create in New Chart                       
718                     </div>
719                         <input type="checkbox" name="valueCol<%= count %>Axis" value="Y"<%= (colAxisIdx>0)?" checked":"" %>>
720                         &nbsp;Use secondary axis (Line chart only)
721                         <%      } %>
722                         &nbsp;</font></td>
723         </tr>
724 <%                      }       // for 
725                 }       // else (chartValueCols.size()==0)
726                 if(unusedNumCols.size()>0) { %>
727         <tr id="AddRangeAxisDiv">
728                 <td class=rbg2 align="right" height="30"><font class=rtabletext>Add Values Column:</font></td> 
729                 <td class=rbg3 align="left"><font class=rtabletext>
730                         <select name="valueColNew" onChange="if(! checkValueColNew()) return; document.forma.<%= AppConstants.RI_WIZARD_ACTION %>.value='<%= AppConstants.WA_ADD_USER %>'; document.forma.submit();">
731                                 <option value="" selected>--- Select Column ---
732                         <%      for(Iterator iter=unusedNumCols.iterator(); iter.hasNext(); ) { 
733                                         DataColumnType dct = (DataColumnType) iter.next(); 
734                                         if(isSQLBased||nvl(dct.getColType()).equals(AppConstants.CT_NUMBER)) {%>
735                                 <option value="<%= dct.getColId() %>"><%= dct.getDisplayName() %>
736                         <%              }       // if
737                                 }       // for 
738                         %>
739                         </select>
740                         </font></td>
741                 <td class=rbg3 align="center" nowrap><font class=rtabletext>
742                         <%      String sValue = ""; %>
743                         <select name="valueColNewColor">
744                                 <option value=""<%=        sValue.equals("")       ?" selected":"" %>>Color: Default
745                                 <option value="#00FFFF"<%= sValue.equals("#00FFFF")?" selected":"" %>>Aqua
746                                 <option value="#000000"<%= sValue.equals("#000000")?" selected":"" %>>Black
747                                 <option value="#0000FF"<%= sValue.equals("#0000FF")?" selected":"" %>>Blue
748                                 <option value="#FF00FF"<%= sValue.equals("#FF00FF")?" selected":"" %>>Fuchsia
749                                 <option value="#808080"<%= sValue.equals("#808080")?" selected":"" %>>Gray
750                                 <option value="#008000"<%= sValue.equals("#008000")?" selected":"" %>>Green
751                                 <option value="#00FF00"<%= sValue.equals("#00FF00")?" selected":"" %>>Lime
752                                 <option value="#800000"<%= sValue.equals("#800000")?" selected":"" %>>Maroon
753                                 <option value="#000080"<%= sValue.equals("#000080")?" selected":"" %>>Navy
754                                 <option value="#808000"<%= sValue.equals("#808000")?" selected":"" %>>Olive
755                                 <option value="#FF9900"<%= sValue.equals("#FF9900")?" selected":"" %>>Orange
756                                 <option value="#800080"<%= sValue.equals("#800080")?" selected":"" %>>Purple
757                                 <option value="#FF0000"<%= sValue.equals("#FF0000")?" selected":"" %>>Red
758                                 <option value="#C0C0C0"<%= sValue.equals("#C0C0C0")?" selected":"" %>>Silver
759                                 <option value="#008080"<%= sValue.equals("#008080")?" selected":"" %>>Teal
760                                 <option value="#FFFFFF"<%= sValue.equals("#FFFFFF")?" selected":"" %>>White
761                                 <option value="#FFFF00"<%= sValue.equals("#FFFF00")?" selected":"" %>>Yellow
762                         </select>
763                         </font></td>
764                 <td colspan="2" class=rbg3 align="left" nowrap><font class=rtabletext>
765                         <input type="checkbox" name="valueColNewAxis" value="Y">
766                         &nbsp;Use secondary axis (Line chart only)
767                         </font></td>
768         </tr>
769 <%              }       // if(unusedNumCols.size()==0)
770                 if(chartValueCols.size()>1 || rdef.hasSeriesColumn()) { %>
771         <tr>
772                 <td class=rbg2 align="right" height="30"><font class=rtabletext>Primary Axis Label:</font></td> 
773                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
774                         <input type="text" name="leftAxisLabel" class=rtabletext value="<%= nvl(rdef.getChartLeftAxisLabel()) %>" size="40">
775                         &nbsp;(Multi-series Chart Only)</font></td>
776         </tr>
777         <tr>
778                 <td class=rbg2 align="right" height="30"><font class=rtabletext>Secondary Axis Label:</font></td> 
779                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
780                         <input type="text" name="rightAxisLabel" class=rtabletext value="<%= nvl(rdef.getChartRightAxisLabel()) %>" size="40">
781                         &nbsp;(Multi-series Chart Only)</font></td>
782         </tr>
783 <%              }       // if(chartValueCols.size()>1)
784 %>
785         <tr>
786                 <td class=rbg2 align="right" height="30"><font class=rtabletext>&nbsp;</font></td> 
787                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
788                         Note: Some chart types (like Pie) will only display Series 1 Values.</font></td>
789         </tr>
790         <tr>
791           <td colspan=5>
792            
793         <div id="multiplePieChartOptions" style="display:none;">
794         <table width="100%">
795         <tr>
796                 <td colspan="3"><font class=rtabletext>Additional Multiple Pie Charts options:</font></td> 
797         </tr>
798         <tr>
799                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Order by </font></td> 
800                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
801                         <input type=radio name="multiplePieOrder" value="row" <%= AppUtils.getRequestNvlValue(request, "multiplePieOrder").equals("row")?" checked": ((AppUtils.getRequestNvlValue(request, "multiplePieOrder").length()<=0)? (rdef.isMultiplePieOrderByRow() ?" checked": (rdef.isMultiplePieOrderByColumn()?"":" checked")):"") %>>Table By Row
802                         <input type=radio name="multiplePieOrder" value="column" <%= AppUtils.getRequestNvlValue(request, "multiplePieOrder").equals("column") ? " checked":((AppUtils.getRequestNvlValue(request, "multiplePieOrder").length()<=0)? (rdef.isMultiplePieOrderByColumn() ?" checked": (rdef.isMultiplePieOrderByRow()?"":" checked")):"") %>>Table By Column
803                 </font></td>
804                 <td>
805                   <input type="checkbox" name="multiplePieOrderInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "multiplePieOrderInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "multiplePieOrderInRunPage").length()<=0)?(rdef.displayPieOrderinRunPage()?" checked":""):"") %>> Display in run page
806                 </td>  
807                 
808         </tr>
809         <tr>
810                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Label Options</font></td> 
811                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
812                         <input type=radio name="multiplePieLabelDisplay" value="percentage" 
813                            <%= AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay").equals("percentage")?" checked": ((AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay").length()<=0)? (nvl(rdef.getMultiplePieLabelDisplay()).length() > 0 ? (rdef.getMultiplePieLabelDisplay().equals("percentage")?" checked":""):" checked"):"") %>>Display Percentage
814                         <input type=radio name="multiplePieLabelDisplay" value="value" 
815                          <%= AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay").equals("value")?" checked": ((AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay").length()<=0)? (nvl(rdef.getMultiplePieLabelDisplay()).length() > 0 ? (rdef.getMultiplePieLabelDisplay().equals("value")?" checked":""):""):"") %>>Display Value
816                         <input type=radio name="multiplePieLabelDisplay" value="novalue" 
817                          <%= AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay").equals("novalue")?" checked": ((AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay").length()<=0)? (nvl(rdef.getMultiplePieLabelDisplay()).length() > 0 ? (rdef.getMultiplePieLabelDisplay().equals("novalue")?" checked":""):" checked"):"") %>>Blank
818                 </font>
819                 </td>    
820                 <td>
821                   <input type="checkbox" name="multiplePieLabelDisplayInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplayInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplayInRunPage").length()<=0)?(rdef.displayPieLabelDisplayinRunPage()?" checked":""):"") %>> Display in run page
822                 </td>  
823
824         </tr>
825         <tr>
826                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Display Options</font></td> 
827                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
828                         <input type=radio name="chartDisplay" value="3D" <%= AppUtils.getRequestNvlValue(request, "chartDisplay").equals("3D")?" checked": ((AppUtils.getRequestNvlValue(request, "chartDisplay").length()<=0)? (rdef.isChartDisplayIn3D()?" checked":""):"") %>>Display in 3D
829                         <input type=radio name="chartDisplay" value="normal" <%= AppUtils.getRequestNvlValue(request, "chartDisplay").equals("normal")?" checked": ((AppUtils.getRequestNvlValue(request, "chartDisplay").length()<=0)? (!rdef.isChartDisplayIn3D()?" checked":""):"") %>>Display in 2D
830                         </font></td>
831                 <td>
832                   <input type="checkbox" name="chartDisplayInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "chartDisplayInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "chartDisplayInRunPage").length()<=0)?(rdef.displayChartDisplayinRunPage()?" checked":""):"") %>> Display in run page
833                 </td>  
834
835         </tr>
836         </table>
837         </div>
838         
839         <div id="regressionChartDiv" style="display:none;">
840                 <table width="100%" id = "regressionDiv">
841                         <tr>
842                 <td class=rbg2 align="right" width="20%" height="30"><font class=rtabletext>Regression Type </font></td> 
843                 <td class=rbg3 colspan=4 align="left" width="80%"><font class=rtabletext>
844                                         <input type=checkbox name="LinearRegressionType" value="Y" <%= (AppUtils.getRequestNvlValue(request, "regressionType").trim().length()>0? (AppUtils.getRequestNvlValue(request, "regressionType").charAt(0) == 'Y'? " checked ":""): (nvl(rdef.getLinearRegression()).length()>0 && rdef.getLinearRegression().charAt(0) == 'Y' ? " checked ":" checked ")) %>><font class=rtabletext>Linear</font>
845                                         <input type=checkbox name="ExpRegressionType" value="Y" <%= (AppUtils.getRequestNvlValue(request, "regressionType").trim().length()>1? (AppUtils.getRequestNvlValue(request, "regressionType").charAt(1) == 'Y'? " checked ":""): (nvl(rdef.getLinearRegression()).length()>1 && rdef.getLinearRegression().charAt(1) == 'Y' ? " checked ":" ")) %>><font class=rtabletext>Exponential</font>
846                                         <input type="hidden" name="regressionType" value=""/>
847                 </font>  </td>
848                 </tr>
849                 <tr>
850                  <td class=rbg2 align="right" width="20%" height="30"><font class=rtabletext>Linear Regression Color </font></td>
851                                 <td class=rbg3 align="left" colspan=4 width=80% nowrap><font class=rtabletext>
852                                         <%      String linearColor = nvl(rdef.getLinearRegressionColor()); %>
853                                         <select name="valueLinearRegressionColor">
854                                                 <option value=""<%=        linearColor.equals("")       ?" selected":"" %>>Color: Default
855                                                 <option value="#00FFFF"<%= linearColor.equals("#00FFFF")?" selected":"" %>>Aqua
856                                                 <option value="#000000"<%= linearColor.equals("#000000")?" selected":"" %>>Black
857                                                 <option value="#0000FF"<%= linearColor.equals("#0000FF")?" selected":"" %>>Blue
858                                                 <option value="#FF00FF"<%= linearColor.equals("#FF00FF")?" selected":"" %>>Fuchsia
859                                                 <option value="#808080"<%= linearColor.equals("#808080")?" selected":"" %>>Gray
860                                                 <option value="#008000"<%= linearColor.equals("#008000")?" selected":"" %>>Green
861                                                 <option value="#00FF00"<%= linearColor.equals("#00FF00")?" selected":"" %>>Lime
862                                                 <option value="#800000"<%= linearColor.equals("#800000")?" selected":"" %>>Maroon
863                                                 <option value="#000080"<%= linearColor.equals("#000080")?" selected":"" %>>Navy
864                                                 <option value="#808000"<%= linearColor.equals("#808000")?" selected":"" %>>Olive
865                                                 <option value="#FF9900"<%= linearColor.equals("#FF9900")?" selected":"" %>>Orange
866                                                 <option value="#800080"<%= linearColor.equals("#800080")?" selected":"" %>>Purple
867                                                 <option value="#FF0000"<%= linearColor.equals("#FF0000")?" selected":"" %>>Red
868                                                 <option value="#C0C0C0"<%= linearColor.equals("#C0C0C0")?" selected":"" %>>Silver
869                                                 <option value="#008080"<%= linearColor.equals("#008080")?" selected":"" %>>Teal
870                                                 <option value="#FFFFFF"<%= linearColor.equals("#FFFFFF")?" selected":"" %>>White
871                                                 <option value="#FFFF00"<%= linearColor.equals("#FFFF00")?" selected":"" %>>Yellow
872                                         </select>
873                                 </font></td>
874                   
875                 </tr>
876                 <tr>
877                  <td class=rbg2 align="right" width="20%" height="30"><font class=rtabletext>Exponential Regression Color </font></td>
878                                 <td class=rbg3 align="left" colspan=4 width=80% nowrap><font class=rtabletext>
879                                         <%      String expColor = nvl(rdef.getExponentialRegressionColor()); %>
880                                         <select name="valueExponentialRegressionColor">
881                                                 <option value=""<%=        expColor.equals("")       ?" selected":"" %>>Color: Default
882                                                 <option value="#00FFFF"<%= expColor.equals("#00FFFF")?" selected":"" %>>Aqua
883                                                 <option value="#000000"<%= expColor.equals("#000000")?" selected":"" %>>Black
884                                                 <option value="#0000FF"<%= expColor.equals("#0000FF")?" selected":"" %>>Blue
885                                                 <option value="#FF00FF"<%= expColor.equals("#FF00FF")?" selected":"" %>>Fuchsia
886                                                 <option value="#808080"<%= expColor.equals("#808080")?" selected":"" %>>Gray
887                                                 <option value="#008000"<%= expColor.equals("#008000")?" selected":"" %>>Green
888                                                 <option value="#00FF00"<%= expColor.equals("#00FF00")?" selected":"" %>>Lime
889                                                 <option value="#800000"<%= expColor.equals("#800000")?" selected":"" %>>Maroon
890                                                 <option value="#000080"<%= expColor.equals("#000080")?" selected":"" %>>Navy
891                                                 <option value="#808000"<%= expColor.equals("#808000")?" selected":"" %>>Olive
892                                                 <option value="#FF9900"<%= expColor.equals("#FF9900")?" selected":"" %>>Orange
893                                                 <option value="#800080"<%= expColor.equals("#800080")?" selected":"" %>>Purple
894                                                 <option value="#FF0000"<%= expColor.equals("#FF0000")?" selected":"" %>>Red
895                                                 <option value="#C0C0C0"<%= expColor.equals("#C0C0C0")?" selected":"" %>>Silver
896                                                 <option value="#008080"<%= expColor.equals("#008080")?" selected":"" %>>Teal
897                                                 <option value="#FFFFFF"<%= expColor.equals("#FFFFFF")?" selected":"" %>>White
898                                                 <option value="#FFFF00"<%= expColor.equals("#FFFF00")?" selected":"" %>>Yellow
899                                         </select>
900                                 </font></td>
901                   
902                 </tr>
903                         <tr>
904                                 <td class=rbg2 align="right" width="20%" height="30"><font class=rtabletext>Regression Point customization (in Numbers)</font></td> 
905                                 <td class=rbg3 colspan=4 align="left" width="80%"><font class=rtabletext>
906                                   <input type=text name="regressionPointCustomization" value="<%=nvl(rdef.getCustomizedRegressionPoint(),"")%>">
907                                 </font></td>            
908                 
909         </table>
910         
911     </div>      
912
913         <div id="CustomizingYAxisDiv" style="display:none;">
914                 <table width="100%">
915                         <tr>
916                                 <td class=rbg2 align="right" width="20%" height="30"><font class=rtabletext>Range Axis (Minimum Range)</font></td> 
917                                 <td class=rbg3 colspan=4 align="left" width="80%"><font class=rtabletext>
918                                   <input type=text name="yAxisLowerLimit" value="<%=nvl(rdef.getRangeAxisLowerLimit(),"")%>">
919                                 </font></td>
920                                 </tr>
921                                 <tr>
922                                 <td class=rbg2 align="right" width="20%" height="30"><font class=rtabletext>Range Axis (Maximum Range)</font></td> 
923                                 <td class=rbg3 colspan=4 align="left" width="80%"><font class=rtabletext>
924                                   <input type=text name="yAxisUpperLimit" value="<%=nvl(rdef.getRangeAxisUpperLimit(),"")%>">
925                                 </font></td>
926                         </tr>                                           
927                 </table>
928         </div>
929
930         
931         <div id="BarLineChartOptions" style="display:none;">
932         <table width="100%">
933         <tr>
934                 <td colspan="3"><font class=rtabletext>Additional Bar/Line Chart options:</font></td> 
935         </tr>
936         <tr>
937                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Orientation </font></td> 
938                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
939                         <input type=radio name="chartOrientation" value="vertical" <%= AppUtils.getRequestNvlValue(request, "chartOrientation").equals("vertical")?" checked": ((AppUtils.getRequestNvlValue(request, "chartOrientation").length()<=0)? (rdef.isVerticalOrientation() ?" checked": (rdef.isVerticalOrientation()?" checked":"")):"") %>>Vertical
940                         <input type=radio name="chartOrientation" value="horizontal" <%= AppUtils.getRequestNvlValue(request, "chartOrientation").equals("horizontal") ? " checked":((AppUtils.getRequestNvlValue(request, "chartOrientation").length()<=0)? (rdef.isHorizontalOrientation() ?" checked": (rdef.isHorizontalOrientation()?" checked":"")):"") %>>Horizontal
941                 </font></td>
942                 <td>
943                   <input type="checkbox" name="chartOrientationInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "chartOrientationInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "chartOrientationInRunPage").length()<=0)?(rdef.displayChartOrientationInRunPage()?" checked":""):"") %>> Display in run page
944                 </td>  
945                 
946         </tr>
947         <tr>
948                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Display Options</font></td> 
949                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
950                         <input type=radio name="chartDisplay" value="3D" <%= AppUtils.getRequestNvlValue(request, "chartDisplay").equals("3D")?" checked": ((AppUtils.getRequestNvlValue(request, "chartDisplay").length()<=0)? (rdef.isChartDisplayIn3D()?" checked":""):"") %>>Display in 3D
951                         <input type=radio name="chartDisplay" value="normal" <%= AppUtils.getRequestNvlValue(request, "chartDisplay").equals("normal")?" checked": ((AppUtils.getRequestNvlValue(request, "chartDisplay").length()<=0)? (!rdef.isChartDisplayIn3D()?" checked":""):"") %>>Display in 2D
952                         </font></td>
953                 <td>
954                   <input type="checkbox" name="chartDisplayInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "chartDisplayInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "chartDisplayInRunPage").length()<=0)?(rdef.displayChartDisplayinRunPage()?" checked":""):"") %>> Display in run page
955                 </td>  
956         </tr>
957         </table>
958         </div>
959         <div id="BarChartOptions" style="display:none;">
960         <table width="100%">
961         <tr>
962                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Renderer for Secondary Axis</font></td> 
963                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
964                         <input type=radio name="secondaryChartRenderer" value="line" 
965                            <%= AppUtils.getRequestNvlValue(request, "secondaryChartRenderer").equals("line")?" checked": ((AppUtils.getRequestNvlValue(request, "secondaryChartRenderer").length()<=0)? ((nvl(rdef.getSecondaryChartRenderer()).length() > 0) ? (rdef.getSecondaryChartRenderer().equals("line")?" checked":""):" checked"):"") %>>Line chart Renderer
966                         <input type=radio name="secondaryChartRenderer" value="level" 
967                          <%= AppUtils.getRequestNvlValue(request, "secondaryChartRenderer").equals("level")?" checked": ((AppUtils.getRequestNvlValue(request, "secondaryChartRenderer").length()<=0)? ((nvl(rdef.getSecondaryChartRenderer()).length() > 0) ? (rdef.getSecondaryChartRenderer().equals("level")?" checked":""):""):"") %>>Level chart Renderer
968                 </font>
969                 </td>    
970                 <td>
971                   <input type="checkbox" name="secondaryChartRendererInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "secondaryChartRendererInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "secondaryChartRendererInRunPage").length()<=0)?(rdef.displaySecondaryChartRendererInRunPage()?" checked":""):"") %>> Display in run page
972                 </td>  
973
974         </tr>
975         </table>
976         </div>
977         
978         <div id="stackBarChartOptions" style="display:none;">
979         <table width="100%">
980         <tr>
981                 <td colspan="3"><font class=rtabletext>Additional Bar Chart options:</font></td> 
982         </tr>
983         <tr>
984                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Overlay Item Value:</font></td> 
985                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
986                         <input type=radio name="overlayItemValue" value="Y" 
987                            <%= AppUtils.getRequestNvlValue(request, "overlayItemValue").equals("Y")?" checked": ((AppUtils.getRequestNvlValue(request, "overlayItemValue").length()<=0)? ((nvl(rdef.getOverlayItemValueOnStackBar()).length() > 0) ? (rdef.getOverlayItemValueOnStackBar().equals("Y")?" checked":""):" checked"):"") %>>Yes
988                         <input type=radio name="overlayItemValue" value="N" 
989                          <%= AppUtils.getRequestNvlValue(request, "overlayItemValue").equals("N")?" checked": ((AppUtils.getRequestNvlValue(request, "overlayItemValue").length()<=0)? ((nvl(rdef.getOverlayItemValueOnStackBar()).length() > 0) ? (rdef.getOverlayItemValueOnStackBar().equals("N")?" checked":""):""):"") %>>No
990                 </font>
991                 </td>    
992         </tr>
993         </table>
994         </div>
995
996         
997         <div id="TimeDifferenceChartOptions" style="display:none;">
998         <table width="100%">
999         <tr>
1000                 <td colspan="3"><font class=rtabletext>Additional Time Difference Chart options:</font></td> 
1001         </tr>
1002         <tr>
1003                 <td class=rbg2 align="right" width="15%" height="30"><font class=rtabletext>Interval Marker </font></td> 
1004                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
1005                         <input type="text" size="10" maxlength="10" name="intervalFromDate" value="<%=rdef.getIntervalFromdate()%>" toolTipText="Enter the starting interval date">
1006                         <img src="<%= AppUtils.getImgFolderURL() %>calender_icon.gif" align=absmiddle border=0 width="20" height="20" onClick="oCalendar = new CalendarPopup('calendarDiv', 'calendarFrame');oCalendar.setCssPrefix('raptor');oCalendar.select(document.getElementById('intervalFromDate'),event,'MM/dd/yyyy'); return false;"  style="cursor:hand">
1007                         <input type="text" size="10" maxlength="10" name="intervalToDate" value="<%=rdef.getIntervalTodate()%>" toolTipText="Enter the Ending interval date">
1008                         <img src="<%= AppUtils.getImgFolderURL() %>calender_icon.gif" align=absmiddle border=0 width="20" height="20" onClick="oCalendar = new CalendarPopup('calendarDiv', 'calendarFrame');oCalendar.setCssPrefix('raptor');oCalendar.select(document.getElementById('intervalToDate'),event,'MM/dd/yyyy'); return false;"  style="cursor:hand">
1009                         <input type="text" size="50" maxlength="100" name="intervalLabel" value="<%=rdef.getIntervalLabel()%>" toolTipText="Enter the interval Label">                  
1010                 </font></td>
1011                 <td>
1012                   <input type="checkbox" name="intervalInputInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "intervalInputInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "intervalInputInRunPage").length()<=0)?(rdef.displayIntervalInputInRunPage()?" checked":""):"") %>> Display in run page
1013                 </td>  
1014                 
1015         </tr>
1016         </table>
1017         </div>
1018
1019         <div id="chartOptions" style="display:none;">
1020         <table width="100%">
1021         <tr>
1022                 <td colspan="3"><font class=rtabletext>Additional chart options:</font></td> 
1023         </tr>
1024         <tr>
1025                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Legend Position</font></td> 
1026                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
1027                         <input type=radio name="legendPosition" value="bottom" <%= AppUtils.getRequestNvlValue(request, "legendPosition").equals("bottom")?" checked": ((AppUtils.getRequestNvlValue(request, "legendPosition").length()<=0)? (nvl(rdef.getLegendPosition()).length()>0 ? (rdef.getLegendPosition().equals("bottom")?" checked":""):" checked"):"") %>>Bottom
1028                         <input type=radio name="legendPosition" value="top" <%= AppUtils.getRequestNvlValue(request, "legendPosition").equals("top")?" checked": ((AppUtils.getRequestNvlValue(request, "legendPosition").length()<=0)? (nvl(rdef.getLegendPosition()).length()>0 ? (rdef.getLegendPosition().equals("top")?" checked":""):""):"") %>>Top
1029                         <input type=radio name="legendPosition" value="left" <%= AppUtils.getRequestNvlValue(request, "legendPosition").equals("left")?" checked": ((AppUtils.getRequestNvlValue(request, "legendPosition").length()<=0)? (nvl(rdef.getLegendPosition()).length()>0 ? (rdef.getLegendPosition().equals("left")?" checked":""):""):"") %>>Left
1030                         <input type=radio name="legendPosition" value="right" <%= AppUtils.getRequestNvlValue(request, "legendPosition").equals("right")?" checked": ((AppUtils.getRequestNvlValue(request, "legendPosition").length()<=0)? (nvl(rdef.getLegendPosition()).length()>0 ? (rdef.getLegendPosition().equals("right")?" checked":""):""):"") %>>Right
1031                         </font></td>
1032                 <td>
1033                         &nbsp;
1034                 </td>
1035         </tr>
1036         <tr>
1037                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Hide Tooltips</font></td>
1038                 <td> 
1039                   <input type="checkbox" name="hideTooltips" value="Y"<%= AppUtils.getRequestNvlValue(request, "hideToolTips").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "hideToolTips").length()<=0)?(rdef.hideChartToolTips()?" checked":""):"") %>> &nbsp;
1040                 </td>
1041                 <td> &nbsp;</td>  
1042         </tr>
1043         <tr id="keepAsString">
1044                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Keep Domain Axis Value As String</font></td>
1045                 <td> 
1046                   <input type="checkbox" name="keepAsString" value="Y"<%= AppUtils.getRequestNvlValue(request, "keepAsString").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "keepAsString").length()<=0)?(rdef.keepDomainAxisValueInChartAsString()?" checked":""):"") %>> &nbsp;
1047                 </td>
1048                 <td> &nbsp;</td>  
1049         </tr>
1050         
1051         <tr>
1052                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Hide Legend</font></td>
1053                 <td> 
1054                   <input type="checkbox" name="hideLegend" value="Y"<%= AppUtils.getRequestNvlValue(request, "hideLegend").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "hideLegend").length()<=0)?(rdef.hideChartLegend()?" checked":""):"") %>> &nbsp;
1055                 </td>
1056                 <td>
1057                   <input type="checkbox" name="showLegendDisplayOptionsInRunPage" value="Y"<%= AppUtils.getRequestNvlValue(request, "showLegendDisplayOptionsInRunPage").equals("Y")? " checked":((AppUtils.getRequestNvlValue(request, "showLegendDisplayOptionsInRunPage").length()<=0)?(rdef.showLegendDisplayOptionsInRunPage()?" checked":""):"") %>> Display in run page
1058                 </td>  
1059         </tr>
1060         <tr id ="maxLabelsInDomainAxisForOtherCharts">
1061                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Maximum Number of Labels in Domain Axis:</font></td> 
1062                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
1063                         <input type=text name="maxLabelsInDomainAxis" class=rtabletext value="<%= AppUtils.getRequestNvlValue(request, "maxLabelsInDomainAxis").trim().length()>0?
1064                                           AppUtils.getRequestNvlValue(request, "maxLabelsInDomainAxis"): 
1065                                                   ((AppUtils.getRequestNvlValue(request, "maxLabelsInDomainAxis").length()<=0)?
1066                                                                    (nvl(rdef.getMaxLabelsInDomainAxis()).length()>0 ? rdef.getMaxLabelsInDomainAxis():"1"):"1")%>" maxlength="2" size="2">
1067                         </font>
1068                 </td>
1069         </tr>
1070         <tr id ="LabelAngleForTimeSeriesCharts">
1071                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Legend Label Angle</font></td> 
1072                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
1073                         <input type=radio name="labelAngle" value="UP45" <%= AppUtils.getRequestNvlValue(request, "labelAngle").equals("UP45")?" checked": ((AppUtils.getRequestNvlValue(request, "labelAngle").length()<=0)? (nvl(rdef.getLegendLabelAngle()).length()>0 ? (rdef.getLegendLabelAngle().equals("UP45")?" checked":""):" checked"):"") %>>Standard
1074                         <input type=radio name="labelAngle" value="UP90" <%= AppUtils.getRequestNvlValue(request, "labelAngle").equals("UP90")?" checked": ((AppUtils.getRequestNvlValue(request, "labelAngle").length()<=0)? (nvl(rdef.getLegendLabelAngle()).length()>0 ? (rdef.getLegendLabelAngle().equals("UP90")?" checked":""):" checked"):"") %>>90 &deg;
1075                         </font></td>
1076                 <td>
1077                    &nbsp;
1078                 </td>  
1079         </tr>
1080         <tr id ="LabelAngleForOtherCharts">
1081                 <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Legend Label Angle</font></td> 
1082                 <td class=rbg3 colspan=4 align="left" width="50%"><font class=rtabletext>
1083                         <input type=radio name="labelAngle" value="UP45" <%= AppUtils.getRequestNvlValue(request, "labelAngle").equals("UP45")?" checked": ((AppUtils.getRequestNvlValue(request, "labelAngle").length()<=0)? (nvl(rdef.getLegendLabelAngle()).length()>0 ? (rdef.getLegendLabelAngle().equals("UP45")?" checked":""):" checked"):"") %>>Up 45 &deg;
1084                         <input type=radio name="labelAngle" value="UP90" <%= AppUtils.getRequestNvlValue(request, "labelAngle").equals("UP90")?" checked": 
1085                                    ((AppUtils.getRequestNvlValue(request, "labelAngle").length()<=0)?
1086                                                    (nvl(rdef.getLegendLabelAngle()).length()>0 ? 
1087                                                                    (rdef.getLegendLabelAngle().equals("UP90")?" checked":""):""):"") %>>Up 90 &deg;
1088                         <input type=radio name="labelAngle" value="DOWN45" <%= AppUtils.getRequestNvlValue(request, "labelAngle").equals("DOWN45")?" checked": ((AppUtils.getRequestNvlValue(request, "labelAngle").length()<=0)? (nvl(rdef.getLegendLabelAngle()).length()>0 ? (rdef.getLegendLabelAngle().equals("DOWN45")?" checked":""):" checked"):"") %>>Down 45 &deg;
1089                         <input type=radio name="labelAngle" value="DOWN90" <%= AppUtils.getRequestNvlValue(request, "labelAngle").equals("DOWN90")?" checked": ((AppUtils.getRequestNvlValue(request, "labelAngle").length()<=0)? (nvl(rdef.getLegendLabelAngle()).length()>0 ? (rdef.getLegendLabelAngle().equals("DOWN90")?" checked":""):" checked"):"") %>>Down 90 &deg;
1090                         <input type=radio name="labelAngle" value="STANDARD" <%= AppUtils.getRequestNvlValue(request, "labelAngle").equals("STANDARD")?" checked": ((AppUtils.getRequestNvlValue(request, "labelAngle").length()<=0)? (nvl(rdef.getLegendLabelAngle()).length()>0 ? (rdef.getLegendLabelAngle().equals("STANDARD")?" checked":""):" checked"):"") %>>Standard
1091                         </font></td>
1092                 <td>
1093                    &nbsp;
1094                 </td>  
1095         </tr>   
1096         </table>
1097         </div>
1098         
1099         <div id="drillDownOptions" style="display:none;">
1100                 <table width="100%">
1101                         <tr>
1102                                 <td colspan="2"><font class=rtabletext>Drilldown options:</font></td> 
1103                         </tr>
1104                         <tr>
1105                         <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext>Drilldown report:</font></td>
1106                         <td class=rbg3 align="left" width="50%"><font class=rtabletext>
1107                            <select name="drillDownReport" onChange="document.forma.<%= AppConstants.RI_WIZARD_ACTION %>.value='GET_DRILLDOWN_FORMFIELDS'; document.forma.submit();">
1108                            <option value="-1">Please Select</option>
1109                            <%
1110                                 Vector publicReportIdNames = DataCache.getPublicReportIdNames();
1111                                 for(int i=0; i<publicReportIdNames.size(); i++) { 
1112                                         IdNameValue reportIdName = (IdNameValue) publicReportIdNames.get(i); %>
1113                                         <option value="<%= reportIdName.getId() %>"<%= (nvl(rdef.getDrillReportIdForChart()).equals(reportIdName.getId()))?" selected":"" %>>Public Report: <%= reportIdName.getName() %></option>
1114                         <%      } %>
1115                            <%
1116                                 Vector groupReportIdNames = DataCache.getGroupAccessibleReportIdNames(AppUtils.getUserID(request),AppUtils.getUserRoles(request));
1117                                 for(int j=0; j<groupReportIdNames.size(); j++) { 
1118                                         IdNameValue reportIdName = (IdNameValue) groupReportIdNames.get(j); %>
1119                                                 <option value="<%= reportIdName.getId() %>"<%= (nvl(rdef.getDrillReportIdForChart()).equals(reportIdName.getId()))?" selected":"" %>>Group Report: <%= reportIdName.getName() %></option>
1120                             <% } %>     
1121                             <%
1122                             Vector privateReportIdNames = DataCache.getPrivateAccessibleReportIdNames(AppUtils.getUserID(request),AppUtils.getUserRoles(request));
1123                                 for(int j=0; j<privateReportIdNames.size(); j++) { 
1124                                         IdNameValue reportIdName = (IdNameValue) privateReportIdNames.get(j); %>
1125                                                 <option value="<%= reportIdName.getId() %>"<%= (nvl(rdef.getDrillReportIdForChart()).equals(reportIdName.getId()))?" selected":"" %>>Private Report: <%= reportIdName.getName() %></option>
1126             <% } %>                     
1127                                         
1128                            </select>
1129                          </font></td></tr>
1130                          <%
1131                          if(nvl(rdef.getDrillReportIdForChart()).length()>0) {
1132                                 ReportRuntime ddRr = (new ReportHandler()).loadReportRuntime(request, rdef.getDrillReportIdForChart(),
1133                                                 false);
1134                                 if (ddRr != null)
1135                                         request.setAttribute("CHART_FORMFIELDS", ddRr.getReportFormFields());
1136                          }
1137                          %> 
1138                          
1139                          
1140            <% if(request.getAttribute("CHART_FORMFIELDS")!=null) { %>
1141                                  <% ReportFormFields ddReportFormFields = (ReportFormFields) request.getAttribute("CHART_FORMFIELDS");  
1142                                   if(ddReportFormFields!=null) {            
1143                                                 for(ddReportFormFields.resetNext(); ddReportFormFields.hasNext(); ) { 
1144                                                         FormField ff = ddReportFormFields.getNext();
1145                                                         if(!ff.getFieldType().equals(FormField.FFT_BLANK)) { 
1146                                                                 
1147                                                 %>
1148                                                         <tr>
1149                                                           <td class=rbg2 align="right" width="25%" height="30"><font class=rtabletext><%=ff.getFieldDisplayName()%>:</font></td>
1150                                                           <td class=rbg3 align="left" width="50%">
1151                                                           <font class=rtabletext>
1152                                                                         <select name="drillDown_<%=ff.getFieldName()%>">
1153                                                                                 <option value="<%= ff.getFieldName() %>_xaxis" <%= rdef.isChartDrillDownContainsName(ff.getFieldName()+"_xaxis")?" selected":""%>> X Axis </option>
1154                                                                                 <option value="<%= ff.getFieldName() %>_yaxis" <%= rdef.isChartDrillDownContainsName(ff.getFieldName()+"_yaxis")?" selected":"" %>> Y Axis </option>
1155                                                                                 <option value="<%= ff.getFieldName() %>_series" <%= rdef.isChartDrillDownContainsName(ff.getFieldName()+"_series")?" selected":"" %>> Series </option>
1156                                                                         </select>
1157                                                           </font>
1158                                                           </td>
1159                                                           </tr>           
1160                                                                 <% }
1161                                                    }
1162                                   }
1163            }
1164                                   %>
1165                                                 
1166                                                                 
1167         </div>  
1168
1169         </td>
1170         </tr>
1171
1172         
1173 <%      }       // else (numColsCount==0)
1174 %>
1175 </table>
1176 <br>
1177
1178     <script language="javascript">
1179       refreshWizard();
1180     </script>
1181     
1182 <script language="JavaScript">
1183 <!--
1184 <%      if(numColsCount>0) { %>
1185 function checkValueColNew() {
1186         if(document.forma.valueColNew.selectedIndex==0)
1187                 return false;
1188         
1189         var newColId = "";
1190         newColId = document.forma.valueColNew.options[document.forma.valueColNew.selectedIndex].value;
1191 <%              for(int idx=1; idx<Math.max(chartValueCols.size(), 1)+1; idx++) { %>
1192         if(newColId==document.forma.valueCol<%= idx %>.options[document.forma.valueCol<%= idx %>.selectedIndex].value) {
1193                 alert("A column cannot be used as Chart Values Column more than once.");
1194                 document.forma.valueColNew.focus();
1195                 return false;
1196         }       // if
1197 <%              }       // for
1198 %>
1199         
1200         return true;
1201 }   // checkValueColNew
1202 <%      } %>
1203
1204
1205 function showAlertForTimeSeries() {
1206    var selectBox = document.forma.chartType;
1207    var selectedString = selectBox.options[selectBox.selectedIndex].value;
1208    refreshWizard();
1209    if(selectedString == "<%=AppConstants.GT_PIE_MULTIPLE%>") {
1210                 //var contentIframe = window.parent.document.getElementById("content_Iframe");
1211                 //contentIframe.style.height = contentIframe.clientHeight + 120; 
1212             document.getElementById("multiplePieChartOptions").style.display="block";
1213    }
1214    else {
1215           document.getElementById("multiplePieChartOptions").style.display="none";
1216    } 
1217    if(selectedString == "<%=AppConstants.GT_TIME_SERIES%>"){
1218            document.getElementById("animatedDiv").style.display="block";
1219      return confirm("WARNING: Please make sure that the Domain Axis contains only\nDATE type of values, otherwise it will throw error.\nPress Ok to continue, or Cancel to re-examine the selection.");
1220    } else if (selectedString == "<%=AppConstants.GT_BAR_3D%>"){
1221            document.getElementById("animatedDiv").style.display="block";
1222    } else if (selectedString == "<%=AppConstants.GT_PIE%>"){
1223            document.getElementById("animatedDiv").style.display="block";
1224    } else if (selectedString == "<%=AppConstants.GT_PIE_3D%>"){
1225            document.getElementById("animatedDiv").style.display="block";
1226    } else if (selectedString == "<%=AppConstants.GT_SCATTER%>"){
1227            document.getElementById("animatedDiv").style.display="block";
1228    } else 
1229            document.getElementById("animatedDiv").style.display="none";
1230    return true;
1231 }
1232 function dataValidate() {
1233             if(document.forma.maxLabelsInDomainAxis!="") {
1234                         var iVal = 0;
1235                         iVal = parseInt(document.forma.maxLabelsInDomainAxis.value);
1236                         if(isNaN(iVal)||iVal>100||iVal<=0) {
1237                                 alert("Maximum Labels in Domain Axis must be a valid integer between 1 and 100 (or blank).\nPlease correct.");
1238                                 document.forma.maxLabelsInDomainAxis.select();
1239                                 document.forma.maxLabelsInDomainAxis.focus();
1240                                 return;
1241                         }       // if
1242                         document.forma.maxLabelsInDomainAxis.value = ""+iVal;
1243             }
1244             
1245                 if(document.forma.chartWidth.value!="") {
1246                         var iVal = 0;
1247                         iVal = parseInt(document.forma.chartWidth.value);
1248                         if(isNaN(iVal)||iVal<100||iVal>1600) {
1249                                 alert("Chart Width must be a valid integer between 100 and 1600 (or blank).\nPlease correct the Chart Width.");
1250                                 document.forma.chartWidth.select();
1251                                 document.forma.chartWidth.focus();
1252                                 return;
1253                         }       // if
1254                         document.forma.chartWidth.value = ""+iVal;
1255                 }       // if
1256         if(document.forma.chartHeight.value!="") {
1257                 var iVal = 0;
1258                 iVal = parseInt(document.forma.chartHeight.value);
1259                 if(isNaN(iVal)||iVal<100||iVal>1600) {
1260                         alert("Chart Height must be a valid integer between 100 and 1600 (or blank).\nPlease correct the Chart Height.");
1261                         document.forma.chartHeight.select();
1262                         document.forma.chartHeight.focus();
1263                         return;
1264                 }       // if
1265                 document.forma.chartHeight.value = ""+iVal;
1266         }       // if
1267 <%      if(chartValueCols.size()>1) 
1268                 for(int ci=1; ci<chartValueCols.size(); ci++) { 
1269                         for(int idx=ci+1; idx<chartValueCols.size()+1; idx++) { %>
1270         if(document.forma.valueCol<%= ci %>.options[document.forma.valueCol<%= ci %>.selectedIndex].value==document.forma.valueCol<%= idx %>.options[document.forma.valueCol<%= idx %>.selectedIndex].value) {
1271                 alert("A column cannot be used as Chart Values Column more than once.");
1272                 document.forma.valueCol<%= idx %>.focus();
1273                 return false;
1274         }       // if
1275 <%              }       // for
1276         }
1277         if(isSQLBased) { %>
1278            var selectBox = document.forma.chartType;
1279            var selectedString = selectBox.options[selectBox.selectedIndex].value;
1280                 if(document.forma.chartType.selectedIndex>0) {
1281                            if(selectedString == "<%=AppConstants.GT_SCATTER%>" || selectedString == "<%=AppConstants.GT_REGRESSION%>") {
1282                                         if(document.forma.chartSeries.selectedIndex<=0) {
1283                                                 alert (" Please choose category for this Chart Type." );
1284                                                 return false;
1285                                         }
1286                                         if (selectedString == "<%=AppConstants.GT_REGRESSION%>") {
1287                                      if(document.forma && document.forma.LinearRegressionType) {
1288                                          document.forma.regressionType.value = (document.forma.LinearRegressionType.checked?"Y":"N")+(document.forma.ExpRegressionType.checked?"Y":"N");
1289                                          if (!checkNonNegativeFloat(document.forma.regressionPointCustomization.value)) {
1290                                                  alert("Please enter positive number for Customizing regression Point");
1291                                                  return false;
1292                                          }
1293                                          
1294                                      }
1295                                         }
1296                            }
1297
1298                                 /*      if (selectedString == "<%=AppConstants.GT_STACKED_VERT_BAR%>" || selectedString == "<%=AppConstants.GT_STACKED_HORIZ_BAR%>" || selectedString == "<%=AppConstants.GT_STACKED_VERT_BAR_LINES%>"
1299                                             || selectedString == "<%=AppConstants.GT_STACKED_HORIZ_BAR_LINES%>") {
1300                                                    var selectSeries = document.forma.chartSeries;
1301                                                    var selectedSeriesString = selectSeries.options[selectSeries.selectedIndex].value;
1302                                                    if(selectedSeriesString == -1) {
1303                                                            alert("Please select category for Stacked Chart. This is Mandatory.");
1304                                                            return false;
1305                                                    }
1306                                             
1307                                         } */
1308                                         
1309                 }
1310
1311                 if (!checkNonNegativeFloat(document.forma.yAxisLowerLimit.value)) {
1312                 alert("Please enter positive number for Range Axis (Minimum Range) ");
1313                 return false;
1314                 }
1315
1316                 if (!checkNonNegativeFloat(document.forma.yAxisUpperLimit.value)) {
1317                 alert("Please enter positive number for Range Axis (Maximum Range) ");
1318                 return false;
1319                 }
1320                 
1321                 if(document.forma.chartType.selectedIndex>0)
1322                         return confirm("WARNING: Please make sure that the Values column contains only\nnumeric values, otherwise your chart will not be properly displayed.\nPress Ok to continue, or Cancel to re-examine the selection.");
1323         <%  } %>
1324
1325         
1326         
1327         return true;
1328 }   // dataValidate
1329 //-->
1330 </script>
1331
1332 <%!
1333         private String nvl(String s)                  { return (s==null)?"":s; }
1334         private String nvl(String s, String sDefault) { return nvl(s).equals("")?sDefault:s; } 
1335 %>