//global var
var monthNum=new Array; 
var PostNum=new Array;
var monthLang = new Array;
var sizeofMonth=0;

/* 把页面导向到指定的月份 */
function goArchvie(){
	var month = document.getElementById('month');
		/*alert(month.value);*/
	var year = document.getElementById('year');
		/*alert(year.value);*/
	var url="?show=byMonth&m="+month.value+"&y="+year.value;
		/* alert(url); */
	window.location.href=url;
}

/* 按下年份选项触发的事件 */
function getYearArchive(){	
	var year = document.getElementById('year');		
	var month = document.getElementById('month');	

		//var l= month.options.length;		
		for (var i = month.options.length ; i >0 ; i--){
			month.options[i] = null;
		}		
		month.options[0].text= "waiting..."; 
		month.style.backgroundColor = "#FFFFCC";
		url = "?show=ajax&action=gya&y="+year.value+"";
		//window.location.href=url;		
		loadXMLDoc(url);

}

/*ajax送出get请求 */
function loadXMLDoc(url) {	
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		//Mozilla has problem, if server not send mime text/xml back.
		//http://wiki.moztw.org/index.php/AJAX_%E4%B8%8A%E6%89%8B%E7%AF%87
		//req.overrideMimeType('text/xml');		
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send(null);
		
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");

		if (req) {
			req.onreadystatechange = processReqChange;
			req.open("GET", url, true);
			req.send();
		}
	}
}

//定义的req的回叫函数callback funciton
function processReqChange() {
	// only if req shows "loaded"	
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			//处理返回信息
			parseResponse();
			//更新下拉选单
			updateMonth();
			return true;
		} else {
			return false;
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}

//处理返回信息
function parseResponse(){
	var ma = new Array;
	//按照#号切开返回字符串
	ma = req.responseText.split("#");
	//取得月份个数
	sizeofMonth = ma.length;
	//设置索引. for 5 is index 0,1,2,3,4
	sizeofMonth = sizeofMonth-1;
	for(var i= 0; i<sizeofMonth; i++){		
		var mi = ma[i].split("-");
		monthNum[i]= mi[0];//月份数字
		PostNum[i] = mi[1];//该月的帖子数
		monthLang[i] = mi[2];//该月的对应语言表示
	}
	return ;
}

function updateMonth(){	
	for(var im = 0 ; im < sizeofMonth ; im++){		
		
		//new Option() kennt vier Parameter von denen die drei letzten Parameter optional sind.
		//1. text = angezeigter Text in der Liste
		//2. value = zu übertragender Wert der Liste (optional)
		//3. defaultSelected = true übergeben, wenn der Eintrag der defaultm??ig vorselektierte Eintrag sein soll, sonst false (optional)
		//4. selected = true übergeben, wenn der Eintrag selektiert werden soll (optional)
		//Opera 5.12 interpretiert die beiden letzten Parameter und Netscape 6.1 den letzten Parameter nicht.
		
		newopt = new Option(monthLang[im]+"("+PostNum[im]+")", monthNum[im], false, false);
		document.getElementById("month").options[im] = newopt;
		document.getElementById("month").options[im].defaultSelected = false;		
	}	
	document.getElementById('month').style.backgroundColor = "#f2f2f2";
	//return true;
}

function resetChoice(){
	document.getElementById("month").selectedIndex = -1;	
}	
