var randImgs;
var randImgsCounter=0;

function startRandomImages() {
   getGalleryImages();
   }

function getGalleryImages() {
   var xmlHttp;
   var url="/xml/slideshow_randomimgs.php";
   var imgContainer=document.getElementById('random_image');
   
   // Firefox, Opera 8.0+, Safari
   try { xmlHttp=new XMLHttpRequest(); }
   catch (e) {
      
      // Internet Explorer 6.0+
      try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
      
      // Internet Explorer 5.5+
      catch (e) {
         try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
         
         // no AJAX support!
         catch (e) {
            alert("Your browser does not support AJAX!");
            return false;
            }
         }
      }
   
   xmlHttp.onreadystatechange=function() {
      if (xmlHttp.readyState==4) {
         var doc=xmlHttp.responseXML;
         randImgs = doc.getElementsByTagName('pic');
         if (document.getElementById('homepic1').hasChildNodes() == false) initImages();
         else randChangeImages();
         }
      };
   xmlHttp.open("GET",url,true);
   xmlHttp.send(null);
   
   }

function initImages() {
   for (i=1;i<=3;i++) {
      eval("var newImg"+i+"=document.createElement('img')");
      eval("newImg"+i+".src=randImgs["+(i-1)+"].getAttribute('thumb')");
      eval("document.getElementById('homepic"+i+"').appendChild(newImg"+i+")");
      }
   randImgsCounter=3;
   setTimeout('randChangeImages()',5000);
   }

function randChangeImages() {
   var getNewImages=0;
   var changeImageNow=0;
   
   outer_loop:
   while (randImgsCounter<randImgs.length) {
      
      // generate image element
      var newImg=document.createElement('img');
      newImg.src=randImgs[randImgsCounter].getAttribute('thumb');
      
      var randNumber = Math.random();
      
      if (randNumber < .33) {
         // change the image in randImg1
         var randImgNumber = 1;
         }
      else if (randNumber < .66) {
         // change the image in randImg2
         var randImgNumber = 2;
         }
      else {
         // change the image in randImg3
         var randImgNumber = 3;
         }
      
      var imgCont = eval("document.getElementById('homepic" + randImgNumber + "');");
      
      for (i=1;i<=3;i++) {
         if (newImg.src == document.getElementById('homepic'+i).lastChild.src) {
            randImgsCounter++;
            changeImageNow=1;
            break outer_loop;
            }
         }
       
      // replace the old image with the new or init the image if no image is present
      if (imgCont.hasChildNodes()) imgCont.replaceChild(newImg,imgCont.lastChild);
      else imgCont.appendChild(newImg);
      
      // this counter keeps track of the images displayed
      randImgsCounter++;
      
      // when we've displayed all the images returned by the AJAX php script start over
      if (randImgsCounter==randImgs.length-1) {
         randImgsCounter=0;
         getNewImages=1;
         break outer_loop;
         }
      // otherwise wait 5 seconds and display a new image
      else break outer_loop;
      }
   if (getNewImages == 1) {
      getNewImages = 0;
      setTimeout('getGalleryImages()',5000);
      return;
      }
   else if (changeImageNow == 1) {
      changeImageNow = 0;
      randChangeImages();
      return;
      }
   else {
      setTimeout('randChangeImages()',5000);
      }
   }

// start the slide show after the page is loaded.
window.onload=startRandomImages;