
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function spinner() { $('spinner').style.visibility = 'visible' }
function spinner_hide() { $('spinner').style.visibility = 'hidden' }

function get_grid_loc() {
  var g = $('tab_scrollerContent').style.top;
  g = 0 - g.replace('px','');
  return '?g='+g;
}
function sub_jump(type, id, from) {
  tint_cells(from);
  spinner();
  var addr = '/' + type + '/'+id
  var pos = $('tab_scrollerContainer').scrollTop;
  location.href=addr+"?pos="+pos;
}
function on_trans(from,addr) {
  tint_cells(from);
  spinner();
  var pos = $('tab_scrollerContainer').scrollTop;
  location.href=addr + "?pos=" + pos;
  //+get_grid_loc();
}

function tint_cells(from) {
  var t = from.getElementsByTagName("td");
  for (var i=0;i<t.length;i++) {
    t[i].style.color = '#00446a'
    t[i].style.backgroundColor = '#ced9e0';  
  }
}

function init_tr_rollovers() {
  var t = $('flashbox').getElementsByTagName("tr");
  for(var i=0;i<t.length;i++) {
    var ocn = (i%2) ? 'even' : 'odd';
    if (t[i].className == 'selected_col') ocn='selected_col'
    t[i].className = ocn;

    t[i].onmouseover = function() { this.className = "hovered_row" }; 
    
    // um... eval anyine?
    switch (ocn) {
      case 'even':
        t[i].onmouseout = function() { this.className = 'even' };
        break;
      case 'odd':
        t[i].onmouseout = function() { this.className = 'odd' };
        break;
      case 'selected_col':
        t[i].onmouseout = function() { this.className = 'selected_col' };
        break;
    }
  }
  var tables = document.getElementsByClassName('tab_body','flashbox_content');
  for (var i=0;i<tables.length;i++) {
    tables[i].style.visibility = 'visible';  
  }
}



function span_two_columns() {
  var e,top,h,next_h = 0,next_x = 0;
  var y_offset = 0;
  var outer = $('two_columns');
  var elements = document.getElementsByClassName("two_column_li");
  
  var left_col_maxy = 0, right_col_maxy = 0;
  
  if (outer == null) return;
  
  outer.style.visibility='hidden'; 
  if ((outer!=null) && (elements.length>0)) {
    // clear
    for (var i=0;i<elements.length;i++) {
      el = elements[i];
      el.style.left = '0';
      el.style.top = '0';
      left_col_maxy += el.getHeight() + (tc_padding/2);
    

    }
    max_h = left_col_maxy/2;

    left_col_maxy = 0;
    for (var i=0;i<elements.length;i++) {
      el = elements[i];
      el.style.width ="210px";
      h =  Element.getHeight(el);
      if ((next_h+h)>max_h) {
        next_x += tc_width+tc_space;
        if (y_offset == 0) {
          y_offset = '-' + (next_h) + 'px'
        }
        el.style.left = (tc_width+tc_space)+'px';
        el.style.top = y_offset;
        right_col_maxy += h;
      } else {
        el.style.left = '0';
        el.style.top = '0';
        left_col_maxy += h;
      }
      
      next_h = next_h+h;          
    }
    
    
  }
  
  var new_height = (left_col_maxy > right_col_maxy) ? left_col_maxy : right_col_maxy;
  Element.setStyle(outer,{ height: new_height + 'px' });
  
  //scrollers[get_scroller('sub_scroller')].load();
  outer.style.visibility='visible'; 
  
}

function init_resize_watcher() {
  tc_element = $("sizetest");
  tc_size = tc_element.getHeight();  
  tc_timer = setTimeout("tc_timeout()",100);  
}

function tc_timeout() {
  var new_height = tc_element.getHeight();
  if (new_height != tc_size) {
    var outer = $('two_columns');

    tc_size = new_height;
    span_two_columns();
    
//    init_scrollers();
  }
  tc_timer = setTimeout("tc_timeout()",100);
}



function mm_over(w, other_w) {
  var elements = document.getElementsByClassName(w);
  var third = w+'_third';
  for(var i=0;i<elements.length;i++) {
    // elements[i].style.backgroundPosition="-126px center";
    elements[i].addClassName(third);
  }

  elements = document.getElementsByClassName(other_w);
  var third = other_w+'_third';
  for(var i=0;i<elements.length;i++) {
    Element.removeClassName(elements[i],third);
  }
}
function mm_out(w) { }

function sm_over(w,cl,other) {
  if (other!='OTHER') mm_over(cl,other);
  elements = document.getElementsByClassName(cl);
  var fourth = cl+'_fourth';
  for(var i=0;i<elements.length;i++) {
    if (elements[i]!=w) {
    
     // alert("adding " + third + " to " + elements[i].id + " out of " + elements.length);
      elements[i].addClassName(fourth);
      
    }
  }
}
function sm_out(w,cl) {
  elements = document.getElementsByClassName(cl);
  var fourth = cl+'_fourth';
  for(var i=0;i<elements.length;i++) {
    if (elements[i]!=w) {
      elements[i].removeClassName(fourth);
    }
  }
}

function scroll_table() {
  if (typeof grid_pos=="undefined") return;
  $("tab_scrollerContainer").scrollTop = grid_pos;
}

addLoadEvent(init_resize_watcher);
addLoadEvent(init_tr_rollovers);
addLoadEvent(span_two_columns);
addLoadEvent(scroll_table);