﻿function getNews(){
	var xmlhttp = false; 
	try	{ 
			xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); 
		} 
		catch(e) 
		{ 
			try 
			{ 
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
			} 
			catch(e2){xmlhttp = false;} 
		} 
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp) return false;
	try{
		xmlhttp.open("GET", "http://www.graphics.pku.edu.cn/news/news.xml", true);
		xmlhttp.onreadystatechange = function (aEvt) {
		  if (xmlhttp.readyState == 4) {
			 if(xmlhttp.status == 200) {
				if (!document.getElementsByTagName) return false;
				var xml = xmlhttp.responseXML;
				var news = xml.getElementsByTagName("news");
				if (news.length == 0) return false;
				var tbody = document.createElement("tbody");
				for (var i=0; i<news.length; i++) {
					var title = news[i].getElementsByTagName("title")[0].firstChild.nodeValue;
					var text = document.createTextNode(title);
					var td = document.createElement("td");
					var links = news[i].getElementsByTagName("link");
					if (links.length == 0) td.appendChild(text);
					else {
						var aLink = document.createElement("a");
						aLink.setAttribute("href",links[0].firstChild.nodeValue);
						aLink.setAttribute("target","_blank");
						aLink.appendChild(text);
					 	td.appendChild(aLink);
					}
					var tr = document.createElement("tr");
					tr.appendChild(td);
					tbody.appendChild(tr);
				}
				if (!document.getElementById("rolltable")) return false;
				var table = document.getElementById("rolltable");
				table.appendChild(tbody);
				if (!document.getElementById("noticeboard")) return false;
				var noticeboard = document.getElementById("noticeboard");
				noticeboard.style.display = "block";
				if (!document.getElementById("rollup")) return false;
				var marquee = document.getElementById("rollup");
				marquee.onmouseout();
			}
			else return false;
		  }
		}
		xmlhttp.send(null);
	}catch (e) {
		return false;
	}
}

function addScrollOnMouse() {
	if (!document.getElementById("rollup")) return false;
	var rollup = document.getElementById("rollup");
	rollup.onmouseover = function() {
		this.stop();
		return false;
	}
	rollup.onmouseout = function() {
		this.start();
		return false;
	}
}

addLoadEvent(getNews);
addLoadEvent(addScrollOnMouse);
