﻿//简化写法
$=function (ipt) {return document.getElementById(ipt);};

//命名空间对象
var CommonJs={};

//浏览器判断
CommonJs.sUserAgent=navigator.userAgent;//浏览器的user-agent字符串
CommonJs.isOpera = (CommonJs.sUserAgent.indexOf("Opera") > -1);//判断是否为Opera浏览器
CommonJs.isKHTML = ((CommonJs.sUserAgent.indexOf("KHTML") > -1) || (CommonJs.sUserAgent.indexOf("Konqueror") > -1) || (CommonJs.sUserAgent.indexOf("AppleWebKit") > -1));//判断是否基于KHTML的浏览器
CommonJs.isIE = ((CommonJs.sUserAgent.indexOf("compatible") > -1) && (CommonJs.sUserAgent.indexOf("MSIE") > -1) && (!CommonJs.isOpera));//判断是否是IE浏览器
CommonJs.isMoz = ((CommonJs.sUserAgent.indexOf("Gecko") > -1) && (!CommonJs.isKHTML));//判断是否是Mozilla或FF浏览器

//Ajax类
CommonJs.Ajax = function () {};

//原型对象属性：初始化XMLHTTP对象的方法
CommonJs.Ajax.prototype._HttpCreators=[
    function () { return new XMLHttpRequest(); },
    function () { return new ActiveXObject("Msxml2.XMLHTTP"); },
    function () { return new ActiveXObject("Microsoft.XMLHTTP"); }
];

//原型对象方法：当前使用的初始化XMLHTTP方法
CommonJs.Ajax.prototype._CurrentHttpCreator=null;

//原型对象方法：初始化XMLHTTP方法的选择过程
CommonJs.Ajax.prototype._GetHttpObject=function () {
    if (CommonJs.Ajax.prototype._CurrentHttpCreator!=null)
    {
        return CommonJs.Ajax.prototype._CurrentHttpCreator();
    }
    for (var i=0;i<CommonJs.Ajax.prototype._HttpCreators.length;i++)
    {
        try 
        {
            var creator=CommonJs.Ajax.prototype._HttpCreators[i];
            var httpobject=creator();
            if(httpobject!=null)
            {
                CommonJs.Ajax.prototype._CurrentHttpCreator=creator;
                return httpobject;
            }
        }
        catch(e)
        {
            continue;
        }
    }
    CommonJs.Ajax.prototype._CurrentHttpCreator=function() {
        alert("您的浏览器不支持Ajax通讯");
        throw new Error("您的浏览器不支持Ajax通讯");
    };
    CommonJs.Ajax.prototype._CurrentHttpCreator();
};
