//
//登陆框验证函数
//
function signInMemberSystem () {

	var vac = document.getElementById("login-vac").value;
	if (vac == "") {
		alert("请输入检验码！");
		return;
	}
	var loginid = document.getElementById("login-id").value;
	if (loginid == '') {
		alert('登录ID不能为空！');
		document.getElementById("login-id").focus();
		return false;
	}
	if (validVac(vac) != "true") {
		alert("校验码不正确,请重新输入!");
		return;
	}

	var loginpwd = document.getElementById("login-pwd").value;
	var url = 'admin/login.jsp?autoLogin=true';
	var token = encodeBase64(encodeURIComponent(loginid) + ":" + encodeURIComponent(loginpwd));
	url += '&token=' + encodeURIComponent(token);
	//url += '&returnTo=' + encodeURIComponent('http://m.lawyers.org.cn/lms/');					
	location.href = url;

}

var validVac = function (vac) {
	var xhr = null;
	var progIds = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
	if (!window.ActiveXObject) {
		xhr = new XMLHttpRequest();
	} else {
		for (var i = 0; i < progIds.length; i++) {
			try	{
				xhr = new ActiveXObject(progId = progIds[i]);
			} catch (ex) {
				
			}
		}
	}
	xhr.open("GET", "admin/tools/vac.jsp?vac=" + vac, false);
	xhr.send(null);
	var st = xhr.status;
	if (st == 200 || st == 0 || st == 304) {
		return xhr.responseText;
	} else {
		return null;
	}
};

var encodeBase64 = function(ds) {
	var bits, dual;
	var sb = [];
	var b64s = base64String;
	var i = 0;
	while(ds.length >= i + 3) {
		bits = (ds.charCodeAt(i++) & 0xff) << 16 | (ds.charCodeAt(i++) & 0xff) << 8 | ds.charCodeAt(i++) & 0xff;
		sb.push(b64s.charAt((bits & 0x00fc0000) >> 18) + b64s.charAt((bits & 0x0003f000) >> 12) + b64s.charAt((bits & 0x00000fc0) >> 6) + b64s.charAt((bits & 0x0000003f)));
	}
	if(ds.length - i > 0 && ds.length - i < 3) {
		dual = Boolean(ds.length - i - 1);
		bits = ((ds.charCodeAt(i++) & 0xff) << 16) | (dual ? (ds.charCodeAt(i) & 0xff) << 8 : 0);
		sb.push(b64s.charAt((bits & 0x00fc0000) >> 18) + b64s.charAt((bits & 0x0003f000) >> 12) + (dual ? b64s.charAt((bits & 0x00000fc0) >> 6) : '=') + '=');
	}
	return sb.join('');
};

var decodeBase64 = function(es) {
	var bits;
	var sb = [];
	var i = 0;
	for(; i < es.length; i += 4) {
		bits = (getIndexOf(es.charAt(i)) & 0xff) << 18 | (getIndexOf(es.charAt(i + 1)) & 0xff) << 12 | (getIndexOf(es.charAt(i + 2)) & 0xff) << 6 | getIndexOf(es.charAt(i + 3)) & 0xff;
		sb.push(String.fromCharCode((bits & 0xff0000) >> 16,(bits & 0xff00) >> 8, bits & 0xff));
	}
	var ds = sb.join('');
	if(es.charCodeAt(i - 2) == 61) {
		return ds.substring(0, ds.length - 2);
	} else if(es.charCodeAt(i - 1) == 61) {
		return ds.substring(0, ds.length - 1);
	} else {
		return ds;
	}
};


// private static function

var base64String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

var getIndexOf = function(s) {
	return base64String.indexOf(s);
};
