<!-- Show.js -->
<!--

function Show(date, comment, venue, bands) {

   // instance variables
   this.date = date;
   this.comment = comment;
   this.venue = venue;
   this.bands = bands;

   this.dateBegin="<strong>";
   this.dateEnd="</strong>";

   this.tba="tba";

   this.dateTokenizer=".";
   
   // methods
   this.isOld = isOld;
   this.toString = toString;
   this.getAsMessage= getAsMessage;
}

function isOld() {
   var today = new Date();
   var thisMonth = today.getMonth() + 1;
   var thisDay = today.getDate();
   var thisYear = today.getYear();
   thisYear = today.getUTCFullYear();

   var splitDate = this.date.split(this.dateTokenizer);
   var showMonth = splitDate[0];
   var showDay = splitDate[1];
   var showYear = splitDate[2];

   //alert("this month: " + thisMonth);
   //alert("this day: " + thisDay);
   //alert("this year: " + thisYear);

   //alert("show month: " + showMonth);
   //alert("show day: " + showDay);
   //alert("show year: " + showYear);
      
   if (showYear == null) {
      showYear = thisYear;
      if (showMonth < thisMonth) showYear++;
   }

   if (showYear < 100) showYear = (showYear > 50)?19+showYear:20+showYear; //year passed in converted to 4 digit form
   if (showYear > thisYear) {return false;}
   if ((showYear == thisYear) && (showMonth > thisMonth)) {return false;}
   if ((showYear == thisYear) && (showMonth == thisMonth) && (showDay >= thisDay)) {return false;}
   
   return true;
}

function getAsMessage() {
   var retVal = this.date + " @ ";
       
   if (this.venue.link != null) {
      retVal += "<a href='" + this.venue.link + "' class='menuItem'>" + this.venue.name+ "</a>";
   } else {
      retVal += this.venue.name;
   }
      
   retVal += " in " + this.venue.city + ", " + this.venue.state + ".";

   if (this.bands != null) {
      retVal += "  with: ";
      var firstOne = true;
      for (var i = 0; i < this.bands.length; i++) {
         if (!firstOne) retVal += ", ";

         if (this.bands[i].link != null) {
            retVal += "<a href='" + this.bands[i].link + "' class='menuItem'>" + this.bands[i].name+ "</a>";
         } else {
            retVal += this.bands[i].name;
         }

         firstOne = false;
      }
   }

   retVal += ".";
   return retVal;
   //return this.venue.name;
}

function toString() {
   var retVal = this.dateBegin + this.date + this.dateEnd + ": @";
   //retVal += (" " + this.comment);
   
   if (this.venue.link != null) {
      retVal += "<a href='" + this.venue.link + "'>";
   }
   if (this.venue.name == null) {
      retVal += this.tba;
   } else {
      retVal += (this.venue.name);
   }
   if (this.venue.link != null) {
      retVal += "</a>";
   }

   retVal += " in ";
   
   if (this.venue.city == null) {
      retVal += (" " + this.tba + " ");
   } else {
      retVal += (" " + this.venue.city);
      retVal += (", " + this.venue.state + " ");
   }

   retVal += "with: ";
   if (this.bands != null) {
      for (var i = 0; i < this.bands.length; i++) {
         if (this.bands[i].link != null) {
            retVal += "<a href='" + this.bands[i].link + "'>";
         }  
         retVal += (this.bands[i].name);
         if (this.bands[i].link != null) {
            retVal += "</a>";
         }
         if (i != (this.bands.length-1)) retVal += ", ";
      }
   } else {
      retVal += this.tba;
   }
   return retVal;
   //return "this is the show string";
}









//-->


