// PowerlineTechnologies JavaScript Library for the primary template
// Verion 1.0
// Last Update Date: 8/20/2006
// M. Scott Gartner
//

// This flag tells us whether the preloadImages() function has
// been called.
var preloadFlag = false;
function loadImage (arg)
  {
    if (document.images)
      {
        var rslt = new Image();
        rslt.src = arg;
        return rslt;
      }
  }

function changeImages ()
  {
    if (document.images && preloadFlag)
      {
        var args = changeImages.arguments;
        for (var i=0; i < args.length; i += 2)
          {
            document[args[i]].src = "images/" + args[i+1];
          }
      }
  }

function animationLoaded ()
  {
    StartAnimation();
  }

function preloadImages ()
  {
    if (document.images && !preloadFlag)
      {
        var AnimatedLogo = new Image;
        // set up event handlers for the Image object
        AnimatedLogo.onload = animationLoaded;
        AnimatedLogo.src = "images/AnimatedLogo.gif";

        loadImage("images/HomeButton-over.gif");
        loadImage("images/CareersButton-over.gif");
        loadImage("images/ContactButton-over.gif");
        loadImage("images/ProjectsButton-over.gif");
        loadImage("images/ProfileButton-over.gif");
        loadImage("images/ServicesButton-over.gif");
        loadImage("images/ProductsButton-over.gif");

        loadImage("images/LED_1-RedOn.gif");
        loadImage("images/LED_1-RedOff.gif");
        loadImage("images/LED_1-GreenOn.gif");
        loadImage("images/LED_2-RedOn.gif");
        loadImage("images/LED_2-RedOff.gif");
        loadImage("images/LED_2-GreenOn.gif");

        // set preloadFlag to true even though we haven't guaranteed
        // that all of the images have loaded. It's likely, though,
        // unless the user is on a dial-up.
        preloadFlag = true;
      }
  }

function StopAnimation ()
  {
	changeImages('AnimatedLogo', 'AnimatedLogo-Still.gif');
  }

function StartAnimation ()
  {
	changeImages('AnimatedLogo', 'AnimatedLogo.gif');
    BlinkLED();
  }

function BlinkLED ()
  {
    self.setTimeout('ChangeLEDState (1, "green"); ChangeLEDState (2, "green");', 200);
    self.setTimeout('ChangeLEDState (1, "red"); ChangeLEDState (2, "red");', 400);
    self.setTimeout('ChangeLEDState (1, "green"); ChangeLEDState (2, "green");', 800);
    self.setTimeout('ChangeLEDState (1, "red"); ChangeLEDState (2, "red");', 1000);

    //self.setTimeout('ChangeLEDState (2, "red")', 500);
    //self.setTimeout('ChangeLEDState (2, "green")', 1000);
    //self.setTimeout('ChangeLEDState (2, "red")', 1500);
  }

// led - the number of the LED to change, either 1 or 2 currently
// state - The state to change the LED to which can be either "off", "red", or "green".
function ChangeLEDState (led, state)
  {
    imageName = "";
    if (led == 1)
      {
        imageName = 'LED_1';
      }
    else if (led == 2)
      {
        imageName = 'LED_2';
      }

    if (state == 'off')
      {
        changeImages(imageName, imageName + '-RedOff.gif');
      }
    else if (state == 'red')
      {
        changeImages(imageName, imageName + '-RedOn.gif');
      }
    else if (state == 'green')
      {
        changeImages(imageName, imageName + '-GreenOn.gif');
      }

  }
