﻿var xmlHttpPool = new Array();

// 从池中取得一个可用的xmlhttp
function getXmlHttp() {
    for (var i = 0; i < xmlHttpPool.length; i ++) {
        if (xmlHttpPool[i].readyState == 0 || xmlHttpPool[i].readyState == 4) {
            return xmlHttpPool[i];
        }
    }
    xmlHttpPool[xmlHttpPool.length] = createXmlHttp();
    return xmlHttpPool[xmlHttpPool.length-1];
}

// 解析xmlHttp
function transform(control, xmlUrl, xslUrl) {
	var xmlDoc,xslDoc,iCount,control;
	
	if(control == undefined) {
		window.alert("数据加载失败！");
		return;
	}
    var transformUrl = "transform.aspx?xml="+escape(xmlUrl)+"&xsl="+escape(xslUrl);
    loadXml(transformUrl,null,control, false);
    //window.scrollTo(0,0);
}

function createXmlDom() {
	if (window.ActiveXObject) {
		var msxmls = ['MSXML3','MSXML2','Microsoft'];
		for (var i=0; i < msxmls.length; i++) {
			try {
				return new ActiveXObject(msxmls[i]+'.XMLDOM');
			}
			catch (e) {	}
		}
		throw new Error("error!");
	}
}

function loadXml(url,sendStr,control, isShowLoading) {
    if (isShowLoading) control.innerHTML = "<div align=center>数据加载中...</center>";
	var xmlhttp = createXmlHttp()
	if (xmlhttp == null) return;
	xmlhttp.onreadystatechange = function() { 
	    if(xmlhttp.readyState == 4 && xmlhttp.status == 200) 
        {
            //try {
                control.innerHTML = xmlhttp.responseText;
                //callback(control,xmlhttp.responseText);
//            } 
//            catch (e) {
//				alert("The CallBack Method Wrong!"+e.description);
//				return false;                
//            }            
        }
    };
	xmlhttp.open("Post",url,true); //异步传输
	xmlhttp.setRequestHeader("If-Modified-Since","0");
	xmlhttp.send(sendStr);
}

function callback(control,result) {
    control.innerHTML = result;
}

function createXmlHttp() {	
	if (window.ActiveXObject) {
		var msxmls = ['MSXML3','MSXML2','Microsoft'];
		for (var i=0; i < msxmls.length; i++) {
			try {
				return new ActiveXObject(msxmls[i]+'.XMLHTTP');
			}
			catch (e) {	}
		}
	}
	else if (window.XMLHttpRequest) {
		try {
			return new XMLHttpRequest(); 
		}
		catch (e) { }
	}
	else if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		}
		catch (e) { }
	}
	else {	
		alert("对不起，您的浏览器不支持XMLHTTP！");
	}
}

function formatUrl(url) {
	url = url.replace(/\?/g,"&amp;");
	url = url.replace("&amp;","?");
	return (url);
}

function goUrl(url,sendStr)
{
    var returnValue = false;
	var xmlhttp = createXmlHttp(); 
	// 不能用getXmlHttp()，因为被使用过的xmlhttp的readyState为4，所以同步异步都会send但不执行onreadystatechange
	if (xmlhttp == null) return returnValue;
	xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            if (xmlhttp.responseText == "true") {
                returnValue = true;
            }
            else {
                alert("操作失败！" + xmlhttp.responseText);
            }
        }
    };
	xmlhttp.open("Post",url,false); // 同步
	xmlhttp.setRequestHeader("If-Modified-Since","0");
	xmlhttp.send(sendStr);
	return returnValue;
}

// 预先载入图片
function preloadImages() { //v3.0
	var d = document;
	if(d.images){
		if(!d.pic) d.pic = new Array();
		var j = d.pic.length
		var a = preloadImages.arguments;
		for(var i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){
			d.pic[j] = new Image;
			d.pic[j].src = a[i];
			j++;
		}
	}
}

function checkApplyLink() {
    if ($("WebName").value.length == 0 || $("WebUrl").value.length == 0) {
        alert("站点名称 和 站点地址 都不能为空!");
    }
    else {
        var arr = ["WebName", "WebUrl", "WebLogo", "WebInfo"];
        var str = "";
        for (var i=0; i<arr.length; i++) {
            str += "&" + $(arr[i]).id + "=" +escape($(arr[i]).value);
        }
        loadXml("Operate.aspx?action=SaveLink" + str,null,$("MsgBox"),false);
    }
}

function $(d) { return document.getElementById(d); }