cg.bios = {};
cg.bios.init = function() {
    cg.bios.m_txt  = cg.el('cg_bios_text');
    for (var i=0;i<8;i++)
    {cg.bios['m_txt'+i] = cg.el('cg_bios_text_'+i);}
    cg.bios.initMaps('cg_bios_map'); 
}
 
cg.bios.showText = function( _id ) {
  cg.bios.m_txt.style.visibility = 'hidden';
  for (var i=0;i<8;i++)
  {cg.bios['m_txt'+i].style.visibility = 'hidden';}
  cg.bios['m_txt'+_id].style.visibility = 'visible';
};

cg.bios.initMaps = function() {
   if (document.getElementById) {
      var mapIds = arguments;    // pass string IDs of containing map elements
      var i, j, area, areas;
      for (i = 0; i < mapIds.length; i++) {
        areas = cg.el(mapIds[i]).getElementsByTagName("area");
        for (j = 0; j < areas.length; j++) {  // loop thru area elements
           area = areas[j];
           area.onmousedown = cg.bios.imgSwap;    // set event handlers
           area.onmouseout = cg.bios.imgSwap;
           area.onmouseover = cg.bios.imgSwap;
           area.onmouseup = cg.bios.imgSwap;
        }
      }
   }
};

cg.bios.imgSwap = function(evt) {
   evt = (evt) ? evt : event;                   // equalize event models
   var elem = (evt.target) ? evt.target : evt.srcElement;
   var imgClass = elem.parentNode.name;         // get map element name
   var coords = elem.coords.split(",");         // convert coords to clip
   var clipVal = "rect(" + coords[1] + "px " +
                           coords[2] + "px " +
                           coords[3] + "px " +
                           coords[0] + "px)";
   var imgStyle;

   switch (evt.type) {
      case "mousedown" :
         imgStyle = cg.el(imgClass + "Down").style;
         imgStyle.clip = clipVal;
         imgStyle.visibility = "visible";
         break;
      case "mouseout" :
         cg.el(imgClass + "Over").style.visibility = "hidden";
         cg.el(imgClass + "Down").style.visibility = "hidden";
         break;
      case "mouseover" :
	     cg.bios.showText( elem.id ); // cg mod
         imgStyle = cg.el(imgClass + "Over").style;
         imgStyle.clip = clipVal;
         imgStyle.visibility = "visible";
         break
      case "mouseup" :
         cg.el(imgClass + "Down").style.visibility = "hidden";
         // guarantee click in IE
         if (elem.click) {
             elem.click();
         }
         break;
   }
   evt.cancelBubble = true;
   return false;
}

/* ---------------------------------------------------------------- */

cg.addEvent(window, 'load', cg.bios.init);
