// banner.js

onload = startBanner;
var HTMLFromEl;
var HTMLToEl;
var toElTarget;
var enabled=true;

function showMessage(n, show) {
//  var whichEl = (NS4) ? eval("message" + n) :
//                        eval("message" + n + ".style");
//  whichEl.visibility = (show) ? ((NS4) ? "show" : "visible") :
//                                ((NS4) ? "hide" : "hidden");
  var whichEl = document.getElementById('message'+n);
  whichEl.style.visibility = (show) ? 'visible' : 'hidden';
}

function nextMessage() {
  var fromInd = current;
  current = (fromInd == ar.length - 1) ? 0 : fromInd + 1;
  scrollBanner(fromInd, current);
}

function moveUp() {
/*
  if (NS4) {
    fromEl.top -= increment;
    if (toEl.top - increment <= toElTarget) {
      toEl.top = toElTarget;
      clearInterval(intervalID);
      fromEl.visibility = "hide";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {
      toEl.top -= increment;
    }
  } else {

    fromEl.pixelTop = fromEl.pixelTop-increment;
    if (toEl.pixelTop - increment <= toElTarget) {
      toEl.pixelTop = toElTarget;
      clearInterval(intervalID);
      fromEl.visibility = "hidden";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {
      toEl.pixelTop = toEl.pixelTop-increment;
    }
  }
  */
  if(enabled)
  {
  	setTop(HTMLFromEl, getTop(HTMLFromEl) - increment);
    if (getTop(HTMLToEl) - increment <= toElTarget) {
      setTop(HTMLToEl, toElTarget);
      clearInterval(intervalID);
      HTMLFromEl.style.visibility = "hidden";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {
      setTop(HTMLToEl, getTop(HTMLToEl) - increment);
    }
   }
}

function scrollBanner(from, to) {
/*
  if (NS4) {
    fromEl = eval("message" + from);
    toEl = eval("message" + to);
    toEl.top = fromEl.top + bannerHeight;
    toElTarget = fromEl.top;
  } else {
    fromEl = eval("message" + from + ".style");
    toEl = eval("message" + to + ".style");
    toEl.pixelTop = fromEl.pixelTop + bannerHeight;
    toElTarget = fromEl.pixelTop;
  }
  showMessage(to, true); // show the upcoming message
  intervalID = setInterval("moveUp()", interval);
  */
  HTMLFromEl = document.getElementById('message'+from);
  HTMLToEl = document.getElementById('message'+to);
  setTop(HTMLToEl, getTop(HTMLFromEl) + bannerHeight);
  toElTarget = getTop(HTMLFromEl);
  showMessage(to, true); // show the upcoming message
  intervalID = setInterval("moveUp()", interval);
}

function makeIE() {
/*
  // assign the necessary code to a variable
var text = '<DIV ID="banner" STYLE="position:absolute">';
  for (var i = ar.length - 1; i >= 0; i--) {
    text += '<DIV ID="message' + i + 
				'" STYLE="position:absolute"></DIV>';              
  }
  text += '</DIV>';
  
  // insert the code before the end of the document
  document.body.insertAdjacentHTML("BeforeEnd", text);
*/  
	var HTMLBanner=document.createElement('DIV');
	HTMLBanner.id='banner';
	HTMLBanner.style.position='relative';
	document.getElementById('placeholder').appendChild(HTMLBanner);
	HTMLBanner.onmouseover=onMouseOver;
	HTMLBanner.onmouseout=onMouseOut;
  for (var i = ar.length - 1; i >= 0; i--) {
	var HTMLMessage=document.createElement('DIV');
	HTMLMessage.id='message'+i;
	HTMLMessage.style.position='absolute';
	HTMLBanner.appendChild(HTMLMessage);
  }
  
  
  // define the main element's properties
//  with (banner.style) {
  with (HTMLBanner.style) {
//    width = bannerWidth;
//    height = bannerHeight;
    width = makeCoord(bannerWidth);
    height = makeCoord(bannerHeight);
    clip = "rect(0 " + bannerWidth + " " + bannerHeight + " 0)";
    backgroundColor = bannerColor;
//    pixelLeft = bannerLeft;
//    pixelTop = bannerTop;
    left = makeCoord(bannerLeft);
  }
  setTop(HTMLBanner, bannerTop);
  
  // define the child elements' properties
  for (i = 0; i < ar.length; i++) {
//     var myMake = eval("message" + i + ".style");
     var HTMLMessage = document.getElementById('message'+i);
	
	with (HTMLMessage.style) {
      visibility = "hidden";
//	  pixelLeft = leftPadding;
//	  pixelTop = topPadding;
	  left = makeCoord(leftPadding);
//	  width = bannerWidth - leftPadding;
	  width = makeCoord(bannerWidth - leftPadding);
	  backgroundColor = bannerColor;
    }
	setTop(HTMLMessage, topPadding);
  }
}

function makeNS() {
  // create the main element
  banner = new Layer(bannerWidth);

  // define the main element's properties
  with (banner) {
    clip.right = bannerWidth;
    clip.bottom = bannerHeight;
    document.bgColor = bannerColor;
    left = bannerLeft;
    top = bannerTop;
    visibility = "show";
  }

  // define the child elements' properties
  for (var i = 0; i < ar.length; i++) {
    // create a child element
    eval("message" + i + " = " + 
         "new Layer(bannerWidth - leftPadding, banner)");
    with(eval("message" + i)) {
      visibility = "hide";
      left = leftPadding;
      top = topPadding;
      document.bgColor = bannerColor;
    }
  }
}

function fillBanner() {
/*
  var whichEl;
  if (NS4) {
    for (var i = 0; i < ar.length; i++) {
      whichEl = eval("message" + i);
      whichEl.document.write(ar[i]);
      whichEl.document.close();
    }
  } else {
    for (var i = 0; i < ar.length; i++) {
      whichEl = eval("message" + i);
      whichEl.innerHTML = ar[i];
    }
  }
  */
  var whichEl;
    for (var i = 0; i < ar.length; i++) {
      whichEl = document.getElementById('message'+i);
      whichEl.innerHTML = ar[i];
    }
}

function startBanner() {
/*
  if (NS4)
    makeNS()
  else
    makeIE();
  fillBanner();
  showMessage(0, true);
  current = 0;
  timeoutID = setTimeout("nextMessage()", pause);
	*/
  makeIE();
  fillBanner();
  showMessage(0, true);
  current = 0;
  timeoutID = setTimeout("nextMessage()", pause);
}

function setTop(HTMLElement, value) {
	HTMLElement.custom_top=value;
	HTMLElement.style.top=makeCoord(value);
}

function getTop(HTMLElement) {
	return HTMLElement.custom_top;
}

function makeCoord(value) {
	return value+'px';
}

function onMouseOver() {
	enabled=false;
}

function onMouseOut() {
	enabled=true;
}
