﻿function getHeadline() {
	try {
		setNewsContent("<p><font size='+2' color='#999999'><b>資料讀取中‧‧‧</b></font></p>");
		var url2 = "page_xml/getNewsHeadline.asp";
		var args2 = "Headline";
		ajaxFetchNewsDetails(url2, args2, 1);
	}
	catch(e) {
		alert(e);
	};
	
	try {
		setColContent("<p><font size='+2' color='#999999'><b>資料讀取中‧‧‧</b></font></p>");
		var url1 = "page_xml/getColHeadline.asp";
		var args1 = "COL0001";
		ajaxFetchColDetails(url1, args1,  1)
	}
	catch(e) {
		alert(e);
	};
}

function getXmlHttpObject() {
	var req = null;
	try {
		// Firefox, Opera 8.0+, Safari
		req = new XMLHttpRequest();
	}
	catch(e) {
		// Internet Explorer
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return req;
}

// retrieves data from server via ajax
function ajaxFetchColDetails(url, param, isXML) {
	//Enable AJAX privilege under FireFox for testing
	var req1 = getXmlHttpObject();

	if(req1 == null) {
		alert("Your browser does not support AJAX!");
		return;
	}

	req1.onreadystatechange = function() {
		if(req1.readyState == 4) {
			if(req1.status == 200) {
				if(isXML && (xml = req1.responseXML) != null) {
					var getNodeText = function(nodeName) {
						var nodes = xml.getElementsByTagName(nodeName);
						if(nodes.length > 0) {
							return nodes[0].childNodes[0].nodeValue;
						}
						else {
							return null;
						}
					}
					
					var str_Title = getNodeText("CTitle");
					str_Title = str_Title.replace(/\+/g, " ");
					try {
						str_Title = unescape(decodeURI(str_Title));
					} catch(e) {
						alert(e);
					};
					
					var str_Content = getNodeText("CContent");
					str_Content = str_Content.replace(/\+/g, " ");
					try {
						str_Content = unescape(decodeURI(str_Content));
					} catch(e) {
						alert(e);
					};
					
					var html = "<p><b><u><font size='+1'>C觀點：" + str_Title + "</font></u></b></p>" + "<p><a href='col_cview.asp'>" + str_Content.substring(0, 100) + "......(詳細)</a></p>";
					setColContent(html);
				}
				else {
					setColContent("<p>資料格式錯誤！</p>");
				};
			}
			else {
				// fetched the wrong page or network error...
				var err = "Error: " + req1.status;
				alert(err);
				setColContent("<p>網絡讀取錯誤！</p>");
			}
		}
	};
	req1.open("GET", url + "?nid=" + escape(param), true);
	req1.send(null);
}

function setColContent(data) {
	document.getElementById("col_content").innerHTML = data;
}

// retrieves data from server via ajax
function ajaxFetchNewsDetails(url, param, isXML) {
	var req2 = getXmlHttpObject();
	
	if(req2 == null) {
		alert("Your browser does not support AJAX!");
		return;
	}

	var x =0;
	req2.onreadystatechange = function() {
		if(req2.readyState == 4) {
			if(req2.status == 200) {
				if(isXML && (xml = req2.responseXML) != null) {
					var getNodeText = function(nodeName) {
						var nodes = xml.getElementsByTagName(nodeName);
						if(nodes.length > 0) {
							return nodes[0].childNodes[0].nodeValue;
						}
						else {
							return null;
						}
					}
					
					var str_nid = getNodeText("NID");
					var str_Date = getNodeText("CPubDate");
					var str_Section = getNodeText("CSec");	
					
					var str_Title = getNodeText("CTitle");
					str_Title = str_Title.replace(/\+/g, " ");
					try {
						str_Title = unescape(decodeURI(str_Title));
					} catch(e) {
						alert(e);
					};

					var str_Content = getNodeText("CContent");
					str_Content = str_Content.replace(/\+/g, "  ");
					try {
						str_Content = unescape(decodeURI(str_Content));
					} catch(e) {
						alert(e);
					};
					
					var html = "<p><br /><font size='+2'><b>" + str_Title + "</b></font><br />(" + str_Date + ")<br />" + "<a href='old_issues_details.asp?id=" + str_Date.substring(0, 4) + str_Date.substring(5, 7) + str_Date.substring(8, 10) + "&sec=headline&nid=" + str_nid + "'>" + str_Content.substring(0, 130) + "......(詳細)</a></p>";
					setNewsContent(html);
				}
				else {
					setNewsContent("<p>資料格式錯誤！</p>");
				}
			}
			else {
				// fetched the wrong page or network error...
				var err = x + " = Error: " + req.status;
				//alert(err);
				setNewsContent("<p>網絡讀取錯誤！</p>");
			}
		}
		x = x + 1;
	}
	req2.open("GET", url + "?code=" + escape(param), true);
	req2.send(null);
}

function setNewsContent(data) {
	document.getElementById("news_content").innerHTML = data;
}