// ++=========================================================================++
// || vBadvanced Links Directory v3.1.0 (vB 3.6 - vB 3.8) - 97393
// || © 2003-2009 vBadvanced.com - All Rights Reserved
// || This file may not be redistributed in whole or significant part.
// || http://vbadvanced.com
// || Downloaded 17:17, Sat Jan 3rd 2009
// || 386097393_203553033560
// ++ ========================================================================++

// ##### 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_vb_37)
	{
		if(!is_ajax_compatible())
		{
			return true;
		}
	}
	else
	{
		if (!xml_sender.is_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 = '';
			
			// vB 3.7+
			if (is_vb_37)
			{
				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;
				}
			}
			// vB 3.6
			else
			{
				var phrase = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'phrase')[0]);
				var linkid = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'linkid')[0]);
				var newphrase = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'newphrase')[0]);
				var favimg = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'favimg')[0]);
	
				if (fetch_tags(xml_sender.handler.responseXML, 'idsuffix')[0])
				{
					idsuffix = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'idsuffix')[0]);
				}
			}

			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_vb_37)
	{
		if(!is_ajax_compatible())
		{
			return true;
		}
	}
	else
	{
		if (!xml_sender.is_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_vb_37)
	{
		if(!is_ajax_compatible())
		{
			return true;
		}
	}
	else
	{
		if (!xml_sender.is_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 = '';
			
			// vB 3.7+
			if (is_vb_37)
			{
				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;
				}
			}
			// vB 3.6
			else
			{
				var subtype = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'type')[0]);
				var phrase = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'phrase')[0]);
				var linkid = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'linkid')[0]);
				var newphrase = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'newphrase')[0]);
				var subimg = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'subimg')[0]);
	
				if (fetch_tags(xml_sender.handler.responseXML, 'idsuffix')[0])
				{
					idsuffix = xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'idsuffix')[0]);
				}
			}

			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 (is_vb_37)
	{
		if(!is_ajax_compatible())
		{
			return true;
		}
	}
	else
	{
		if (!xml_sender.is_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)
			{
				vBmenu.hide();
				var idsuffix = '';

				// vB 3.7+
				if (is_vb_37)
				{
					if (ajax_response.getElementsByTagName('error').length)
					{
						alert(ajax_response.getElementsByTagName('error')[0].firstChild.nodeValue);
					}
					else
					{
						if (ajax_response.getElementsByTagName('idsuffix').length)
						{
							idsuffix = ajax_response.getElementsByTagName('idsuffix')[0].firstChild.nodeValue;
						}

						if (ajax_response.getElementsByTagName('rating_box').length)
						{
							document.getElementById("ratelink_" + me.linkid + idsuffix).innerHTML = ajax_response.getElementsByTagName('rating_box')[0].firstChild.nodeValue;
						}

						if (ajax_response.getElementsByTagName('message').length)
						{
							alert(ajax_response.getElementsByTagName('message')[0].firstChild.nodeValue);
						}
					}
				}
				// vB 3.6
				else
				{
					if (fetch_tags(ajax_response, 'error').length)
					{
						alert(me.xml_sender.fetch_data(fetch_tags(ajax_response, 'error')[0]));
					}
					else
					{
						if (fetch_tags(ajax_response, 'idsuffix')[0])
						{
							idsuffix = me.xml_sender.fetch_data(fetch_tags(ajax_response, 'idsuffix')[0]);
						}
	
						if (fetch_tags(ajax_response, 'rating_box')[0])
						{
							document.getElementById("ratelink_" + me.linkid + idsuffix).innerHTML = me.xml_sender.fetch_data(fetch_tags(ajax_response, 'rating_box')[0]);
						}
	
						if (fetch_tags(ajax_response, 'message')[0])
						{
							alert(me.xml_sender.fetch_data(fetch_tags(ajax_response, 'message')[0]));
						}
					}
				}
			}
		}
	}
}

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;
}