
var imageName;
var smokeAnimDone = false;
var picLoaded = false;

var imageObj = new Image();
imageObj.src = '/images/pictures/education/SWIFT_edu_1_full.4c632a6f354b4.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_2_full.4c632a1ae50a1.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_5_full.4c63296aa34c6.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_6_full.4c632925e5338.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_7_full.4c6328bfdeeee.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_8_full.4c63280547212.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_9_full.4c632767b7f3f.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_12_full.4c6326f321fb2.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_13_full.4c6326714c5b5.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_14_full.4c6325fdb0345.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_15_full.4c63254118e25.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_16_full.4c6323df9a7e1.png';
imageObj.src = '/images/pictures/residential/SWIFT_resi_3_full.4c2cfb00b4694.png';
imageObj.src = '/images/pictures/residential/SWIFT_resi_4_full.4c2cfabc28192.png';
imageObj.src = '/images/pictures/residential/SWIFT_resi_6_full.4c2cfa8944132.png';
imageObj.src = '/images/pictures/residential/SWIFT_resi_7_full.4c2cf9d70a51b.png';
imageObj.src = '/images/pictures/residential/SWIFT_resi_8_full.4c2cf8b874916.png';
imageObj.src = '/images/pictures/residential/SWIFT_resi_9_full.4c2cf8699c9a6.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_16_full.4c19eb0700f6c.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_17_full.4c19eb241f72a.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_15_full.4c2cdca4f333e.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_13_full.4c2cdce2c5ed7.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_5_full.4c2cee4a384b8.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_7_full.4c2ceb8ab71a8.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_6_full.4c2cec6a5c5fd.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_1_full.4c2cf1d3e63f4.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_3_full.4c2cf0e2db370.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_4_full.4c2cf07942084.png';
imageObj.src = '/images/pictures/education/SWIFT_edu_17_full.4c19edfbc675a.png';
imageObj.src = '/images/pictures/education/SWIFT_mus_1_full.4c19ee0f9165e.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_14_full.4c2cdb8dabd71.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_8_full.4c2ce80a91599.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_9_full.4c2ce7792dbdd.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_10_full.4c2ce6f7cede0.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_11_full.4c2cde13db983.png';
imageObj.src = '/images/pictures/commercial/SWIFT_comm_12_full.4c2cdd7959c23.png';
imageObj.src = '/images/pictures/residential/SWIFT_resi_10_full.4c19eef83f6c4.png';
var fullImages = {'images':{'SWIFT_edu_1_full.4c632a6f354b4.png':{'src':'/images/pictures/education/SWIFT_edu_1_full.4c632a6f354b4.png', 'w':'610', 'h':'912'}, 'SWIFT_edu_2_full.4c632a1ae50a1.png':{'src':'/images/pictures/education/SWIFT_edu_2_full.4c632a1ae50a1.png', 'w':'610', 'h':'340'}, 'SWIFT_edu_5_full.4c63296aa34c6.png':{'src':'/images/pictures/education/SWIFT_edu_5_full.4c63296aa34c6.png', 'w':'610', 'h':'875'}, 'SWIFT_edu_6_full.4c632925e5338.png':{'src':'/images/pictures/education/SWIFT_edu_6_full.4c632925e5338.png', 'w':'610', 'h':'757'}, 'SWIFT_edu_7_full.4c6328bfdeeee.png':{'src':'/images/pictures/education/SWIFT_edu_7_full.4c6328bfdeeee.png', 'w':'610', 'h':'458'}, 'SWIFT_edu_8_full.4c63280547212.png':{'src':'/images/pictures/education/SWIFT_edu_8_full.4c63280547212.png', 'w':'610', 'h':'415'}, 'SWIFT_edu_9_full.4c632767b7f3f.png':{'src':'/images/pictures/education/SWIFT_edu_9_full.4c632767b7f3f.png', 'w':'610', 'h':'384'}, 'SWIFT_edu_12_full.4c6326f321fb2.png':{'src':'/images/pictures/education/SWIFT_edu_12_full.4c6326f321fb2.png', 'w':'610', 'h':'440'}, 'SWIFT_edu_13_full.4c6326714c5b5.png':{'src':'/images/pictures/education/SWIFT_edu_13_full.4c6326714c5b5.png', 'w':'610', 'h':'458'}, 'SWIFT_edu_14_full.4c6325fdb0345.png':{'src':'/images/pictures/education/SWIFT_edu_14_full.4c6325fdb0345.png', 'w':'610', 'h':'380'}, 'SWIFT_edu_15_full.4c63254118e25.png':{'src':'/images/pictures/education/SWIFT_edu_15_full.4c63254118e25.png', 'w':'610', 'h':'467'}, 'SWIFT_edu_16_full.4c6323df9a7e1.png':{'src':'/images/pictures/education/SWIFT_edu_16_full.4c6323df9a7e1.png', 'w':'610', 'h':'370'}, 'SWIFT_resi_3_full.4c2cfb00b4694.png':{'src':'/images/pictures/residential/SWIFT_resi_3_full.4c2cfb00b4694.png', 'w':'610', 'h':'796'}, 'SWIFT_resi_4_full.4c2cfabc28192.png':{'src':'/images/pictures/residential/SWIFT_resi_4_full.4c2cfabc28192.png', 'w':'610', 'h':'453'}, 'SWIFT_resi_6_full.4c2cfa8944132.png':{'src':'/images/pictures/residential/SWIFT_resi_6_full.4c2cfa8944132.png', 'w':'610', 'h':'458'}, 'SWIFT_resi_7_full.4c2cf9d70a51b.png':{'src':'/images/pictures/residential/SWIFT_resi_7_full.4c2cf9d70a51b.png', 'w':'610', 'h':'289'}, 'SWIFT_resi_8_full.4c2cf8b874916.png':{'src':'/images/pictures/residential/SWIFT_resi_8_full.4c2cf8b874916.png', 'w':'610', 'h':'452'}, 'SWIFT_resi_9_full.4c2cf8699c9a6.png':{'src':'/images/pictures/residential/SWIFT_resi_9_full.4c2cf8699c9a6.png', 'w':'610', 'h':'776'}, 'SWIFT_comm_16_full.4c19eb0700f6c.png':{'src':'/images/pictures/commercial/SWIFT_comm_16_full.4c19eb0700f6c.png', 'w':'610', 'h':'427'}, 'SWIFT_comm_17_full.4c19eb241f72a.png':{'src':'/images/pictures/commercial/SWIFT_comm_17_full.4c19eb241f72a.png', 'w':'610', 'h':'531'}, 'SWIFT_comm_15_full.4c2cdca4f333e.png':{'src':'/images/pictures/commercial/SWIFT_comm_15_full.4c2cdca4f333e.png', 'w':'610', 'h':'371'}, 'SWIFT_comm_13_full.4c2cdce2c5ed7.png':{'src':'/images/pictures/commercial/SWIFT_comm_13_full.4c2cdce2c5ed7.png', 'w':'610', 'h':'813'}, 'SWIFT_comm_5_full.4c2cee4a384b8.png':{'src':'/images/pictures/commercial/SWIFT_comm_5_full.4c2cee4a384b8.png', 'w':'610', 'h':'503'}, 'SWIFT_comm_7_full.4c2ceb8ab71a8.png':{'src':'/images/pictures/commercial/SWIFT_comm_7_full.4c2ceb8ab71a8.png', 'w':'610', 'h':'402'}, 'SWIFT_comm_6_full.4c2cec6a5c5fd.png':{'src':'/images/pictures/commercial/SWIFT_comm_6_full.4c2cec6a5c5fd.png', 'w':'610', 'h':'474'}, 'SWIFT_comm_1_full.4c2cf1d3e63f4.png':{'src':'/images/pictures/commercial/SWIFT_comm_1_full.4c2cf1d3e63f4.png', 'w':'610', 'h':'811'}, 'SWIFT_comm_3_full.4c2cf0e2db370.png':{'src':'/images/pictures/commercial/SWIFT_comm_3_full.4c2cf0e2db370.png', 'w':'610', 'h':'408'}, 'SWIFT_comm_4_full.4c2cf07942084.png':{'src':'/images/pictures/commercial/SWIFT_comm_4_full.4c2cf07942084.png', 'w':'610', 'h':'369'}, 'SWIFT_edu_17_full.4c19edfbc675a.png':{'src':'/images/pictures/education/SWIFT_edu_17_full.4c19edfbc675a.png', 'w':'610', 'h':'384'}, 'SWIFT_mus_1_full.4c19ee0f9165e.png':{'src':'/images/pictures/education/SWIFT_mus_1_full.4c19ee0f9165e.png', 'w':'610', 'h':'458'}, 'SWIFT_comm_14_full.4c2cdb8dabd71.png':{'src':'/images/pictures/commercial/SWIFT_comm_14_full.4c2cdb8dabd71.png', 'w':'610', 'h':'426'}, 'SWIFT_comm_8_full.4c2ce80a91599.png':{'src':'/images/pictures/commercial/SWIFT_comm_8_full.4c2ce80a91599.png', 'w':'610', 'h':'492'}, 'SWIFT_comm_9_full.4c2ce7792dbdd.png':{'src':'/images/pictures/commercial/SWIFT_comm_9_full.4c2ce7792dbdd.png', 'w':'610', 'h':'442'}, 'SWIFT_comm_10_full.4c2ce6f7cede0.png':{'src':'/images/pictures/commercial/SWIFT_comm_10_full.4c2ce6f7cede0.png', 'w':'610', 'h':'458'}, 'SWIFT_comm_11_full.4c2cde13db983.png':{'src':'/images/pictures/commercial/SWIFT_comm_11_full.4c2cde13db983.png', 'w':'610', 'h':'458'}, 'SWIFT_comm_12_full.4c2cdd7959c23.png':{'src':'/images/pictures/commercial/SWIFT_comm_12_full.4c2cdd7959c23.png', 'w':'610', 'h':'342'}, 'SWIFT_resi_10_full.4c19eef83f6c4.png':{'src':'/images/pictures/residential/SWIFT_resi_10_full.4c19eef83f6c4.png', 'w':'610', 'h':'404'}}};
function highlightPicture(e) {
	$(e).addClassName("hoverBorder");
}

function unHighlightPicture(e) {
	$(e).removeClassName("hoverBorder");
}

function onImageLoad() {
	picLoaded = true;
	if (smokeAnimDone) {
		turnOnPicture();
	}
}

function turnOnPicture() {
	var a = $("smokeImageAnchor");
	var smokeImageWrap = a.select("div");
	if (smokeImageWrap.length > 0) {
		a.removeChild(smokeImageWrap[0]);
	}
	smokeImageWrap = document.createElement("div");
	smokeImageWrap.id = "smokeImage";
	var smokeImage = document.createElement("img");
	smokeImage.src = fullImages.images[imageName].src;
	smokeImage.style.width = fullImages.images[imageName].w + "px";
	smokeImage.style.height = fullImages.images[imageName].h + "px";
	smokeImageWrap.appendChild(document.createTextNode("Click to close"));
	smokeImageWrap.appendChild(document.createElement("br"));
	smokeImageWrap.appendChild(smokeImage);
	smokeImageWrap.style.display = "none";
	a.appendChild(smokeImageWrap);
	
	var w = fullImages.images[imageName].w;
	var h = fullImages.images[imageName].h;
	
	var docSize = getDocSize();
	var scroll = getScrollXY();
	
	var lo = $("loadingOverlay");
	
	smokeImageWrap = $(smokeImageWrap);

	var top = (docSize.h / 2) - (smokeImageWrap.getHeight() / 2) + scroll.y;
	if (top < 0) {
		top = 0;
	}
	var left = (docSize.w / 2) - (smokeImageWrap.getWidth() / 2) + scroll.x;
	if (left < 0) {
		left = 0;
	}
	smokeImageWrap.style.top = top + "px";
	smokeImageWrap.style.left = left + "px";

	lo.style.display = "none";
	smokeImageWrap.style.display = "block";
}

function showFullPicture(e) {
	smokeAnimDone = false;
	picLoaded = false;
	
	var smoke = $("pictureSmoke");
	var footer = $("footer"); // Grab the footer since it's floating and it's height is not included in the document height.
	
	imageName = new String(e.src);

	imageName = imageName.replace(/.*\/(.*)_thumb.jpg/g, "$1"); // get the base name of the image
	
	var image = new Image();
	image.onLoad = onImageLoad();
	image.src = fullImages.images[imageName].src;
	
	smoke.style.height = document.body.clientHeight+footer.getHeight()+"px"; // Add in the footer height as well, since it's floating and not included in the document height
	smoke.style.width = document.body.clientWidth+"px";
	smoke.style.display = "block";
	animateSmokeOn();
}

function getDocSize() {
	var width;
	var height;
	if (browser.isIE === false) {
		width = window.innerWidth;
		height = window.innerHeight;
	} else {
		width = document.documentElement.clientWidth;
		height = document.documentElement.clientHeight;
	}
	return {w:width, h:height}; 
}

function showOverlay() {
	var docSize = getDocSize();
	var scroll = getScrollXY();

	var lo = $("loadingOverlay");
	lo.style.top = (docSize.h / 2) - (lo.getHeight() / 2) + scroll.y + "px";
	lo.style.left = (docSize.w / 2) - (lo.getWidth() / 2) + scroll.x + "px";
	lo.style.display = "block";
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return {x:scrOfX, y:scrOfY};
}

function animateSmokeOn() {
	var animation=new SimpleAnimation(function(){});
	animation.duration=200;
	animation.pre=function()
	{
		this.endOpacity = 0.9;
		this.e = $("pictureSmoke");
		this.overlay = $("loadingOverlay");
	}
	animation.post=function()
	{
		smokeAnimDone = true;
		if (picLoaded) {
			turnOnPicture();
		} else {
			showOverlay();
		}
	}
	animation.update=function(now)
	{
		this.e.setOpacity(this.endOpacity*now);
	}
	animation.start();
}

function animateSmokeOff() {
	var animation=new SimpleAnimation(function(){});
	animation.duration=200;
	animation.pre=function()
	{
		this.endOpacity = .01;
		this.e = $("pictureSmoke");
		$("smokeImage").style.display = "none";
		$("loadingOverlay").style.display = "none";
	}
	animation.post=function()
	{
		this.e.style.display = "none";
		var smokeImage = $("smokeImage");
		smokeImage.parentNode.removeChild(smokeImage);
	}
	animation.update=function(now)
	{
		this.e.setOpacity(1-now);
	}
	animation.start();
}

function hideSmoke() {
	animateSmokeOff();
}
