// DO NOT MODIFY THIS SCRIPT
// To Customize your Bar Chart and
// Fill the Data use the Next Script

//Nicola Zordan, Tuesday, 16 May 2000
//Nicola.Zordan@bigfoot.com
//http://ZordanNicola.n3.net
//http:/Nicola.n3.net

var ChartName, ChartBorder, BarsNumber, BarPicture, BarName, BarValue, BarURL, i, AllowNames, FromZero, Orizzontal;
var BarPictureId, BarFieldId, Bar0Size, ValuesStaticText;
var Month= new Array('January','February','March','April','May','June','July','August','September','October','November','December');
var MaxHeight=400, MaxWidth=600;
var Day= new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
var CellHeight, CellWidth=MaxWidth/12;
BarPictureId='Bar';
BarFieldId='BarInput';
Bar0Size=5;

// Main Data Definition
// To change please change them in FillChartData() function
ChartName='Monthly Bar Chart';
ChartBorder=1;
BarsNumber=12;
MaxHeight=300;
MaxWidth=500;
AllowNames=true;
FromZero=true;
Orizzontal=false;
ValuesStaticText=false;

CellWidth=MaxWidth/BarsNumber;

//alert('Debug: '+CellWidth);

function DisplayChart() {
var Max, Min, vScale;
var i, obj;
  if (Orizzontal == true) { DisplayOrizzontal(); return; };
  CellWidth=MaxWidth/BarsNumber;
//  for (i=0;i<12;i++) {
//    obj=val+Month[i];
//    MonthValue[i]=eval(form[obj].value);
//  };
  Max=BarValue[0];
  Min=BarValue[0];
  for (i=1;i<BarsNumber;i++) {
    if (Max < BarValue[i]) {Max=BarValue[i];};
    if (Min > BarValue[i]) {Min=BarValue[i];};
  };
  if (FromZero == true) {
    if (Max == 0) { vScale = Min * -1; }
    else { vScale=MaxHeight/Max; };
   }
   else {
    if (Max == Min) { vScale = MaxHeight; }
    else { vScale=MaxHeight/(Max-Min); };
  };
  for (i=0;i<BarsNumber;i++) {
    if (FromZero == true) { CellHeight=BarValue[i] * vScale + Bar0Size ; }
     else { CellHeight=(BarValue[i]-Min)*vScale + Bar0Size ; };
    if (Max == Min) { CellHeight = MaxHeight + Bar0Size; }
//    obj=BarPictureId+BarName[i];
    obj=BarPictureId+i;
//alert('Debug: '+obj);
    document[obj].width=CellWidth;
    document[obj].height=CellHeight;
    document[obj].alt=BarName[i]+' ['+BarValue[i]+']';
  };
}; 



function WriteChartTable() {
var Max, Min, vScale;
var i, obj;
  if (Orizzontal == true) { WriteOrizzontal(); return; };
  CellWidth=MaxWidth/BarsNumber;
//  for (i=0;i<12;i++) {
//    obj=val+Month[i];
//    MonthValue[i]=eval(form[obj].value);
//  };
  Max=BarValue[0];
  Min=BarValue[0];
  for (i=1;i<BarsNumber;i++) {
    if (Max < BarValue[i]) {Max=BarValue[i];};
    if (Min > BarValue[i]) {Min=BarValue[i];};
  };
  if (FromZero == true) {
    if (Max == 0) { vScale = Min * -1; }
    else { vScale=MaxHeight/Max; };
   }
   else {
    if (Max == Min) { vScale = MaxHeight; }
    else { vScale=MaxHeight/(Max-Min); };
  };
//--
 //Create Table
// if (Orizzontal == true) { WriteOrizzontal(); return; };
 document.write('<TABLE BORDER='+ChartBorder+'>');
 document.write('<TR><TH COLSPAN='+BarsNumber+'>'+ChartName+'</TH></TR>');
 document.write('<TR>');
 for(i=0;i<BarsNumber;i++) {
//   document.write('<TD VALIGN="bottom" ALIGN="center"><IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+BarName[i]+'"></TD>');
//   document.write('<TD VALIGN="bottom" ALIGN="center"><IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+i+'"></TD>'); 
   document.write('<TD VALIGN="bottom" ALIGN="center">');
//alert('Debug: BarURL='+BarURL[i]);
   if (BarURL[i] > ' ') {
    document.write('<A HREF="'+BarURL[i]+'" ALT="'+BarName[i]+' '+BarValue[i]+'" 0WIDHT="">');
   };
   if ( ValuesStaticText == true ) {
    document.write('<SMALL>'+BarValue[i]+'</SMALL><br>');
   };
//--
    if (FromZero == true) { CellHeight=BarValue[i] * vScale + Bar0Size ; }
     else { CellHeight=(BarValue[i]-Min)*vScale + Bar0Size ; };
    if (Max == Min) { CellHeight = MaxHeight + Bar0Size; }
//--
   document.write('<IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+i+'" border="0" WIDTH="'+CellWidth+'" HEIGHT="'+CellHeight+'">');
   if (BarURL[i] > ' ') {
    document.write('</A>');
   };
   document.write('</TD>'); 
 };
 document.write('</TR>');
 if (AllowNames == true) {
  document.write('<TR>');
  for(i=0;i<BarsNumber;i++) {
//    document.write('<TD VALIGN="bottom" ALIGN="center">'+BarName[i]+'</TD>');
   document.write('<TD VALIGN="top" ALIGN="center">');
   if (BarURL[i] > ' ') {
    document.write('<A HREF="'+BarURL[i]+'">');
   };
   document.write(BarName[i]);
   if (BarURL[i] > ' ') {
    document.write('</A>');
   };
   document.write('</TD>'); 
  };
  document.write('</TR>');
 };
 document.write('</TABLE>');
};


function WriteChartTableIE() {
 //Create Table
 if (Orizzontal == true) { WriteOrizzontal(); return; };
 document.write('<TABLE BORDER='+ChartBorder+'>');
 document.write('<TR><TH COLSPAN='+BarsNumber+'>'+ChartName+'</TH></TR>');
 document.write('<TR>');
 for(i=0;i<BarsNumber;i++) {
//   document.write('<TD VALIGN="bottom" ALIGN="center"><IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+BarName[i]+'"></TD>');
//   document.write('<TD VALIGN="bottom" ALIGN="center"><IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+i+'"></TD>'); 
   document.write('<TD VALIGN="bottom" ALIGN="center">');
//alert('Debug: BarURL='+BarURL[i]);
   if (BarURL[i] > ' ') {
    document.write('<A HREF="'+BarURL[i]+'" ALT="'+BarName[i]+' '+BarValue[i]+'" 0WIDHT="">');
   };
   if ( ValuesStaticText == true ) {
    document.write('<SMALL>'+BarValue[i]+'</SMALL><br>');
   };
   document.write('<IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+i+'" border="0">');
   if (BarURL[i] > ' ') {
    document.write('</A>');
   };
   document.write('</TD>'); 
 };
 document.write('</TR>');
 if (AllowNames == true) {
  document.write('<TR>');
  for(i=0;i<BarsNumber;i++) {
//    document.write('<TD VALIGN="bottom" ALIGN="center">'+BarName[i]+'</TD>');
   document.write('<TD VALIGN="top" ALIGN="center">');
   if (BarURL[i] > ' ') {
    document.write('<A HREF="'+BarURL[i]+'">');
   };
   document.write(BarName[i]);
   if (BarURL[i] > ' ') {
    document.write('</A>');
   };
   document.write('</TD>'); 
  };
  document.write('</TR>');
 };
 document.write('</TABLE>');
};


function WriteChartInputFields() {
 //Create Table
 document.write('<FORM NAME="BarInput">');
 document.write('<TABLE BORDER='+ChartBorder+'>');
 document.write('<TR><TH COLSPAN='+2+'>'+ChartName+' Input</TH></TR>');
 for(i=0;i<BarsNumber;i++) {
   document.write('<TR>');
//   document.write('<TD VALIGN="bottom" ALIGN="center"><IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+BarName[i]+'"></TD>');
//   document.write('<TD VALIGN="bottom" ALIGN="center"><IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+i+'"></TD>'); 
   document.write('<TD>'+BarName[i]+'</TD>');
   document.write('<TD>');
//alert('Debug: BarURL='+BarURL[i]);
   document.write('<INPUT TYPE="TEXT" VALUE="'+BarValue[i]+'" NAME="'+BarFieldId+i+'" border="0">');
   document.write('</TD>'); 
   document.write('</TR>');
 };
   document.write('<TR>');
   document.write('<TD COLSPAN="2" ALIGN="CENTER">');
   document.write('<INPUT TYPE="BUTTON" VALUE="Display Values" onClick="DisplayInputOnChart();">');
   document.write('</TD>'); 
   document.write('</TR>');
 document.write('</TABLE>');
 document.write('</FORM>');
};


function BarInputValueSet() {
var i, obj;
 for (i=0;i<BarsNumber;i++) {
  obj=BarFieldId+i;
  document.BarInput[obj].value=BarValue[i];
 }; 
};

function BarValueFromInput() {
var i, obj;
  for (i=0;i<BarsNumber;i++) {
    obj=BarFieldId+i;
//alert('Debug: '+obj);
    BarValue[i]=eval(document.BarInput[obj].value);
  };
  DisplayChart();
};


function DisplayInputOnChart() {
  BarValueFromInput();
  DisplayChart();
};


function BarRandomValues() {
 for (i=0;i<BarsNumber;i++) {
  BarValue[i]=Math.floor(Math.random()*100);
 }; 
};

function InitializeTest() {
 //Initialize all
 for (i=0;i<BarsNumber;i++) {
  BarPicture[i]='BarBlue.gif';
  BarName[i]=Month[i%12];
  BarURL[i]='http://www.mclink.it/personal/MC2074/web/calendar.htm';
 }; 
 BarRandomValues();
};


function DisplayOrizzontal() {
var Max, Min, oScale;
var i, obj;
  if (Orizzontal != true) { DisplayChart(); return; };
  CellHeight=MaxHeight/BarsNumber;
  Max=BarValue[0];
  Min=BarValue[0];
  for (i=1;i<BarsNumber;i++) {
    if (Max < BarValue[i]) {Max=BarValue[i];};
    if (Min > BarValue[i]) {Min=BarValue[i];};
  };
  if (FromZero == true) {
    if (Max == 0) { oScale = Min * -1; }
    else { oScale=MaxWidth/Max; };
   }
   else {
    if (Max == Min) { oScale = MaxWidth; }
    else { oScale=MaxWidth/(Max-Min); };
  };
  for (i=0;i<BarsNumber;i++) {
    if (FromZero == true) { CellWidth=BarValue[i] * oScale + Bar0Size ; }
     else { CellWidth=(BarValue[i]-Min)*oScale + Bar0Size ; };
    if (Max == Min) { CellWidth = MaxWidth + Bar0Size; }
//    obj=BarPictureId+BarName[i];
    obj=BarPictureId+i;
//alert('Debug: '+obj);
    document[obj].width=CellWidth;
    document[obj].height=CellHeight;
    document[obj].alt=BarName[i]+' ['+BarValue[i]+']';
  };
}; 



function WriteOrizzontal() {
var Max, Min, oScale;
var i, obj;
  if (Orizzontal != true) { WriteChartTable(); return; };
  CellHeight=MaxHeight/BarsNumber;
  Max=BarValue[0];
  Min=BarValue[0];
  for (i=1;i<BarsNumber;i++) {
    if (Max < BarValue[i]) {Max=BarValue[i];};
    if (Min > BarValue[i]) {Min=BarValue[i];};
  };
  if (FromZero == true) {
    if (Max == 0) { oScale = Min * -1; }
    else { oScale=MaxWidth/Max; };
   }
   else {
    if (Max == Min) { oScale = MaxWidth; }
    else { oScale=MaxWidth/(Max-Min); };
  };
//--
 //Create Table Orizzontal bars
// if (Orizzontal != true) { WriteChartTable(); return; };
 document.write('<TABLE BORDER='+ChartBorder+'>');
 document.write('<TR>');
 if (AllowNames == true) {
   document.write('<TH COLSPAN="2">');
  }
  else {
   document.write('<TH>');
 };
 document.write(ChartName+'</TH></TR>');
 for(i=0;i<BarsNumber;i++) {
   document.write('<TR>');
   if (AllowNames == true) {
    document.write('<TD ALIGN="right">');
    if (BarURL[i] > ' ') {
      document.write('<A HREF="'+BarURL[i]+'">');
    };
    document.write(BarName[i]);
    if (BarURL[i] > ' ') {
      document.write('</A>');
    };
    document.write('</TD>');
   };
   document.write('<TD ALIGN="left">');
   if (BarURL[i] > ' ') {
    document.write('<A HREF="'+BarURL[i]+'">');
   };
//--
    if (FromZero == true) { CellWidth=BarValue[i] * oScale + Bar0Size ; }
     else { CellWidth=(BarValue[i]-Min)*oScale + Bar0Size ; };
    if (Max == Min) { CellWidth = MaxWidth + Bar0Size; }
//--
   document.write('<IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+i+'" border="0" WIDTH="'+CellWidth+'" HEIGHT="'+CellHeight+'" ALIGN="CENTER">');
   if ( ValuesStaticText == true ) {
    document.write(' <SMALL>'+BarValue[i]+'</SMALL>');
   };
   if (BarURL[i] > ' ') {
    document.write('</A>');
   };
   document.write('</TD>'); 
 };
 document.write('</TR>');
 document.write('</TABLE>');
};



function WriteOrizzontalIE() {
 //Create Table Orizzontal bars
 if (Orizzontal != true) { WriteChartTable(); return; };
 document.write('<TABLE BORDER='+ChartBorder+'>');
 document.write('<TR>');
 if (AllowNames == true) {
   document.write('<TH COLSPAN="2">');
  }
  else {
   document.write('<TH>');
 };
 document.write(ChartName+'</TH></TR>');
 for(i=0;i<BarsNumber;i++) {
   document.write('<TR>');
   if (AllowNames == true) {
    document.write('<TD ALIGN="right">');
    if (BarURL[i] > ' ') {
      document.write('<A HREF="'+BarURL[i]+'">');
    };
    document.write(BarName[i]);
    if (BarURL[i] > ' ') {
      document.write('</A>');
    };
    document.write('</TD>');
   };
   document.write('<TD ALIGN="left">');
   if (BarURL[i] > ' ') {
    document.write('<A HREF="'+BarURL[i]+'">');
   };
   document.write('<IMG SRC="'+BarPicture[i]+'" NAME="'+BarPictureId+i+'" border="0" ALIGN="CENTER">');
   if ( ValuesStaticText == true ) {
    document.write(' <SMALL>'+BarValue[i]+'</SMALL>');
   };
   if (BarURL[i] > ' ') {
    document.write('</A>');
   };
   document.write('</TD>'); 
 };
 document.write('</TR>');
 document.write('</TABLE>');
};



