function Tab(id, color, url) {
	this.id = id;
	this.color = color;
	this.url = url;
}

function TabGroup(tabs, tabcontentcontainer, tablist) { 
	this.tabs = tabs;
	this.tabcontentcontainer = tabcontentcontainer; 
	this.tablist = tablist; 
	this.previoustab = null;
	this.tabobjlinks = new Array();
}


function expandcontent(tabGroup, i, aobject){

	if (document.getElementById) {
		
		//if(i == tabGroup.previoustab) { 
		//	i = 0;
		//}

		highlighttab(tabGroup, i);
		//aobject = document.getElementById(tabs[i].id);
		if (tabGroup.previoustab != null) {
			document.getElementById(tabGroup.tabs[tabGroup.previoustab].id).style.display="none";	
		}
		document.getElementById(tabGroup.tabs[i].id).style.display="block";
		document.getElementById(tabGroup.tabs[i].id).style.fontFamily="Arial, Helvetica, sans-serif";
		document.getElementById(tabGroup.tabs[i].id).style.fontSize="12px";

		if(tabGroup.tabs[i].url != null) doDWZRequest(tabGroup.tabs[i].id, tabGroup.tabs[i].url);

		tabGroup.previoustab = i;
		if (aobject.blur) aobject.blur();

		return false;
	} else {
		return true;
	}
}

function highlighttab(tabGroup, j){	
	for (i=0; i < tabGroup.tabobjlinks.length; i++) {
		tabGroup.tabobjlinks[i].style.backgroundColor = tabGroup.tabs[i].color; 
		tabGroup.tabobjlinks[i].style.fontFamily="Arial, Helvetica, sans-serif";
		tabGroup.tabobjlinks[i].style.fontSize="12px";
	}	
	var themecolor = tabGroup.tabs[j].color;
	document.getElementById(tabGroup.tabcontentcontainer).style.backgroundColor=themecolor;
}

function collecttablinks(tabGroup){
	var tabobj=document.getElementById(tabGroup.tablist);
	tabGroup.tabobjlinks = tabobj.getElementsByTagName("A");
	return tabGroup;
}

function do_onload(tabGroup, i) {
	tabGroup = collecttablinks(tabGroup); 
	expandcontent(tabGroup, i, tabGroup.tabobjlinks[i]);
}


// AJAX code
    function doDWZRequest(cid, url) {
		
		reg = /(xml)|(cgi)|(rss)/;

		if(!reg.test(url)) { 
			document.getElementById(cid).innerHTML = url;
		} else { 

			var http_request = false;

			if (window.XMLHttpRequest) { // Mozilla, Safari,...
				http_request = new XMLHttpRequest();
				if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
					// See note below about this line
				}
			} else if (window.ActiveXObject) { // IE
				try {
					http_request = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						http_request = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {}
				}
			}

			if (!http_request) {
				alert("You need to enable ActiveX control to reate an XMLHTTP instance");
				return false;
			}
			//http_request.setRequestHeader("Content-Type", "text/html; charset=gb2312;");
			http_request.onreadystatechange = function() { loadDWZContent(cid, http_request); };
			var sep = (-1 < url.indexOf("?")) ? "&" : "?"	
			url = url + sep + "__=" + encodeURIComponent((new Date()).getTime());		
			http_request.open('GET', url, true);
			http_request.setRequestHeader("Cache-Control", "no-cache");
			//http_request.setRequestHeader("Content-Type", "text/xml;charset=gb2312");
			//http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		   http_request.send(null);
		}
    }

    function loadDWZContent(cid, http_request) {
        var msg = "";
		if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                //msg = http_request.responseText;
				//msg = http_request.responseStream;
				//alert(msg);


				var xmldata = http_request.responseXML
				if(xmldata.getElementsByTagName("item").length == 0) { 
					//if no <item> elements found in returned content
					msg = "Sorry, the content is not available at this time. Please try again later. ";
				} else {
					items = xmldata.getElementsByTagName("item")
					//Cycle through RSS XML object and store each peice of an item inside a corresponding array
					if(items.length > 1) { 
						for (var i=0; i < items.length; i++) {
							//msg = msg + items[i].getElementsByTagName("title")[0].firstChild.nodeValue + "<BR>";
							if(items[i]) {
								var title = items[i].getElementsByTagName("title")[0];
								var link = items[i].getElementsByTagName("link")[0];
								//var dsc = items[i].getElementsByTagName("description")[0];
								if(title && link) {
									var titleText = getInnerText(title); 
									if(titleText != '') {
										msg = msg + "<a href=\"" + getInnerText(link) + "\" TARGET=\"_blank\">" + getInnerText(title) + "</a><BR>";
									}
								}
							}
							//msg = msg + items[i].getElementsByTagName("description")[0].firstChild.nodeValue + "<BR>";
							//items[i].getElementsByTagName("link")[0].firstChild.nodeValue;
							//msg = items[i].getElementsByTagName("description")[0].firstChild.nodeValue;
							//items[i].getElementsByTagName("pubDate")[0].firstChild.nodeValue;
						}
					} else if(items.length == 1) {
						var dsc = items[0].getElementsByTagName("description")[0];
						msg = msg + getInnerText(dsc);
					}
				}
            } else {
				msg = 'Sorry, the content is not available at this time. Please try again later. ';
            }
        } else {
			msg = "Loading .... Please wait ...";
		}
		document.getElementById(cid).innerHTML = "<FONT CLASS=\"clock\">" + getTimeString() + "</FONT><BR>" + msg;
    }

function getInnerText (node) {
	if (typeof node.textContent != 'undefined') {
		return node.textContent;
	} else if (typeof node.innerText != 'undefined') {
		return node.innerText;
	} else if (typeof node.text != 'undefined') {
		return node.text;
	} else {
		switch (node.nodeType) {
			case 3:
			case 4:
				return node.nodeValue;
				break;
			case 1:
			case 11:
				var innerText = '';
				for (var i = 0; i < node.childNodes.length; i++) {
					innerText += getInnerText(node.childNodes[i]);
				}
				return innerText;
				break;
			default:
			return '';
		}
	}
}

function getTimeString() { 

	var today=new Date;
	
	var date=today.getDate();
	var year=today.getYear();
	var month=today.getMonth()+1;
	var hour = today.getHours();
	var min = today.getMinutes();
	var ap = "AM";

	if(year < 2000) year += 1900

	if(date < 10) date = "0" + date
	if(month < 10) month = "0" + month
	if(hour > 11) { ap = "PM"; }
	if(hour > 12) { hour = hour - 12; }
	if(hour == 0) { hour = 12; }
	if(hour < 10) hour = "0" + hour;
	if(min < 10) min = "0" + min;

	return hour + ":" + min + " " + ap + " " + month + "/" + date + "/" + year;

}


/**
 * extended code for RSS ticking
 */
function RssTickerObject(rssDiv, rssTicker, rssReload) { 
	this.rssDiv = rssDiv; 
	this.rssIndex = 0;
	this.rssItems;
	this.rssTicker = rssTicker; 
	this.rssReload = rssReload;
	this.rssTickerTimer;
}

var rssObj;	// global rss object to use in the HTML page

/***
var rssDiv = "RSS_DIV";		// name of division
var rssTicker = 1000*5;	// 5 seconds ticking
var rssIndex = 0;			// index to display
var rssItems;				// RSS items
var rssReload = 1000*60*10; // 10 minutes reload
var rssTickerTimer;
**/

function initRss() { 
  clearTimeout(rssObj.rssTickerTimer);
  rssObj.rssIndex = 0;
}

function doRssRequest(url) {

	initRss();
	reg = /(xml)|(cgi)|(rss)/;

	if(!reg.test(url)) { 
		document.getElementById(rssDiv).innerHTML = url;
	} else { 
		var http_request = false;
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
				// See note below about this line
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}

		if (!http_request) {
			alert("You need to enable ActiveX control to reate an XMLHTTP instance");
			return false;
		}
		http_request.onreadystatechange = function() { loadRssContent(rssObj, http_request); };
		var sep = (-1 < url.indexOf("?")) ? "&" : "?"	
		url = url + sep + "__=" + encodeURIComponent((new Date()).getTime());		
		http_request.open('GET', url, true);
		http_request.setRequestHeader("Cache-Control", "no-cache");
		http_request.send(null);
	}

	//setTimeout("doRssRequest(rssObj)", rssObj.rssReload);
	setTimeout("doRssRequest('" + url + "')", rssObj.rssReload);
}

function loadRssContent(rssObj, http_request) {
	var msg = "";
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var xmldata = http_request.responseXML;
			if(xmldata.getElementsByTagName("item").length == 0) { 
				msg = "Sorry, the content is not available at this time. Please try again later. ";
			} else {
				rssObj.rssItems = xmldata.getElementsByTagName("item");
				if(rssObj.rssItems.length > 0) { 
					displayRss();
				} 
			}
		} else {
			//msg = 'Sorry, the content is not available at this time. Please try again later. ';
		}
	} else {
		//msg = "Loading .... Please wait ...";
	}
}

function displayRss() {

	if(rssObj.rssItems[rssObj.rssIndex]) {
		var title = rssObj.rssItems[rssObj.rssIndex].getElementsByTagName("title")[0];
		var link = rssObj.rssItems[rssObj.rssIndex].getElementsByTagName("link")[0];
		//var dsc = items[i].getElementsByTagName("description")[0];
		if(title && link) {
			var titleText = getInnerText(title); 
			if(titleText != '') {
				msg = "<IMG SRC=\"/mm/image/post_0.gif\" ALT=\"\" BORDER=0 ALIGN=ABSMIDDLE> <a href=\"" + getInnerText(link) + "\" TARGET=\"_blank\"><U><FONT COLOR=#000066>" + getInnerText(title) + "</FONT></U></a><BR>";
			}
		}
	}
	document.getElementById(rssObj.rssDiv).innerHTML = msg;
	rssObj.rssIndex ++;
	if(rssObj.rssIndex == rssObj.rssItems.length) rssObj.rssIndex = 0;
	rssObj.rssTickerTimer = setTimeout("displayRss()", rssObj.rssTicker);
}

