﻿function GetRequest(url)
{
	var xmlhttp;
	if(window.XMLHttpRequest) {
		//针对FireFox,Mozillar,Opera,Safari,IE7,IE8
		xmlhttp = new XMLHttpRequest();
		//针对某些特定版本mozillar浏览器的BUG进行修正
		if(xmlhttp.overrideMimeType) {
			xmlhttp.overrideMimeType("text/xml");	
		}
	}
	else if(window.ActiveXObject) {
		//针对IE6,5.5,5
		//两个可以创建XMLHttpRequest对象的空间名称，保存在一个JS数组中
		//排在前面的版本较新
		var activeName = ['MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
		for(var i=0;i<activeName.length;i++) {
			try {
				//取出一个空间名进行创建，如果创建成功就终止循环
				//如果创建失败，会抛出异常，然后可以继续循环，继续尝试创建
				xmlhttp = new ActiveXObject(activeName[i]);
			}
			catch(e) {}
		}
	}
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);

	if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
		return xmlhttp.responseText;
	}else{
		return "";
	}
}

function WriteRequest(url)
{
	url = Relative2Absolute(url);
	url = UrlUtil.addParameter(url,"rnd",new Date());
	var Content = GetRequest(url);
	document.write(Content);
}

function Relative2Absolute(u)		//转换为绝对URL
{
  var _href = location.href;
  if(u.indexOf("/")==0){
  	return "http://" + location.host + u;
  }else{
	  var dt = _href.split("?")[0].split("/");
	  dt.length--;
	  while(u.indexOf("../")==0)
	  {
	    u = u.slice(3);
	    dt.length--;
	  }
	  return unescape(dt.join("/")+"/"+u);
  }
}

function UrlUtil() { };
///	<summary>
/// Url帮助函数库
/// </summary>

UrlUtil.getURLParameters = function() {
///	<summary>
/// alert显示参数
///	</summary>
    var sURL = window.document.URL.toString();

    if (sURL.indexOf("?") > 0) {
        var arrParams = sURL.split("?");

        var arrURLParams = arrParams[1].split("&");

        var arrParamNames = new Array(arrURLParams.length);
        var arrParamValues = new Array(arrURLParams.length);

        var i = 0;
        for (i = 0; i < arrURLParams.length; i++) {
            var sParam = arrURLParams[i].split("=");
            arrParamNames[i] = sParam[0];
            if (sParam[1] != "")
                arrParamValues[i] = unescape(sParam[1]);
            else
                arrParamValues[i] = "No Value";
        }

        for (i = 0; i < arrURLParams.length; i++) {
            alert(arrParamNames[i] + " = " + arrParamValues[i]);
        }
    }
    else {
        alert("No parameters.");
    }
};

/**
 * Add a parameter to the url
 */
UrlUtil.addParameter = function(href, name, value) {
///<summary>
///添加参数,若是更改,请先移除再添加之
///</summary>
    
    var delimiter;
    if (href.indexOf("?") == -1)
        delimiter = "?";
    else
        delimiter = "&";
    return href + delimiter + name + "=" + value;
};


/** 
 * remove the parameter from an url
 */
UrlUtil.removeParameter = function(href, name) {
///<summary>
///移除参数,works only for a single paramter
///</summary>

    var tmp = href.split("?");

    var newHref = tmp[0];
    var query = new Array();
    if (tmp[1]) {
        var paramObj = tmp[1].split("&");

        for (var i = 0; i < paramObj.length; i++) {
            if (paramObj[i].indexOf(name + "=") != 0) {
                query.push(paramObj[i]);
            }
        }
    }

    if (query.length > 0) {
        newHref += "?";

        for (var i = 0; i < query.length; i++) {
            newHref += query[i];

            if (i + 1 < query.length) {
                newHref += "&";
            }
        }
    }

    return newHref;
};

/**
 * Is this an external URL containing ://
 */
UrlUtil.isExternal = function(url) {
///<summary>
///Url是否包含"://"符号串
///</summary>
    return url.indexOf("://") != -1;
};