
function replaceImage(el, newImage){
el.src=newImage;
el.style.float="";
}


toggleTimeline.current=false;
function toggleTimeline(nid){

	if (toggleTimeline.current){
		toggleTimeline.current.style.display = 'none';
	}

	var st = "TLB" + nid;

	toggleTimeline.current = document.getElementById(st);
	toggleTimeline.current.style.display = 'block';		
	return(false);
}


function replaceImage(el, newImage){
el.src=newImage;
el.style.float="";
}


function GetImage(xmldoc, url,imageId, titleId, descriptionId, photographerId){
	var xmlrows = xmldoc.getElementsByTagName("collection");
	var text;
	var descr
	for (var r=0; r < xmlrows.length; r++){
		var xmlrow = xmlrows[r];
		var Name = xmlrow.getAttribute("Name");
		var imagerows = xmlrow.getElementsByTagName("image");			
		var thumbs = document.createDocumentFragment();

		for (var c = 0; c < imagerows.length; c++){
			var imagerow = imagerows[c];
			var imagename = imagerow.getAttribute("imagename");
			var image_description = '';
			var title='';
			var height = '';
			var width = '';
			
			


			if (imagerow.getElementsByTagName("title")[0].firstChild){
				var title = imagerow.getElementsByTagName("title")[0].firstChild.data;
			}
			if (imagerow.getElementsByTagName("height")[0].firstChild){
				var height = imagerow.getElementsByTagName("height")[0].firstChild.data;
			}			
			if (imagerow.getElementsByTagName("height")[0].firstChild){
				var width = imagerow.getElementsByTagName("width")[0].firstChild.data;
			}	
			if (imagerow.getElementsByTagName("photographer")[0].firstChild){
				var photographer = imagerow.getElementsByTagName("photographer")[0].firstChild.data;
			}
			if (imagerow.getElementsByTagName("description")[0].firstChild){
				var image_description = xmlrow.getElementsByTagName("description")[0].firstChild.data;
			}
			if (c == 0){
				var oImg=document.getElementById(imageId);
				oImg.setAttribute('alt', title);
				oImg.setAttribute('src', 'Images/spacer.gif');
 				oImg.setAttribute('height', height +'px');
				oImg.setAttribute('width', width +'px');
				document.getElementById(imageId).width=width;
				document.getElementById(imageId).height=height;
				oImg.setAttribute('src', imagename);
				document.getElementById(titleId).innerHTML = title;			
				if (photographer) document.getElementById(photographerId).innerHTML = 'Photo by: ' + photographer;			

				description = decodeURIComponent(image_description.replace(/\+/g, '%20'));
				document.getElementById(descriptionId).innerHTML = description;


			}
		}
	}
	return(false);
}
function GetCollection(xmldoc, url){
	var xmlrows = xmldoc.getElementsByTagName("collection");
	var text;

	for (var r=0; r < xmlrows.length; r++){
		var xmlrow = xmlrows[r];
		var Name = xmlrow.getAttribute("Name");
		var xmldescription = xmlrow.getElementsByTagName("description")[0];
		var description = xmldescription.firstChild.data;
		document.getElementById("gDescription").innerHTML = '<strong>'+Name+'</strong>: ' + description;
		var imagerows = xmlrow.getElementsByTagName("image");			
		var thumbs = document.createDocumentFragment();

		for (var c = 0; c < imagerows.length; c++){
			var imagerow = imagerows[c];
			var imagename = imagerow.getAttribute("imagename");

			var height = imagerow.getElementsByTagName("height")[0].firstChild.data;
			var width = imagerow.getElementsByTagName("width")[0].firstChild.data;
			if (imagerow.getElementsByTagName("title")[0].firstChild){
				var title = imagerow.getElementsByTagName("title")[0].firstChild.data;
			}
			
			var image_description = xmlrow.getElementsByTagName("description")[0].firstChild.data;
			if (c == 0){
				var oImg=document.getElementById("gImage");
				oImg.setAttribute('alt', title);
				oImg.setAttribute('src', imagename);
				oImg.setAttribute('height', height +'px');
				oImg.setAttribute('width', width +'px');
				oImg.setAttribute('title', description);
			}

			var div = document.createElement("div");
			div.className="ThumbDiv";
			div.setAttribute('title', imagename + ":" + height + ":" + width);

			div.onclick = function(){
				swapMain(this.title);
				return false;
			}

//			var div.className = "ThumbDiv"; 

			var tImg=document.createElement("img");

			tImg.setAttribute('src', "thumb.php?i="+ imagename + "&h=50&w=67");			
			div.appendChild(tImg);
			thumbs.appendChild(div);

		}


		tCell = document.getElementById("gThumbs");
		tCell.innerHTML = '<img src="Images/spacer.gif" width="200" height="1">';
		tCell.appendChild(thumbs);

	}
	return(false);
}

function PopCollection(cid){
	lyr = document.getElementById('ImagePop');
	var dh = 580;
	var dw = 900;
	lyr.style.height = dh + 'px';
	lyr.style.width = dw + 'px';		

	putInCentre(lyr, dh, dw);
//	document.getElementById('ImageContent').innerHTML = '<img src="'+iname+'">';
var d = document; 
var rootElm = (d.documentElement && d.compatMode == 'CSS1Compat') ? d.documentElement : d.body; 

var top = (d.body.scrollTop > rootElm.scrollTop) ? d.body.scrollTop : rootElm.scrollTop;

var vpw = self.innerWidth ? self.innerWidth : rootElm.clientWidth; // viewport width 
var vph = self.innerHeight ? self.innerHeight : rootElm.clientHeight; // viewport height 
	document.getElementById('iShim').style.width = vpw + "px";
	document.getElementById('iShim').style.height = "1" + vph + "px";
	document.getElementById('iShim').style.display = "block";
	document.getElementById('iShim').zIndex = "50";

	var fb = new Date();
	
	var url = 'xgcol.php?cid='+cid+'&fb='+fb.getMilliseconds();
	var request = HTTP.newRequest();
	request.onreadystatechange = function() {
		if (request.readyState==4) { 
			if (request.status == 200){
				GetCollection(request.responseXML, url);
			}
		}
	}
	request.open("GET", url, true);
	request.setRequestHeader("User-Agent", "XMLHttpRequest");
	request.send(null);

	return(false);
}
gallery.count = 0;
gallery.current = 0;
gallery.thumbCurrent = 0;

gallery.images = Array();
gallery.names = Array();
gallery.description = Array();

function gallery(dir){
	var slots = 6;
	var df = 'left';	
	el = document.getElementById("GalleryImage");



	if (dir == 'NextThumb'){	
		var ct = "Thumb" + gallery.current;
		pte = document.getElementById("PrevThumb");
		if (pte != null && gallery.count > slots) {
			pte.style.top = '0';	
		}	

		pe = document.getElementById("Prev");
		if (pe != null) pe.style.display = 'block';	

		var sr = gallery.count - gallery.current - slots;
		if (sr > slots) {
			sr = slots;		
		} else {
			document.getElementById("NextThumb").style.display = 'none';		

		}
		for (var sm = 0; sm < sr; sm++){
			var pt = gallery.thumbCurrent;
	 		pt = "Thumb" + pt;
			if (document.getElementById(pt)){
				document.getElementById(pt).style.display='none';
			}
			var lt = gallery.thumbCurrent + slots; 
	 		lt = "Thumb" + lt;
			document.getElementById(lt).style.display='block';
			gallery.thumbCurrent++;

			gallery.current++;

		}
		tel = 'Thumb' + gallery.current;
		el = document.getElementById(tel);	
	}
	
	
	if (dir == 'PrevThumb'){	
		var ct = "Thumb" + gallery.current;
		pte = document.getElementById("PrevThumb");
		if (pte != null && gallery.count > slots) pte.style.top = '0';		
	
		document.getElementById("NextThumb").style.display = 'block';		

		var sr = gallery.current;

		if (sr > slots) {
			sr = slots;		
		} 

		if (sr < slots){

			sr = slots;
			gallery.thumbCurrent = slots;
		}	
		for (var sm = 0; sm < sr; sm++){

			var lt = gallery.thumbCurrent + slots - 1; 
	 		lt = "Thumb" + lt;
			last = document.getElementById(lt);
			if (last != null){
				last.style.display='none';			
			}
			gallery.thumbCurrent--;
	 		pt = "Thumb" + gallery.thumbCurrent;
			first = document.getElementById(pt);
			if (first != null){
				first.style.display='block';
			}


		}
		gallery.current = gallery.thumbCurrent;

		if (gallery.current < 1) {
			document.getElementById("PrevThumb").style.top = '-5000px';				
		}
		if (gallery.current < 0) {
			gallery.current = 0;
		}

		tel = 'Thumb' + gallery.current;
		el = document.getElementById(tel);	
	}

	if (dir == 'n'){		
		document.getElementById("Prev").style.display = 'block';
		pte = document.getElementById("PrevThumb");
		if (pte != null && gallery.count > slots) pte.style.top = '0';		
		var ct = "Thumb" + gallery.current;
		gallery.current++;
		if (gallery.current >= gallery.count) {
			gallery.current--;
		}		

		if (gallery.current == gallery.count - 1) {
			document.getElementById("Next").style.display = 'none';
		}
		if (gallery.thumbCurrent + slots < gallery.count){
			var pt = gallery.thumbCurrent;
	 		pt = "Thumb" + pt;
			document.getElementById(pt).style.display='none';
			gallery.thumbCurrent++;
			var lt = gallery.thumbCurrent + slots - 1; 
	 		lt = "Thumb" + lt;
			document.getElementById(lt).style.display='block';

		}

		tel = 'Thumb' + gallery.current;
		el = document.getElementById(tel);

	} 
	if (dir == 'p'){
		var ct = gallery.current + slots;
		if (ct > gallery.count){			
			ct = ct - gallery.count;			
		} 
		ct = "Thumb" + ct;
		document.getElementById("Next").style.display = 'block';		
		gallery.current--;
		if (gallery.current == 0) {
			document.getElementById("Prev").style.display = 'none';
			pte = document.getElementById("PrevThumb");
			if (pte != null) pte.style.top = '-5000px';
		}
		if (gallery.thumbCurrent > 0){
			var pt = gallery.thumbCurrent + slots - 1;
	 		pt = "Thumb" + pt;
			document.getElementById(pt).style.display='none';
			gallery.thumbCurrent--;
			var nt = gallery.thumbCurrent;
	 		nt = "Thumb" + nt;
			document.getElementById(nt).style.display='block';

		}
		tel = 'Thumb' + gallery.current;
		el = document.getElementById(tel);

	}
	if (dir.match(/^Thumb/)){
		var id = Math.round(dir.replace(/Thumb/,''));	
		gallery.current = id;
		el = document.getElementById(dir);
	}
	var fb = new Date();
	if (el){
		var url = 'xgcol.php?id='+el.title+'&fb='+fb.getMilliseconds();

	
		var request = HTTP.newRequest();
		request.onreadystatechange = function() {
			if (request.readyState==4) { 
				if (request.status == 200){
					GetImage(request.responseXML, url, 'GalleryImage','ImageTitle','ImageDescription', 'ImagePhotographer');
				}
			}
		}
		request.open("GET", url, true);
		request.setRequestHeader("User-Agent", "XMLHttpRequest");
		request.send(null);
	}


}



(function() {
 

 	if (window.addEventListener) window.addEventListener("load", init, false);
    else if (window.attachEvent) window.attachEvent("onload", init);

  // Define event handlers for any forms and form elements that need them.
    function init() {

		root = document.getElementById("GalleryThumbs");
		if (root){
			var all = root.getElementsByTagName("div");
			var elements = [];
			var msg = "";
			gallery.count = all.length;
			for (var i=0; i< all.length; i++) {
				var element = all[i];
				if (element.id.match(/^Next|^Prev/)){
					gallery.count--;					
				}

				element.onclick = function (){
					gallery(this.id);
					return false;
				};
				var labels = element.getElementsByTagName("label");
				for (var l=0; l< labels.length; l++) {
					var label = labels[l];
					if (label.className == 'iName'){
						gallery.images[i] = new Image();	
						gallery.images[i].src = label.firstChild.data
					}
					if (label.className == 'dName'){
						gallery.names[i] = label.firstChild.data
					}
				}
				
	//			alert(element.className + " " + pos[0] + ":" + pos[1]);
			}
		}



	}
})();


