/*
AJAX voting by Aldekein
*/

//var URL = "modules/vote/rating_add.php";

var XMLHttpRequestObject = new Array();

function OnVote(votename)
{
	//alert (URL);
	
	if (XMLHttpRequestObject == null)
	{
		XMLHttpRequestObject = new Array();
	}
	
	if(XMLHttpRequestObject[votename] != null)
	{
		return;
	}
	
	var requestObject = GetXMLHttpRequest();
	if (requestObject)
	{
		XMLHttpRequestObject[votename] = new Object();
		XMLHttpRequestObject[votename].requestObject = requestObject;
		// XMLHttpRequestObject[votename].title = title;
		XMLHttpRequestObject[votename].color = new Array();
		XMLHttpRequestObject[votename].label = new Array();
		
		requestObject.onreadystatechange = new Function ("OnVoteProcess('" + votename + "')");
		
		var params = "votename=" + votename + 
			'&' + "vote=true"; // + (document.cookie.length > 0 ? 'true' : 'false');
		var voteChoices=document.getElementsByName(votename);
		for(var i=0; i < voteChoices.length; i++)
		{
			params += '&' + voteChoices[i].value + '=' + (voteChoices[i].checked ? 1 : 0);
			XMLHttpRequestObject[votename].color[i] = voteChoices[i].getAttribute('barcolor');
			XMLHttpRequestObject[votename].label[i] = voteChoices[i].getAttribute('label');
		}
		
		var url = URL + "?" + params;
		
		requestObject.open("GET", url, true);
		requestObject.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded; charset=UTF-8" );
		requestObject.send("");
		
		var name = votename + "button";
		var button = document.getElementById(name);
		if (button)
		{
			button.value = loadtext; 
			button.disabled = true;
		}
	}
}

function OnVoteProcess(votename)
{
	if (XMLHttpRequestObject[votename] != null &&
		XMLHttpRequestObject[votename].requestObject &&
		XMLHttpRequestObject[votename].requestObject.readyState == 4) 
	{
		if (XMLHttpRequestObject[votename].requestObject.status == 200) 
		{
			var result = XMLHttpRequestObject[votename].requestObject.responseText;
			if (result == "busy")
			{
				alert("The server is busy. Try again.");
				XMLHttpRequestObject[votename] = null;
			}
			else
			{
				var name = votename + "div";
				var divContainer = document.getElementById(name);
				
				if (divContainer)
				{
					if (result == -1) {
						divContainer.innerHTML = divContainer.innerHTML + "<br>Выберите опцию!";
						var name = votename + "button";
						var button = document.getElementById(name);
						button.value = "Голосовать"; 
						button.disabled = false;
					}
					else divContainer.innerHTML = result;
				}
				
				XMLHttpRequestObject[votename] = null;
			}
		}
		else
		{
			var name = votename + "button";
			var button = document.getElementById(name);
			if (button)
			{
				button.value = "Голосовать"; 
				button.disabled = false;
				alert("Request failed: " + XMLHttpRequestObject[votename].requestObject.status + " status returned");
			}
		}
	}
}

function GetXMLHttpRequest() 
{
	var object = null;
	
	if (window.ActiveXObject) 
	{
		try
		{
			object = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
		}
		
		if (object == null)
		{
			try
			{
				object = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
			}
		}
	}
	else if (window.XMLHttpRequest) 
	{
		object = new XMLHttpRequest();
	} 
	
	if (object == null)
	{
		alert("Your browser does not support AJAX!");
	}
	
	return object;
}

function SetCookie(cookieName,cookieValue,nDays) 
{
	var today = new Date();
	var expire = new Date();
	expire.setTime(today.getTime() + 1000 + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue)
	+ ";expires="+expire.toGMTString();
}

document.cookie = 'cookiesenabled' + '=' + escape('enabled');