var URL = "/vote.php";

var XMLHttpRequestObject = new Array();

function OnVote(votename, cat_id)
{
	if (XMLHttpRequestObject == null)
	{
		XMLHttpRequestObject = new Array();
	}
	
	if(XMLHttpRequestObject[votename] != null)
	{
		return;
	}
	
	var requestObject = GetXMLHttpRequest();
	if (requestObject)
	{
		XMLHttpRequestObject[votename] = new Object();
		XMLHttpRequestObject[votename].requestObject = requestObject;
		
		requestObject.onreadystatechange = new Function ("OnVoteProcess('" + votename + "')");
		
		var params = "votename=" + votename + "&cat_id=" + cat_id; 
		var voteChoices=document.getElementsByName(votename);
		var selected = 0;
		for(var i=0; i < voteChoices.length; i++)
		{
			params += '&' + voteChoices[i].value + '=' + (voteChoices[i].checked ? 1 : 0);
			if(voteChoices[i].checked)
				selected++
		}
		
		if(selected == 0) {
			alert("Чтобы проголосовать, Вы должны выбрать вариант ответа!");
		}
		
		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 && selected != 0)
		{
			button.value = "Загрузка ..."; 
			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)
				{
					
					divContainer.innerHTML = result;
//                          result.replace(divContainer);
				}
				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 changeResults(poll_id, section, cat_id)
{
	if (XMLHttpRequestObject == null)
	{
		XMLHttpRequestObject = new Array();
	}
	
	if(XMLHttpRequestObject[poll_id] != null)
	{
		return;
	}
	
	var requestObject = GetXMLHttpRequest();
	if (requestObject)
	{
		XMLHttpRequestObject[poll_id] = new Object();
		XMLHttpRequestObject[poll_id].requestObject = requestObject;
		
		requestObject.onreadystatechange = new Function ("OnChangeResultsProcess('" + poll_id + "', '" + section + "')");
		
		var params = "poll_id=" + poll_id + "&cat_id=" + cat_id; 
		
		var url = "/view_results.php?" + params;
		
		requestObject.open("GET", url, true);
		requestObject.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded; charset=UTF-8" );
		requestObject.send("");
		
		var name = section + "-div";
		var divContainer = document.getElementById(name);
		if (divContainer)
		{
			divContainer.innerHTML = '<img src="/images/loading.gif" />';
		}
	}
}


function OnChangeResultsProcess(poll_id, section)
{
	if (XMLHttpRequestObject[poll_id] != null &&
		XMLHttpRequestObject[poll_id].requestObject &&
		XMLHttpRequestObject[poll_id].requestObject.readyState == 4) 
	{
		if (XMLHttpRequestObject[poll_id].requestObject.status == 200) 
		{
			var result = XMLHttpRequestObject[poll_id].requestObject.responseText;
			if (result == "busy")
			{
				alert("The server is busy. Try again.");
				XMLHttpRequestObject[poll_id] = null;
			}
			else
			{
				var name = section + "-div";
				var divContainer = document.getElementById(name);
				if (divContainer)
				{
					divContainer.innerHTML = result;
				}
				XMLHttpRequestObject[poll_id] = null;
			}
		}
		else
		{
			alert("Request failed: " + XMLHttpRequestObject[poll_id].requestObject.status + " status returned");
		}
	}
}



function number2percentage(container, to) {
	container.innerHTML = to;
}

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

window.onload = externalLinks;

           
