﻿//Scrolling function for info in the div layer By Andy Morris 2011

var counter = 0;

function verScroll(dir, div, text) {

var convert;
var divHeight;
var textHeight;
var scrollThreshold;
var textID;
scrolltimer = null;

direction = dir;
divLayerID = div;
textLayerID = text;

textID = document.getElementById(textLayerID).style;
divHeight = document.getElementById(divLayerID).style.height.replace("px", "");
textHeight = document.getElementById(textLayerID).scrollHeight;

scrollThreshold = textHeight - divHeight;


if (direction == "up"){

if (counter <= 0){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) + 1);
textID.top = convert + "px"
counter--;
scrolltimer = setTimeout("verScroll('up',divLayerID,textLayerID)", 10);
}

}
else if (direction == "down"){

if (counter >= scrollThreshold){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) - 1);
textID.top = convert + "px"
counter++;
scrolltimer = setTimeout("verScroll('down',divLayerID,textLayerID)", 10);
}

}

}

var counter2 = 0;

function verScroll2(dir, div, text) {

var convert;
var divHeight;
var textHeight;
var scrollThreshold;
var textID;
scrolltimer = null;

direction = dir;
divLayerID = div;
textLayerID = text;

textID = document.getElementById(textLayerID).style;
divHeight = document.getElementById(divLayerID).style.height.replace("px", "");
textHeight = document.getElementById(textLayerID).scrollHeight;

scrollThreshold = textHeight - divHeight;


if (direction == "up"){

if (counter2 <= 0){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) + 1);
textID.top = convert + "px"
counter2--;
scrolltimer = setTimeout("verScroll2('up',divLayerID,textLayerID)", 10);
}

}
else if (direction == "down"){

if (counter2 >= scrollThreshold){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) - 1);
textID.top = convert + "px"
counter2++;
scrolltimer = setTimeout("verScroll2('down',divLayerID,textLayerID)", 10);
}

}

}

var counter3 = 0;

function verScroll3(dir, div, text) {

var convert;
var divHeight;
var textHeight;
var scrollThreshold;
var textID;
scrolltimer = null;

direction = dir;
divLayerID = div;
textLayerID = text;

textID = document.getElementById(textLayerID).style;
divHeight = document.getElementById(divLayerID).style.height.replace("px", "");
textHeight = document.getElementById(textLayerID).scrollHeight;

scrollThreshold = textHeight - divHeight;


if (direction == "up"){

if (counter3 <= 0){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) + 1);
textID.top = convert + "px"
counter3--;
scrolltimer = setTimeout("verScroll3('up',divLayerID,textLayerID)", 10);
}

}
else if (direction == "down"){

if (counter3 >= scrollThreshold){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) - 1);
textID.top = convert + "px"
counter3++;
scrolltimer = setTimeout("verScroll3('down',divLayerID,textLayerID)", 10);
}

}

}

var counter4 = 0;

function verScroll4(dir, div, text) {

var convert;
var divHeight;
var textHeight;
var scrollThreshold;
var textID;
scrolltimer = null;

direction = dir;
divLayerID = div;
textLayerID = text;

textID = document.getElementById(textLayerID).style;
divHeight = document.getElementById(divLayerID).style.height.replace("px", "");
textHeight = document.getElementById(textLayerID).scrollHeight;

scrollThreshold = textHeight - divHeight;


if (direction == "up"){

if (counter4 <= 0){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) + 1);
textID.top = convert + "px"
counter4--;
scrolltimer = setTimeout("verScroll4('up',divLayerID,textLayerID)", 10);
}

}
else if (direction == "down"){

if (counter4 >= scrollThreshold){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) - 1);
textID.top = convert + "px"
counter4++;
scrolltimer = setTimeout("verScroll4('down',divLayerID,textLayerID)", 10);
}

}

}

var counter5 = 0;

function verScroll5(dir, div, text) {

var convert;
var divHeight;
var textHeight;
var scrollThreshold;
var textID;
scrolltimer = null;

direction = dir;
divLayerID = div;
textLayerID = text;

textID = document.getElementById(textLayerID).style;
divHeight = document.getElementById(divLayerID).style.height.replace("px", "");
textHeight = document.getElementById(textLayerID).scrollHeight;

scrollThreshold = textHeight - divHeight;


if (direction == "up"){

if (counter5 <= 0){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) + 1);
textID.top = convert + "px"
counter5--;
scrolltimer = setTimeout("verScroll5('up',divLayerID,textLayerID)", 10);
}

}
else if (direction == "down"){

if (counter5 >= scrollThreshold){
stopScroll();
}
else{
convert = (parseInt(textID.top.replace("px", "")) - 1);
textID.top = convert + "px"
counter5++;
scrolltimer = setTimeout("verScroll5('down',divLayerID,textLayerID)", 10);
}

}

}

function stopScroll() {
loop = false;
clearTimeout(scrolltimer);
}

// Fade Function
// variable for fading buttons
var TimeToFade = 1500.0;

//function for the fading method for arrows
function fade(eid)
{
	//please specify the div layer in the onmouseover event
  var element = document.getElementById(eid);
  if(element == null)
    return;
    
  if(element.FadeState == null)
  {
    if(element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == '0'
        || element.style.opacity == '0.8')
    {
      element.FadeState = -2;
    }
    else
    {
      element.FadeState = 2;
    }
  }
   
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    element.style.visibility = element.FadeState == 2 
        ? 'hidden' : 'visible';
    element.style.display = element.FadeState == 2 
        ? 'none' : 'block';
    setTimeout("animateFade(" + new Date().getTime()
        + ",'" + eid + "')", 33);
  } 
}

//make the fade happen code
function animateFade(lastTick, eid)
{ 
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    element.style.visibility = element.FadeState == 1 
        ? 'visible' : 'hidden';
    element.style.display = element.FadeState == 1 
        ? 'block' : 'none';
    element.style.opacity = element.FadeState == 1 
        ? '1' : '0';
    element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  newOpVal = newOpVal*1;
  element.style.opacity = newOpVal;
  element.style.filter =
      'alpha(opacity = ' + (newOpVal*100) + ')';
 
  setTimeout("animateFade(" + curTick
      + ",'" + eid + "')", 33);
}
