var nbItem = 0;
var divHtml;
var _listItem = new Array();
var countList;
var countItem;
var nbPages; //default to 1, nombre de page sans reloader
var nbTotalPages; //default to 1, nombre de page au total
var xmlHttpUrl;
var returnUrl = new String(document.location).split("&groupPage")[0];
var nbRowPerPage;
var nbTotalRow;
var nbPagesShownInListt;
var groupPage = 1;
var language;
var page;
var xmlhttp;
var isLoading;
var htmlContainer = "";

function listItem(	id,
					title,
					description,
					credit,
					url,
					date) {
	_listItem[nbItem] = new Object();
	_listItem[nbItem]._id = id;
	_listItem[nbItem]._title = title;
	_listItem[nbItem]._description = description;
	_listItem[nbItem]._credit = credit;
	_listItem[nbItem]._url = url;
	_listItem[nbItem]._date = date;
	++nbItem;
}
function setVariables( theNbRowPerPage, theNbTotalRow, theNbPagesShownInList, theGroupPage, theLanguage, thePage ) {
	nbRowPerPage = parseInt(theNbRowPerPage);
	nbTotalRow = parseInt(theNbTotalRow);
	nbPagesShownInList = parseInt(theNbPagesShownInList);
	groupPage = parseInt(theGroupPage);
	language = theLanguage;
	page = parseInt(thePage);
}

//Receiving the list content
function xmlHttpReceiveList(isPrevious, strSearch) {
	htmlContainer = "";
	if(!isLoading) {
		isLoading = true;
		document.getElementById("divListContainer").innerHTML	= "<table width='365' style='margin:10px;' border=0 valign=middle height=250>"
																+ "<tr><td align=center class='StandardText'><strong>Loading...</strong></td></tr>"
																+ "</table>";
		setHttpUrl(isPrevious, strSearch);
		//alert("xmlHttpUrl:" + xmlHttpUrl);
		if (window.XMLHttpRequest) {
			xmlhttp=new XMLHttpRequest()
			xmlhttp.onreadystatechange=list_Change
			xmlhttp.open("GET",xmlHttpUrl,true)
			xmlhttp.send(null)
		}
		// code for IE
		else if (window.ActiveXObject) {
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
			if (xmlhttp) {
				xmlhttp.onreadystatechange=list_Change
				xmlhttp.open("GET",xmlHttpUrl,true)
				xmlhttp.send()
			}
		}
	}
}
function list_Change() {
	// if xmlhttp shows "loaded"
	if (xmlhttp.readyState==4) {
		// if "OK"
		if (xmlhttp.status==200) {
			_listItem = new Array();
			nbItem = 0;
			eval(xmlhttp.responseText);
			initialize();
		} else {
			alert("Problem retrieving XML data:" + xmlhttp.statusText)
		}
	}
}
function setHttpUrl(isPrevious, strSearch) {
	xmlHttpUrl = xmlHttpUrl == null?new String(document.location).replace(".aspx", "List.aspx"):xmlHttpUrl;
	xmlHttpUrl = xmlHttpUrl.split("&groupPage")[0];
	if(strSearch != null) xmlHttpUrl = xmlHttpUrl.split("&txtSearch")[0] + "&txtSearch=" + strSearch;
	xmlHttpUrl += "&groupPage=" + groupPage;
	if(isPrevious) xmlHttpUrl += "&previous=true";
}
function initialize() {
	nbPages = parseInt(nbItem/nbRowPerPage);
	nbPages = nbPages*nbRowPerPage < nbItem ? ++nbPages : nbPages;
	nbTotalPages = parseInt(nbTotalRow/nbRowPerPage);
	nbTotalPages = nbTotalPages*nbRowPerPage < nbTotalRow ? ++nbTotalPages : nbTotalPages;
	countItem = (page-1)*nbRowPerPage;
	//alert("nbRowPerPage:" + nbRowPerPage + " nbItem:" + nbItem +" nbPages:" + nbPages +" nbTotalPages:" + nbTotalPages + " countItem:" + countItem + " groupPage:" + groupPage);
	var divContainer = document.getElementById("divListContainer");
	var divHtml = "<div class=\"textSpacing10\"></div>"
				+ "<div style=\"float:left;\" ><h4>" + nbTotalRow + (language == "fr" ? " résultat(s)" : " result(s)") + (nbTotalRow > 0 ? " - page <span id=\"nbPages\"></span> / " + nbTotalPages + "" : "")
				+ "</h4></div>";
	divContainer.innerHTML = divHtml + getNextPreviousHtml(1) + "<div class=clearFloat></div><div class=\"textSpacing10\"></div><div id=\"divContentContainer\"></div><div class=\"textSpacing10\"></div>" + "<div class=clearFloat></div>" + getNextPreviousHtml(2);
	
	countList = 1;
	window.setTimeout("createList()", 10);
	showNextPrevious();
	buildPages();
}
function createList() {
	if(countList<=nbRowPerPage) {
		htmlContainer += (theHtmlFunc.indexOf("getPhotoHtml") != -1 ? "" : "<div id=\"divContainer" + countList + "\" class=hideMe >") + eval(theHtmlFunc) + (theHtmlFunc.indexOf("getPhotoHtml") != -1 ? "" : "</div>");
		++countList;
		window.setTimeout("createList()", 1);
	} else {
		var divContainer = document.getElementById("divContentContainer");
		divContainer.innerHTML = htmlContainer;
		countList = 1;
		window.setTimeout("populateList()", 10);
	}
}
function populateList() {
	if(countList<=nbRowPerPage && countItem<_listItem.length) {
		var spanTitle = document.getElementById("spanTitle"+countList);
		var spanDescription = document.getElementById("spanDescription"+countList);
		var divImgThumb = document.getElementById("divImgThumb"+countList);
		var spanInfo = document.getElementById("spanInfo"+countList);
		var item = _listItem[countItem];
		
		spanTitle.innerHTML = item._title;
		spanDescription.innerHTML = ( item._description.length > 200 && item._url.indexOf("_th.jpg") == -1 && item._url != "" ? item._description.substring(0,200) + "..." : item._description);
		if(item._url != "") {
			if(item._url.indexOf(".jpg") > -1 || item._url.indexOf(".gif") > -1) {
				if(document.getElementsByName("divThumb"+countList)[0]!=null) { document.getElementsByName("divThumb"+countList)[0].className = "thumbAlign"; }
				divImgThumb.innerHTML = "<img src='" + ((item._url.indexOf("_th.jpg") > -1 || item._url.indexOf("News_") > -1 || item._url.indexOf("images/document") > -1) ? item._url : item._url.replace(".jpg", "_th.jpg")) 
										+ "' class=" + theHtmlFunc.substring(3,theHtmlFunc.indexOf("Html")) 
										+ "Thumb " + (countList % 10 == 0 ? "" : "align=left") + " />";
			}
		} else {
			if(document.getElementById("divThumb"+countList)!=null){ document.getElementById("divThumb"+countList).className = "hideMe"; }
		}
		spanInfo.innerHTML = item._date + " | " + item._credit;
		
		var divContainer = document.getElementById("divContainer" + countList);
		divContainer.className = "showMe";
		
		++countItem;
		++countList;
		window.setTimeout("populateList()", 1);
	} else {
		document.getElementById("divNextPrevious1").className = "showMe";
		document.getElementById("divNextPrevious2").className = "showMe";
		isLoading = false;
		while(countList <= nbRowPerPage) {
			//alert("hiding " + countList);
			var divContainer = document.getElementById("divContainer" + countList);
			divContainer.className = "hideMe";
			++countList;
		}
	}
}

//HTML for next previous
function getNextPreviousHtml(index) {
	var divHtml = "<span class=\"hideMeWhenPrinting\">"
				+ "<div align=right id=\"divNextPrevious" + index + "\" class=\"hideMe\">"
				+ "<a id=\"aPrevious" + index + "\" class=\"hideMe\"><img style=\"vertical-align:bottom;\" src=\"/Images/Core/arrowPrevious.gif\" border=0 />&nbsp;" + (language == "fr" ? "" : "") + "</a>"
				+ "<span id=\"divPages" + index + "\"></span>"
				+ "<a id=\"aNext" + index + "\" class=\"hideMe\">" + (language == "fr" ? "" : "") + "&nbsp;<img style=\"vertical-align:bottom;\" src=\"/Images/Core/arrowNext.gif\" border=0 /></a>"
				+ "</div></span>";
	return divHtml;
}

//Change page functions
function showNextPrevious() {
	var objPrevious1 = document.getElementById("aPrevious1");
	var objNext1 = document.getElementById("aNext1");
	var objPrevious2 = document.getElementById("aPrevious2");
	var objNext2 = document.getElementById("aNext2");
	if(page > 1) {
		objPrevious1.className = "pagingNP";
		objPrevious1.href = "javascript:page--;changePage();";
		objPrevious2.className = "pagingNP";
		objPrevious2.href = "javascript:page--;changePage();";
	} else {
		if(groupPage > 1) {
			objPrevious1.className = "pagingNP";
			objPrevious1.href = "javascript:--groupPage;xmlHttpReceiveList(true);";
			objPrevious2.className = "pagingNP";
			objPrevious2.href = "javascript:--groupPage;xmlHttpReceiveList(true);";
		} else
			objPrevious1.className = "hideMe";
			objPrevious2.className = "hideMe";
	}
	if(nbPages > 1 && page < nbPages) {
		objNext1.className = "pagingNP";
		objNext1.href = "javascript:page++;changePage();";
		objNext2.className = "pagingNP";
		objNext2.href = "javascript:page++;changePage();";
	}
	else {
		if( ( (groupPage-1)*nbPagesShownInList+page ) < nbTotalPages ) {
			objNext1.className = "pagingNP";
			objNext1.href = "javascript:++groupPage;xmlHttpReceiveList();";
			objNext2.className = "pagingNP";
			objNext2.href = "javascript:++groupPage;xmlHttpReceiveList();";
			//objNext.href = returnUrl + "&groupPage=" + (groupPage+1);
		} else {
			objNext1.className = "hideMe";
			objNext2.className = "hideMe";
		}
	}
}
function buildPages() {
	if(document.getElementById("nbPages") != null) document.getElementById("nbPages").innerHTML = ((groupPage-1)*nbPagesShownInList) + page;
	var divPages1 = document.getElementById("divPages1");
	var divPages2 = document.getElementById("divPages2");
	var divHtml = "";
	if(nbPages > 1) {
		for(var count=1; count<=nbPages && count<=nbPagesShownInList; ++count) {
			if(page == count)
				divHtml += "<span class=paging ><strong>" + (((groupPage-1)*nbPagesShownInList) + count) + "</strong></span>"
			else
				divHtml	+= "<a class=paging href=\"javascript:doNothing();\" onclick=\"javascript:page=" + count + ";changePage();\">" + (((groupPage-1)*nbPagesShownInList) + count) + "</a><span></span>";
		}
	}
	divPages1.innerHTML = divHtml;
	divPages2.innerHTML = divHtml;
}
function changePage() {
	document.getElementById("divNextPrevious1").className = "hideMe";
	document.getElementById("divNextPrevious2").className = "hideMe";
	countItem = (page-1)*nbRowPerPage;
	countList = 1;
	window.setTimeout("populateList()", 10);
	buildPages();
	showNextPrevious();
}

//This is for the search
function submit() {
	groupPage = 1;
	xmlHttpReceiveList(false, document.getElementById("txtSearch").value);
}

function getPhotoHtml() {
	if(countList == 1) {
		slideId = 0;
		item = _listItem[0];
		document.getElementById("imgLoader").src = _listItem[0]._url;
		if(_listItem.length > 1) {
			document.getElementById("divNextPrevious").className = "showMe";
		}
	}
	var divHtml = "<span class=hideMe id=\"spanTitle" + countList + "\"></span><span class=hideMe id=\"spanDescription" + countList + "\"></span><span class=hideMe id=\"spanInfo" + countList + "\"></span>"
				+ "<div id=\"divContainer" + countList + "\" class=hideMe  style=''>"
				+ "<a href=\"javascript:changeImageFromList('" + countList + "');\" title='" + (language == "fr" ? "Cliquez pour ouvrir" : "Click to open") + "'  ><div id=\"divImgThumb" + countList + "\"></div></a>"
				+ "</div>";
	return divHtml;
}
function getNewsHtml() {
	var divHtml = "<div class=\"dotBG\">&nbsp;</div>"
				+ "<h3><a href=\"javascript:doNothing();\" onclick=\"javascript:popNewsFromList('" + countList + "')\" ><span id=\"spanTitle" + countList + "\"></span></h3></a>"
				+ "<h4><span class=infoText id=\"spanInfo" + countList + "\"></span></h4>"
				+ "<div class=\"thumbMargin\" >"
				+ "<div class=\"thumbAlign\" id=\"divThumb" + countList + "\" name=\"divThumb" + countList + "\"><a href=\"javascript:doNothing();\" onclick=\"javascript:popNewsFromList('" + countList + "')\" ><div id=\"divImgThumb" + countList + "\"></div></a></div>"
				+ "<span class=\"articlesText\" id=\"spanDescription" + countList + "\"></span>"
				+ "</div>"
				+ "<div class=\"clearFloat\"></div>"
				+ "<div class=\"textSpacing3\"></div>"
				+ "<a class=\"continueText\" href=\"javascript:doNothing();\" onclick=\"javascript:('" + countList + "')\" >" + (language=="fr"?"» lire...":"[ Read... ]") + "</a>";
	return divHtml;
}
function getRetroHtml() {
	var divHtml = "<div class=\"dotBG\">&nbsp;</div>"
				+ "<h3><a href=\"javascript:doNothing();\" onclick=\"javascript:popNewsFromList('" + countList + "')\" ><span id=\"spanTitle" + countList + "\"></span></h3></a>"
				+ "<h4><span class=infoText id=\"spanInfo" + countList + "\"></span></h4>"
				+ "<div class=\"thumbMargin\" >"
				+ "<div class=\"thumbAlign\" id=\"divThumb" + countList + "\" name=\"divThumb" + countList + "\"><a href=\"javascript:doNothing();\" onclick=\"javascript:popNewsFromList('" + countList + "')\" ><div id=\"divImgThumb" + countList + "\"></div></a></div>"
				+ "<span class=\"articlesText\" id=\"spanDescription" + countList + "\"></span>"
				+ "</div>"
				+ "<div class=\"clearFloat\"></div>"
				+ "<div class=\"textSpacing3\"></div>";
	return divHtml;
}
function getLinksHtml() {
	var divHtml = "<div class=\"dotBG\">&nbsp;</div>"
				+ "<h1><a class=\"titleArticle\" href=\"javascript:doNothing();\" onclick=\"javascript:popLinksFromList('" + countList + "')\" ><span id=\"spanTitle" + countList + "\"></span></h1></a>"
				+ "<h4><span class=infoText id=\"spanInfo" + countList + "\"></span></h4>"
				+ "<div class=\"textSpacing10\"></div>"
				+ "<a class=\"continueText\" href=\"javascript:doNothing();\" onclick=\"javascript:popLinksFromList('" + countList + "')\" >" + (language=="fr"?"» lire... ":"[ Read... ]") + "</a>"
				+ "<span class=\"hideMe\" id=\"spanDescription" + countList + "\"></span>";
	return divHtml;
}
function getDocumentsHtml() {
	var divHtml = "<div class=\"dotBG\">&nbsp;</div>"
				+ (countList == 1 ? "<div class=\"textSpacing10\"></div>" : "") + "<div id=\"divDocument\">"
				+ "<div style=\"width:30px;\" id=\"divThumb" + countList + "\"><div id=\"divImgThumb" + countList + "\"></div></div>"
				+ "<div style=\"height:40px;\"><h3><a title=\"" + (language=="fr"?"Ouvrir ce document":"Click to open") + "\" onclick=\"javascript:popDocumentsFromList('" + countList + "')\" href=\"javascript:doNothing();\"><span id=\"spanTitle" + countList + "\"></span></a></h3>"
				+ "<div class=\"textSpacing3\"></div>"
				+ "<h4><span id=\"spanInfo" + countList + "\"></span></h4>"
				+ "</div></div></div><div class=clearFloat></div>"
				+ "<div class=\"textSpacing10\"></div>"
				+ "<span class=\"hideMe\" id=\"spanDescription" + countList + "\"></span>";
	return divHtml;
}
function getPublicationsHtml() {
	var divHtml = (countList == 1 ? "<div class=\"textSpacing20\"></div>" : "") + "<div id=\"divDocument\">"
				+ "<div style=\"width:30px;\" id=\"divThumb" + countList + "\"><div id=\"divImgThumb" + countList + "\"></div></div>"
				+ "<div style=\"margin:0 8 0 8;\"><div class=\"textSpacing3\"></div>"
				+ "<a title=\"" + (language=="fr"?"Ouvrir ce document":"Click to open") + "\" class=\"menuHeadText\" onclick=\"javascript:popPublicationsFromList('" + countList + "')\" href=\"javascript:doNothing();\"><span id=\"spanTitle" + countList + "\"></span></a>"
				+ "<div class=\"textSpacing3\"></div>"
				+ "<span id=\"spanInfo" + countList + "\"></span>"
				+ "</div></div>"
				+ "<div class=\"textSpacing10\"></div>"
				+ "<span class=\"hideMe\" id=\"spanDescription" + countList + "\"></span>";
	return divHtml;
}
function getSurveyHtml() {
	var divHtml = "<div class=\"dotBG\">&nbsp;</div>"
				+ "<h1><span id=\"spanTitle" + countList + "\"></span></h1>"
				+ "<div id=\"divSurvey\">"
				+ "<span id=\"spanDescription" + countList + "\"></span>"
				+ "</div>"
				+ "<span class=infoText id=\"spanInfo" + countList + "\"></span>";
	return divHtml;
}
