﻿/*
*Tạo poll cho trang web
*/
//============================================================================
function getPoll() {
    var P_XHR = null;
    if (window.XMLHttpRequest) { P_XHR = new XMLHttpRequest(); } else { P_XHR = new ActiveXObject("Microsoft.XMLHTTP"); }
    if (!P_XHR) return;
    var url = "modul/Poll/Poll.aspx";
    document.getElementById("bc-Hidden").value = 0;
    P_XHR.open("GET", url);
    P_XHR.onreadystatechange = function() {
        if (P_XHR.readyState == 4 && P_XHR.status == 200) {
            var response = "";
            var xmlDoc = P_XHR.responseXML;
            var qName = xmlDoc.getElementsByTagName("qname")[0].firstChild.nodeValue;
            var qId = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[0].value;
            var qNummax = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[2].value;
            var qNummin = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[1].value;
            var qUrl = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[3].value;
            var pInputMin = document.createElement("input");
            var pInputMax = document.createElement("input");
            pInputMin.setAttribute("id", "pInputMin");
            pInputMax.setAttribute("id", "pInputMax");
            pInputMin.setAttribute("type", "hidden");
            pInputMin.setAttribute("value", qNummin);
            pInputMax.setAttribute("type", "hidden");
            pInputMax.setAttribute("value", qNummax);
            document.body.appendChild(pInputMin);
            document.body.appendChild(pInputMax);
            //response cau hoi
            var HREF_QUESTION = "";
            if (qUrl != "") HREF_QUESTION = "href='" + qUrl + "'";
            var responseCauhoi = "<a " + HREF_QUESTION + "> " + qName + "</a>";
            response = "<p>";
            var type = "";
            if (qNummax == 1) type = "type='radio'";
            else type = "type='checkbox'";

            var anwer = xmlDoc.getElementsByTagName("traloi");
            for (var i = 0; i < anwer.length; i++) {
                var aId = anwer[i].attributes[0].value;
                //var Anumanwer = anwer[i].attributes[1].value;
                var Acontent = anwer[i].firstChild.nodeValue;
                var aUrl = anwer[i].attributes[2].value;
                var _url = "";
                if (aUrl != "") _url = "href='" + aUrl + "'";
                response += "<label><input " + type + " name='rg-traloi' onclick=\"ochecked(this)\" value='radio' id='rg-traloi" + aId + "' /> <a name='okegaden' " + _url + ">" + Acontent + "</a></label><br />";
            }
            response += "</p>";
            document.getElementById("bc-traloi").innerHTML = response;
            document.getElementById("bc-cauhoi").innerHTML = responseCauhoi;
        }
    }
    P_XHR.send(null);
}
//==============================================================================
//thuc hien binh chon

function polling() {
    var x = document.getElementById("bc-traloi").getElementsByTagName("input");
    var aid = "";
    var count = 0;
    for (var i = 0; i < x.length; i++) {
        var id = x[i].id.substring(9, x[i].id.length);
        if (x[i].checked == true) {
            aid += id + ".";
            count += 1;
        }
    }
    var pMin = document.getElementById("pInputMin");
    var pMax = document.getElementById("pInputMax");
    if (aid != "" && count >= parseInt(pMin.value)) {
        if (readCookie("user_cookie_two")) {
            savePoll(aid);
            eraseCookie("user_cookie_two");
        }
        else {
            viewPoll();
        }
    }
    else { alert("bạn hãy chọn ít nhất " + pMin.value + " đáp án"); }
}
//============================================================================
//save ket qua binh chon
function savePoll(aid) {
    var P_XHR = null;
    if (window.XMLHttpRequest) { P_XHR = new XMLHttpRequest(); } else { P_XHR = new ActiveXObject("Microsoft.XMLHTTP"); }
    if (!P_XHR) return;
    var url = "modul/Poll/Poll.aspx?aid=" + aid.substring(0,aid.length-1);
    P_XHR.open("GET", url);
    P_XHR.onreadystatechange = function() {
        if (P_XHR.readyState == 4 && P_XHR.status == 200) {
            var response = "";
            var xmlDoc = P_XHR.responseXML;
            var qName = xmlDoc.getElementsByTagName("qname")[0].firstChild.nodeValue;
            var qId = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[0].value;
            var qNummax = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[2].value;
            var qNummin = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[1].value;
            var qUrl = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[3].value;
            var numanwertotal = xmlDoc.getElementsByTagName("numanwer")[0].firstChild.nodeValue;
            var responseCauhoi = "<a href='" + qUrl + "'> " + qName + "</a>";
            response = "<br/>";
            var type = "";
            var anwer = xmlDoc.getElementsByTagName("traloi");
            var countpercent = 0;
            for (var i = 0; i < anwer.length; i++) {
                var aId = anwer[i].attributes[0].value;
                var Anumanwer = anwer[i].attributes[1].value;
                var Acontent = anwer[i].firstChild.nodeValue;
                var aUrl = anwer[i].attributes[2].value;
                var percent = 0;
                if (numanwertotal != 0) {
                    if (i != anwer.length - 1) { percent = Math.round(parseInt(Anumanwer) / parseInt(numanwertotal) * 100); countpercent += percent; }
                    else percent = 100 - countpercent;
                }
                else {
                    percent = 0;
                }
                
                response += "<div class=\"bc-item\">" + Acontent + "<br/>"
                            	+ "<div class=\"bc-color\"><div class=\"bc-color-item\" style=\"width:" + percent + "%\"></div></div>"
                                + "<div class=\"bc-text\">" + percent + "%</div>"
                            + "</div><br/><br/>";
            }
            document.getElementById("bc-radio").style.display = 'none';
            document.getElementById("bc-ketqua").style.display = "block";
            document.getElementById("bc-cauhoi-ketqua").innerHTML = responseCauhoi;
            document.getElementById("bc-phantram").innerHTML = response;
        }
    }
    P_XHR.send(null);
}
//==========================================================================================
//xem binh chon
function viewPoll() {
    var P_XHR = null;
    if (window.XMLHttpRequest) { P_XHR = new XMLHttpRequest(); } else { P_XHR = new ActiveXObject("Microsoft.XMLHTTP"); }
    if (!P_XHR) return;
    var url = "modul/Poll/Poll.aspx";
    P_XHR.open("GET", url);
    P_XHR.onreadystatechange = function() {
        if (P_XHR.readyState == 4 && P_XHR.status == 200) {
            var response = "";
            var xmlDoc = P_XHR.responseXML;
            var qName = xmlDoc.getElementsByTagName("qname")[0].firstChild.nodeValue;
            var qId = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[0].value;
            var qNummax = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[2].value;
            var qNummin = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[1].value;
            var qUrl = xmlDoc.getElementsByTagName("cauhoi")[0].attributes[3].value;
            var numanwertotal = xmlDoc.getElementsByTagName("numanwer")[0].firstChild.nodeValue;
            var responseCauhoi = "<a href='" + qUrl + "'> " + qName + "</a>";
            response = "<br/>";
            var type = "";
            var anwer = xmlDoc.getElementsByTagName("traloi");
            var countpercent = 0;
            for (var i = 0; i < anwer.length; i++) {
                var aId = anwer[i].attributes[0].value;
                var Anumanwer = anwer[i].attributes[1].value;
                var Acontent = anwer[i].firstChild.nodeValue;
                var aUrl = anwer[i].attributes[2].value;
                var percent = 0;
                if (numanwertotal != 0) {
                    if (i != anwer.length - 1) { percent = Math.round(parseInt(Anumanwer) / parseInt(numanwertotal) * 100); countpercent += percent; }
                    else percent = 100 - countpercent;
                }
                else percent = 0;
                response += "<div class=\"bc-item\">" + Acontent + "<br/>"
                            	+ "<div class=\"bc-color\"><div class=\"bc-color-item\" style=\"width:" + percent + "%\"></div></div>"
                                + "<div class=\"bc-text\">" + percent + "%</div>"
                            + "</div><br/><br/>";
            }
            document.getElementById("bc-radio").style.display = 'none';
            document.getElementById("bc-ketqua").style.display = "block";
            document.getElementById("bc-cauhoi-ketqua").innerHTML = responseCauhoi;
            document.getElementById("bc-phantram").innerHTML = response;
        }
    }
    P_XHR.send(null);

}
//============================================================================
//tro ve binh chon
function rePoll() {
    document.getElementById("bc-radio").style.display = 'block';
    document.getElementById("bc-ketqua").style.display = "none";
    getPoll();
}
//============================================================================
//tao cookie
function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}
//============================================================================
//lay cookie
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
 
    return null;
}
//============================================================================

// delete cookie
function eraseCookie(name) {
    createCookie(name, "", -1);
}
//============================================================================
//kiem tra so cau tra loi dc check
function ochecked(oThis) {
    var bc_Hidden = document.getElementById("bc-Hidden");
    var int_bc_Hidden = parseInt(bc_Hidden.value);
    var pMax = document.getElementById("pInputMax");
    var int_pMax = parseInt(pMax.value);
    if (oThis.checked) {
        int_bc_Hidden = int_bc_Hidden + 1;
        if ((int_bc_Hidden >= int_pMax) && oThis.type == "checkbox") {
            var x = document.getElementById("bc-traloi").getElementsByTagName("input");
            for (var i = 0; i < x.length; i++) {
                if (x[i].checked == false) {
                    x[i].setAttribute("disabled", "disabled");
                }
            }
        }
    }
    else {
        int_bc_Hidden = int_bc_Hidden - 1;
        var x = document.getElementById("bc-traloi").getElementsByTagName("input");
        for (var i = 0; i < x.length; i++) {
            x[i].removeAttribute("disabled");
        }
    }
    bc_Hidden.value = int_bc_Hidden;
}
//============================================================================
