/**
 * @author Martijn van der Woud
 * 3 oct 2008
 * logic for swapping detailstext and mainimage when hovering over 
 * houses in the homepage
 */

// extends the string object by prototyping, so every string now has a trim(method) 
// The trim() method removes leading and trailing spaces.
String.prototype.trim = function() {
	var value = this.replace(/^\s+/,'');
  	value = value.replace(/\s+$/,'');
	return value;
}

// Returns the details text div element corresponding to the houseNumber
function getTextDiv(houseNumber){
	var divID = 'detailText' + houseNumber;
	var textDiv = document.getElementById(divID);
	return textDiv;
}

// Returns the title H3 element corresponding to the houseNumber
function getTitleH3(houseNumber) {
	var h3ID = 'detailTitle' + houseNumber;
	var titleH3 = document.getElementById(h3ID);
	return titleH3
}

// Returns the <a> element corresponding to the houseNumber
function getLinkElement(houseNumber) {
	var linkID = 'houseDoor' + houseNumber;
	var linkElement = document.getElementById(linkID);
	return linkElement
}


// Returns the main img element (src attribute changes when houses are hovered over
function getMainImage() {
	var imageID = 'mainImage';
	var imageObject = document.getElementById(imageID);
	return imageObject;
}


// Controller for onmouseOver event for the houses in the homePage
function hoverHouse (houseNumber){
	
	// determine if title is filled for the particular house
	var titleH3 = getTitleH3(houseNumber);
	var titleLength = titleH3.innerHTML.trim().length;
	
	// if a title is not available, disable the hover effect
	if (titleLength == 0) {
		
		var linkElement = getLinkElement(houseNumber);
		linkElement.style.visibility='hidden'; 	

	} else {
		
		// otherwise, show the appropriate detailstext and image
		var textDiv = getTextDiv(houseNumber);	
		textDiv.style.visibility = 'visible';
	
		if ($('#mainImage').css("opacity") < 1) {
			$('#mainImage').css({opacity: 0})
			
		} else {
			$("#mainImage").fadeOut(500);
		}
		
		
		$('.houseImage:animated').css({display:'none'}).stop().css({opacity:1});
		$('.houseImage:not(:animated)').fadeOut(500);
		
		
		
		var imageID = '#houseImage' + houseNumber;
		$(imageID).fadeIn(500);
	}
	
}


function hoverHouseOut(houseNumber) {

	var textDiv = getTextDiv(houseNumber);	
	textDiv.style.visibility = 'hidden';
	

}





