// Script onoff.js 
// author : Stéphane Ansoult (stef112@club-internet.fr) - (c) 2000
// Creation Date : june 2000
// Last modified : 07/04/2000


function whereObj(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=whereObj(n,d.layers[i].document);
 return x;
}

function rollover (dir, off, over, on, itype){
 this.rolDirectory=dir || "./";
 this.rolExtOff=off || "";
 this.rolExtOver=over || "a";
 this.rolExtOn=on || "a";
 this.rolExtImage=itype || ".gif";
 this.currentOn=null;
 this.create = createRollOver;
 this.active = setActive;
 this.over = setOver;
 this.out = setOff;
 if (this.rolExtImage.charAt(0) != '.') this.rolExtImage = '.' + this.rolExtImage;
 if (this.rolDirectory.length > 0 && this.rolDirectory.charAt(this.rolDirectory.length-1) != '/') this.rolDirectory += '/'
}

function createRollOver(){
 for (i=0 ; i<arguments.length ; i++){
  var n = arguments[i];
  eval('this.'+n+'=new Array();\n');
  eval('this.'+n+'[0] = new Image();\n');
  eval('this.'+n+'[0].src="'+this.rolDirectory+n+this.rolExtOff+this.rolExtImage+'";\n');
  eval('this.'+n+'[1]=new Image();');
  eval('this.'+n+'[1].src="'+this.rolDirectory+n+this.rolExtOver+this.rolExtImage+'";\n');
  eval('this.'+n+'[2]=new Image();');
  eval('this.'+n+'[2].src="'+this.rolDirectory+n+this.rolExtOn+this.rolExtImage+'";\n');
 }
}

function setActive(n) {
 if (this.currentOn!=null) whereObj(this.currentOn).src=eval('this.'+this.currentOn+'[0].src;');
 whereObj(n).src=eval('this.'+n+'[2].src;');
 this.currentOn=n;
}

function setOver(n) { 
 whereObj(n).src=eval('this.'+n+'[1].src;');
}

function setOff(n) {   
 if (this.currentOn!=n) whereObj(n).src=eval('this.'+n+'[0].src;');
}

function rollLayer(){
 this.TLayers=new Array();
 this.active=null;
 this.Add=addLayerToGroup;
 this.Hide=hideGroup;
 this.Show=showGroup;
}

function addLayerToGroup(){
 args=addLayerToGroup.arguments;
 nLayer=new Array();
 for (i=0; i<args.length; i+=1){
  nLayer[nLayer.length]=args[i];
 }
 this.TLayers[this.TLayers.length] = nLayer; 
}

function hideGroup(){
 if (this.active!=null) {
  for (j=0; j<this.TLayers[this.active].length; j++){
   hideLayer(this.TLayers[this.active][j]);
  }
  this.active=null;
 }
}

function showGroup(nameShow){
 this.Hide();
 found=false;
 i=0
 while (i<this.TLayers.length && !found){
  if (this.TLayers[i][0]==nameShow) found=true;
  else i++;
 }
 if (found){
  this.active=i;
  for (j=0; j<this.TLayers[this.active].length; j++){
   showLayer(this.TLayers[this.active][j]);
  }
 }
}

function showLayer(){
 args=showLayer.arguments;
 for (i=0; i<args.length; i+=1){
  obj=whereObj(args[i])
  if (obj.style) {
   obj.style.visibility='visible';
  }
  else obj.visibility='show';
 }
}

function hideLayer(){
 args=hideLayer.arguments;
 for (i=0; i<args.length; i+=1){
  obj=whereObj(args[i])
  if (obj.style) {
   obj.style.visibility='hidden';
  }
  else obj.visibility='hide';
 }
}

function rollDeloc(dir, name, itype){
 this.rolDirectory=dir || "./";
 this.rolExtImage=itype || ".gif";
 this.rolName=name;
 this.rolImage= new Array();
 this.blank= new Image();
 this.Add = addToDeloc;
 this.active=null;
 this.over = setActiveDeloc;
 this.erase = erase;
 this.Init = InitDeloc;
 if (this.rolExtImage.charAt(0) != '.') this.rolExtImage = '.' + this.rolExtImage;
 if (this.rolDirectory.length > 0 && this.rolDirectory.charAt(this.rolDirectory.length-1) != '/') this.rolDirectory += '/'
}

function addToDeloc(img){
 nDeloc=new Array();
 nDeloc[nDeloc.length]=img;
 nDeloc[nDeloc.length]=new Image();
 nDeloc[nDeloc.length-1].src=this.rolDirectory+img+this.rolExtImage
 this.rolImage[this.rolImage.length] = nDeloc; 
}

function setActiveDeloc(nameShow){
 found=false;
 i=0
 while (i<this.rolImage.length && !found){
  if (this.rolImage[i][0]==nameShow) found=true;
  else i++;
 }
 if (found){
  this.active=i;
  whereObj(this.rolName).src=this.rolImage[i][1].src;
 }
}

function erase(){
 whereObj(this.rolName).src=this.blank.src;
}

function InitDeloc(name){
 this.blank.src=name;
}

