var d=new Date();

var month=new Array(12);
month[0]="01";
month[1]="02";
month[2]="03";
month[3]="04";
month[4]="05";
month[5]="06";
month[6]="07";
month[7]="08";
month[8]="09";
month[9]="10";
month[10]="11";
month[11]="12";

var this_month = month[d.getMonth()];

var this_year = d.getFullYear();

var this_date = d.getDate();
if (this_date < 10) {
  this_date = "0" + this_date;
}

var todays_date = this_year + this_month + this_date;
var num_todays_date = parseInt(todays_date);

function display() {
   displayTier("Tier1");
   displayTier("Tier2",3,"Tier_2_divider");
   displayTier("Tier3",4,"Tier_3_divider");
}


function displayTier(tier,item_limit,divider_div) {
   var tiertwodivs = getDivsByName(tier);
   var tiertwos = tiertwodivs.length;

   var good_cnt = 0;
   var good_tier_twos = new Array();

   var tiertwo;
   for ( tiertwo=0 ; tiertwo < tiertwos ; tiertwo++ ) {

      var start_date = tiertwodivs[tiertwo].getAttribute("start_date");
      var num_start_date = parseInt(start_date);

      var end_date = tiertwodivs[tiertwo].getAttribute("end_date");
      var num_end_date = parseInt(end_date);

      var name = tiertwodivs[tiertwo].getAttribute("name");
      if (num_start_date > num_todays_date) {
         tiertwodivs[tiertwo].style.display = "none";
      }
      else if (num_todays_date > num_end_date) {
         tiertwodivs[tiertwo].style.display = "none";
      }
      else {
	 tiertwodivs[tiertwo].style.display = "inline";
         good_tier_twos[good_cnt] = tiertwo;
         good_cnt++;
      }
   }


   if (tier == "Tier1") {
     return;
   }
   if (good_cnt < 1) {
     return;
   }

   var remainder = good_cnt % item_limit;
   var decimal_full_rows = good_cnt/item_limit;
   var full_rows = Math.floor(decimal_full_rows);

   if (tier != "Tier2" && remainder == 1 && full_rows > 1) {
      // one on the last row
      full_rows = full_rows - 1;

   }
   else if ( tier == "Tier3" && full_rows > 2 && (remainder == 1 || remainder == 2)) {
      full_rows = full_rows - 2;
   }
   else if ( tier == "Tier3" && full_rows <= 2 && (remainder == 1 || remainder == 2)) {
      full_rows = 0;
   }


   var tierTwoDividerDivs = getDivsByName(divider_div);
   var good_tier_two_cnt = 0;

// build full rows

   for (var row_cnt=1;row_cnt<=full_rows;row_cnt++) {
      var item_cnt;
      for (item_cnt=1 ; item_cnt<=item_limit ; item_cnt++) {
	 var tiertwo = good_tier_twos[good_tier_two_cnt];
         var ident = tiertwodivs[tiertwo].getAttribute("ident");
         if (item_cnt == item_limit) {
            var div_block_idx = getDivByAttribute(tierTwoDividerDivs,"ident",ident);
            tierTwoDividerDivs[div_block_idx].style.display="block";
         }
         good_tier_two_cnt++;
      }
   }

// build remaining rows
  var item_cnt;
  
  if (good_tier_two_cnt == 0) 
	{ good_tier_two_cnt = good_tier_twos.length; }

var good_len = good_tier_twos.length;

if (good_len > good_tier_two_cnt) {
   item_limit = 2;
   if (tier == "Tier3" && remainder == 1 && item_limit == 2) {
      item_limit = 3;
   }
   else if (tier == "Tier3" && remainder == 1 && item_limit == 3) {
      item_limit = 2;
   }
   else if (tier == "Tier3" && (remainder == 2 || remainder == 3)) {
      item_limit = 3;
   }

   for (item_cnt=1 ; item_cnt<=item_limit ; item_cnt++) {
     var tiertwo = good_tier_twos[good_tier_two_cnt];
     var ident = tiertwodivs[tiertwo].getAttribute("ident");
     if (item_cnt == item_limit) {
       var div_block_idx = getDivByAttribute(tierTwoDividerDivs,"ident",ident);
       tierTwoDividerDivs[div_block_idx].style.display="block";
     }

     good_tier_two_cnt++;
   }
  }

}

function getDivByAttribute(divs,attribute,value) {
   var length = divs.length;
   var i;
   for ( i=0 ; i <= length ; i++ ) {
      var this_value = divs[i].getAttribute(attribute);
      if (this_value == value) {
         return i;
      }
   }
}

function getDivsByName(name) {
   var divs = document.getElementsByTagName("div");
   var div_cnt = divs.length;
   var name_cnt = 0;
   var name_divs = new Array();
   var cnt;
   for ( cnt=0 ; cnt < div_cnt ; cnt++ ) {
      var this_name = divs[cnt].getAttribute("name");
      if (this_name == name) {
            name_divs[name_cnt] = divs[cnt];
	    name_cnt++;
      }
   }
   return name_divs;
}
