function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}

addLoadListener(function()
{
	frameImgSizes = [];
	frameImgSizes[1] = [138,93];
	frameImgSizes[2] = [140,99];
	frameImgSizes[3] = [144,103];

	for (i=1; i<frameImgSizes.length; i++) {
	 obj = document.getElementById('frame'+i).getElementsByTagName('img')[1];
	 newImg = document.createElement('img');
	 newImg.className = 'frame_imageB'; // IE6 and IE7 need the classname declared this way.
	 newImg.setAttribute('src','images/frames/'+frame[i][2]);
	 newImg.setAttribute('width',frameImgSizes[i][0]);
	 newImg.setAttribute('height',frameImgSizes[i][1]);
	 obj.parentNode.insertBefore(newImg, obj.nextSibling);
	}
	
	type = (typeof document.getElementById('frame1').style.opacity != 'undefined') ? 'w3c':'ie';
	
	setTimeout("frameShow(1)", 8000);
	setTimeout("frameShow(2)", 9000);
	setTimeout("frameShow(3)", 10000);
	
	preloading("menu_hover_bg.gif","menu_sub_hover_bg.gif","menu_sub_mark_bg.gif","menu_sub_mark_hover_bg.jpg")
});

var myimages = [];
function preloading() {
for (x=0; x<preloading.arguments.length; x++){
myimages[x] = new Image();
myimages[x].src = "/images/"+preloading.arguments[x];
}
}

/* Header Frames */

frame = [];
frame[1] = [1,'p1-erin_friends1.gif','p1-jill_friend.gif','p1-kids1.gif','p1-girl1_closeup.gif','p1-jill_hug.gif'];
frame[2] = [1,'m3-concert.gif','m3-girl2_closeup.gif','m3-jill_pray.gif','m3-geoff_jill2.gif','m3-men_praying.gif'];
frame[3] = [1,'p5-rhonda_pray.gif','p5-geoff_jill_sing.gif','p5-erin_friends2.gif','p5-leaf.gif','p5-erin_dance.gif'];

frameLink = [];
frameLink[1] = ['','','','',''];
frameLink[2] = ['','','','',''];
frameLink[3] = ['','','','',''];

var type;
var currElem = [];
var newElem = [];
var frameObj = [];
var framePause = false;

function setFade(obj,value) {
if (type == 'ie') {
 obj.style.filter = 'alpha(opacity='+value * 100+')';
} else {
// obj.style.opacity = (value == 1 ? 0.9999999 : value);
 obj.style.opacity = value;
}
}

function frameShow(fr) {
var fps = 20;
var time = 2;
var steps = time * fps;
var intervals = 1000 / fps;
var value = 0;
frameObj[fr] = document.getElementById('frame'+fr);
currElem[fr] = frameObj[fr].getElementsByTagName('img')[1];
newElem[fr] = frameObj[fr].getElementsByTagName('img')[2];
currElem[fr].style.zIndex = '0';
newElem[fr].style.zIndex = '1';
newElem[fr].opChangeInt = window.setInterval(
    function() {
      if (framePause) return;
      value += 1 / steps;
      if (value <= 1) {
       setFade(newElem[fr],value);
      } else {
       window.clearInterval(newElem[fr].opChangeInt);
       frameObj[fr].getElementsByTagName('a')[0].href = (frameLink[fr][frame[fr][0]] == '') ? 'javascript:;':frameLink[fr][frame[fr][0]]; // Set link for "front" image.
       currElem[fr].src = newElem[fr].src; // Set the "behind" image the same as the "front" image.
       currElem[fr].style.zIndex = '1'; // Set the "behind" image to be the "front" image.
       newElem[fr].style.zIndex = '0'; // Set the "front" image to be the "behind" image.
       setFade(newElem[fr],0); // Set the now "behind" image to an opacity of 0.
       frame[fr][0] = (frame[fr][0] < frame[fr].length-2) ? frame[fr][0]+1:0; // Set the first index of the frame array to the new count. Reset it to 0 if we have gone through all the pictures.
       newElem[fr].src = 'images/frames/'+frame[fr][frame[fr][0]+1]; // Set the new source of the now "behind" image.
       setTimeout("frameShow("+fr+")",8000); // Call the next fade in with the new image.
      }
    }
    , intervals)
}

function createXMLHttpRequest() {

var request = false;

try {
     request = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         request = false;
       }  
     }
   }
  return request;
}
