﻿


function DoVote(GameId, SerialNo)
{
  var s = "";
		var d = new Date();
		s += d.getYear();	s += d.getMonth();	s += d.getDate();	s += d.getHours();
		s += d.getMinutes();  s += d.getSeconds();	s += d.getMilliseconds();   
  var theUrl = "GameVoteHandle.aspx?id=" + GameId + "&sn=" + SerialNo + "&d=" + s;
  loadXMLDoc(theUrl);
}


var req;
function loadXMLDoc(url) {
	req = false;
	
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
	
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send(null);
	}
}  
  
function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
            //if (objToShow) objToShow.innerHTML = "test!";
            var xDoc = req.responseXML;
            //xDoc.setProperty("SelectionLanguage", "XPath");
            var resultCode = SelectSingleNodeText(xDoc, "/result/Code");
            if (resultCode == "0")
            {
              alert("投票成功!");
              document.getElementById("number" + SelectSingleNodeText(xDoc, "/result/SerialNo")).innerHTML = SelectSingleNodeText(xDoc, "/result/VoteCount");
            }
            else if (resultCode == "1")
            {
              alert(SelectSingleNodeText(xDoc, "/result/Desc"));
              if (document.getElementById("spanDoVote_LoginUrl"))
                window.location.href = document.getElementById("spanDoVote_LoginUrl").innerHTML;
            }
            else
            {
              alert(SelectSingleNodeText(xDoc, "/result/Desc"));
            }
        } else {
            alert("讀取 XML data 錯誤:\n" + req.status + ";" + req.statusText);
        }
    }
}

    function SelectSingleNodeText(xmlDoc, elementPath)
    {
        if(window.ActiveXObject) //IE
        {
            return xmlDoc.selectSingleNode(elementPath).text;
        }
        else
        {
           var xpe = new XPathEvaluator();
           var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);
           var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE, null);
           return results.singleNodeValue.textContent; 
        }
    }   

