anchor.diff:                  }
               }
           };
  -
  -	for (var p in data.perspectiveItems) {
  -		for (var o in data.perspectiveItems[p].objectives) {
  -			var objectiveItem = data.perspectiveItems[p].objectives[o];
  -			var divChartId = "BSC_PROG003D0009Q_objectives_container_" + objectiveItem.objId;
  +    
  +    for (var p in vision.perspectives) {
  +    	var perspective = vision.perspectives[p];
  +		var divChartId = "BSC_PROG003D0009Q_perspectives_container_" + perspective.perId;
  +		
  +		var maxVal = perspective.target;
  +		if (perspective.score > maxVal) {
  +			maxVal = perspective.score;
  +		}
  +		
  +	    $( '#'+divChartId ).highcharts(Highcharts.merge(gaugeOptions, {
  +	        yAxis: {
  +	            min: 0,
  +	            max: maxVal,
  +	            title: {
  +	                text: perspective.name
  +	            }
  +	        },
  +
  +	        credits: {
  +	            enabled: false
  +	        },
  +
  +	        series: [{
  +	            name: perspective.name,
  +	            data: [ parseFloat( BSC_PROG003D0009Q_parseScore(perspective.score) ) ],
  +	            dataLabels: {
  +	                format: '<div style="text-align:center"><span style="font-size:25px;color:' +
  +	                    ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y}</span><br/>' +
  +	                       '<span style="font-size:12px;color:silver">Score</span></div>'
  +	            },
  +	            tooltip: {
  +	                valueSuffix: ' Score'
  +	            }
  +	        }]
  +
  +	    }));
  +	    
  +    }  
  +	
  +	
  +}
  +
  +
  +function BSC_PROG003D0009Q_showChartForPerspectivesDateRange(data) {
  +	
  +	if ( null == data.perspectiveCategories || data.perspectiveCategories.length < 2 ) {
  +		return;
  +	}
  +	
  +    $('#BSC_PROG003D0009Q_perspectives_daterange_container').highcharts({
  +        title: {
  +            text: data.perspectiveTitle + ' trend',
  +            x: -20 //center
  +        },
  +        subtitle: {
  +            text: 'Frequency : ' + data.displayFrequency + '  date range : ' + data.displayDateRange1 + ' ~ ' + data.displayDateRange2,
  +            x: -20
  +        },
  +        xAxis: {
  +            categories: data.perspectiveCategories
  +        },
  +        yAxis: {
  +            title: {
  +                text: 'Score'
  +            },
  +            plotLines: [{
  +                value: 0,
  +                width: 1,
  +                color: '#808080'
  +            }]
  +        },
  +        tooltip: {
  +            valueSuffix: ' Score'
  +        },
  +        legend: {
  +            layout: 'vertical',
  +            align: 'right',
  +            verticalAlign: 'middle',
  +            borderWidth: 0
  +        },
  +        series: data.perspectiveSeries
  +    });
  +    
  +}
  +// =========================================================================================================
  +// End - Perspectives
  +// =========================================================================================================
  +
  +
  +
  +// =========================================================================================================
  +// Begin - Strategy objectives
  +// =========================================================================================================
  +function BSC_PROG003D0009Q_showTableContent2( data ) {
  +	var vision = data.vision;
  +	var t = '';
  +	var c = 0;
  +	t += '<table width="1100px" cellspacing="1" cellpadding="1" bgcolor="' + data.backgroundColor + '" style="border:1px ' + data.backgroundColor  + ' solid; border-radius: 5px;" >';
  +	
  +	var headColspan = 4 + vision.perspectives[0].objectives[0].dateRangeScores.length;
  +	t += '<tr>';
  +	t += '<td bgcolor="' + data.backgroundColor + '" align="center" colspan="' + headColspan + '"><font color="' + data.fontColor + '"><b>' + data.vision.title + '</b></font></td>';
  +	t += '</tr>';
  +	
  +	for (var p in vision.perspectives) {
  +		var perspective = vision.perspectives[p];
  +		
  +		for (var o in perspective.objectives) {
   			
  -			var maxVal = objectiveItem.target;
  -			if (objectiveItem.score > maxVal) {
  -				maxVal = objectiveItem.score;
  +			var objective = perspective.objectives[o];
  +			
  +			if ( c == 0 ) {
  +				t += '<tr>';
  +				t += '<td bgcolor="' + data.backgroundColor + '" align="left" width="320px"><font color="' + data.fontColor + '"><b>' + data.objectiveTitle + '</b></font></td>';
  +				t += '<td bgcolor="' + data.backgroundColor + '" align="left"><font color="' + data.fontColor + '"><b>Target</b></font></td>';
  +				t += '<td bgcolor="' + data.backgroundColor + '" align="left"><font color="' + data.fontColor + '"><b>Minimum</b></font></td>';	
  +				t += '<td bgcolor="' + data.backgroundColor + '" align="left"><font color="' + data.fontColor + '"><b>Score</b></font></td>';
  +				for ( var r in objective.dateRangeScores ) {
  +					t += '<td bgcolor="' + data.backgroundColor + '" align="left"><font color="' + data.fontColor + '"><b>' + objective.dateRangeScores[r].date + '</b></font></td>';					
  +				}
  +				t += '</tr>';			
   			}
  -			
  -			BSC_PROG003D0009Q_setSpeedGaugeChart(gaugeOptions, divChartId, objectiveItem.name, maxVal, objectiveItem.score);
  -			
  +			t += '<tr>';
  +			t += '<td bgcolor="#ffffff" align="left">' + objective.name + '</td>';
  +			t += '<td bgcolor="#ffffff" align="left">' + objective.target + '</td>';
  +			t += '<td bgcolor="#ffffff" align="left">' + objective.min + '</td>';	
  +			t += '<td bgcolor="' + objective.bgColor + '" align="center"><font color="' + objective.fontColor + '">' + BSC_PROG003D0009Q_parseScore(objective.score) + '</font></td>';	
  +			for ( var r in objective.dateRangeScores ) {
  +				t += '<td bgcolor="' + objective.dateRangeScores[r].bgColor + '" align="center"><font color="' + objective.dateRangeScores[r].fontColor + '">' + BSC_PROG003D0009Q_parseScore(objective.dateRangeScores[r].score) + '</font></td>';					
  +			}
  +			t += '</tr>';			
  +			c++;			
   		}
  -	}    
  -	
  -	
  -}
  -
  -
  -function BSC_PROG003D0009Q_showChartForKpis(data) {
  -	
  -	dojo.byId("BSC_PROG003D0009Q_kpis_alert_title").innerHTML = '<span class="isa_info"><b>KPIs</b></span>';
  +		
  +	}
  +	
  +	t += '<tr>';
  +	t += '<td bgcolor="' + data.backgroundColor + '" align="left" colspan="' + headColspan + '"><font color="' + data.fontColor + '"><b>Frequency&nbsp;:&nbsp;' + data.displayFrequency + '&nbsp;&nbsp;date range&nbsp;:&nbsp;' + data.displayDateRange1 + '&nbsp;~&nbsp;' + data.displayDateRange2 + '&nbsp;&nbsp;Measure data type&nbsp;:&nbsp;' + data.measureDataTypeForTitle + '</b></font></td>';
  +	t += '</tr>';	
  +	t += '</table>';
  +	dojo.byId("BSC_PROG003D0009Q_content2").innerHTML = t;
  +}
  +
  +
  +function BSC_PROG003D0009Q_showChartForObjectives(data) {
  +	
  +	var vision = data.vision;
   	
   	var chartDivContent = "";
  -	for (var p in data.perspectiveItems) {
  -		for (var o in data.perspectiveItems[p].objectives) {
  -			var objectiveItem = data.perspectiveItems[p].objectives[o];
  -			for (var k in objectiveItem.kpis) {
  -				var kpi = objectiveItem.kpis[k];
  -				var divChartId = "BSC_PROG003D0009Q_kpi_container_" + kpi.id;
  -				chartDivContent += '<div id="' + divChartId +'" style="width: 300px; height: 200px; float: left"></div>';
  -			}
  +	for (var p in vision.perspectives) {
  +		var perspective = vision.perspectives[p];
  +		
  +		for (var o in perspective.objectives) {
  +			var objective = perspective.objectives[o];
  +			var divChartId = "BSC_PROG003D0009Q_objectives_container_" + objective.objId;
  +			chartDivContent += '<div id="' + divChartId +'" style="width: 300px; height: 200px; float: left"></div>';			
   		}
  -	}
  -	$("#BSC_PROG003D0009Q_kpis_container").html( chartDivContent );
  +		
  +	}
  +	$("#BSC_PROG003D0009Q_objectives_container").html( chartDivContent );
   	
       var gaugeOptions = {
   
  
positive.code:             verticalAlign: 'middle',
              borderWidth: 0
          },
          series: data.series
      });
      
  }
  
  
  function BSC_PROG003D0009Q_clearContent() {
  	// only clear Trend chart
  	dojo.byId("BSC_PROG003D0009Q_kpi_daterange_alert_title").innerHTML = "";
  	dojo.byId("BSC_PROG003D0009Q_kpi_daterange_container").innerHTML = "";
  }
  
  function BSC_PROG003D0009Q_parseScore( score ) {
  	var scoreStr = viewPage.roundFloat(score, 2) + '';
  
negative.code: BSC_PROG003D0009Q_fieldsId['measureDataOrganizationOid'] 	= 'BSC_PROG003D0009Q_measureDataOrganizationOid';
  BSC_PROG003D0009Q_fieldsId['measureDataEmployeeOid'] 		= 'BSC_PROG003D0009Q_measureDataEmployeeOid';
  
  
  function BSC_PROG003D0009Q_setDataForValue() {
  	dijit.byId('BSC_PROG003D0009Q_measureDataOrganizationOid').set("value", _gscore_please_select_id);
  	dijit.byId('BSC_PROG003D0009Q_measureDataEmployeeOid').set("value", _gscore_please_select_id);	
  	dijit.byId('BSC_PROG003D0009Q_measureDataOrganizationOid').set('readOnly', true);
  	dijit.byId('BSC_PROG003D0009Q_measureDataEmployeeOid').set('readOnly', true);
  	var dataFor = dijit.byId("BSC_PROG003D0009Q_dataFor").get("value");
  	if ('employee' == dataFor) {
  		dijit.byId('BSC_PROG003D0009Q_measureDataEmployeeOid').set('readOnly', false);
  	}
  	if ('organization' == dataFor) {
  		dijit.byId('BSC_PROG003D0009Q_measureDataOrganizationOid').set('readOnly', false);
  	}	
  }
  
  function BSC_PROG003D0009Q_setMeasureDataOrgaValue() {
  	var dataFor = dijit.byId("BSC_PROG003D0009Q_dataFor").get("value");
  	if ('all' == dataFor || 'employee' == dataFor) {
  		dijit.byId('BSC_PROG003D0009Q_measureDataOrganizationOid').set("value", _gscore_please_select_id);
  	}
  }
  
  function BSC_PROG003D0009Q_setMeasureDataEmplValue() {
  	var dataFor = dijit.byId("BSC_PROG003D0009Q_dataFor").get("value");
  	if ('all' == dataFor || 'organization' == dataFor) {
  		dijit.byId('BSC_PROG003D0009Q_measureDataOrganizationOid').set("value", _gscore_please_select_id);
  	}	
  }
  
  function BSC_PROG003D0009Q_setFrequencyValue() {
  	var frequency = dijit.byId("BSC_PROG003D0009Q_frequency").get("value");
  	dijit.byId("BSC_PROG003D0009Q_startYearDate").set("readOnly", true);
  	dijit.byId("BSC_PROG003D0009Q_endYearDate").set("readOnly", true);
  	dijit.byId("BSC_PROG003D0009Q_startDate").set("readOnly", true);
  	dijit.byId("BSC_PROG003D0009Q_endDate").set("readOnly", true);
  	if ( frequency == _gscore_please_select_id ) {
  		return;
  	}
  	if ('1' == frequency || '2' == frequency || '3' == frequency) { // day, week, month
  		dijit.byId("BSC_PROG003D0009Q_startDate").set("readOnly", false);
  		dijit.byId("BSC_PROG003D0009Q_endDate").set("readOnly", false);		
  	} else { // quarter, half-year, year
  		dijit.byId("BSC_PROG003D0009Q_startYearDate").set("readOnly", false);
  		dijit.byId("BSC_PROG003D0009Q_endYearDate").set("readOnly", false);				
  	}
  }
  
  
  function BSC_PROG003D0009Q_query() {
  	BSC_PROG003D0009Q_clearContent();
  	setFieldsBackgroundDefault(BSC_PROG003D0009Q_fieldsId);
  	setFieldsNoticeMessageLabelDefault(BSC_PROG003D0009Q_fieldsId);
  	xhrSendParameter(
  			'${basePath}/bsc.dashboardNewContentAction.action', 
  			{ 
  				'fields.visionOid' 					: 	dijit.byId("BSC_PROG003D0009Q_visionOid").get("value"),
  				'fields.startYearDate'				:	dijit.byId("BSC_PROG003D0009Q_startYearDate").get('displayedValue'),
  