/*---------------------------------------
wachoviachampionship.com Photo Gallery JavaScript
v0.25 - 10/2/2007
-----------------------------------------*/

/* Functions to be moved into global_utility.js */
function getStyle(el, prop) {
	if (document.defaultView && document.defaultView.getComputedStyle) {
		return document.defaultView.getComputedStyle(el, null)[prop];
	} else if (el.currentStyle) {
		return el.currentStyle[prop];
	} else {
		return el.style[prop];
	}
}

try { alert = console.log; }
catch (err) { /*fail gracefully*/ }

getObj = $;
/* END Functions to be moved into global_utility.js */

function changeGalleryImage(parentObj) {
	var imgObj = parentObj.getElementsByTagName('img')[0];
	if (hasClassName(imgObj,'current')) {
		//do nothing, img already on
	} else {
		var currentPhoto = $('currentphoto');
		var currentPhotoDesc = $('currentphotodesc');
		var objOnImg = getElementsByClassName('current', 'img')[0];
		if (objOnImg) {
			var lastImgSrc = objOnImg.src.replace('_on.jpg','_off.jpg');
			replaceImage(objOnImg,lastImgSrc,'');
			removeClassName(objOnImg,'on');
			removeClassName(objOnImg,'current');
		}
		var newImgSrc = imgObj.src.replace('_thumb_on.jpg','.jpg');

		var clone = currentPhoto.cloneNode(true);
		var origAnim = new Fx.Style(currentPhoto, 'opacity',{duration:450});
		var descAnim = new Fx.Style(currentPhotoDesc, 'opacity',{duration:450});
		var cloneAnim = new Fx.Style(clone, 'opacity',{duration:350, 
			onStart: function() {
				window.setTimeout(function() {
					descAnim.start(1);
				},150);
			}, 
			onComplete: function() {
				clone.parentNode.removeChild(clone);
			}
		});

		clone.setAttribute('id','clonephoto');
		currentPhoto.parentNode.appendChild(clone);
		cloneAnim.set(1);
		origAnim.set(0);
		var currImgWidth = 0;
		
		currentPhoto.onload = function() {
			if(currentPhoto.getSize().size.x < 231) {
				currentPhoto.className = 'portrait';
				currentPhotoDesc.className = 'portrait';
			} else {
				currentPhoto.className = 'landscape';
				currentPhotoDesc.className = 'landscape';
			}
			if(clone.getSize().size.x < 231) {
				clone.className = 'portrait';
			} else {
				clone.className = 'landscape';
			}
			if (imgObj.getAttribute('longdesc') !== null) {
				currentPhotoDesc.innerHTML = '<span>Photo: </span>' + imgObj.getAttribute('longdesc');
			} else {
				currentPhotoDesc.innerHTML = '<span>Photo: No caption</span>';
			}
			origAnim.start(1);
			cloneAnim.start(0);
		};
		replaceImage(currentPhoto,newImgSrc,'');
		descAnim.set(0);

		if (!hasClassName(imgObj,'on')) addClassName(imgObj,'on');
		addClassName(imgObj,'current');
		
		imgObj.blur();
	}
	return false;
}
function previewGalleryImage(parentObj) {
	var imgObj = parentObj.getElementsByTagName('img')[0];
	if (hasClassName(imgObj,'on')) {
		//do nothing, img already on
	} else {
		var newImgSrc = imgObj.src.replace('_thumb_off.jpg','_thumb_on.jpg');
		replaceImage(imgObj,newImgSrc,'');
		if (!hasClassName(imgObj,'on')) addClassName(imgObj,'on');
	}
}
function resetPreview(parentObj) {
	var imgObj = parentObj.getElementsByTagName('img')[0];
	if (hasClassName(imgObj,'on') && !hasClassName(imgObj,'current')) {
		var newImgSrc = imgObj.src.replace('_thumb_on.jpg','_thumb_off.jpg');
		replaceImage(imgObj,newImgSrc,'');
		removeClassName(imgObj,'on');
	} else {
		//do nothing, img already off
	}
}
WindowOnload( function() {
	var arrDivs = getElementsByClassName('photorow', 'div', $('main'));
	var arrAs = [];
	var imgObj = null;
	var arrImgs = [];
	for (var i=0; i < arrDivs.length; i++) {
		arrAs = arrDivs[i].getElementsByTagName('a')
		for (var ii=0; ii < arrAs.length; ii++) {
			arrAs[ii].onmouseover = function() {
				previewGalleryImage(this);
			};
			arrAs[ii].onmouseout = function() {
				resetPreview(this);
			};
			arrAs[ii].onclick = function() {
				return changeGalleryImage(this);
			};
			imgObj = arrAs[ii].getElementsByTagName('img')[0];
			if (hasClassName(imgObj,'current')) {
				arrImgs[arrImgs.length] = new Image();
				arrImgs[arrImgs.length-1].src = imgObj.src.replace('_thumb_on.jpg','_thumb_off.jpg');
			} else {
				arrImgs[arrImgs.length] = new Image();
				arrImgs[arrImgs.length-1].src = imgObj.src.replace('_thumb_off.jpg','_thumb_on.jpg');
				arrImgs[arrImgs.length] = new Image();
				arrImgs[arrImgs.length-1].src = imgObj.src.replace('_thumb_off.jpg','.jpg');
			}
		}
	}
	arrImgs = [];
});
