/* ---------------------------------------
Feature Rotation Script 
Written by Matt on 2010-03-29
--------------------------------------- */

//window.onload = start;

//function start() { 
  // get all feature nav items & prep links
//  prepFtrNav(); 
  // run rotate feature every few seconds
 // self.setInterval("setNextFtr();", iInterval);
//  timeoutID = window.setTimeout("showHighlight()", 8000);	
//} 

// preps feature nav links to call the necessary functions on click
function prepFtrNav() {
  // ensure browser supports getElementsByTagName
  if (!document.getElementsByTagName) return false;
  // create array of list items on the page
  var items = document.getElementById('feature').getElementsByTagName("li");
  var j=0;
  gFtrItems=new Array(); // global array to hold feature items

  document.getElementById('fprev').onclick = function() {
    setPrevFtr();
    return false;
  }
  document.getElementById('fnext').onclick = function() {
    setNextFtr();
    return false;
  }
  
  // loop through list items to find feature items
  for (var i=0; i<items.length; i++) {  
    if (items[i].className) {
      if (hasClass(items[i],'fitem')) {
        // assign feature item to global array
        gFtrItems[j] = items[i];
        j++;
        // associate actions when clicking the list item's mav link (the first child element)
        document.getElementById('fnext').onclick = function() {
          setNextFtr('fitem');
          return false;
        }
      }
    }
  }
}

// clear & set active feature
function setNextFtr() {
  // loop through active feature items
  for (var i=0; i<gFtrItems.length; i++) {
    if (hasClass(gFtrItems[i],'active')) {
      // clear active class from matching item
      gFtrItems[i].className = "fitem";
      if ([i+1]==gFtrItems.length) {
        gFtrItems[0].className = "fitem active";
      }
      else {
        i++;
        gFtrItems[i].className = "fitem active";
      }
    }
  }
}

// clear & set active feature
function setPrevFtr() {
  // loop through active feature items
  for (var i=0; i<gFtrItems.length; i++) {
    if (hasClass(gFtrItems[i],'active')) {
      // clear active class from matching item
      gFtrItems[i].className = "fitem";
      if (i==0) {
        gFtrItems[gFtrItems.length-1].className = "fitem active"; // change from gFtrItems[2] to get the actual length
        i=gFtrItems.length; // change from i=4 to get the actual length
      }
      else {
        gFtrItems[i-1].className = "fitem active";
      }
    }
  }
}

// compare classes on the element to see there is a match
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); 
}
