﻿/** 配置 */
//ca服务器地址
//var CASERVER='32.24.1.44';//认证服务器内网地址
var CFGWEBURL='http://www.pukou.gov.cn';//网站地址
var CASERVER='222.190.122.86';//认证服务器外网地址
//认证地址
var ACTIONURL='http://32.24.200.50/ldap/middle.jsp';
var CAACTIONURL='http://218.94.59.150/ldap/middle.jsp';
var ACTIONURL='http://32.24.200.50/ldap/middle.jsp';
var CAACTIONURL='http://www.pukou.gov.cn/ldap/middle.jsp';
//是否记住用户名密码
var remberFlag=true;
//cookies过期时间天数
var expireDays=10000;
/** 配置结束 */

var secoa;

//得到cookie
var COOKIE_HAVE = "";
var COOKIE_USER = "";
var COOKIE_PWD = "";
var COOKIE_CAPWD = "";
//设置时间
var date=new Date();
date.setTime(date.getTime()+parseInt(expireDays*24*60*60*1000));
//处理cookies
function remCookie(uid,pwd,capwd){
	var jsalertpre = "";
	var confirmflag = false;
	//得到cookie
	COOKIE_HAVE = getCookie("COOKIE_HAVE");
	COOKIE_USER = getCookie("COOKIE_USER");
	COOKIE_PWD = getCookie("COOKIE_PWD");
	COOKIE_CAPWD = getCookie("COOKIE_CAPWD");
	//判断是否一致
	if( COOKIE_HAVE == "yes" && (COOKIE_USER != uid || COOKIE_PWD != pwd || COOKIE_CAPWD !=capwd) ){
		confirmflag = true;
		jsalertpre = "系统检测到您的用户名或密码与上次保存的不一致，是否记住新的用户名密码？";
	}else{
		if( COOKIE_HAVE != "yes" ){
			confirmflag = true;
			jsalertpre = "是否记住用户名及密码？";
		}
	}
	
	if( remberFlag && confirmflag ){
		if( confirm( jsalertpre) ){
			if( uid != "" ){
				setCookie("COOKIE_USER",uid,date);
			}
			if( pwd != "" ){
				setCookie("COOKIE_PWD",pwd,date);
			}
			if( capwd != "" ){
				setCookie("COOKIE_CAPWD",capwd,date);
			}
			setCookie("COOKIE_HAVE","yes",date);
		}
	}
}

//判断登录类型
function loginInit(){
	
	var form1=document.getElementById("tbuser");
	var form2=document.getElementById("tbca");
	
	//处理cookie
	if( remberFlag ){
		//得到cookie
		COOKIE_HAVE = getCookie("COOKIE_HAVE");
		COOKIE_USER = getCookie("COOKIE_USER");
		COOKIE_PWD = getCookie("COOKIE_PWD");
		COOKIE_CAPWD = getCookie("COOKIE_CAPWD");
		if( COOKIE_USER ){
			document.formuser.userid.value = COOKIE_USER;
		}
		if( COOKIE_PWD ){
			document.formuser.userpassword.value = COOKIE_PWD;
		}
		if( COOKIE_CAPWD ){
			document.formca.mypassword.value = COOKIE_CAPWD;
		}
	}
	
	var flag;
	try{
		secoa = new ActiveXObject("vbWstAuth.WstAuthOcx");
		flag=secoa.WestoneActiveXGetIpaddress(CASERVER);
		switch(flag){
			case 0:
				form1.style.display="";
				form2.style.display="none";
			break;
			//有key尚未通过认证，需要提供ca password输入框
			case 1:
				form1.style.display="none";
				form2.style.display="";
			break;
			case 2:
				//alert("已经成功CA认证");
				form1.style.display="none";
				form2.style.display="";
				break;
			default:
				alert("CA认证状态未知。");
				break;
		}
	}catch (e){
		form1.style.display="";
		form2.style.display="none";
	}
}
//卫士通验证
function WstAuthI(){
	if( WstDetect(true) ){
		passwd=document.formca.mypassword.value;
		//记住
		remCookie("","",passwd);
		if ( passwd == '' )	{
			alert("请输入口令！");
			return false;
		}else{
			document.getElementById("catip").innerHTML="认证中...";
			setTimeout(function(){WstAuth(passwd)},500);
		}
	}else{
		return false;
	}
}
//ca认证
function WstAuth(passwd){
	var user;
	var result;
	var flag;
	result = secoa.WestoneActiveXGetRandom(passwd);
	if ( result==0 ){
		user=secoa.WestoneActiveXGetUserName();
		var num=user.substring(user.lastIndexOf("*")+1,user.length);
		passwd=secoa.WestoneActiveXGetPassword();
		var password=passwd.substring(passwd.indexOf("*")+1,passwd.length);
		var userid=passwd.substring(0,passwd.indexOf("*"));
		//组织资源平台需要的串
		var userinfo1=userid;
		var userinfo2=password;
		var userinfo3=num;
		document.formca.userinfo1.value=userinfo1;
		document.formca.userinfo2.value=userinfo2;
		document.formca.userinfo3.value=userinfo3;
		document.formca.action = CAACTIONURL;
		document.formca.submit();
		document.getElementById("catip").innerHTML="";
		//document.formca.mypassword.value = "";
		return true;
	}else{
		document.getElementById("catip").innerHTML="";
		alert(result);
		//document.formca.mypassword.value = "";
		return false;
	}
}

//设备识别
function WstDetect(isShowMsg){
	var flag;
	try{
		flag=secoa.WestoneActiveXGetIpaddress(CASERVER);
	}catch (e){
		alert('CA验证错误，请尝试重新插入Key或者刷新此页面！');
		return false;
	}
	//返回
	if (flag!=0){
		return true;
	}else{
		if( isShowMsg ){
			alert("未检测到Key，请尝试重新插入Key或者刷新此页面！");
		}
		return false;
	}
}

//正常登录方式
function checkThisForm() {
	var uid = document.formuser.userid.value;
	var pwd = document.formuser.userpassword.value;
	if (uid=="")
	{
		alert("请填写用户名！");
		return false;
	}else if (pwd==""){
		alert("请填写密码！");
		return false;
	}else {
		//记住
		remCookie(uid,pwd,"");
		document.formuser.action = ACTIONURL;
		document.formuser.submit();
		//document.formuser.userpassword.value = "";
	}
}
function resetForm(f) {
	if( f == "formuser" ){
		document.formuser.userid.value="";
		document.formuser.userpassword.value="";
	}else{
		//document.formuser.userid.value="";
	}
}
 
//切换登录方式
function switchlog(type){
	var form1=document.getElementById("tbuser");
	var form2=document.getElementById("tbca");
	if( type == "1" ){//普通用户
		form1.style.display="block";
		form2.style.display="none";
	}else{//ca用户
		form2.style.display="block";
		form1.style.display="none";
	}
}

//加载iframe
function loadIframe(url,iframename){
	window.attachEvent("onload",function(){
		var iobj = "document.getElementById('"+iframename+"')";
		var obj = eval(iobj);
		obj.src = url;
	});
}

//加载方法
window.attachEvent("onload",loginInit);


