function set_opacity(element, opacity) {
  element.style.opacity = opacity ;
  element.style.filter = 'alpha(opacity = ' + opacity * 100 + ')';
}

function fadeArray() {

  var TimeToFade = 1000.0;
  var TimeToPause = 2000.0;
  var i = 0;
  var ids, curTick, lastTick, from_eid, to_eid, from_element, to_element ;

  function animateFromTo() {
    curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;
  
    if(from_element.FadeTimeLeft <= elapsedTicks) {
      set_opacity(from_element, 0);
      from_element.style.zIndex = 0; 

      set_opacity(to_element, 1);
      to_element.style.zIndex = 1;

      i+=1;
      setTimeout(fadeFromTo, TimeToPause);
    } else {
  
      from_element.FadeTimeLeft -= elapsedTicks;
      var fromOpVal = from_element.FadeTimeLeft/TimeToFade;
  
      set_opacity(from_element, fromOpVal);
      set_opacity(to_element, 1 - fromOpVal);
      lastTick = curTick;
      setTimeout(animateFromTo, 33);
    }
  }
  
  function fadeFromTo() {
    var length = ids.length;
    from_eid = ids[i % length];
    to_eid = ids[(i+1) % length];
    //console.log(from_eid);
    //console.log(to_eid);

    from_element = document.getElementById(from_eid);
    to_element = document.getElementById(to_eid);

    set_opacity(from_element, 1);
    set_opacity(to_element, 0);

    from_element.FadeTimeLeft = TimeToFade;//note the asymmetry
  
    lastTick = new Date().getTime();
    setTimeout(animateFromTo, 33);
  }
  

  if(document.getElementById('subscribe-tab')) {
    ids = ['email-image', 'facebook-image', 'twitter-image', 'rss-image'];
    setTimeout(fadeFromTo, TimeToPause);
  }

  if(document.getElementById('client-roll')) {
    ids = ['lake-oswego', 'palo-alto', 'decatur', 'alpharetta', 'montgomery', 'blue-ash'];
    setTimeout(fadeFromTo, TimeToPause);
  }

  if(document.getElementById('rotating-statements')) {
    var j=1;
    ids = [];
    while (document.getElementById('statement'+j)) {
      ids.push('statement'+j);
      j++;
    }
    if(ids.length > 1) {
      setTimeout(fadeFromTo, TimeToPause);
    }
  }

  if(document.getElementById('fader0')) {
    var j=0;
    ids = [];
    while (document.getElementById('fader'+j)) {
      ids.push('fader'+j);
      j++;
    }
    if(ids.length > 1) {
      setTimeout(fadeFromTo, TimeToPause);
    }
  }

}

function showMapWithPolygon() {
  var e = document.getElementById('map-with-polygon');

  if (e) {
    if (GBrowserIsCompatible()) {
      var latitude = document.getElementById('latitude').innerHTML;
      var longitude = document.getElementById('longitude').innerHTML;
      var gmap_level = document.getElementById('gmap-level').innerHTML;
      gmap_level = parseInt(gmap_level);
      var geom = document.getElementById('geom').innerHTML;
      var map = new GMap2(e);
      map.setCenter(new GLatLng(latitude, longitude), gmap_level);
      map.addControl(new GSmallMapControl());
      var points = geom.split("|");
      var vertices = [];
      for (var i = 0; i < points.length ; i++) {
        var coords = points[i].split(",");
        vertices.push(new GLatLng(coords[1], coords[0]));
      }
      var polygon = new GPolygon( vertices, "#E07000", 1, 1, "#E07000", 0.5)
      //var polygon = new GPolygon( vertices, "#9c0b02", 1, 1, "#9c0b02", 0.5)
      map.addOverlay(polygon);
    }
  }
}

function onloadPD() {
  showMapWithPolygon();
  fadeArray();
};


