﻿// JScript 文件

    var validateMessage = new Array();
    validateMessage[0] = ["e.g.myname@example.com. A valid email address is required to activate your account.","Ok"];
    validateMessage[1] = ["Re-enter your E-Mail to confirm.","Ok"];
    validateMessage[2] = ["4 to 20 characters (A-Z, a-z, 0-9, no spaces).","Ok"];
    validateMessage[3] = ["Re-enter your password to confirm.","Ok"];
    validateMessage[4] = ["Please enter your name.","Ok"];
    validateMessage[5] = ["Please include the area code or country code for your telephone number.","Ok"]; 
    validateMessage[6] = ["Please include your mobile number.","Ok"]; 
    validateMessage[7] = ["Please include the area code or country code for your Fax number.","Ok"]; 
    validateMessage[8] = ["Please fill the correct address information.","Ok"]; 
    validateMessage[9] = ["Select your country.","Ok"]; 
    validateMessage[10] = ["Enter the word shown on the left.","Ok"]; 
    validateMessage[11] = ["Please Enter your login password.","Ok"]; 
    validateMessage[12] = ["Please Enter your New password.","Ok"];     
    validateMessage[13] = ["Please re-Enter the New password to confirm.","Ok"]; 
    validateMessage[14] = ["Please include the area code or country code for your zip number.","Ok"]; 
    
    var dc = ["DivRemindCss","DivWrongkCss","DivRightkCss","DivClickCss"];
    
    //0 init; 1 request; 2 invalid; 3 ok; 4 click;
    function dispalyMessage(ele,state,message)
    {
        ele.parentNode.nextSibling.childNodes[0].className = dc[state<2?state:state-1];
        ele.parentNode.nextSibling.childNodes[0].innerHTML = message;
    }
    
    function validateAll()
    {
        for(var i=0;i<Page_Validators.length;i++)
        {
            var val = Page_Validators[i];
            if(val.isvalid)
            {
                var src = document.getElementById(val.controltovalidate);
                dispalyMessage(src, 2,val.errormessage);
            }
        }
    }
    
    function validate_onactivate(evt)
    {
        obj = evt.srcElement ? evt.srcElement : evt.target;
        dispalyMessage(obj,4,validateMessage[obj.getAttribute("controlindex")][0]);
    }
    
    function checkvalidate_control(src)
    {
        for(var i=0;i<Page_Validators.length;i++)
        {
            if(Page_Validators[i].controltovalidate == src.id)
            {
                ValidatorValidate(Page_Validators[i]);
            }
        }
    }
    
    function validate_control(src,checked)
    {
        var message;
        var validState = 0;
        for(var i=0;i<Page_Validators.length;i++)
        {
            if(Page_Validators[i].controltovalidate == src.id)
            {
                var tisvalid = Page_Validators[i].isvalid;
                if(!tisvalid)
                {
                    message = Page_Validators[i].errormessage;
                    if(Page_Validators[i].evaluationfunction == RequiredFieldValidatorEvaluateIsValid)
                    {
                        validState = 1;
                        break;
                    }
                    else
                    {
                        validState = 2;
                    }
                }
            }
        }
        if(validState == 0)
        {
            if(checked)
            {
                validState = 3; 
            }
            else
            {
                checkvalidate_control(src);
                validate_control(src,true);
                return;
            }
        }
        if(validState == 0)
            message = validateMessage[src.getAttribute("controlindex")][0];
        else if(validState == 3)
            message = validateMessage[src.getAttribute("controlindex")][1];
        dispalyMessage(src, validState,message);
    }
    
    function validate_ondeactivate(evt)
    {
        obj = evt.srcElement ? evt.srcElement : evt.target;
        validate_control(obj);
    }
    
    function validateAccount(val)
    {
        var value = ValidatorGetValue(val.controltovalidate);
        if (ValidatorTrim(value).length == 0)
            return true;
        ScriptService.ValidateLoginName(value,onCallSuccess,null,val);
        return false;
    }
    
    function onCallSuccess(result,val)
    {
        val.isvalid = result;
        var src = document.getElementById(val.controltovalidate);
        validate_control(src,true);
    }