function getsize() {
   var elements = new Array();
   for (var i=0;i<arguments.length;i++) {
      var element = arguments[i];
      if (typeof element == 'string') element = document.getElementById(element);
      if (arguments.length == 1) return element;
      elements.push(element);
   }
   return elements;
}

var BoxHeights = {
   maxh: Array(),
   boxes: Array(),
   num: 0,
   multi: 1,
   op_test: false,
   equalise: function() {
      this.num = arguments[1];
      this.total = arguments[2];
      if (arguments[3]) { this.multi = arguments[3]; }
      for (var i=1;i<=this.total;i++) {
         this.boxes[i] = arguments[0]+(i);
      }
      this.maxheight();
      var count = 1;
     for (var j=1;j<=this.multi;j++) {
         for (var i=count;i<=(count+(this.total/this.multi)-1);i++) {
            if (i <= this.num) { getsize(this.boxes[i]).style.height = this.maxh[j]+"px"; }
         }
         count = i;
     }
   },
   maxheight: function() {
      var count = 1;
      for (var j=1;j<=this.multi;j++) {
         var heights = new Array();
         for (var i=count;i<=(count+(this.total/this.multi)-1);i++) {
            if (navigator.userAgent.toLowerCase().indexOf('opera') == -1) {
               if (i <= this.num) { heights.push(getsize(this.boxes[i]).scrollHeight); } else { heights.push(0); }
            } else {
               if (i <= this.num) { heights.push(getsize(this.boxes[i]).offsetHeight); } else { heights.push(0); }
            }
         }
         heights.sort(this.sortNumeric);
         this.maxh[j] = heights[(this.total/this.multi)-1];
         totalcount = i;
         count = totalcount;
      }
   },
   sortNumeric: function(f,s) {
      return f-s;
   }
}
