﻿/*
  EasyChinese Message Board v0.1
  Copyright(C) 2008 Sino Vista Systems (Hong Kong) Co., Ltd. Developed by Stark Wong.
*/
var titles=Array();
var divnames=Array();
var haschildren=Array();
var titlecount=0;
var currentpage=0;

function readThreads(page) {
	currentpage=page;
	$('divThreadContainer').innerHTML=rc_reading;
	for (c=0; c<titlecount; c++) {
		$(divnames[c]).remove();
	}
	
	new Ajax.Request('board/readthreads.asp', {
		method: 'post',
		postBody: 'page='+page
	});
}

function requestCode() {
	$('btnCode').value=rc_loadingcode;
	new Ajax.Request('board/getcode.asp', {
		method: 'post',
		postBody: 'r=1'
	});
}

function validateForm() {
	e=$('frmPost').elements;
	
	if (e['name'].value=='' || 
	    e['email'].value=='' || 
	    e['title'].value=='' || 
	    e['content'].value=='' || 
	    e['code'].value=='') {
		$('spnPostStatus').innerHTML='<span style="color: red">'+rc_err_fields+'</span>';
	} else if (e['email'].value.indexOf('@')==-1) {
		$('spnPostStatus').innerHTML='<span style="color: red">'+rc_err_email+'</span>';
	} else {
		$('spnPostStatus').innerHTML=rc_posting;
		e['submit'].disabled=true;
		/*
		new Ajax.Request('board/posttopic.asp', {
			method: 'post',
			postBody: 'name='+e['name'].value+'&email='+e['email'].value+'&title='+e['title'].value+'&content='+e['content'].value+'&code='+e['code'].value+'&parentid='+e['parentid'].value
		});
		*/
		$('frmPost').request();
	}
	return false;
}

function insertTopic(id,parentid,timestamp,name,title,content,email) {
	block='<div id="divTopic_'+id+'" style="border: 2px solid #9999ff; background-color: #99ccff; color: black; margin: 5px 5px 5px '+(parentid==0?'5':'20')+'px">\n';
	block+='	<div>\n';
	block+='		<span class="bold" style="color: #990000">'+title+'</span>\n';
	block+='		<span>[<a href="#posttopic" onclick="return preReplyTopic('+(parentid==0?id:parentid)+')">'+rc_reply+'</a>]</span>\n';
	block+='		<span>[<a href="#deletetopic" onclick="return preDeleteTopic('+id+')">'+rc_delete+'</a>]</span>\n';
	block+='	</div>\n';
	block+='	<div style="font-size: 12px">'+rc_composed+' '+name+' '+rc_on+' '+timestamp+'</div>\n';
	if (email!='') block+='	<div style="font-size: 12px">e-mail: <a href="mailto:'+email+'">'+email+'</a></div>\n';
	block+='	<div>'+content+'</div>\n';
	block+='	<span id="spnTopic_'+id+'"></span>\n';
	block+='</div>\n';
	
	if (parentid==0) {
		Insertion.Before($('divThreadContainer'),block);
		divnames[titlecount++]='divTopic_'+id;
		haschildren[id]=false;
	} else {
		Insertion.After($('spnTopic_'+parentid),block);
		haschildren[parentid]=true;
	}
		
	titles[id]=title;
}

function preReplyTopic(id) {
	e=$('frmPost').elements;
	e['title'].value='Re: #'+id+' ('+titles[id]+')';
	e['parentid'].value=id;
	e['title'].disabled=true;
	e['clear'].disabled=false;
	e['name'].focus();
	return true;
}

function clearTitle() {
	e=$('frmPost').elements;
	e['title'].value='';
	e['parentid'].value=0;
	e['title'].disabled=false;
	e['clear'].disabled=true;
}

function _preDeleteTopic(id) {
	if (haschildren[id]==true) {
		window.alert(rc_err_replies);
		return false;
	} else {
		e=$('frmDelete').elements;
		e['id'].value=id;
		$('spnDeleteTopic').innerHTML='#'+id+' ('+titles[id]+')';
		$('tblDelete').style.display='block';
		e['passcode'].focus();
		return true;
	}
}

function deleteTopic() {
	e=$('frmDelete').elements;
	$('spnDeleteStatus').innerHTML=rc_deleting;
	e['submit'].disabled=true;
	/*
	new Ajax.Request('board/deletetopic.asp', {
		method: 'post',
		postBody: 'id='+e['id'].value+'&passcode='+e['passcode'].value
	});	
	*/
	$('frmDelete').request();
	return false;
}

function gotoPage() {
	readThreads($('frmTopics').elements['page'].value-1);
}

function lookup() {
	$('divLookup').innerHTML=rc_looking;
	new Ajax.Request('board/lookup.asp', {
		method: 'post',
		postBody: 'char='+$('frmLookup').elements['char'].value.charCodeAt(0)
	});	
	
	return false;
}

if (this.Prototype) {
	readThreads(0);
	requestCode();
} else {
	document.getElementById('divThreadContainer').innerHTML=rc_err_prototype;
}
