﻿
function createDomDocument()
{
	var xmlData;
	
	try
	{
		xmlData = createObject("Msxml2.DOMDocument");
	}
	catch(e)
	{
		xmlData = createObject("Msxml.DOMDocument");
	}
	
	xmlData.async = false;

	if (arguments.length > 0)
	{
		var xml = arguments[0];
		if (typeof(xml) == "string")
			xmlData.loadXML(xml);
		else
		if (typeof(xml) == "object")
			xmlData.loadXML(xml.xml);
	}
	
	return xmlData;
}

function createObject(strName, strDescription)
{
    var stm;
	try
	{
	    stm = new ActiveXObject(strName);

	}
	catch(e)
	{
		var strMsg = "您的计算机没有安装" + strName + "，或者您的浏览器为该网页没有设置本地访问权限";

		if (strDescription)
			strMsg += ", " + strDescription;
		throw strMsg;
	}
	return stm;
}

var innerXmlHttp = null;
var innerHandleStateChange = null;
var innerParam = null;

function xmlSend(strURL, callBack, param)
{
	innerXmlHttp = createObject("Msxml2.XmlHttp",
						"请安装Microsoft最新版本的XML解析器或最新版本的Internet Explore");

	var bAysync = false;

	if (callBack)
	{
		bAysync = true;
		innerXmlHttp.onreadystatechange = handleStateChange;
		innerParam = param;
		innerHandleStateChange = callBack;
	}

	innerXmlHttp.open("GET", strURL, bAysync);
	innerXmlHttp.setRequestHeader ("Content-Type","text/xml; charset=utf-8");
	innerXmlHttp.send();
	if (bAysync)
		return innerXmlHttp;
	else
	{
		return innerXmlHttp.responseText;
	}
}

function handleStateChange()
{
	if (innerXmlHttp.readyState == 4)
	{
		if (innerHandleStateChange)
			innerHandleStateChange(innerXmlHttp, innerParam);

		innerHandleStateChange = null;
	}
}

function addArticleHits(srcService,vBaseAddress,vId){
	var sUrl = vBaseAddress + "/AddArticleHits?ArticleID=" + vId;
	xmlSend(sUrl,callback,srcService);
}

function getArticleHits(srcService,vBaseAddress,vId){
	var sUrl = vBaseAddress + "/GetArticleHits?ArticleID=" + vId;
	xmlSend(sUrl,callback,srcService);
}

function addAndGetArticleHits(srcService,vBaseAddress,vId){
	var sUrl = vBaseAddress + "/AddAndGetArticleHits?ArticleID=" + vId;
	xmlSend(sUrl,callback,srcService);
}

function callback(res,vEle){
	var serviceEle = document.getElementById(vEle);
    if (res.status == 200)    
        serviceEle.innerText = res.responseXML.childNodes[1].text;
    else
        serviceEle.innerText='66';
}
var arrSrcEle = new Array();
var arrId = new Array();
function flushHitArray(vBaseAddress){
	var strIds = '';
	for(i = 0;i<arrId.length;i++)
	{
		if(strIds != '') strIds += ',';
		strIds += arrId[i];
	}
	if(strIds != '')
	{
		var sUrl = vBaseAddress + "/GetArticleHitsArray?ArticleIDs=" + strIds;
		xmlSend(sUrl,callbackArray);		
	}
}
function addFetchHitsArray(srcService,vId){
	arrSrcEle[arrSrcEle.length] = srcService;
	arrId[arrId.length] = vId;
}
function callbackArray(res){
	if (res.status != 200) return;
   var typeListNodes = res.responseXML.documentElement.selectNodes("/NewDataSet/Table");
   for(i=0;i<typeListNodes.length;i++)
   {	
		infoid = typeListNodes[i].selectSingleNode("InfoID").text;
		hits = typeListNodes[i].selectSingleNode("Hits").text;
		for(j = 0;j<arrId.length;j++)
		{
			if(arrId[j] == infoid){
				document.getElementById(arrSrcEle[j]).innerText = hits;
				break;
			}
		}
	}
}