Event.observe(window, 'load', loadFlickr)

if(window.location.href.indexOf('galleries.asp') != -1){
	Event.observe(window, 'load', loadGalleries)
}
else{
	Event.observe(window, 'load', loadGallery)
	var galleryID = window.location.href.indexOf('id=') +3
	galleryID = window.location.href.substring(galleryID, window.location.href.length)
}

function loadFlickr(){
	// create loader image...
	var img = document.createElement('img')
	img.src='img/loader.gif'
	img.className = 'sidebarLoader'
	img.id='flickrLoader'
	$('flickr').appendChild(img)
	
	var url = 'req/getFlickrRecent.asp'
	new Ajax.Request(
		url, 
		{
			onComplete:function(response){
				drawFlickr(response.responseXML)
			}
		}
	)
}

function loadGallery(){
	// create loader image...
	var h2 = document.createElement('h2')
	h2.appendChild(document.createTextNode('Loading Gallery'))
	h2.id = 'galleryText'
	h2.className = 'loaderText'
	var img = document.createElement('img')
	img.src='img/galleryLoader.gif'
	img.className = 'galleryLoader'
	img.id='galleryLoader'
	$('galleries').appendChild(h2)
	$('galleries').appendChild(img)	
	
	var url = 'req/getFlickrPhotos.asp?galleryID=' + galleryID
	new Ajax.Request(
		url, 
		{
			onComplete:function(response){
				drawFlickrPhotos(response.responseXML)
			}
		}
	)	
}

function loadGalleries(){
	// create loader image...
	var h2 = document.createElement('h2')
	h2.appendChild(document.createTextNode('Loading Galleries'))
	h2.id = 'galleryText'
	h2.className = 'loaderText'
	var img = document.createElement('img')
	img.src='img/galleryLoader.gif'
	img.className = 'galleryLoader'
	img.id='galleryLoader'
	$('galleries').appendChild(h2)
	$('galleries').appendChild(img)	
	
	var url = 'req/getFlickrSets.asp'
	new Ajax.Request(
		url, 
		{
			onComplete:function(response){
				drawFlickrSets(response.responseXML)
			}
		}
	)
}

function drawFlickrSets(xmldoc){
	var colItems = xmldoc.getElementsByTagName('photoset')
	var iCount = colItems.length
	var container = $('galleries')
	
	for (var i=0; i<iCount; i++){
		if (colItems.item(i).hasChildNodes){
			// there are items under this heading.
			titles = colItems[i].getElementsByTagName('title')
			strTitle = titles[0].firstChild.nodeValue
			strID = colItems[i].getAttribute('id')
			strURL = colItems[i].getAttribute('primary')
			
			// build elements
			var a = document.createElement('a')
			var tmp = i % 3
//			alert(tmp)
			if (i % 3 == 2){
				a.className = 'galleryLink right'			
			}
			else{
				a.className = 'galleryLink'			
			}
			a.href = "showGallery.asp?id=" + strID + "&name=" + strTitle
			
			var img = document.createElement('img')
			img.alt = strTitle
			img.src = strURL
			
			var h3 = document.createElement('h3')
			h3.appendChild(document.createTextNode(strTitle))
			
			a.appendChild(img)
			a.appendChild(h3)
			
			container.appendChild(a)
		}
	}
	
	checkRemove('galleryText')
	checkRemove('galleryLoader')
	// add a clearer div
	var clearer = document.createElement('div')
	clearer.className = 'clearer'
	clearer.appendChild(document.createTextNode('&nbsp;'))
	container.appendChild(clearer)
}

function drawFlickrPhotos(xmldoc){
	var colItems = xmldoc.getElementsByTagName('photo')
	var iCount = colItems.length
	var container = $('galleries')
	
	for (var i=0; i<iCount; i++){
		// there are items under this heading.
		strTitle = colItems[i].getAttribute('title')
		strID = colItems[i].getAttribute('id')
		strURL = colItems[i].getAttribute('url')
		// get big url
		strBigURL = strURL.replace('_s', '')
		// build elements
		var a = document.createElement('a')
		if (i % 4 == 4){
			a.className = 'photoLink right'			
		}
		else{
			a.className = 'photoLink'			
		}
		
		a.href = strBigURL
		a.title = strTitle
		a.setAttribute('rel', 'lightbox[slideshow]')
		a.setAttribute('rev', 'http://www.flickr.com/photos/chriseboy/' + strID)
		
		var img = document.createElement('img')
		img.alt = strTitle
		img.src = strURL
			
		a.appendChild(img)
		
		container.appendChild(a)
	}
	
	checkRemove('galleryText')
	checkRemove('galleryLoader')
	// add a clearer div
	var clearer = document.createElement('div')
	clearer.className = 'clearer'
	clearer.appendChild(document.createTextNode('&nbsp;'))
	container.appendChild(clearer)
	// initialise lightbox
	initLightbox()
}

function drawFlickr(xmldoc){
	var colItems = xmldoc.getElementsByTagName('item')
	var iCount = colItems.length
	var container = $('flickr')
	if (iCount == 0){
		// no news items in feed
		var p = document.createElement('p')
		p.appendChild(document.createTextNode('No Recent Photos'))
		container.appendChild(p)
	}
	else{
		if (iCount > 10) {iCount = 10}
		for (var i=0; i<iCount; i++){
			// loop through pre-formatted flickr feed
			if (colItems.item(i).hasChildNodes){
				// there are items under this heading.
				var titles = colItems[i].getElementsByTagName('title')
				var descs = colItems[i].getElementsByTagName('description')
				var links = colItems[i].getElementsByTagName('link')
				var itemTitle = formatText(titles[0].firstChild.nodeValue)
				var itemDesc = formatText(descs[0].firstChild.nodeValue)
				var itemLink = formatText(links[0].firstChild.nodeValue)
				
				var a = document.createElement('a')
				a.href=itemLink
				if (i % 2 == 0){
					a.className = 'flickThumb'
				}
				else{
					a.className = 'flickThumb right'
				}
				a.title = itemTitle
				
				var img = document.createElement('img')
				img.alt = itemTitle
				img.src = itemDesc
				
				a.appendChild(img)
				
				container.appendChild(a)				
			}
		}
	}	
	checkRemove('flickrLoader')
	// add a clearer div
	var clearer = document.createElement('div')
	clearer.className = 'clearer'
	clearer.appendChild(document.createTextNode('&nbsp;'))
	container.appendChild(clearer)
}