// ++=========================================================================++
// || vBadvanced Links Directory v4.0.0 (vB 4.0) - 9453
// || © 2003-2010 vBadvanced.com - All Rights Reserved
// || This file may not be redistributed in whole or significant part.
// || http://vbadvanced.com
// || Downloaded 14:19, Thu May 13th 2010
// || 1105681_945307161091
// ++ ========================================================================++

// ##### Open 'Who Voted' window ##############################################
function open_rating_window(linkid)
{
	window.open(VBA_LINKS_HOMEURL + "/misc.php?" + SESSIONURL + "do=viewratings&linkid="+linkid, "rating", "toolbar=no, scrollbars=yes, resizable=yes, width=240, height=320");
}

// ##### Favorites ############################################################
function vba_add_fav(linkid, idsuffix)
{
	xml_sender = new vB_AJAX_Handler(true);
	xml_sender.init();

	if(!is_ajax_compatible())
	{
		return true;
	}

	if (idsuffix == undefined)
	{
		idsuffix = '';
	}

	xml_sender.onreadystatechange(fetch_vba_add_fav);
	xml_sender.send('misc.php', SESSIONURL + 'do=favorites&favajax=1&linkid=' + PHP.urlencode(linkid) + '&idsuffix=' + PHP.urlencode(idsuffix));
	return false;
}

function fetch_vba_add_fav()
{
	if (xml_sender.handler.readyState == 4 && xml_sender.handler.status == 200)
	{
		if (xml_sender.handler.responseXML)
		{
			var idsuffix = '';
			
			ajax_response = xml_sender.handler.responseXML;
			
			var phrase = ajax_response.getElementsByTagName('phrase')[0].firstChild.nodeValue;
			var linkid = ajax_response.getElementsByTagName('linkid')[0].firstChild.nodeValue;
			var newphrase = ajax_response.getElementsByTagName('newphrase')[0].firstChild.nodeValue;
			var favimg = ajax_response.getElementsByTagName('favimg')[0].firstChild.nodeValue;

			if (ajax_response.getElementsByTagName('idsuffix').length)
			{
				idsuffix = ajax_response.getElementsByTagName('idsuffix')[0].firstChild.nodeValue;
			}
			if (phrase)
			{
				document.getElementById('fav_' + linkid + idsuffix).innerHTML = newphrase;
				document.getElementById('favimg_' + linkid + idsuffix).style.display = favimg;
				alert(phrase);
			}
		}
	}
}

// ##### Subscriptions ############################################################
function vba_add_subscr(linkid, idsuffix)
{
	xml_sender = new vB_AJAX_Handler(true);
	xml_sender.init();

	if(!is_ajax_compatible())
	{
		return true;
	}

	if (idsuffix == undefined)
	{
		idsuffix = '';
	}

	xml_sender.onreadystatechange(fetch_vba_add_subscr);
	xml_sender.send('misc.php', SESSIONURL + "do=subscribe&subajax=1&linkid=" + PHP.urlencode(linkid) + '&idsuffix=' + PHP.urlencode(idsuffix));
	return false;
}

// ##### Subscriptions ############################################################
function vba_add_subscr_cat(catid, linkuserid)
{
	xml_sender = new vB_AJAX_Handler(true);
	xml_sender.init();

	if(!is_ajax_compatible())
	{
		return true;
	}

	xml_sender.onreadystatechange(fetch_vba_add_subscr);
	xml_sender.send('ajax.php', SESSIONURL + "do=subscribe&type=cat&catid=" + PHP.urlencode(catid));
	return false;
}

function fetch_vba_add_subscr()
{
	if (xml_sender.handler.readyState == 4 && xml_sender.handler.status == 200)
	{
		if (xml_sender.handler.responseXML)
		{
			var idsuffix = '';
			
			var ajax_response = xml_sender.handler.responseXML;

			var subtype = ajax_response.getElementsByTagName('type')[0].firstChild.nodeValue;
			var phrase = ajax_response.getElementsByTagName('phrase')[0].firstChild.nodeValue;
			var linkid = ajax_response.getElementsByTagName('linkid')[0].firstChild.nodeValue;
			var newphrase = ajax_response.getElementsByTagName('newphrase')[0].firstChild.nodeValue;
			var subimg = ajax_response.getElementsByTagName('subimg')[0].firstChild.nodeValue;

			if (ajax_response.getElementsByTagName('idsuffix').length)
			{
				idsuffix = ajax_response.getElementsByTagName('idsuffix')[0].firstChild.nodeValue;
			}

			if (phrase)
			{
				if (subtype == 'cat')
				{
					document.getElementById('subscr_cat').innerHTML = newphrase;
				}
				else
				{
					document.getElementById('subscr_' + linkid + idsuffix).innerHTML = newphrase;
					document.getElementById('subimg_' + linkid + idsuffix).style.display = subimg;
				}
				alert(phrase);
			}
		}
	}
}

// ##### Ratings ##############################################################
function int_l_rating(linkid, idsuffix)
{
	xml_sender = new vB_AJAX_Handler(true);
	xml_sender.init();

	if (!AJAX_Compatible)
	{
		return true;
	}

	var sbutton = document.getElementById('srating_' + linkid + idsuffix);
	var newbutton = document.createElement('input');
	newbutton.type = 'button';
	newbutton.className = sbutton.className;
	newbutton.value = sbutton.value;
	newbutton.onclick = vBa_Rate_Link.prototype.formsubmit;

	sbutton.parentNode.insertBefore(newbutton, sbutton);
	sbutton.parentNode.removeChild(sbutton);
}

function vBa_Rate_Link(formobj)
{
	this.formobj = formobj;

	this.linkid = this.formobj.linkid.value;
	this.showlink = 0;

	if (this.formobj.showlink != undefined)
	{
		this.showlink = this.formobj.showlink.value;
	}

	var me = this;

	this.fetch_rating_result = function()
	{
		if (me.xml_sender.handler.readyState == 4 && me.xml_sender.handler.status == 200)
		{
			var ajax_response = me.xml_sender.handler.responseXML;

			if (ajax_response)
			{
				var idsuffix = '';

				if (ajax_response.getElementsByTagName('idsuffix').length)
				{
					idsuffix = ajax_response.getElementsByTagName('idsuffix')[0].firstChild.nodeValue;
				}

				if (linkbit = document.getElementById("linkbitrating_" + me.linkid + idsuffix))
				{
					linkbit.style.display = 'none';
				}

				if (ajax_response.getElementsByTagName('error').length)
				{
					alert(ajax_response.getElementsByTagName('error')[0].firstChild.nodeValue);
				}
				else
				{
					if (ajax_response.getElementsByTagName('rating').length)
					{
						if (ratingDiv = document.getElementById("vbarating_" + me.linkid + idsuffix))
						{
							ratingDiv.className = 'rating' + ajax_response.getElementsByTagName('rating')[0].firstChild.nodeValue;
						}
					}

					if (ajax_response.getElementsByTagName('message').length)
					{
						alert(ajax_response.getElementsByTagName('message')[0].firstChild.nodeValue);
					}
				}
			}
		}
	}
}

vBa_Rate_Link.prototype.formsubmit = function()
{
	var vBa_Rate = new vBa_Rate_Link(this.form);
	vBa_Rate.init();
	return false;
}

vBa_Rate_Link.prototype.init = function()
{
	var voteopts = this.formobj.vote;

	for (var i = 0; i < voteopts.length; i++)
	{
		if (voteopts[i].checked)
		{
			this.vote = voteopts[i].value;
		}
	}

	if (this.formobj.idsuffix != undefined)
	{
		idsuffix = this.formobj.idsuffix.value;
	}
	else
	{
		idsuffix = '';
	}

	this.xml_sender = new vB_AJAX_Handler(true);
	this.xml_sender.init();

	this.xml_sender.onreadystatechange(this.fetch_rating_result);
	this.xml_sender.send('newreply.php', SESSIONURL + "do=rate&linkid=" + PHP.urlencode(this.linkid) + "&showlink=" + PHP.urlencode(this.showlink) + "&vote=" + PHP.urlencode(this.vote) + "&ajax=1&idsuffix=" + idsuffix);
	return false;
}