/* 
 * Copyright 2006, David H. Marlin
 */

// redirect if url is www.zianet.com/mhsband
//if (location.hostname != "www.mayfieldhsband.org")
//{
  //alert("Please note:\n\n   The correct address for the MHS Band website is www.mayfieldhsband.org.      \n\n   The address www.zianet.com/mhsband will no longer work.\n\n   Please update your bookmarks and links.\n\n   This page will redirect to the correct address when you click 'OK'.\n\n");
  //pname=location.pathname;
  //loc=pname.indexOf("/mhsband");
  //if ( loc > -1)
     //pname=pname.substr(loc+8);
  //location.replace("http://www.mayfieldhsband.org"+pname);
  //location.replace("http://www.mayfieldhsband.org/updateurl.htm?"+pname);
//}

/* 
 *  Classes
 */

/*********************************
 * the Menu class
 *********************************/

function Menus(numMain)
{
   this.maxItems = 7;
   this.theData = new Array(numMain);
   this.numMain = numMain;
   this.numLevels = 3;
   this.theMenus = new Array();
   this.itemCounters=new Array(this.numLevels);
   for (var ii=1;ii<=this.numLevels;ii++)
      this.itemCounters[ii]=0;
}

Menus.prototype.AddMain=function(name, text, url, numSubs) 
{
   this.itemCounters[1]++;
   this.theData[this.itemCounters[1]] = new MenuItem(name, text, url, numSubs);
   //var prn = this.theData[this.itemCounters[1]];
   //document.write("<br>Item "+this.itemCounters[1]+": name "+prn.name+", text "+prn.text+", url "+prn.url);
   if (this.numLevels > 1)
      this.itemCounters[2]=0;
}

Menus.prototype.AddSub=function(name, text, url, numSubs) 
{
   this.itemCounters[2]++;
   this.theData[this.itemCounters[1]].theData[this.itemCounters[2]] = new MenuItem(name, text, url, numSubs);
   //var prn = this.theData[this.itemCounters[1]].theData[this.itemCounters[2]];
   //document.write("<br>&nbsp;&nbsp;Item "+this.itemCounters[1]+", "+this.itemCounters[2]+": name "+prn.name+", text "+prn.text+", url "+prn.url);
   if (this.numLevels > 2)
      this.itemCounters[3]=0;
}

Menus.prototype.AddSubSub=function(name, text, url) 
{
   this.itemCounters[3]++;
   this.theData[this.itemCounters[1]].theData[this.itemCounters[2]].theData[this.itemCounters[3]] = new MenuItem(name, text, url, 0);
   //var prn = this.theData[this.itemCounters[1]].theData[this.itemCounters[2]].theData[this.itemCounters[3]];
   //document.write("<br>&nbsp;&nbsp;&nbsp;&nbsp;Item "+this.itemCounters[1]+", "+this.itemCounters[2]+", "+this.itemCounters[3]+": name "+prn.name+", text "+prn.text+", url "+prn.url);
}

Menus.prototype.Done=function() 
{
  this.theMenus["free"]=this.BuildMenu(0,0);
  for(var ii=1;ii<=this.numMain;ii++)
   {
     var topMenuData = this.theData[ii];
     this.theMenus[topMenuData.name]=this.BuildMenu(ii,0, 0);
      
      for(var jj=1;jj<=topMenuData.numSubs;jj++)
      {
         var numSubSubs = this.theData[ii].theData[jj].numSubs;
         if (numSubSubs > 0)
         {
            menuBar = new MenuBar(1);
            for(var kk=1;kk<=numSubSubs;kk++)
               menuBar.AddItem(this.theData[ii].theData[jj].theData[kk].text, this.theData[ii].theData[jj].theData[kk].url);
            menuBar.Done();
            //this.theMenus[topMenuData.theData[jj].name]=this.BuildMenu(ii,jj, 0)+"&nbsp;"+menuBar.GetMenuBar(0);
            this.theMenus[topMenuData.theData[jj].name]=this.BuildMenu(ii,jj, 0)+menuBar.GetMenuBar(0);
         }
         else
            this.theMenus[topMenuData.theData[jj].name]=this.BuildMenu(ii,jj, 0);
         var subMenuData = topMenuData.theData[jj];
         for(var kk=1;kk<=numSubSubs;kk++)
            //this.theMenus[subMenuData.theData[kk].name]=this.BuildMenu(ii,jj, kk)+"&nbsp;"+menuBar.GetMenuBar(kk);
            this.theMenus[subMenuData.theData[kk].name]=this.BuildMenu(ii,jj, kk)+menuBar.GetMenuBar(kk);
         
      }
   }
}

Menus.prototype.BuildMenu=function(mainNdx, subNdx, subsubNdx)
{
   var width = MASTER_WIDTH-HEADER_OFFSET;
   var mD = "<table width="+width+"px class=menu>"; 
   //var mD = "<table width=100% class=menu>"; 
   for(var ii=1;ii<=this.numMain;ii++)
   {
      if(ii==mainNdx) //selected item
        if(subNdx==0) //no sub item selected
           mD += "<td class=menu2 width="+CELL_WIDTH+">"+this.theData[ii].text+"</td>";
        else          //sub item selected
           mD += "<td class=menu2 width="+CELL_WIDTH+"><a href="+this.theData[ii].url+" class=menu2>"+this.theData[ii].text+"</a></td>";
      else            //not selected
        mD += "<td class=menu1 width="+CELL_WIDTH+"><a href="+this.theData[ii].url+" class=menu1>"+this.theData[ii].text+"</a></td>";
   } 
   for(var ii=this.numMain+1;ii<=this.maxItems;ii++)
      mD += "<td class=menu1 width="+CELL_WIDTH+">&nbsp;</td>";
   mD += "</tr><tr>";

   var numSubs;
   if(mainNdx==0)
     numSubs=0;
   else
   {
      numSubs = this.theData[mainNdx].numSubs;
      for(var ii=1;ii<=numSubs;ii++)
      {
         if(ii==subNdx)
            if(subsubNdx==0)
               mD += "<td class=menu2s width="+CELL_WIDTH+">"+this.theData[mainNdx].theData[ii].text+"</td>";
            else
               mD += "<td class=menu2s width="+CELL_WIDTH+"><a href="+this.theData[mainNdx].theData[ii].url+" class=menu2s>"+this.theData[mainNdx].theData[ii].text+"</a></td>";
         else
            mD += "<td class=menu2 width="+CELL_WIDTH+"><a href="+this.theData[mainNdx].theData[ii].url+" class=menu2>"+this.theData[mainNdx].theData[ii].text+"</a></td>";
      }
   }
   for(var ii=numSubs+1;ii<=this.maxItems;ii++)
      mD += "<td class=menu2 width="+CELL_WIDTH+">&nbsp;</td>";

   mD += "</tr><tr><td class=menu3 colspan=7><a href=/calendar/calendar.asp class=menu3>calendar</a> | <a href=/announcements/announcements.asp class=menu3>announcements</a> | <a href=/sitemap.htm class=menu3>site map</a> | <a href=/contacts.htm class=menu3>contact us&nbsp;</a></td></tr></table>";

   return mD;
}

Menus.prototype.GetMenuTable=function(name){return this.theMenus[name];}

Menus.prototype.GetSiteMap=function()
{
   var numPages=0;
   for(var ii=1;ii<=this.numMain;ii++)
   {
      var mainData=this.theData[ii];
      numPages+=mainData.numSubs+2;
      for (var jj=1;jj<=mainData.numSubs;jj++)
         numPages+=mainData.theData[jj].numSubs;
   }
   numPages+=3; //including grey menu bar
   numPages/=3;
   //document.write(numPages+"<br>");
   col=1;
   var mDl="", mDc="", mDr="", count=0;
   for(var ii=1;ii<=this.numMain;ii++)
   {
      var mainData=this.theData[ii];
      var mD="<a class=index1 href="+mainData.url+">"+mainData.text+"</a><br>"; count++;
      for (var jj=1;jj<=mainData.numSubs;jj++)
      {
         var subData=mainData.theData[jj];
         mD += "&nbsp;&nbsp;&nbsp;&nbsp;<a class=index2 href="+subData.url+">"+subData.text+"</a><br>"; count++;
         for (var kk=1;kk<=subData.numSubs;kk++)
         {
            var subsubData=subData.theData[kk];
            mD += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class=index3 href="+subsubData.url+">"+subsubData.text+"</a><br>"; count++;
         }
      }
      mD+="<br>"; count++;

      if (col==1)
         mDl+=mD;
      else if (col==2)
         mDc+=mD;
      else
         mDr+=mD;

      if (col==1 && count>numPages+2) //numPages
         col=2;
      if (col==2 && count>2*numPages) //2*numPages
         col=3;

   }
   mDr += "<a class=index1 href=/calendar/calendar.asp>calendar</a><br><a class=index1 href=/announcements/announcements.asp>announcements</a><br><a class=index1 href=/contacts.htm>contact us</a>";
   
   //(row, col, colspan, classs, width, otheratts, fontclass, content)
   siteTable=new Table(3,"","95%","valign=top");
   siteTable.AddCell(1,1,0,"","","valign=top","",mDl);
   siteTable.AddCell(1,2,0,"","","valign=top","",mDc);
   siteTable.AddCell(1,3,0,"","","valign=top","",mDr);
   siteTable.WriteTable();
}

function MenuItem(name, text, url, numSubs)
{
   this.name = name;
   this.text = text;
   this.url = url;
   this.numSubs = numSubs;
   if (numSubs > 0)
      this.theData = new Array(numSubs);
}


/*********************************
 * the MenuBar class
 *********************************/

function MenuBar(multi)
{
   this.theItems = new Array();
   this.theUrls = new Array();
   this.theMenus = new Array();
   this.multi = multi;
   this.numItems = 0;
}

MenuBar.prototype.AddItem=function(theItem, theUrl)
{
   this.numItems++;
   this.theItems[this.numItems] = theItem;
   this.theUrls[this.numItems] = theUrl;
}

MenuBar.prototype.Done=function()
{
   var len2=this.theItems.length;
   var len1;
   if (this.multi>0)
      len1=len2;
   else
      len1=1;
   for(var ii=0;ii<len1;ii++)
   {
      var mD="<p class=menu4>";
      //var mD="";
      for(var jj=1;jj<len2;jj++)
      {
         if(jj==ii)
            mD += "<span class=menu4s>"+this.theItems[jj]+"</span>";
         else
            mD += "<a href="+this.theUrls[jj]+" class=menu4>"+this.theItems[jj]+"</a>";
         if(jj<len2-1)
            mD += " | ";
      }
      mD+="</p>";
      this.theMenus[ii]=mD;
   }         
}
MenuBar.prototype.GetMenuBar=function(selected){return this.theMenus[selected];}

MenuBar.prototype.WriteMenuBar=function(selected){document.write(this.theMenus[selected]+"<br>");}


/*********************************
 * the SectionBar Class
 *********************************/

function SectionBar(width)
{
   this.theTitles = new Array();
   this.theLabels = new Array();
   this.theAnchors = new Array();
   this.theMenus = new Array();
   this.numItems = 0;
   this.width=width;
}

SectionBar.prototype.AddItem=function(title, label, anchor)
{
   this.theTitles[this.numItems] = title;
   this.theLabels[this.numItems] = label;
   this.theAnchors[this.numItems] = anchor;
   this.numItems++;
}

SectionBar.prototype.Done=function()
{
   var len=this.theTitles.length;
   for(var ii=0;ii<len;ii++)
   {
      var mD="<a name="+this.theAnchors[ii]+"></a>";
      mD+="<table class=section width="+this.width+"px><tr><td class=sectionl>&nbsp;"+this.theTitles[ii]+"</td><td class=sectionr>";
      for(var jj=0;jj<len;jj++)
      {
         if(jj==ii)
            mD+=this.theLabels[jj];
         else
            mD+="<a href=#"+this.theAnchors[jj]+" class=section>"+this.theLabels[jj]+"</a>";
         if(jj<len-1)
            mD+="<span class=section> | </span>";
      }
      this.theMenus[ii]=mD+"&nbsp;</td></tr></table>";
   }         
}

// depricate first two
SectionBar.prototype.GetMenuBar=function(section){return this.theMenus[section];}

SectionBar.prototype.WriteMenuBar=function(section){document.write(this.theMenus[section]);}

SectionBar.prototype.GetSectionBar=function(section){return this.theMenus[section];}

SectionBar.prototype.WriteSectionBar=function(section){document.write(this.theMenus[section]);}


/*********************************
 * Headers, Trailers & Misc.
 *********************************/

function Header(name, subtitle, img)
{
   var title = "Mayfield High School<br>Trojan Marching Band";
   // christmas var title = "<table><tr><td><img src=/images/xmas1a.gif width=80></td><td>&nbsp;&nbsp;</td><td>Mayfield High School<br>Trojan Marching Band</td></table>";
   offset=MASTER_WIDTH+4; // adust for padding
   document.write("<a name=top></a><table width="+offset+"px class=header><tr><td class=header>"+title+"</td><td class=header width="+HEADER_IMG_WIDTH+"><img src="+img+" width="+HEADER_IMG_WIDTH+" align=right></td></tr></table>");
   //document.write("<a name=top></a><table width="+MASTER_WIDTH+"px class=header><tr><td class=header>"+title+"</td><td class=header width="+HEADER_IMG_WIDTH+"><img src="+img+" width="+HEADER_IMG_WIDTH+" align=right></td></tr></table>");
   //document.write("<a name=top></a><table width=802px class=header><tr><td class=header>"+title+"</td><td class=header width="+HEADER_IMG_WIDTH+"><img src="+img+" width="+HEADER_IMG_WIDTH+" align=right></td></tr></table>");
   document.write("<table width="+MASTER_WIDTH+"px class=header><tr><td class=header>"+window.theMenus.GetMenuTable(name)+"</td></tr></table>");
   document.write("<table class=master width="+MASTER_WIDTH+"px><tr><td class=master>");
}

function Trailer()
{
   document.write("</td></tr></table><table width="+offset+"px><tr><td colspan=5>&nbsp;</td></tr>");
   //document.write("</td></tr></table><table width="+MASTER_WIDTH+"px><tr><td colspan=5>&nbsp;</td></tr>");
   //document.write("<tr><td class=trailer width=100% colspan=5><a class=trailert href=#top>top</a>&nbsp;</td></tr>");
   document.write("<tr><td class=trailert colspan=5><div width=100% class=trailert><a class=trailert href=#top>top</a>&nbsp;</div></td></tr>");
   document.write("<tr><td colspan=5>&nbsp;</td></tr><tr>");
   document.write("<td align=left width=35%><p class=trailer>&nbsp;Webmasters <a class=trailer href=mailto:mayfieldhsband@yahoo.com>Kevin Mauldin and David Marlin</a>");
   document.write("<br>&nbsp;Band program e-mail: <a class=trailer href=mailto:mayfieldhsband@yahoo.com>mayfieldhsband@yahoo.com</a>");
   document.write("<br>&nbsp;&copy;&nbsp;Copyright 2009-2010 Mayfield Band Parents Association");
   document.write("<br>&nbsp;Last modified "+document.lastModified);
   document.write("</td><td width=34% align=left valign=top text-align=center><p class=trailer>This website is maintained by the Mayfield High School Band Parents Association and does not necessarily represent the policies or opinions of Mayfield High School or the Las Cruces Public School District.");
   //document.write("</td><td align=center valign=top text-align=center><p class=trailer><img src=http://www.mayfieldhsband.org/cgi-bin/Count.exe?df=mhsband.dat&dd=y&ft=0&negate=T&srgb=000000&prgb=004400&md=5 border=0 alt=visitor><br>visitors since<br> September 4, 2000.<br>&nbsp;");
   //document.write("</td><td align=right valign=top><p class=trailer>This site<br>sponsored<br>by <a class=trailer href=http://www.zianet.com>Zianet, Inc.</a>");
   //document.write("</td><td width=50 valign=top><a class=trailer href=http://www.zianet.com><img width=50 src=http://www.mayfieldhsband.org/images/zianet.jpg></a></td></tr></table>");
   //document.write("<img src=http://www.mayfieldhsband.org/cgi-bin/Count.exe?df=mhsband4.dat&dd=c&ft=0&sh=F border=0>");
}

function Title(title){document.write("<table class=title width="+MASTER_WIDTH+"px><tr><td>"+title+"</td><td align=right width=85 valign=middle><img src=/images/london.gif width=85></td><td align=right width=52 valign=middle><img src=/images/china.gif width=32></td><td align=right width=85 valign=middle><img src=/images/torlogo_small.gif width=85></td><td align=right width=80 valign=middle><img src=/images/macyslogo_small.gif width=80></td><td align=right width=150 valign=middle><img src=/images/mhsbutton.gif width=150></td></tr></table>");}
// christmas function Title(title){document.write("<table class=title width="+MASTER_WIDTH+"px><tr><td>"+title+"</td><td align=right width=85 valign=middle><img src=/images/torlogo_small.gif width=85></td><td align=right width=80 valign=middle><img src=/images/macyslogo_small.gif width=80></td><td align=right width=150 valign=middle><img src=/images/happyholidays.gif width=150></td></tr></table>");}
//function Title(title){document.write("<table class=title width="+MASTER_WIDTH+"px><tr><td>"+title+"</td><td align=right width=85 valign=middle><img src=/images/rosemiddle.gif width=65></td><td align=right width=80 valign=middle><img src=/images/macyslogo_small.gif width=80></td><td align=right width=150 valign=middle><img src=/images/mhsbutton.gif width=150></td></tr></table>");}

function br(num)
{
   for(var ii=0;ii<num;ii++)
      document.write("<br>");
}
