﻿function setStyle(obj, styleStr){
	var styles = styleStr.split(";");
	var key, value;
	for(var i = 0; i < styles.length; i++){
		key = styles[i].substring(0, styles[i].indexOf(":"));
		value = styles[i].substring(styles[i].indexOf(":") + 1);
		obj.style[key] = value;
	}
}
function setAttribute(obj, attrStr){
	var attrs = attrStr.split(";");
	var key, value;
	for(var i = 0; i < attrs.length; i++){
		key = attrs[i].substring(0, attrs[i].indexOf(":"));
		value = attrs[i].substring(attrs[i].indexOf(":") + 1);
		obj[key] = value;
	}
}
function createHTMLTag(tagName, innerHTML, attribute, style, parentObj){
	var element = document.createElement(tagName);
	if(innerHTML)
		element.innerHTML = innerHTML;
	if(attribute)
		setAttribute(element, attribute);
	if(style)
		setStyle(element, style);
	if(parentObj)
		parentObj.appendChild(element);
	return element;
}
function show(id, url, popular, container, entryNumber){
	var feed = new google.feeds.Feed(url);
	feed.setNumEntries(entryNumber);
	var handler = function(result){
		if(!result.error){
			var title;
			if(id > 0){
				container.firstChild.innerHTML = "";
				result.feed.title = result.feed.title.replace(":: 痞客邦 PIXNET ::", "");
				title = createHTMLTag("a", result.feed.title, "href:" + result.feed.link + ";target:_blank;id:" + id, "color:#000000", container.firstChild);
				title.onmousedown = updatePopular;
			}
			var table = createHTMLTag("table", null, null, "table-layout:fixed;width:100%", container.lastChild.previousSibling);
			var row, cell, date, title;
			var today = new Date();
			for(var i = 0; i < result.feed.entries.length && i < entryNumber; i++){
				var entry = result.feed.entries[i];
				date = new Date(entry.publishedDate);
				row = table.insertRow(-1);
				cell = row.insertCell(-1);
				title = createHTMLTag("div", null, "id:" + id, "wordBreak:break-all;overflow:hidden;height:20px", cell);
				if(id > 0)
					title.onmousedown = updatePopular;
				if(today.getYear() == date.getYear() && today.getMonth() == date.getMonth() && today.getDate() == date.getDate())
					title.style.fontWeight = "bold";
				createHTMLTag("a", entry.title.replace("@", ""), "href:" + entry.link + ";target:_blank", "color:#000000", title);
				cell = row.insertCell(-1);
				cell.width = "70";
				cell.style.color = "#555555";
				cell.innerHTML = (date.getMonth()+1) + "/" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes();
				if(id > 0 && (today.getTime() - date.getTime()) < 3600000){
					updateArticle(entry.title, entry.link, date.getTime());
				}
			}
			if(id > 0){
				createHTMLTag("span", "熱門指數：", null, "color:#aa0000", container.lastChild);
				createHTMLTag("span", popular, null, null, container.lastChild);
				var chartLink = createHTMLTag("a", "詳細資訊", "className:detail;target:_top;href:/blog/?id=" + id + "&page=" + page, null, container.lastChild);
			}
		}
	}
	if(id > 0){
		container.style.display = "block";
		container.firstChild.innerHTML = "讀取中……";
	}
	feed.load(handler);
}
function updatePopular(){
	sendRequest("/UpdatePopular", "get", "id=" + this.id + "&page=" + page, null);
}
function updateArticle(title, url, time){
	sendRequest("/UpdateArticle", "post", "title=" + encodeURIComponent(title) + "&url=" + encodeURIComponent(url) + "&time=" + time, null);
}
function join(){
	var u = document.getElementById("url");
	var code = document.getElementById("code");
	if(u.value == "" || code.value == ""){
		alert("請輸入網址和驗證碼");
		return;
	}else if(u.value.indexOf("http://") != 0){
		alert("網址必須以 http:// 開頭");
		return;
	}else if(u.value.length < 15 || u.value.indexOf(".") < 0){
		alert("網址不合法");
		return;
	}else{
		for(var i = 0; i < oldURL.length; i++){
			if(u.value == oldURL[i]){
				alert("請勿重複提交網址");
				return;
			}
		}
	}
	var handler = function(req){
		var result = req.getResponseHeader("result");
		if(result == 0){
			alert("提交成功，請等待站方人員審核相關性。");
			oldURL[oldURL.length] = u.value;
		}else if(result == 1){
			alert("網址必須以 http:// 開頭");
		}else if(result == 2){
			alert("驗證碼輸入錯誤");
		}else{
			alert("資料庫錯誤");
		}
		u.value = "";
		code.value = "";
		document.getElementById("codeimg").src = "/SecureCode?random=" + (new Date()).getTime();
	}
	sendRequest("/Join", "post", "url=" + encodeURIComponent(u.value) + "&code=" + code.value, handler);
}