
        sUrl = "/poll.php?";
	var Url;

        //функция возвращает экземпляр класса XMLHttpRequest
        function getHTTPRequestObject() {
            var xmlHttpRequest;
	        if (typeof ActiveXObject != 'undefined') {
		        xmlHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
	        } else if (typeof XMLHttpRequest != 'undefined') {
		        xmlHttpRequest = new XMLHttpRequest();
	        } else {
		        xmlHttpRequest = false;
	        }
            return xmlHttpRequest;
        }

        var httpRequester = getHTTPRequestObject(); //Рабочий экземпляр класса XMLHttpRequest

        var READY_STATE_COMPLETE=4;

        //выполняет асинхронный GET
        function makeAJAXCall(ajaxUrl){ Url = ajaxUrl;
            if (httpRequester) {
                httpRequester.open("GET", ajaxUrl, true);
                httpRequester.onreadystatechange = processResponse;
                httpRequester.send(null);
            }
        }

        //CallBack-функция.
        function processResponse() {
            if (httpRequester.readyState == READY_STATE_COMPLETE) {
                if (httpRequester.status==200) {
                    processXmlResponse(httpRequester.responseXML)
                } else {
                    var message = "Problem retrieving data. requestStatus="+httpRequester.status+". Message="+httpRequester.statusText;
                    alert (message);
                }
            }
        }

        //var isInit = true;

        //выполняет обработку xml-документа, полученного с сервера.
        function processXmlResponse(xmlResponse){
		try { xmlResponse.documentElement.getElementsByTagName("totalVoted")[0].firstChild;  showResults(xmlResponse); } catch (e) {  initPoll(xmlResponse); }
}
/*
         if (isInit){
                initPoll(xmlResponse);
                isInit = false;
            } else {
                showResults(xmlResponse)
            }
*/
        //функция возвращает новый элемент с установленным аттрибутом name
        function createNamedElement(type, name) {
            var element = null;
            // Попытка создать элемент в стиле IE. Она будет неудачной в большинстве броузеров
            try {
                element = document.createElement('<'+type+' name="'+name+'">');
            } catch (e) {
            }
            if (!element || element.nodeName != type.toUpperCase()) {
                // Для не IE; использование стандартного метода создания элемента
                element = document.createElement(type);
                element.setAttribute("name", name);
            }
            return element;
        }

        //создание на странице всего необходимого для проведения опроса
        function initPoll(xml){
            var divElement = document.getElementById("poll");
	    var question = document.createElement("div");
	    question.setAttribute("class", "question");
	    question.appendChild(document.createTextNode(getQuestion(xml)));
	    divElement.appendChild(question); //добавление вопроса на страницу
            var choices = xml.documentElement.getElementsByTagName("choice"); // получение всех вариантов ответа из XML
	    var values = xml.documentElement.getElementsByTagName("value"); // получение всех вариантов ответа из XML
            for (var i=0; i<choices.length;i++){
                var radioElement = createNamedElement("input", "rdChoice"); //создание radio button
                radioElement.setAttribute("type", "radio");
		radioElement.setAttribute("value", values[i].firstChild.firstChild.data);
                divElement.appendChild(radioElement); //добавление radio button на страницу
                var choice = choices[i].firstChild.firstChild.data; //полуение варианта ответа из XML
                divElement.appendChild(document.createTextNode(choice)); //добавление варианта ответа
                divElement.appendChild(document.createElement("br"));
            }
	   //<p class="textcenter"><input src="/images/btn-vote.gif" class="submit" type="image"></p>
            divElement.appendChild(document.createElement("br"));
	    var ptext = document.createElement("p");
	    ptext.setAttribute("class", "textcenter");
            var buttonElement = document.createElement("input"); //создание кнопки
            buttonElement.setAttribute("type", "image");
            buttonElement.setAttribute("src", "/frontend/images/btn-vote.gif");
	    buttonElement.setAttribute("class", "pollBtn");
            buttonElement.onclick = vote; //добавление обработчика onClick кнопки
	    ptext.appendChild(buttonElement); //добавление кнопки на страницу
            divElement.appendChild(ptext); //добавление кнопки на страницу

        }

        //функция возвращает вопрос извлеченный, из xml-документа с помощью DOM
        function getQuestion(xml){
            return xml.documentElement.getElementsByTagName("question")[0].firstChild.data;
        }

        function vote(){
            divElement = document.getElementById("poll");
            var index = 0;
            var selIndex = -1;
            //определение индекса выбранного ответа
            var childs = divElement.childNodes;
            for (var i=0; i<childs.length; i++){
                if (childs[i].nodeType==1){
                    if (childs[i].getAttribute("name")=="rdChoice"){
                        if (childs[i].checked){
                            selIndex=childs[i].getAttribute("value");
                        }
                        index++;
                    }
                }
            }
            if (selIndex==-1) {
                alert ("Ни один из вариантов не выбран!");
                return;
            }
            makeAJAXCall(Url+"&choice="+selIndex);;
        }

        //вывод на страницу результатов опроса
        function showResults(xml){
            var divElement = document.getElementById("poll");
            while (divElement.hasChildNodes()) divElement.removeChild(divElement.lastChild); //очищаем содержимое div'а

	    var question = document.createElement("div");
	    question.setAttribute("class", "question");
	    question.appendChild(document.createTextNode(getQuestion(xml)));
	    divElement.appendChild(question); //добавление вопроса на страницу

            var choices = xml.documentElement.getElementsByTagName("choice"); // получение всех вариантов ответа из XML
            for (var i=0; i<choices.length;i++){
                var choice = choices[i].firstChild.firstChild.data; //полуение варианта ответа из XML
                var percent = choices[i].childNodes[1].firstChild.data; //полуение процентов проголосовавших из XML
                divElement.appendChild(document.createTextNode(percent+"% - "+choice)); //добавление результата
                divElement.appendChild(document.createElement("br"));
            }
            //divElement.appendChild(document.createElement("br"));
            //получение количества проголосовавших
           // var totalVoted = xml.documentElement.getElementsByTagName("totalVoted")[0].firstChild.data;
           // divElement.appendChild(document.createTextNode("Всего проголосовало: "+totalVoted)); //добавление на страницу

	  var aElement = document.getElementById("poll_a");
		aElement.setAttribute("href", "http://vote.techlabs.by/"+xml.documentElement.getElementsByTagName("voteId")[0].firstChild.data+".html");

        }
