﻿if(window.ActiveXObject){
	window.ie = window[window.XMLHttpRequest?"ie7":"ie6"] = true;
}else if(document.childNodes && !document.all && !navigator.taintEnabled){
	window.webkit = window[window.xpath?"webkit420":"webkit419"] = true;
}else if(document.getBoxObjectFor != null){
	window.gecko = true;
}

var Liwf = {
	version : "1.0",
	floaters : {
		_zindex : 9,
		_remove : [],
		_follow : [],
		remove : function(){
			while(this._remove.length>0){
				removeObj(this._remove[0]);
				this._remove.shift();
			}
			this._zindex = 9;
		},
		follow : function(){
		}
	}
}

//初始化XMLHTTP
function ajaxInit(){
	var A;
	try{
		A = new XMLHttpRequest();
	}catch(e){
		try{
			A = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){
			try{
				A = new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e){
				A = false;
			}
		}
	}
	return A;
}

//onDomReady
function onDomReady(f){
	onDomReady.bindReady();
	if(onDomReady.isReady){
		f();
	}else{
		onDomReady.readyList.push(f);
	}
}
onDomReady.isReady = false;
onDomReady.readyBound = false;
onDomReady.readyList = new Array();
onDomReady.userAgent = navigator.userAgent.toLowerCase();
onDomReady.browser = {
	version: (onDomReady.userAgent.match(/.+(?:rv|it|ra|ie)[/: ]([d.]+)/) || [])[1],
	safari: /webkit/.test(onDomReady.userAgent),
	opera: /opera/.test(onDomReady.userAgent),
	msie: /msie/.test(onDomReady.userAgent) && !/opera/.test(onDomReady.userAgent),
	mozilla: /mozilla/.test(onDomReady.userAgent) && !/(compatible|webkit)/.test(onDomReady.userAgent)
};

onDomReady.execute = function(){
	if(onDomReady.isReady) return;
	var len = onDomReady.readyList.length;
	for(var n = 0; n < len; n++) onDomReady.readyList[n]();
	onDomReady.readyList = null;
	if(onDomReady.browser.mozilla || onDomReady.browser.opera) document.removeEventListener("DOMContentLoaded", onDomReady.execute, false);
	onDomReady.isReady = true;
}

onDomReady.bindReady = function(){
	if(onDomReady.readyBound) return;
	onDomReady.readyBound = true;
	if(onDomReady.browser.mozilla || onDomReady.browser.opera){
		document.addEventListener("DOMContentLoaded", onDomReady.execute, false);
	}else if(onDomReady.browser.msie){
		document.write("<scr" + "ipt id=__ie_init defer=true " + "src=//:></script>");
		var script = document.getElementById("__ie_init");
		if(script){
			script.onreadystatechange = function(){
				if(this.readyState != "complete") return;
				onDomReady.execute();
			};
		}
		script = null;
	}else if(onDomReady.browser.safari){ 
		onDomReady.safariTimer = setInterval(function(){
			if(document.readyState == "loaded" || document.readyState == "complete"){
				clearInterval(onDomReady.safariTimer);
				onDomReady.safariTimer = null;
				onDomReady.execute();
			}
		}, 10);
	}
	if(typeof window.addEventListener == "function"){
		window.addEventListener("load", onDomReady.execute, false);
	}else if(typeof window.attacheEvent == "function"){
		window.attacheEvent("onload", onDomReady.execute);
	}
}

//Shared Event
function addListener(elem,eventType,eventFunc) {
	if (window.ie) {
		elem.attachEvent(eventType,eventFunc);
	}else{
		elem.addEventListener(eventType.substr(2,eventType.length-2),eventFunc,true);
	}
}
function releaseEvent(elem,eventType,eventFunc) {
	if (window.ie) {
		elem.detachEvent(eventType,eventFunc);
	}else{
		elem.removeEventListener(eventType.substr(2,eventType.length-2),eventFunc,true);
	}
}

function donon(evt){
	var evt = (evt)?evt:(window.event)?window.event:"";
	if(!evt) return;
	if(window.ie){
		evt.returnValue = false;
		evt.cancelBubble = true;
	}else{
		evt.stopPropagation();
		evt.preventDefault();
	}
}

//取消事件冒泡
function cancele(evt){
	var evt = (evt)?evt:(window.event)?window.event:"";
	if(!evt) return;
	if(window.ie){
		evt.cancelBubble = true;
	}else{
		evt.stopPropagation();
	}
}

//重定义定时函数
var _st = window.setTimeout;
window.setTimeout = function(fRef, mDelay) {
	if(typeof fRef == 'function'){
		var argu = Array.prototype.slice.call(arguments,2);
		var f = (function(){ fRef.apply(null, argu); });
		return _st(f, mDelay);
	}
	return _st(fRef,mDelay);
}

//淡出
function fadeout(){
	if(!$(arguments[0])) return;
	var opacity;
	if(window.ie){
		opacity = GetCurrentStyle($(arguments[0]),"filter");
		if(opacity.length==0){
			opacity = 95;
		}else{
			opacity = parseInt(opacity.substring(opacity.indexOf("=")+1,opacity.lastIndexOf(")")),10)-5;
		}
	}else if(window.opera){
		opacity = GetCurrentStyle($(arguments[0]),"opacity")*100-50;
	}else{
		opacity = GetCurrentStyle($(arguments[0]),"opacity")*100-5;
	}
	setOpacity(arguments[0], opacity);
	if(opacity<5){
		if(arguments[1]==1){
			removeObj(arguments[0]);
		}else{
			toggleDisplay(arguments[0]);
			setOpacity(arguments[0],100);
		}
	}else{
		_st("fadeout(\""+arguments[0]+"\","+arguments[1]+")",arguments[2]);
	}
}

//淡入
function fadein(){
	if(!$(arguments[0])) return;
	var opacity;
	if(window.ie){
		opacity = GetCurrentStyle($(arguments[0]),"filter");
		if(opacity.length==0){
			opacity = 5;
		}else{
			opacity = parseInt(opacity.substring(opacity.indexOf("=")+1,opacity.lastIndexOf(")")),10)+5;
		}
	}else if(window.opera){
		opacity = GetCurrentStyle($(arguments[0]),"opacity")*100+50;
	}else{
		opacity = GetCurrentStyle($(arguments[0]),"opacity")*100+5;
	}
	setOpacity(arguments[0], opacity);
	if(opacity>95){
		setOpacity(arguments[0],100);
	}else{
		_st("fadein(\""+arguments[0]+"\")",arguments[1]);
	}
}

//延时移除对象，带淡出效果
function DelayRemove(){
	if($(arguments[0])) _st("fadeout(\""+arguments[0]+"\",1,"+arguments[2]+")",arguments[1]);
}

//延时隐藏对象，带淡出效果
function DelayHide(){
	if($(arguments[0])) _st("fadeout(\""+arguments[0]+"\",0,"+arguments[2]+")",arguments[1]);
}

//延时显示对象，带淡入效果
function DelayShow(){
	if($(arguments[0])) _st("fadein(\""+arguments[0]+"\","+arguments[2]+")",arguments[1]);
}

//设置透明度
function setOpacity(){
	if(window.ie){
		$(arguments[0]).style.filter = "alpha(opacity="+arguments[1]+")";
	}else{
		$(arguments[0]).style.mozOpacity = arguments[1]/100;
		$(arguments[0]).style.opacity = arguments[1]/100;
	}
}

//获取Cookie
function GetCookie(name){ 
	var arg = name + "="; 
	var alen = arg.length; 
	var clen = document.cookie.length; 
	var i = 0; 
	while(i < clen){ 
		var j = i + alen; 
		if (document.cookie.substring(i, j) == arg) return getCookieVal (j); 
		i = document.cookie.indexOf(" ", i) + 1; 
		if (i == 0) break; 
	} 
	return null;
}

//设置Cookie
function SetCookie(name, value){ 
	var argv = SetCookie.arguments; 
	var argc = SetCookie.arguments.length; 
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null; 
	var domain = (argc > 4) ? argv[4] : null; 
	var secure = (argc > 5) ? argv[5] : false; 
	document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}

//删除Cookie
function DeleteCookie(name){ 
	var exp = new Date(); 
	exp.setTime (exp.getTime() - 1); 
	// This cookie is history 
	var cval = 0; 
	alert(exp.toGMTString());
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

//获取具体的Cookie值
function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

//获取对象
function $(){
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++){
		var element = arguments[i];
		if (typeof element == "string"){
			try{
				element = document.getElementById(element);
			}catch(e){
				
			}
		}
		if (arguments.length == 1){
			return element;
		}
		elements.push(element);
	}

	return elements;
}

//返回子框架页
function $W(){
	return window[arguments[0]];
}

//获取父窗口的对象
function $P(){
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++){
		var element = arguments[i];
		if (typeof element == "string"){
			try{
				element = parent.document.getElementById(element);
			}catch(e){
			}
		}
		if (arguments.length == 1){
			return element;
		}
		elements.push(element);
	}
	return elements;
}
//获取父窗口的对象，约束条件为name
function $PA(){
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++){
		var element = arguments[i];
		if (typeof element == "string"){
			try{
				element = parent.document.getElementsByName(element);
			}catch(e){
			}
		}
		if (arguments.length == 1){
			return element;
		}
		elements.push(element);
	}
	return elements;
}


//获取指定对象，约束条件为表单名
function $F(){
	return document.forms[arguments[0]];
}

//获取指定对象，约束条件为name
function $A(){
	if(arguments[1]){
		if(!$(arguments[0])) return [];
		return $(arguments[0]).getElementsByName(arguments[1]);
	}
	return document.getElementsByName(arguments[0]);
}

//获取指定对象，约束条件为tagName
function $T(){
	if(arguments[1]){
		if(!$(arguments[0])) return [];
		return $(arguments[0]).getElementsByTagName(arguments[1].toUpperCase());
	}
	return document.getElementsByTagName(arguments[0].toUpperCase());
}

//获取指定对象，约束条件为className
function $C(){
	if(!$(arguments[0])) return [];
	var c = $(arguments[0]);
	var l = c.length;
	var a = [];
	for(var i=0;i<l;i++){
		if(hasClass(c[i],arguments[1])){
			a.push(c[i]);
		}
	}
	return a;
}

//获取一级子对象，约束条件为tagName
function $S(){
	if(!$(arguments[0])) return [];
	var c = $(arguments[0]).childNodes;
	var l = c.length;
	var a = [];
	for(var i=0;i<l;i++){
		if(c[i].nodeType==3) continue;
		if(c[i].tagName.toUpperCase()==arguments[1].toUpperCase()){
			a.push(c[i]);
		}
	}
	return a;
}

//获取父对象
function getParent(){
	try{
		return arguments[0].parentNode;
	}catch(e){
		return arguments[0];
	}
}

//判断是否为子对象，前父后子
function IsDescendant(){
	do{
		if(arguments[0]===arguments[1])return true;
		arguments[1]=getParent(arguments[1]);
	}
	while(arguments[1]&&arguments[1]!==document.body);
	return false;
}

//判断是否包含在数组里
function checkInArray(){
	for(var i=0;i<arguments[0].length;i++){
		if(arguments[0][i]==arguments[1]){
			return true;
		}
	}
	return false;
}
Object.prototype.IsInArray = function(){
	for(var i=0;i<arguments[0].length;i++){
		if(arguments[0][i]==this){
			return true;
		}
	}
	return false;
}
String.prototype.IsInArray = function(){
	for(var i=0;i<arguments[0].length;i++){
		if(arguments[0][i]==this){
			return true;
		}
	}
	return false;
}
//获取字符串字节长
String.prototype.lenB = function(){
    var cArr = this.match(/[^\x00-\xff]/ig);
    return this.length + (cArr == null ? 0 : cArr.length);
}
String.prototype.Trim = function(){
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
}
String.prototype.IsEmpty = function(){
	return this.Trim()=="";
}
String.prototype.IsNumeric = function(){
	return !isNaN(parseFloat(this));
}
String.prototype.LenB = function(){
	var cArr = this.match(/[^\x00-\xff]/ig);
	return this.length + (cArr == null ? 0 : cArr.length);
}
String.prototype.CutB = function(){
	var arr = this.split("");
	for(var i=0,j=0,str="";i<arr.length&&j<arguments[0];i++,j++){
		str += arr[i];
		if(arr[i].LenB()==2) j++;
	}
	return str;
}

//
function isChecked(elem,msgState,msgState2){
	if (!$(elem).checked) {
		throwError(elem,msgState)
	} else {
		throwValid(elem,msgState2);
	}
}
function checkEmpty(elem,msgState,msgState2) {
	if ($(elem).value=="") {
		throwError(elem,msgState);
	} else {
		if(typeof(msgState2)=="undefined"){
			msgState2 = "验证通过";
		}
		throwValid(elem,msgState2)
	}
}
function checkLength(elem,min,max,msgState,msgState2) {
	if ($(elem).value=="")  {
		isValid = true;
		return;
	}else{
		if($(elem).value!=$(elem).value.Trim()) $(elem).value=$(elem).value.Trim();
	}
	if ($(elem).value.lenB() < min) {
		throwError(elem,msgState)
	} else {
		throwValid(elem,msgState2);
	}
	if (isValid) {
		if ($(elem).value.lenB() > max) {
			throwError(elem,msgState)
		} else {
			throwValid(elem,msgState2);
		}
	}
}
//验证密码强度
function checkStrength(t) {
	if(s.length < 4){
		return 0;
	}
	var ls = 0;
	if (s.match(/[a-z]/ig)) ls++;
	if (s.match(/[0-9]/ig)) ls++;
	if (s.match(/(.[^a-z0-9])/ig)) ls++;
	if (s.length < 6 && ls > 0) ls--;
	return ls;
}
function checkCompare(elem,elem2,msgState,msgState2) {
	if ($(elem).value=="")  {
		isValid = true;
		return;
	}else{
		if($(elem).value!=$(elem).value.Trim()) $(elem).value=$(elem).value.Trim();
	}
	if ($(elem).value!=$(elem2).value) {
		throwError(elem,msgState);
	}else{
		throwValid(elem,msgState2)
	}
}
function checkCompare2(elem,elem2,msgState,msgState2) {
	if ($(elem).value=="")  {
		isValid = true;
		return;
	}else{
		if($(elem).value!=$(elem).value.Trim()) $(elem).value=$(elem).value.Trim();
	}
	if ($(elem).value==$(elem2).value) {
		throwError(elem,msgState);
	}else{
		throwValid(elem,msgState2)
	}
}
//Reg Valid
function checkRegExp(elem,exp,msgState,msgState2) {
	if ($(elem).value==""){
		isValid = true;
		return;
	}else{
		if($(elem).value!=$(elem).value.Trim()) $(elem).value=$(elem).value.Trim();
	}
	if (!new RegExp(exp).test($(elem).value)) {
		throwError(elem,msgState);
	}else{
		throwValid(elem,msgState2)
	}
}
function checkType(elem,type,msgState,msgState2){
	if ($(elem).value==""){
		isValid = true;
		return;
	}
	if(!new RegExp(","+$(elem).value.substring($(elem).value.lastIndexOf(".")+1,$(elem).value.length)).test(","+type)){
		throwError(elem,msgState);
	}else{
		throwValid(elem,msgState2)
	};
}
//验证身份证号码有效性
function CheckResident(elem,msgState,msgState2){
	if ($(elem).value==""){
		isValid = true;
		return;
	}else{
		value = $(elem).value;
		if(value!=value.Trim()) $(elem).value=value=value.Trim();
	}
	if(value.length==15){
		var age = new Date().getFullYear()-parseInt("19"+value.substring(6, 8));
		if(age<0){
			throwError(elem,msgState);
		}else if(age<18){
			msgState = "对不起，年龄未满18周岁，不能注册";
			throwError(elem,msgState);
		}else{
			var month = parseInt(value.substring(8, 10),10);
			if(month>12||month<1){
				throwError(elem,msgState);
			}else{
				var day = parseInt(value.substring(10, 12),10);
				if(day>31||day<1){
					throwError(elem,msgState);
				}else{
					throwValid(elem,msgState2)
				}
			}
		}
	}else if(value.length==18){
		var age = new Date().getFullYear()-parseInt(value.substring(6, 10));
		if(age<0){
			throwError(elem,msgState);
		}else if(age<18){
			msgState = "对不起，年龄未满18周岁，不能注册";
			throwError(elem,msgState);
		}else{
			var chk_bitstr = ["1","0","x","9",'8','7','6','5','4','3','2'][(value.substring(0,1)*7 + value.substring(1,2)*9+value.substring(2,3)*10 + value.substring(3,4)*5+value.substring(4,5)*8 + value.substring(5,6)*4+value.substring(6,7)*2 + value.substring(7,8)*1+value.substring(8,9)*6 + value.substring(9,10)*3+value.substring(10,11)*7 + value.substring(11,12)*9+value.substring(12,13)*10 + value.substring(13,14)*5+value.substring(14,15)*8 + value.substring(15,16)*4+value.substring(16,17)*2)%11];
			var res_str = value.substring(17,18);
			if(res_str.toLowerCase() == chk_bitstr){
				throwValid(elem,msgState2)
			}else{
				throwError(elem,msgState);
			}
		}
	}
}
//检查邮箱、用户名、昵称等是否可用
function ajaxCheck(uri, elem) {
	if($(elem)._value == $(elem).value) return;
	$(elem)._value = $(elem).value;
	
	var x;
	var postData;
	
	//postData = "t=" + elem + "&" + elem + "=" + escape($(elem).value);
	postData = "t=" + elem + "&v=" + escape($(elem).value);
	uri=uri+"?"+postData;

	x = ajaxInit();
	x.open("POST", uri, true);//同步为true，异步为false
	x.onreadystatechange = function() {
		if (x.readyState != 4 || x.status != 200){
			return;
		}else{
			var status;
			var data;
			status = x.responseText.charAt(0);
			data = x.responseText.substring(2).split("|");
			if(parseInt(status)==1){
				swapClass(data[0],"error","valid");
				throwValid(data[0],data[1]);
			}else{
				swapClass(data[0],"valid","error");
				throwError(data[0],data[1]);
			}
		}
	}
	x.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	x.send(postData);
	delete x;
}

//错误状态
function throwError(elem,msgState) {
	isValid = false;
	swapClass(elem+"State", "valid", "error");
	swapHTML(elem+"State", msgState);
	currelem = elem;
}
//正确状态
function throwValid(elem,msgState) {
	isValid = true;
	swapClass(elem+"State", "error", "valid");
	swapHTML(elem+"State", msgState);
}

//获取样式属性值
function GetCurrentStyle(obj,prop){
	if(obj.currentStyle&&window.ie){
		return obj.currentStyle[prop];
	}else if(window.getComputedStyle){
		prop = prop.replace(/([A-Z])/g, "-$1");
		prop = prop.toLowerCase();
		return document.defaultView.getComputedStyle(obj,"").getPropertyValue(prop);
	}
	return null;
}

//对象是否拥有该classname
function hasClass(taget) {
	if($(taget).className){
		return new String(arguments[1]).IsInArray($(taget).className.split(" "));
	}else{
		return false;
	}
}

//如果存在则去掉,不存在则加上
function toggleClass(taget) {
	hasClass(taget,arguments[1])?delClass(taget,arguments[1]):addClass(taget,arguments[1]);
}

//替换className
function swapClass(taget) {
	delClass(taget,arguments[1]);
	addClass(taget,arguments[2]);
}

//添加新的className
function addClass(taget) {
	var elem_taget = $(taget);
	if (elem_taget) {
		if(elem_taget.className!=""){
			if(!hasClass(elem_taget,arguments[1])){
				elem_taget.className = elem_taget.className + " " + arguments[1];
			}
		}else{
			elem_taget.className = arguments[1];
		}
	}
}

//删除指定的className
function delClass(taget) {
	var elem_taget = $(taget);
	if (elem_taget) {
		elem_taget.className = elem_taget.className.replace(new RegExp(arguments[1],"g"),"").replace(/\s\s+/g," ").Trim();
	}
}

//设置为新的className
function setClass(taget) {
	var elem_taget = $(taget);
	if (elem_taget) {
		elem_taget.className = arguments[1];
	}
}

//style.display
function swapDisplay(){
	if($(arguments[0])){
		$(arguments[0]).style.display = arguments[1];
	}
}
//style.visibility
function swapVisible(){
	if($(arguments[0])){
		$(arguments[0]).style.visibility = arguments[1];
	}
}
//innerHTML
function swapHTML() {
	if($(arguments[0])){
		$(arguments[0]).innerHTML = arguments[1];
	}
}
//innerHTML
function swapValue() {
	if($(arguments[0])){
		$(arguments[0]).value = arguments[1];
	}
}

function toggleDisplay(){
	swapDisplay(arguments[0],GetCurrentStyle($(arguments[0]),"display")=="none"?"":"none");
}

function toggleDisabled(){
	$(arguments[0]).disabled=!$(arguments[0]).disabled;
}

//移除对象
function removeObj(){
	var o;
	for(var i=0; i<arguments.length; i++){
		try {
			o = $(arguments[i]);
			try {
				o.parentElement.removeChild(o);
			} catch(e){
				try {
					o.parentNode.removeChild(o);
				} catch(e){
				}
			}
		} catch(e){
		}
	}
}

//设置表格元素样式
function InitTableRows(tables){
	this.tables = tables;
	this.rows = null;
	for(var j=0;j<this.tables.length;j++){
		this.rows = this.tables[j].rows;
		for (var i=0;i<this.rows.length;i++){
			addClass(this.rows[i],i%2==0?"even":"odd");
			this.rows[i].onmouseover=function(){
				addClass(this,"hover")
			}
			this.rows[i].onmouseout=function(){
				delClass(this,"hover")
			}
		}
	}
}

//设置LI样式
function InitListRows(lists){
	this.lists = lists;
	for(var i=0;i<this.lists.length;i++){
		addClass(this.lists[i],i%2==0?"even":"odd");
		/*this.lists[i].onmouseover=function(){
			addClass(this,"hover")
		}
		this.lists[i].onmouseout=function(){
			delClass(this,"hover")
		}*/
	}
}

//设置表单元素样式
function InitFormElement(){
	this.inputs = $T("INPUT");
	for(var i=0;i<this.inputs.length;i++){
		if(this.inputs[i].type=="text"||this.inputs[i].type=="password"){
			addClass(this.inputs[i],"txt");
			this.inputs[i].onmouseover=this.inputs[i].onfocus=function(){
				addClass(this,"thover")
			}
			this.inputs[i].onmouseout=this.inputs[i].onblur=function(){
				delClass(this,"thover")
			}
		}else if(this.inputs[i].type=="submit"||this.inputs[i].type=="reset"||this.inputs[i].type=="button"||this.inputs[i].type=="image"){
			addClass(this.inputs[i],"btn");
			this.inputs[i].onmouseover=this.inputs[i].onfocus=function(){
				addClass(this,"bhover")
			}
			this.inputs[i].onmouseout=this.inputs[i].onblur=function(){
				delClass(this,"bhover")
			}
		}else if(this.inputs[i].type=="checkbox"||this.inputs[i].type=="radio"){
			addClass(this.inputs[i],"dot");
			this.inputs[i].onmouseover=this.inputs[i].onfocus=function(){
				addClass(this,"dhover")
			}
			this.inputs[i].onmouseout=this.inputs[i].onblur=function(){
				delClass(this,"dhover")
			}
		}
	}
	this.textareas = $T("TEXTAREA");
	for(var i=0;i<this.textareas.length;i++){
		addClass(this.textareas[i],"txt");
		this.textareas[i].onmouseover=this.textareas[i].onfocus=function(){
			addClass(this,"thover")
		}
		this.textareas[i].onmouseout=this.textareas[i].onblur=function(){
			delClass(this,"thover")
		}
	}
}

//选项卡
function TabOption(els,func){
	var self = this;
	this.index = 0;
	this.els = els;
	this.func = func;
	this.init = function(index){
		this.oindex = this.index;
		if(index==-1){
			for(var j=0;j<this.els.length;j++){
				if(hasClass(this.els[j],"active")){
					this.index = j;
				}
				delClass(this.els[j],"active");
			}
		}else{
			this.index = index;
			for(var j=0;j<this.els.length;j++){
				delClass(this.els[j],"active");
			}
		}
		addClass(this.els[this.index],"active");
		if(this.func){
			this.func.apply();
		}
	}
	for(var i=0;i<this.els.length;i++){
		this.els[i].index=i;
		this.els[i].firstChild.onfocus=function(){this.blur();}
		this.els[i].onclick=function(){
			if(hasClass(this,"active")) return;
			self.init(this.index);
		}
		this.els[i].onmouseover = function(evt){
			addClass(this,"hover");
		}
		this.els[i].onmouseout = function(evt){
			delClass(this,"hover");
		}
	}
}

//AJAX分页
function AjaxPager(els,tgt,url,page,func){
	var self = this;
	this.els = els;
	this.tgt = tgt;
	this.url = url;
	this.page = page;
	this.func = func;
	this.init = function(){
		var x;
		var postData;
		
		postData = "p="+self.page;
		
		x = ajaxInit();
		x.open("POST", self.url, true);

		ShowProgress(self.tgt,"处理中，请稍候…");

		x.onreadystatechange = function() {
			if (x.readyState != 4 || x.status != 200){
				return;
			}else{
				var status;
				var data;
				status = parseInt(x.responseText.charAt(0),10);
				data = x.responseText.substring(2);
				data = data.split("|");
				if(status==9){
					goLogin();
				}else if(status==1){
					swapHTML(self.tgt,data[1]);
					var els = eval(self.els);
					if(els){
						for(var i=0;i<els.length;i++){
							if(hasClass(els[i],"c")) continue;
							els[i].onclick = function(){
								self.page = getQuery(this.href,"p");
								self.init();
								return false;
							}
						}
					}
					removeObj("mysOuterDiv");
					fadeout("mysInnerDiv",1,30);
					if(self.func){
						self.func.apply();
					}
				}else{
					swapHTML(self.tgt,data[1]);
					removeObj("mysOuterDiv");
					fadeout("mysInnerDiv",1,30);
				}
			}
		}
		x.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		x.send(postData);
		delete x;
	};
}

//跟随滚动条
function followIt(obj){
	if(obj==null){
		releaseEvent(window,"onscroll",arguments.callee.caller);
		return;
	}
	offsetObj = getOffset();
	offsetObj2 = getOffset(obj);
	obj.style.left = (offsetObj.vwidth-offsetObj2.width)/2+offsetObj.left+"px";
	obj.style.top = (offsetObj.vheight-offsetObj2.height)/2+offsetObj.top+"px";
}

//重设位置
function resizeIt(obj){
	if(obj==null){
		releaseEvent(window,"onresize",arguments.callee.caller);
		return;
	}
	offsetObj = getOffset();
	obj.style.width = offsetObj.width+"px";
	obj.style.height = offsetObj.height+"px";
}

//鼠标拖动
function dragIt(obj,r){ 
	obj.onmousedown = function(evt){ 
		var evt = (evt)?evt:(window.event)?window.event:"";
		var tgt = (evt.target)?evt.target:evt.srcElement;
		if(!tgt) return;
		if(tgt.tagName!="DIV"&&tgt!=obj) return;
		var ox, oy; 
		if(window.ie){
			ox = parseInt(evt.offsetX);
			oy = parseInt(evt.offsetY); 
			obj.setCapture();
		}else{
			ox = parseInt(evt.layerX);
			oy = parseInt(evt.layerY); 
			window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
		}
		if(obj.style.zIndex < Liwf.floaters._zindex){
			obj.style.zIndex = ++Liwf.floaters._zindex;
		}
		
		document.onmousemove = function(evt){
			var evt = (evt)?evt:(window.event)?window.event:"";
			var tx, ty;
			if(window.ie){
				tx = parseInt(evt.clientX)-ox+document.documentElement.scrollLeft;
				ty = parseInt(evt.clientY)-oy+document.documentElement.scrollTop; 
			}else{
				tx = parseInt(evt.pageX)-ox;
				ty = parseInt(evt.pageY)-oy; 
			}
			obj.style.left = tx<r[0]?r[0]:tx>r[1]?r[1]:tx + "px"; 
			obj.style.top = ty<r[2]?r[2]:ty>r[3]?r[3]:ty + "px"; 
		}; 
		
		document.onmouseup = function(){ 
			var evt = (evt)?evt:(window.event)?window.event:"";
			if(window.ie){
				obj.releaseCapture();
			}else{
				window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); 
			}
			document.onmousemove=null; 
			document.onmouseup=null; 
		}; 
	}; 
}

//登录
function goLogin(f){
	if(f){
		location.href="/user/login/?from="+escape(f);
	}else{
		ShowLogin("body","请先登陆");
	}
}

//获取对象的坐标及尺寸
function getOffset(){
	function getCurrentStyle(_obj,style){
		if(window.ie){
			var number = parseInt(_obj.currentStyle[style]);
			return isNaN(number)?0:number;
		}else{
			style = style.replace(/([A-Z])/g, "-$1");
			style = style.toLowerCase();
			return parseInt(document.defaultView.getComputedStyle(_obj,null).getPropertyValue(style));
		}
	}
	if(!arguments[0]||arguments[0]==""||arguments[0]=="body"){
		return o = {
			"left":Math.max(document.body.scrollLeft,document.documentElement.scrollLeft),
			"top":Math.max(document.body.scrollTop,document.documentElement.scrollTop),
			"vwidth":Math.min(document.body.clientWidth,document.documentElement.clientWidth),
			"vheight":Math.min(document.body.clientHeight,document.documentElement.clientHeight),
			"width":Math.max(document.body.scrollWidth,document.documentElement.scrollWidth),
			"height":Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),
			"margin":{
				"top":getCurrentStyle(document.body,"marginTop"),
				"right":getCurrentStyle(document.body,"marginRight"),
				"bottom":getCurrentStyle(document.body,"marginBottom"),
				"left":getCurrentStyle(document.body,"marginLeft")
			},
			"padding":{
				"top":getCurrentStyle(document.body,"paddingTop"),
				"right":getCurrentStyle(document.body,"paddingRight"),
				"bottom":getCurrentStyle(document.body,"paddingBottom"),
				"left":getCurrentStyle(document.body,"paddingLeft")
			},
			"border":{
				"top":getCurrentStyle(document.body,"borderTopWidth"),
				"right":getCurrentStyle(document.body,"borderRightWidth"),
				"bottom":getCurrentStyle(document.body,"borderBottomWidth"),
				"left":getCurrentStyle(document.body,"borderLeftWidth")
			}
		};
	}else{
		var obj = $(arguments[0]);
		var o = {
			"left":obj.offsetLeft,
			"top":obj.offsetTop,
			"vwidth":obj.offsetWidth,
			"vheight":obj.offsetHeight,
			"width":obj.offsetWidth,
			"height":obj.offsetHeight,
			"margin":{
				"top":getCurrentStyle(obj,"marginTop"),
				"right":getCurrentStyle(obj,"marginRight"),
				"bottom":getCurrentStyle(obj,"marginBottom"),
				"left":getCurrentStyle(obj,"marginLeft")
			},
			"padding":{
				"top":getCurrentStyle(obj,"paddingTop"),
				"right":getCurrentStyle(obj,"paddingRight"),
				"bottom":getCurrentStyle(obj,"paddingBottom"),
				"left":getCurrentStyle(obj,"paddingLeft")
			},
			"border":{
				"top":getCurrentStyle(obj,"borderTopWidth"),
				"right":getCurrentStyle(obj,"borderRightWidth"),
				"bottom":getCurrentStyle(obj,"borderBottomWidth"),
				"left":getCurrentStyle(obj,"borderLeftWidth")
			}
		};
		while(true){
			obj=obj.offsetParent;
			if(obj==(document.body&&null))break;
			o.left+=obj.offsetLeft;
			o.top+=obj.offsetTop;
			o.left+=getCurrentStyle(obj,"borderLeftWidth");
			o.top+=getCurrentStyle(obj,"borderTopWidth");
		}
		return o;
	}
}

//全表单核查
function checkLogin(flag) {
	var email = $("LoginEmail");
	var email_value = email.value;
	var password = $("LoginPassword");
	var password_value = password.value;
	if(email_value.IsEmpty()){
		ShowError("body","请输入笔名或邮箱");
	}else if(password_value.IsEmpty()){
		ShowError("body","请输入密码");
	}else if(!password_value.IsMinMax(4,12)){
		ShowError("body","密码长度不符");
	}else{
		ajaxLogin("/user/login/ajax.asp",flag);
	}
	return false;
}

//登录
function ajaxLogin(uri,flag) {
	
	toggleDisabled($("LoginSubmit"));
	
	var x;
	var postData;
	
	postData = "Email=" + escape($("LoginEmail").value) + "&Password=" + escape($("LoginPassword").value);
	
	x = ajaxInit();
	x.open("POST", uri, true);
	ShowProgress($("LoginFormUL"),"登陆中，请稍候…");
	x.onreadystatechange = function() {
		if (x.readyState != 4 || x.status != 200){
			return;
		}else{
			var status;
			var data;
			status = parseInt(x.responseText.charAt(0),10);
			data = x.responseText.substring(2).split("|");
			if(status==1){
				if(flag){
					location.href = document.LoginForm.From.value;
				}else{
					swapHTML("infomation",data[1]);
					removeObj("mysOuterDiv", "myOuterDiv");
					fadeout("mysInnerDiv",1,30);
					fadeout("myInnerDiv",1,30);
				}
			}else{
				ShowError(data[0],data[1]);
				toggleDisabled($("LoginSubmit"));
			}
		}
	}
	x.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	x.send(postData);
	delete x;
}

//显示登陆表单
function ShowLogin(obj, txt){
	removeObj("myOuterDiv", "myInnerDiv");

	var offsetObj = getOffset();

	var myOuterDiv = document.createElement("div");
	myOuterDiv.className = "outerdiv";
	myOuterDiv.id = "myOuterDiv";
	myOuterDiv.style.zIndex = ++Liwf.floaters._zindex;

	myOuterDiv.style.left = "0px";
	myOuterDiv.style.top = "0px";
	myOuterDiv.style.width = offsetObj.width+"px";
	myOuterDiv.style.height = offsetObj.height+"px";

	var myInnerDiv = document.createElement("div");
	myInnerDiv.className = "loginform";
	myInnerDiv.id = "myInnerDiv";
	myInnerDiv.style.zIndex = ++Liwf.floaters._zindex;
	
	var str = "<div class=\"close move\"><span>请登陆</span><a title=\"关闭\" href=\"javascript:fadeout('myOuterDiv',1,50);fadeout('myInnerDiv',1,50);\">关闭</a></div>";
	str += "<form action=\"/user/login/index.asp\" method=\"post\" name=\"LoginForm\" id=\"LoginForm\" onsubmit=\"return checkLogin(false);\">";
	str += "	<ul id=\"LoginFormUL\">";
	str += "		<li><label for=\"LoginEmail\">用户名：</label><input name=\"Email\" type=\"text\" id=\"LoginEmail\" class=\"txt\" /></li>";
	str += "		<li><label for=\"LoginPassword\">密　码：</label><input name=\"Password\" type=\"password\" id=\"LoginPassword\" class=\"txt\" title=\"请输入密码(4-12)\" style=\"ime-mode:disabled;\" /></li>";
	str += "	</ul>";
	str += "	<div class=\"btns\"><input type=\"submit\" class=\"btn\" id=\"LoginSubmit\" value=\"登录\" /></div>";
	str += "</form>";
	myInnerDiv.innerHTML = str;
	
	document.body.appendChild(myOuterDiv);
	document.body.appendChild(myInnerDiv);
	
	var offsetObj2 = getOffset(myInnerDiv);
	
	myInnerDiv.style.left = (offsetObj.vwidth-offsetObj2.width)/2+offsetObj.left+"px";
	myInnerDiv.style.top = (offsetObj.vheight-offsetObj2.height)/2+offsetObj.top+"px";

	addListener(window, "onscroll", function(){
		followIt($("myInnerDiv"));
	});
	addListener(window, "onresize", function(){
		resizeIt($("myOuterDiv"));
		followIt($("myInnerDiv"));
	});
	
	dragIt($("myInnerDiv"),[0,offsetObj.width-offsetObj2.width,0,offsetObj.height-offsetObj2.height]);
}

//显示进度条
function ShowProgress(obj,txt){
	removeObj("mysOuterDiv", "mysInnerDiv");

	var offsetObj = getOffset(obj);

	var mysOuterDiv = document.createElement("div");
	mysOuterDiv.className = "outerdiv";
	mysOuterDiv.id = "mysOuterDiv";
	mysOuterDiv.style.zIndex = ++Liwf.floaters._zindex;

	mysOuterDiv.style.marginLeft = "-"+offsetObj.padding.left+"px";
	mysOuterDiv.style.marginTop = "-"+offsetObj.padding.top+"px";
	mysOuterDiv.style.width = offsetObj.width+"px";
	mysOuterDiv.style.height = offsetObj.height+"px";

	var mysInnerDiv = document.createElement("div");
	mysInnerDiv.className = "progress";
	mysInnerDiv.id = "mysInnerDiv";
	mysInnerDiv.style.zIndex = ++Liwf.floaters._zindex;
	mysInnerDiv.innerHTML = txt;

	$(obj).insertBefore(mysInnerDiv,$(obj).firstChild);
	$(obj).insertBefore(mysOuterDiv,$(obj).firstChild);

	var offsetObj2 = getOffset("mysInnerDiv");
	
	mysInnerDiv.style.marginLeft = (offsetObj.vwidth-offsetObj2.width)/2+"px";
	mysInnerDiv.style.marginTop = (offsetObj.vheight-offsetObj2.height)/2+"px";
}

//显示错误信息
function ShowError(obj,txt){
	removeObj("mysOuterDiv", "mysInnerDiv");

	var offsetObj = getOffset(obj);

	var mysOuterDiv = document.createElement("div");
	mysOuterDiv.className = "outerdiv";
	mysOuterDiv.id = "mysOuterDiv";
	mysOuterDiv.style.zIndex = ++Liwf.floaters._zindex;
	
	mysOuterDiv.style.left = offsetObj.left+"px";
	mysOuterDiv.style.top = offsetObj.top+"px";
	mysOuterDiv.style.width = offsetObj.width+"px";
	mysOuterDiv.style.height = offsetObj.height+"px";

	var mysInnerDiv = document.createElement("div");
	mysInnerDiv.className = "error";
	mysInnerDiv.id = "mysInnerDiv";
	mysInnerDiv.style.zIndex = ++Liwf.floaters._zindex;
	mysInnerDiv.innerHTML = txt;
	
	mysInnerDiv.onmouseover = function(){
		addClass(this,"hover");
	}
	mysInnerDiv.onmouseout = function(){
		delClass(this,"hover");
	}
	if(!arguments[2]){
		mysOuterDiv.onmouseup = mysInnerDiv.onmouseup = function(){
			Liwf.fadeout("mysOuterDiv",1,50);
			fadeout("mysInnerDiv",1,10);
			if($(obj)) $(obj).focus();
		}
	}

	document.body.appendChild(mysOuterDiv);
	document.body.appendChild(mysInnerDiv);

	var offsetObj2 = getOffset("mysInnerDiv");
	
	mysInnerDiv.style.left = (offsetObj.vwidth-offsetObj2.width)/2+offsetObj.left+"px";
	mysInnerDiv.style.top = (offsetObj.vheight-offsetObj2.height)/2+offsetObj.top+"px";
	
	//DelayRemove("mysOuterDiv",1500,50);
	//DelayRemove("mysInnerDiv",2500,50);
}

//显示成功信息
function ShowSuccess(obj,txt){
	removeObj("mysOuterDiv", "mysInnerDiv");

	var offsetObj = getOffset(obj);

	var mysOuterDiv = document.createElement("div");
	mysOuterDiv.className = "outerdiv";
	mysOuterDiv.id = "mysOuterDiv";
	mysOuterDiv.style.zIndex = ++Liwf.floaters._zindex;
	
	mysOuterDiv.style.left = offsetObj.left+"px";
	mysOuterDiv.style.top = offsetObj.top+"px";
	mysOuterDiv.style.width = offsetObj.width+"px";
	mysOuterDiv.style.height = offsetObj.height+"px";

	var mysInnerDiv = document.createElement("div");
	mysInnerDiv.className = "success";
	mysInnerDiv.id = "mysInnerDiv";
	mysInnerDiv.style.zIndex = ++Liwf.floaters._zindex;
	mysInnerDiv.innerHTML = txt;

	document.body.appendChild(mysOuterDiv);
	document.body.appendChild(mysInnerDiv);

	var offsetObj2 = getOffset("mysInnerDiv");
	
	mysInnerDiv.style.left = (offsetObj.vwidth-offsetObj2.width)/2+offsetObj.left+"px";
	mysInnerDiv.style.top = (offsetObj.vheight-offsetObj2.height)/2+offsetObj.top+"px";
	
	DelayRemove("mysOuterDiv",500,50);
	DelayRemove("mysInnerDiv",1500,50);
}

//获取地址参数值
function getQuery(href,name){
	var reg = new RegExp("(^|\\?|&)"+ name +"=([^&#]*)(\\s|&|#|$)", "i");
	if (reg.test(href)) return unescape(RegExp.$2.replace(/\+/g, " "));
	return "";
}


//数学公式
//阶乘
function factorial(n){
	n=Math.floor(n);
	if(n<0){
		return -1;
	}
	if(n==0){
		return 1;
	}
	return (n*factorial(n-1));
}
//组合数
function combination(n,m){
	if(n<m) return 0;
	return Math.floor(factorial(n)/(factorial(n-m)*factorial(m)));
}

//预载入图像
function preloadImages(){
  if(document.images){
		if(!document.MM_p) document.MM_p=new Array();
		var i, j=document.MM_p.length;
		for(i=0; i<arguments.length; i++){
			if (arguments[i].indexOf("#")!=0){
				document.MM_p[j]=new Image;
				document.MM_p[j++].src=arguments[i];
			}
		}
	}
}

preloadImages("/img/loading.gif","/img/icon_close.gif");

//检查是否为正整数
function isInt(strNum){
   var reg = /^[0-9]*[1-9][0-9]*$/;
      var r = strNum.match(reg);
      if(r==null){
        //alert("请输入正整数!");
        return false;
      }
      return true;
}

//选号操作
function delNum() {
	var betnum;
    var selnum;
	var flag = 0;
	var len = $('schemeNum').options.length;
	for (i = 0; i < len; i++) {
		if($('schemeNum').options[i].selected){
		  flag = 1;
		  break;
		}
	}
	if (flag ==0){
	alert("请选择需要删除的项");
	return false;
	}
	 
	var index = $('schemeNum').selectedIndex;
	while (index != -1) {		
	 betnum = parseInt($("betnum").value);
	 selnum = $('schemeNum').options[index].value;
	 selnum = selnum.substr(0,selnum.indexOf("@"));
     $("betnum").value= betnum - selnum;
	 $('schemeNum').options[index] = null;
	 index = $('schemeNum').selectedIndex;
	}
    setnum();
	return false;
}
//复制选号
function copyNum() {
	var betnum;
    var selnum;
	var flag = 0;
	var len = $('schemeNum').options.length;
	for (i = 0; i < len; i++) {
		if($('schemeNum').options[i].selected){
		  flag = 1;
		  break;
		}
	}
	if (flag ==0){
	alert("请选择需要复制的项");
	return false;
	}
	var zhushu= prompt("输入复制的注数","1");
	//alert(zhushu);
	if(parseInt(zhushu,10)<100)
	{
		var index = $('schemeNum').selectedIndex;
		while (index != -1) {	
			for(var i=0;i<zhushu;i++)
			{
				 betnum = parseInt($("betnum").value);
				 selnum = $('schemeNum').options[index].value;
				 selnum = selnum.substr(0,selnum.indexOf("@"));
				var selectedNum = $('schemeNum').options.length;
				$('schemeNum').options[selectedNum]=document.createElement("option");
				$('schemeNum').options[selectedNum].text= $('schemeNum').options[index].text;
				$('schemeNum').options[selectedNum].value= $('schemeNum').options[index].value;  
				$("betnum").value= betnum + selnum;
			}
		   $('schemeNum').options[index].selected=false;
		   index = $('schemeNum').selectedIndex;
		}
	}
	else
	{
	alert("注数太大，请分解复制");
	}
    setnum();
	return false;
}
function clrNum(){
	var len = $('schemeNum').options.length;
		for (i = 0; i < len; i++) {
			$('schemeNum').options[0] = null;			
		}
	$("betnum").value=0;
    setnum();
	return false;
}

function newOption(optionValue,optionText){
  var selectedNum = $P('schemeNum').options.length;
  $P('schemeNum').options[selectedNum]=document.createElement("option");
  $P('schemeNum').options[selectedNum].text= optionText;
  $P('schemeNum').options[selectedNum].value= optionValue;  
}

function newOption2(optionValue,optionText){
  var selectedNum = $('schemeNum').options.length;
  $('schemeNum').options[selectedNum]=document.createElement("option");
  $('schemeNum').options[selectedNum].text= optionText;
  $('schemeNum').options[selectedNum].value= optionValue;  
}
/*左侧导航*/
function leftmenutab(obj)
{
	var num=obj.id.substring(7);
	for(var i=0;i<10;i++)
	{
		if($("leftmain"+i))$("leftmain"+i).style.display="none";
		if($("lefttab"+i))$("lefttab"+i).className="";
		
	}
	$("leftmain"+num).style.display="block";
	$("lefttab"+num).className="on";
}
/*清空号码列表*/
function clearNum(){
	var len = $('schemeNum').options.length;
		for (i = 0; i < len; i++) {
			$('schemeNum').options[0] = null;			
		}
	$("betnum").value=0;
    setnum();
	return false;
}