var msg_error = "";

(function($){

     $(function(){
	 $(".edit-other #elleform").submit(function(){
	    
		if(!check())
	     {
	         return false;
	     }
	     return true;
	 });

	 $(".edit-vip-form #elleform").submit(function(){
	     if(!foo())
	     {
	         return false;
	     }
	     return true;
	 });

	 $(".newsletter-form #elleform").submit(function(){
	     if(!checkphone())
	     {
	         return false;
	     }
	     return true;
	 });

	 //add show city name
	 if(document.getElementById("show-city-name"))
	 {
		 var showProvinceID = parseInt($("#show-province_id").attr("value"));
	     var showCityID = parseInt($("#show-city-id").attr("value"));
             $("#show-city-name").append(array_CNCity[showProvinceID][showCityID]);
	 }

	 $("#province_id").change(function(){
		$("#province_value").val($("#province_id").find('option:selected').text());		
	     //selectProvinceID();
	 });
	  $("#city_id").change(function(){	
		$("#city_value").val($("#city_id").find('option:selected').text());
	     //selectProvinceID();
	 });

	 //selectProvinceID();

         if(document.getElementById("region_id"))
	 {
	     selectRegionID();
	 }

	 $("#region_id").change(function(){
	     selectRegionID();
	 });

	 $("#elleform #captcha").keypress(function(e){
	     if (e.keyCode == "13") {
	         newsletter.validNewsletter();
	         return false;
	     }
	 });

	 $("#elleform #captcha_img").click(function(){
	     $("#elleform #captcha_img").attr("src","/ajaxext/captcha/"+ Math.floor(Math.random()*100000));
	 });

         $("#elleform .red-link").click(function(){
             $("#elleform #captcha_img").attr("src","/ajaxext/captcha/"+ Math.floor(Math.random()*100000));
         });

	 $("#rad_yes","#new-register").click(function(){
	     $(".newsletter","#new-register").show();
	 });
	 $("#rad_no","#new-register").click(function(){
	     $(".newsletter","#new-register").hide();
	     $(".newsletter :checkbox","#new-register").attr("checked","");
	     $(".options","#new-register").hide();
	     $(".msg3","#new-register").hide();
	 });

	 var checkOptions=function(o,checked){
	     if(checked){
	         $(o).show();
	         $(":checkbox",$(o)).attr("checked","checked");
	     }
	     else{
	         $(o).hide();
	         $(":checkbox",$(o)).attr("checked","");
	     }
	 };

	 var setCheckOptions=function(o,checked){
	     if(checked){
	         $(":checkbox",$(o)).attr("checked","");
	     }
	 };

	 if(document.getElementById("rad-edit-newsletter1"))
	 {
	     $("#rad-edit-newsletter1").click(function(){
	         $("#newsletter-send-type").css('display','block');
	     });
	 }

	 if(document.getElementById("rad-edit-newsletter2"))
	 {
	     $("#rad-edit-newsletter2").click(function(){
	         $("#newsletter-send-type").css('display','none');
	     });
	 }

	 $("#newsletter_ellecn_daily2").click(function(){
	     checkOptions($("#weekly-options"),$(this).attr("checked"));
	 });

	 $("#handphone_number","#new-register").focus(function(){
	     $(".msg3","#new-register").fadeIn();
	 });

	 if ($("#rad_yes","#new-register").attr("checked")){
             $(".newsletter","#new-register").show();
         }
         if ($("#newsletter_ellecn_daily2").attr("checked")){
             $("#weekly-options").show();
         }

	 $("#elleform #checklogin").click(function(){
	     if(!checklogin())
	     {
	         return false;
	     }
	     return true;
	 });

	 function checklogin()
	 {
	     if($('#elleform #login').val() == ""){
		  alert('请输入您想要的用户名');
		  $('#elleform #login').focus();
		  return false;
	     }
	     var filter  = /[!@#$\s]/;
	     if (filter.test($('#elleform #login').val())) 
	     {
		 alert('您输入的用户名包含特殊字符和空格，请重新输入');
		 $('#elleform login').val("");
		 return false;
	     }
	     else{
		 var boxchecklogin = $("#boxchecklogin").html();
		 var param = 'login=' + $('#elleform #login').val() + '&ajax=1';
		 $("#checklogin").hide();
		 $("#checklogin-loader").show();
		 $.ajax({
		     type: "POST",
		     url: '/action/checkLogin',
		     async: false,
		     data: param,
		     success: function( responseText ){
		         var res = eval('('+responseText+')');
			 if(res.res)
			 {
			     alert("抱歉，您输入的用户名已被占用！");
			     $('#elleform #login').val("");
			     $("#elleform #login").focus();
			     $("#checklogin").show();
			     $("#checklogin-loader").hide();
		         }
		         else
		         {
			     alert("恭喜，您输入的用户名可以使用！");
			     $("#checklogin").show();
			     $("#checklogin-loader").hide();
		         }
		     } 
		 });
	     }
	 }

	 function check()
	 {

	     if(!check_form_basic())
	     {
		  return false;
	     }

	     if( $("#province_id").length > 0 && $("#city_id").length > 0 )
	     {
		  if( $("#province_id").val() == "0" || $("#city_id").val() == "0")
		  {
		      alert("请选择地区！");
		      return false; 
		  }
	     }

	     var isValidDate = function(theDate){
		 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(theDate)) {
		      return false;
		 }
		 else {
		      var arr_hd = theDate.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;
	     };

	     var year = $("#date_de_naissance_annee");
	     var month = $("#date_de_naissance_mois");
	     var day = $("#date_de_naissance_jour");
	     if(year&&month&&day)
	     {
 		 if(!isValidDate(year.val()+"-"+month.val()+"-"+day.val()) && !$('form').hasClass("edit-password")){
		     alert("请选择有效的日期！");
		     return false;
		 }
	     }

	     var isValidPhone=function (phoneInputId){
		 var phone = document.getElementById(phoneInputId).value;
		 var patrn = /^[0-9\-]*$/;
		 if (phone == ''||!patrn.exec(phone)) {
		        return false;
		 }
		 return true;
	     };
/*
	     var mobileCheck=document.getElementById("newsletter_ellecn_mobile");
	     if(mobileCheck.checked)
	     {
  	         if(!isValidPhone("mobile")){
		    alert("请输入有效的手机号码！");
		    return false;
		 }
	     }
*/
	     if(!checkIdcard($("#num_identity")))
	     {
		 setError("#num_identity");
		 $("#num_identity").focus();
		 return false;
	     }

	     return true;
	 }

         function check_sex(){
	        var flag = false;
		var input_sex = $("#elleform input[name='sex']");
		if( input_sex.length > 0 )
		{
		    for(i=0;i<input_sex.length;i++)
		    {
			if(input_sex[i].checked ==  true )
			{
				flag = true;	
			}
		    }
		}
		else
		{
		    flag = true;
		}
                return flag;
	 }

	 function checkIdcard(idcard)
	 {      
		return true;
		var Errors=new Array(
		"验证通过!",
		"身份证号码位数不对!",
		"身份证号码出生日期超出范围或含有非法字符!",
		"身份证号码校验错误!",
		"身份证地区非法!"
		);
		var area={11:"北京",12:"上海",13:"天津",14:"重庆",15:"黑龙江",21:"吉林",22:"辽宁",23:"河北",31:"山西",32:"河南",33:"山东",34:"江苏",35:"浙江",36:"福建",37:"江西",41:"湖北",42:"安徽",43:"广东",44:"海南",45:"湖南",46:"四川",50:"贵州",51:"云南",52:"陕西",53:"甘肃",54:"青海",61:"广西",62:"宁夏",63:"内蒙古",64:"新疆",65:"西藏",71:"香港",81:"澳门",82:"台湾"}
		
		var idcard,Y,JYM;
		var S,M;
		var idcard_array = new Array();
		idcard_array = idcard.split("");
		//地区检验
		if(area[parseInt(idcard.substr(0,2))]==null) {alert("身份证非法!");return false;}
		//身份号码位数及格式检验
		switch(idcard.length){
		case 15:
		if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
		ereg=/^[1-9][0-9][0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]$/;//测试出生日期的合法性
		} else {
		ereg=/^[1-9][0-9][0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]$/;//测试出生日期的合法性
		}
		if(ereg.test(idcard)) return true;
		else {return true;}
		break;
		case 18:
		//18位身份号码检测
		//出生日期的合法性检查
		//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
		//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
		if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
		ereg=/^[1-9][0-9]19[0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9][0-9Xx]$/;//闰年出生日期的合法性正则表达式
		} else {
		ereg=/^[1-9][0-9]19[0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9][0-9Xx]$/;//平年出生日期的合法性正则表达式
		}
		if(ereg.test(idcard)){//测试出生日期的合法性
		//计算校验位
		S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
		+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
		+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
		+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
		+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
		+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
		+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
		+ parseInt(idcard_array[7]) * 1
		+ parseInt(idcard_array[8]) * 6
		+ parseInt(idcard_array[9]) * 3 ;
		Y = S % 11;
		M = "F";
		JYM = "10X98765432";
		M = JYM.substr(Y,1);//判断校验位
		if(M == idcard_array[17]) return true; //检测ID的校验位
		else {alert("身份证号码校验错误!");return false;}
		}
		else {return true;}
		break;
		default:
		{alert("身份证号码位数不对!");return false;}
		break;
		}
	 }

	 function checkMail(mail)
	 {
	     var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	     if (filter.test(mail)) 
		return true;
	     else 
		return false;
	 }

	 function checkMobile(mobile)
	 {
	     var reg0=/^13\d{5,9}$/;   //130--139。至少7位
	     var reg1=/^15(0|1|2|3|5|6|7|8|9)\d{5,9}$/;  //150－159，至少7位
	     var my=false;
	     if (reg0.test(mobile))my=true;
	     if (reg1.test(mobile))my=true;
	     return my;
	 }

	 function checkphone()
	 {
	     var s=$("#elleform #handphone_number").val();
	     var reg=/^13[0-9]{9}$|^147\d{8}$|^15[0-9]\d{8}$|^18[6|8|9]\d{8}$/;
	    // var reg=/^1[0-9]{10}$/;
             $("#err_msg").text('');
	     if( s == "" )
	     {
		  $("#err_msg").text('请输入手机号码');
		  return false;
	     }
	     else
	     {
	          if (reg.test(s) == false)
		  {
		      $("#err_msg").text('请输入有效的手机号码');
		      return false;
		  }
	     }
	     return true;
	 }

	 function check_form_basic()
	 {
	     $("#elleform input:text").each(function(element){
		  $(element).keydown(function(){
		      clearError($(element));
		  });
	     });
	      
	     $("#elleform input:password").each(function(element){
		  $(element).keydown(function(){
		      clearError($(element));
		  });
	     });

	     $("#elleform select").each(function(element){
		  $(element).change(function(){
		      clearError($(element));
		  });
	     });

	     var form = $("#elleform");
	     var obj = form.find(".must");
	     var RequiredElements = new Array();

	     $.each(obj,function(element){
		 obj.find("select,input").each(function(i,element1){
			 RequiredElements[i] = element1;
		 });
	     });

	     if(checkRequiredInfos(RequiredElements))
	     {
		 return true;
	     }
	     else
	     {
		 alert(msg_error);
		 msg_error = "";
		 return false;
	     }
	}
      
        function setError(X)
	{
            $(X).css("border","2px solid #ff0000");
	}

        function clearError(X)
	{
	    $(X).css("border","0px solid red");
        }

	function Trim(ori)
	{
            while (ori.substring(0,1) == ' ')
            {
                ori = ori.substring(1, ori.length);
            }
            while (ori.substring(ori.length-1, ori.length) == ' ')
            {
                ori = ori.substring(0,ori.length-1);
            }
            return ori;
        }

	function checkRequiredInfos(RequiredElements)
	{
	    var flg = true;
	
	    for (var i = 0; i < RequiredElements.length; i++)
	    {
		if (Trim($(RequiredElements[i]).val()) == '' || Trim($(RequiredElements[i]).val()) == '0')
		{
			setError(RequiredElements[i]);
			msg_error += $(RequiredElements[i]).attr("title") + " 是一个必填栏目. \n";
			flg = false;
		}
		else
		{
			clearError(RequiredElements[i]);
		}
	    }

	    if( !check_sex() )
	    {
		msg_error += "性别 是一个必填栏目. \n";
		flg = false;
	    }  
	    return flg;
         }

	 function selectProvinceID()
	 {
	     if( $("#province_id").length > 0 )
	     {
			   $("#city_id_span").html( '<select id="city_id" name="city_id" title="城市" class="opt_2"><option value="0">--请选择城市--</option></select>' );
	           var t = parseInt($("#province_id").attr("value"));
                   if(document.getElementById("show-city-id"))
	           {
				   var showCityID = parseInt($("#show-city-id").attr("value"));
	           }
		   else
		   {
                       var showCityID = 0;
		   }

	           for(var i=0;i<array_CNCity[t].length;i++)
	           {
	                if(array_CNCity[t][i])
	                {
			      if((i+1) == showCityID)
			      {
	                          $("#city_id").append('<option value="'+(i+1)+'" selected="selected">'+array_CNCity[t][i]+'</option>');
			      }
			      else
			      {
				   $("#city_id").append('<option value="'+(i+1)+'">'+array_CNCity[t][i]+'</option>');
			      }
	                }
	           }
	     }
	 }

	 function selectRegionID()
	 {
	     if( $("#region_id").length > 0 )
	     {
	           $("#region_city_id_span").html( '<select id="region_city_id" name="region_city_id" title="城市" class="opt_2"><option value="">--请选择城市--</option></select>' );
		   var t = parseInt($("#region_id").attr("selectedIndex"));
		   if(document.getElementById("show_region_city_id"))
	           {
	               var showCityName = $("#show_region_city_id").val();
	           }
		   else
		   {
                       var showCityName = '';
		   }
	           for(var i=0;i<array_CNCity[t].length;i++)
	           {
	                if(array_CNCity[t][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>');
			      }
	                }
	           }
	     }
	 }

	 function foo()
	 {
	      if(!check())
	      {
		  return false;
	      }
	      else{
		  return true;
	      }

	      if($("#first_name").val() == "" || $("#province_id").val() == "0" || $("#city_id").val() == "0"|| $("#num_identity").val() == "" || $("#handphone_number").val() == "")
	      {
	          var r = confirm("您只需要填写以下标*信息，即刻参加注册有礼活动获得大奖！并升级为ELLE尊贵高级会员!");
		  if(r == true)
		  {
		      return false;
		  }
		  else
		  {
		      return true;
		  }
	      }
	 }

     });

})(jQuery);

var array_CNCity = new Array();
array_CNCity[0]=new Array();
array_CNCity[1]=new Array("东城区","西城区","崇文区","宣武区","朝阳区");
array_CNCity[2]=new Array("黄浦区","卢湾区","徐汇区","长宁区","静安区","普陀区","闸北区","虹口区","杨浦区","宝山区","闵行区","嘉定区","浦东新区","金山区","松江区","青浦区","南汇区","奉贤区","崇明");
array_CNCity[3]=new Array("和平区","河东区","河西区","南开区","河北区","红桥区","塘沽区","汉沽区","大港区","东丽区","西青区","津南区","北辰区","武清区","宝坻区","宁河","静海","蓟县");
array_CNCity[4]=new Array("渝中区","大渡区","江北区","沙坪坝","九龙坡","南岸区","北碚区","万盛区","双桥区","双桥区","渝北区","巴南区","黔江区","长寿区","江津区","合川区","永川区","南川区","綦江县","潼南县","铜梁县","大足县","荣昌县","璧山县","梁平县","城口县","丰都县","垫江县","武隆县","忠县","开县","云阳县","奉节县","巫山县","巫溪县");
array_CNCity[5]=new Array("哈尔滨","齐齐哈尔","鸡西","鹤岗","双鸭山","大庆","伊春","佳木斯","七台河","牡丹江","黑河","绥化","大兴安岭");
array_CNCity[6]=new Array("长春","吉林","四平","辽源","通化","白山","松原","白城","延边");
array_CNCity[7]=new Array("沈阳","大连","鞍山","抚顺","本溪","丹东","锦州","营口","阜新","辽阳","盘锦","铁岭","朝阳","葫芦岛");
array_CNCity[8]=new Array("石家庄","唐山","秦皇岛","邯郸","邢台","保定","张家口","承德","廊坊","沧州","衡水");
array_CNCity[9]=new Array("太原","大同","阳泉","长治","晋城","朔州","晋中","运城","忻州","临汾","吕梁");
array_CNCity[10]=new Array("郑州","开封","洛阳","平顶山","焦作","鹤壁","新乡","安阳","濮阳","许昌","漯河","三门峡","南阳","商丘","信阳","周口","驻马店","济源");
array_CNCity[11]=new Array("滨州","德州","东营","菏泽","济南","济宁","莱芜","聊城","临沂","青岛","日照","泰安","威海","潍坊","烟台","枣庄","淄博");
array_CNCity[12]=new Array("常州","淮安","连云港","南京","南通","苏州","宿迁","泰州","无锡","徐州","盐城","扬州","镇江");
array_CNCity[13]=new Array("杭州","湖州","嘉兴","金华","丽水","宁波","绍兴","台州","温州","舟山","衢州");
array_CNCity[14]=new Array("福州","龙岩","南平","宁德","莆田","泉州","三明","厦门","漳州");
array_CNCity[15]=new Array("抚州","赣州","吉安","景德镇","九江","南昌","萍乡","上饶","新余","宜春","鹰潭");
array_CNCity[16]=new Array("武汉","鄂州","恩施","黄冈","黄石","荆门","荆州","潜江","神农架林区","十堰","随州","天门","仙桃","咸宁","襄樊","孝感","宜昌");
array_CNCity[17]=new Array("合肥","安庆","蚌埠","巢湖","池州","滁州","阜阳","淮北","淮南","黄山","六安","马鞍山","宿州","铜陵","芜湖","宣城","亳州");
array_CNCity[18]=new Array("广州","潮州","东莞","佛山","河源","惠州","江门","揭阳","茂名","梅州","清远","汕头","汕尾","韶关","深圳","阳江","云浮","湛江","肇庆","中山","珠海");
array_CNCity[19]=new Array("海口","白沙","保亭","昌江","澄迈县","定安县","东方","乐东","临高县","陵水","琼海","琼中","三亚","屯昌县","万宁","文昌","五指山","儋州");
array_CNCity[20]=new Array("常德","长沙","郴州","衡阳","怀化","娄底","邵阳","湘潭","湘西","益阳","永州","岳阳","张家界","株洲");
array_CNCity[21]=new Array("阿坝","巴中","成都","达州","德阳","甘孜","广安","广元","乐山","凉山","眉山","绵阳","南充","内江","攀枝花","遂宁","雅安","宜宾","资阳","自贡","泸州");
array_CNCity[22]=new Array("贵阳","安顺","毕节","六盘水","黔东南","黔南","黔西南","铜仁","遵义");
array_CNCity[23]=new Array("昆明","保山","楚雄","大理","德宏","迪庆","红河","丽江","临沧","怒江","曲靖","思茅","文山","西双版纳","玉溪","昭通");
array_CNCity[24]=new Array("西安","安康","宝鸡","汉中","商洛","铜川","渭南","咸阳","延安","榆林");
array_CNCity[25]=new Array("兰州","白银","定西","甘南","嘉峪关","金昌","酒泉","临夏","陇南","平凉","庆阳","天水","武威","张掖");
array_CNCity[26]=new Array("西宁","果洛","海北","海东","海南","海西","黄南","玉树");
array_CNCity[27]=new Array("南宁","百色","北海","崇左","防城港","桂林","贵港","河池","贺州","来宾","柳州","钦州","梧州","玉林");
array_CNCity[28]=new Array("银川","固原","石嘴山","吴忠","中卫");
array_CNCity[29]=new Array("呼和浩特","阿拉善盟","巴彦淖尔盟","包头","赤峰","鄂尔多斯","呼伦贝尔","通辽","乌海","乌兰察布盟","锡林郭勒盟","兴安盟");
array_CNCity[30]=new Array("阿克苏","阿拉尔","巴音郭楞","博尔塔拉","昌吉","哈密","和田","喀什","克拉玛依","克孜勒苏","石河子","图木舒克","吐鲁番","乌鲁木齐","五家渠","伊犁");
array_CNCity[31]=new Array("拉萨","阿里","昌都","林芝","那曲","日喀则","山南");
array_CNCity[32]=new Array("香港");
array_CNCity[33]=new Array("澳门");
array_CNCity[34]=new Array("台北","高雄","基隆","台中","台南","新竹","嘉义","台北县","宜兰县","新竹县","桃园县","苗栗县","台中县","彰化县","南投县","嘉义县","云林县","台南县","高雄县","屏东县","台东县","花莲县","澎湖县","金门","马祖");

