function rotate() {
  if( nextprevhit == 0 ) {	
  var delay = 7;
  if (!document.getElementById) {
    return;
  }
  var divToRotate = document.getElementById("rotatingpuff");
  var divs = divToRotate.getElementsByTagName("div");
  var validDivs = 0;
  for (var i=0; i < divs.length; i++ ) {
    var div = divs[i];
    if ( (div.id != "") && (div.nodeType == 1) ) {
        div.style.display = "none";
		validDivs++;
    }
  }
  if (rotationCount > validDivs) {
        rotationCount = 1;
  }
  if (rotationCount > 0) {
    var divIdToReveal  = rotationCount;
    var divToRevealObj = document.getElementById("rotwof"+divIdToReveal);
	fadeToDiv(divToRevealObj);
    rotationCount++;
  } else {
    var randDivId = Math.ceil( Math.random() * (validDivs) );
	var firstDivToRevealObj = document.getElementById("rotwof"+randDivId);
    firstDivToRevealObj.style.display = "block";
	rotationCount = randDivId;
	rotationCount++;
  }
  timeout = setTimeout('rotate()', delay*1000);
  }
}
function fadeToDiv(divToRevealObj) {
  setOpacity(divToRevealObj.id, 0);
  divToRevealObj.style.display = "block";
  fadeInDiv(divToRevealObj.id,0);
}
function fadeInDiv(divId, opacity) {
  if (opacity <= 100) {
	setOpacity(divId, opacity);
	opacity += 5;
	fade = window.setTimeout("fadeInDiv('"+divId+"',"+opacity+")", 100);
  }
}
function setOpacity(divId, opacity) {
  var div = document.getElementById(divId);
  opacity = (opacity == 100)?99.999:opacity;
  div.style.filter = "alpha(opacity:"+opacity+")";
  div.style.KHTMLOpacity = opacity/100;
  div.style.MozOpacity = opacity/100;
  div.style.opacity = opacity/100;
}
function nextRotWof() {
  var delay = 7;
  if (!document.getElementById) {
    return;
  }
  var divToRotate = document.getElementById("rotatingpuff");
  var divs = divToRotate.getElementsByTagName("div");
  var validDivs = 0;
  for (var i=0; i < divs.length; i++ ) {
    var div = divs[i];
    if ( (div.id != "") && (div.nodeType == 1) ) {
        div.style.display = "none";
                validDivs++;
    }
  }
  rotationCount++;
  if (rotationCount > validDivs) {
        rotationCount = 1;
  }
  if (rotationCount > 0) {
    var divIdToReveal  = rotationCount;
    var divToRevealObj = document.getElementById("rotwof"+divIdToReveal);
        fadeToDiv(divToRevealObj);
  } else {
    var randDivId = Math.ceil( Math.random() * (validDivs) );
        var firstDivToRevealObj = document.getElementById("rotwof"+randDivId);
    firstDivToRevealObj.style.display = "block";
        rotationCount = randDivId;
  }
  nextprevhit = 1;
}
function prevRotWof() {
  var delay = 7;
  if (!document.getElementById) {
    return;
  }
  var divToRotate = document.getElementById("rotatingpuff");
  var divs = divToRotate.getElementsByTagName("div");
  var validDivs = 0;
  for (var i=0; i < divs.length; i++ ) {
    var div = divs[i];
    if ( (div.id != "") && (div.nodeType == 1) ) {
        div.style.display = "none";
                validDivs++;
    }
  }
  if(nextprevhit == 0) {
	  rotationCount--;
  }
  rotationCount--;
  if (rotationCount < 1) {
        rotationCount = validDivs;
  }
  if (rotationCount > 0) {
    var divIdToReveal  = rotationCount;
    var divToRevealObj = document.getElementById("rotwof"+divIdToReveal);
        fadeToDiv(divToRevealObj);
  } else {
    var randDivId = Math.ceil( Math.random() * (validDivs) );
        var firstDivToRevealObj = document.getElementById("rotwof"+randDivId);
    firstDivToRevealObj.style.display = "block";
        rotationCount = randDivId;
  }
  nextprevhit = 1;
}
	var rotationCount = 0;				// Global var for tracking how many rotations have been done
	var nextprevhit = 0;
	//rotate();							// Do the work
//Code to stop rotation onmouseover and start again onmouseout
//AJB 20/07/06
function stopRotate(e){
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;	
	var rotwof;
	while ((tg.id.indexOf("rotwof")!=-1 || tg.id=='' || tg.id=='undefined') && tg.nodeName != 'BODY'){
		rotwof = tg;
		tg = tg.parentNode;
	}	
	if (tg.id == "rotatingpuff"){
		clearTimeout(timeout);
		clearTimeout(fade);
		setOpacity(rotwof.id, 100);	
	}
}
function startRotate(e){
	if (!e) var e = window.event;	
	var tg = (window.event) ? e.srcElement : e.target;				
	var goTo = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	var rotno=0;
	try{
		while (tg.id.indexOf("rotwof")!=-1 || tg.id=='' || tg.id=='undefined'){
			rotwof = tg;
			tg = tg.parentNode;
		}		
		rotno = parseInt(rotwof.id.substring(6));			
		if (goTo.id == "rotatingpuff" || goTo.id == "prevnext") throw ""
		while ((goTo.id != "rotatingpuff" || goTo.id=='' || goTo.id=='undefined') && goTo.nodeName != 'HTML'){	
			goTo = goTo.parentNode;			
		}
		if (goTo.id != "rotatingpuff"){
			rotationCount = rotno + 1;				// Global var for tracking how many rotations have been done
			nextprevhit = 0;	
			delay=2;
			rotate();	
		}
	} catch(e){		
		rotationCount = rotno + 1;				// Global var for tracking how many rotations have been done
		nextprevhit = 0;	
		delay=2;
		rotate();
	}
}
function loadRotator(){
	var rotwofs = document.getElementsByTagName("div");
	for (var i = 0; i < rotwofs.length; i++){		
		if (rotwofs[i].id.indexOf("rotwof")==-1)continue;		
		rotwofs[i].onmouseover = stopRotate;
		rotwofs[i].onmouseout = startRotate;
	}
}

function get_random_number(elemsLength) {
  var number = parseInt(elemsLength);
  var ranNum= Math.floor(Math.random()*number);
  return ranNum;
}

function random_select(ulID, classname) {
  var elems = select_child_elements_by_classname(ulID, classname);
  var whichElem = get_random_number(elems.length);
  for(var i = 0; i < elems.length; i++) {
    elems[i].className.replace(/selected$/, '');
  }
  elems[whichElem].className += ' selected';
}

function select_child_elements_by_classname(ulID, classname) {
  var ulEl = document.getElementById(ulID);
  var elemsarr = ulEl.getElementsByTagName('li');
  var elems = Array();
  for(var i = 0; i < elemsarr.length; i++){
    if (elemsarr[i].className.match(classname)) {
      elems.push(elemsarr[i]);
    }
  }
  return elems;
}

function navigateSmallDigihubBlock(ulID, prev, next) {
  var selectedSet = false;
  var nextEl = '';
  var elems = select_child_elements_by_classname(ulID, 'tab');
  while (selectedSet == false) {
    for(var i = 0; i < elems.length; i++){
      var class_array = elems[i].className.split(' ');
      if (class_array[1] == 'selected') {
        elems[i].className = class_array[0];
        if (prev == true) {
          var nextEl = i-1;
          if (nextEl == -1) {
            nextEl = elems.length - 1;
          }
        }
        if (next == true) {
          var nextEl = i+1;
          if (nextEl == elems.length) {
            nextEl = 0;
          }
        }
      }
      if (i === nextEl) {
        elems[i].className += ' selected';
        selectedSet = true;
        break;
      }
    }
  }
}

nextRotWof();

