var colletionXml = null;
var tagsXml = null;
var activeProductXml = null;
var activeProductIdString = null;
var activeTags = new Array();
var activeTagsUsedArray = new Array();
var showProductTags = false;
var activeItemId = -1;
var activeTagId = -1;
var hasGender = false;
var currentTagXml = null;
var pagingIndex = 0;
var currentSeed = "090112";

// keep the old functions for the store locator
if(pageType == "stores")
{
	tagObjectList = new Array();
}

// flags to load content
var loadedTagList = false;
var loadedTags = false;
var loadedProducts = false;

//var tagObjectList = new Array();



// this containens where we are in the items paging
var itemsIndex = 0;

// this contains how many items should be used at once
var defaultMaxItems = pageType == "collection" ? 24 : 8;
var maxItems = (getCookie("maxItems" + pageType) != null) ? parseInt(getCookie("maxItems" + pageType)) : setCookie("maxItems" + pageType, defaultMaxItems, 2000, "/");


// set the right value in the select box
if (document.getElementById("nrOfitemToShow" + maxItems) != null) document.getElementById("nrOfitemToShow" + maxItems).selected = true;

// this is used to keep track of which tags to colourize to 
// show that they have been clicked
var usedTagsArray = new Array();

var breadCrumbContainer = currentSiteLinkRef;
var breadCrumbStartContent = "";

function initTags(startTags)
{
	
	currentSiteLinkRef.innerHTML = "<a href=\"javascript: clearAll();\" class=\"activeColour\">" + currentSiteLinkRef.innerHTML + "</a>";
	breadCrumbStartContent = breadCrumbContainer.innerHTML;
	
	if(pageType == "stores")
	{
		initLoadTagList();
		//initLoadTags();
	}
	
	if ((startTags + "" != "undefined") && (startTags != ""))
	{
		addStartTags(startTags);
		showPath();
	}
	
	getTags(activeTags);
}

function addStartTags(startTags)
{

	for(var i = 0; i < startTags.length; i++)
	{
		var tagItem = startTags[i].split(":");
		var newTagId = tagItem[0];
		if (tagObjectList[newTagId] == null)
		{
			var nameString =  tagItem[1];
			var tagObject = new TagObject(newTagId, nameString,  tagItem[2], 0);
			tagObjectList[newTagId + ""] = tagObject;
		}
		activeTags.push(newTagId);
	}
}

function  initLoadTagList()
{
	ajaxReadWithCallBack(tagsXmlUrl, tagsXmlLoaded);
}

function initLoadTags()
{
	ajaxReadWithCallBack(cloudTagXml + "?type=" + pageType + "&cloud=" + cloudRoot + "&seed=" + Math.round(Math.random() * 1000000) + previewId, cloudXmlLoaded);
}

function initLoadProducts()
{
	ajaxReadWithCallBack(productsXmlUrl + "?gettags=" + adminMode + previewId, productsXmlLoaded);	
}

//function openTag(id, useFilter)
function openTag(id, useFilter)
{

	
	
	document.getElementById("tagCloud").innerHTML = "<span class=\"tagLoading\">" + loadingString + "</span>";
	document.getElementById("productList").innerHTML = "<span class=\"itemLoading\">" + loadingString + "</span>";	
	
	var tagItem = tagObjectList[id];
	
	usedTagsArray[id + ""] = "used";

	//var tagItem = XPath.selectSingleNode("//ta[@id=\"" + id + "\"]", tagsXml);
	
	
	var tagMetaData = tagItem.metaData;
	var tagName = tagItem.name;
	
	
	if (useFilter) tagFilter(tagItem);
	
	
	// here we set teh acitve tag id to use later
	activeTagId = id;
	
	// google analytics
	//urchinTracker(pageType + '/' + tagName);

	//removeLinksFromTagList();
	activeTags= new Array();
	activeTags.push(id);
		
	// set the 
	activeTagsUsedArray["" + id] = "used";
	showPath();
	
	//check if the tag is a group tag. In that case, do not load new products, just reload the cloud
	/*if (tagMetaData.indexOf("grp:") != -1)
	{
		var tagGroup = tagMetaData.split(":")[1];
		
		// show the tagcloud but ony with the group tags
		updateTagCloudWithGroup(tagGroup);
	}
	else
	{*/
	getTags(activeTags);
	//}


}


function tagFilter(tag)
{

	var clearTag = "";
	if (pageType == "stores")
	{
		if (tag.metaData == "cit")
		{
			//clearTag = tag.metaData;
			activeTags = new Array();
			usedTagsArray = new Array();
			activeTagsUsedArray = new Array();
			//activeTags.push(tag.id);
		}
		if (tag.metaData == "cou")
		{
			//clearTag = tag.metaData;
			activeTags = new Array();
			usedTagsArray = new Array();
			activeTagsUsedArray = new Array();
			//activeTags.push(tag.id);
		}
	}
	
	if (clearTag != "")
	{
		var newTags = new Array();
		for(var i = 0; i < activeTags.length; i++)
		{
			var tagItem = tagObjectList[activeTags[i] + ""];
			tagItem.metaData;
			tagItem.name;
			if (tagItem.metaData != clearTag) newTags.push(activeTags[i]);
		}
		activeTags = newTags;
	}
}



function showPath()
{	
	breadCrumbContainer.innerHTML = breadCrumbStartContent + "<span class=\"breadCrumbSeparator\">&raquo;</span>";
	hasGender = false;
	for(var i = 0; i < activeTags.length; i++)
	{
		//var tagItem = tagsXml.selectSingleNode("//ta[@id=\"" + activeTags[i] + "\"]")
		//var tagItem = XPath.selectSingleNode("//ta[@id=\"" + activeTags[i] + "\"]", tagsXml);
		var tagItem = tagObjectList[activeTags[i]];
		var tagName = tagItem.name;
		if (i < activeTags.length - 1)
			breadCrumbContainer.innerHTML += "<a href=\"javascript: removeTags('" + activeTags[i] + "');\" class=\"activeColour\">" + tagName + "</a> &raquo; ";
		else
			breadCrumbContainer.innerHTML += "" + tagName + "";
			
		var metaData = tagItem.metaData;
		if (metaData == "sex") hasGender = true;
	}
}



function getTags(tags)
{
	var tagsListWithMetaData = new Array();
	var tagPath = new Array();
	for(var i = 0; i < tags.length; i++)
	{
		//var tagItem = tagsXml.selectSingleNode("//ta[@id=\"" + tags[i] + "\"]");
		//var tagItem = XPath.selectSingleNode("//ta[@id=\"" + tags[i] + "\"]", tagsXml);
		var tagItem = tagObjectList[tags[i]];
		var metaData = tagItem.metaData;
		
		// dont use the grp tag as a tag that gets products
		/*if (metaData.indexOf("grp:") == -1)
		{
			var tagName = tagItem.name;
			tagName = tagName.replace(/\+/gi, "^^");
			tagsListWithMetaData.push(tags[i] + ":" + escape(tagName) + ":" + metaData);
			tagPath.push(tags[i]);
		}*/
	}
	// get tag cloud 
	// updated 090111: removed the call to the cloud and add the direct call to the products
	// get products updated 090310 so that storelocator works again
	if (pageType == "stores")
	{
		ajaxReadWithCallBack(cloudTagXml + "?type=" + pageType + "&cloud=" + (tagPath.length > 0 ? tagPath.join("_") : cloudRoot) + "&seed=" + Math.round(Math.random() * 1000000) + previewId, cloudXmlLoaded, tags);
	}
	else
		getProducts(tags);
}


function getProducts(tags, currentMetaData)
{

	var tagsListWithMetaData = new Array();
	var tagPath = new Array();
	for(var i = 0; i < tags.length; i++)
	{
		//var tagItem = tagsXml.selectSingleNode("//ta[@id=\"" + tags[i] + "\"]");
		var tagItem = tagObjectList[tags[i]];
		var metaData = tagItem.metaData;
		//var tagItem = XPath.selectSingleNode("//ta[@id=\"" + tags[i] + "\"]", tagsXml);
		//var metaData = tagItem.getAttribute("metadata");
		
		// dont use the grp tag as a tag that gets products
		if (metaData.indexOf("grp:") == -1)
		{
			var tagName = tagItem.name;
			tagName = tagName.replace(/\+/gi, "^^");
			tagsListWithMetaData.push(tags[i] + ":" + tagName + ":" + metaData);
			tagPath.push(tags[i]);
		}
	}
	
	// updated 090111: we change the request to return tags always and comment out the old request
	// but we only get all tags if there is at leats one tag in the request
	var getTagsFlag = tags.length > 0;
	
	// get products updated 090310 so that storelocator works again
	if (pageType == "stores")
		ajaxReadWithCallBack(productsXmlUrl + "?tags=" + tagsListWithMetaData.join("|") + "&gettags=" + adminMode + "&seed=" + Math.round(Math.random() * 1000000) + previewId, productsXmlLoaded);
	else
		ajaxReadWithCallBack(productsXmlUrl + "?tags=" + tagsListWithMetaData.join("|") + "&gettags=" + getTagsFlag + "&currentMetaData=" + currentMetaData + "&seed=" + currentSeed + previewId, productsXmlLoaded);
	
	// get products
	
	
}


function removeTags(tag)
{
	var foundTag = false;
	var tempNewTagList = new Array();
	for(var i = 0; i < activeTags.length; i++)
	{
		
		if (!foundTag)
		{
			tempNewTagList.push(activeTags[i]);
		}
		else
		{
			activeTagsUsedArray["" + activeTags[i]] = "undefined";
		}
		
		if (activeTags[i] == tag)
		{
			foundTag = true;
		}
	}
	activeTags = tempNewTagList;
	
	// set the acitve tag to the last tag in the list
	activeTagId = activeTags.length > 0 ? activeTags[activeTags.length - 1] : -1;
	showPath();
	getTags(activeTags);
	
}

function clearAll(newTag)
{
	activeTags = new Array();
	activeTagsUsedArray = new Array();
	usedTagList = new Array();
	hasGender = false;
	
	// reset the acitve tag
	activeTagId = -1;
	
	if (newTag + "" != "undefined")
	{
		activeTags.push(newTag + "");
	}
	
	getTags(activeTags);
	breadCrumbContainer.innerHTML = breadCrumbStartContent;
}


function productsXmlLoaded(xml)
{	
	colletionXml = xml; 
	
	if (adminMode) 
	{
		displayCloud(xml);
	}
	displayItems();
	
	//var products = getListOfProducts();
	pagingIndex = 0;
	itemsPage(0);
	
	// updated 090111: we call the channels function to hide all unactive tags, ie all tags that dont have any products
	//updateChannelsTags(xml);
}


function cloudXmlLoaded(xml, tags)
{
	currentTagXml = xml;
	if (!adminMode) 
	{
		// OBS!!!!!!!!!!!!!!!!!!!!
		// för att detta ska fungera rätt så måste vi ladda nuvarande taggar och lägag dem i ett xml document som v fyler på för varje ny laddnig
		displayCloud(xml);
	}

	var tagItem = XPath.selectSingleNode("//ta[@id=\"" + activeTagId + "\"]", tagsXml);
	var tagMetaData = tagItem != null ? tagItem.getAttribute("metadata") : "x";


	//now we get all products form the server, if its not a cloud tag
	getProducts(tags);
}


function tagsXmlLoaded(xml)
{
	/*loadTagList = true;
	tagsXml = xml; 
	getTags(activeTags);*/
}



function addTagsToList(xml)
{
	var newTagList = XPath.selectNodes("//ta", xml);
	//var root = XPath.selectSingleNode("//root", tagsXml);

	if (tagObjectList + "" == "undefined") tagObjectList = new Array();
	for(var i = 0; i < newTagList.length; i++)
	{
		var tagItem = newTagList[i];
		var newTagId = tagItem.getAttribute("id");
		//var tagItemOnList = XPath.selectSingleNode("//ta[@id=\"" + newTagId + "\"]", tagsXml);
	
		if (tagObjectList[newTagId] == null)
		{
			//var newTag = tagsXml.createElement("ta");
			var nameString = tagItem.childNodes[0] != null ? tagItem.childNodes[0].nodeValue : "";
			//var newName = tagsXml.createTextNode(nameString);
			//newTag.innerHTML = tagItem.childNodes[0].nodeValue;
			//newTag.appendChild(newName);
			//newTag.childNodes[0].nodeValue = "tjena";
			//newTag.setAttribute("id", newTagId);
			var size = (tagItem.getAttribute("size") != null) ? tagItem.getAttribute("size") : "";
			//newTag.setAttribute("metadata", tagItem.getAttribute("metadata"));
			var tagObject = new TagObject(newTagId, nameString, tagItem.getAttribute("metadata"), size);
			if (pageType == "stores") tagObjectList[newTagId + ""] = tagObject;
			//root.appendChild(tagItem);
		
		}
	}
	
}


// process and display tags
function displayCloud(xml)
{
	

	/*if (tagsXml == null) 
	{
		tagsXml = xml;
	}
	else
	{*/
		addTagsToList(xml);
	//}
	
	
	//var productsTags = colletionXml.selectNodes("//ta");
	var productsTags = XPath.selectNodes("//ta", xml);
	
	document.getElementById("tagCloud").innerHTML = "";
	
	var tagsToUse = new Array();
	
	// check the highest rank and if there are any tags that should be used
	var usedTagList = new Array();

	
	for(var i = 0; i < productsTags.length; i++)
	{
		var tagId = productsTags[i].getAttribute("id");

		var tagItem = tagObjectList[tagId];
		//var tagItem = XPath.selectNodes("//ta[@id=\"" + tagId + "\"]", tagsXml)[0];
		var visible = (productsTags[i].getAttribute("v") == "1") || (productsTags[i].getAttribute("v") == null);

		if ((tagItem != null) && (visible))
		{
	
			if ((usedTagList[tagId + ""] + "" == "undefined") && (activeTagsUsedArray["" + tagId] + "" == "undefined"))
			{
				
				//var rank = parseInt(tagItem);
				
				//var metaData = tagItem.getAttribute("metadata");
				//if (tagItem.metaData == "clr") 
				//{
					//rank = rank > 10 ? 10 : rank;
					//tagItem.setAttribute("rank" ,rank);
				//}
				
				//var tagName = tagItem.name; //tagItem.childNodes[0] != null ? tagItem.childNodes[0].nodeValue : "[" + tagId + "]";
				//var newTagObject = new TagObject(tagId, tagName, rank, metaData);

				tagsToUse.push(tagItem);
				
				usedTagList[tagId + ""] = "used";

			}
		}
	}
	

	// check if all tags have the same rank
	/*var oldTagRank = tagsToUse.length > 0 ? tagsToUse[0].rank : 0;
	var allTagsSameRank = true;
	for (var i = 0; i < tagsToUse.length; i++)
	{
		if (oldTagRank != tagsToUse[i].rank)
		{
			oldTagRank = tagsToUse[i].rank;
			allTagsSameRank = false;
		}
	}*/

	//newTagsToUse = tagsToUse.sort(sortTags);
	
	var maxRank = 0;
	var minRank = 10000;
	
	var newTagsToUse = new Array();
	//var maxTags = 13;

	for(var i = 0; (i < tagsToUse.length); i++)
	//for(var i = 0; ((i < tagsToUse.length) && (i < maxTags)); i++)
	{
		var showTag = true;
		if ((tagsToUse[i].metaData == "sex") && (hasGender))
		{
			showTag = false;
		}
		if (showTag)
		{
			newTagsToUse.push(tagsToUse[i]);
			//if (maxRank < tagsToUse[i].rank) maxRank = tagsToUse[i].rank;
			//if (minRank > tagsToUse[i].rank) minRank = tagsToUse[i].rank;
		}

	}
	
	newTagsToUse = newTagsToUse.sort(sortTagsByName);
	tagsToUse = newTagsToUse;
	//var highestRank = maxRank - minRank;
	

	// this contains the reference to the div we put all tags in
	var tagCloudRef = document.getElementById("tagCloud");
	
	for(var i = 0; i < tagsToUse.length; i++)
	{
		/*var percentage = (tagsToUse[i].rank - minRank) / highestRank;
		var size = allTagsSameRank ? 1.0 : (percentage * 2 + .4);
		size = size < 1.2 ? 1.2 : size;*/
		
		// OBS! detta har vi gjort för samma storlek på alla
		var size = 1.2;
		if (tagsToUse[i].metaData == "cat")
		{
			size = 1.7;
		}
		
		// check if tag exists in current cloud when in edit mode
		var existInCloudClass = "";
		var existsInCloud = false;
		if (adminMode)
		{
			existsInCloud = XPath.selectSingleNode("//ta[@id=\"" + tagsToUse[i].id + "\"]", currentTagXml) != null;
			existInCloudClass = existsInCloud? " tagAdminExists" : "";
		}
		
		var tagName = tagsToUse[i].name;
		var classForTagLink = usedTagsArray[tagsToUse[i].id + ""] + "" == "undefined" ? "" : " tagLink";
		var tagHTML = "";
		tagHTML += "<div class=\"tag\">";
		tagHTML += "<a name=\"tagItem\" id=\"tag" + tagsToUse[i].id + "\" style=\"font-size: " + size + "em;\" href=\"javascript: ";
		if (adminMode)
		{
			tagHTML += "switchTag('" + tagsToUse[i].id + "');\" " ;
			tagHTML += existsInCloud ? " marked=\"true\" " : "";
			tagHTML += " lid=\"" + tagsToUse[i].id + "\" ";
		}
		else
		{
			tagHTML += "openTag('" + tagsToUse[i].id + "');\"";
		}
		tagHTML += " class=\"" + classForTagLink + existInCloudClass + "\" ";
		tagHTML += " m=\"" + tagsToUse[i].metaData + "\"";
		tagHTML += ">";
		tagHTML += tagName;
		tagHTML += "</a></div>";
		tagCloudRef.innerHTML += tagHTML;
		
	}
	
	//itemsPage(0);
	
}

function switchTag(id)
{
	var tagAnchor = document.getElementById("tag" + id);
	var isMarked = tagAnchor.getAttribute("marked") == "true";
	if (isMarked)
	{
		tagAnchor.setAttribute("marked", "false");
		tagAnchor.className = "";
	}
	else
	{
		tagAnchor.setAttribute("marked", "true");
		tagAnchor.className = "tagAdminExists";
	}
	
}


function sortTags(object1, object2)
{
	return object2.rank - object1.rank;
}
		
		
function sortTagsByName(object1, object2)
{
	var ob1String = object1.name != "" ? object1.name : " ";
	var ob2String = object2.name != "" ? object2.name : " ";
	return ob1String.charCodeAt(0) - ob2String.charCodeAt(0);
}


function removeLinksFromTagList()
{
	var tagCloudDiv = document.getElementById("tagCloud");
	for(var i = 0; i < tagCloudDiv.childNodes.length; i++)
	{
		var a = tagCloudDiv.childNodes[i].childNodes[0];
		a.href = "javascript: void(0);";		
	}
}

TagObject = function(id, name, metaData, size)
{
	this.id = id;
	this.name = name;
	//this.rank = rank;
	this.metaData = metaData;
	this.size = size;
}





// open a product and show its info. the second variable is the colour the user choosed
function openItem(id, variationId)
{
	initProductId = "";
	markItem("item_" + id + "_" + variationId)
	if (activeItemId != id)
	{
		activeItemId = id;
		document.getElementById("realContent").style.display = "none";
		document.getElementById("loadingInfo").style.display = "block";
		if (hideItemContent + "" != "undefined") hideItemContent();
		ajaxReadWithCallBack("/public/io/productxml.aspx?id=" + id + previewId, productIsLoaded, variationId);
	}
	else
	{
		showVariant(variationId);
	}
	
}

// mark which object is active and which is not
function markItem(idString)
{
	var itemRef = document.getElementById(activeProductIdString + "_marker");
	if (itemRef != null)
	{
		itemRef.parentNode.removeChild(itemRef);
	}
	
	activeProductIdString = idString;
	var itemContainerRed = document.getElementById(activeProductIdString);
	
	if (itemContainerRed!= null)
	{
		var newMarker = document.createElement("div");
		newMarker.style.position = "relative";
		newMarker.id = activeProductIdString + "_marker";
		newMarker.innerHTML = "<div class=\"itemMarker activeColour\"\"> </div>";
		
		itemContainerRed.appendChild(newMarker);
	}
}

function getListOfProducts()
{
	var products = pageType == "collection" ? XPath.selectNodes("//p", colletionXml) : XPath.selectNodes("//d", colletionXml);
	return products;
}



function closeBigImage()
{
	var bigImageContainer = document.getElementById("bigImageContainer");
	bigImageContainer.style.display = "none";
	//document.body.style.overflow = "visible";
}


// this takes care of how many items we should show at once
function setNumberOfItemsToShow(count)
{
	//var products = colletionXml.selectNodes("//p");
	
	var products = getListOfProducts();
	
	maxItems = parseInt(count);
	if (maxItems - itemsIndex > products.length - itemsIndex)
	{
		itemsIndex =  (products.length - maxItems) < 0 ? 0 : products.length - maxItems;
	}

	if (pageType == "collection") document.getElementById("productListWrapper").style.height = (maxItems / 8 * 73) + "px";
	
	displayItems();
	
	
	
	setCookie("maxItems" + pageType, count, 2000, "/")
}

function itemsPage(index)
{
	itemsIndex = index * maxItems;

	displayItems();
	
	//var products = colletionXml.selectNodes("//p");
	var products = getListOfProducts();
	
	if (products.length > 0)
	{
		var item = products[itemsIndex];
		//var id = item.selectSingleNode("b").getAttribute("id");
		
		var itemNode = XPath.selectSingleNode("b", item);
	
		if (itemNode != null)
		{
			var id = itemNode.getAttribute("id");
			setTimeout("openItem('" + item.getAttribute("id") + "', '" + id + "');", 200);
		}
	}
	
	setNextAndPrevoiusPagingLinks();
}

function navigateItemsPage(addFactor)
{

	var products = getListOfProducts();
	var nrOfPages = Math.ceil(products.length / maxItems);

	var currentPage = Math.ceil(itemsIndex / maxItems);
	currentPage += addFactor;
	if (currentPage > nrOfPages - 1) currentPage = nrOfPages - 1;
	if (currentPage < 0) currentPage = 0;	
	
	if (pagingIndex + 10 == currentPage) 
	{
		pagingIndex += 10;
		displayPaging();
	}
	
	if (pagingIndex - 1 == currentPage) 
	{
		pagingIndex -= 10;
		if (pagingIndex < 0) pagingIndex = 0;
		displayPaging();
	}

	itemsPage(currentPage);		
}

function setNextAndPrevoiusPagingLinks()
{
	//var products = XPath.selectNodes("//p", colletionXml);
	var products = getListOfProducts();
	var nrOfPages = Math.ceil(products.length / maxItems) - 1;
	var currentPage = Math.ceil(itemsIndex / maxItems);

	//document.getElementById("debug").innerHTML = "currentPage = " + currentPage + "<br/>";
	//document.getElementById("debug").innerHTML += "nrOfPages = " + nrOfPages + "<br/>";
	//document.getElementById("debug").innerHTML += "bool = " + (currentPage == nrOfPages) + "<br/>";
	
	var nextRef = document.getElementById("pagingNextContainer");
	nextRef.innerHTML = ((currentPage == nrOfPages) || (nrOfPages = 0)) ? "&raquo;" : '<a href="javascript: navigateItemsPage(1);" class="activeColour">&raquo;</a>';
	
	var prevoiusRef = document.getElementById("pagingPreviousContainer");
	prevoiusRef.innerHTML = (currentPage == 0) ? "&laquo;" : '<a href="javascript: navigateItemsPage(-1);" class="activeColour">&laquo;</a>';
}


function toogleProductTags()
{
	showProductTags = !showProductTags;
	document.getElementById("productTags").style.display = showProductTags ? "block" : "none";
}




// creates the nagitational items for the paging
function displayPaging(total)
{
	var pagingItemsContainer = document.getElementById("pagingItemsContainer");
	var pagingNextContainer = document.getElementById("pagingNextContainer");
	
	pagingItemsContainer.innerHTML = "";
	nrOfPages = Math.ceil(total / maxItems);
	currentPage = Math.ceil(itemsIndex / maxItems);

	if (nrOfPages == 0)
	{
		pagingItemsContainer.innerHTML = 1;
	}
	else
	{
	
	
		for(var i = pagingIndex; (i < nrOfPages) && (i < pagingIndex + 10); i++)
		{
			var pagingItemSpan = document.createElement("span");
			pagingItemSpan.className = "pagingItemSpan";
			if (currentPage == i)
			{
				pagingItemSpan.innerHTML = i + 1;
			}
			else
			{
				var pagingItem = document.createElement("a");
				pagingItem.innerHTML = i + 1;
				pagingItem.href = "javascript: itemsPage(" + i + ");";
				pagingItem.className = "pagingItem activeColour";
				pagingItemSpan.appendChild(pagingItem);
			}
			pagingItemsContainer.appendChild(pagingItemSpan);
		}
	}
	
	
}


// get a lemoonpage trough its id
function openExplorePage(id, tags)
{
	jQuery(".linklistHeaderLi .ciActive").removeClass("ciActive");
	jQuery.get("/public/io/getexplorepage.aspx?id=" + id, showExplorePage);
	jQuery(".exploreInfo").html("Loading...");
	jQuery(".linklistHeaderLi li a[onclick='openExplorePage(" + id + ");']").addClass("ciActive");
}

// show the choosen explore page
function showExplorePage(xml)
{
	var lemoonId = XPath.selectSingleNode("//id", xml).childNodes[0].nodeValue
	var content = XPath.selectSingleNode("//content", xml).childNodes[0].nodeValue;
	jQuery(".exploreInfo").html(content);
}