// SK Mark Thread as Read - v2.0.0 - 2010-01-03
// Sören Klasson - http://www.sk-software.com

var sk_markthreadread_return;
var sk_markthreadread_id;

function SK_init_mark_thread_read_system( returnpage, id, threadlistid )
{
	sk_markthreadread_return = returnpage;
	sk_markthreadread_id = id;

	var statuslinks = YAHOO.util.Dom.getElementsByClassName("threadstatus", "a", threadlistid);

	for (var i = 0; i < statuslinks.length; i++)
	{
		statuslinks[i].title = PHP.trim( statuslinks[i].title ); // Only because it looks ugly without it. At least with vb4.0 and IE7
		
		var threadbit = YAHOO.util.Dom.getAncestorByClassName(statuslinks[i], 'threadbit');
		if( YAHOO.util.Dom.hasClass(threadbit, 'new') )
		{
			statuslinks[i].threadbit = threadbit;
			statuslinks[i].style.cursor = pointer_cursor;
			statuslinks[i].otitle = statuslinks[i].title;
			if( statuslinks[i].title ) statuslinks[i].title += ' - ';
			statuslinks[i].title += vbphrase['doubleclick_thread_markread'];
		
			YAHOO.util.Event.on(statuslinks[i], "dblclick", sk_AJAX_ThreadList_Events.prototype.threadicon_doubleclick);
		}
	}
}

function sk_AJAX_ThreadList_Events()
{
}

sk_AJAX_ThreadList_Events.prototype.threadicon_doubleclick = function(e)
{
	YAHOO.util.Event.stopPropagation(e);
	
	this.threadid = this.threadbit.id.substr(this.threadbit.id.lastIndexOf('_') + 1);
	
	if (AJAX_Compatible)
	{
		sk_markthreadread = new sk_AJAX_MarkThreadRead(this);
	}
	else
	{
		window.location = 'forumdisplay.php?' + SESSIONURL + 'do=markthreadread&threadid=' + this.threadid + '&return=' + sk_markthreadread_return + '&id=' + sk_markthreadread_id;
	}
};


function sk_AJAX_MarkThreadRead(statuslink)
{
	this.statuslink = statuslink;
	
	this.markthreadread = function()
	{
		YAHOO.util.Connect.asyncRequest("POST", 'ajax.php?do=markthreadread&t=' + this.statuslink.threadid, {
			success: this.handle_ajax_response,
			failure: vBulletin_AJAX_Error_Handler,
			timeout: vB_Default_Timeout,
			scope: this
		}, SESSIONURL + 'securitytoken=' + SECURITYTOKEN + '&do=markthreadread&threadid=' + this.statuslink.threadid);
	}
	
	this.handle_ajax_response = function(ajax)
	{
		if (ajax.responseXML)
		{
			var status = ajax.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue;
			
			if ('true' == status)
			{
				YAHOO.util.Dom.removeClass(this.statuslink.threadbit, 'new');
				
				this.statuslink.style.cursor = 'default';
				this.statuslink.title = this.statuslink.otitle;
	
				var gotonew = fetch_object("thread_gotonew_" + this.statuslink.threadid);
				if (gotonew)
				{
					gotonew.parentNode.removeChild(gotonew);
				}

				YAHOO.util.Dom.removeClass("thread_title_" + this.statuslink.threadid, 'threadtitle_unread');	
			}
		}
	}	

	this.markthreadread();
}
