/** ************************************************* */
function HolderObject() {
	this.element = null;
	this.picture = "";
	this.title = "";
	this.pictureDiv = "";
	this.titleDiv = "";
	this.myName = "";
	this.counter = 0;
	this.myId = null;
	this.styleClass = null;
	this.titleText = null;
	this.extendedDescription = null;
	this.extendedTitle = null;
	this.menuText = null;
	this.addToQueryLink = null;
	this.shortSynopsis = null;
	this.categoriesOrigins = null;
	this.peopleOrigins = null;
	this.titlesOrignis = null;
	this.DBID = null;
	this.whySimilar = null;
	this.isSimilar = null;
	this.contentPath = null;
	this.rollOverImage = null;
	this.relatedContent = new Array(5);
	this.availableCinema = null;
	this.availableDvd = null;
	this.availableTv = null;
	this.availableOnline = null;
	this.availableMobile = null;
	this.collageData = null;
	this.backgroundImage = new Image();
	this.contentType = null;
	this.affiliates = null;
}
/** ************************************************** */
var finishedPopulatingEffectArray = false;
var effectArray = new Array();
var priorityArray = new Array();
var unloadArray = new Array();
var collageEffectHandler = null;
var abortCollageLoad = false;
var currentIndex = 0;
var currentHolder;
var collageData = null;
var numberLoadedImages = 0;
var collageType = null;
var holders = null;
// var brakim = new Image();
// brakim.src = "http://images.888.com/casino/site2/888-hp/sport_download.gif";
var allCategoryCollages = new Array("newAllCategoryCollage1"); // "allCategoryCollage1","allCategoryCollage2","allCategoryCollage3");
var categoriesCollages = new Array("newCategoryCollage1", "newCategoryCollage2");// ,"categoryCollage1","categoryCollage2");

var moreLikeItTitle = null;
var currentDisplayedCollage = null;
var showRollOverTimeout = null;
var holderToRollOverOn = null;
var chosenMenuItem = null;
var expandedNode = new Array();
var imagesLoadedTimer = null;
/** **************************************************** */
var pagingSize = 22;
var resultsNum = 0;
var pagingArray = new Array();
var currentPageNumber = 1;
var pages = 0;
var totalResults = 0;
var pagingLinksArray = new Array();
var numberOfPages = null;
var leftPageLink = 1;
var rightPageLink = 0;
var numLinks = 0;
var currentMenuItem = "allCategoriesMenuItem";
var filterMenuItem = null;
var collageLock = false;
var availableArray = new Array();
var mediaArray = new Array();
var pageObject = {
	lowerLimit : null,
	uppperLimit : null,
	currentPage : null,
	totalResult : null,
	numPages : null,
	pageResutls : null,
	pagesArray : null,
	pageSize : null,
	leftIndex : null,
	rightIndex : null
};
/** *************************************************** */
var historyObject = null;
var discoveryCurrentContentId = null; // for use in the rollover slider
										// initialization
var discoveryCurrentContentPath = null;
/** *************************************************** */

function selectCategory(obj) {
	homepageLoadingAnimation();
	location.href = obj.getElementsByTagName('a')[0].href;
}

function getDiscoveryColalgeType() {
	return currentPageNumber % categoriesCollages.length;
}

function showNoResultImage() {
	document.getElementById('noResultsImageID').src = imagePath
			+ "no_results.jpg";
	document.getElementById('noResultImage').style.display = 'block';

	hideCollage();
	hideCollagePreload();
}

function setAllCategoriesData(data) {

	collageType = "AllCategories";
	collageData = data;
	unloadCollage();

	var collageToChoose = parseInt(Math.random() * 10)
			% allCategoryCollages.length;
	loadCollage(allCategoryCollages[collageToChoose]);

}

function setCategoryTypeData(data) {

	collageType = "Categories";
	collageData = data;
	unloadCollage();

	if (data != null && data.length > 0)

		var collageToChoose = parseInt(Math.random() * 10)
				% categoriesCollages.length;
	loadCollage(categoriesCollages[collageToChoose]);

}

function hideSimilarDiscovery() {
	if (document.getElementById('typeTitle').innerHTML != ''
			|| document.getElementById('sortTitle').innerHTML != '') {
		document.getElementById('similarDisplay').innerHTML = ' ';
	} else {
		document.getElementById('similarDisplay').innerHTML = ' ';
		document.getElementById('filtersDisplay').style.visibility = 'hidden';
	}
	// document.getElementById('filtersDisplay').style.visibility = 'hidden';
}

function loadAllCategoriesCollage() {

	if (currentMenuItem != null)
		document.getElementById(currentMenuItem).className = '';

	currentMenuItem = 'allCategoriesMenuItem';
	document.getElementById(currentMenuItem).className = 'highlightedMenuItem';

	setSessionCookie("homeLink", "allCategoriesMenuItem");

	displayCollagePreload('Loading all categories');
	AjaxController.getCollageAllCategories( {
		async : false,
		callback : function(data) {
			setAllCategoriesData(data)
		}
	});

}

function displayPreloadText(numResults, text) {
	var searchWords = null;

	if (numResults != null)
		document.getElementById('loadingText').innerHTML = "Loading "
				+ numResults + " matching titles...";
	else
		document.getElementById('loadingText').innerHTML = text;

	document.getElementById('loadingText').style.visibility = 'visible';
}
function hideCollagePreload() {
	document.getElementById('loadingImage').style.display = 'none';
	document.getElementById('loadingText').style.visibility = 'hidden';
	// displayCollage();
}
function displayCollage() {
	try {
		document.getElementById(currentDisplayedCollage).style.display = "block";
		hideCollagePreload();
		hideNoResultImage();
	} catch (e) {
	}
}

function continueToLoadCollage() {
	if (collageType == "Categories") {
		var collageToChoose = parseInt(Math.random() * 10)
				% categoriesCollages.length;
		loadCollage(categoriesCollages[collageToChoose]);
	}
	if (collageType == "AllCategories") {
		var collageToChoose = parseInt(Math.random() * 10)
				% allCategoryCollages.length;
		loadCollage(allCategoryCollages[collageToChoose]);
	}
}
function loadHistoryFromSession() {
	AjaxController.getSearchHistory(handleHistoryResponse);

}
function handleHistoryResponse(historyResponse) {
	historyObject = historyResponse;

	var html = "";
	var menuObj = 'document.getElementById("back_discLink")';
	for ( var index = 0; historyObject != null && index < historyObject.length; index++) {

		html += "<li><a href='javascript:addHistorySearch(" + index
				+ ");' onclick='hideBack(" + menuObj + ")'>"
				+ historyObject[index].searchDescription + "</a></li>";
		// alert(index);
		if (index > 4) {
			document.getElementById('historyMore').style.display = 'block';
		}
	}

	/* populate the history div */
	document.getElementById('historySearches').innerHTML = html;

}
function addHistorySearch(index) {
	cleanearchBox();
	searchBoxData.length = 0;

	// Add the search from history
	var searchEntry = historyObject[index];
	document.getElementById("searchInput").value = searchEntry.searchDescription;
	var searchTerms = searchEntry.searchTerms.split(",");
	if (searchTerms) {
		for ( var i = 0; i < searchTerms.length; i++) {
			var searchTermDisplayName = searchTerms[i].substring(0,
					searchTerms[i].indexOf('-') - 1);
			var termIndex = searchEntry.searchDescription
					.indexOf(searchTermDisplayName);
			if (termIndex != -1) {
				var entry = new SearchBoxDataEntry();
				entry.displayName = searchTermDisplayName;
				entry.itemId = searchTerms[i].substring(searchTerms[i]
						.indexOf('-') + 1, searchTerms[i].length);
				entry.start = termIndex;
				entry.end = termIndex + entry.displayName.length;
			}
		}
	}
	doSearch();
}

/**
 * loads movies
 */

function setImageLoaded() {

	numberLoadedImages++;

	if (finishedPopulatingEffectArray) {
		if (numberLoadedImages == 3) {
			window.clearInterval(imagesLoadedTimer);
			collageStartLoadEffects();
		}

		if (parseFloat(numberLoadedImages) == parseFloat(pagingArray.length)
				|| (collageData != undefined && parseFloat(numberLoadedImages) == parseFloat(collageData.length))) {
			numberLoadedImages = 0;
		}
	}
}

function onDiscoveryCollageMouseOver(e) {
	if (!e) {
		e = window.event;
	}
	var item;
	if (e.target) {
		item = e.target;
	} else if (e.srcElement) {
		item = e.srcElement;
	}
	if (item.nodeType == 3) // defeat Safari bug
	{
		item = item.parentNode;
	}

	if (item.id.indexOf('collageEntry') != -1) {
		doDiscoveryRollOver(item);
	} else if (item.parentNode.id.indexOf('collageEntry') != -1) {
		doDiscoveryRollOver(item.parentNode);
	}
}

function onCategoryCollageMouseOver(e) {
	if (!e) {
		e = window.event;
	}
	var item;
	if (e.target) {
		item = e.target;
	} else if (e.srcElement) {
		item = e.srcElement;
	}
	if (item.nodeType == 3) // defeat Safari bug
	{
		item = item.parentNode;
	}

	if (item.id.indexOf('collageEntry') != -1) {
		doCategoryCollageRollover(item);
	} else if (item.parentNode.id.indexOf('collageEntry') != -1) {
		doCategoryCollageRollover(item.parentNode);
	} else if (item.tagName == 'H6'
			&& item.className.indexOf('image_title image_title_size') == 0) {
		doCategoryCollageRollover(item.parentNode.parentNode);
	} else if (item.tagName == 'A' && item.id.indexOf('Content_') == 0
			&& item.id.indexOf('_collageLink') > 0) {
		doCategoryCollageRollover(item.parentNode.parentNode.parentNode);
	}
}

function onDiscoveryCollageMouseOut(e) {
	CollageRollOut();
}

function onCategoryCollageMouseOut(e) {
	CollageRollOut();
}

function onCollageClick(e) {
	if (!e) {
		e = window.event;
	}
	var item;
	if (e.target) {
		item = e.target;
	} else if (e.srcElement) {
		item = e.srcElement;
	}
	if (item.nodeType == 3) // defeat Safari bug
	{
		item = item.parentNode;
	}
	collageClick(item);
}

function setAbortCollageLoad(bool) {
	abortCollageLoad = bool;
	resetEffectHandler();
}

function unloadCollage() {
	setAbortCollageLoad(true);
	collageStartUnloadEffect();

}

function reloadCollage(menuItem) {
	unloadCollage();
	// ajaxCall
	loadCollage();

}
/**
 * populate collage with category types. used on home page
 * 
 */

function populateCollage() {
	for ( var idx = 0; idx < collageData.length && idx < priorityArray.length; idx++) {
		priorityArray[idx].picture.onload = setImageLoaded;

		// priorityArray[idx].picture.src =
		// "http://69.90.174.247/photos/display_pic_with_logo/58931/58931,1144003716,3.jpg";

		priorityArray[idx].picture.src = collageImagePath + "categories/"
				+ collageData[idx].categoryNodes[0].category.code.toLowerCase()
				+ "/"
				+ collageData[idx].categoryNodes[0].category.code.toLowerCase()
				+ "-"
				+ getImageSizeSuffix(priorityArray[idx].element.className)
				+ ".jpeg"

		priorityArray[idx].titleText.innerHTML = collageData[idx].name;
		priorityArray[idx].picture.name = collageData[idx].name;
	}

}
/**
 * populate collage with categories. used on home page
 */
function populateCollageWithCategories() {
	for ( var idx = 0; idx < collageData.length && idx < priorityArray.length; idx++) {
		priorityArray[idx].picture.onload = setImageLoaded;
		// priorityArray[idx].picture.src =
		// "http://69.90.174.247/photos/display_pic_with_logo/58931/58931,1144003716,3.jpg";
		priorityArray[idx].picture.src = collageImagePath + "categories/"
				+ collageData[idx].category.code.toLowerCase() + "/"
				+ collageData[idx].category.code.toLowerCase() + "-"
				+ getImageSizeSuffix(priorityArray[idx].element.className)
				+ ".jpeg"

		try {
			priorityArray[idx].rollOverImage = collageImagePath + "categories/"
					+ collageData[idx].category.code.toLowerCase() + "/"
					+ collageData[idx].category.code.toLowerCase() + "-1.jpeg";
		} catch (e) {
			alert("[4] " + e);
		}

		priorityArray[idx].titleText.innerHTML = collageData[idx].category.name;
		priorityArray[idx].extendedTitle = collageData[idx].category.name;

		priorityArray[idx].extendedDescription = collageData[idx].category.description;

		priorityArray[idx].menuText = chosenMenuItem;
		priorityArray[idx].addToQueryLink = "Go to titles for "
				+ priorityArray[idx].extendedTitle;
		priorityArray[idx].picture.name = collageData[idx].category.name;
		priorityArray[idx].DBID = collageData[idx].category.id;

		/* related movies */
		for ( var resultsIDX = 0; resultsIDX < 5
				&& resultsIDX < collageData[idx].relatedContent.length; resultsIDX++)
			priorityArray[idx].relatedContent[resultsIDX] = collageData[idx].relatedContent[resultsIDX];

	}
}

function populateDiscoveryCollage() {

	var isSimilar = false;
	var lowerLimit = (currentPageNumber - 1) * pagingSize;
	var upperLimit = currentPageNumber * pagingSize >= collageData.length ? collageData.length
			: currentPageNumber * pagingSize;
	pagingArray = collageData.slice(lowerLimit, upperLimit);

	document.getElementById('pagingTextLower').innerHTML = "Showing "
			+ parseInt(lowerLimit + 1) + " - " + upperLimit + " of "
			+ collageData.length;
	document.getElementById('pagingTextUpper').innerHTML = "Showing "
			+ parseInt(lowerLimit + 1) + " - " + upperLimit + " of "
			+ collageData.length;

	resultsNum = collageData.length;

	for ( var idx = 0; idx < pagingArray.length && idx < priorityArray.length; idx++) {

		priorityArray[idx].picture.onload = setImageLoaded;

		if (pagingArray[idx].content.availableImage == true) {
			priorityArray[idx].picture.src = collageImagePath
					+ (priorityArray[idx].content.contentType == "FeatureFilm" ? "movie/"
							: priorityArray[idx].content.contentType == "TvSeries" ? "tv/"
									: "short-film/")
					+ pagingArray[idx].content.unqiueName + "/"
					+ pagingArray[idx].content.unqiueName + "-"
					+ getImageSizeSuffix(priorityArray[idx].element.className)
					+ ".jpeg"
			try {
				priorityArray[idx].rollOverImage = collageImagePath
						+ (priorityArray[idx].content.contentType == "FeatureFilm" ? "movie/"
								: priorityArray[idx].content.contentType == "TvSeries" ? "tv/"
										: "short-film/")
						+ pagingArray[idx].content.unqiueName + "/"
						+ pagingArray[idx].content.unqiueName + "-1.jpeg"
			} catch (e) {
				alert("[5] " + e);
			}
		} else {
			priorityArray[idx].picture.src = noImagePath;
			try {
				priorityArray[idx].rollOverImage = noImagePath;
			} catch (e) {
				alert("[6] " + e);
			}
		}

		priorityArray[idx].contentPath = "/movies/"
				+ pagingArray[idx].content.unqiueName + "/";
		priorityArray[idx].titleText.innerHTML = pagingArray[idx].content.displayTitle;
		priorityArray[idx].extendedTitle = pagingArray[idx].content.displayTitle;
		priorityArray[idx].year = pagingArray[idx].content.year;
		priorityArray[idx].shortSynopsis = pagingArray[idx].content.shortSynopsis;
		// priorityArray[idx].menuText = chosenMenuItem;
		priorityArray[idx].addToQueryLink = "Add "
				+ priorityArray[idx].extendedTitle + " to your search query";
		priorityArray[idx].picture.name = pagingArray[idx].content.unqiueName;
		priorityArray[idx].peopleOrigins = pagingArray[idx].personsOrigins;
		priorityArray[idx].categoriesOrigins = pagingArray[idx].categoriesOrigins;
		priorityArray[idx].titlesOrignis = pagingArray[idx].titlesOrigins;
		priorityArray[idx].DBID = pagingArray[idx].content.id;
		priorityArray[idx].whySimilar = pagingArray[idx].whySimilar;
		priorityArray[idx].isSimilar = pagingArray[idx].similarResult;
		priorityArray[idx].availableCinema = pagingArray[idx].content.availableCinema;
		priorityArray[idx].availableDvd = pagingArray[idx].content.availableDvd;
		priorityArray[idx].availableTv = pagingArray[idx].content.availableTv;
		priorityArray[idx].availableOnline = pagingArray[idx].content.availableOnline;
		priorityArray[idx].availableMobile = pagingArray[idx].content.availableMobile;
		priorityArray[idx].availableDownload = pagingArray[idx].content.availableDownload;

		if (priorityArray[idx].isSimilar == true)
			isSimilar = true;
	}
}

function setPagingLinks() {
	// numLinks = Math.ceil( collageData.length/pagingSize );
	numLinks = pageObject.numPages;
	var newLinks = "";
	for ( var index = pageObject.leftIndex; index <= numLinks
			&& index <= (pageObject.leftIndex + 4); index++) {

		if (index == currentPageNumber) {
			newLinks += "<span style='color: red;'>" + index + "</span> |";
		} else
			newLinks += "<a href='javascript:getDiscoveryPage(" + index
					+ ");'>" + index + "</a> |";

	}

	pageObject.rightIndex = index - 1;

	if (currentPageNumber < numLinks) {
		newLinks += "<a href='javascript:nextPage();' style='visibility:visible;'> Next >></a>";
		document.getElementById("topNextLink").innerHTML = "<a onclick='nextPage();' style='visibility:visible;'>Next&gt;&gt;</a>";
	} else {
		newLinks += "<a href='javascript:nextPage();' style='visibility:hidden;'> Next >></a>";
		document.getElementById("topNextLink").innerHTML = "Next&gt;&gt;";
	}
	if (currentPageNumber > 1) {
		newLinks = "<a href='javascript:prevPage();' style='visibility:visible;'><< Prev </a>"
				+ newLinks;
		document.getElementById("topBackLink").innerHTML = "<a onclick='prevPage();'>&lt;&lt;Prev</a>";
	} else {
		newLinks = "<a href='javascript:prevPage();' style='visibility:hidden;'><< Prev </a>"
				+ newLinks;
		document.getElementById("topBackLink").innerHTML = "&lt;&lt;Prev";
	}

	document.getElementById('collage_results_links').innerHTML = newLinks;

}
function getDiscoveryPage(pageNumber) {
	numberLoadedImages = 0;
	currentPageNumber = pageNumber;
	pageObject.currentPage = pageNumber;
	setSessionCookie("page", currentPageNumber);

	if (pageObject.pagesArray[pageNumber - 1] == undefined) {
		AjaxController.getPages(((pageNumber - 1) + "").split(""), {
			callback : function(result) {
				pageObject.pageResutls = result[0];
				pageObject.pagesArray[pageNumber - 1] = result[0];
			},
			async : false,
			errorHandler : function() {
				doSearch();
			}
		});
	} else {
		// updatePageObject();
	}
	updatePageObject();
	getAdjacentPages();

	setPagingLinks();

	collageType = "Discovery";

	unloadCollage();

	var collageToChoose = getDiscoveryColalgeType();
	loadCollage(categoriesCollages[collageToChoose]);
}

function prevPage() {
	pageObject.currentPage--;
	if (((pageObject.rightIndex - pageObject.currentPage) > 2 && pageObject.currentPage > 2)
			|| (pageObject.currentPage < pageObject.leftIndex))
		pageObject.leftIndex--;
	getDiscoveryPage(pageObject.currentPage);

}
function nextPage() {
	pageObject.currentPage++;
	if ((pageObject.currentPage - pageObject.leftIndex) > 2
			&& pageObject.rightIndex < pageObject.numPages)
		pageObject.leftIndex++;
	getDiscoveryPage(pageObject.currentPage);
}
function getImageSizeSuffix(cssClass) {
	if (cssClass.indexOf("huge") > -1)
		return "1";
	else if (cssClass.indexOf("large") > -1)
		return "2";
	else if (cssClass.indexOf("medium") > -1)
		return "3";
	else if (cssClass.indexOf("small") > -1)
		return "4";
	else
		return "5";
}

/**
 * sorts the divs according to their importance which is measured by the
 * holder's size
 * 
 */
function col_sortArrayByPriority(a, b) {
	var tempArr = [ a.styleClass, b.styleClass ];

	tempArr.sort();

	if (tempArr[0] == a.styleClass)
		return -1;
	else
		return 1;
}
/**
 * sorts the divs according to the order which they are displayed which is
 * measured by the id.
 * 
 */
function col_sortArrayByDisplayOrder(a, b) {
	var tempArr = [ a.myId, b.myId ]

	tempArr.sort();

	if (tempArr[0] == a.myId)
		return -1;
	else
		return 1;
}
function col_sortArrayByDisplayOrder2(a, b) {
	return a.myId - b.myId;
}

/**
 * starts loading the collage
 */
function collageStartLoadEffects() {
	unloadArray = new Array();
	collageNextEffect(true);
}
/**
 * starts collage unload. false means unload
 */
function collageStartUnloadEffect() {
	if (unloadArray.length == 0)
		return;
	unloadArray.reverse();
	collageNextEffect(false);

}
/**
 * calling the next effect. it can be for loading or unloading the collage.
 */
function collageNextEffect(loading) {
	if (loading) {

		collageLock = false;// TODO change to true
		if (effectArray.length == 0) {
			collageLock = false;
			resetEffectHandler();

			return;
		}

		hideCollagePreload();
		displayCollage();

		var randomCell = Math.floor(Math.random() * effectArray.length);
		/* random */
		// currentHolder = effectArray[randomCell];
		// effectArray.splice(randomCell,1);
		/* not random */
		if (effectArray[0].picture.name != "") {
			unloadArray.push(effectArray[0]);

			currentHolder = effectArray[0];
			effectArray.splice(0, 1); // removes the first element

			collageApplyLoadEffect();
		} else {
			effectArray.splice(0, 1); // removes the first element
			collageNextEffect(loading);
		}

	} else /* unloading */
	{
		if (unloadArray.length == 0) {
			resetEffectHandler();
			return;
		}
		currentHolder = unloadArray[0];
		unloadArray.splice(0, 1);

		collageApplyUnloadEffect();

	}

}

function collageApplyLoadEffect() {
	currentHolder.element.style.visibility = "visible";
	// currentHolder.element.style.background = "url('" + + "') no-repeat center
	// center;";
	currentHolder.element.style.backgroundImage = "url(\""
			+ currentHolder.backgroundImage.src + "\")";
	currentHolder.element.style.backgroundPosition = "right center";
	currentHolder.element.style.backgroundRepeat = "no-repeat";
	if (currentHolder.backgroundImage.src.length == 0) {
		currentHolder.titleText.style.visibility = "hidden";
	} else {
		currentHolder.titleText.style.visibility = "visible";
	}
	// if(currentHolder.element.style.opacity < 1 && !abortCollageLoad)
	// {
	//		
	// var opac = currentHolder.element.style.opacity == "" ? 0 :
	// currentHolder.element.style.opacity;
	//		
	// currentHolder.element.style.opacity = parseFloat(opac) + 0.3;
	// currentHolder.element.style.filter =
	// "progid:DXImageTransform.Microsoft.Alpha(opacity=" + (parseFloat(opac)*1
	// + 10) +")";
	// collageEffectHandler = window.setTimeout("collageApplyLoadEffect()",50);
	//		
	// }
	// else collageNextEffect(true);

	var opacityTween = new OpacityTween(currentHolder.element,
			Tween.regularEaseOut, 0, 100, 0.3);

	opacityTween.onMotionFinished = bb;
	opacityTween.start();

}
function bb() {
	collageNextEffect(true);

}
function collageApplyUnloadEffect() {
	if (currentHolder.element.style.opacity > 0) {

		var opac = currentHolder.element.style.opacity == "" ? 0
				: currentHolder.element.style.opacity;

		currentHolder.element.style.opacity = parseFloat(opac) - 0.3;
		currentHolder.element.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="
				+ (parseFloat(opac) * 1 - 10) + ")";
		// collageEffectHandler =
		// window.setTimeout("collageApplyUnloadEffect()",50);
		// window.setTimeout("collageApplyUnloadEffect();",1000);
		collageApplyUnloadEffect();
	} else
		collageNextEffect(false);

	// var opacityTween = new
	// OpacityTween(currentHolder.element,Tween.backEaseOut, 100, 0, 0.5);
	// 	
	// opacityTween.onMotionFinished = cc;
	// opacityTween.start();

}

function cc() {
	collageNextEffect(false);

}

function resetEffectHandler() {
	if (collageEffectHandler != null)
		window.clearTimeout(collageEffectHandler);

	collageEffectHandler = null;

}

function setCollageData(data) {
	collageData = data;
}

function collageClick(collageHolder) {
	if (currentDisplayedCollage.indexOf('llCategory') >= 0) {
		if (collageHolder
				&& (collageHolder.className == 'signInCollage' || collageHolder.parentNode.className == 'signInCollage')) {
			document.location.href = "/join.html";
		} else if (collageHolder
				&& (collageHolder.className == 'seeDemoCollage' || collageHolder.parentNode.className == 'seeDemoCollage')) {
			demoVideoShow();
		} else {
			var menuItem = findCollageObject(collageHolder).titleText.innerHTML;
			loadCollageByCategoryType(menuItem);
		}
	}
}
function collageRollOver(collageHolder) {
	if (collageLock)
		return;

	if (currentDisplayedCollage.indexOf('category') == 0
			|| currentDisplayedCollage.indexOf('newCategory') == 0) {
		// this has to be global for the timeout
		holderToRollOverOn = findCollageObject(collageHolder);

		showRollOverTimeout = window.setTimeout(
				"showCollageRollOver(holderToRollOverOn)", 850);
	}
}

function CollageRollOut() {
	window.clearInterval(showRollOverTimeout);

}

function findCollageObject(collageHolder) {
	for ( var idx = 0; idx < priorityArray.length; idx++) {
		if (priorityArray[idx].element == collageHolder)
			return priorityArray[idx];
	}
}

function hideCollageRollover(obj, event) {
	var rollover = document.getElementById('collage_ro');
	var left = parseInt(rollover.style.left);
	var right = left + 592;
	var top = parseInt(rollover.style.top);
	var bottom = top + rollover.offsetHeight;
	var xscroll = 0;
	var yscroll = document.body.scrollTop + document.documentElement.scrollTop; 
	if (window.scrollX) {
		xscroll = window.scrollX;
		yscroll = window.scrollY;
	} if (	   (event.clientX + xscroll) < left + 1
			|| (event.clientX + xscroll) > right - 1
			|| (event.clientY + yscroll) < top + 2
			|| (event.clientY + yscroll) > bottom - 1) {
		document.getElementById('collage_ro').style.display = 'none';
		document.getElementById('rollOverDivImg').src = "";
		var sliderKnob = document.getElementById('sliderKnobDR');
		if (sliderKnob) {
			sliderKnob.style.visibility = "hidden";
		}
		var elem = document.getElementById('whySimilarSection');
		if (elem) {
			elem.innerHTML = elem.innerHTML.substring(0,
					elem.innerHTML.length - 8);
			document.getElementById('similarDetails').style.display = 'none';
			document.getElementById('similarDetails').style.visibility = 'hidden';
		}
	}
}

function showWhySimilar(holder) {
	var updateWhySimilar = function(response) {
		document.getElementById('rollOverWhySimilar').innerHTML = response;
		toggleWhySimilarBlock();
	}
	AjaxController.whySimilar(holder.similarTo.id, holder.DBID, {
		async : false,
		callback : updateWhySimilar
	});
}

function toggleWhySimilarBlock() {
	var elem = document.getElementById('whySimilarSection');
	// if ( elem.innerHTML.match( /\(close\)$/ ) )
	if (document.getElementById('similarDetails').style.display == "block") // if
																			// why
																			// similar
																			// text
																			// is
																			// displayed
	{
		// elem.innerHTML = elem.innerHTML.substring( 0, elem.innerHTML.length -
		// 8 );
		document.getElementById('similarDetails').style.display = 'none';
		document.getElementById('collageSimilarIcon').src = imagePath + 'arrow_right.png';
		document.getElementById('rollOverWhySimilar').innerHTML = '';
	} else// if movie image is displayed
	{
		// elem.innerHTML = elem.innerHTML;
		document.getElementById('similarDetails').style.display = 'block'
		document.getElementById('similarDetails').style.visibility = 'visible';
		;
		document.getElementById('collageSimilarIcon').src = imagePath + 'arrow_left.png';
	}
}

function doCategoryCollageRollover(obj) {
	try {
		holderToRollOverOn = eval("obj_" + obj.id);
	} catch (ex) {
		return;
	}
	holderToRollOverOn.obj = obj;
	showRollOverTimeout = window.setTimeout(
			"showCategoryRollOver(holderToRollOverOn)", 850);
}

function showCategoryRollOver(holder) {

	if (holder.extendedTitle == null)
		return; /* empty holder */

	var addToQuery = document.getElementById('floatingDivAddToQuery');

	holder.addToQueryLink = "Go to titles for " + holder.extendedTitle;
	var entryId = holder.entryId.substring('collageEntry'.length);
	var linkId = currentFilterType.substring(0, currentFilterType.indexOf('_'))
			+ "_Content_collageLink" + entryId;
	var linkForSearch = document.getElementById(linkId).href;
	addToQuery.setAttributeNode(createAttribute("href", linkForSearch));
	addToQuery.innerHTML = holder.addToQueryLink;

	var floatingDiv = document.getElementById('collage_ro');
	document.getElementById('floatingDivContentTitle').innerHTML = "<a href='"
			+ linkForSearch + "'>" + holder.menuText + ": " + "<strong>"
			+ holder.extendedTitle + "</strong></a>";

	document.getElementById('roImageLink').href = linkForSearch;

	if (holder.extendedDescription == null)
		document.getElementById('floatingDivContentDescription').innerHTML = "Ami/Izik - this is empty in the database";
	else
		document.getElementById('floatingDivContentDescription').innerHTML = holder.extendedDescription;

	var backgroundImageSrc = holder.obj.style.backgroundImage;
	backgroundImageSrc = backgroundImageSrc.substring(5,
			backgroundImageSrc.length - 2);
	document.getElementById('rollOverDivImg').src = backgroundImageSrc;
	document.getElementById('rollOverDivImg').src = holder.rollOverImage;
	document.getElementById('rollOverDivImg').alt = "Go to titles for "
			+ holder.extendedTitle;
	document.getElementById('rollOverDivImg').title = "Go to titles for "
			+ holder.extendedTitle;

	if (holder.relatedContent[0] != undefined) {
		document.getElementById('relatedContentLink0').href = getContentPagePath(holder.relatedContent[0])
				+ "/";
		document.getElementById('relatedContentLink0').name = holder.relatedContent[0].title;
		document.getElementById('relatedContentImage0').src = getImagePath(
				holder.relatedContent[0], ImageType.RELATED_MOVIES);
		// document.getElementById('relatedContentImage0').title =
		// holder.relatedContent[0].title;
		document.getElementById('relatedContentImage0').alt = holder.relatedContent[0].title;
		document.getElementById('relatedContentLink0').style.visibility = 'visible';
	} else
		document.getElementById('relatedContentLink0').style.visibility = 'hidden';

	if (holder.relatedContent[1] != undefined) {
		document.getElementById('relatedContentLink1').href = getContentPagePath(holder.relatedContent[1])
				+ "/";
		document.getElementById('relatedContentLink1').name = holder.relatedContent[1].title;
		document.getElementById('relatedContentImage1').src = getImagePath(
				holder.relatedContent[1], ImageType.RELATED_MOVIES);
		// document.getElementById('relatedContentImage1').title =
		// holder.relatedContent[1].title;
		document.getElementById('relatedContentImage1').alt = holder.relatedContent[1].title;
		document.getElementById('relatedContentLink1').style.visibility = 'visible';
	} else
		document.getElementById('relatedContentLink1').style.visibility = 'hidden';

	if (holder.relatedContent[2] != undefined) {
		document.getElementById('relatedContentLink2').href = getContentPagePath(holder.relatedContent[2])
				+ "/";
		document.getElementById('relatedContentLink2').name = holder.relatedContent[2].title;
		document.getElementById('relatedContentImage2').src = getImagePath(
				holder.relatedContent[2], ImageType.RELATED_MOVIES);
		// document.getElementById('relatedContentImage2').title =
		// holder.relatedContent[2].title;
		document.getElementById('relatedContentImage2').alt = holder.relatedContent[2].title;
		document.getElementById('relatedContentLink2').style.visibility = 'visible';
	} else
		document.getElementById('relatedContentLink2').style.visibility = 'hidden';

	if (holder.relatedContent[3] != undefined) {
		document.getElementById('relatedContentLink3').href = getContentPagePath(holder.relatedContent[3])
				+ "/";
		document.getElementById('relatedContentLink3').name = holder.relatedContent[3].title;
		document.getElementById('relatedContentImage3').src = getImagePath(
				holder.relatedContent[3], ImageType.RELATED_MOVIES);
		// document.getElementById('relatedContentImage3').title =
		// holder.relatedContent[3].title;
		document.getElementById('relatedContentImage3').alt = holder.relatedContent[3].title;
		document.getElementById('relatedContentLink3').style.visibility = 'visible';
	} else
		document.getElementById('relatedContentLink3').style.visibility = 'hidden';

	if (holder.relatedContent[4] != undefined) {
		document.getElementById('relatedContentLink4').href = getContentPagePath(holder.relatedContent[4])
				+ "/";
		document.getElementById('relatedContentLink4').name = holder.relatedContent[4].title;
		document.getElementById('relatedContentImage4').src = getImagePath(
				holder.relatedContent[4], ImageType.RELATED_MOVIES);
		// document.getElementById('relatedContentImage4').title =
		// holder.relatedContent[4].title;
		document.getElementById('relatedContentImage4').alt = holder.relatedContent[4].title;
		document.getElementById('relatedContentLink4').style.visibility = 'visible';
	} else
		document.getElementById('relatedContentLink4').style.visibility = 'hidden';

	var picture = holder.obj;
	var direction = "rtl";
	var collageWidth = 740; // in the css
	var floatingDivWidth = 592; // in the css
	var floatingDivHight = 240;
	var floatingDivPadding = 0; // in the css
	var collageImageWidth = picture.width;

	if (collageImageWidth == null)
		collageImageWidth = picture.offsetWidth;
	var collageImageHeight = picture.height;
	if (collageImageHeight == null)
		collageImageHeight = picture.offsetHeight;

	/* find collage height */

	var collageBottom = getPosY(document.getElementById('bottomLimit'));

	var collageRightEdge = getPosX(document.getElementById('collageSet'))
			+ collageWidth;
	var holderLeft = getPosX(picture);
	if ((holderLeft + floatingDivWidth) < (collageRightEdge + 30))
		direction = "ltr";

	var collageImage = picture;

	var imgX = getPosX(collageImage);
	var imgY = getPosY(collageImage);

	var imgRight = imgX + collageImage.width;
	var imgBottom = imgY + collageImage.height;

	if (isNaN(imgRight)) {
		imgRight = imgX + collageImage.offsetWidth;
	}
	if (isNaN(imgBottom)) {
		imgBottom = imgY + collageImage.offsetHeight;
	}

	var floatingDivX = imgX - 10 + 'px';
	var floatingDivY = imgY - 10 + 'px';

	document.getElementById('collage_ro').style.left = floatingDivX;
	document.getElementById('collage_ro').style.top = floatingDivY;

	/* positon the roll over on the x-axis */
	if (direction == "rtl") {
		var diff = floatingDivWidth
				- (floatingDivPadding + collageImageWidth + 20);
		document.getElementById('collage_ro').style.left = parseInt(floatingDiv.style.left)
				- diff + "px";
		document.getElementById('textDiv').className = "txtRight";
		document.getElementById('imgDiv').className = "imgRight";
		// document.getElementById('similarDetails').className = "sd_right";
		if (document.all && BrowserDetect.version <= 6) {
			document.getElementById('textDiv').style.marginLeft = 5 + "px";
			document.getElementById('imgDiv').style.marginRight = 5 + "px";
			document.getElementById('imgDiv').style.marginBottom = 5 + "px";
		} else {
			document.getElementById('textDiv').style.marginLeft = 10 + "px";
			document.getElementById('imgDiv').style.marginRight = 0 + "px";
			document.getElementById('imgDiv').style.marginBottom = 10 + "px";
		}

	} else {
		document.getElementById('textDiv').className = "txtLeft";
		document.getElementById('imgDiv').className = "imgLeft";
		// document.getElementById('similarDetails').className = "sd_left";
		document.getElementById('textDiv').style.marginLeft = -3 + "px";
		document.getElementById('textDiv').style.marginRight = -3 + "px";
		document.getElementById('imgDiv').style.marginRight = 10 + "px";
		if (document.all && BrowserDetect.version <= 6) {
			document.getElementById('imgDiv').style.marginLeft = 5 + "px";
			document.getElementById('imgDiv').style.marginBottom = 5 + "px";
		} else {
			document.getElementById('imgDiv').style.marginLeft = 10 + "px";
			document.getElementById('imgDiv').style.marginBottom = 10 + "px";
		}
		document.getElementById('imgDiv').style.width = "300px";

	}
	/* position the div on the y-axis */
	// Get the scroll offset
	var scroll = getScrollSize();
	var windowSize = getWindowSize();
	diff = floatingDivHight - collageImageHeight;
	if ((parseInt(floatingDivY) + floatingDivHight) > collageBottom) {
		document.getElementById('collage_ro').style.top = parseInt(floatingDivY)
				- (diff) + 20 + "px";
	}
	if (parseInt(floatingDivY) + floatingDivHight > scroll[1] + windowSize[1]) {
		document.getElementById('collage_ro').style.top = scroll[1]
				+ windowSize[1] - floatingDivHight + "px";
	}

	// document.getElementById('collage_ro').style.padding = 10 + 'px';

	pushRollOverToTheRight();

	document.getElementById('collage_ro').style.display = 'inline';

	var opacityTween = new OpacityTween(floatingDiv, Tween.regularEaseOut, 0,
			100, 0.5);
	opacityTween.start();
}

function doDiscoveryRollOver(obj) {
	try {
		holderToRollOverOn = eval("obj_" + obj.id);
	} catch (ex) {
		return;
	}
	holderToRollOverOn.obj = obj;
	showRollOverTimeout = window.setTimeout(
			"showDiscoveryRollOver(holderToRollOverOn)", 850);
}

function showDiscoveryRollOver(holder) {
	var nflxIframe = document.getElementById('NFLX_IFRAME_LAYER');

	if (nflxIframe && nflxIframe.style.display == 'block')
		return;

	if (holder.extendedTitle == null)
		return; /* empty holder */
	var floatingDiv = document.getElementById('collage_ro');
	discoveryCurrentContentId = holder.DBID;
	discoveryCurrentContentPath = holder.contentPath

	var numOfCategories = holder.numOfCategories;

	document.getElementById('rollOverLinkToContent').href = holder.contentPath;
	discoveryCode = holder.DBID; // for show similar link

	document.getElementById('collageMovTitle').innerHTML = "<a href='"
			+ holder.contentPath + "'>" + holder.extendedTitle + "</a>";
	var contentTypeText;
	switch (holder.contentType) {
	case "FeatureFilm":
		contentTypeText = "Movie";
		break;
	case "TvSeries":
		contentTypeText = "TV";
		break;
	case "ShortFilm":
		contentTypeText = "Short";
		break;
	}

	if (document.getElementById('_nflxContainer')) {
		if (!holder.affiliates['Netflix']) {
			document.getElementById('_nflxContainer').style.visibility = "hidden";
		} else {
			document.getElementById('_nflxContainer').style.visibility = "visible";
			document.getElementById('_nflxContainer').style.height = "37px";

			if (holder.contentType == 'TvSeries') {
				nflxFucntions.showSearchLink(holder.extendedTitle);
			} else if (holder.affiliates['Netflix'].deliveryMethods
					.contains("Ship")
					&& holder.affiliates['Netflix'].deliveryMethods
							.contains("Online")) {
				nflxFucntions.showAddPlayBtn();
			} else if (holder.affiliates['Netflix'].deliveryMethods
					.contains("Online")) {
				nflxFucntions.showPlayBtn();
			} else if (holder.affiliates['Netflix'].deliveryMethods
					.contains("Ship")) {
				nflxFucntions.showAddBtn();
			}
			nflxFucntions
					.setNflxID(holder.affiliates['Netflix'].affiliateContentIds[0].key);
		}
	}

	if (holder.year > 0)
		document.getElementById('col_title_year').innerHTML = holder.year
				+ "<br/>" + contentTypeText;
	else
		document.getElementById('col_title_year').innerHTML = contentTypeText;

	document.getElementById('roText').innerHTML = holder.shortSynopsis
			+ ".<a href='" + holder.contentPath
			+ "' class='moreInfo' title='" + holder.extendedTitle.encode() + " - Overview'>overview</a>";
	try {
		var backgroundImageSrc = holder.obj.style.backgroundImage;
		backgroundImageSrc = backgroundImageSrc.substring(backgroundImageSrc
				.indexOf('http://'),
				backgroundImageSrc.lastIndexOf('.jpeg') + 5);
		document.getElementById('rollOverDivImg').src = backgroundImageSrc;
		document.getElementById('rollOverDivImg').src = collageImagePath + "/"
				+ holder.rollOverImage;
	} catch (e) {
		alert("[7] " + e);
	}

	document.getElementById('rollOverDivImg').alt = "More about "
			+ holder.extendedTitle;
	document.getElementById('rollOverDivImg').title = "More about "
			+ holder.extendedTitle;
	document.getElementById('categoriesOrigins1').innerHTML = "";
	document.getElementById('categoriesList1').innerHTML = "";
	document.getElementById('categoriesOrigins2').innerHTML = "";
	document.getElementById('categoriesList2').innerHTML = "";
	document.getElementById('peopleOrigins').innerHTML = "";
	document.getElementById('peopleList').innerHTML = "";
	document.getElementById('titlesOrigins').innerHTML = "";
	document.getElementById('titlesList').innerHTML = "";
	// document.getElementById('botLinkB').onclick = "findSimilarClick('" +
	// holder.extendedTitle.encode() + "');";
	moreLikeItTitle = holder.extendedTitle.encode();
	document.getElementById('linkToWatch').href = holder.contentPath
			+ "watch-it/";
	document.getElementById('linkToWatchit').href = holder.contentPath
			+ "watch-it/";
	// document.getElementById('col_watchit').onclick = window.location =
	// holder.contentPath + "/watch-it";

	if (holder.availableCinema == true) {
		document.getElementById('availableImg0').style.backgroundImage = "url("
				+ imagePath + "16_cinema_white.png)";
		document.getElementById('availableImg0').style.display = "inline-block";
	} else {
		document.getElementById('availableImg0').style.display = "none";
	}

	if (holder.availableDvd == true) {
		document.getElementById('availableImg1').style.backgroundImage = "url("
				+ imagePath + "16_dvd_white.png)";
		document.getElementById('availableImg1').style.display = "inline-block";
	} else {
		document.getElementById('availableImg1').style.display = "none";
	}

	if (holder.availableTv == true) {
		document.getElementById('availableImg2').style.backgroundImage = "url("
				+ imagePath + "16_tv_white.png)";
		document.getElementById('availableImg2').style.display = "inline-block";
	} else {
		document.getElementById('availableImg2').style.display = "none";
	}

	if (holder.availableOnline == true) {
		document.getElementById('availableImg3').style.backgroundImage = "url("
				+ imagePath + "16_online_white.png)";
		document.getElementById('availableImg3').style.display = "inline-block";
	} else {
		document.getElementById('availableImg3').style.display = "none";
	}

	if (holder.availableMobile == true) {
		document.getElementById('availableImg4').style.backgroundImage = "url("
				+ imagePath + "16_mobile_white.png)";
		document.getElementById('availableImg4').style.display = "inline-block";
	} else {
		document.getElementById('availableImg4').style.display = "none";
	}

	if (holder.availableDownload == true) {
		document.getElementById('availableImg5').style.backgroundImage = "url("
				+ imagePath + "16_download_white.png)";
		document.getElementById('availableImg5').style.display = "inline-block";
	} else {
		document.getElementById('availableImg5').style.display = "none";
	}

	if (holder.isSimilar == true) {
		if (typeof searchResultFuncs.getSimilarityInfo() != 'undefined'
				&& searchResultFuncs.getSimilarityInfo() != null) {
			var similarTo = searchResultFuncs.getSimilarityInfo();
			holder.similarTo.id = similarTo.id;
			holder.similarTo.title = similarTo.title;
		}

		document.getElementById('whySimilarSection').style.display = "block";
		document.getElementById('whySimilarSection').onclick = function() {
			showWhySimilar(holder);
		}
		document.getElementById('wsHeaderTitle').innerHTML = "Why is it like "
				+ holder.similarTo.title + "?";
	} else {
		if (holder.categoriesOrigins != null) {
			if (holder.categoriesOrigins['categoriesOrigins1']) {
				document.getElementById('categoriesOrigins1').innerHTML = holder.categoriesOrigins['categoriesOrigins1']
						+ ":";
				document.getElementById('categoriesList1').innerHTML = holder.categoriesOrigins['categoriesList1_0'];
				if (holder.categoriesOrigins['categoriesList1_1']) {
					document.getElementById('categoriesList1').innerHTML += ", "
							+ holder.categoriesOrigins['categoriesList1_1'];
				}
			}

			if (holder.categoriesOrigins['categoriesOrigins2']) {
				document.getElementById('categoriesOrigins2').innerHTML = holder.categoriesOrigins['categoriesOrigins2']
						+ ":";
				document.getElementById('categoriesList2').innerHTML = holder.categoriesOrigins['categoriesList2_0'];
				if (holder.categoriesOrigins['categoriesList2_1']) {
					document.getElementById('categoriesList2').innerHTML += ", "
							+ holder.categoriesOrigins['categoriesList2_1'];
				}
			}
		}

		if (holder.peopleOrigins != null && numOfCategories < 2) {
			document.getElementById('peopleOrigins').innerHTML = "People: ";
			for ( var index = 0; index < 2
					&& index < holder.peopleOrigins.length; index++) {

				document.getElementById('peopleList').innerHTML += holder.peopleOrigins[index].name
						+ ",";
			}
			document.getElementById('peopleList').innerHTML = document
					.getElementById('peopleList').innerHTML.substring(0,
					document.getElementById('peopleList').innerHTML.length - 1);
		}

		if (holder.titlesOrignis != null) {
			if (holder.titlesOrignis.length > 0) {
				if (holder.titlesOrignis[0].aka == true) {
					document.getElementById('titlesOrigins').innerHTML = "AKA: ";
				} else {
					document.getElementById('titlesOrigins').innerHTML = "Titles: ";
				}
				for ( var index = 0; index < 2
						&& index < holder.titlesOrignis.length; index++) {
					document.getElementById('titlesList').innerHTML += holder.titlesOrignis[index].name
							+ ",";
				}
				document.getElementById('titlesList').innerHTML = document
						.getElementById('titlesList').innerHTML
						.substring(
								0,
								document.getElementById('titlesList').innerHTML.length - 1);
			}
		}
		document.getElementById('whySimilarSection').style.display = 'none';

	}

	var picture = holder.obj;
	var direction = "rtl";
	var collageWidth = 740; // in the css
	var floatingDivWidth = 592; // in the css
	var floatingDivHight = 276;
	var floatingDivPadding = 0; // in the css
	var collageImageWidth = picture.width;
	if (collageImageWidth == null)
		collageImageWidth = picture.offsetWidth;
	var collageImageHeight = picture.height;
	if (collageImageHeight == null)
		collageImageHeight = picture.offsetHeight;

	/* find collage height */

	var collageBottom = getPosY(document.getElementById('bottomLimit'));

	var collageRightEdge = getPosX(document.getElementById('collageSet'))
			+ collageWidth;
	var holderLeft = getPosX(picture);
	if ((holderLeft + floatingDivWidth) < (collageRightEdge + 30))
		direction = "ltr";

	var collageImage = picture;

	var imgX = getPosX(collageImage);
	var imgY = getPosY(collageImage);

	var imgRight = imgX + collageImage.width;
	if (isNaN(imgRight)) {
		imgRight = imgX + collageImage.offsetWidth;
	}
	var imgBottom = imgY + collageImage.height;
	if (isNaN(imgBottom)) {
		imgBottom = imgY + collageImage.offsetHeight;
	}

	var floatingDivX = imgX - 10 + 'px';
	var floatingDivY = imgY - 10 + 'px';

	document.getElementById('collage_ro').style.left = floatingDivX;
	document.getElementById('collage_ro').style.top = floatingDivY;

	/* positon the roll over on the x-axis */
	if (direction == "rtl") {
		var diff = floatingDivWidth
				- (floatingDivPadding + collageImageWidth + 20);
		document.getElementById('collage_ro').style.left = parseInt(floatingDiv.style.left)
				- diff + "px";
		document.getElementById('textDiv').className = "txtRight";
		document.getElementById('imgDiv').className = "imgRight";
		document.getElementById('similarDetails').className = "sd_right";
		document.getElementById('whySimilarSection').innerHTML = "<img src='"
				+ imagePath
				+ "arrow_right.png' class='similarIcon' id='collageSimilarIcon' alt='jinni' /> Why is it like "
				+ holder.similarTo.title + "?";
		if (document.all && BrowserDetect.version <= 6) {
			document.getElementById('imgDiv').style.marginRight = "5px";
			document.getElementById('rollOverDivImg').style.margin = 0;
			document.getElementById('rollOverDivImg').style.padding = 0;
			document.getElementById('textDiv').style.marginLeft = 5 + "px";
			document.getElementById('raiting_wish').style.width = "200px";
			document.getElementById('user_match').style.marginLeft = 0;

		} else {
			document.getElementById('textDiv').style.marginLeft = 10 + "px";
			document.getElementById('imgDiv').style.marginRight = 0 + "px";
		}

	} else {
		document.getElementById('textDiv').className = "txtLeft";
		document.getElementById('imgDiv').className = "imgLeft";
		document.getElementById('similarDetails').className = "sd_left";
		document.getElementById('whySimilarSection').innerHTML = "<img src='"
				+ imagePath
				+ "arrow_right.png' class='similarIcon' id='collageSimilarIcon' alt='jinni' /> Why is it like "
				+ holder.similarTo.title + "?";
		document.getElementById('textDiv').style.marginLeft = 0 + "px";
		document.getElementById('imgDiv').style.marginLeft = 10 + "px";
		document.getElementById('imgDiv').style.marginRight = 10 + "px";
		if (document.all && BrowserDetect.version <= 6) {
			document.getElementById('imgDiv').style.marginLeft = "5px";
			document.getElementById('imgDiv').style.marginTop = "0px";
		}
	}
	/* position the div on the y-axis */
	var scroll = getScrollSize();
	var windowSize = getWindowSize();
	diff = floatingDivHight - collageImageHeight;
	if ((parseInt(floatingDivY) + floatingDivHight) > collageBottom) {
		document.getElementById('collage_ro').style.top = parseInt(floatingDivY)
				- (diff) + 20 + "px";
	}
	if (parseInt(floatingDivY) + floatingDivHight > scroll[1] + windowSize[1]) {
		document.getElementById('collage_ro').style.top = scroll[1]
				+ windowSize[1] - floatingDivHight + "px";
	}

	// document.getElementById('collage_ro').style.padding = 10 + 'px';

	/* make sure don't go too much to the left */

	pushRollOverToTheRight();

	document.getElementById('collage_ro').style.display = 'inline';

	generalFunctions.initSliderByAjax();

	var opacityTween = new OpacityTween(floatingDiv, Tween.regularEaseOut, 0,
			100, 0.5);
	opacityTween.start();

	floatingDiv.style.display = 'block';
}

function pushRollOverToTheRight() {
	var roLeft = parseInt(document.getElementById('collage_ro').style.left);
	var collageLeft = getPosX(document.getElementById('collageSet'));
	var leftLimit = collageLeft - 150;
	var gap = 0;

	if (roLeft < leftLimit) {
		gap = leftLimit - roLeft;
		document.getElementById('collage_ro').style.left = roLeft + gap + "px";

	}
}

function showCollageRollOver(obj) {

}

function fadeIn(obj) {

}

function collageOut() {
	document.getElementById('collage_ro').style.display = 'none';
}

function exposeGenom(obj, clickedImage) {
	var genomList = document.getElementById(obj);
	var expanded = false;
	var parentID = null;
	for ( var idx = 0; idx < expandedNode.length; idx++) {
		expandedNode[idx] = document.getElementById(expandedNode[idx]);
		if (expandedNode[idx] == genomList)
			expanded = true;
		var shrinkTween = new Tween(expandedNode[idx].style, 'height',
				Tween.regularEaseOut, findHeightToExpand(expandedNode[idx]), 0,
				0.5, 'px');
		shrinkTween.start();

		parentID = expandedNode[idx].id.substring(0, expandedNode[idx].id
				.indexOf('Categories'));
		document.getElementById(parentID).className = "";
		document.getElementById(parentID).getElementsByTagName("IMG")[0].src = "/images/arrToBotMenu.png";

	}
	expandedNode = new Array();
	if (!expanded) {
		parentID = obj.substring(0, obj.indexOf('Categories'));
		document.getElementById(parentID).className = "highlightedMenuItem";

		var expandTween = new Tween(genomList.style, 'height',
				Tween.regularEaseOut, 0, findHeightToExpand(genomList), 0.5,
				'px');
		expandTween.start();

		expandedNode.push(genomList.id);
		document.getElementById(parentID).getElementsByTagName("IMG")[0].src = "/images/arrToTopMenu.png";
	}
}

function isExpanded(ulID) {
	for ( var idx = 0; idx < expandedNode.length; idx++) {
		if (expandedNode[idx] == ulID)
			return true;
	}
}

function findHeightToExpand(obj) {
	var genom = null;
	var genomYPos = null;
	var numChilds = 0;

	for ( var node = 0; node < obj.childNodes.length; node++) {
		if (obj.childNodes[node].tagName == "LI") {
			genom = obj.childNodes[node];
			numChilds++;
		}
	}

	if (genom != null)
		genomYPos = getPosY(genom);

	genomYPos = numChilds * 20;
	return genomYPos;

}
function loadRecentActive() {
	var arr = homeRecentActive.users;
	var image;
	var id;
	for ( var index = 0; index < arr.length; index++) {

		image = arr[index].split("-")[0];
		id = arr[index].split("-")[1];
		document.getElementById(id).innerHTML = image;

	}
	homeRecentActive.users = null;
	arr = null;
}

