function addRotationLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

var Request = function(url) {
        this.ajaxURL = url;
        this.httpRequest= null;
        this.Response;
        
        var self=this; 
        
        this.updating = false;
        this.abort = function() {
            if (self.updating) {
                self.updating=false;
                self.httpRequest.abort();
                self.httpRequest=null;
            }
        };
        
        this.GET = function(){ 
        if (self.updating) { return false; }
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            this.httpRequest = new XMLHttpRequest();
            if (this.httpRequest.overrideMimeType) {
                this.httpRequest.overrideMimeType('text/xml');
                // See note below about this line
            }
        } 
        else if (window.ActiveXObject)
            { // IE
            try {
                this.httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch (e) {
                           try {
                                this.httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                               } 
                             catch (e) {}
                          }
             }//end IE

        if (!this.httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
             
        
       try{  
          
           this.httpRequest.onreadystatechange =  this.ReadyStateChange(this);
  	          
           this.httpRequest.open('GET', this.ajaxURL,true);
           this.httpRequest.send(null); 
           
        }catch(e){
            alert(e);            
        }
         
    };//end GET function
    
    
    this.ReadyStateChange = function(requestObj)
    {
    
            return function(){
                if(requestObj.httpRequest.readyState==4 || requestObj.httpRequest.readyState=='complete')
                {
                    if(requestObj.httpRequest.status==200)
                    {
                        requestObj.Response=requestObj.httpRequest.responseXML;
                        updateHeaderimage(requestObj)
                        //return requestObj.Response;
                    }               
                }
            };//end function    
    };//end ReadyStateChange
    
}//end Request object
var globalImages = [];	
function GetData(){
	var request = new Request("/imagerotation/headerimages.xml");
	request.GET();
}

function updateHeaderimage(request){
	var xmldoc = request.Response;
	var xmldoc = request.Response;
	
	var allTracks = xmldoc.getElementsByTagName("track");
	var olEl=document.createElement('ul');			
	olEl.setAttribute("id","headerimages");
	
	var allImages = [];	
	//attach events to items in that list
	for (var i=0;i<allTracks.length;i++)
		{
			var image = [];
			var trackElm = allTracks[i];						
			var titleElm = trackElm.getElementsByTagName("title").item(0);						
			var titleText = titleElm.firstChild.nodeValue;
			image['titleText'] = titleText;
			var imageElm = trackElm.getElementsByTagName("image").item(0);						
			var imageSrc = '/headerimgrotate.php?setimage=true&image='+imageElm.firstChild.nodeValue;
			
			image['imageSrc'] = imageSrc;
			var creatorElm = trackElm.getElementsByTagName("creator").item(0);						
			var creatorText = creatorElm.firstChild.nodeValue;	
			image['creatorText'] = creatorText;
			var liEl=document.createElement('li');
			var linkEl=document.createElement('a');
			var linkText =document.createTextNode(titleText); 
			linkEl.setAttribute("href",imageSrc);
			
			var imageID = "image"+i;
			
			linkEl.setAttribute("id","image"+i);
			linkEl.appendChild(linkText);
			
			liEl.appendChild(linkEl);
			
			olEl.appendChild(liEl);
			allImages[imageID] = image;			
			linkEl.onclick=resetImage;

		}
	globalImages = 	allImages;
	var parentNode = document.getElementById('header');
	var refelement = document.getElementById('clearer'); 
	
	parentNode.insertBefore(olEl, refelement)
	
}



function resetImage()
{
	for (var key in globalImages) 
	{
			if(document.getElementById(key))
			{
				var link = document.getElementById(key);				
				link.removeAttribute('class');
				link.style.backgroundColor = 'transparent';
				//link.setAttribute("class",'');
			}
	}
	
	var elid = this.getAttribute('id');
	
	this.setAttribute("class",'selected');
	this.style.backgroundColor = '#FFB25D';
	
	var imageSrc = globalImages[elid]['imageSrc'];
	var creatorText = globalImages[elid]['creatorText'];
	var titleText = globalImages[elid]['titleText'];
	var image=document.getElementById('blog_header');
	//image.setAttribute('src',imageSrc); 
	image.style.backgroundImage ='url('+imageSrc+')';	
	image.setAttribute('title',titleText + '('+creatorText+')');
	//get the p for the title text
	return false;
}



addRotationLoadEvent(GetData);
