﻿function validate(theform, previewpost, switcheditormode) {
	var message = !theform.parseurloff.checked ? parseurl(theform.message.value) : theform.message.value;

	if (theform.title.value == "" || message == "") {
		alert("Please fill in the title and content table.");
		$("postsubmit").disabled = false;
		return false;
	} else if (theform.title.value.length > 60) {
		alert("There is a 60 character limit for your title.");
		theform.title.focus();
		$("postsubmit").disabled = false;
		return false;
	}

	if(!disablepostctrl && ((postminchars != 0 && mb_strlen(message) < postminchars) || (postmaxchars != 0 && mb_strlen(message) > postmaxchars))) {
		alert("Your post length does not meet the require.\n\n Current Length: "+mb_strlen(message)+"  byte \n Require: "+postminchars+" to "+postmaxchars+" byte");
		return false;
	}

	if (!switcheditormode && !previewpost) {
		$("postsubmit").disabled = true;
	}

	theform.message.value = message;
	return true;

}


function gotopage(topicid,index){
	page = parseInt(document.getElementById("divInput_pagenumber_" + topicid).value);
	if (is_ie){
		curpage = parseInt(document.getElementById("div_curpage_" + topicid).innerText);
		total = parseInt(document.getElementById("div_Totalpage_" + topicid).innerText);
	}
	else{
		curpage = parseInt(document.getElementById("div_curpage_" + topicid).textContent);
		total = parseInt(document.getElementById("div_Totalpage_" + topicid).textContent);
	}
	if (!(parseInt(page)==page && page>0)){
		alert("Invalid Page No.");
		return false;
	}
	
	if (!(parseInt(curpage)==curpage && curpage>0)){
		curpage = page;
	}
	
	if (!(parseInt(total)==total && total>0)){
		alert("Invalid Total Page No.");
		return false;
	}
	
	if (curpage>total || curpage < 1){
		alert("Invalid Page No.");
		return false;
	}
	
	
	switch (index){
		case 1:
			if (page-1<1){
				alert("First Page Now");
				return false
			}
			document.getElementById("divFollow_" + topicid + "_" + curpage).style.display="none";
			document.getElementById("divFollow_" + topicid + "_" + (curpage-1)).style.display="block";
			document.getElementById("divInput_pagenumber_" + topicid).value = curpage - 1;
			break;
		case 2:
			if (page+1>total){
				alert("Last Page Now");
				return false
			}
			document.getElementById("divFollow_" + topicid + "_" + curpage).style.display="none";
			document.getElementById("divFollow_" + topicid + "_" + (parseInt(curpage) +1)).style.display="block";
			document.getElementById("divInput_pagenumber_" + topicid).value = parseInt(curpage) + 1;
			break;
		case 3:
			if (page>total || page<1){
				alert("Page No. should between 1-" + total + " ");
				return false
			}
			document.getElementById("divFollow_" + topicid + "_" + curpage).style.display="none";
			document.getElementById("divFollow_" + topicid + "_" + page).style.display="block";
			break;
	}
	if (is_ie){
		document.getElementById("div_curpage_" + topicid).innerText = document.getElementById("divInput_pagenumber_" + topicid).value;
	}
	else{
		document.getElementById("div_curpage_" + topicid).textContent = document.getElementById("divInput_pagenumber_" + topicid).value;
	}
}

function writetree(obj,topicid,ppp){
	var td = document.getElementById("tdTopicFollow" + topicid);

	var err = obj.getElementsByTagName('error');
	if (err[0] != null && err[0] != undefined)
	{
		var errdiv = document.createElement("DIV");
		errdiv.className='errcontext';

	    if (err[0].childNodes.length > 1) {
		    errdiv.innerHTML = '<div style="margin: 0px 15px 0px 40px;">' + err[0].childNodes[1].nodeValue + '</div>';
		} else {
		    errdiv.innerHTML = '<div style="margin: 0px 15px 0px 40px;">' + err[0].firstChild.nodeValue + '</div>';    		
		}

		td.appendChild(errdiv);
		document.getElementById("trTopicFollow" + topicid).style.display = "";
		document.getElementById("divShowContext_" + topicid).style.display = "none";
		return;
	}

	var dataArray = obj.getElementsByTagName('post');
	var dataArrayLen = dataArray.length;
	
		var page = 0;
		var divIsShow = "block";
		for(i=0;i<dataArrayLen;i++){
			page ++;
			div = document.createElement("DIV");
			div.id = "divFollow_" + topicid + "_" + page;
			div.style.display = divIsShow;
			div.style.lineHeight = "180%";
			var list = "";
			for (j=0;j<10;j++){
				list += "<li><a href=\"showtopic-";
				list += topicid;
				if (ppp>0){
					list += "-";
					list += Math.ceil((i+2)/ppp);
				}
				list += ".aspx#";
				list += dataArray[i].getAttribute("pid");
				list +="\">";
				list += dataArray[i].getAttribute("message").substring(0,50);
				list += "</a>&nbsp; --- &nbsp; (";
				if (dataArray[i].getAttribute("poster")!="Visitor")
				{
					list += "<a target=\"_blank\" href=\"userinfo.aspx?userid=";
					list += dataArray[i].getAttribute("posterid");
					list += "\">";
					list += dataArray[i].getAttribute("poster");
					list += "</a> release on  ";
				}
				else
				{
					list += "Visitor release on ";
				}
				
				list += dataArray[i].getAttribute("postdatetime");
				list += ")</li>";
				i++;
				if (i>=dataArrayLen){
					break;
				}
			}
			if ( list != "" )
			{
			
				i--;
				
			}
			div.innerHTML = list;
			divIsShow = "none";
			td.appendChild(div);
		}
		div = document.createElement("DIV");
		div.id = "divFollow_page_" + topicid;
		div.style.marginTop = "5px"
		div.innerHTML = "Result Pages:<span id=\"div_curpage_" + topicid + "\">1</span>/<span id=\"div_Totalpage_" + topicid + "\">" + page + "</span>&nbsp;&nbsp;&nbsp;<span onclick=\"gotopage(" + topicid + ",1);\" style=\"cursor:pointer;\" title=\"Prev\"><img src=\"templates/" + templatepath + "/images/prev.gif\" /></span>&nbsp;<input type=\"text\" id=\"divInput_pagenumber_" + topicid + "\" value=\"1\" size=\"3\" style=\"text-align:center\" class=\"colorblur\" onKeyDown=\"if(event.keyCode==13) { gotopage(" + topicid + ",3); return false; }\">&nbsp;<span onclick=\"gotopage(" + topicid + ",2);\" style=\"cursor:pointer;\" title=\"Next\"><img src=\"templates/" + templatepath + "/images/next.gif\" /></span>"
		td.appendChild(div);
		document.getElementById("trTopicFollow" + topicid).style.display = "";
		document.getElementById("divShowContext_" + topicid).style.display = "none";

}

function showtree(topicid,ppp){
	var imgsrcCol = "templates/" + templatepath + "/images/topItem_col.gif";
	var imgsrcExp = "templates/" + templatepath + "/images/topItem_exp.gif"

	if (!document.getElementById("trTopicFollow" + topicid)){
		var tr = document.getElementById("trTopic" + topicid);
		var table = document.getElementById("category_" + fid);
		
			tr = table.insertRow(tr.rowIndex+1);
			tr.id="trTopicFollow" + topicid;
			tr.className = "row"
			tr.style
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td =  tr.insertCell(-1);
			td.id = "tdTopicFollow" + topicid;
			td.colSpan = 5;

			div = document.createElement("DIV");
			div.id = "divShowContext_" + topicid;
			
			div.innerHTML = "In process, please wait...";
			td.appendChild(div);
			
			ajaxRead("tools/ajax.aspx?t=topictree&topicid=" + topicid, "writetree(obj," + topicid + "," + ppp + ");");
	}
	
	if (document.getElementById("imgButton_" + topicid).src.indexOf(imgsrcCol)!=-1){	
		document.getElementById("imgButton_" + topicid).src = imgsrcExp;
		document.getElementById("imgButton_" + topicid).alt = "Show the thread list";
		document.getElementById("imgButton_" + topicid).title = "Show the thread list";

		document.getElementById("trTopicFollow" + topicid).style.display = "none";
	}
	else{
		document.getElementById("imgButton_" + topicid).src = imgsrcCol;
		document.getElementById("imgButton_" + topicid).alt = "Close the thread list";
		document.getElementById("imgButton_" + topicid).title = "Close the thread list";
		if (document.getElementById("trTopicFollow" + topicid)){
			document.getElementById("trTopicFollow" + topicid).style.display = "";
		}
	}
	
}
