var temp = new Array;
var contentW;
var imgs;
var webboardnewtime = 0;

function boardnewSubmit( frm )
{
	var topic = frm.topic;
	var sender = frm.sender;
	var password = frm.password;
	var email = frm.email;
	if ( topic && topic.value.length < 10 )
	{
		alert( "กรุณาป้อนคำถาม อย่างน้อย 10 ตัวอักษร" );
		topic.focus();
		return false;
	} 
	else if ( sender.value.length == 0 ) 
	{
		alert( "กรุณาป้อนชื่อผู้ตั้งกระทู้" );
		sender.focus();
		return false;
	}
	else if ( password && password.value.length > 0 || email && email.value.length > 0 )
	{
		return true;
	}
	else if ( email && email.value.length == 0 )
	{
		alert( "กรุณากรอกอีเมล์" );
		email.focus();
		return false;
	}
	else if ( password && password.value.length == 0 )
	{
		alert( "กรุณากรอกรหัสผ่าน" );
		password.focus();
		return false;
	};
	return true;
};

function setColor( color )
{
	setSmile( '[color=' + color + '][/color]' );
};

function setSmile( what )
{
	var frm = document.getElementById( 'boardnew' );
	frm.detail.value = frm.detail.value + " " + what;
	frm.detail.focus();
};

function doResizeImage( objstr )
{
	var content = document.getElementById( objstr );
	contentW = parseFloat( content.offsetWidth ) - 22;
	imgs = content.getElementsByTagName( 'img' );
	for ( var i = 0 ; i < imgs.length ; i++ )
	{
		var name = imgs[i].src;
		if ( typeof temp[name] == "undefined" )
		{
			temp[name] = new Image();   
			temp[name].src = name;
		};
		preload( i , name );
	};
};

function preload( id , name )
{
	if ( temp[name].complete )
	{
		if ( temp[name].width > contentW )
		{
			imgs[id].height = ( ( parseFloat( temp[name].height ) * contentW ) / parseFloat( temp[name].width ) );
			imgs[id].width = contentW;
		};
	}
	else
	{
		 setTimeout( "preload(" + id + ",'" + name + "')" , 50 );
	};
};

// แสดงกระทู้ที่มีการเคลื่อนไหวล่าสุด
// div = พื้นที่แสดงข่าว
// interval = เวลาที่ใช้ในการอัปเดทข่าว (1000 = 1 วินาที)
// ฟังก์ชั่นนี้ต้องติดตั้งเองเมื่อต้องการจะใช้งาน
function webboardNew( module , interval )
{
	if ( document.getElementById( 'webboard-new' ) )
	{
		var req = Inint_AJAX();
		req.onreadystatechange = function()
		{
			if ( req.readyState == 4 && document.getElementById( 'webboard-new' ) )
			{
				if ( req.status == 200 )
				{
					if ( req.responseText != '' )
					{
						var xml = req.responseXML;
						var template = xml.getElementsByTagName( 'skin' )[0].childNodes[0].nodeValue;
						var items = xml.getElementsByTagName( 'item' );
						var newtime = xml.getElementsByTagName( 'lastmodified' )[0].childNodes[0].nodeValue;
						var url = xml.getElementsByTagName( 'url' );
						if ( url[0] )
						{
							var lastupdate = xml.getElementsByTagName( 'url' )[0].childNodes[0].nodeValue;
						};
						var text = '';
						var item , id , topic , sender , create , icon , newitem , replyer;
						for ( var i = 0 ; i < items.length ; i++ )
						{
							item = items[i];
							id = item.childNodes[0].childNodes[0].nodeValue;
							topic = item.childNodes[1].childNodes[0].nodeValue;
							sender = item.childNodes[2].childNodes[0].nodeValue;
							create = item.childNodes[3].childNodes[0].nodeValue;
							icon = item.childNodes[4].childNodes[0].nodeValue;
							replyer = ( icon == 'new' ) ? '' : item.childNodes[5].childNodes[0].nodeValue;
							newitem = template.replace( /{NO}/g , id );
							newitem = newitem.replace( /{LINK}/g , 'module=' + module + '/view&amp;id=' + id );
							newitem = newitem.replace( /{TOPIC}/g , topic );
							newitem = newitem.replace( /{ICON}/g , icon );
							newitem = newitem.replace( /{SENDER}/g , sender );
							newitem = newitem.replace( /{CREAT}/g , create );
							newitem = newitem.replace( /{REPLYER}/g , replyer );
							newitem = newitem.replace( /{MODULE}/g , module );
							newitem = newitem.replace( /{SKIN}/g , skin );
							text += newitem;
						};
						webboard = document.getElementById( 'webboard-new' );
						webboard.innerHTML = text;
						// set Ajax link
						convertLinks( webboard );
						var msgchanged = webboardnewtime != newtime && webboardnewtime != 0;
						webboardnewtime = newtime;
						if ( msgchanged )
						{
							window.scrollTo( 0 , getElementTop( webboard ) );
							if ( url[0] && confirm( "มีคำถามหรือคำตอบใหม่ ในเว็บบอร์ด\nคุณต้องการไปยังกระทู้ที่เพิ่งโพสต์หรือไม่" ) )
							{
								document.getElementById('submit_iframe').contentWindow.document.location = 'xhr.php?' + lastupdate;
							};
						};
					}
					else if ( webboardnewtime == 0 )
					{
						document.getElementById( 'webboard-new' ).innerHTML = '<p style="padding:5px;display:block;text-align:center;">.:: ไม่มีคำตอบหรือคำถามใหม่ในเว็บบอร์ด ::.</p>';
					};
				};
				window.setTimeout( function(){webboardNew(module,interval)} , interval ); // อัปเดทครั้งต่อไป
			};
		};
		req.open( "post" , module + "/getnew.php" , true );
		req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		req.send( 'time=' + webboardnewtime );
	};
};

function webboardDelete( module , Qid , Rid )
{
	var query = '';
	if ( Rid > 0 )
	{
		if ( confirm( 'คุณแน่ใจที่จะลบคำตอบที่ ' + Rid ) )
		{
			query = 'action=delete&Qid=' + Qid + '&Rid=' + Rid;
		};
	}
	else if ( Qid > 0 )
	{
		if ( confirm( 'คุณแน่ใจที่จะลบคำถามที่ ' + Qid + ' และคำตอบของคำถามนี้ ?' ) )
		{
			query = 'action=delete&Qid=' + Qid;
		};
	};

	if ( query != '' )
	{
		showloading(); // แสดง loading
		var req = Inint_AJAX();
		req.open( "post" , module + "/action.php" , true );
		req.onreadystatechange = function()
		{
			if ( req.readyState == 4 )
			{
				hideloading(); // ยกเลิก loading
				if ( req.status == 200 )
				{
					var rets = eval( '(' + req.responseText  + ')' );
					if ( rets[0].error != '' )
					{
						alert( rets[0].error );
					}
					else
					{
						document.getElementById( 'B_' + rets[0].id ).style.display = 'none';
					};
				};
			};
		};
		req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		req.send( query );
		return false;
	};
};
