function preloadImages() {
	/* Place image resources here to be preloaded
	var imgs = new Array();
	imgs[0] = "./img/general_faq_bg.jpg";
	imgs[1] = "./img/landlord_and_vendor_bg.jpg";
	imgs[2] = "./img/low_income_housing_bg.jpg";
	imgs[3] =  "./img/living_in_low_income_housing_bg.jpg";
	var preLoad = new Array(imgs.length);
	
	for (var i = 0; i < imgs.length; i++) {
		preLoad[i] = new Image();
		preLoad[i].src = imgs[i];
	}*/
}

var imgTimeToFade = 50;
var imgEndOp;
var imgIncr;
var imgT;
var dontFade;
var t;
function fadeImages(fadeMeIn, fadeOut) {

	dontFade = fadeMeIn;
	var fadeables = new Array();
	
	if (fadeOut) {
		if (imgT) { clearInterval(imgT); imgT=null;}
		imgEndOp = 100;
		imgIncr = imgEndOp / imgTimeToFade;
		imgT;
		
		document.getElementById("prevfadebg").src = document.getElementById("fadebg").src;
		with (document.getElementById("fadebg").style) {
			opacity = 0;
			filter = 'alpha(opacity=0)';
		}
		imgT = setInterval("fadeImg()", 1);
		
		if (fadeMeIn.id == "generalFaq") {
			document.getElementById("fadebg").src = "./img/general_faq_bg.jpg";
		}
		if (fadeMeIn.id == "landlordVendor") {
			document.getElementById("fadebg").src = "./img/landlord_and_vendor_bg.jpg";
		}
		if (fadeMeIn.id == "subHousing") {
			document.getElementById("fadebg").src = "./img/low_income_housing_bg.jpg";
		}
		if (fadeMeIn.id == "lowIncome") {
			document.getElementById("fadebg").src = "./img/living_in_low_income_housing_bg.jpg";
		}
		
		// Clear the interval if we have moused over the same one, stupid resource wasting ;) 
		if (document.getElementById("prevfadebg").src == document.getElementById("fadebg").src) {
			clearInterval(imgT);
		}
	}

	
	var timeToFade = 100;
	var endOp = 45;
	var op = 90;
	
	if (fadeOut) {
		op = 90;
		endOp = 45;	
	} else {
		op = 45;
		endOp = 90;
	}
	
	var incr = Math.abs(op - endOp) / timeToFade;
	
	setOpacity(fadeMeIn, 90);
	if (t) { clearInterval(t); t = null; };
	t = setInterval( function() { fade(endOp, incr, fadeOut);}, 1);
}

function setOpacity(o, op) {
	o.style.opacity = op/100;
	o.style.filter = 'alpha(opacity = ' + op + ')';
} 

function fade(endOp, incr, fadeOut) {
		var elements = document.getElementsByName("fadeable");
		var allFinished = new Array(elements.length);
		for (var i = 0; i < elements.length; i++) {
			o = elements[i];
			var op = o.style.opacity * 100;
			if (fadeOut) {
				if (op > endOp) {
					op = op - incr;	
					allFinished[i] = false;
				} else {
					allFinished[i] = true;
				}
			} else {
				if (op < endOp) {
					op = op + incr;	
					allFinished[i] = false;
				} else {
					op = endOp;
					allFinished[i] = true;
				}
			}
			if (o != dontFade) {
				setOpacity(o, op);
			} else {
				allFinished[i] = true;
			}
		}
		var canFinish;
		for (var i = 0;i < allFinished.length; i++) {
			if (allFinished[i] == false) {canFinish = false; break;}
			else {canFinish=true;}
		}
		if (canFinish) {
			clearInterval(t);
		}
	}

function fadeImg() {
		var element = document.getElementById("fadebg");
		var imgOp = document.getElementById("fadebg").style.opacity * 100;
		if (isNaN(imgOp)) {
			imgOp = 0;
		}
		
		if (imgOp <= imgEndOp) {
			imgOp += imgIncr;
		} else {
			imgOp = imgEndOp;
			clearInterval(imgT);
			imgT=null;
		} 
		element.style.opacity = imgOp / 100;
		element.style.filter = 'alpha(opacity = ' + imgOp + ')';
	}
