function switchAlt()
{
  if(imgAlt[currentObject])
  {
    document.getElementById('sImage'+(slide.length-1) ).alt=imgAlt[currentObject];
  }
  else
  {
    document.getElementById('sImage'+(slide.length-1) ).alt='';
  }
}


function ShowHide(what, mode) //true=show; false=hide
{
  if(bROwSEr=="mozilla")
  {
    if(mode==false)
    {
      document.getElementById(what).style.MozOpacity=0;
    }
    else
    {
      document.getElementById(what).style.MozOpacity=1;
    }
  }
  else if(bROwSEr=="ie")
  {
    if(mode==false)
    {
      document.getElementById(what).filters.alpha.opacity=0;
    }
    else
    {
      document.getElementById(what).filters.alpha.opacity=100;
    }
  }
  else
  {
    if(mode==false)
    {
      document.getElementById(what).style.visibility='hidden';
    }
    else
    {
      document.getElementById(what).style.visibility='visible';
    }
  }
}


function switchSlide(mode) // false=prev ; true=next
{
  if((mode==false && currentObject!=0)|| (mode==true && currentObject!=slide.length-1) )
  {
    if(mode==false)
    {
      currentObject--;
      if(currentObject<0)
      {
        currentObject=0;
      }
    }
    else
    {
      currentObject++;
      if(currentObject>slide.length)
      {
        currentObject=slide.length;
      }
    }

    for(i=0;i<slide.length;i++)
    {
      if(currentObject==i)
      {
        ShowHide('div'+i, true);
        switchAlt();
      }
      else
      {
        ShowHide('div'+i, false);
      }
    }
  }
}

function switchButton(target, state, imgNumber)
{
  for(i=0;i<slide.length;i++)
  {
    eval('dge("button_'+target+'_'+i+'").src=images_'+state+'uttons['+imgNumber+'].src');
  }
}

function prev()
{
  if(!suspended)
  {
    suspend();
  }
  switchSlide(false);
}

function next()
{
  if(!suspended)
  {
    suspend();
  }
  switchSlide(true);
}

function performAction()
{
  if(currentObject==-1)
  {
    currentObject=0;
  }
  eval(url[currentObject]);
}





function suspend()
{
  if(suspended)
  {
    switchButton('pause', 'b', 1);
    suspend_semaphore=false;
    suspended=false;
    if(!isCrossFadeInProgress)
    {
      isCrossFadeInProgress=setTimeout('CrossFade(true)',666);
    }
  }
  else
  {
    switchButton('pause', 'x', 1);
    suspend_semaphore=true;
    suspended=true;
  }
}


function CorrectObjects()
{
  object1=currentObject; // for fade out
  object2=currentObject+1; // for fade in
  if(object2+1>slide.length)
  {
    object2=0;
  }
}





function CrossFade(factor)
{
  if(suspend_semaphore && factor)
  {
    isCrossFadeInProgress=false;
    return; //suspending crossfade
  }
  CorrectObjects();

//  cx++; document.getElementById('debug').innerHTML=object1+'/'+object2+'/'+cx; //debug

  if(bROwSEr=="mozilla" || bROwSEr=="ie")
  {
    if(object1!=-1) // fading out
    {
      if(bROwSEr=="mozilla")
      {
        opacity1=parseFloat(document.getElementById('div'+object1).style.MozOpacity);
      }
      else if(bROwSEr=="ie")
      {
        opacity1=parseFloat(document.getElementById('div'+object1).filters.alpha.opacity);
      }

      opacity1-=0.1*multiplier;
      if(opacity1<0)
      {
        opacity1=0;
      }

      if(bROwSEr=="mozilla")
      {
        document.getElementById('div'+object1).style.MozOpacity=opacity1;
        opacity2=parseFloat(document.getElementById('div'+object2).style.MozOpacity);
      }
      else if(bROwSEr=="ie")
      {
        document.getElementById('div'+object1).filters.alpha.opacity=opacity1;
        opacity2=parseFloat(document.getElementById('div'+object2).filters.alpha.opacity);
      }
    }

    opacity2+=0.1*multiplier;

    if(bROwSEr=="mozilla")
    {
      document.getElementById('div'+object2).style.MozOpacity=opacity2;
    }
    else if(bROwSEr=="ie")
    {
      document.getElementById('div'+object2).filters.alpha.opacity=opacity2;
    }

    if(opacity1<=0 && opacity2>=multiplier)
    {
      currentObject++;
      if(currentObject==slide.length)
      {
        currentObject=0;
      }
      switchAlt();
      setTimeout('CrossFade(true)',4500);
      isCrossFadeInProgress=true;
    }
    else
    {
      setTimeout('CrossFade(false)',100);
    }
  }
}


function LoadButtons()
{
  for(i=0;i<slide.length;i++)
  {
    eval('dge("button_next_'+i+'").src=images_buttons[2].src');
    setTimeout('setVisible("button_next_'+i+'")', 1000);
    eval('dge("button_pause_'+i+'").src=images_buttons[1].src');
    setTimeout('setVisible("button_pause_'+i+'")', 1100);
    eval('dge("button_prev_'+i+'").src=images_buttons[0].src');
    setTimeout('setVisible("button_prev_'+i+'")', 1200);
  }
}

function setVisible(what)
{
  dge(what).style.visibility='visible';
}

images=new Array();
images_buttons=new Array();
images_buttons[0]=new Image();
images_buttons[0].src="/menus/js/crossfade_button_prev_0.gif";
images_buttons[1]=new Image();
images_buttons[1].src="/menus/js/crossfade_button_pause_0.gif";
images_buttons[2]=new Image();
images_buttons[2].src="/menus/js/crossfade_button_next_0.gif";

images_xuttons=new Array();
images_xuttons[0]=new Image();
images_xuttons[0].src="/menus/js/crossfade_button_prev_1.gif";
images_xuttons[1]=new Image();
images_xuttons[1].src="/menus/js/crossfade_button_pause_1.gif";
images_xuttons[2]=new Image();
images_xuttons[2].src="/menus/js/crossfade_button_next_1.gif";

var slide=new Array();
var isImage=new Array();
var imgAlt=new Array();
var isPause=false;
var url=new Array();
