var steps=4;var wkendBorder='1px dashed #CCCCCC';var MonthNames=new Array(TXT_JANUARY,TXT_FEBRUARY,TXT_MARCH,TXT_APRIL,TXT_MAY,TXT_JUNE,TXT_JULY,TXT_AUGUST,TXT_SEPTEMBER,TXT_OCTOBER,TXT_NOVEMBER,TXT_DECEMBER);var MonthAbbr=new Array(TXT_JAN,TXT_FEB,TXT_MAR,TXT_APR,TXT_MAY_SHORT,TXT_JUN,TXT_JUL,TXT_AUG,TXT_SEP,TXT_OCT,TXT_NOV,TXT_DEC);var DayAbbr=new Array(TXT_SUN_SHORT,TXT_MON_SHORT,TXT_TUE_SHORT,TXT_WED_SHORT,TXT_THU_SHORT,TXT_FRI_SHORT,TXT_SAT_SHORT);var SelectedBarDate=null;var prevMonthON='i/cal/left1.gif';var prevMonthOFF='i/cal/leftOff.gif';function BarChart(id,targetId,labelId,prevMonthImgId){this.ID=id;this.ChartData=new Array();this.MaxVal=0;this.LabelID=labelId;this.TargetID=targetId;this.PrevMonthImgId=prevMonthImgId;this.Month=null;this.Year=null;function drawChart(arr,m,y){var container=GetItemById(this.TargetID);if(!container)return;if(this.Month!=m||this.Year!=y){this.Month=m;this.Year=y;SelectedBarDate=null;}this.writeMonthLabel(m,y);this.ChartData=arr;this.setMaxVal();var html='';html+='<div style="float:left;width:5%;">'+this.getYAxisHtml()+'</div>';html+='<div style="float:left;width:94%;">'+this.getChartHtml(m,y)+'</div>';container.innerHTML=html;}this.drawChart=drawChart;function writeMonthLabel(m,y){var monthLabel=GetItemById(this.LabelID);if(monthLabel)monthLabel.innerHTML=MonthNames[(m-1)]+' '+y;var prevMonth=GetItemById(this.PrevMonthImgId);if(prevMonth){var now=new Date();if(m==(now.getMonth()+1)&& y==now.getFullYear()){prevMonth.src=IMG_ROOT+prevMonthOFF;prevMonth.className='';}else{prevMonth.src=IMG_ROOT+prevMonthON;prevMonth.className='monthButton';}}}this.writeMonthLabel=writeMonthLabel;function setMaxVal(){this.MaxVal=0;for(var i=0;i<this.ChartData.length;i++){if(this.ChartData[i]&& this.ChartData[i].TotalPrice>this.MaxVal)this.MaxVal=this.ChartData[i].TotalPrice;}var power=parseInt((Math.log(this.MaxVal))/(Math.log(10)))-1;var factor=(power==0?5:Math.pow(10,power));this.MaxVal=Math.ceil(this.MaxVal/(steps*factor))*(steps*factor);}this.setMaxVal=setMaxVal;function getYAxisHtml(){var yAxisHtml='';if(isNaN(this.MaxVal)){return '&nbsp;';}var interval=this.MaxVal/steps;for(var i=steps;i>0;i--){var val=parseInt(interval*i);yAxisHtml+='<div class="horizBar">'+val+'&nbsp;</div>';}return yAxisHtml;}this.getYAxisHtml=getYAxisHtml;function getChartHtml(m,y){var barHtml='<table class="chartTable" cellpadding="0" cellspacing=0><tr>';var labelHtml='<table class="labelTable" cellpadding=0 cellspacing=0><tr>';var maxHeight=steps*40;for(var i=0;i<this.ChartData.length;i++){var height=0;var date=new Date(y,(m-1),(i+1));var seldate=(SelectedBarDate?new Date(SelectedBarDate):null);var item=this.ChartData[i];var barCSS='bar';var barDiv='&nbsp;';var extraProps='';day=date.getDay();if(day==6||day==0){barCSS='weekendBar';var brd=(day==0?'border-right:'+wkendBorder:'border-left:'+wkendBorder);extraProps+=' style="'+brd+'"';}if(seldate&& date.toDateString()==seldate.toDateString()){barCSS='dayBar';}if(item!=null){height=Math.ceil(maxHeight*(item.TotalPrice/this.MaxVal));if(height>0){barDiv='<div class="'+barCSS+'"';barDiv+=' style="height:'+height+'px;"';barDiv+=' onmouseover="showTooltip(this, '+this.ID+'.GetTooltipHtml('+i+'), event)"';barDiv+=' onclick="SelectDay(this,\''+date.toDateString()+'\');FetchFlexibleDayFlights('+date.getDate()+','+item.ResultType+','+item.Way+');"></div>';}}labelHtml+='<td class="labelCell">'+date.getDate()+'</td>';barHtml+='<td class="barCell"'+extraProps+'>'+barDiv+'</td>';}labelHtml+='</tr></table>';barHtml+='</tr></table>';return(barHtml+labelHtml);}this.getChartHtml=getChartHtml;}function SelectDay(bar,date){if(SelectedBarDate!=date){SelectedBarDate=date;}}function GetItemById(id){return(document.all?document.all[id]:document.getElementById(id));}
