var m_FadeOut = 255;
var m_FadeIn=0;
var m_Fade = 255;
var m_FadeStep = 3;
var m_FadeWait = 7000;
var m_bFadeOut = true;
var noff = 0;

var m_iFadeInterval;
var arrFadeTitles;
var arrFadeCursor = 0;
var arrFadeMax;
var alertTimerId;

function Fadewl() {
  m_iFadeInterval = setInterval(fade_ontimer, 10);
  arrFadeTitles = new Array();
  setupFade();
  arrFadeMax = arrFadeTitles.length-1;
  var ilink = document.getElementById("fade");
  ilink.style.color = "#" + ToHex(m_Fade);
  setFade();
}

function setFade() {
  var ilink = document.getElementById("fade");
  //alert("m_bFadeOut: " + m_bFadeOut + "\nm_Fade: " + m_Fade + "\nm_iFadeInterval " + m_iFadeInterval)
  ilink.innerHTML = arrFadeTitles[arrFadeCursor];
}

function fade_ontimer() {
  if (m_bFadeOut) {
    m_Fade+=m_FadeStep;
    
   if (document.getElementById('p').value == 1) {
	   m_Fade = m_FadeOut
	}
    
    if (m_Fade>m_FadeOut) {
      noff = 1;
      arrFadeCursor++;
      if (arrFadeCursor>arrFadeMax)
        arrFadeCursor=0;
      setFade();
      m_bFadeOut = false;
    }
  } else {
    m_Fade-=m_FadeStep;
    if (m_Fade<m_FadeIn) {
      clearInterval(m_iFadeInterval);
      noff = 0;
      alertTimerId = setTimeout(Faderesume, m_FadeWait);
      m_bFadeOut=true;
    }
  }
  var ilink = document.getElementById("fade");
  if ((m_Fade<m_FadeOut)&&(m_Fade>m_FadeIn))
    ilink.style.color = "#" + ToHex(m_Fade);
}

function Faderesume() {
  m_iFadeInterval = setInterval(fade_ontimer, 10);
}

function ff() {
   if (noff == 0) {
     if (document.getElementById('fr').value == 1) {
        document.getElementById('fr').value = 0;
        arrFadeCursor = arrFadeCursor - 2;
        if (arrFadeCursor == -1) {
            arrFadeCursor = arrFadeMax
        }   
        if (arrFadeCursor == -2) {
            arrFadeCursor = arrFadeMax - 1 
        }          
     }
     m_bFadeOut=true;
     m_Fade = 256;
     Faderesume();
     clearTimeout ( alertTimerId );
  }
}

function ToHex(strValue) {
  try {
    var result= (parseInt(strValue).toString(16));
    while (result.length !=2)
     result= ("0" +result);
     result = result + result + result;
     return result.toUpperCase();
  }
  catch(e)
  {
  }
}
