/*=:file
    Generic Rollover script.

    Copyright 2005 Mark Wubben - http://novemberborn.net/

    License: [CC-GNU LGPL](http://creativecommons.org/licenses/LGPL/ 
2.1/)
*/

/*=:dependency
    Slightly modified version of Scott Andrew LePera's addEvent code.

    Modifications:
    * `useCapture` is no longer used.
    * no return values
    * no alert message
*/
function addEvent(obj, evType, fn){
   if (obj.addEventListener){
     obj.addEventListener(evType, fn, false);
   } else if (obj.attachEvent){
     obj.attachEvent("on"+evType, fn);
   }
}

/*=
    Rollover handles rollovers on links. You can speficy a callback  
method
    which will be invoked for each rollover.

    Parameters:
    * HTMLElement > node: the node who's descending links will be used
    * Function > callback: the callback function to be called.
       The default is `Rollover#callback()`
*/
function Rollover (node, callback) {
    this.callback = callback || this.callback;

    var self = this;
    var links = node.getElementsByTagName("a");
    for(var i = links.length - 1; i > -1; i--) {
       addEvent(links[i], "mouseover", function(evt){self.onevent 
(evt)});
       addEvent(links[i], "mouseout", function(evt){self.onevent(evt)});
    }

    node = links = null;
}

/*=
    Handles a callback from Rollover.

    Parameters:
    * HTMLElement > node: the element which was rolled over
    * Event > evt: the event object of the initial rollover event
*/
Rollover.prototype.callback = function (node, evt) {};

/*=
    Gets an anchor node for `evt`.

    Parameters:
    * Event > evt

    Returns:
    * HTMLAnchorElement: the anchor node has been found
    * false: no node found
*/
Rollover.prototype.getNode = function (evt) {
    var node = evt.currentTarget || window.event.srcElement;
    while(node.nodeName.toLowerCase() != "a" && node.nodeType != 9) {
       node = node.parentNode;
    }

    if (node.nodeName.toLowerCase() != "a")
       return false;
    else
       return node;
}

/*=
    Handles the event and invokes `callback()` if a node was found
    through `getNode()`.

    Parameters:
    * Event > evt
*/
Rollover.prototype.onevent = function (evt) {
    var node = this.getNode(evt);

    if (node)
       this.callback(node, evt)
}

function tblcRoll(node, evt) {
    var info_div_id = 'info_' + node.getAttribute("id");
    var info_div = document.getElementById(info_div_id);
    var bubble = document.getElementById("bubble_img");
    var bubble_img = "images/front/" + node.getAttribute("id") + '_index.jpg';
    if (evt.type == "mouseover") {
        info_div.setAttribute("class", "info_show");
        bubble.setAttribute("src", bubble_img);
    }
    if (evt.type == "mouseout") {
        info_div.setAttribute("class", "info_pop");
        bubble.setAttribute("src", "images/front/circle_null.png");
    }
}