$(function(){
	// 添加保险险种记录
	$(".newTabAddUpdateBox").on('click','.negativeInformationPlus',function(){
		var insuranceTrClone = $(".insuranceTr:first").clone();
		insuranceTrClone.find('input:first').val('');
		insuranceTrClone.find('input[type=checkbox]').prop('checked',false);
		insuranceTrClone.find('.error').hide();
		$(this).parents('.insuranceTr').after(insuranceTrClone);
		if( $(".insuranceTr").length <= 1 ){
			$('.negativeInformationReduce').hide();
		}else{
			$('.negativeInformationReduce').show();
		}
	});
	
	// 删除保险险种记录
	$(".newTabAddUpdateBox").on('click','.negativeInformationReduce',function(){
		$(this).parents('.insuranceTr').remove();
		if( $(".insuranceTr").length <= 1 ){
			$('.negativeInformationReduce').hide();
		}else{
			$('.negativeInformationReduce').show();
		}
	});
	
	// 验证保险险种记录是否必填
	function insuranceValid(t,num){
		if( t==undefined ){
			$(".insuranceTr").each(function(i,ele){
				// 信用保险险种
				if( $(ele).find('input:first').val()=='' ){
					$(ele).find('input:first').next().addClass('shows').show();
				}else{
					$(ele).find('input:first').next().removeClass('shows').hide();
				};
				// 支持实施保理产品
				if( $(ele).find('.hasradio input:checked').length <=0 ){
					$(ele).find('.hasradio .error').addClass('shows').show();
				}else{
					$(ele).find('.hasradio .error').removeClass('shows').hide();
				};
			})
		}else{
			if( num=='first' ){
				if( t.val()=='' ){
					t.next().addClass('shows').show();
				}else{
					t.next().removeClass('shows').hide();
				}
			}else{
				if( t.find('input:checked').length <= 0 ){
					t.find('.error').addClass('shows').show();
				}else{
					t.find('.error').removeClass('shows').hide();
				}
			};
		}
	};
	
	// 信用保险险种
	$(".newTabAddUpdateBox").on('keyup','.insuranceTr input:first',function(){
		insuranceValid($(this),'first')
	});
	
	// 支持实施保理产品
	$(".newTabAddUpdateBox").on('click','.insuranceTr .hasradio input',function(){
		insuranceValid($(this).parents('.hasradio'),'second')
	});
	
	// 保存
	$(".newTabAddUpdateBtnBox .save").click(function(){
		// 验证保险险种记录是否必填
		insuranceValid();
		$("#insuranceAddForm").validate({
			 promptPosition : "bottomLeft",
			 submitHandler : function(form) {
				 if( $('.error.shows').length>0 ){
					 $('.error.shows:first').parent().find('input:first').focus();
					 return;
				 };
				 var postdata = {
					'name':$('[name=name]').val(),
					'abbreviation':$("[name=abbreviation]").val(),
				 };
				 // 信用保险险种 / 支持实施保理产品
				 for( var i=0;i<$(".insuranceTr").length;i++ ){
					 postdata['insuranceTypes['+i+'].name'] = $(".insuranceTr").eq(i).find('input:first').val();
					 for( var j=0;j<$(".insuranceTr").eq(i).find('.hasradio input:checked').length;j++ ){
						 postdata['insuranceTypes['+i+'].factoringProducts['+j+'].id'] = $(".insuranceTr").eq(i).find('.hasradio input:checked').eq(j).attr('pid');
					 };
					 j = null;
				 };
				 i = null;
				 
				 $.ajax({
					 url:'/creditInsurance/corp/doAdd',
					 type:'post',
					 data:postdata,
					 success:function(data){
						 if( data.success ){
							 if( data.data ){
								 new $.zui.Messager('新增保险公司成功', {
								    type: 'success'
								 }).show();	
								 $(".yk_rightcontent").load('/creditInsurance/corp/list')
							 }else{
								 new $.zui.Messager('新增保险公司失败', {
								    type: 'danger'
								 }).show();	 
							 };
						 }else{
							 new $.zui.Messager('新增保险公司失败:'+data.msg, {
							    type: 'danger'
							 }).show();	
						 }
					 },
					 error:function(status){
						 new $.zui.Messager('新增保险公司时出错:'+status, {
						    type: 'danger'
						 }).show();	
					 }
				 })
				 
			 }, 
			rules:{
				'name':{
					required:true,
					maxlength:50
				},
				'abbreviation':{
					required:true,
					maxlength:8
				}
			},
			messages : {
				'name':{
					required:'请输入保险公司名称',
					maxlength:'最多输入50个字符'
				},
				'abbreviation':{
					required:'请输入保险公司简称',
					maxlength:'最多输入8个字符'
				}
			}
		});
	});
	
	// 关闭按钮
	$(".newTabAddUpdateBtnBox .btn-cancel,.newBackBtn").click(function(){
		$(".yk_rightcontent").load('/creditInsurance/corp/list');
		return false;
	})
		
});