﻿// JScript File

function setHint(stip){
　　                //$("answerTextBox").innerHTML = stip;
}

var xmlHttp; 
　　function executeCall(url,ID)
　　{
　　//setHint(ID.toString());
　　    try
　　    {
　　        xmlHttp = GetXmlHttpObject(CallbackMethod);
　　        SendXmlHttpRequest(xmlHttp, url, ID);
　　    }
　　    catch(e){setHint("error1");}
　　}

　　//CallbackMethod will fire when the state
　　//has changed, i.e. data is received back
　　function CallbackMethod()
　　{
        setHint("receive");
　　    try
　　    {
　　        //readyState of 4 or ’complete’ represents
　　        //that data has been returned
　　        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
　　        {
//　　            var response=xmlHttp.responseText;//text way
//　　            var controlID = "voting" + response;
//　　            $("answerTextBox").value = response;
　　            
　　            
　　            //xml way
　　            var xmlDoc=xmlHttp.responseXML.documentElement;
                var currID = xmlDoc.getElementsByTagName("ID")[0].firstChild.data ;
　　            var controlID = "voting" + currID;
                
                //public code
                var svrTag = xmlDoc.getElementsByTagName("state")[0].firstChild.data;
　　            var obj = document.getElementById(controlID).innerHTML;
　　            var currVal = (obj.substring(3,obj.length-1));
　　            switch(svrTag){
　　            case "0":
　　                document.getElementById(controlID).innerHTML = "投票(" + (++currVal) + ")";
　　                break
　　            case "1":
　　                window.alert("您已经对这个答案投过一票了。");
　　                break
　　            default:
　　                alert("此回答暂不能投票。");;
　　            } 
　　            

                xmlHttp = null;
　　            //$("textout").value = xmlDoc.getElementsByTagName("remoteIP")[0].firstChild.data ;
　　            //$("textout").value += ": " + svrTag;
　　        }
　　    }
　　    catch(e){
　　    setHint(e.message);
　　    }
　　}

 function GetXmlHttpObject(handler) 
　　{
　　    var objXmlHttp = null;
　　        objXmlHttp = createXmlHttp();
    　　        objXmlHttp.onreadystatechange = handler;
//　　    if (!window.XMLHttpRequest)
//　　    {
//　　        // Microsoft
//　　        if (objXmlHttp != null)
//　　        {
//　　        }
//　　    }
//　　    else {
//　　        // Mozilla | Netscape | Safari
//　　        objXmlHttp = new XMLHttpRequest();
//　　        if (objXmlHttp != null)
//　　        {
//　　            objXmlHttp.onload = handler;
//　　            objXmlHttp.onerror = handler;
//　　        }
//　　    }
　　    return objXmlHttp;
　　}
　　

　　function createXmlHttp() {
    var xmlhttp = null;
    if (window.ActiveXObject){// IE
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
               //return false;
            }
        }
    }
    else if (window.XMLHttpRequest) {// Mozilla, Safari, ...
       try{
            xmlhttp=new XMLHttpRequest();
            //xmlhttp.setRequestHeader("Content-Type","text/xml"); 
       }
       catch(e){
            //return false;
       }
    } 
    return xmlhttp;
　　} 

 function SendXmlHttpRequest(xmlhttp, url,ID){
    setHint("send");
    xmlhttp.open('POST', "svr/vote.ashx" , true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
　　xmlhttp.send("ID=" + (ID.toString()));
　　}

