var Http = createHttpRequestObject();
function createHttpRequestObject()
{var Http;if(window.ActiveXObject)
{try{Http = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e){Http = false;}}else
{try{Http = new XMLHttpRequest();}
catch (e){Http = false;}}
if (!Http) alert("Error creating the XMLHttpRequest object.");else return Http;}
function do_rate(type,blog,entry,rate)
{var rStr = new RegExp("[0-9a-zA-Z]+");
var rNum = new RegExp("[\\d]+");
if(!rStr.exec(blog) || !rNum.exec(entry) || !rNum.exec(rate) || !rStr.exec(type)){return;}
if (Http.readyState == 4 || Http.readyState == 0)
{Http.open("GET", "/" + blog + "/" + entry + "/rate/" + type + "/" + rate, true);
Http.onreadystatechange = handleServerRateResponse;Http.send(null);}}
function handleServerRateResponse()
{if (Http.readyState == 4){if (Http.status == 200)
{Response = Http.responseText;
var arr = Http.responseText.split("|");
if(arr[0] == "err")
{alert("ошибка "+arr[1]);return;}
var rateList = GetRawObject("rating-" + arr[1]);
if(rateList == null)
{
	alert("rateList=null, rating-" + arr[1]);
}
rateList.title = "Оценка: "+arr[0]+", голосов "+arr[2];
for(var f = 1; f < rateList.childNodes.length; f ++)
{rateList.childNodes[f].style.display = "none";}
rateList.childNodes[0].style.width = (17*arr[0])+"px";}
else{alert("При обращении к серверу произошла ошибка.");}}}
function GetRawObject(obj){var theObj;if (typeof obj == "string"){var isCSS = (document.body && document.body.style) ? true : false;
if (isCSS && document.getElementById){theObj = document.getElementById(obj);}else if (isCSS && document.all){theObj = document.all(obj);}else if (document.layers)
{theObj = SeekLayer(document, obj);}}else{theObj = obj;}return theObj;}

