var isIE = false;
var req;
var grouparray;
var currentgroup = 0;
var currentdrawitem = 0;
var currentclearitem = 0;
var nextfunctioninterval;
var draworder = new Array();
draworder[0] = new Array(1,2,3,4,5,6,7,8,9);
var longpause = 5000;
var shortpause = 250;
var largeimageurl;
var largeimagelink;
var hover = 0;

function on(){
	hover = 1;
}
function off(){
	hover = 0;
}

function processReqChange() {
	if (req.readyState == 4) {
		if (req.status == 200) {
			InitializeRotation();
		 }
	}
}

function InitializeRotation(){
	grouparray = req.responseXML.getElementsByTagName('displaygroup');
	currentgroup = Math.floor(Math.random() * grouparray.length);
	largeimageurl = getElementTextNS("", "largeimage", grouparray[currentgroup], 0);
	largeimagelink = grouparray[currentgroup].getElementsByTagName('largeimage')[0].getAttribute('url');
	element = document.getElementById('rotateDiv');
	element.style.backgroundImage = 'url(' + largeimageurl + ')';
	ClearSmallImage(1); 
}

function DrawSmallImage(init){
	if (init){
		currentdrawitem = 0;
		randomval = Math.floor(Math.random() * draworder.length);
		localdraworder = draworder[randomval];
	}
	element = document.getElementById('photo' + localdraworder[currentdrawitem]);
	var smallimagearray = grouparray[currentgroup].getElementsByTagName('smallimage');
	var imageurl = smallimagearray[currentdrawitem].firstChild.nodeValue;
	var imagelink = smallimagearray[currentdrawitem].getAttribute('url');
	element.innerHTML = '<a href="' + imagelink + '"><img border="0" width="171" height="100" class="rotatePhoto" src="' + imageurl + '" /></a>';
	if (currentdrawitem >= 8){
		nextfunctioninterval = setTimeout('ClearSmallImage(1)',longpause);
	} else {
		currentdrawitem++;
		nextfunctioninterval = setTimeout('DrawSmallImage(0)',shortpause);
	}
}

function ClearSmallImage(init){
	if (init){
		currentclearitem = 0;
		currentgroup++;
		if (currentgroup >= grouparray.length){
			currentgroup = 0;
		}
		largeimageurl = getElementTextNS('','largeimage',grouparray[currentgroup], 0);
		largeimagelink = grouparray[currentgroup].getElementsByTagName('largeimage')[0].getAttribute('url');
		element = document.getElementById('rotateDiv');		
		element.onmouseover = '';
		element.onmouseout = '';
		element.style.backgroundImage = 'url(' + largeimageurl + ')';
		randomval = Math.floor(Math.random() * draworder.length);
		localclearorder = draworder[randomval];	
	}
	element = document.getElementById('photo' + localclearorder[currentclearitem]);
	element.innerHTML = '<a href="' + largeimagelink + '"><img src="App_Themes/white/rotatePanel/empty.gif" border="0" width="171" height="100" class="rotatePhoto"/></a>';
	if (currentclearitem >= 8){
		nextfunctioninterval = setTimeout('DrawSmallImage(1)',longpause);
	} else {
		currentclearitem++;
		nextfunctioninterval = setTimeout('ClearSmallImage(0)',shortpause);
	}
}

function loadXMLDoc(url) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send(null);
	} else if (window.ActiveXObject) {
		isIE = true;
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChange;
			req.open("GET", url, true);
			req.send();
		}
	}
}

function getElementTextNS(prefix, local, parentElem, index) {
	var result = "";
	if (prefix && isIE) {
		result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
	} else {
		result = parentElem.getElementsByTagName(local)[index];
	}
	if (result) {
		if (result.childNodes.length > 1) {
			return result.childNodes[1].nodeValue;
		} else {
			return result.firstChild.nodeValue;			
		}
	} else {
		return "n/a";
	}
}


function control1OnLoadHandler()
{
    loadXMLDoc(fileName);
}

function addLoadEventHandler(func) 
{     
    var previous_handler = window.onload; 
    if(typeof window.onload != "function") window.onload = func;  
    else window.onload = function() 
    {             
        previous_handler ();              
        func();         
    }
}

//add this control's onLoad handler to the document's onload, without
//replacing whatever handler may be there already
addLoadEventHandler (control1OnLoadHandler);