/* ***********************
 * By Zhichang
 * 09-09-15
 * ***********************/

(function($){
var user = {};

user.validIdCard = function(value,element){
	var card_type = $('#sel-card-type').val();
	if (value != "") {
		if (card_type == 1) {
			if(value=="") return false;
			return isIdentityCard(value);
		}else {
			return /^[a-zA-Z0-9\-]*$/.test(value);
		}
	}else{
		if($("#sel-card-type").val() == "0") return "dependency-mismatch";
		return false;
	}
};
//id card
user.checkCardType = function(value){
	if (value != "") {
		if ($("#sel-card-type").val() == "0")
			return false;
		return true;
	}else{
		if ($("#sel-card-type").val() == "0")
			return true;
		return false;
	}
};
//validate date,date format:yyyy-mm-dd
user.isBirthday = function(date){
	var reg = /^\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
	if (!reg.test(date)) {
		return false;
	}
	else {
		var arr_hd = date.split("-");
		var dateTmp;
		dateTmp = new Date(arr_hd[0], parseFloat(arr_hd[1]) - 1, parseFloat(arr_hd[2]));
		if (dateTmp.getFullYear() != parseFloat(arr_hd[0]) ||
		dateTmp.getMonth() != parseFloat(arr_hd[1]) - 1 ||
		dateTmp.getDate() != parseFloat(arr_hd[2])) {
		
			return false;
		}
	}
	return true;
};
user.validData = function(value,element,type){
	value=value.toLocaleLowerCase();
	if(element.name==document.activeElement.name){
		return "dependency-mismatch"
	}
	var res = "";
	if (type == "username") {
	    var txtusername = $("#txt-username").val();
	    var ran = new Date().getTime();
	    $.ajax({
	        type: "GET",
	        url: "/ajaxext/validatecaptcha/username/"+txtusername,
          async:false,
	        success: function( ajax ){	
	               res = JSONstring.toObject(ajax);
		}
	     });
	     return res.res;
	}

        if (type == "email") {
	    var txtemail = $("#txt-email").val();
	    $.ajax({
	        type: "GET",
	        url: "/ajaxext/validatecaptcha/email/"+txtemail,
          async:false,
	        success: function( ajax ){	
	               res = JSONstring.toObject(ajax);
		}
	     });
	     return res.res;
	}
	if (type == "captcha") {
	    var txtcaptcha = $("#txt-captcha").val();
	    $.ajax({
	        type: "GET",
	        url: "/ajaxext/validatecaptcha/captcha/"+txtcaptcha,
          async: false,
	        success: function( ajax ){
	               res = JSONstring.toObject(ajax);
		}
	     });
	     return res.res;
	}
};
user.chinaPhone=function(value,element){
    if($("#rad-newsletter1").length>0) {
	if(value==""){
		if($("#rad-newsletter1:checked").length>0) return false;
		else return "dependency-mismatch";
	}else{
		return /^((134|135|136|137|138|139|147|150|151|152|157|158|159|187|188|130|131|132|155|156|185|186|133|153|180|189)\d{8})$/.test(value);
	}
    }
    else{
	return /^((134|135|136|137|138|139|147|150|151|152|157|158|159|187|188|130|131|132|155|156|185|186|133|153|180|189)\d{8})$/.test(value);
    }
};
user.zipCode=function(value,element){
	if($("#edit-tryoutform").length > 0 || $("#tryoutform").length > 0){
	    if( value == "" ){
	        return false;
	    }
	    else{
		return /^(\d{6})$/.test(value);
	    }
	}
	else{
	    if( value != "" ){
	        return /^(\d{6})$/.test(value);
	    }
	    else {
		return true;
	    }
	}
};
user.getLength=function(value, element){
		var   len   =   0;   
		for(i=0;i<value.length;i++){   
			if(value.charCodeAt(i)>256){   
				len += 2;   
			}else{   
				len++;   
			}   
		}   
		return len;
};
var isIdentityCard = function(num){
      num = (""+num).toUpperCase();  
     if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) return false;  
     return true;  
};
var checkStyle = function(o){
                        $("<label class='right'></label>").text(" ").css({
	                        "background-color": "transparent",
				"border": "0"
			}).appendTo($(o).parent()).fadeIn("fast");
};
var checkFields = function(form){
	$.each($(form + " .txt-validate"), function(i, n){
		/*$(n).keydown(function(e){
			if (e.keyCode == "13") {
				//$(form + " .submit").click();
			}
		});*/
		$(n).focus(function(){
			var msg;
			if (user.messages[$(this).attr("name")]) 
				msg = user.messages[$(this).attr("name")].help;
			if (msg) {
				$(form + " label.input").remove();
				$(this).parent().find("label.right").remove();
				$("<label class='input'><span></span></label>").appendTo($(this).parent()).find("span").text(msg).parent().fadeIn("fast");
			}
		});
		$(n).blur(function(){
			$(form + " label.input").remove();
			$(this).parent().find("label.right").remove();
			if ($(n).valid()) {
				//search message
				var msg;
				if (user.messages[$(this).attr("name")]) 
					msg = user.messages[$(this).attr("name")].valid;
				//clear address check
				if ($(this).attr("name") == "address")
					return;
				$(this).parent().find("label.right").remove();
				if (msg) 
					$("<label class='right'></label>").appendTo($(this).parent()).text(msg).fadeIn("fast");
				else 
					checkStyle(this);
			}
		});
	});
};
user.messages = {
	recovery_password: {
		required: {
			old_pwd: "请输入您的原密码",
			new_pwd: "请输入您的新密码",
			confirm_pwd: "请再次输入您的新密码"
		},
		invalid: {
			old_pwd: "您的原密码错误",
			minlength: "密码至少{0}位",
			euqalto: "您输入的两次密码不一致"
		}
	},
	username: {
		help: "用户名用于账号的登录，可以使用英文、数字或中文，英文不区分大小写，字符长度为4到25个字符。",
		required: "请输入您的用户名",
		valid: "该用户名可以使用",
		invalid: "用户名格式不正确",
		minlength: "用户名至少{0}个字符",
		maxlength: "用户名最多{0}个英文字符(1个中文等于2个英文字符)",
		existed: "用户名已被占用"
	},
	login: {
		username: "请输入用户名",
		passsord: "请输入密码",
		help: "4-25个英文大小写、汉字、数字组成。英文字符(包括4个、25个)或相应长度的中文字符（1个中文等于2个英文字符）。",
		required: "请输入您的用户名",
		valid: "该用户名可以使用",
		invalid: "用户名格式不正确",
		minlength: "用户名至少{0}个字符",
		maxlength: "用户名最多{0}个字符",
		existed: "用户名已被占用"
	},
	password: {
		help: "安全密码包含6到25个字符，由大写字母、小写字母、数字和符号组成。",
		required: "请输入您的密码",
		minlength: "密码至少{0}个字符",
		equalToUsername: "密码不能与用户名相同"
	},
	confirm_password: {
		help: "请再次输入您的密码。",
		required: "请再次输入您的密码",
		equalTo: "您输入的两次密码不一致"
	},
        confirmmotdepasse: {
		help: "请再次输入您的密码。",
		required: "请再次输入您的密码",
		equalTo: "您输入的两次密码不一致"
	},

	email: {
		help: "认证邮箱作为您顺利找回密码的唯一凭证，输入后不可修改！请谨慎填写为真实有效的邮箱。",
		required: "请输入电子邮件地址",
		valid: "该邮件地址可以使用！",
		invalid: "请输入正确格式的电子邮件",
		existed: "该邮件地址已经存在"
	},
	gender: {
		required: "请选择您的性别"
	},
	num_identity: {
		help: "证件号码将作为领取奖品的重要凭证。",
		invalid: "请输入有效的证件号码",
		cardType: "请选择您的证件类型"
	},
	birthdate: {
		help: "填写生日便于参加我们更多的活动。",
		invalid: "请选择有效的出生日期"
	},
	captcha: {
		help: "不区分大小写。",
		required: "请输入验证码",
		invalid: "验证码输入错误"
	},
	region: {
		required: "请选择您所在的地区"
	},
	newsletter: {
		required: "您愿意收到摩登绅士网个性化Newsletter吗？"
	},
	name: {
		invalid: "有效姓名必须为字母或汉字开头，可由汉字、字母和数字组成",
		minlength: "姓名至少{0}个字符"
	},
	handphone_number: {
		invalid: "请输入有效的电话号码"
	},
	zip_code: {
		invalid: "请输入有效的邮政编码"
	},
	first_name: {
		required: "请输入您的真实姓名"
	},
	education: {
		required: "请选择您的教育程度"
 	},
	income_preso: {
		required: "请选择您的月收入水平"
 	},
	profession: {
		required: "请选择您的职业"
   	},
	skin_type: {
		required: "请选择您的肤质"
   	},
	age_range: {
		required: "请选择您的年龄"
   	}
};
try{
	$.validator.addMethod("username", function(value, element){
		return this.optional(element) || /^[a-zA-Z0-9\u4e00-\u9fa5]*$/.test(value);
	}, user.messages.username.invalid);
	//validation add method for existed
	$.validator.addMethod("existed", function(value, element, params){
		//test code for ajax validate username or email
		return this.optional(element) || !user.validData($.trim(value),element,params);
	}, user.messages.username.existed);
	//validation add method for password
	$.validator.addMethod("unequal", function(value, element, params){
		return this.optional(element) || value != $.trim($(params).val());
	}, user.messages.password.equalToUsername);
	//validation add method for captcha
	$.validator.addMethod("equal", function(value, element, params){
		return this.optional(element) || user.validData($.trim(value),element,params);
	}, user.messages.captcha.invalid);
	//add method to validation name
	$.validator.addMethod("trueName", function(value, element){
		return this.optional(element) || /^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]*$/.test(value);
	}, user.messages.name.invalid);
	$.validator.addMethod("idcard", function(value, element){
		return user.validIdCard($.trim(value),element);
	}, user.messages.num_identity.invalid);
	$.validator.addMethod("cardType", function(value, element){
		return this.optional(element) || user.checkCardType($.trim(value));
	}, user.messages.num_identity.cardType);
	$.validator.addMethod("chinaPhone", function(value, element){
		return user.chinaPhone($.trim(value),element);
		//return this.optional(element) || /^((134|135|136|137|138|139|147|150|151|152|157|158|159|187|188|130|131|132|155|156|185|186|133|153|180|189)\d{8})$/.test(value);
	}, user.messages.handphone_number.invalid);
	$.validator.addMethod("zip_code", function(value, element){
		return user.zipCode($.trim(value),element);
		//return this.optional(element) || /^(\d{6})$/.test(value);
	}, user.messages.handphone_number.invalid);
	$.validator.addMethod("birthdate", function(value, element){
		return this.optional(element) || user.isBirthday(value);
	}, user.messages.birthdate.invalid);
	$.validator.addMethod("myMinlength", function(value, element, params){
		return this.optional(element) || user.getLength($.trim(value), element) >= params;
	}, user.messages.login.invalid);
	$.validator.addMethod("myMaxlength", function(value, element, params){
		return this.optional(element) || user.getLength($.trim(value), element) <= params;
	}, user.messages.login.maxlength);
}catch (e) {}

$(document).ready(function(){
       $("#form-newsletter").validate({
		rules:{
                        handphone_number: "chinaPhone"
		},
                messages:{
		}
	});

	$("#elleform-editpwd").validate({
		rules:{
                	password: {
				required: true,
				minlength: 6,
				unequal: "#old_password"
			},
                        confirmmotdepasse: {
				required: true,
				equalTo: "#new_password"
			}
		},
                messages:{
                        password: {
				required: user.messages.password.required,
				minlength: $.format(user.messages.password.minlength),
				unequal: "新密码与原密码相同，请重新输入"
			},
			confirmmotdepasse: {
				required: user.messages.confirm_password.required,
				equalTo: user.messages.confirm_password.equalTo
			}
		}
	});

	$("#elleform").validate({
		rules:{
                	province_id:{ 
				required:true,
				min: 1
			},
			city_id:{ 
				required:true,
				min:0
			},
                  	first_name: {
				trueName: true,
				minlength: 2
			},
                        num_identity: {
				required:false,
				cardType: true,
				idcard: true
			},
                        handphone_number:"chinaPhone",
			/*
		        region_id:{ 
				required:false,
				min: 1
			},
			region_city_id:{ 
				required:false,
				min:0
			},
                        */
			zip_code: "zip_code",
			birthdate: "birthdate"
		},
                messages:{
                        province_id:{ 
				required: user.messages.region.required,
				min:user.messages.region.required
			},
			city_id:{
				required: user.messages.region.required,
				min: user.messages.region.required
			},
                        num_identity:{
				cardType:user.messages.num_identity.cardType,
				idcard:user.messages.num_identity.invalid
			},
                       
	                /*
                        region_id:{ 
				required: user.messages.region.required,
				min:user.messages.region.required
			},
			region_city_id:{
				required: user.messages.region.required,
				min: user.messages.region.required
			},
			*/
                        zip_code:user.messages.zip_code.invalid,
		        birthdate: user.messages.birthdate.invalid
		}
	});

	$("#edit-tryoutform").validate({
		rules:{
                  	first_name: {
				required:true,
				trueName: true,
				minlength: 2
			},
                        num_identity: {
				required:false,
				cardType: true,
				idcard: true
			},
			handphone_number: "chinaPhone",
			province_id:{ 
				required:true,
				min: 1
			},
			city_id:{ 
				required:true,
				min:0
			},
			zip_code: "zip_code" ,
			sex: "required",
			education: {
			    required:true,
			    min:1
			},
			income_preso: {
			    required:true,
			    min:1
			},
			profession: {
			    required:true,
			    min:1
			},
			skin_type: {
			    required:true,
			    min:1
			},
			age_range: {
			    required:true,
			    min:1
		   	}
		},
                messages:{
			first_name:{
				required: user.messages.first_name.required
			},
                        num_identity:{
				cardType:user.messages.num_identity.cardType,
				idcard:user.messages.num_identity.invalid
			},
			handphone_number: {
				required: user.messages.handphone_number.required
			},
			province_id:{ 
				required: user.messages.region.required,
				min:user.messages.region.required
			},
			city_id:{
				required: user.messages.region.required,
				min: user.messages.region.required
			},
			zip_code:user.messages.zip_code.invalid,
			sex: user.messages.gender.required,
			education: user.messages.education.required,
			income_preso: user.messages.income_preso.required,
			profession: user.messages.profession.required,
			skin_type: user.messages.skin_type.required,
			age_range: user.messages.age_range.required
		}
	});

	$("#tryoutform").validate({
		rules:{
                  	first_name: {
				required:true,
				trueName: true,
				minlength: 2
			},
                        num_identity: {
				required:false,
				cardType: true,
				idcard: true
			},
			handphone_number: "chinaPhone",
			province_id:{ 
				required:true,
				min: 1
			},
			city_id:{ 
				required:true,
				min:0
			},
			zip_code: "zip_code" ,
			sex: "required",
			education: {
			    required:true,
			    min:1
			},
			income_preso: {
			    required:true,
			    min:1
			},
			profession: {
			    required:true,
			    min:1
			},
			skin_type: {
			    required:true,
			    min:1
			},
			age_range: {
			    required:true,
			    min:1
		   	}
		},
                messages:{
			first_name:{
				required: user.messages.first_name.required
			},
                        num_identity:{
				cardType:user.messages.num_identity.cardType,
				idcard:user.messages.num_identity.invalid
			},
			handphone_number: {
				required: user.messages.handphone_number.required
			},
			province_id:{ 
				required: user.messages.region.required,
				min:user.messages.region.required
			},
			city_id:{
				required: user.messages.region.required,
				min: user.messages.region.required
			},
			zip_code:user.messages.zip_code.invalid,
			sex: user.messages.gender.required,
			education: user.messages.education.required,
			income_preso: user.messages.income_preso.required,
			profession: user.messages.profession.required,
			skin_type: user.messages.skin_type.required,
			age_range: user.messages.age_range.required
		}
	});

	$("#register-form").validate({
		onkeyup: function(element) {},
		onfocusin: function(element) {},
		onfocusout: function(element) {},
		focusInvalid: false,
		onclick: function(element) {},
		highlight: function( element, errorClass, validClass ) {},
		unhighlight: function( element, errorClass, validClass ) {},
		rules: {
			login: {
				required: true,
				username: true,
				myMinlength: 4,
				myMaxlength: 25,
				existed: "username"
			},
			password: {
				required: true,
				minlength: 6,
				unequal: "#txt-username"
			},
			confirmmotdepasse: {
				required: true,
				equalTo: "#txt-password"
			},
			email: {
				required: true,
				email: true,
				existed: "email"
			},
			sex: "required",
			//newsletter: "required",
			captcha: {
			 	required: true,
				equal: "captcha"
			},
			province_id:{ 
				required:true,
				min: 1
			},
			city_id:{ 
				required:true,
				min:0
			},
			first_name: {
				trueName: true,
				minlength: 2
			},
			num_identity: {
				required:false,
				cardType: true,
				idcard: true
			},
			handphone_number: "chinaPhone",
			birthdate: "birthdate"
		},
		messages: {
			login:{
				required:user.messages.username.required,
				myMinlength: $.format(user.messages.username.minlength),
				myMaxlength: $.format(user.messages.username.maxlength),
				existed: user.messages.username.existed
			},
			username: {
				required: user.messages.username.required,
				minlength: $.format(user.messages.username.minlength),
				existed: user.messages.username.existed
			},
			password: {
				required: user.messages.password.required,
				minlength: $.format(user.messages.password.minlength)
			},
			confirmmotdepasse: {
				required: user.messages.confirm_password.required,
				equalTo: user.messages.confirm_password.equalTo
			},
			email: {
				required: user.messages.email.required,
				existed: user.messages.email.existed
			},
			sex: user.messages.gender.required,
			newsletter: user.messages.newsletter.required,
			captcha: {
				required: user.messages.captcha.required
			},
			province_id:{ 
				required: user.messages.region.required,
				min:user.messages.region.required
			},
			city_id:{
				required: user.messages.region.required,
				min: user.messages.region.required
			},
			name: {
				minlength: $.format(user.messages.name.minlength)
			},
			num_identity:{
				cardType:user.messages.num_identity.cardType,
				idcard:user.messages.num_identity.invalid
			},
			birthdate: user.messages.birthdate.invalid
		}
	});

	if(!!document.getElementById("elleform")){
				
		$("#sel-card-type").change(function(){
		    if($("#txt-cardnumber").valid())
			checkStyle("#txt-cardnumber");
		});

		/* For province select start */
		if($("#province_id").val()>0){
			var province_id=$("#province_id").val();
			if(document.getElementById("show-city-id"))
			{
			    var showCityID = parseInt($("#show-city-id").attr("value"));
			}
			else
			{
			    var showCityID = '';
			}

			$("#city_id").html("<option value=\"-1\">--请选择--</option>");
			for(j=0;j<array_CNCity[province_id].length;j++){
				if(j == showCityID)
				    $("#city_id").append('<option value=\"'+j+'\" selected="selected">'+array_CNCity[province_id][j]+'</option>');
				else
				    $("#city_id").append("<option value=\""+j+"\">"+array_CNCity[province_id][j]+"</option>");
			}
		}
		$("#province_id").change(function(){
					var i = $(this).val();
					$("#city_id").html("<option value=\"-1\">--请选择--</option>");
					for(j=0;j<array_CNCity[i].length;j++){
						$("#city_id").append("<option value=\""+j+"\">"+array_CNCity[i][j]+"</option>");
					}
					if ($(this).valid()&&$("#city_id").valid()) {
						checkStyle(this);
					}
					
				});
		$("#city_id").change(function(){
			if ($(this).valid()&&$("#province_id").valid()) {
				checkStyle(this);
			}

			//for update address
			updateAddress($(this).val());
		});
		/* For province select end */

		/* For birthdate start */	
		var dateSelect=$(".birth select");
		$("input[name='birthdate']").val($("#date_de_naissance_annee").val() + "-" + $("#date_de_naissance_mois").val() + "-" + $("#date_de_naissance_jour").val());
		$.each(dateSelect, function(i, n){
			$(n).change(function(){
				$(this).parent().find("label.right").remove();
				var y = $(dateSelect[0]).val();
				var m = $(dateSelect[1]).val();
				var d = $(dateSelect[2]).val();
				if (y == "" && m == "" && d == "")
					$("input[name='birthdate']").val("");
				else
					$("input[name='birthdate']").val(y + "-" + m + "-" + d);
				if ($("input[name='birthdate']").valid()) {
					checkStyle("input[name='birthdate']");
				}
			});
		});
		/* For birthdate end */

		/* For region select start */
		/*
		if($("#region_id").val() != ''){
			var t = parseInt($("#region_id").attr("selectedIndex"));
			if(document.getElementById("show_region_city_id"))
			{
			    var showCityName = $("#show_region_city_id").val();
			}
			else
			{
			    var showCityName = '';
			}

			$("#region_city_id").html('<option value="">--请选择--</option>');
			for(i=0;i<array_CNCity[t].length;i++){
				if(array_CNCity[t][i] == showCityName)
				    $("#region_city_id").append('<option value=\"'+array_CNCity[t][i]+'\" selected="selected">'+array_CNCity[t][i]+'</option>');
				else
				    $("#region_city_id").append("<option value=\""+array_CNCity[t][i]+"\">"+array_CNCity[t][i]+"</option>");
			}
		}
		$("#region_id").change(function(){
					var t = parseInt($("#region_id").attr("selectedIndex"));
					$("#region_city_id").html('<option value="">--请选择--</option>');
					for(j=0;j<array_CNCity[t].length;j++){
						$("#region_city_id").append("<option value=\""+array_CNCity[t][j]+"\">"+array_CNCity[t][j]+"</option>");
					}
					if ($(this).valid()&&$("#region_city_id").valid()) {
						checkStyle(this);
					}
				});
		$("#region_city_id").change(function(){
			if ($(this).valid()&&$("#region_id").valid()) {
				checkStyle(this);
			}
		});
		*/
		/* For region select end */
	}

	if(!!document.getElementById("edit-tryoutform") || !!document.getElementById("tryoutform")){
				
		/* For province select start */
		if($("#province_id").val()>0){
			var province_id=$("#province_id").val();
			if(document.getElementById("show-city-id"))
			{
			    var showCityID = parseInt($("#show-city-id").attr("value"));
			}
			else
			{
			    var showCityID = '';
			}

			$("#city_id").html("<option value=\"-1\">--请选择--</option>");
			for(j=0;j<array_CNCity[province_id].length;j++){
				if(j == showCityID)
				    $("#city_id").append('<option value=\"'+j+'\" selected="selected">'+array_CNCity[province_id][j]+'</option>');
				else
				    $("#city_id").append("<option value=\""+j+"\">"+array_CNCity[province_id][j]+"</option>");
			}
		}
		$("#province_id").change(function(){
					var i = $(this).val();
					$("#city_id").html("<option value=\"-1\">--请选择--</option>");
					for(j=0;j<array_CNCity[i].length;j++){
						$("#city_id").append("<option value=\""+j+"\">"+array_CNCity[i][j]+"</option>");
					}
					if ($(this).valid()&&$("#city_id").valid()) {
						checkStyle(this);
					}
				});
		$("#city_id").change(function(){
			if ($(this).valid()&&$("#province_id").valid()) {
				checkStyle(this);
			}

			//for update address
			updateAddress($(this).val());
		});
		/* For province select end */
		
		/* For region select start */
		/*
		if($("#region_id").val() != ''){
			var t = parseInt($("#region_id").attr("selectedIndex"));
			if(document.getElementById("show_region_city_id"))
			{
			    var showCityName = $("#show_region_city_id").val();
			}
			else
			{
			    var showCityName = '';
			}

			$("#region_city_id").html('<option value="">--请选择--</option>');
			for(i=0;i<array_CNCity[t].length;i++){
				if(array_CNCity[t][i] == showCityName)
				    $("#region_city_id").append('<option value=\"'+array_CNCity[t][i]+'\" selected="selected">'+array_CNCity[t][i]+'</option>');
				else
				    $("#region_city_id").append("<option value=\""+array_CNCity[t][i]+"\">"+array_CNCity[t][i]+"</option>");
			}
		}
		$("#region_id").change(function(){
					var t = parseInt($("#region_id").attr("selectedIndex"));
					$("#region_city_id").html('<option value="">--请选择--</option>');
					for(j=0;j<array_CNCity[t].length;j++){
						$("#region_city_id").append("<option value=\""+array_CNCity[t][j]+"\">"+array_CNCity[t][j]+"</option>");
					}
					/*
					if ($(this).valid()&&$("#region_city_id").valid()) {
						checkStyle(this);
					}
					
				});
		$("#region_city_id").change(function(){
				/*
			if ($(this).valid()&&$("#region_id").valid()) {
				checkStyle(this);
			}
			*/
		/*});
		
		/* For region select end */
		
		$("#sel-education").change(function(){
			if($(this).valid())
			{
			    checkStyle(this);
			}
		});

		$("#sel-income-preso").change(function(){
			if($(this).valid())
			{
			    checkStyle(this);
			}
		});

		$("#sel-profession").change(function(){
			if($(this).valid())
			{
			    checkStyle(this);
			}
		});

		$("#sel-skin-type").change(function(){
			if($(this).valid())
			{
			    checkStyle(this);
			}
		});

		$("#sel-age-range").change(function(){
			if($(this).valid())
			{
			    checkStyle(this);
			}
		});

		$("#txt-zip-code").blur(function(){
				checkStyle(this);
		});
		
	}


	if(!!document.getElementById("elleform-editpwd")){
		try {
		       $("#new_password").passStrength({
		             badPass: "弱",
			     goodPass: "中",
			     strongPass: "强"
			});
		}
		catch (e) {}
	}

	if(!!document.getElementById("register-form")){
		$("#btn-submit").click(function(){$("#register-form").submit();});
		$("#rad-newsletter1").click(function(){$("#newsletter-content").css("display","block");});
		$("#rad-newsletter2").click(function(){$("#newsletter-content").css("display","none");});
		if($("#chk-newsletter-weekly:checked").length)
			$("#newsletter-weekly-list").css("display","block");
		$("#chk-newsletter-weekly").click(function(){
					if($("#newsletter-weekly-list").css("display")=="none"){
						$("#newsletter-weekly-list").css("display","block");
						$("#newsletter-weekly-list input").attr("checked","checked");
					}else{
						$("#newsletter-weekly-list").css("display","none");
						$("#newsletter-weekly-list input").attr("checked","");
					}
				});
		
		$("#btn-captcha").click(function(){
					$("#captcha-img").attr("src","/ajaxext/captcha/"+ Math.floor(Math.random()*100000));
				});
		/* For birthdate start */	
		var dateSelect=$(".birth select");
		$("input[name='birthdate']").val($("#sel-year").val() + "-" + $("#sel-month").val() + "-" + $("#sel-day").val());
		$.each(dateSelect, function(i, n){
			$(n).change(function(){
				$(this).parent().find("label.right").remove();
				var y = $(dateSelect[0]).val();
				var m = $(dateSelect[1]).val();
				var d = $(dateSelect[2]).val();
				if (y == "" && m == "" && d == "")
					$("input[name='birthdate']").val("");
				else
					$("input[name='birthdate']").val(y + "-" + m + "-" + d);
				if ($("input[name='birthdate']").valid()) {
					checkStyle("input[name='birthdate']");
				}
			});
		});
		/* For birthdate end */
		$("#sel-card-type").change(function(){
					if($("#txt-cardnumber").valid())
						checkStyle("#txt-cardnumber");
				});
		/* For province select start */
		if($("#sel-province").val()>0){
			var province_id=$("#sel-province").val();
			var city_id=$("#city_value").val();
			$("#sel_city").html("<option value=\"-1\">--请选择--</option>");
			for(j=0;j<array_CNCity[province_id].length;j++){
				if(j==city_id)
					$("#sel_city").append("<option value=\""+j+"\" selected=\"selected\">"+array_CNCity[province_id][j]+"</option>");
				else
					$("#sel_city").append("<option value=\""+j+"\">"+array_CNCity[province_id][j]+"</option>");
			}
		}
		if(!!$("#rad-newsletter2:checked").length){$("#newsletter-content").css("display","none");}
		$("#sel-province").change(function(){
					var i = $(this).val();
					$("#sel_city").html("<option value=\"-1\">--请选择--</option>");
					for(j=0;j<array_CNCity[i].length;j++){
						$("#sel_city").append("<option value=\""+j+"\">"+array_CNCity[i][j]+"</option>");
					}
					if ($(this).valid()&&$("#sel_city").valid()) {
						checkStyle(this);
					}
				});
		$("#sel_city").change(function(){
			if ($(this).valid()&&$("#sel-province").valid()) {
				checkStyle(this);
			}
		});
		/* For province select end */

		try {
		       $("#txt-password").passStrength({
		             badPass: "弱",
			     goodPass: "中",
			     strongPass: "强"
			});
		}
		catch (e) {}
	}
	checkFields("#register-form");
	checkFields("#elleform");
	checkFields("#elleform-editpwd");
	checkFields("#form-newsletter");
	checkFields("#edit-tryoutform");
	checkFields("#tryoutform");

	var checkRadio = function(name){
              $.each($("input[name='" + name + "']"), function(i, n){
             		$(n).click(function(){
	                       if ($(this).valid()) {
	                              $(this).parent().find("label.right").remove();
	                              checkStyle(n);
	                       }
	                });
	      });
	};
	checkRadio("sex");

	function updateAddress(city_id_value){
	     var province_id = $("#province_id").val();
             var province_text = $("#province_id option:selected").text();
	     var city_text = array_CNCity[province_id][city_id_value];
	     var address_text = $("#h-address").val();

	     if( province_text != "" && city_text != "" )
	     {
	         var text_array = address_text.split(" ");
	         if( text_array.length > 1 )
	         {
		     if( text_array[2] != "" )
		     {
		         address_text = text_array[2];
		     }
	         }
	         address_text = province_text +" "+ city_text +" " + address_text;
	     }

	     $("#address").attr("value", address_text);
        }
});

})(jQuery);

