﻿/* register check start */
var errorimg = "<img src=\"../images/err.gif\" width=\"12\" height=\"12\" /> ";
var okimg = "<img src=\"../images/ok.gif\" width=\"12\" height=\"12\" /> ";
function checkPsd() {
    var psd = $("txtPsd").value;
    if (psd == "") {
        $("rfPsd").innerHTML = errorimg + "密码必须输入";
        $("rfPsd").style.visibility = "";
        return false;
    }
    var reg = new RegExp("^\\w{6,16}$");
    if (!psd.match(reg)) {
        $("rfPsd").innerHTML = errorimg + "密码不符合要求";
        $("rfPsd").style.visibility = '';
        return false;
    }
    return true;
}

function checkPsdRepeat() {
    var psd = $("txtPsd2").value;
    if (psd == "") {
        $("rfPsd2").innerHTML = errorimg + "确认密码必须输入";
        $("rfPsd2").style.visibility = "";
        return false;
    }
    var reg = new RegExp("^\\w{6,16}$");
    if (!psd.match(reg)) {
        $("rfPsd2").innerHTML = errorimg + "密码不符合要求";
        $("rfPsd2").style.visibility = "";
        return false;
    }
    var psd1 = $("txtPsd").value;
    if (psd != psd1) {
        $("rfPsd2").innerHTML = errorimg + "两次密码输入不相符";
        $("rfPsd2").style.visibility = "";
        return false;
    }
    return true;
}

function checkUserRepeat() {
    var userid = $("txtUser").value;
    if (userid == "") {
        $("rfUser").innerHTML = errorimg + "用户名必须输入";
        $("rfUser").style.visibility = "";
        return false;
    }
    var reg = new RegExp("^\\w{6,16}$");
    if (!userid.match(reg)) {
        $("rfUser").innerHTML = errorimg + "用户名不符合要求";
        $("rfUser").style.visibility = "";
        return false;
    }
    if (userid != "") {
        ajaxargs = {
            method: 'get',
            onComplete: function(reg) {
                var msg = reg.responseText;
                if (msg != "ok") {
                    $("rfUser").innerHTML = errorimg + msg;
                    $("rfUser").style.visibility = "";
                }
                else {
                    $("txtUserSuccess").value = "ok"
                    $("rfUser").innerHTML = okimg + "用户名可以使用";
                    $("rfUser").style.visibility = "";
                }
            }
        };
        new Ajax(
        "UserPage.aspx?type=checkuser&userid=" + userid, //想要访问的url
        ajaxargs //参数
    );
    }
    return true;
}

function checkEmail() {
    var email = $("txtEmail").value;
    if (email == "") {
        $("rfEmail").innerHTML = errorimg + "Email必须输入";
        $("rfEmail").style.visibility = "";
        return false;
    }
    var reg = new RegExp("^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
    if (!email.match(reg)) {
        $("rfEmail").innerHTML = errorimg + "请输入正确的Email地址";
        $("rfEmail").style.visibility = "";
        return false;
    }
    return true;
}

function checkTel(tp) {
    var tel = $("txtTelephone" + tp).value;
    if (tel == "") return true;

    tel = tel.replace("-", "");
    tel = tel.replace("－", "");
    tel = tel.replace("", "");

    var reg = new RegExp("^\\d{11}$");
    if (!tel.match(reg)) {
        $("rfTel" + tp).innerHTML = errorimg + "请输入正确的手机号码";
        $("rfTel" + tp).style.visibility = "";
        return false;
    }
    else {
        return true;
    }
}

function checkNum(objname, msgobjname, msg) {
    var vle = $(objname).value;
    if (vle == "") return true;

    var reg = new RegExp("^\\d+$");
    if (!vle.match(reg)) {
        $(msgobjname).innerHTML = errorimg + msg;
        $(msgobjname).style.visibility = "";
        return false;
    }
    else {
        return true;
    }
}

function checkZipCode() {
    var vle = $("txtCode").value;
    if (vle == "") return true;

    var reg = new RegExp("^\\d{6}$");
    if (!vle.match(reg)) {
        $("rfCode").innerHTML = errorimg + "邮编格式有误";
        $("rfCode").style.visibility = "";
        return false;
    }
    else {
        return true;
    }
}

function submitForm() {
    var b;

    if ($("txtUserSuccess").value != "ok") {
        b = checkUserRepeat();
        if (!b) return false;
    }

    b = checkPsd();
    if (!b) return false;

    b = checkPsdRepeat();
    if (!b) return false;

    b = checkEmail();
    if (!b) return false;

    b = checkTel("");
    if (!b) return false;

    b = checkTel("2");
    if (!b) return false;

    b = checkTel("3");
    if (!b) return false;

    b = checkZipCode();
    if (!b) return false;

    b = checkNum("txtAge", "rfAge", "年龄只能为整数");
    if (!b) return false;

    b = checkNum("txtSpeed", "rfSpeed", "通常时速只能为整数");
    if (!b) return false;

    b = checkNum("txtCarAge", "rfCarAge", "年限只能为整数");
    if (!b) return false;

    b = checkNum("txtDriveAge", "rfDriveAge", "驾龄只能为整数");
    if (!b) return false;

    var vle = $("txtValidateCode").value;
    if (vle == "") {
        $("rfValidate").style.visibility = "";
        $("rfValidate").innerHTML = errorimg + "验证码必须输入";
        return false;
    }

    return true;
}

function submitEditForm() {
    var b;

    b = checkEmail();
    if (!b) return false;

    b = checkTel("");
    if (!b) return false;

    b = checkTel("2");
    if (!b) return false;

    b = checkTel("3");
    if (!b) return false;

    b = checkZipCode();
    if (!b) return false;

    b = checkNum("txtAge", "rfAge", "年龄只能为整数");
    if (!b) return false;

    b = checkNum("txtCommonSpeed", "rfSpeed", "通常时速只能为整数");
    if (!b) return false;

    b = checkNum("txtAgeLimit", "rfCarAge", "年限只能为整数");
    if (!b) return false;

    b = checkNum("txtAgeDrive", "rfDriveAge", "驾龄只能为整数");
    if (!b) return false;
    /* 
    var vle = $("txtValidateCode").value;
    if (vle == "") {
    $("rfValidate").style.visibility = "";
    $("rfValidate").innerHTML = errorimg + "验证码必须输入";
    return false;
    }
    */
    return true;
}

function freshValidateCode(obj) {
    $("imgValidate").src = "ValidateCode.aspx?r=" + Math.random();
}
/* register check end*/

/*
* user login
*/
function loginFunction() {
    var username = $("txtUserName").value;
    var psd = $("txtPassword").value;
    if (user == "" || psd == "") {
        alert("请输入用户名、密码！");
    }
    else {
        var remember = $("ckbLoginCookie").checked;
        var cookietime = (remember) ? 30 : 0;
        user.login(username, psd, cookietime);
        $("loginPanel").style.display = 'none';
    }
}

var user = {
    userId: '',
    userName: '',
    realName: '',
    userType: '',
    randomKey: '',

    loginInfo: function() {
        //return "<font color=blue>" + user.realName + "，欢迎您！&nbsp;</font> <a href='javascript:void(0)' onclick=\"user.logout();\">退出</a>"
        // + "<br/><form name='formEdit' action='UserEdit.aspx' method='post' target='_blank'><input type='hidden' name='userId' value='" + user.userId + "' /><input type='hidden' name='key' value='" + user.randomKey + "' />"
        // + "<a href='javascript:formEdit.submit();' >管理我的资料</a> <a href='PasswordEdit.aspx?id=" + user.userId + "' target=\"_blank\">修改密码</a></form>";
        return "<form name='formEdit' action='UserEdit.aspx' method='post' target='_blank'><input type='hidden' name='userId' value='" + user.userId + "' /><input type='hidden' name='key' value='" + user.randomKey + "' />"
         + "<a href='javascript:document.formEdit.submit();' title='管理我的资料\r\n修改密码' >" + user.realName + "</a>，欢迎您！&nbsp; <a href='javascript:void(0)' onclick=\"user.logout();\">退出</a></form>";
    },
    notLoginInfo: function() {
        return "<a href='javascript:void(0)' onclick=\"loadLoginHtml();\">登录</a>&nbsp;<a href='Register.htm' target=\"_blank\">注册</a>&nbsp;<a href='ForgetPsd.aspx' target=\"_blank\">忘记密码</a>";
    },
    checkLogin: function() {
        if (user.userId == "") {
            user.userId = Cookie.getCookie("userId");
            user.userName = Cookie.getCookie("userName");
            user.realName = Cookie.getCookie("realName");
            user.userType = Cookie.getCookie("userType");
            user.randomKey = Cookie.getCookie("randomKey");
        }
        if (user.userId == "") {
            $("loginInfo").innerHTML = user.notLoginInfo();

            return false;
        }
        else {
            $("loginInfo").innerHTML = user.loginInfo();
            return true;
        }
    },
    login: function(username, psw, expireDays) {
        if ($("txtPassword"))
            $("txtPassword").value = "";

        ajaxargs = {
            method: 'get',
            onComplete: function(reg) {
                var msg = reg.responseText;
                if (msg != "error") {
                    eval("var data=" + reg.responseText);
                    user.userId = data[0];
                    user.userName = username;
                    user.realName = data[1];
                    user.userType = data[2];
                    user.randomKey = data[3];
                    Cookie.setMCookie("userId", user.userId, { expireDays: expireDays, path: "/" });
                    Cookie.setMCookie("userName", user.userName, { expireDays: expireDays, path: "/" });
                    Cookie.setMCookie("realName", user.realName, { expireDays: expireDays, path: "/" });
                    Cookie.setMCookie("userType", user.userType, { expireDays: expireDays, path: "/" });
                    Cookie.setMCookie("randomKey", user.randomKey, { expireDays: expireDays, path: "/" });
                    $("loginInfo").innerHTML = user.loginInfo();

                    if ($("searchlink3").className == "sellink") {//如果是初次登录，则加载我的地图
                        loadMyMapList();
                    }
                    else if ($("operate_title").innerHTML.indexOf("我的地图") != -1) {
                        loadSearchPanel(3);
                        loadMyMapList();
                    }
                }
                else {
                    alert("登录失败。用户名或者密码错误！");
                }
            }
        };
        new Ajax(
        "UserPage.aspx?type=userlogin&user=" + username + "&psd=" + psw +"&expireDays="+expireDays +"&r=" + Math.random(), //想要访问的url
        ajaxargs //参数
    );
    },
    logout: function() {
        user.userId = '';
        Cookie.setMCookie("userId", user.userId, { expireDays: -1, path: "/" });
        Cookie.setMCookie("userName", user.userName, { expireDays: -1, path: "/" });
        Cookie.setMCookie("realName", user.realName, { expireDays: -1, path: "/" });
        Cookie.setMCookie("userType", user.userType, { expireDays: -1, path: "/" });
        Cookie.setMCookie("randomKey", user.randomKey, { expireDays: -1, path: "/" });
        ajaxargs = {
            method: "get",
            onComplete: function(req) {
            }
        };
        new Ajax(
         "UserPage.aspx?type=userloginout&r=" + Math.random(), //想要访问的url
         ajaxargs
        );
        if ($("searchlink3").className == "sellink") {
            initMyMapText();
        }
        else if ($("operate_title").innerHTML.indexOf("我的地图") != -1) {
            firstLoadMyMap = true;
            loadSearchPanel(3);
        }

        $("loginInfo").innerHTML = user.notLoginInfo();
    }
}
/**
* cookie operate
*/
var Cookie = new Object();
Cookie.setCookie = function(name, value, option) {
    //用于存储赋值给document.cookie的cookie格式字符串
    var str = name + "=" + escape(value);
    if (option) {
        //如果设置了过期时间
        if (option.expireDays) {
            var date = new Date();
            var ms = option.expireDays * 24 * 3600 * 1000;
            date.setTime(date.getTime() + ms);
            str += "; expires=" + date.toGMTString();
        };
        if (option.path) str += "; path=" + option.path;
        if (option.domain) str += "; domain=" + option.domain;
        if (option.secure) str += "; true";
    };
    document.cookie = str;
};
Cookie.setMCookie = function(name, value, option) {
    var domain = location.href.indexOf("everywhere.com.cn") == -1 ? "" : "everywhere.com.cn";
    if (!option) option = { expireDays: '30', domain: domain, path: '/' }
    else {
        option.domain = domain;
    }
    Cookie.setCookie(name, value, option);
};
Cookie.getCookie = function(name) {
    var cookieRet = "";
    var cookieArray = document.cookie.split("; ");
    var cookie = new Object();
    for (var i = 0; i < cookieArray.length; i++) {
        var arr = cookieArray[i].split("=");
        if (arr[0] == name) { cookieRet = unescape(arr[1]) };
    };
    return cookieRet;
};
Cookie.deleteCookie = function(name) {
    this.setCookie(name, "", { expireDays: -1 });
};

//登录框
function loadLoginHtml(bClear) {
    closeAlertDiv();
    var w = getWindowWidth();
    var h = getWindowHeight();

    if ($("loginPanel")) {
        $("loginPanel").style.display = '';
        $("loginContainer").style.width = w + 'px';
        $("loginContainer").style.height = h + 'px';
        $("loginDiv").style.top = ((h - 200) / 3) + 'px';
        $("loginDiv").style.left = (w / 2 - 200) + 'px';
    }
    else {
        var div = document.createElement("div");
        div.id = "loginPanel";
        rsArr = [];
        rsArr.push('<div id="loginContainer" style="position:absolute; width:' + w + 'px; height:' + h + 'px; top:0px; left:0px; margin:auto;"></div>');
        rsArr.push('<div id=\"loginDiv\" style="top:' + ((h - 200) / 3) + 'px; left:' + (w / 2 - 200) + 'px;width:400px;" ><table id=\"loginTable\" cellpadding=\"0\" cellspacing=\"0\"><tr height="15"  class="floatDivTitle"><td class="loginTitle">&nbsp;用户登录</td><td align="right" ><img src="../images/close.gif" style="width:15px;height:15px;cursor:pointer; padding-right:5px;" onclick="$(\'loginPanel\').style.display=\'none\';" alt="关闭"></td></tr><tr><td colspan="2" style="background:#FAF9F4;" valign="top">');
        rsArr.push('<table align="center" width="100%" cellpadding="3">');
        rsArr.push('<tr><td align="right">用户名：</td><td><input type="text" id="txtUserName" class="loginInput" /> <a href="" style="display:none" target="_blank">忘记用户名？</a></td></tr>');
        rsArr.push('<tr><td align="right">密　码：</td><td><input type="password" id="txtPassword" class="loginInput" /> <a href="ForgetPsd.aspx" target="_blank">忘记密码？</a></td></tr>');
        rsArr.push('<tr><td></td><td><input id="ckbLoginCookie" type="checkbox" checked="checked" /><label for="ckbLoginCookie">在此计算机上保留我的登录信息</label></td></tr>');
        rsArr.push('<tr><td></td><td><input type="button" value="登录" onclick="loginFunction();" />&nbsp;&nbsp;<input type="button" value="取消" onclick="$(\'loginPanel\').style.display=\'none\';" /></td></tr>');
        rsArr.push('<tr><td></td><td><br/>还没有注册？ <a href="Register.htm" target="_blank">点击这里注册新用户</a></td></tr>');
        rsArr.push('</table>');
        rsArr.push('</td><tr></table></div>');
        div.innerHTML = rsArr.join("");
        rsArr = [];

        document.body.appendChild(div);
        document.body.insertBefore(div, document.body.lastChild);
    }
    if (bClear && $("searchlink3").className == "sellink") {
        initMyMapText();
    }
    $("txtUserName").focus();
}
