﻿
var GlobalParameter_domain="http://www.zicaloy.com/";
var Logon_Validate_Number_Url=GlobalParameter_domain+"ValidateNumber/ValidateNumber.aspx";
var Validate_Number_Matching_Url=GlobalParameter_domain+"ValidateNumber/ValidateNumber_Matching.aspx";
var Register_Logon_Email_Repeat=GlobalParameter_domain+"Register/Register_Command.aspx";
var Register_New_User_Url=GlobalParameter_domain+"Register/Register_New_User.aspx";
var Register_User_Name_Email=false;
var Register_Validate_Number=false;
var Register_New_User_Ajax=0;
var isValidateNumber_By_Server_Ajax=0;
var isValidateNumber_By_Server_From_Register_Ajax=0;
var isLogon_Email_Repeat_Ajax=0;



// JScript 文件

$(document).ready(function()
{   
            Set_Blur_Event();

            Set_Register_Button_Help(null);
 
});





function Set_Register_Button(type)
{
    
    if(type)
    {
        //availability
        $("#register_now").css({ "background-color":"#671422", "color":"white" });
        $("#register_now").bind("click", register_now_main());

    }
    else
    {
        //invalidation
        $("#register_now").css({ "background-color":"#dbdbdb", "color":"#671422" });
        $("#register_now").unbind();
 
    }
}


function Set_Register_Button_Help(str)
{



    if(str=="" || str==null || str.length==0)
    {
        $("#Reg_Info").html("");
        $("#Reg_Info").hide();
    }
    else
    {
        $("#Reg_Info").html(str);
        $("#Reg_Info").show();  
    }
}




function Set_Blur_Event()
{
    $("#User_Name_Email").blur(function (){Register_Validate_Data("User_Name_Email");});
    $("#User_Password").blur(function (){Register_Validate_Data("User_Password");});
    $("#User_Password_Validate").blur(function (){Register_Validate_Data("User_Password_Validate");}); 
    $("#User_Birthday").blur(function (){Register_Validate_Data("User_Birthday");});    
    $("#User_Security_Email").blur(function (){Register_Validate_Data("User_Security_Email");});       
  //  $("#Security_Validate").blur(function (){Register_Validate_Data("Security_Validate");});     
 //   $("#Register_Security_Validate_Update").bind("click", function(){
 //       Logon_Update_Validate_Number();
 //   });
    
     $("#register_now").bind("click", function(){
        register_now_main();
    });
    
}


function Logon_Update_Validate_Number()
{
	var Temp_Validate_Number_Url=Logon_Validate_Number_Url+"?id="+Math.random();
	$("#Logon_Validate_Code").attr("src",Temp_Validate_Number_Url); 
    Register_Validate_Number=false;
}

function register_now_main()
{
    Register_Full_Validate();
}


function Register_ing_Help(type)
{
    var Help_Str="";
   

    switch (type) 
    {
        case "wait":
                Help_Str='<img src="http://www.zicaloy.com/res3_2/img/ajax_loader_1.gif" width="16" height="16" /> 正在向服务器提交您的注册信息,请稍等...';
         $("#register_now").hide();
                break;  
                
        case "timeout":
                Help_Str="由于网速缓慢造成连接超时,请您检查网络,并再次提交.";
                Set_Register_Button(true);
                $("#register_now").show();
                break;               

        case "True":
                Help_Str="注册成功,进入帮助引导中心.";
                window.location.replace("http://www.zicaloy.com/UserInfo/User_Center.aspx");
                break; 

        case "False":
                Help_Str="很抱歉!注册失败,请您再次尝试如依旧失败请联系客服.";
			Set_Register_Button(true);
			$("#register_now").show();
                break;                                          
    }
    
    Set_Register_Button_Help(Help_Str);
    
}
function Register_Validate_Data(obj)
{
    var Object_Id="#"+obj;
    var Object_Value=$(Object_Id).attr("value");
    var Object_Value_Validity;
    
    switch (obj) 
	{
   		case "User_Name_Email" :
   		        Register_User_Name_Email=false;
   		        Object_Value_Validity=isEmail(Object_Value);
   		        
   		        //Format True
   		        if(Object_Value_Validity)
   		        {
   		            Register_Input_Help("User_Name_Email","begin");
   		            isLogon_Email_Repeat(Object_Value);
   		        }
   				break;
		
		
   		case "User_Password" :
                Object_Value_Validity=isPassword(Object_Value);
   				break;
		

   		case "User_Password_Validate" :
   		        var Password=$("#User_Password").attr("value");
   		        var Validate=$("#User_Password_Validate").attr("value");

                Object_Value_Validity=isPassword_Validate(Password,Validate);
   				break;

   		case "User_Birthday" :
                Object_Value_Validity=validateCNDate(Object_Value);
   				break;


   		case "User_Security_Email" :
   		        Object_Value_Validity=isEmail(Object_Value);
   				break;


   		case "Security_Validate" :
   		        Register_Validate_Number=false;
   		        Object_Value_Validity=isValidateNumber(Object_Value);
   		        if(Object_Value_Validity)
   		        {
   		            isValidateNumber_By_Server_From_Register(Object_Value);
   		        }
   				break;
	}



    Register_Input_Help(obj,Object_Value_Validity);
    Register_Input_Style(obj,Object_Value_Validity);
    
    return Object_Value_Validity;
}



function Register_Input_Help(obj,type)
{
    var Object_Id="#"+obj;
    var Object_Help_Id="#"+obj+"_Info";
    
    var Set_Help_Info="";
    var Set_Input_Clear=false; 
    
    
    
    switch (obj) 
	{
   		case "User_Name_Email" :
                switch (type) 
	            {
                    case true:
                            break;  
                            
                    case false:
                            Set_Help_Info="登陆名(电子邮件)格式错误,请参考范例.";
                            Set_Input_Clear=true;
                            break;
                            
                    case "begin":
                            Set_Help_Info="正在检测是否重复,请稍等...";
                            break;
                                                     
                    case "repeat":
                            Set_Help_Info="登陆名(电子邮件)已经被注册了,请更换一个.";
                            break;
                            
                    case "timeout":
                            Set_Help_Info="登陆名(电子邮件)在检测是否重复时超时,检查网络连接后重新输入.";
                            break;       
                            
                    case "availability":
                            Set_Help_Info="登陆名(电子邮件)可用.";
                            break;                                                                         
	            }
   				break;
		
		
   		case "User_Password" :
                switch (type) 
	            {
                    case true:
                            break;  
                            
                    case false:
                            Set_Help_Info="登陆密码不符合要求,请参考范例和提示信息.";
                            Set_Input_Clear=true;
                            break;                                                             
	            }
   				break;
		

   		case "User_Password_Validate" :
                switch (type) 
	            {
                    case true:
                            break;  
                            
                    case false:
                            Set_Help_Info="您输入的两次密码不一致,请仔细输入.";
                            Set_Input_Clear=true;
                            break;                                                             
	            }
   				break;

   		case "User_Birthday" :
                switch (type) 
	            {
                    case true:
                            break;  
                            
                    case false:
                            Set_Help_Info="您输入的出生日期好像不正确,请参考范例和提示信息.";
                            Set_Input_Clear=true;
                            break;                                                             
	            }
   				break;


   		case "User_Security_Email" :
                switch (type) 
	            {
                    case true:
                            break;  
                            
                    case false:
                            Set_Help_Info="安全邮箱错误,请参考范例.";
                            Set_Input_Clear=true;
                            break;                                                             
	            }

   				break;


   		case "Security_Validate" :
                switch (type) 
	            {
                    case true:
                            break;  
                            
                    case false:
                            Set_Help_Info="验证码输入不符合规范,请仔细输入.";
                            Set_Input_Clear=true;
                            break;     
                    case "False":
                            Set_Help_Info="验证码输入错误,请再次输入新的验证码.";
                            Set_Input_Clear=true;
                            break;     
                    case "timeout":
                            Set_Help_Info="在检测验证码是否正确时超时,检查网络连接后重新输入.";
                            Set_Input_Clear=true;
                            break;    
                    case "Exception":
                            Set_Help_Info="在检测验证码是否正确时超时,发生意外错误.请再次尝试";
                            Set_Input_Clear=true;
                            break;                                                    
	            }
   				break;
	}
    
    
    
    if(Set_Input_Clear)
    {
        $(Object_Id).attr("value","");
    }
    
	$(Object_Help_Id).text(Set_Help_Info);
    
}


function Register_Input_Style(obj,type)
{
    var Object_Id="#"+obj;
    
	switch (type)
	{
        case true:
            $(Object_Id).css({background:"#ffffff",color:"#626262"});
            break;
                
        default:    
		    $(Object_Id).css({background:"#941d30",color:"#ffffff"});
            break;     
    }
    
    
}


function isLogon_Email_Repeat_Return(type)
{
	switch (type)
	{       
        case "timeout":
                Register_Input_Help("User_Name_Email","timeout");
                Register_User_Name_Email=true;
                break;
	
        case "availability":
                Register_Input_Help("User_Name_Email","availability");
                Register_User_Name_Email=true;
                break;
                
         case "repeat":
                Register_Input_Help("User_Name_Email","repeat");
                Register_User_Name_Email=false;
                break;                       
    }
}

function isValidate_Number_Return(type)
{
	switch (type)
	{       
        case "timeout":
                Register_Input_Help("Security_Validate","timeout");
                Register_Validate_Number=false;
                Logon_Update_Validate_Number();
                break;
	
        case "True":
                Register_Input_Help("Security_Validate","True");
                Register_Validate_Number=true;
                break;
                
         case "False":
                Register_Input_Help("Security_Validate","False");
                Register_Validate_Number=false;
                Logon_Update_Validate_Number();
                break;    
                
         case "Null":
                Register_Input_Help("Security_Validate","False");
                Register_Validate_Number=false;
                Logon_Update_Validate_Number();
                break;  
                
          case "Exception":
                Register_Input_Help("Security_Validate","Exception");
                Register_Validate_Number=false;
                Logon_Update_Validate_Number();
                break;                                        
    }
}




function Register_Full_Validate()
{
    var User_Name_Email,User_Password,User_Birthday,User_Security_Email;
    
    if(!isCheckbox_Checked("Terms_Service_Checkbox"))
    {
        alert("很抱歉,您未同意注册服务条款.无法完成注册!");
        return false;
    }
   
    if( 
        Register_User_Name_Email &&
//        Register_Validate_Number &&
        Register_Validate_Data("User_Password") &&
        Register_Validate_Data("User_Password_Validate") &&
        Register_Validate_Data("User_Birthday") &&       
        Register_Validate_Data("User_Security_Email")
        )
    {
        
        User_Name_Email=$("#User_Name_Email").attr("value");
        User_Password=$("#User_Password").attr("value");
        User_Birthday=$("#User_Birthday").attr("value");
        User_Security_Email=$("#User_Security_Email").attr("value");

        Set_Register_Button(false);
        Set_Register_Button_Help(null);
        
        
        Register_New_User(User_Name_Email,User_Password,User_Birthday,User_Security_Email);
    }
    else
    {
    	alert("上述内容可能还有填写不当的,请您再检查一下.");
    }      

    
}





function Register_New_User(User_Name_Email,User_Password,User_Birthday,User_Security_Email)   
{   
		
    Register_ing_Help("wait");
 
    $.ajax(
    {
        url: Register_New_User_Url+"?User_Name_Email="+User_Name_Email+"&User_Password="+User_Password+"&User_Birthday="+User_Birthday+"&User_Security_Email="+User_Security_Email,
        type: 'GET',
        dataType: 'html',
        data: '',
        timeout: 20000,
        error: function()
        {
        	if(Register_New_User_Ajax>3)
        	{
        		Register_New_User_Ajax=0;
        		Register_ing_Help("timeout");

        	}
        	else
        	{
        		Register_New_User_Ajax++;
        		Register_New_User(User_Name_Email,User_Password,User_Birthday,User_Security_Email);
        	}
        	
    	},
    	success: function(xml)
    	{
    		Register_New_User_Ajax=0;
        	Register_ing_Help(xml);
    	}
    
	});


}



function isSearch_Info(object)
{
	var patrn=/^[0-9A-Za-z\u4e00-\u9fa5 ]{1,20}$/; 
	if (!patrn.exec(object) || isUndefined(object))
	{
		return false;
	}
	else
	{
		return true; 
	} 
}




function isSpecial_Note(object)
{
    if( isSqlSecurity(object)==false || object.length>250 )
    {
        return false;
    }
    else
    {
        return true;
    } 
}

function isDelivery_Info(object)
{
    if( isUndefined(object) || isSqlSecurity(object)==false || object.length>250 )
    {
        return false;
    }
    else
    {
        return true;
    } 
}


function isSqlSecurity(object)
{
    re= /select|update|delete|exec|count|"|=|;|>|<|%/i; 
    if ( re.test(object) ) 
    {  
        return false; 
    } 
    else
    {
        return true;
    }
}


function isDeliveryTelephone(Primary,Secondary)
{
    if( isUndefined(Primary) && isUndefined(Secondary) )
    {
        return false;
    }
    else
    {
        return true;
    }
}




function isCheckbox_Checked(object)
{
    var object_id="#"+object;

    if($(object_id).attr("checked")==true)
    {
        return true;
    }
    else
    {
        return false;
    }
}


function isValidateOrderCount(s)   
{   
	var patrn=/^(\d){1,3}$/; 
	if (!patrn.exec(s) || isUndefined(s))
	{
		return false;
	}
	else
	{
	    if(s>0 && s<999)
	    {
            return true; 
	    }
	    else
	    {
		    return false;
	    }

	} 
}  





function isValidateNumber(s)   
{   

	
	var patrn=/^(\d){6}$/; 
	if (!patrn.exec(s) || isUndefined(s))
	{
		return false;
	}
	else
	{
		return true; 
	} 
}  


function isValidateNumber_By_Server(ValidateNumber,Type)   
{   
  	
  $.ajax({
    url: Validate_Number_Matching_Url+"?CC="+ValidateNumber,
    type: 'GET',
    dataType: 'html',
    data: '',
    timeout: 10000,
    error: function()
    {
        if(Type=="Logon")
        {
        	if(isValidateNumber_By_Server_Ajax>3)
        	{
        		isValidateNumber_By_Server_Ajax=0;
        		Logon_ValidateNumber_Error("timeout");
        	}
        	else
        	{
        		isValidateNumber_By_Server_Ajax++;
        		isValidateNumber_By_Server(ValidateNumber,Type);
        	}
            
        }
    },
    success: function(xml)
    {
    	isValidateNumber_By_Server_Ajax=0;
        if(xml=="True")
        {
            if(Type=="Logon")
            {
                Logon_ValidateNumber_Succeed();
    
            }
            else
            {
            }
        }
        else
        {
            if(Type=="Logon")
            {
                Logon_ValidateNumber_Error(false);
      
            }
            else
            {
            }
        }
    }
    
});


}  












function isValidateNumber_By_Server_From_Register(ValidateNumber)   
{   
  	
  $.ajax({
    url: Validate_Number_Matching_Url+"?CC="+ValidateNumber,
    type: 'GET',
    dataType: 'html',
    data: '',
    timeout: 10000,
    error: function()
    {
    	if(isValidateNumber_By_Server_From_Register_Ajax>3)
    	{
    		isValidateNumber_By_Server_From_Register_Ajax=0;
    		isValidate_Number_Return("timeout");
    	}
    	else
    	{
    		isValidateNumber_By_Server_From_Register_Ajax++;
    		isValidateNumber_By_Server_From_Register(ValidateNumber);
    	}
        
    },
    success: function(xml)
    {
    	isValidateNumber_By_Server_From_Register_Ajax=0;
        isValidate_Number_Return(xml);
    }
    
});


}  





function isLogon_Email_Repeat(Email)   
{   

    return $.ajax({
    url: Register_Logon_Email_Repeat+"?CT=EmailRepeat&CC="+Email,
    type: 'GET',
    dataType: 'html',
    timeout: 10000,
    error: function()
    {
    	if(isLogon_Email_Repeat_Ajax>3)
    	{
    		isLogon_Email_Repeat_Ajax=0;
    		isLogon_Email_Repeat_Return("timeout");
    	}
    	else
    	{
    		isLogon_Email_Repeat_Ajax++;
    		isLogon_Email_Repeat(Email)
    	}
        
    },
    success: function(xml)
    {
    	isLogon_Email_Repeat_Ajax=0;
        isLogon_Email_Repeat_Return(xml);
    }
    });
}








function isPrice(s)   
{   
	var patrn=/^\d+(\.\d\d)?$/;   
	
	if (s=="0" || s=="0.0" || s=="0.00" ||  parseInt(s)==0)
	{
        return false; 
	}
	else
	{
	    if (!patrn.exec(s) || isUndefined(s))
	    {
		    return false;  
	    }
	    else
	    {
		    return true; 
	    } 
	}
}   


function isSearchContent()
{
	var patrn=/^[a-zA-Z0-9 \u0080-\uFFFF]{1,20}$/;   
	if (!patrn.exec(s) || isUndefined(s))
	{
		return false;  
	}
	else
	{
		return true; 
	} 
}





function isEmail(s)   
{   
	var patrn=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;   
	if (!patrn.exec(s) || isUndefined(s))
	{
		return false;  
	}
	else
	{
		return true; 
	} 
}   


function isPassword(s)   
{   
	var patrn=/^(\w){6,20}$/;   
	if (!patrn.exec(s) || isUndefined(s))
	{
		return false;  
	}
	else
	{
		return true; 
	} 
}   



function isPassword_Validate(p1,p2)   
{     
	if (p1!=p2 || p2=="" || isUndefined(p1) || isUndefined(p2))
	{
		return false;  
	}
	else
	{
		return true; 
	} 
}   



function validateCNDate(s)   
{    
	if(!fnCheckDate(s)  || isUndefined(s))
	{
		return false;
	}
	else
	{
		return true; 
	}
}   


// jq
function isUndefined(s)
{
	if(s=="undefined" || s==null || s=="")
	{
		return true;
	}
	else
	{
		return false ;
	}

}





function validateCNDate( strValue ) { 
var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/ 

if(!objRegExp.test(strValue)) 
return false;  
else{ 
var arrayDate = strValue.split(RegExp.$1);  
var intDay = parseInt(arrayDate[2],10); 
var intYear = parseInt(arrayDate[0],10); 
var intMonth = parseInt(arrayDate[1],10); 
if(intMonth > 12 || intMonth < 1) { 
return false; 
} 
var arrayLookup = { '1' : 31,'3' : 31, '4' : 30,'5' : 31,'6' : 30,'7' : 31, 
'8' : 31,'9' : 30,'10' : 31,'11' : 30,'12' : 31} 
if(arrayLookup[parseInt(arrayDate[1])] != null) { 
if(intDay <= arrayLookup[parseInt(arrayDate[1])] && intDay != 0) 
return true;  
} 
if (intMonth-2 ==0) { 
var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0)); 
if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0) 
return true; 
} 
} 
return false;  
} 


