﻿var eventOngoingBody = document.getElementById("eventOngoingBody");
eventOngoingBody.style.backgroundColor = "#e8e1d5";
eventOngoingBody.style.width = "160px";
//This is to add a margin that is cross browser compatible
var eventBlock = document.createElement('div');
eventOngoingBody.appendChild(eventBlock);
eventBlock.style.width = "150px";
eventBlock.style.position = "relative";
eventBlock.style.left = "5px";
eventBlock.style.top = "-5px";
eventBlock.innerHTML = "<h4>Ongoing Events</h4>&nbsp;Loading...";

wsEvent.wsEventOnging(addEventsOngoingSuccess, addEventsOngoingFail);

function addEventsOngoingSuccess(result) {
	
	var totalEventCountLoop = result.getElementsByTagName("e").length;
	eventBlock.innerHTML = "<h4>Ongoing Events</h4>";
	
	//Event Items
	for (i = 0; i < totalEventCountLoop; i++) {

		var eventBlockThingy = document.createElement('div');
		eventBlock.appendChild(eventBlockThingy);
		eventBlockThingy.style.backgroundColor = "#D9D0C4";
		eventBlockThingy.innerHTML = "<b>" + result.getElementsByTagName("t")[i].childNodes[0].nodeValue + "</b><br />";

		//Library link
		var libraryLink = document.createElement('a');
		eventBlock.appendChild(libraryLink);
		libraryLink.href = "?pageId=" + result.getElementsByTagName("w")[i].childNodes[0].nodeValue;
		libraryLink.innerHTML = result.getElementsByTagName("l")[i].childNodes[0].nodeValue;

		var descriptionText = document.createElement('div');
		eventBlock.appendChild(descriptionText);
		descriptionText.id = i + "eventOngiongDesc";
		descriptionText.className = "onGoingDescBlock"
		descriptionText.innerHTML = "<br />" + result.getElementsByTagName("d")[i].childNodes[0].nodeValue ;

		//alert(descriptionText.scrollHeight);

		if (descriptionText.scrollHeight > 80) {
			var moreDesc = document.createElement('div');
			eventBlock.appendChild(moreDesc);
			moreDesc.className = "onGoingDescMore";
			moreDesc.innerHTML = "More ";
			moreDesc.id = i + "eventOngiongDescMore";
			moreDesc.onmouseover = function () { moreDescOver(this); };
			moreDesc.onmouseout = function () { moreDescOut(this); };
			moreDesc.onmousedown = function () { moreDescOpen(this); };
			moreDescImg = document.createElement('img');
			moreDesc.appendChild(moreDescImg);
			moreDescImg.id = i + "eventOngiongDescMoreImg";
			moreDescImg.src = "image/UI/OpenCloseButtonDown.gif";
			moreDescImg.style.position = "relative";
			moreDescImg.style.top = "3px";
		}
	};

}; // addEventsSuccess

function addEventsOngoingFail() {
	eventOngoingBody.innerHTML = "<h6>Ongoing Events</h6>Failed to Load";
};

function moreDescOver(domObj) {
	var ongoingDomId = domObj.id.replace("eventOngiongDescMore", "");
	domObj.className = "onGoingDescMoreOver";
	var imgElem = document.getElementById(ongoingDomId + "eventOngiongDescMoreImg");
	imgElem.src = "image/UI/OpenCloseButtonDownOver.gif";
}

function moreDescOut(domObj) {
	var ongoingDomId = domObj.id.replace("eventOngiongDescMore", "");
	domObj.className = "onGoingDescMore";
	var imgElem = document.getElementById(ongoingDomId + "eventOngiongDescMoreImg");
	imgElem.src = "image/UI/OpenCloseButtonDown.gif";
}

function moreDescOpen(domObj) {
	domObj.className = "onGoingDescMoreOver";
	var ongoingDomId = domObj.id.replace("eventOngiongDescMore", "");
	var descH = document.getElementById(ongoingDomId + "eventOngiongDesc").scrollHeight;
	var pxPerFrame = Math.round((descH - 10) / 10);	
	animationOpenDesc(ongoingDomId, pxPerFrame, 1);
}

function animationOpenDesc(ongoingDomId, pxPerFrame, frameNum) {
	if (frameNum < 12) {
		var domObj = document.getElementById(ongoingDomId + "eventOngiongDesc");
		domObj.style.height = ((frameNum * pxPerFrame) + 80) + "px";
		frameNum++;
		setTimeout("animationOpenDesc(" + ongoingDomId + "," + pxPerFrame + "," + frameNum + ")", 20);
	} else {
		var domObj = document.getElementById(ongoingDomId + "eventOngiongDescMore");
		domObj.innerHTML = "Less ";
		moreDescImg = document.createElement('img');
		domObj.appendChild(moreDescImg);
		moreDescImg.id = ongoingDomId + "eventOngiongDescLessImg";
		moreDescImg.src = "image/UI/OpenCloseButtonUp.gif";
		moreDescImg.style.position = "relative";
		moreDescImg.style.top = "3px";
		domObj.onmouseover = function () { lessDescOver(this); };
		domObj.onmouseout = function () { lessDescOut(this); };
		domObj.onmousedown = function () { lessDescClose(this); };
	}
}

function lessDescOver(domObj) {
	var ongoingDomId = domObj.id.replace("eventOngiongDescMore", "");
	domObj.className = "onGoingDescMoreOver";
	var imgElem = document.getElementById(ongoingDomId + "eventOngiongDescLessImg");
	imgElem.src = "image/UI/OpenCloseButtonUpOver.gif";
}

function lessDescOut(domObj) {
	var ongoingDomId = domObj.id.replace("eventOngiongDescMore", "");
	domObj.className = "onGoingDescMore";
	var imgElem = document.getElementById(ongoingDomId + "eventOngiongDescLessImg");
	imgElem.src = "image/UI/OpenCloseButtonUp.gif";
}

function lessDescClose(domObj) {
	domObj.className = "onGoingDescMoreOver";
	var ongoingDomId = domObj.id.replace("eventOngiongDescMore", "");
	var descH = document.getElementById(ongoingDomId + "eventOngiongDesc").scrollHeight;
	var pxPerFrame = Math.round((descH - 10) / 10);
	animationCloseDesc(ongoingDomId, pxPerFrame, 11);
}

function animationCloseDesc(ongoingDomId, pxPerFrame, frameNum) {
	if (frameNum > 0) {
		var domObj = document.getElementById(ongoingDomId + "eventOngiongDesc");
		domObj.style.height = ((frameNum * pxPerFrame) + 80) + "px";
		frameNum--;
		setTimeout("animationCloseDesc(" + ongoingDomId + "," + pxPerFrame + "," + frameNum + ")", 20);
	} else {

		var domObj = document.getElementById(ongoingDomId + "eventOngiongDescMore");
		domObj.innerHTML = "More ";
		moreDescImg = document.createElement('img');
		domObj.appendChild(moreDescImg);
		moreDescImg.id = ongoingDomId + "eventOngiongDescMoreImg";
		moreDescImg.src = "image/UI/OpenCloseButtonDown.gif";
		moreDescImg.style.position = "relative";
		moreDescImg.style.top = "3px";
		domObj.onmouseover = function () { moreDescOver(this); };
		domObj.onmouseout = function () { moreDescOut(this); };
		domObj.onmousedown = function () { moreDescOpen(this); };
	}
}


