/* Requires js/funcs.js */
function initContent() {
  // r... is right content block
  // m... is main block

  var arr = new Array('Events','Highlight','Media');

  for (var i=0; i < arr.length; i++) {
    var list = new Array();
    var o=getByID('r' + arr[i]);

    if ((o) && (o.childNodes)) {
      var c=o.getElementsByTagName("li");

      for (var j=0; j < c.length; j++) {
        if (c[j].childNodes) {
          var d=c[j].getElementsByTagName("ul");

          for (var k=0; k < d.length; k++) {
            if (d[k].childNodes) {
              var e=d[k].getElementsByTagName("li");
              for (var l=0; l < e.length; l++) {
                list.push(e[l]);
              }
            }
          } 
        }
      }
    }

    for (var j=0; j < list.length; j++) {
      if (j == 0) {
        ListContent.init(list[j],'m' + arr[i],j,1);
      } else {
        ListContent.init(list[j],'m' + arr[i],j,0);
      }
    }
  }
}

var eLC_active="";
var hLC_active="";
var mLC_active="";

var ListContent = {
  init : function(obj, node, indx, activate) {
    // Get target node;
    if (node.indexOf("E") == 1) {
      obj.active="eLC_active";
    } else {
      if (node.indexOf("M") == 1) { 
        obj.active="mLC_active";
      } else {
        obj.active="hLC_active";
      }
    }

    var t=getByID(node);

    if ((t) && (t.childNodes) && (t.childNodes.length > 0)) {
      var k=t.getElementsByTagName("span");

      if ((k) && (k.length > 0)) {
        if (k.length > indx) {
          obj.target=k[indx];
        }
      }
    }

//    obj.path=getNodePath(obj);
    obj.indx=indx;
    obj.className="bg";
    obj.title="Click for more information";
    obj.onmouseover=ListContent.highlightStart;
    obj.onmouseout=ListContent.highlightEnd;
    obj.onclick=ListContent.change;
    obj.clear=ListContent.clear;
    obj.activate=ListContent.highlightEnd;

    ListTarget.init(obj.target, obj, obj.indx);

    if (activate == 1) {
//      eval(obj.active + '=' + obj.path + ';');
      eval(obj.active + '=obj;');
      obj.activate();
    }
  },

  clear : function() {
    this.className="bg";
  },

  highlightStart : function() {
    this.className="bg-hover";
//    this.style.backgroundColor="#FFFFCC";
  },

  highlightEnd : function() {
    var a;
    eval('a=' + this.active + ';');
    if (a == this) {
      this.className="bg-active";
//      this.style.backgroundColor="#CFCFCF";
    } else {
      this.className="bg";
//      this.style.backgroundColor=this.parentNode.style.backgroundColor;
    }
  },

  change : function() {
    var obj=this;
    var t, i;

    if ((obj.target) && (obj.indx >= 0)) {
      t=obj.target;
      i=obj.indx;

      // Change active main content
      eval(obj.active + '.target.hide();');
      t.show();

      // Change active list element
      eval(obj.active + '.clear();');
      eval(obj.active + '=obj;');
    }
  }
};

var ListTarget = {
  init : function (obj, node, indx) {
    obj.rent=node;  // Parent content node (not DOM parent)
    obj.indx=indx;
    obj.timer="";

    obj.blink=ListTarget.blink;
    obj.show=ListTarget.show;
    obj.hide=ListTarget.hide;
    obj.highlightStart=ListTarget.highlightStart;
    obj.highlightEnd=ListTarget.highlightEnd;
  },

  blink : function(i) {
    _this=this;

    if (i < 6) {
      i=i+1;
      if (i%2 == 1) {
        this.highlightStart();
      } else {
        this.highlightEnd();
      }

      if (i == 2) {
        this.timer=setTimeout(function() {_this.blink(i);},0);
      } else {
        this.timer=setTimeout(function() {_this.blink(i);},300);
      }
    } else {
      this.highlightEnd();
      clearTimeout(this.timer);
    }
  },

  show : function() {
    this.className="";
    this.blink(1);
  },

  hide : function() {
    clearTimeout(this.timer);
    this.className="hide";
    this.highlightEnd();
    this.style.display="none";
  },

  highlightStart : function() {
    this.style.display="block";
    this.style.backgroundColor="#CFCFCF";
  },

  highlightEnd : function() {
    this.style.backgroundColor=this.parentNode.style.backgroundColor;
  }
};

load.push("initContent();");

