﻿//去掉String两边的空格
String.prototype.Trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
};
//根据浏览器功能而非 User-agent 判断浏览器类型
var Browser = {
    Engine: { name: 'unknown', version: 0 },
    IsIE: true,
    Features: {
        xpath: !!(document.evaluate),     // 是否支持 XPath
        air: !!(window.runtime),        // 是否支持 Air 扩展
        query: !!(document.querySelector) // 是否支持 CSS 选择器
    },
    Engines: {
        // 判断 Opera
        presto: function() {
            return (!window.opera) ?
                false : ((arguments.callee.caller) ?
                    960 : ((document.getElementsByClassName) ? 950 : 925));
        },
        // 判断 IE，根据 ActiveX 和 特有的 XMLHttpRequest 对象
        trident: function() {
            return (!window.ActiveXObject) ?
                           false : ((window.XMLHttpRequest) ? 5 : 4);
        },
        // Webkit 核心的浏览器，如 Safari 和 Chrome
        webkit: function() {
            return (navigator.taintEnabled) ?
                false : ((Browser.Features.xpath) ?
                    ((Browser.Features.query) ? 525 : 420) : 419);
        },
        // Mozilla Gecko 核心浏览器，如 Firefox
        gecko: function() {
            return (document.getBoxObjectFor == undefined) ?
                false : ((document.getElementsByClassName) ? 19 : 18);
        }
    },
    Detect: function() {
        for (var engine in this.Engines) {
            var version = this.Engines[engine]();
            // 如果具有特定的浏览器对象
            if (version) {
                this.Engine = { name: engine, version: version };
                this.Engine[engine] = this.Engine[engine + version] = true;
                break;
            }
        }
        return { name: engine, version: version };
    },
    CheckIE: function() {
        return this.Detect().name == "trident";
    }
};

var $ = function(id) {
    return "string" == typeof id ? document.getElementById(id) : id;
};
var isIE = Browser.CheckIE();
var Class = {
    create: function() {
        return function() { this.initialize.apply(this, arguments); }
    }
};

var Extend = function(destination, source) {
    for (var property in source) {
        destination[property] = source[property];
    }
};

var Bind = function(object, fun) {
    return function() {
        return fun.apply(object, arguments);
    }
};

var BindAsEventListener = function(object, fun) {
    return function(event) {
        return fun.call(object, (event || window.event));
    }
};

var CurrentStyle = function(element) {
    return element.currentStyle || document.defaultView.getComputedStyle(element, null);
};

function addEventHandler(oTarget, sEventType, fnHandler) {
    if (oTarget.addEventListener) {
        oTarget.addEventListener(sEventType, fnHandler, false);
    } else if (oTarget.attachEvent) {
        oTarget.attachEvent("on" + sEventType, fnHandler);
    } else {
        oTarget["on" + sEventType] = fnHandler;
    }
};

function removeEventHandler(oTarget, sEventType, fnHandler) {
    if (oTarget.removeEventListener) {
        oTarget.removeEventListener(sEventType, fnHandler, false);
    } else if (oTarget.detachEvent) {
        oTarget.detachEvent("on" + sEventType, fnHandler);
    } else {
        oTarget["on" + sEventType] = null;
    }
};

//拖放程序   var drag = new Drag("idDrag", { mxContainer: "idContainer", Handle: "idHandle", Limit: true, onStart: function() { }, onMove: function() { }, onStop: function() { } });
var Drag = Class.create();
Drag.prototype = {
    //拖放对象
    initialize: function(drag, options) {
        this.Drag = $(drag); //拖放对象
        this._x = this._y = 0; //记录鼠标相对拖放对象的位置
        this._marginLeft = this._marginTop = 0; //记录margin
        //事件对象(用于绑定移除事件)
        this._fM = BindAsEventListener(this, this.Move);
        this._fS = Bind(this, this.Stop);

        this.SetOptions(options);

        this.Limit = !!this.options.Limit;
        this.mxLeft = parseInt(this.options.mxLeft);
        this.mxRight = parseInt(this.options.mxRight);
        this.mxTop = parseInt(this.options.mxTop);
        this.mxBottom = parseInt(this.options.mxBottom);

        this.LockX = !!this.options.LockX;
        this.LockY = !!this.options.LockY;
        this.Lock = !!this.options.Lock;

        this.onStart = this.options.onStart;
        this.onMove = this.options.onMove;
        this.onStop = this.options.onStop;

        this._Handle = $(this.options.Handle) || this.Drag;
        this._mxContainer = $(this.options.mxContainer) || null;

        this.Drag.style.position = "absolute";
        //透明
        if (isIE && !!this.options.Transparent) {
            //ie6渲染bug
            this._Handle.style.overflow = "hidden";
            //填充拖放对象
            with (this._Handle.appendChild(document.createElement("div")).style) {
                width = height = "100%"; backgroundColor = "#fff"; filter = "alpha(opacity:0)";
            }
        }
        //修正范围
        this.Repair();
        addEventHandler(this._Handle, "mousedown", BindAsEventListener(this, this.Start));
    },
    //设置默认属性
    SetOptions: function(options) {
        this.options = {//默认值
            Handle: "", //设置触发对象（不设置则使用拖放对象）
            Limit: false, //是否设置范围限制(为true时下面参数有用,可以是负数)
            mxLeft: 0, //左边限制
            mxRight: 9999, //右边限制
            mxTop: 0, //上边限制
            mxBottom: 9999, //下边限制
            mxContainer: "", //指定限制在容器内
            LockX: false, //是否锁定水平方向拖放
            LockY: false, //是否锁定垂直方向拖放
            Lock: false, //是否锁定
            Transparent: false, //是否透明
            onStart: function() { }, //开始移动时执行
            onMove: function() { }, //移动时执行
            onStop: function() { } //结束移动时执行
        };
        Extend(this.options, options || {});
    },
    //准备拖动
    Start: function(oEvent) {
        if (this.Lock) { return; }
        this.Repair();
        //记录鼠标相对拖放对象的位置
        this._x = oEvent.clientX - this.Drag.offsetLeft;
        this._y = oEvent.clientY - this.Drag.offsetTop;
        //记录margin
        this._marginLeft = parseInt(CurrentStyle(this.Drag).marginLeft) || 0;
        this._marginTop = parseInt(CurrentStyle(this.Drag).marginTop) || 0;
        //mousemove时移动 mouseup时停止
        addEventHandler(document, "mousemove", this._fM);
        addEventHandler(document, "mouseup", this._fS);
        if (isIE) {
            //焦点丢失
            addEventHandler(this._Handle, "losecapture", this._fS);
            //设置鼠标捕获
            this._Handle.setCapture();
        } else {
            //焦点丢失
            addEventHandler(window, "blur", this._fS);
            //阻止默认动作
            oEvent.preventDefault();
        };
        //附加程序
        this.onStart();
    },
    //修正范围
    Repair: function() {
        if (this.Limit) {
            //修正错误范围参数
            this.mxRight = Math.max(this.mxRight, this.mxLeft + this.Drag.offsetWidth);
            this.mxBottom = Math.max(this.mxBottom, this.mxTop + this.Drag.offsetHeight);
            //如果有容器必须设置position为relative来相对定位，并在获取offset之前设置
            !this._mxContainer || CurrentStyle(this._mxContainer).position == "relative" || (this._mxContainer.style.position = "relative");
        }
    },
    //拖动
    Move: function(oEvent) {
        //判断是否锁定
        if (this.Lock) { this.Stop(); return; };
        //清除选择
        window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
        //设置移动参数
        var iLeft = oEvent.clientX - this._x, iTop = oEvent.clientY - this._y;
        //设置范围限制
        if (this.Limit) {
            //设置范围参数
            var mxLeft = this.mxLeft, mxRight = this.mxRight, mxTop = this.mxTop, mxBottom = this.mxBottom;
            //如果设置了容器，再修正范围参数
            if (!!this._mxContainer) {
                mxLeft = Math.max(mxLeft, 0);
                mxTop = Math.max(mxTop, 0);
                mxRight = Math.min(mxRight, this._mxContainer.clientWidth);
                mxBottom = Math.min(mxBottom, this._mxContainer.clientHeight);
            };
            //修正移动参数
            iLeft = Math.max(Math.min(iLeft, mxRight - this.Drag.offsetWidth), mxLeft);
            iTop = Math.max(Math.min(iTop, mxBottom - this.Drag.offsetHeight), mxTop);
        }
        //设置位置，并修正margin
        if (!this.LockX) { this.Drag.style.left = iLeft - this._marginLeft + "px"; }
        if (!this.LockY) { this.Drag.style.top = iTop - this._marginTop + "px"; }
        //附加程序
        this.onMove();
    },
    //停止拖动
    Stop: function() {
        //移除事件
        removeEventHandler(document, "mousemove", this._fM);
        removeEventHandler(document, "mouseup", this._fS);
        if (isIE) {
            removeEventHandler(this._Handle, "losecapture", this._fS);
            this._Handle.releaseCapture();
        } else {
            removeEventHandler(window, "blur", this._fS);
        };
        //附加程序
        this.onStop();
    }
};

var Check = {
    //检测字符串
    CheckNull: function(strObj) {
        var argv = this.CheckNull.arguments;
        var argc = this.CheckNull.arguments.length;
        var maxLen = (argc > 1) ? argv[1] : 50;
        var minLen = (argc > 2) ? argv[2] : 1;
        var objLen = strObj.replace(/[^\x00-\xff]/g, "aa").length;
        return (objLen >= minLen && objLen <= maxLen);
    },
    //检测是否为数字(小数)
    CheckFloat: function(strObj) {
        return /^(\+|-)?(0|[1-9]\d*)(\.\d*[1-9])?$/.test(strObj);
    },
    //检查输入对象的值是否符合整数格式
    CheckInteger: function(strObj) {
        return /^[-]{0,1}[0-9]{1,}$/.test(strObj);
    },
    //检查输入字符串是否符合正整数格式
    CheckNumber: function(strObj) {
        return /^[0-9]+$/.test(strObj);
    },
    //检查输入字符串是否是带小数的数字格式,可以是负数
    CheckDecimal: function(strObj) {
        if (this.CheckInteger(strObj)) return true;
        var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
        if (re.test(strObj)) {
            if (RegExp.$1 == 0 && RegExp.$2 == 0) return false;
            return true;
        } else {
            return false;
        }
    },
    //校验ip地址的格式
    CheckIP: function(strObj) {
        var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g; //匹配IP地址的正则表达式
        if (re.test(strObj)) {
            if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
        }
        return false;
    },
    //检查输入手机号码是否正确
    CheckMobile: function(strObj) {
        return /^[1][3][0-9]{9}$/.test(strObj);
    },
    //检测邮件格式
    CheckEMail: function(strObj) {
        return /^(([^<>()[\]\\.,;:\s@\""]+(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(strObj);
    },
    //检查输入字符串是否符合金额格式 格式定义为带小数的正数，小数点后最多三位
    CheckMoney: function(strObj) {
        return /^[0-9]+[\.][0-9]{0,3}$/.test(strObj);
    },
    //检查输入字符串是否只由英文字母和数字和下划线组成
    CheckNumberOr_Letter: function(strObj) {//判断是否是数字或字母
        return /^[0-9a-zA-Z\_]+$/.test(strObj);
    },
    //检查输入字符串是否只由英文字母和数字组成
    CheckNumberOrLetter: function(strObj) {//判断是否是数字或字母
        return /^[0-9a-zA-Z]+$/.test(strObj);
    },
    //检查输入字符串是否只由汉字、字母、数字组成
    CheckChinaOrNumbOrLett: function(strObj) {//判断是否是汉字、字母、数字组成
        return /^[0-9a-zA-Z\u4e00-\u9fa5]+$/.test(strObj);
    }
};

var Cookies = {
    myDomain: ".renjoin.com",
    //设定Cookie值
    SetCookie: function(name, value) {
        var expdate = new Date();
        var argv = Cookies.SetCookie.arguments;
        var argc = Cookies.SetCookie.arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : null;
        var secure = (argc > 4) ? argv[4] : false;
        if (expires != null) expdate.setTime(expdate.getTime() + (expires * 1000 * 60 * 60 * 24));
        document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : (";  expires=" + expdate.toGMTString()))
+ ((path == null) ? "" : (";  path=" + path)) + "; domain=" + this.myDomain + ((secure == true) ? ";  secure" : "");
    },
    //取cookies函数   
    GetCookie: function(name) {
        var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
        if (arr != null) return unescape(arr[2]); return null;
    },
    //删除cookie
    DelCookie: function(name) {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval = getCookie(name);
        if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";domain=" + myDomain;
    }
};

/* 加载xml文件
使用例子
Xml.fileRoute = "../xml/game.xml";
Xml.loadXML();
var  info = Xml.xmlDoc.getElementsByTagName("game");
*/
var Xml = {
    xmlDoc: "",
    browse: "",
    fileRoute: '',
    loadXML: function() {
        if (window.ActiveXObject) {
            this.xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
            this.xmlDoc.async = false;
            this.xmlDoc.load(this.fileRoute);
            this.browse = "ie";
        }
        else if (document.implementation && document.implementation.createDocument) {
            this.xmlDoc = document.implementation.createDocument('', '', null);
            this.xmlDoc.async = false;
            this.xmlDoc.load(this.fileRoute);
            this.browse = "ff";
        }
        else {
            alert('未做与该浏览器的兼容！');
        }
    }
};

var Img = {
    allowExt: ".jpg,.jpge,.gif,.png",
    errMsg: "",
    CheckImg: function(obj) {
        if (obj.value.Trim().length < 1) {
            this.errMsg = "\n请选择一个文件";
        }
        else {
            var fileExt = obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
            if (this.allowExt.indexOf(fileExt) == -1) {
                this.errMsg = "\n该文件类型不允许上传。请上传 " + this.allowExt + " 类型的文件，当前文件类型为" + fileExt;
            }
            else {
                this.errMsg = "";
            }
        }
        if (this.errMsg.length > 2) {
            alert(this.errMsg);
            return false;
        }
        return true;
    },
    //图像等比例收缩，ImgD 为待处理的图片，iwidth为显示的最大宽度，iheight为显示的最大高等,argv[3]为存放图片容器的高度(作用：使图片在容器内垂直居中)
    ResizeImg: function(ImgD, iwidth, iheight) {
        var image = new Image();
        image.src = ImgD.src;
        if (image.width > 0 && image.height > 0) {
            if (image.width / image.height >= iwidth / iheight) {
                if (image.width > iwidth) {
                    ImgD.style.height = ((image.height * iwidth) / image.width) + "px";
                    ImgD.style.width = iwidth + "px";
                }
                else {
                    ImgD.style.width = image.width + "px";
                    ImgD.style.height = image.height + "px";
                }
            }
            else {
                if (image.height > iheight) {
                    ImgD.style.width = ((image.width * iheight) / image.height) + "px";
                    ImgD.style.height = iheight + "px";
                }
                else {
                    ImgD.style.width = image.width + "px";
                    ImgD.style.height = image.height + "px";
                }
            }
        }
        var argv = Img.ResizeImg.arguments;
        var argc = Img.ResizeImg.arguments.length;
        if (argc > 3) {
            ImgD.style.marginTop = parseInt((argv[3] - parseInt(ImgD.style.height)) / 2) + "px";
        }
    }
};
var ajax = {
    url: '',
    method: '',
    parameters: '',
    isAsynchronous: true,
    xmlResult: undefined,
    response: undefined,
    errMes: '',
    getXMLHttp: function() {
        var xmlhttp;
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (ex) {
            try {
                xmlhttp = new window.XMLHttpRequest();
            }
            catch (ex) {
                try {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (ex) {
                    alert("您的浏览器不支持ajax无法使用我们网站部分功能！！！");
                }
            }
        }
        return xmlhttp;
    },
    onSuccess: function() {
        //        alert(this.xmlResult.xml);
    },
    onErr: function() {
        //        alert(this.errMes);
    },
    open: function() {
        var xmlhttp;
        if (this.url != "") {
            if (!(xmlhttp = this.getXMLHttp())) return;
            if (this.method.toLowerCase() == "post") {
                xmlhttp.open('POST', this.url, this.isAsynchronous);
                xmlhttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
            }
            else {
                xmlhttp.open('GET', this.url, this.isAsynchronous);
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4) {
                    if (xmlhttp.status == 200) {
                        ajax.response = xmlhttp.responseText.replace(/<\/?[^>]+>/gi, '').replace('\r\n', '');
                        ajax.xmlResult = xmlhttp.responseXML;
                        if (ajax.xmlResult.getElementsByTagName("err").length > 0) {
                            ajax.errMes = ajax.xmlResult.getElementsByTagName("err")[0].nodeValue;
                            ajax.onErr();
                        }
                        else {
                            ajax.onSuccess();
                        }
                    }
                    else {
                        ajax.errMes = xmlhttp.statusText;
                        ajax.onErr();
                    }
                }
            };
            if (this.method.toLowerCase() == "post") {
                xmlhttp.send(this.parameters);
            }
            else {
                xmlhttp.send(null);
            }
        }
    }
};
var Utility = {
    marginLeft: 160,
    marginTop: 3,
    width: '140',
    height: '25',
    Handle: function() { alert('a'); },
    nowLocation: function(obj) {
        var lo = new Object();
        lo.x = obj.offsetLeft;
        lo.y = obj.offsetTop;
        while (obj = obj.offsetParent) {
            lo.x += obj.offsetLeft;
            lo.y += obj.offsetTop;
        }
        return lo;
    },
    Show: function(obj, mes, isTrue) {
        var argv = this.Show.arguments;
        var argc = this.Show.arguments.length;
        var point = this.nowLocation(obj);
        var str = isTrue ? "<img src='./Images/Pass.gif' style='vertical-align:middle;' />" : ("<img src='./Images/Wrong.gif' style='vertical-align:middle;margin-right:5px;'/>" + mes);
        var mesFrame = $(obj.id + "cut");
        if (mesFrame == null) {
            mesFrame = document.createElement("span");
        }
        mesFrame.id = obj.id + "cut";
        mesFrame.style.width = this.width + "px";
        mesFrame.style.height = this.height + "px";
        mesFrame.style.position = "absolute";
        mesFrame.style.zIndex = '999';
        mesFrame.style.left = (point.x + this.marginLeft) + 'px';
        mesFrame.style.top = (point.y + this.marginTop) + 'px';
        mesFrame.innerHTML = str;
        document.body.appendChild(mesFrame);
    },
    OpenDiv: function() {
        var scrolltop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
        var _clientheight = 0;
        //ie FF  在有DOCTYPE时各有区别 
        _clientheight = Math.min(document.body.clientHeight, document.documentElement.clientHeight);
        if (_clientheight == 0)
            _clientheight = Math.max(document.body.clientHeight, document.documentElement.clientHeight);
        var _clientwidth = document.documentElement.clientWidth || document.body.clientWidth;
        //整个页面的高度
        var _pageheight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
        Utility.Handle();
        // 锁屏图层
        var newMask = document.createElement("div");
        newMask.id = "layer";
        newMask.style.position = "absolute";
        newMask.style.zIndex = "998";
        newMask.style.width = _clientwidth + "px";
        newMask.style.height = _pageheight + "px";
        newMask.style.top = "0px";
        newMask.style.left = "0px";
        newMask.style.background = "#777";
        newMask.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
        newMask.style.opacity = "0.20";
        document.body.appendChild(newMask);
        return false;
    },
    CloseDiv: function(id) {
        if ($(id) != null) {
            document.body.removeChild($(id));
        }
    },
    //获取url参数
    GetQuery: function(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null)
            return unescape(r[2]);
        return null;
    },
    //复制到剪贴版
    CopyToClipboard: function(meintext) {
        if (window.clipboardData) {
            window.clipboardData.setData("Text", meintext);
        }
        else if (window.netscape) {
        try {
            netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); 
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            } catch (e) {
                alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
            }
            var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
            if (!clip) return;
            var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
            if (!trans) return;
            trans.addDataFlavor('text/unicode');
            var str = new Object();
            var len = new Object();
            str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
            var copytext = meintext;
            str.data = copytext;
            trans.setTransferData("text/unicode", str, copytext.length * 2);
            var clipid = Components.interfaces.nsIClipboard;
            if (!clip) return false;
            clip.setData(trans, null, clipid.kGlobalClipboard);
        }
        alert("复制成功，请粘贴到你的QQ/MSN上推荐给你的好友");
        return false;
    },
    //加入收藏 
    AddFavorite: function(sURL, sTitle) {
        try {
            window.external.addFavorite(sURL, sTitle);
        }
        catch (e) {
            try {
                window.sidebar.addPanel(sTitle, sURL, "");
            }
            catch (e) {
                alert("加入收藏失败，请使用Ctrl+D进行添加");
            }
        }
    },
    //设为主页
    SetHome: function(obj, vrl) {
        try {
            obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl);
        }
        catch (e) {
            if (window.netscape) {
                try {
                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                }
                catch (e) {
                    alert("此操作被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车\n然后将[signed.applets.codebase_principal_support]设置为'true'");
                }
                var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
                prefs.setCharPref('browser.startup.homepage', vrl);
                alert("设置成功");
            }
        }
    }
};

var Renjoin = {
    Success: function() { },
    Fail: function() { },
    CheckLogin: function() {
        ajax.url = "./WebService/EHome.asmx/CheckLogin";
        ajax.onSuccess = function() {
            if (ajax.response != "0") {
                Renjoin.Success();
            }
            else {
                Renjoin.Fail();
            }
        };
        ajax.open();
    },
    Login: function(name, pw) {
        ajax.url = "./WebService/EHome.asmx/Login?name=" + escape(name.Trim()) + "&pw=" + escape(pw.Trim());
        ajax.onSuccess = function() {
            if (ajax.response != "0") {
                Renjoin.Success();
            }
            else {
                Renjoin.Fail();
            }
        };
        ajax.open();
    },
    LoginOut: function() {
        ajax.url = "./WebService/EHome.asmx/LoginOut";
        ajax.onSuccess = function() {
            Renjoin.Success();
        };
        ajax.open();
    },
    Bind: function(obj, node) {
        obj.length = 0;
        var xmlNode = ajax.xmlResult.getElementsByTagName(node);
        for (var i = 0; i < xmlNode.length; i++) {
            var op = new Option();
            op.text = xmlNode[i].attributes[0].nodeValue;
            op.value = xmlNode[i].attributes[1].nodeValue;
            obj.options.add(op);
        }
    },
    ProvinceChange: function(me, City) {
        var ddlcity = $(City);
        var argv = this.ProvinceChange.arguments;
        ddlcity.length = 0;
        if (me.value != 0) {
            ajax.url = "./WebService/EHome.asmx/GetCity?province=" + me.value + "&tp=" + (argv.length - 1);
            ajax.onSuccess = onSuccess;
            ajax.open();
        }
        function onSuccess() {
            Renjoin.Bind($(City), 'city');
            if (argv.length > 2) {
                var scitys = ajax.xmlResult.getElementsByTagName("scity");
                if (scitys.length > 0) {
                    Renjoin.Bind($(argv[2]), 'scity');
                }
                else {
                    $(argv[2]).length = 0;
                    var op = new Option();
                    op.text = "区域";
                    op.value = "0";
                    $(argv[2]).options.add(op);
                }
            }
            if (argv.length > 3) {
                var town = ajax.xmlResult.getElementsByTagName("town");
                if (town.length > 0) {
                    Renjoin.Bind($(argv[3]), 'towm');
                }
                else {
                    $(argv[3]).length = 0;
                    var op = new Option();
                    op.text = "城镇";
                    op.value = "0";
                    $(argv[3]).options.add(op);
                }
            }
        }
    },
    CityChange: function(me, SCity) {
        var argv = this.CityChange.arguments;
        if (me.value != 0) {
            ajax.url = "./WebService/EHome.asmx/GetSCity?city=" + me.value + "&tp=" + (argv.length - 1);
            ajax.onSuccess = function() {
                var scitys = ajax.xmlResult.getElementsByTagName("scity");
                if (scitys.length > 0) {
                    Renjoin.Bind($(SCity), 'scity');
                }
                else {
                    $(SCity).length = 0;
                    var op = new Option();
                    op.text = "区域";
                    op.value = "0";
                    $(SCity).options.add(op);
                }
                if (argv.length > 2) {
                    var town = ajax.xmlResult.getElementsByTagName("town");
                    if (town.length > 0) {
                        Renjoin.Bind($(argv[2]), 'towm');
                    }
                    else {
                        $(argv[2]).length = 0;
                        var op = new Option();
                        op.text = "城镇";
                        op.value = "0";
                        $(argv[2]).options.add(op);
                    }
                }
            };
            ajax.open();
        }
    },
    GetTown: function(me, Town) {
        var argv = this.CityChange.arguments;
        if (me.value != 0) {
            ajax.url = "./WebService/EHome.asmx/GetTown?scity=" + me.value;
            ajax.onSuccess = function() {
                var town = ajax.xmlResult.getElementsByTagName("town");
                if (town.length > 0) {
                    Renjoin.Bind($(Town), 'towm');
                }
                else {
                    $(Town).length = 0;
                    var op = new Option();
                    op.text = "城镇";
                    op.value = "0";
                    $(Town).options.add(op);
                }
            };
            ajax.open();
        }
    },
    LoadArea: function(province, city) {
        var argv = this.LoadArea.arguments;
        ajax.url = "./WebService/EHome.asmx/GetArea";
        ajax.onSuccess = function() {
            Renjoin.Bind($(province), 'province');
            $(province).value = '32000000';
            Renjoin.Bind($(city), 'city');
            $(city).value = '32050000';
            if (argv.length > 2) {
                Renjoin.Bind($(argv[2]), 'scity');
                $(argv[2]).value = '32051100';
            }
            if (argv.length > 3) {
                Renjoin.Bind($(argv[3]), 'town');
            }
        };
        ajax.open();
    }
};
