// JavaScript Document

//将军令序列号
function checkSerial(serial) {
		return /^\d{5,10}$/.test(serial); 
	}
	//动态密码
	function checkOtp(otp) {
		return /^\d{6}$/.test(otp); 
	}
	//安全码
	function checkPingma(pingma){
		return pingma != null && pingma.length > 0;
		
	}
	//提示问题答案
	function checkAnswer(answer){
		return answer != null && answer.length > 0;
		
	}
	
	//校验码
	function checkRandom(random){
		return random != null && random.length > 0;
		
	}
	
	//服务号
	function checkServiceNO(serviceno){
		return serviceno != null && serviceno.length > 0;
	}
	
	//检查手机号
	function checkMobile(mobile) {
	var pattern = /^(((13|15|18)\d{9})|(147\d{8}))$/;
	if(pattern.test(mobile))
		return true;
	else
		return false;
		
	}
	//检查密保卡的密码
	function checkPpcPassword(ppcPassword){
		
		var pattern = /^\d{3,9}$/;
	if(pattern.test(ppcPassword))
		return true;
	else
		return false;
		
	
	
	}
	//检查密码
	function checkPassword(password){
		return  password != null && password.length > 0;
		
	}
	
	//检查用户名
	function checkUsername(username){
		
		return  username != null && username.length > 0;
	}

	//检查电话
	function checkPhone(phone){
		var pattern = /^\d{7,12}$/;
	    if(pattern.test(phone))
		    return true;
	    else
		    return false;
	}
	
	
	//各表单域的统一检查
	function check(input){
			
			//alert(input.id);
			var isInputCorrect = false;
			var errMsg =  "";
			var err_tip_obj = null;
			
			//alert(input.name);
			if(input.name == 'serial' || input.name == 'binded_serial' || input.name == 'old_serial' || input.name == 'newserial'){
					isInputCorrect = (checkSerial(input.value));
					if(!isInputCorrect)
						errMsg  = "请输入5-10位的将军令序列号";
					
			}else if(input.name == 'otppwd' || input.name == 'binded_otppwd' || input.name == 'oldotp' || input.name == 'newotp'
				|| input.name == 'otp1' || input.name == 'otp2' || input.name == 'otppass' ){
				
					
					isInputCorrect = checkOtp(input.value);
					
					
					if(!isInputCorrect)
						errMsg = "请输入6位的将军令动态密码";
			}else if(input.name == 'pinma'){
					isInputCorrect = checkPingma(input.value);
					if(!isInputCorrect)
						errMsg = "请输入安全码";
			}else if(input.name == 'answer'){
					isInputCorrect = checkAnswer(input.value);
					if(!isInputCorrect)
						errMsg = "请输入提示问题答案";
			}else if(input.name == 'radomPass' || input.name == 'usercheckcode'){
					isInputCorrect = checkRandom(input.value);
					if(!isInputCorrect)
						errMsg = "请输入校验码";
			}else if(input.name == 'serviceno'){
				isInputCorrect = checkServiceNO(input.value);
					if(!isInputCorrect)
						errMsg = "请输入将军令服务号";
			}else if(input.name == 'mobile'){
					isInputCorrect = checkMobile(input.value);
					if(!isInputCorrect)
						errMsg = "请输入正确的手机号";
					
			}else if(input.name == 'ppcpass'){
					
					isInputCorrect = checkPpcPassword(input.value);
					if(!isInputCorrect)
						errMsg = "请输入正确的密保卡密码";
										
			}else if(input.name == 'password'){
					isInputCorrect = checkPassword(input.value);
					if(!isInputCorrect)
						errMsg = "请输入密码";
			}else if(input.name == 'username'){
					isInputCorrect = checkUsername(input.value);
					if(!isInputCorrect)
						errMsg = "请输入用户名";
			}else if(input.name == 'phone'){
				isInputCorrect = checkPhone(input.value);
					if(!isInputCorrect)
						errMsg = "请输入电话号码";
						
			}
			
			
			
			
			err_tip_obj = document.getElementById(input.name + "_err_tip");			
			
			//-----------------------安全控件处理开始----------------------
			
			if(isOtpControl(input)){
					//如果是安全控件 
					var prefix = input.id.substring(0,input.id.indexOf("_edit"));
					var tmpobj = document.getElementById(prefix + "_err_tip");
					if(tmpobj != null){
						err_tip_obj = tmpobj;
						if(prefix == 'otppwd' || prefix == 'binded_otppwd' || prefix == 'oldotp' || prefix == 'newotp'
							|| prefix == 'otp1' || prefix == 'otp2' || prefix == 'otppass'){
								//如果是将军令的动态密码
								isInputCorrect = checkOtp(input.value);
								if(!isInputCorrect)
									errMsg = "请输入6位的将军令动态密码";
						}else if(prefix == 'pinma'){
								//校验安全码
								isInputCorrect = checkPingma(input.value);
								if(!isInputCorrect)
									errMsg = "请输入安全码";
						}else if(prefix == 'serviceno'){
							isInputCorrect = checkServiceNO(input.value);
							if(!isInputCorrect)
								errMsg = "请输入将军令服务号";
						}
					}
					
			}
			//-----------------------安全控件处理结束----------------------
			
			if(!isInputCorrect){
				err_tip_obj.className = "errtip";
				err_tip_obj.innerHTML = errMsg;
			}else{
				err_tip_obj.innerHTML  = "";
				err_tip_obj.className = "";
			}
			
			return isInputCorrect;
			
	}
	
	
		function check4Login(event){
		var usernameinput =  document.mibaologin.username;
		check(usernameinput);
		
		
	}
	
	
	//判断是否是安全控件
	function isOtpControl(obj){
		return (obj != null && obj.classid == 'clsid:32D72994-45B9-42B5-8980-FB561D1BE2D0');
		
		
	}
	
	//允许安全控件输入非数字内容
	function allowNotNumber(obj){
		
		try {
			obj.TestEdit();
			if(obj.OnlyNum)
				obj.OnlyNum = false;
		} catch (exception){
			
		}	
								
	}
	//表单提交前的检查
	function checkForm(form){
	
		//把安全控件中的内容赋值给隐藏的输入框 
		var obj;
		for(var i = 0 ; i < form.elements.length; ++i){
				obj = form.elements[i];
				if(isOtpControl(obj)){
					var input = document.getElementById(obj.id.substring(0,obj.id.indexOf("_edit")));//对应安全控件的普通输入框
					input.value = obj.value;
				}
		}
		
		var form_inputs_correct = true;//此变量决定表单是否能够提交
			
		var is_form_input_correct = "";
		
		//遍历input
	
		
		for(var i = 0 ;  i < form.elements.length; ++i){
				if(form.elements[i].type == 'text' || form.elements[i].type == 'password' ){
					is_form_input_correct = check(form.elements[i]);
					if(is_form_input_correct == false)
						 form_inputs_correct = false;
					
				}
				
		}
		
		return form_inputs_correct;
		
	}
	
	
	//首次绑定的表单检查
	function checkBindForm(form){
		
		
		var form_inputs_correct = true;//表单是否能够提交
		
		var is_form_input_correct; 
		
		//将军令序列号
		is_form_input_correct =  check(form.serial);
		if(is_form_input_correct == false)
			form_inputs_correct = false;
		
		//动态密码
		if(isIE()){
			var otppwd_edit = document.getElementById('otppwd_edit');
			if(otppwd_edit)
				form.otppwd.value = otppwd_edit.value; 
		}
		is_form_input_correct =  check(form.otppwd);
		if(is_form_input_correct == false)
			form_inputs_correct = false;
		
		//是否需要额外检查提示问题答案或者安全码
		if(form.checktype != null){
			//提示问题答案和安全码都存在。
			if(form.checktype[1].checked){
				//选择了安全码
				
				//提示问题答案的错误提示隐藏。
				var answer_err_tip = document.getElementById('answer_err_tip');
				answer_err_tip.className = "";
				answer_err_tip.innerHTML = "" ;
				
				
				
				var pinma = form.pinma;
				if(isIE()){
						var pinma_edit = document.getElementById('pinma_edit');
						if(pinma_edit)
							pinma.value = pinma_edit.value;
						
				}
				
				is_form_input_correct =  check(pinma);
				if(is_form_input_correct == false)
					form_inputs_correct = false;
				
			}else{
				//选择了提示问题答案
				
				//安全码的错误提示答案隐藏
				var pinma_err_tip = document.getElementById('pinma_err_tip');
				pinma_err_tip.className = "";
				pinma_err_tip.innerHTML = "" ;
				
				
				
				is_form_input_correct =  check(form.answer);
				if(is_form_input_correct == false)
					form_inputs_correct = false;
					
			}
		}else{
			//只有安全码或者问题答案
			if(isIE()){
				//把安全控件中的内容赋值到input.
				var pinma_edit = document.getElementById('pinma_edit');
				var pinma = form.pinma;
				if(pinma_edit &&　pinma){
					pinma.value = pinma_edit.value;
				}
			}
		}
		
		
		return form_inputs_correct;	
	}
	
	//判断浏览器类型是否是ie
	function isIE(){
			return (navigator.userAgent.indexOf("MSIE") > 0);
				
	}
	//如果是非ie浏览器，则显示。
	function show(obj){
			if(!isIE()){
				if(obj != null)
					obj.style.display  = "";
			}
	}
	
	
	
	function switch_(type,obj){
		if(type == 'on'){
			if(!isOtpControl(obj))
				obj.style.background = "#ffffff";
			obj.disabled = "";
			obj.value = "";
			
		}else{
			
			if(!isOtpControl(obj))
				obj.style.background = "#cccccc";
			obj.disabled = "disabled";
			obj.value = "";
		}
	}
		function changeType(selobj){
		
		
		var pinma_edit = document.getElementById('pinma_edit');//安全控件
		
		if(isIE() && pinma_edit){
			//ie浏览器
			
			var pinma = document.getElementById('pinma');//安全码输入框
			var answer = document.getElementById('answer');
			 
			
			 
			if(selobj.value == "1"){
				//选择安全码，显示安全控件，隐藏安全码输入框
				pinma_edit.style.display = "";
				pinma.style.display = "none";
				pinma.disabled = "";
				switch_('off',answer);
				
				//把问题答案的错误提示隐藏
				var answer_err_tip = document.getElementById('answer_err_tip');
				answer_err_tip.className = "";
				answer_err_tip.innerHTML = "" ;
				
				
			}else{
				//选择提示问题答案
				switch_('on',answer);
				pinma_edit.style.display = "none";
				pinma.style.display = "";
				pinma.disabled = "disabled";
				
				//安全码的错误提示隐藏掉
				
				//把问题答案的错误提示隐藏
				var answer_err_tip = document.getElementById('pinma_err_tip');
				pinma_err_tip.className = "";
				pinma_err_tip.innerHTML = "" ;
				
				
			}
		}else{
			//非ie浏览器
			var pinma = document.getElementById('pinma');//安全码输入框
			var answer = document.getElementById('answer');
			 
			 if(selobj.value == "1"){
				switch_('off',answer);
				switch_('on',pinma);
				
			}else{
				//选择提示问题答案
				switch_('on',answer);
				switch_('off',pinma);
				
			}
			 
		}
	}
	