// ------------------------------------------------------
// extmenu.js (c) l.bruninx 2003
// ------------------------------------------------------
// @version : 1.0
// @revision: beta-1
// @author  : Luc bruninx
// @description :
//  Bibliothèque de scripts JavaScript pour animer et la
//  gestion de menu du type ExtMenu par l.bruninx
// ------------------------------------------------------
// Nécessite l'imporation préalable des bibliothèques
// scriptslib.js
// basicmenu.js
// ------------------------------------------------------

ExtMenu.prototype = new BasicMenu();
ExtMenu.prototype.constructor = ExtMenu;
ExtMenu.superclass = BasicMenu.prototype;

function ExtMenu(overColor,outColor,overColor1,outColor1,overLinkColor,outLinkColor) {
    //
    // Constructeur de la class ExtMenu :
    // ------------------------------------
    // Un ExtMenu est constitué d'un tableau HTML avec au minimum
    // 2 cellules <TD> et un lien <A>.
    // Ce tableau peut avoir des formes divers. Le code est suffisament
    // souple pour s'adapter à divers situations.
    // Il suffit de créer l'objet BasicMenu dans un script.
    // Puis, de lier les attributs onMouseOver, onMouseOut et onMouseClick
    // de la balise TABLE sur les prototype ci-dessous en précisant
    // comme argument this pour que le code retrouve l'objet en cours.
    //
    if(arguments.length>0) {
        this.init(overColor,outColor,overColor1,outColor1,overLinkColor,outLinkColor);
    }
}

ExtMenu.prototype.init = function (overColor,outColor,overColor1,outColor1,overLinkColor,outLinkColor) {
    //
    // Initialisation de l'objet ExtMenu...
    // overColor et outColor se rapportent aux couleurs de la cellule 0 lors des
    // évènements onMouseOver et onMouseOut.
    // overColor1 et outColor1 se rapportent aux couleurs de la cellule 1 lors des
    // évènements onMouseOver et onMouseOut.
    // idem avec overLinkColor et outLinkColor mais pour le lien interne.
    //
    ExtMenu.superclass.init.call(this,overColor,outColor,overLinkColor,outLinkColor);
    this.overColor1    = overColor1;
    this.outColor1     = outColor1;
}

ExtMenu.prototype.mouseOver = function (tableObj) {
    //
    // Comportement lors d'un mouseOver...
    //
    ExtMenu.superclass.mouseOver.call(this,tableObj);
    var cell = tableCell(tableObj,1);
    if(cell!=undefined){
        cell.style.background = this.overColor1;
    }
}

ExtMenu.prototype.mouseOut = function (tableObj) {
    //
    // Comportement lors d'un mouseOut...
    //
    ExtMenu.superclass.mouseOut.call(this,tableObj);
    var cell = tableCell(tableObj,1);
    if(cell!=undefined){
        cell.style.background = this.outColor1;
    }
}


