﻿var RecentImageSplashActivator = function(splashElement, nextButtonElement, backButtonElement) {
	SplashActivatorBase.call(this, "~/blog/?ajax=1", splashElement, nextButtonElement, backButtonElement, TimeSpan.fromSeconds(10), true);
	var loadingIcon = new Image(16, 16);
	loadingIcon.src = PathUtility.toAbsolute("~/resource/loading.gif");
	var parsedNodes = new Array();
	this.parseNodeToElement = function(node) {
		var title = String.empty;
		var imageUrl = String.empty;
		var navigateUrl = String.empty;
		var postTime = new Date();
		for (var c = 0; c < node.childNodes.length; c++) {
			if (node.childNodes[c].firstChild == null) continue;
			var innerValue = node.childNodes[c].firstChild.nodeValue;
			switch (node.childNodes[c].nodeName) {
				case "title": title = innerValue; break;
				case "imageUrl": imageUrl = innerValue; break;
				case "navigateUrl": navigateUrl = innerValue; break;
				case "postTime": postTime = new Date(innerValue); break;
			} // switch
		} // for
		var singleElement = this.createSingleElement(title, imageUrl, navigateUrl, postTime);
		parsedNodes.push(singleElement);
		if (parsedNodes.length >= 2) {
			var element2 = parsedNodes.pop();
			var element1 = parsedNodes.pop();
			return this.coupleElements(element1, element2);
		}
		else return null;
	};
	this.createSingleElement = function(title, imageUrl, navigateUrl, postTime) {
		var tableElement = document.createElement("table");
		tableElement.style.width = "150px";
		tableElement.style.height = "150px";
		tableElement.style.border = "1px solid #BFBFBF";
		tableElement.setAttribute("cellspacing", 0);
		var tbodyElement = document.createElement("tbody");
		var trElement = document.createElement("tr");
		var tdElement = document.createElement("td");
		var centerElement = document.createElement("center");
		var aElement = document.createElement("a");
		var imgElement = document.createElement("img");
		var brElement = document.createElement("br");
		tdElement.style.textAlign = "center";
		tdElement.style.verticalAlign = "middle";
		aElement.setAttribute("href", navigateUrl);
		imgElement.style.border = "none";
		imgElement.style.width = "16px";
		imgElement.style.height = "16px";
		imgElement.src = loadingIcon.src;
		imgElement.onload = function() {
			imgElement.style.width = "150px";
			imgElement.style.height = "150px";
		};
		imgElement.src = imageUrl;

		tableElement.appendChild(tbodyElement);
		tbodyElement.appendChild(trElement);
		trElement.appendChild(tdElement);
		tdElement.appendChild(centerElement);
		centerElement.appendChild(aElement);
		aElement.appendChild(imgElement);
		aElement.appendChild(brElement);
		return tableElement;
	};
	this.coupleElements = function(element1, element2) {
		var tableElement = document.createElement("table");
		tableElement.setAttribute("cellspacing", 5);
		var tbodyElement = document.createElement("tbody");
		var trElement = document.createElement("tr");
		var td1Element = document.createElement("td");
		var td2Element = document.createElement("td");
		tableElement.appendChild(tbodyElement);
		tbodyElement.appendChild(trElement);
		trElement.appendChild(td1Element);
		trElement.appendChild(td2Element);
		td1Element.appendChild(element1);
		td2Element.appendChild(element2);
		return tableElement;
	};
};
var StaffIntroSplashActivator = function(splashElement, nextButtonElement, backButtonElement) {
	SplashActivatorBase.call(this, "~/blog/?ajax=2", splashElement, nextButtonElement, backButtonElement, TimeSpan.fromSeconds(6), true);
	var loadingIcon = new Image(16, 16);
	loadingIcon.src = PathUtility.toAbsolute("~/resource/loading.gif");
	var parsedNodes = new Array();
	this.parseNodeToElement = function(node) {
		var displayName = String.empty;
		var accountId = String.empty;
		var message = new Date();
		for (var c = 0; c < node.childNodes.length; c++) {
			if (node.childNodes[c].firstChild == null) continue;
			var innerValue = node.childNodes[c].firstChild.nodeValue;
			switch (node.childNodes[c].nodeName) {
				case "displayName": displayName = innerValue; break;
				case "id": accountId = innerValue; break;
				case "message": message = innerValue; break;
			} // switch
		} // for
		return this.createSingleElement(displayName, accountId, message);
	};
	this.createSingleElement = function(displayName, accountId, message) {

		var tableElement = document.createElement("table");
		tableElement.setAttribute("cellspacing", 0);
		var tbodyElement = document.createElement("tbody");
		var trElement = document.createElement("tr");

		var td1Element = document.createElement("td");
		var td2Element = document.createElement("td");

		var displayNameElement = document.createElement("div");
		var messageElement = document.createElement("div");
		var imgElement = document.createElement("img");
		
		displayNameElement.style.backgroundColor = "#FFFFFF";
		displayNameElement.innerHTML = displayName;
		displayNameElement.className = "title";

		messageElement.style.backgroundColor = "#FFFFFF";
		messageElement.innerHTML = message;
		messageElement.className = "sentence";

		imgElement.style.width = "50px";
		imgElement.style.height = "50px";
		imgElement.style.border = "1px solid #BFBFBF";
		imgElement.src = loadingIcon.src;
		imgElement.src = PathUtility.toAbsolute("~/resource/account" + accountId + ".gif");

		tableElement.appendChild(tbodyElement);
		tbodyElement.appendChild(trElement);
		trElement.appendChild(td1Element);
		trElement.appendChild(td2Element);
		td1Element.appendChild(displayNameElement);
		td1Element.appendChild(messageElement);
		td2Element.appendChild(imgElement);

		return tableElement;
	};

};


Page.addLoadEvent(function() {
	var splashElement1 = document.getElementById("recentImage_splash");
	var nextButtonElement1 = document.getElementById("recentImage_next");
	var backButtonElement1 = document.getElementById("recentImage_back");
	var activator1 = new RecentImageSplashActivator(splashElement1, nextButtonElement1, backButtonElement1);
	activator1.activate();
	var splashElement2 = document.getElementById("staffIntro_splash");
	var nextButtonElement2 = document.getElementById("staffIntro_next");
	var backButtonElement2 = document.getElementById("staffIntro_back");
	var activator2 = new StaffIntroSplashActivator(splashElement2, nextButtonElement2, backButtonElement2);
	activator2.activate();
});

