var rooturl = 'http://' + window.location.host;
var xmlDoc;
var times_up = false;
var slidestring = ""
var captionstring = ""
var expiretime = 5000;

//important filler var!!!!
var filler_slide = "/dlrimgs/filler_slide.jpg";

function loadSlides() {
	if (window.ActiveXObject) {

		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.load(rooturl +  "/cfg/WebsiteConfigSlideShow.xml");
		//setTimeout("times_up=true", expiretime); //set abort download time (5 sec).
		XMLloadcontrol();
	}
	
	else if (window.XMLHttpRequest) {
	 
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", rooturl +  "/cfg/WebsiteConfigSlideShow.xml", true);
        req.send(null);
      
        }	
}

function XMLloadcontrol() {

	if (times_up==true) { //if designated time frame has expired
		//alert ("XML file loading aborted");
		return;
	}
	else if (xmlDoc.readyState==4) { //if xml file has loaded within time frame
		processslides(); //execute the rest of the script
		//createslides();
	}
	else //else, run thyself again
		setTimeout("XMLloadcontrol()",10);
}

function lmSlide( picorder, originalIndex )
{
  this.PicOrder = +picorder;
  this.OriginalIndex = +originalIndex;
}

function processslides() {

  var slidesObj = xmlDoc.getElementsByTagName("SlideShow");
  var x = 0;
  var y = 0;
  var slides = new Array();
  var slideCountString = "";
  while(x < slidesObj.length) {
    if(slidesObj[x].getElementsByTagName("Enabled")[0].text == 1) {
      EndDate = slidesObj[x].getElementsByTagName("SlideShowExpirationDate")[0].text;
      EndTime = EndDate.indexOf('T');
      EndDate = EndDate.substring(0, EndTime);
      EndDate = EndDate.replace("-", "/").replace("-", "/");
      EndDate2 = new Date(EndDate);
      
      StartDate = slidesObj[x].getElementsByTagName("SlideShowStartDate")[0].text;
      StartTime = StartDate.indexOf('T');
      StartDate = StartDate.substring(0, StartTime);
      StartDate = StartDate.replace("-", "/").replace("-", "/");
      StartDate2 = new Date(StartDate);
      today = new Date();
      if(((today - EndDate2) < 0) && ((today - StartDate2) > 0)) {
        slides.push(new lmSlide(slidesObj[x].getElementsByTagName("PicOrder")[0].text, x));
        //slideCountString = slideCountString + '<a href="#"></a>';
      }
    }
    x++;
  }
  //alert(slides[0]);
  slides = slides.sort(sortNumber);
  //alert(slides[0]);
  
  x=0;
  while(x < slides.length) {
     slidestring = slidestring + '<a href="' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicLink")[0].text + '"><img src="' + rooturl + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicFile")[0].text.replace(/ /g,"%20") + '" border="0" alt="' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicALT")[0].text + '"';
      
    if(slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicText")[0].text != "") {
     slidestring = slidestring + ' title="#' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicName")[0].text.replace(/ /g,"_") + '"';
     }
     slidestring = slidestring + ' /></a>';
     
     if(slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicText")[0].text != "") {
     captionstring = captionstring + '<div id="' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicName")[0].text.replace(/ /g,"_") + '" class="nivo-html-caption">' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicText")[0].text + '</div>';
     }
      x++;      
  }
  if(slides.length == 0) {
    slidestring = slidestring + '<a href="/Results.aspx"><img src="' + rooturl + filler_slide + '"';      
    slidestring = slidestring + ' /></a>';     
  }
 document.getElementById("slideshowImages").innerHTML = slidestring;
 //document.getElementById("slideshowCaptions").innerHTML = captionstring;
 createSlides();
 
}

function processslides2() {

  var slidesObj = req.responseXML.getElementsByTagName("SlideShow");
  var x = 0;
  var y = 0;
  var slides = new Array();
  var slideCountString = "";
 
  while(x < slidesObj.length) {
    if(slidesObj[x].getElementsByTagName("Enabled")[0].textContent == 1) {
      EndDate = slidesObj[x].getElementsByTagName("SlideShowExpirationDate")[0].textContent;
      EndTime = EndDate.indexOf('T');
      EndDate = EndDate.substring(0, EndTime);
      EndDate = EndDate.replace("-", "/").replace("-", "/");
      EndDate2 = new Date(EndDate);
      
      StartDate = slidesObj[x].getElementsByTagName("SlideShowStartDate")[0].textContent;
      StartTime = StartDate.indexOf('T');
      StartDate = StartDate.substring(0, StartTime);
      StartDate = StartDate.replace("-", "/").replace("-", "/");
      StartDate2 = new Date(StartDate);
      today = new Date();
      if(((today - EndDate2) < 0) && ((today - StartDate2) > 0)) {
        slides.push(new lmSlide(slidesObj[x].getElementsByTagName("PicOrder")[0].textContent, x));
        //slideCountString = slideCountString + '<a href="#"></a>';
      }
    }
    x++;
  }
  //alert(slides[0]);
  slides = slides.sort(sortNumber);
  //alert(slides[0]);
  
  x=0;
  while(x < slides.length) {
     slidestring = slidestring + '<a href="' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicLink")[0].textContent + '"><img src="' + rooturl + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicFile")[0].textContent.replace(/ /g,"%20") + '" border="0" alt="' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicALT")[0].textContent + '"';
     
     if(slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicText")[0].textContent != "") {
     slidestring = slidestring + ' title="#' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicName")[0].textContent.replace(/ /g,"_") + '"';
     }
     slidestring = slidestring + ' /></a>';
     
     if(slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicText")[0].textContent != "") {
     captionstring = captionstring + '<div id="' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicName")[0].textContent.replace(/ /g,"_") + '" class="nivo-html-caption">' + slidesObj[slides[x].OriginalIndex].getElementsByTagName("PicText")[0].textContent + '</div>';
     }
     
      x++;
  }
  
   if(slides.length == 0) {
    slidestring = slidestring + '<a href="/Results.aspx"><img src="' + rooturl + filler_slide + '"';      
    slidestring = slidestring + ' /></a>';     
  }
 document.getElementById("slideshowImages").innerHTML = slidestring;
 //document.getElementById("slideshowCaptions").innerHTML = captionstring;
 createSlides();
 
}

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
       if (req.status == 200) {
                    processslides2();
                    createslides();
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
         }
    }
}

function sortNumber(a,b)
{
if ( a.PicOrder<b.PicOrder) return -1;
if (a.PicOrder==b.PicOrder) return 0;
if (a.PicOrder>b.PicOrder) return 1;
}
