﻿function JoinInit() {
    $("#txtEmail").val("");
    $("#txtPassword").val("");
    $("#txtUserName").val("");
    $("#UP_txtEmail").val("");
    $("#UP_txtEmail").val("");
    $("#UP_txtPassword").val("");

    if (Sys.ie) {
        if (isIE8()) 
        {
            DrawDivPopup('popUsername', '\n\n\nURL must be at least 4\ncharacters long.They can only co\n-ntain the characters a-z,A-Z,0-9,\n-, _,and must begin with either\naletter, a number, or an unders\n-core. Spaces are not allowed.', 198, 100, 100, 35);   // username already in use
            DrawDivPopup('popPassword', '\n\nPasswords must be at least 6 \n characters long and at most 15 \n characters long.contain the ch\n-aracters a-z, A-Z, 0-9, -, _,co\n-ntain no spaces.', 198, 83, 100, 35);
        }
        else {
            DrawDivPopup('popUsername', '\n\n\nURL must be at least 4\ncharacters long.They can only co\n-ntain the characters a-z,A-Z,0-9,\n-, _,and must begin with either\naletter, a number, or an unders\n-core. Spaces are not allowed. ', 198, 100, 100, 10);   // username already in use
            DrawDivPopup('popPassword', '\n\nPasswords must be at least 6 \n characters long and at most 15 \n characters long.contain the ch\n-aracters a-z, A-Z, 0-9, -, _,co\n-ntain no spaces.', 198, 83, 100, 10);
        }
    }
    else if (Sys.opera)
    {
        DrawDivPopup('popUsername', '\n\n\nURL must be at least 4\ncharacters long.They can only co\n-ntain the characters a-z,A-Z,0-9,\n-, _,and must begin with either\naletter, a number, or an unders\n-core. Spaces are not allowed.', 198, 100, 100, 55);   // username already in use
        //DrawDivPopup('popPassword', '\n\nPasswords must be at least 6 \n characters long. They can only \ncontain the charactersa-z, A-Z,\n 0-9, -, _, contain no spaces,and\ncannot start with a zero.', 198, 83, 100, 45);
        DrawDivPopup('popPassword', '\n\nPasswords must be at least 6 \n characters long and at most 15 \n characters long.contain the ch\n-aracters a-z, A-Z, 0-9, -, _,co\n-ntain no spaces.', 198, 83, 100, 45);
    }
    else {
        DrawDivPopup('popUsername', '\n\n\nURL must be at least 4\ncharacters long.They can only co\n-ntain the characters a-z,A-Z,0-9,\n-, _,and must begin with either\naletter, a number, or an unders\n-core. Spaces are not allowed.', 198, 100, 100, 10);   // username already in use
        //DrawDivPopup('popPassword', '\n\nPasswords must be at least 6 \n characters long. They can only \ncontain the charactersa-z, A-Z,\n 0-9, -, _, contain no spaces,and\ncannot start with a zero.', 198, 83, 100, 10);
        DrawDivPopup('popPassword', '\n\nPasswords must be at least 6 \n characters long and at most 15 \n characters long.contain the ch\n-aracters a-z, A-Z, 0-9, -, _,co\n-ntain no spaces.', 198, 83, 100, 10);
    }
    DrawDivPopup('popEmail', 'invalid email  format.', 178, 40, 70, 27);
    DrawDivPopup('popEmailUsed', 'Email has been used.', 178, 28, 0, 0);
    DrawDivPopup('popUsernameUsed', 'username has been used.', 178, 28, 0, 0);
    DrawPopupto('popError', 'username or email and \n password  do not match', 187, 35);
    var num = document.documentElement.clientHeight-170-146;
    if(num<280)
        num = 280;
    $("#slideShowCenter").height(num);
    var num2 = document.documentElement.clientHeight - 170 - 146 - 280;
    num2 = Math.floor(num2 / 2);
    if (num2 < 0)
        num2 = 0;
    $("#topSginUp").css("padding-top", num2 + "px");
    var num3 = num2 + 50;
    $("#defaultError").css("margin-top", num3 + "px");
    $("#topSginUp").show();
    showchange(true);
    slideTimer = setTimeout(onSlideStart, 3000);
}

function LoginSuccesPage() {
    if (isEmailSucces == 0) {
        if (validateEmail() != 0 && validatePassWord() != 0) {
            //调用服务器端注册方法
            var strUserEmail = $("#txtEmail").val();
            var strPassowrd = $("#txtPassword").val();
            _Default.setSignIn(strUserEmail, strPassowrd, true, signInResult);
        }
        else if (validateEmail() == 0) {
            $("#popEmail").show();
            $("#txtEmail").css("color", "#c06867");
        }
        else if (validatePassWord() == 0) {
            $("#popPassword").show();
            $("#txtPassword").css("color", "#c06867");
        }
    }
    else {
        if (validateEmail() != 0 && validatePassWord() != 0 && validateUserName() != 0) {
            //调用服务器端注册方法
            var strUserEmail = $("#txtEmail").val();
            var strUserName = $("#txtUserName").val();
            if (strUserName.indexOf("ZFlip.com/") != -1)
                strUserName = strUserName.substr(10, len(strUserName));
            var strPassowrd = $("#txtPassword").val();
            _Default.signUpHandler(strUserEmail, strUserName, strPassowrd, signUpResult);
        }
        else if (validatePassWord() == 0) {
            $("#popPassword").show();
            $("#txtPassword").css("color", "#c06867");
        }
        else if (validateUserName() == 0) {
            $("#popUsername").show();
            $("#txtUserName").css("color", "#c06867");
        }
    }
}

function signUpResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;
    if (value > 0) {
        $("#popEmail").hide();
        $("#popUsername").hide();
        $("#popError").hide();
        $("#popEmailUsed").hide();
        $("#popUsernameUsed").hide();
        showsignUpExplore();
    }
}

function signInResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;
    if (value != null) {
        $("#popEmail").hide();
        $("#popUsername").hide();
        $("#popError").hide();
        $("#popEmailUsed").hide();
        if (goUrl == "") {
            ShowAnyPag('stream');
        }
        else {
            goPreviousPage("");
        }
    }
    else {
        $("#popError").show();
    }
}

function validateEmailOut() {
    if (validateEmail() != 0) {
        var strUserEmail = $("#txtEmail").val();
        _Default.existUserNameOrEmail(strUserEmail, isExistUserEmailResult);
    }
}

var isEmailSucces = 0;
function isExistUserEmailResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;

    // 1：未使用 -1：异常 -2:用户名已使用 -3：邮箱已使用
    if (value < 1) {
        //document.getElementById("popEmailUsed").style.display = 'block';
        isEmailSucces = 0;
        return;
    } else {
        //document.getElementById("popEmailUsed").style.display = 'block';
        isEmailSucces = 1;
        return;
    }
}

function validateUserNameOut() {
    if (validateUserName() != 0) {
        var strUserName = $("#txtUserName").val();
        if (strUserName.indexOf("ZFlip.com/") != -1)
            strUserName = strUserName.substr(10, len(strUserName));
        _Default.existUserNameOrEmail(strUserName, isExistUserNameResult);
    }
}
var isUserName = 0;
function isExistUserNameResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;

    // 1：未使用 -1：异常 -2:用户名已使用 -3：邮箱已使用
    if (value < 1) {
        if (isEmailSucces != 0)
        { $("#popUsernameUsed").show(); $("#popError").hide(); }
        isUserName = 0;
        return;
    } else {
        $("#popUsernameUsed").hide();
        isUserName = 1;
        return;
    }
}

function onfocusEmail() {
    var strUserEmail = $("#txtEmail").val();
    if (strUserEmail == "") {
        document.getElementById("txtEmail").style.color = '#000000';
        $("#divEmail").css("background-position", "0px -50px");
        $("#txtEmail")[0].focus();
    }
}

function onfocusUserName() {
    var strUserName = $("#txtUserName").val();
    if (strUserName == "") {
        document.getElementById("txtUserName").style.color = '#000000';
        $("#divUserName").css("background-position", "0px -50px");
        $("#txtUserName")[0].focus();
    }
}

function onfocusPassword() {
    var strPassword = $("#txtPassword").val();
    if (strPassword == "") {
        document.getElementById("txtPassword").style.color = '#000000';
        $("#divPassword").css("background-position", "0px -50px");
        $("#txtPassword")[0].focus();
    }
}

function onPassWordChange() {
    var strPassword = $("#txtPassword").val();
    if (strPassword == "") {
        $("#user_password").html("password");
    }
    else {
        $("#user_password").html("");
    }
}

function onEmailChange() {
    var strPassword = $("#txtEmail").val();
    if (strPassword == "") {
        $("#user_email").html("email address");
    }
    else {
        $("#user_email").html("");
    }
}

function onUsernameChange(event) {
    var strPassword = $("#txtUserName").val();
    if (!event) event = window.event; //火狐中是 window.event
    if ((event.keyCode || event.which) == 8) {
        if (len(strPassword) <= 10 || strPassword == "ZFlip.com/") {
            $("#txtUserName").val("");
            $("#user_name").html("ZFlip.com/");
        }
    }
    else {
        var strpwd = strPassword.substr(0, len(strPassword));
        if (strPassword.substr(0, 10) == "ZFlip.com/") {

        }
        else if (strPassword == "ZFlip.com/") {
            $("#txtUserName").val("");
            $("#user_name").html("ZFlip.com/");
        }
        else {
            if (strPassword.indexOf("/") != -1) {
                var str = strPassword.substr(strPassword.indexOf("/") + 1, len(strPassword));
                strPassword = "ZFlip.com/" + str;
            }
            else {

                strPassword = "ZFlip.com/" + strPassword;
            }
            $("#txtUserName").val(strPassword);
            $("#user_name").html("");
        }
    }
}

function len(s) {
    var l = 0;
    var a = s.split("");
    for (var i = 0; i < a.length; i++) {
        if (a[i].charCodeAt(0) < 299) {
            l++;
        } else {
            l += 2;
        }
    }
    return l;
}

//验证邮箱
function validateEmail() {
    var strUserEmail = $("#txtEmail").val();
    if (strUserEmail == "") {
        document.getElementById("popEmail").style.display = 'none';
        $("#divEmail").css("background-position", "0px 0px");
        $("#user_email").html("email address");
        $("#popError").hide();
        return 0;
    }
    else {
        $("#user_email").html("");
        if (isEmail(strUserEmail) == 0) {
            $("#popEmail").show();
            $("#txtEmail").css("color", "#c06867");
            return 0;
        }
        else {
            $("#popEmail").hide();
            $("#txtEmail").css("color", "#000000");
            return 1;
        }
    }
}

//验证用户名
function validateUserName() {
    var strUserName = $("#txtUserName").val();
    strUserName = strUserName.substr(10, len(strUserName));
    if (strUserName == "") {
        $("#txtUserName").val("");
        $("#popUsername").hide();
        $("#popUsernameUsed").hide();
        $("#popError").hide();
        $("#txtUserName").css("color", "#c06867");
        $("#divUserName").css("background-position", "0px 0px");
        $("#user_name").html("ZFlip.com/url");
        return 0;
    }
    else {
        $("#user_name").html("");
        if (isRightUserName(strUserName) == 0 || strUserName == "username") {
            $("#popUsername").show();
            $("#txtUserName").css("color", "#c06867");
            return 0;
        }
        else {
            $("#popUsername").hide();
            $("#txtUserName").css("color", "#000000");
            return 1;
        }
    }
}

//验证密码
function validatePassWord() {
    var strPassword = $("#txtPassword").val();
    if (strPassword == "") {
        $("#popPassword").hide();
        $("#popError").hide();
        document.getElementById("txtPassword").style.color = '#b7b7b7';
        $("#divPassword").css("background-position", "0px 0px");
        $("#user_password").html("password");
        return 0;
    }
    else {
        $("#user_password").html("");
        if (isPassword(strPassword) == 0) {
            $("#popPassword").show();
            $("#popError").hide();
            $("#txtPassword").css("color", "#c06867");
            return 0;
        }
        else {
            $("#popPassword").hide();
            $("#txtPassword").css("color", "#000000");
            return 1;
        }
    }
}

function ForgetInit() {
    $("#txtEmailForget").val("");
    if (Sys.opera)
        DrawDivPopup('popforgetEmail', 'invalid email address.', 178, 40, 70, 25);
    else
        DrawDivPopup('popforgetEmail', 'invalid email address.', 178, 40, 70, 30);
}


function onfocusForgetEmail() {
    var strUserEmail = $("#txtEmailForget").val();
    if (strUserEmail == "") {
        document.getElementById("txtEmailForget").style.color = '#000000';
        $("#divForgetEmail").css("background-position", "0px -50px");
        $("#txtEmailForget")[0].focus();
    }
}

function onForgetEmailChange() {
    var strPassword = $("#txtEmailForget").val();
    if (strPassword == "") {
        $("#Forget_email").html("email address");
        $("#Forget_email").css("display", "block");
    }
    else {
        $("#Forget_email").html("");
        $("#Forget_email").css("display", "none");
    }
}

function onfocusOutForgetEmail() {
    var strUserEmail = $("#txtEmailForget").val();
    if (strUserEmail == "") {
        $("#Forget_email").html("email address");
        $("#Forget_email").css("display", "block");
        $("#popforgetEmail").hide();
        $("#txtEmailForget").css("color", "#b7b7b7");
        $("#divForgetEmail").css("background-position", "0px 0px");
        return 0;
    }
    else {
        if (isEmail(strUserEmail)==0) {
            $("#popforgetEmail").show();
            $("#txtEmailForget").css("color", "#c06867");
            return 0;
        }
        else {
            $("#popforgetEmail").hide();
            $("#txtEmailForget").css("color", "#000000");
            return 1;
        }
    }
}

function openForgotpwd() {
    if (onfocusOutForgetEmail() != 0) {
        var pwdemail = $("#txtEmailForget").val();
        ForgetPassword.PwdSend(pwdemail, resultForgetpwd);
    }
}

function resultForgetpwd(result) {
    if(checkAjax(result) == false)
            return;
    if (result.value == "0") {
        $("#ForgetError").html("Sorry, that email address is not registered with us.");
        $("#divSend").show();
        $("#divCountion").hide();
    }
    //系统出错
    else if (result.value == "-1") {
        $("#ForgetError").html("Sorry!");
        $("#divSend").show();
        $("#divCountion").hide();
    }
    //存在用户
    else {
        var pwdemail = $("#txtEmailForget").val();
        $("#ForgetError").html("we have sent instructions for resetting your password to " + pwdemail + ".");
        $("#divSend").show();
        $("#divCountion").hide();
    }
}

function onUpdatePassWordFouce() {
    var strUserEmail = $("#txtUPassword").val();
    if (strUserEmail == "") {
        document.getElementById("txtUPassword").style.color = '#000000';
        $("#divUPassword").css("background-position", "0px -50px");
        $("#txtUPassword")[0].focus();
    }
}

function onUpdatePassWordBlur() {
    var strPassword = $("#txtUPassword").val();
    if (strPassword == "") {
        $("#popChangePWD").hide();
        document.getElementById("txtUPassword").style.color = '#b7b7b7';
        $("#divUPassword").css("background-position", "0px 0px");
        $("#UP_password").html("new password:");
        return 0;
    }
    else {
        $("#UP_password").html("");
        if (isPassword(strPassword) == 0) {
            $("#popChangePWDError").show();
            $("#txtUPassword").css("color", "#c06867");
            return 0;
        }
        else {
            $("#popChangePWDError").hide();
            $("#txtUPassword").css("color", "#000000");
            return 1;
        }
    }
}

function onUpdatePassWordChange() {
    var strPassword = $("#txtUPassword").val();
    if (strPassword == "") {
        $("#UP_password").html("new password:");
    }
    else {
        $("#UP_password").html("");
    }
}

function onConfirmPassWordFouce() {
    var strUserEmail = $("#txtUCPassword").val();
    if (strUserEmail == "") {
        document.getElementById("txtUCPassword").style.color = '#000000';
        $("#divUPCPassword").css("background-position", "0px -50px");
        $("#txtUCPassword")[0].focus();
    }
}

function onConfirmPassWordBlur() {
    var strPassword = $("#txtUCPassword").val();
    if (strPassword == "") {
        $("#popChangePWD").hide();
        document.getElementById("txtUCPassword").style.color = '#b7b7b7';
        $("#divUPCPassword").css("background-position", "0px 0px");
        $("#UPC_password").html("confirm password:");
        return 0;
    }
    else {
        $("#txtUCPassword").html("");

        if (isPassword(strPassword) == 0) {
            $("#popChangePWDError").show();
            $("#txtUCPassword").css("color", "#c06867");
            return 0;
        }
        else {
            $("#popChangePWDError").hide();
            $("#txtUCPassword").css("color", "#000000");
            return 1;
        }
    }
}

function onConfirmPassWordChange() {
    var strPassword = $("#txtUCPassword").val();
    if (strPassword == "") {
        $("#UPC_password").html("confirm password:");
    }
    else {
        $("#UPC_password").html("");
    }
}

function onChangePasswordClick() {
    var password = $("#txtUPassword").val();
    var confirmpassword = $("#txtUCPassword").val();
    if (onConfirmPassWordBlur() != 0 && onUpdatePassWordBlur() != 0) {
        if (password != confirmpassword) {
            $("#popChangePWD").show();
            $("#popChangePWDError").hide();
        }
        else {
            var result = UpdatePassword.saveAccountInfo(password, useremailva);
            if(checkAjax(result) == false)
                return;
            if (result.value >= 1) {
                var result1 = UpdatePassword.setSignIn(password, true, useremailva);
                if(checkAjax(result1) == false)
                    return;
                if (result1.value != null) {
                    ShowAnyPag('stream');   // 登录成功跳转到个人首页
                }
            }
        }
    }
}

function initPopupUpdatePassword() {
        DrawDivPopup('popChangePWD', 'Your passwords do not match.', 215, 40, 100, 30);
        DrawDivPopup('popChangePWDError', 'Passwords must be at least 6 characters long.', 315, 40, 135, 30);
}
function show_div() {
    var obj_div7 = document.getElementById("btnLogin");
    clearTimeout(slideTimer);
    if (obj_div7.style.display == 'block') {
        if (showStr == false) {
            showStr = true;
            var result = _Default.ShowGridList();
            if(checkAjax(result) == false)
                return;
            if (result.value != null) {
                $("#defaultlist").html(result.value);
                onResetPosition("DefaultPageNext", 200, "Login", 230);
            }
        } 
        block_div();
        obj_div7.style.display = 'none';
    }
    else {
        slideIndex = 1;
        $("#slideShowImg1").show();
        $("#slideShowImg2").hide();
        $("#slideShowImg3").hide();
        hide_div();
        obj_div7.style.display = 'block';
        $(".page").show();
        showStr = true;
    }
}
function block_div() {
//    $("#describeBottom").hide();
    $("#describeBottom").fadeOut("slow", blockShow);
}

function blockShow() {
    $("#topSginUp").hide(); 
    $("#Login").show();
    $("#Login").animate({ top: 0 }, 500, "", function() {
        $(".page").hide();
        $("#defaultSignUp").fadeIn("slow");
        $("#decriptHome").fadeIn("slow");
        
    });
 }

function hide_div() {
    $("#defaultSignUp").fadeOut("slow", hideShow);
    $("#decriptHome").fadeOut("slow");
}

function hideShow() {
    $("#Login").animate({ top: 600 }, 500, "", function() {
        $(".page").show();
        $("#describeBottom").fadeIn("slow");
        $("#Login").hide();
        $("#topSginUp").show();
        slideTimer = setTimeout(onSlideStart, 3000); 
    });
 }

// 画弹出窗口
function DrawDivPopup(container, title, w, h, x, y) {
    var captionTip = Raphael(container, w, h);
    captionTip.path("M0 9 L30 9 L38 0 L45 9 L" + w + " 9 L" + w + " " + h + " L0 " + h + " z").attr({ stroke: "#c75b5d", fill: "#c75b5d", "stroke-width": 1 });
    captionTip.text(x, y, title).attr({ fill: "#ffffff", "font-size": 12, "font-family": "Century Gothic" });
}

function DrawPopupto(container, title, w, h) {
    var tools = Raphael(container, w + 20, h + 20);
    var tip = tools.set(),
        text = tools.set();

    tip = tools.rect(0, 20 - 10, w, h, 0).attr({ stroke: "#c75b5d", fill: "#c75b5d" });
    if (Sys.opera || Sys.firefox || Sys.chrome || Sys.safari || Sys.ie == "9.0")
        text = tools.text(85, 35 - 8, title).attr({ fill: "#ffffff", "font-size": 14 });
    else
        text = tools.text(85, 35 - 6, title).attr({ fill: "#ffffff", "font-size": 14 });
}

function onLoginEmailFouce() {
    document.getElementById("txtEmail").style.color = '#000000';
    $("#divloginEmail").css("background-position", "0px -50px");
    $("#txtEmail")[0].focus();
}

function onLoginPasswordFouce() {
    document.getElementById("txtPassword").style.color = '#000000';
    $("#divloginPassword").css("background-position", "0px -50px");
    $("#txtPassword")[0].focus();
}

function onLoginEmailChange() {
    var strPassword = $("#txtEmail").val();
    if (strPassword == "") {
        $("#login_email").html("email address");
    }
    else {
        $("#login_email").html("");
    }
}

function onLoginPasswordChange() {
    var strPassword = $("#txtPassword").val();
    if (strPassword == "") {
        $("#login_password").html("password");
    }
    else {
        $("#login_password").html("");
    }
}

function onLoginEmailblur() {
    var strPassword = $("#txtEmail").val();
    if (strPassword == "") {
        $("#divloginEmail").css("background-position", "0px 0px");
        $("#login_email").html("email address");
        return 0;
    }
    else {

        $("#login_email").html("");
    }
}
function onLoginPasswordblur() {
    var strPassword = $("#txtPassword").val();
    if (strPassword == "") {
        $("#divloginPassword").css("background-position", "0px 0px");
        $("#login_password").html("password");
    }
    else {
        $("#login_password").html("");
    }
}
var slideIndex = 1;
var slideTimer;
function onSlideStart() {
    if (isIE8())
    {
        $("#slideShowImg" + slideIndex).hide();
        if (slideIndex + 1 > 3)
            slideIndex = 1;
        else
            slideIndex += 1;
        $("#slideShowImg" + slideIndex).show();
        slideTimer = setTimeout(onSlideStart, 3000);
    }
    else
    {
        $("#slideShowImg" + slideIndex).fadeOut("slow", function() {
            if (slideIndex + 1 > 3)
                slideIndex = 1;
            else
                slideIndex += 1;
            $("#slideShowImg" + slideIndex).fadeIn("slow", function() {
                slideTimer = setTimeout(onSlideStart, 3000);
            });
        });
    }
}

//首页竖排验证
var ispopoError;
function UPLoginSuccesPage() {
    if (isUPEmailSucces == 0) {
       
        if (validateUPEmail() != 0 && validateUPPassWord() != 0) {
            //调用服务器端注册方法
            var strUserEmail = $("#UP_txtEmail").val();
            var strPassowrd = $("#UP_txtPassword").val();
            _Default.setSignIn(strUserEmail, strPassowrd, true, signInUPResult);
        }
        else if (validateUPEmail() == 0) {
            showchange(false);
            $("#upPopuError").html("invalid email  format.");
            $("#UP_txtEmail").css("color", "#c06867");
        }
        else if (validateUPPassWord() == 0) {
            showchange(false);
            $("#upPopuError").html("Passwords must be at least 6 characters long. ");
            $("#UP_txtPassword").css("color", "#c06867");
        }
    }
    else {
        if (validateUPEmail() != 0 && validateUPPassWord() != 0 && validateUPUserName() != 0) {
            //调用服务器端注册方法
            var strUserEmail = $("#UP_txtEmail").val();
            var strUserName = $("#UP_txtUserName").val();
            if (strUserName.indexOf("ZFlip.com/") != -1)
                strUserName = strUserName.substr(10, len(strUserName));
            var strPassowrd = $("#UP_txtPassword").val();
            _Default.signUpHandler(strUserEmail, strUserName, strPassowrd, signUpUPResult);
        }
        else if (validateUPEmail() == 0) {
            showchange(false);
            $("#upPopuError").html("invalid email  format.");
            $("#UP_txtEmail").css("color", "#c06867");
        }
        else if (validateUPPassWord() == 0) {
            showchange(false);
            $("#upPopuError").html("Passwords must be at least 6 characters long and at most 15 characters long. They can only contain the characters a-z, A-Z, 0-9, -, _, contain no spaces.");
            $("#UP_txtPassword").css("color", "#c06867");
        }
        else if (validateUPUserName() == 0) {
            showchange(false);
            $("#upPopuError").html("URL must be at least 4 characters long. They can only contain the characters a-z,A-Z,0-9, _,and must begin with either aletter, a number, or an underscore.");
            $("#UP_txtUserName").css("color", "#c06867");
        }
    }
}

function showsignUpExplore()
{
    if (goUrl == null || goUrl == "") {
        ShowAnyPag('explore#u');
    }
    else {
        goPreviousPage();
    }
}

function signUpUPResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;
    if (value > 0) {
        showchange(true);
        ispopoError = 0;
        showsignUpExplore();
    }
    else {
        showchange(false);
        ispopoError = 1;
    }
}

function signInUPResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;
    if (value != null) {
        showchange(true);
        if (goUrl == "") {
            ShowAnyPag('stream');
        }
        else {
            goPreviousPage("");
        }
        ispopoError = 0;
    }
    else {
        ispopoError = 1;
        $("#upPopuError").html("username or email and password  do not match");
        showchange(false);
    }
}

function validateUPEmailOut() {
    if (validateUPEmail() != 0) {
        var strUserEmail = $("#UP_txtEmail").val();
        _Default.existUserNameOrEmail(strUserEmail, isUPExistUserEmailResult);
    }
}

var isUPEmailSucces = 0;
function isUPExistUserEmailResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;

    // 1：未使用 -1：异常 -2:用户名已使用 -3：邮箱已使用
    if (value < 1) {
        //document.getElementById("popEmailUsed").style.display = 'block';
        isUPEmailSucces = 0;
        return;
    } else {
        //document.getElementById("popEmailUsed").style.display = 'block';
        isUPEmailSucces = 1;
        return;
    }
}

function validateUPUserNameOut() {
    if (validateUPUserName() != 0) {
        var strUserName = $("#UP_txtUserName").val();
        if (strUserName.indexOf("ZFlip.com/") != -1)
            strUserName = strUserName.substr(10, len(strUserName));
        _Default.existUserNameOrEmail(strUserName, isUPExistUserNameResult);
    }
}
var isUPUserName = 0;
function isUPExistUserNameResult(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;

    // 1：未使用 -1：异常 -2:用户名已使用 -3：邮箱已使用
    if (value < 1) {
        if (isUPEmailSucces != 0) {
            showchange(false);
            $("#upPopuError").html("username has been used.");
        }
        isUPUserName = 0;
        return;
    } else {
          if(ispopoError>0)
          {   
              $("#upPopuError").html("username or email and password  do not match");
              showchange(false);
          }
          else
          {    showchange(true); 
                $("#upPopuError").html("");
          }
        
        isUPUserName = 1;
        return;
    }
}

function onfocusUPEmail() {
    var strUserEmail = $("#UP_txtEmail").val();
    if (strUserEmail == "") {
        document.getElementById("UP_txtEmail").style.color = '#000000';
        $("#UP_divEmail").css("background-position", "0px -50px");
        $("#UP_txtEmail")[0].focus();
    }
}

function onfocusUPUserName() {
    var strUserName = $("#UP_txtUserName").val();
    if (strUserName == "") {
        document.getElementById("UP_txtUserName").style.color = '#000000';
        $("#UP_divUserName").css("background-position", "0px -50px");
        $("#UP_txtUserName")[0].focus();
    }
}

function onfocusUPPassword() {
    var strPassword = $("#UP_txtPassword").val();
    if (strPassword == "") {
        document.getElementById("UP_txtPassword").style.color = '#000000';
        $("#UP_divPassword").css("background-position", "0px -50px");
        $("#UP_txtPassword")[0].focus();
    }
}

function onUPPassWordChange() {
    var strPassword = $("#UP_txtPassword").val();
    if (strPassword == "") {
        $("#UP_user_password").html("password");
    }
    else {
        $("#UP_user_password").html("");
    }
}

function onUPEmailChange() {
    var strPassword = $("#UP_txtEmail").val();
    if (strPassword == "") {
        $("#UP_user_email").html("email address");
    }
    else {
        $("#UP_user_email").html("");
    }
}

function onUPUsernameChange(event) {
    var strPassword = $("#UP_txtUserName").val();
    if (!event) event = window.event; //火狐中是 window.event
    if ((event.keyCode || event.which) == 8) {
        if (len(strPassword) <= 10 || strPassword == "ZFlip.com/") {
            $("#UP_txtUserName").val("");
            $("#UP_user_name").html("ZFlip.com/");
        }
    }
    else {
        var strpwd = strPassword.substr(0, len(strPassword));
        if (strPassword.substr(0, 10) == "ZFlip.com/") {

        }
        else if (strPassword == "ZFlip.com/") {
            $("#UP_txtUserName").val("");
            $("#UP_user_name").html("ZFlip.com/");
        }
        else {
            if (strPassword.indexOf("/") != -1) {
                var str = strPassword.substr(strPassword.indexOf("/") + 1, len(strPassword));
                strPassword = "ZFlip.com/" + str;
            }
            else {

                strPassword = "ZFlip.com/" + strPassword;
            }
            $("#UP_txtUserName").val(strPassword);
            $("#UP_user_name").html("");
        }
    }
}

//验证邮箱
function validateUPEmail() {
    var strUserEmail = $("#UP_txtEmail")[0].value;
    if (strUserEmail == "") {
        $("#UP_divEmail").css("background-position", "0px 0px");
        $("#UP_user_email").html("email address");
        showchange(true);
        return 0;
    }
    else {
        $("#UP_user_email").html("");
        if (isEmail(strUserEmail) == 0) {
            showchange(false);
            $("#upPopuError").html("invalid email  format.");
            $("#UP_txtEmail").css("color", "#c06867");
            return 0;
        }
        else {
              if(ispopoError>0)
              {   
                  $("#upPopuError").html("username or email and password  do not match");
                  showchange(false);
              }
              else
                  showchange(true); 
            $("#UP_txtEmail").css("color", "#000000");
            return 1;
        }
    }
}

//验证用户名
function validateUPUserName() {
    var strUserName = $("#UP_txtUserName").val();
    strUserName = strUserName.substr(10, len(strUserName));
    if (strUserName == "") {
        $("#UP_txtUserName").val("");
        showchange(true);
        $("#UP_txtUserName").css("color", "#c06867");
        $("#UP_divUserName").css("background-position", "0px 0px");
        $("#UP_user_name").html("ZFlip.com/url");
        return 0;
    }
    else {
        $("#UP_user_name").html("");
        if (isRightUserName(strUserName) == 0 || strUserName == "username") {
            showchange(false);
            $("#upPopuError").html("URL must be at least 4 characters long. They can only contain the characters a-z,A-Z,0-9,_,and must begin with either aletter, a number, or an underscore.");
            $("#UP_txtUserName").css("color", "#c06867");
            return 0;
        }
        else {
              if(ispopoError>0)
              {   
                  $("#upPopuError").html("username or email and password  do not match");
                  showchange(false);
              }
              else
                  showchange(true); 
            $("#UP_txtUserName").css("color", "#000000");
            return 1;
        }
    }
}

//验证密码
function validateUPPassWord() {
    var strPassword = $("#UP_txtPassword")[0].value;
    if (strPassword == "") {
        showchange(true);
        document.getElementById("UP_txtPassword").style.color = '#b7b7b7';
        $("#UP_divPassword").css("background-position", "0px 0px");
        $("#UP_user_password").html("password");
        return 0;
    }
    else {
        $("#UP_user_password").html("");
        if (isPassword(strPassword) == 0) {
            showchange(false);
            $("#upPopuError").html("Passwords must be at least 6 characters long and at most 15 characters long. They can only contain the characters a-z, A-Z, 0-9, -, _, contain no spaces.");
            $("#UP_txtPassword").css("color", "#c06867");
            return 0;
        }
        else {
            var strUserName = $("#UP_txtUserName").val();
            if (strUserName.indexOf("ZFlip.com/") != -1)
                strUserName = strUserName.substr(10, len(strUserName));
            var strEmail = $("#UP_txtEmail").val();
            if(ispopoError>0)
            {   
                showchange(false);
                $("#upPopuError").html("username or email and password  do not match");
            }
            else
                showchange(true); 
            $("#UP_txtPassword").css("color", "#000000");
            return 1;
        }
    }
}

function showchange(value) {
    if (value == true) {
        slideIndex = 1;
        $("#defaultError").hide();
        $("#slideShowList").show();
        $("#slideShowImg1").show();
        $("#slideShowImg2").hide();
        $("#slideShowImg3").hide();
    }
    else {
        $("#defaultError").show();
        $("#slideShowList").hide();
        clearTimeout(slideTimer);
    }
}

// 初始化SignIn页面中的错误提示弹出窗口
function initPopupSignIn() {
    $("#txtEmail").val("");
    $("#txtPassword").val("");
    DrawPopupSignIn('popSignIn', 'Email address or password is incorrect.', 380, 62);
    $("#popSignIn").hide();
}

// 登录界面的错误提示
function DrawPopupSignIn(container, title, w, h) {
    var tools = Raphael(container, w + 20, h + 20);
    tools.clear();
    var tip = tools.set(),
        arrow = tools.set(),
        text = tools.set();
    tip = tools.rect(0, 5, w, h, 0).attr({ stroke: "#c75b5d", fill: "#c75b5d" })

    arrow = tools.rect(15 + 165, 14 - 5 + 35, 30, 30, 0).attr({ stroke: "#c75b5d", fill: "#c75b5d" });

    text = tools.text(85 + 100, 35 - 0, title).attr({ fill: "#ffffff", "font-size": 20 });

    arrow.rotate(45);
}

// 登录页面 登录方法
function setSignIn() {
    var strUserNameOrEmail = $("#txtEmail").val();
    var strPassword = $("#txtPassword").val();

    if (strUserNameOrEmail == "" || strPassword == "") {
        var obj = document.getElementById("txtEmail");
        $("#popSignIn").show();
    }
    else {
        SignIn.setSignIn(strUserNameOrEmail, strPassword, true, getUserInfo);
    }
}

// 登录页面 登录回调，返回的值大于0则登录成功，小于0则登录不成功
function getUserInfo(result) {
    if(checkAjax(result) == false)
        return;
    var value = result.value;

    if (value != null) {
        if (goUrl == "") {
            ShowAnyPag('stream');
        }
        else {
            goPreviousPage("");
        }
    }
    else {
        var obj = document.getElementById("txtEmail");
        $("#popSignIn").show();   // 显示登录失败提示
    }
}

// Account中导向到上一页
function goPreviousPage(value) {
    var url = getCallUrl();
    url = url.toLowerCase().replace("signin/", "");
    url = url.toLowerCase().replace("default/", "");
    ShowAnyPag(url + value);
}

