// *****************************************************************
// *  Name                : gfx.js
// *  Description         : gfx javascript header
// *  Return value        : none
// *  Parameters in       : none
// *  Parameters out      : none
// *  Global data used    : none
// *  Global data changed : none
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************



// *****************************************************************
// *  Name                : js_preloadImages
// *  Description         : preload images when opening page
// *  Return value        : none
// *  Parameters in       : list of image names or empty
// *  Parameters out      : none
// *  Global data used    : document.MM_p image array if exist
// *  Global data changed : document.MM_p image array
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function js_preloadImages() {
        var d=document;

        if (d.images){
                if(!d.MM_p) d.MM_p=new Array();

                var i,j=d.MM_p.length,a=js_preloadImages.arguments;

                for(i=0; i<a.length; i++)
                            if (a[i].indexOf("#")!=0) {
                                d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
                }
        }
}


// *****************************************************************
// *  Name                : js_findObj
// *  Description         : find object
// *  Return value        : object
// *  Parameters in       : unknown
// *                        unknown
// *  Parameters out      : none
// *  Global data used    : none
// *  Global data changed : none
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function js_findObj(n, d) {
        var p,i,x;

        if(!d) d=document;
        if((p=n.indexOf("?"))>0&&parent.frames.length) {
                d=parent.frames[n.substring(p+1)].document;
                n=n.substring(0,p);
        }
        if(!(x=d[n])&&d.all) x=d.all[n];
        for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
        for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=js_findObj(n,d.layers[i].document);
        return x;
}


// *****************************************************************
// *  Name                : js_showIcon
// *  Description         : show icon
// *  Return value        : none
// *  Parameters in       : unknown
// *                        unknown
// *  Parameters out      : none
// *  Global data used    : none
// *  Global data changed : none
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function js_showIcon(event, grpName) {
        var i,img,nbArr,args=js_showIcon.arguments;

        if (event == "init" && args.length > 2) {
                if ((img = js_findObj(args[2])) != null && !img.MM_init) {
                        img.MM_init = true;
                        img.MM_up = args[3];
                        img.MM_dn = img.src;
                        if ((nbArr = document[grpName]) == null)
                                nbArr = document[grpName] = new Array();
                        nbArr[nbArr.length] = img;
                        for (i=4; i < args.length-1; i+=2)
                                if ((img = js_findObj(args[i])) != null) {
                                        if (!img.MM_up) img.MM_up = img.src;
                                        img.src = img.MM_dn = args[i+1];
                                        nbArr[nbArr.length] = img;
                                }
                }
        } else if (event == "over") {
                document.MM_nbOver = nbArr = new Array();
                for (i=1; i < args.length-1; i+=3)
                        if ((img = js_findObj(args[i])) != null) {
                                if (!img.MM_up) img.MM_up = img.src;
                                img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
                                nbArr[nbArr.length] = img;
                        }
        } else if (event == "out" ) {
                for (i=0; i < document.MM_nbOver.length; i++) {
                        img = document.MM_nbOver[i];
                        img.src = (img.MM_dn) ? img.MM_dn : img.MM_up;
                }
        } else if (event == "down") {
                if ((nbArr = document[grpName]) != null)
                        for (i=0; i < nbArr.length; i++) {
                                img=nbArr[i];
                                img.src = img.MM_up;
                                img.MM_dn = 0;
                        }
                document[grpName] = nbArr = new Array();
                for (i=2; i < args.length-1; i+=2)
                        if ((img = js_findObj(args[i])) != null) {
                                if (!img.MM_up) img.MM_up = img.src;
                                img.src = img.MM_dn = args[i+1];
                                nbArr[nbArr.length] = img;
                        }
        }
}


// *****************************************************************
// *  Name                : js_swapImgRestore
// *  Description         : restore alternate images in document
// *  Return value        : none
// *  Parameters in       : none
// *  Parameters out      : none
// *  Global data used    : document.MM_sr array
// *  Global data changed : none
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function js_swapImgRestore() {
        var i,x,a=document.MM_sr;

        for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


// *****************************************************************
// *  Name                : js_swapImage
// *  Description         : set object alternate image
// *  Return value        : none
// *  Parameters in       : object name
// *                        unknown
// *                        image name
// *                        unknown
// *  Parameters out      : none
// *  Global data used    :
// *  Global data changed : document.MM_sr array
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function js_swapImage() {
        var i,j=0,x,a=js_swapImage.arguments;

        document.MM_sr=new Array;
        for(i=0;i<(a.length-2);i+=3)
                if ((x=js_findObj(a[i]))!=null){
                        document.MM_sr[j++]=x;
                        if(!x.oSrc) x.oSrc=x.src;
                        x.src=a[i+2];
        }
}


// *****************************************************************
// *  Name                : set_main_url
// *  Description         : set Main frame content
// *  Return value        : none
// *  Parameters in       : new url for Main frame
// *  Parameters out      : none
// *  Global data used    : none
// *  Global data changed : Main frame location.href
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function set_main_url(u) {
         if (navigator.appName == "Netscape") {
//                  parent.frames["Main"].location.href=u;
                  location.href=u;
         } else {
//                  parent.frames["Main"].location.href=u;
                  location.href=u;
//                  parent.frames["Main"].location.replace(u);
//                  parent.frames["Main"].location.reload(true);
         }
}


// *****************************************************************
// *  Name                : hideTip (not yet implemented)
// *  Description         : hide help tip
// *  Return value        : none
// *  Parameters in       : none
// *  Parameters out      : none
// *  Global data used    : none
// *  Global data changed : none
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function hideTip() {
    showTip('');
}


// *****************************************************************
// *  Name                : showTip
// *  Description         : show tip in status layer
// *  Return value        : none
// *  Parameters in       : tip text
// *  Parameters out      : none
// *  Global data used    : none
// *  Global data changed : none
// *  Author              : S.Lafon, VULCAIN
// *  Creation            : 31/10/2000
// *  History             : <date> <author> <description>
// *****************************************************************
function showTip(msg) {
//        var msgApplet = parent.frames["Status"].document.MyTextArea;
//        msgApplet.addText(msg);
     window.status = msg;
}


