﻿var g_mouseposition = { x: 0, y: 0 };
function mousePosition(ev) {
    try {
        ev = ev || window.event;
        if (ev.pageX || ev.pageY) {
            g_mouseposition = { x: ev.pageX, y: ev.pageY };
        } else {
            g_mouseposition = {
                x: (ev.clientX + document.body.scrollLeft - document.body.clientLeft),
                y: (ev.clientY + document.body.scrollTop - document.body.clientTop)
            };
        };
    } catch (Error) {
    }
 }
document.onmousemove = mousePosition;
function __firefox() { 
	HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style); 
	window.constructor.prototype.__defineGetter__("event", __window_event); 
	Event.prototype.__defineGetter__("srcElement", __event_srcElement); 
} 
function __element_style(){ 
	return this.style; 
} 
function __window_event(){ 
	return __window_event_constructor(); 
} 
function __event_srcElement(){ 
	return this.target; 
} 
function __window_event_constructor(){ 
	if(document.all){ 
		return window.event; 
	} 
	var _caller = __window_event_constructor.caller; 
	while(_caller!=null){ 
		var _argument = _caller.arguments[0]; 
		if(_argument){ 
			var _temp = _argument.constructor; 
			if(_temp.toString().indexOf("Event")!=-1){ 
				return _argument; 
			} 
		} 
		_caller = _caller.caller; 
	} 
	return null; 
} 
if(window.addEventListener){ 
	__firefox(); 
} 

function f_replacestring(a,s,r){
	return a.replace(new RegExp(s,"gm"),r);
}
function f_unformatnumber(snum) {
    if (snum == null) return "";
    return f_replacestring(f_replacestring(snum, ",", ""), "#", ""); 
}
function f_formatnumber(fnumber,fdivide,fpoint,fround){

    var fnum = fnumber + '';
    var revalue="";

    if(fnum==null){
        for(var i=0;i<fpoint;i++) revalue+="0";
        return "0."+revalue;
    }
    fnum = fnum.replace(/^\s*|\s*$/g,'');
    if(fnum==""){
        for(var i=0;i<fpoint;i++)revalue+="0";
        return "0."+revalue;
    }

    fnum=fnum.replace(/,/g,"");

    if(fround){
        var temp = "0.";
        for(var i=0;i<fpoint;i++)temp+="0";
        temp += "5";

        fnum = Number(fnum) + Number(temp);
        fnum += '';
    }

    var arrayf=fnum.split(".");

    if(fdivide){
        if(arrayf[0].length>3){
            while(arrayf[0].length>3){
                revalue=","+arrayf[0].substring(arrayf[0].length-3,arrayf[0].length)+revalue;
                arrayf[0]=arrayf[0].substring(0,arrayf[0].length-3);
            }
        }
    }
    revalue=arrayf[0]+revalue;

    if(arrayf.length==2&&fpoint!=0){
        arrayf[1]=arrayf[1].substring(0,(arrayf[1].length<=fpoint)?arrayf[1].length:fpoint);

        if(arrayf[1].length<fpoint)
            for(var i=0;i<fpoint-arrayf[1].length;i++)arrayf[1]+="0";
        revalue+="."+arrayf[1];
    }else if(arrayf.length==1&&fpoint!=0){
        revalue+=".";
        for(var i=0;i<fpoint;i++)revalue+="0";
    }

    return revalue;
}
function f_checkemail(strEmail) { 
	var emailReg = /^[_a-zA-Z.0-9]+@([_a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,3}$/; 
	return emailReg.test(strEmail); 
}
function f_checkemailctl(id,hint) { 
	var strEmail=document.getElementById(id).value;
	var emailReg = /^[_a-zA-Z.0-9]+@([_a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,3}$/; 
	if( emailReg.test(strEmail) ){
		return true; 
	}else{
		f_alert(hint);
		document.getElementById(id).focus();
		return false; 
	}
}
function CArrayList(){
	this.list= new Array();
	this.CompareFunc=function(a,b){
		try{
			if(typeof(a)=="number"&&typeof(b)=="number"){
				if(a>b){
					return 1;
				}else if(a==b){
					return 0;
				}else{
					return -1;
				}
			}else if(typeof(a)=="string"||typeof(b)=="string"){
				if(a>b){
					return 1;
				}else if(a==b){
					return 0;
				}else{
					return -1;
				}
			}else if(typeof(a)=="object"&&typeof(b)=="object"){
				return a.IsGreaterThan(b);
			}
		}catch(e){
			var a2=new String(a);
			var b2=new String(b);
			if(a2>b2){
				return 1;
			}else if(a2==b2){
				return 0;
			}else{
				return -1;
			}
		}
	}
	this.Length=function(){
		return this.list.length;
	}
	this.Add=function(item){
		this.list.push(item);
	}
	this.Insert=function(index,item){
		if(index>=this.list.length - 1){
			this.list.push(item);
		}else if(index<0){
			this.list=this.list.reverse();
			this.list.push(item);
			this.list=this.list.reverse();
		}else{
			var list1 = this.list.slice(0,index + 1);
			list1.push(item);
			var list2 = this.list.slice(index + 1);
			this.list=list1.concat(list2);
		}
	}
	this.Del=function(item){
		for(var i= this.list.length - 1;i>=0;i--){
			if(this.list[i]==item){
				this.list.splice(i,1);
			}
		}
	}
	this.Get=function(index){
		if(index>(this.list.length - 1)||index<0) return null;
		return this.list[index];
	}
	this.Set=function(index,item){
		if(index>(this.list.length - 1)||index<0) return;
		this.list[index]=item;
	}
	this.RemoveAt=function(index){
		if(index>(this.list.length - 1)||index<0) return;
		this.list.splice(index,1);
	}
	this.Clear=function(){
		for(var i= this.list.length - 1;i>=0;i--){
			this.list.splice(i,1);
		}
	}
	this.ToString=function(splitvalue){
		return this.list.join(splitvalue);
	}
	this.Exist=function(item){
		for(var i=0;i<this.list.length;i++){
			if(this.list[i]==item){
				return true;
			}
		}
		return false;
	}
	this.IndexOf=function(item){
		for(var i=0;i<this.list.length;i++){
			if(this.list[i]==item){
				return i;
			}
		}
		return -1;
	}
	this.AddArray=function(arraylist){
		this.list=this.list.concat(arraylist.list);
	}
	this.Sort=function(){
		this.list.sort(this.CompareFunc);
	}
}
function CArrayList2(){
	this.list= new Array();
	this.itemlist= new Array();
	this.Length=function(){
		return this.list.length;
	}
	this.Add=function(item1,item2){
		var item = null;
		var idx=this.IndexOf(item1);
		if(idx==-1){
			this.list.push(item1);
			item=new CArrayList();
			item.Add(item2);
			this.itemlist.push(item);
		}else{
			item=this.Get(idx);
			item.Add(item2);
		}
	}
	this.Insert=function(index,item1,item2){
		var item = null;
		if(index>=this.list.length - 1){
			this.list.push(item1);
			item=new CArrayList();
			item.Add(item2);
			this.itemlist.push(item);
		}else if(index<0){
			this.list=this.list.reverse();
			this.itemlist=this.itemlist.reverse();
			this.list.push(item1);
			item=new CArrayList();
			item.Add(item2);
			this.itemlist.push(item);
			this.list=this.list.reverse();
			this.itemlist=this.itemlist.reverse();
		}else{
			var list1 = this.list.slice(0,index);
			list1.push(item1);
			var list2 = this.list.slice(index);
			this.list=list1.concat(list2);
			list1 = this.itemlist.slice(0,index);
			item=new CArrayList();
			item.Add(item2);
			list1.push(item);
			list2 = this.itemlist.slice(index);
			this.itemlist=list1.concat(list2);
		}
	}
	this.Del=function(item1){
		for(var i= this.list.length - 1;i>=0;i--){
			if(this.list[i]==item1){
				this.list.splice(i,1);
				var item=this.itemlist[i];
				item.Clear();
				this.itemlist.splice(i,1);
			}
		}
	}
	this.Get=function(index){
		if(index>(this.list.length - 1)||index<0) return null;
		return this.itemlist[index];
	}
	this.Set=function(index,item1){
		if(index>(this.list.length - 1)||index<0) return;
		this.list[index]=item1;
	}
	this.RemoveAt=function(index){
		if(index>(this.list.length - 1)||index<0) return;
		this.list.splice(index,1);
		var item=this.itemlist[index];
		item.Clear();
		this.itemlist.splice(index,1);
	}
	this.Clear=function(){
		for(var i= this.list.length - 1;i>=0;i--){
			this.list.splice(i,1);
			var item=this.itemlist[i];
			item.Clear();
			this.itemlist.splice(i,1);
		}
	}
	this.ToString=function(splitvalue1,splitvalue12,splitvalue13,splitvalue14){
		var s="";
		for(var i=0;i<this.list.length;i++){
			if(i==0){
				s=this.list[i];
			}else{
				s+=splitvalue1+this.list[i];
			}
			s+=splitvalue12;
			var item=this.itemlist[i];
			for(var j=0;j<item.Length();j++){
				if(j==0){
					s+=item.Get(j);
				}else{
					s+=splitvalue14+item.Get(j);
				}
			}
			s+=splitvalue13;
		}
		return s
	}
	this.Exist=function(item1){
		for(var i=0;i<this.list.length;i++){
			if(this.list[i]==item1){
				return true;
			}
		}
		return false;
	}
	this.IndexOf=function(item1){
		for(var i=0;i<this.list.length;i++){
			if(this.list[i]==item1){
				return i;
			}
		}
		return -1;
	}
	this.AddArray=function(arraylist2){
		this.list=this.list.concat(arraylist2.list);
		this.itemlist=this.itemlist.concat(arraylist2.itemlist);
	}
	this.AddArray2=function(arraylist2){
		for(var i=0;i<arraylist2.list.length;i++){
			var idx=this.IndexOf(arraylist2.list[i]);
			if(idx==-1){
				this.list.push(arraylist2.list[i]);
				this.itemlist.push(arraylist2.itemlist[i]);
			}else{
				this.itemlist[idx].AddArray(arraylist2.itemlist[i]);
			}
		}
	}
	this.Sort=function(){
		var lista = new Array();
		var itemlista = new Array();
		var old=null;
		for(var i=0;i<this.list.length;i++){
			if(i==0){
				lista.push(this.list[i]);
				itemlista.push(this.itemlist[i]);
			}else{
				if(old>this.list[i]){
					for(var j=0;j<lista.length;j++){
						if(this.list[i]<=lista[j]){
							var list1 = lista.slice(0,j);
							list1.push(this.list[i]);
							var list2 = lista.slice(j);
							lista=list1.concat(list2);
							
							list1 = itemlista.slice(0,j);
							list1.push(this.itemlist[i]);
							list2 = itemlista.slice(j);
							itemlista=list1.concat(list2);
							
							break;
						}
					}
				}else{
					lista.push(this.list[i]);
					itemlista.push(this.itemlist[i]);
				}
			}
			old=lista[lista.length - 1];
		}
		this.list=lista;
		this.itemlist=itemlista;
	}
	this.Sort2=function(){
		var lista = new Array();
		var itemlista = new Array();
		var old=null;
		for(var i=0;i<this.list.length;i++){
			this.itemlist[i].Sort();
			if(i==0){
				lista.push(this.list[i]);
				itemlista.push(this.itemlist[i]);
			}else{
				if(old>this.list[i]){
					for(var j=0;j<lista.length;j++){
						if(this.list[i]<=lista[j]){
							var list1 = lista.slice(0,j);
							list1.push(this.list[i]);
							var list2 = lista.slice(j);
							lista=list1.concat(list2);
							
							list1 = itemlista.slice(0,j);
							list1.push(this.itemlist[i]);
							list2 = itemlista.slice(j);
							itemlista=list1.concat(list2);
							
							break;
						}
					}
				}else{
					lista.push(this.list[i]);
					itemlista.push(this.itemlist[i]);
				}
			}
			old=lista[lista.length - 1];
		}
		this.list=lista;
		this.itemlist=itemlista;
	}
}
function f_textarealenlmt(textareaobj,maxlen){
    if(textareaobj==null||typeof(textareaobj)=="undefined") return "";
    if(textareaobj.value.length>maxlen){
       textareaobj.value=textareaobj.value.substring(0,maxlen); 
    }
}
function f_tab2enter(e, nextobjname, isml) {
    if (isml == null || isml == "undefined") isml = 0;
    var Sys = f_getbrowser();
    if (Sys.ie == true||Sys.maxthon==true||Sys.chrome == true) {
        key = window.event.keyCode; 
        ctl = window.event.ctrlKey;
    } else if (Sys.firefox == true) {
        key = e.which; 
        ctl = e.ctrlKey;
    } else {
        key = window.event.keyCode;
        ctl = window.event.ctrlKey;
    }
	if(isml==0){
		if(key==13)
		{
			if(document.getElementById(nextobjname)){
				document.getElementById(nextobjname).focus();
				if(document.getElementById(nextobjname).type=="text"){
    				document.getElementById(nextobjname).select();
				}
			}
		}			
	}else{
		if(ctl&&key==13)
		{
			if(document.getElementById(nextobjname)){
				document.getElementById(nextobjname).focus();
				if(document.getElementById(nextobjname).type=="text"){
    				document.getElementById(nextobjname).select();
				}
			}
		}			
	}
}
function f_innerdetaildiv(){
   this.lens=new CArrayList();
   this.ids = new CArrayList();
   this.texts = new CArrayList();
   this.types = new CArrayList();
   this.contents = new CArrayList();
   this.readonlys = new CArrayList();
   this.jses = new CArrayList();
   this.lineids = new CArrayList2();
   this.additem=function(id,text,type,content,lineid,readonly,len){
		if(this.ids.Exist(id)==false){
			this.ids.Add(id);
			this.texts.Add(text);
			this.types.Add(type);
			this.contents.Add(content);
			this.jses.Add(null);
			if(readonly>0){
				readonly=true;
			}else{
				readonly=false;
			}
			this.readonlys.Add(readonly);
			var idx=this.ids.Length() - 1;
			this.lineids.Add(lineid,idx);
			if(f_checkint(len)==false) len=-1;
			if(len<-1) len=-1;
			this.lens.Add(len);
		}
   }
   this.setitem=function(id,text,type,content,len){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			this.texts.Set(idx,text);
			this.types.Set(idx,type);
			this.contents.Set(idx,content);
			if(f_checkint(len)==false) len=-1;
			if(len<-1) len=-1;
			this.lens.Set(idx,len);
		}
   }
   this.getnextobjname=function(id){
		if(this.ids.Exist(id)==true){
			var flag=0;
			for(var i=0;i<this.lineids.Length();i++){
				var item=this.lineids.Get(i);
				for(var j=0;j<item.Length();j++){
					var id0=this.ids.Get(item.Get(j));
					if(flag==1){
						return id0;						
					}
					if(id0==id){
						flag=1;	
					}
				}
			}
			return null;
		}else{
			return null;
		}
   }
   this.refreshitem=function(id){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
		    var len=this.lens.Get(idx);
			var text=this.texts.Get(idx);
			var type=this.types.Get(idx);
			var content=this.contents.Get(idx);
			var readonly=this.readonlys.Get(idx);
			var js=this.jses.Get(idx);
			var nextobjname=this.getnextobjname(id);
			if(nextobjname==null) nextobjname="btn_ok123456789"+objname;
			if(content==null) content="";
			if(js==null) js="";
			var stext="";
			var scontent="";
			if(type=="button"){
				stext="<input id='"+id+"' type=button onclick='"+content+"' value='"+text+"' />";
			}else{
				stext=text;
			}
			if(type=="text"){
				scontent="<input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\" />";
			}else if(type=="password"){
				scontent="<input id='"+id+"' "+js+" class='input290' name='' type='password' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/>";
			}else if(type=="select"){
				scontent="<select id='"+id+"' "+js+" class='input290' "+(readonly==true?"disabled":"")+" onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\">"+content+"</select>";
			}else if(type=="textarea"){
				scontent="<textarea id='"+id+"' "+js+" class='input290'  "+((readonly==true)?"readonly":"")+" "+(len>-1?"onchange=\"f_textarealenlmt(this,"+len+");\" onKeyUp=\"f_textarealenlmt(this,"+len+");\"":"")+" onkeydown=\""+(len>-1?"f_textarealenlmt(this,"+len+");":"")+"f_tab2enter(event,'"+nextobjname+"',1);\">"+content+"</textarea>";
			}else if(type=="button"){
				//无处理
			}else if(type=="checkbox"){
				scontent="<input id='"+id+"' "+js+" name='' type='checkbox' "+(readonly==true?"disabled":"")+" "+(content=="1"?"checked":"")+" "+((readonly==true)?"readonly":"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/>";
			}else if(type=="innertable"){
				scontent=content;
			}else{
				scontent="<input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/>";
			}
			document.getElementById("div_"+id+"_text").innerHTML=stext;
			document.getElementById("div_"+id+"_content").innerHTML=scontent;
		}
   }
   this.getcontent=function(id){
		var _scont=null;
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			var type=this.types.Get(idx);
			_scont=this.contents.Get(idx);
			if(_scont==null) _scont="";
			if(type=="list"){
				_scont=document.getElementById("div_"+id+"_content").getselectids();
			}
			return _scont;
		}
   }
   this.setreadonly=function(id,readonly){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			if(readonly>0){
				readonly=true;
			}else{
				readonly=false;
			}
			this.readonlys.Set(idx,readonly);
		}
   }
   this.setallreadonly=function(readonly){
		for(var i=0;i<this.readonlys.length;i++){
			this.readonlys.Set(i,readonly);
		}
   }
   this.setjs=function(id,evt,jsfunc){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			var s=this.jses.Get(idx);
			if(s==null){
				s=evt+"='"+f_replacesinglequot(jsfunc)+"'"
			}else{
				s+=" "+evt+"='"+f_replacesinglequot(jsfunc)+"'"
			}
			this.jses.Set(idx,s);
		}
   }
   this.clearjs=function(id){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			this.jses.Set(idx,null);
		}
   }
   this.getinner=function(){
		var s="";
		this.lineids.Sort2();
		for(var i=0;i<this.lineids.Length();i++){
			s+="<div class='winList'>";
			var item=this.lineids.Get(i);
			for(var j=0;j<item.Length();j++){
			    var len=this.lens.Get(item.Get(j));
				var id=this.ids.Get(item.Get(j));
				var text=this.texts.Get(item.Get(j));
				var type=this.types.Get(item.Get(j));
				var content=this.contents.Get(item.Get(j));
				var readonly=this.readonlys.Get(item.Get(j));
				var js=this.jses.Get(item.Get(j));
				var nextobjname=this.getnextobjname(id);
				if(nextobjname==null) nextobjname="btn_ok123456789"+objname;
				if(content==null) content="";
				if(js==null) js="";
				if(type=="checkbox"){
					s+="<div class='formList p20cbx'>"
				}else{
					if(item.Length()==2){
						s+="<div class='formList p45'>"
					}else if(item.Length()==4||item.Length()==3){
						s+="<div class='formList p20'>"
					}else{
						s+="<div class='formList p95'>"
					}
				}
				if(type=="button"){
					s+="<div id='div_"+id+"_text' class='formName'><input id='"+id+"' type=button onclick='"+content+"' value='"+text+"' /></div>";
				}else{
					s+="<div id='div_"+id+"_text'class='formName'>"+text+"</div>";
				}
				if(type=="text"){
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}else if(type=="password"){
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" class='input290' name='' type='password' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}else if(type=="select"){
					s+="<div id='div_"+id+"_content'><select id='"+id+"' "+(readonly==true?"disabled":"")+" "+js+" class='input290' onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\">"+content+"</select></div>";
				}else if(type=="textarea"){
					s+="<div id='div_"+id+"_content'><textarea id='"+id+"' "+js+" class='input290'  "+((readonly==true)?"readonly":"")+" "+(len>-1?"onchange=\"f_textarealenlmt(this,"+len+");\" onKeyUp=\"f_textarealenlmt(this,"+len+");\"":"")+" onkeydown=\""+(len>-1?"f_textarealenlmt(this,"+len+");":"")+"f_tab2enter(event,'"+nextobjname+"',1);\">"+content+"</textarea></div>";
				}else if(type=="button"){
					s+="<div id='div_"+id+"_content'></div>";
				}else if(type=="checkbox"){
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" "+(readonly==true?"disabled":"")+" name='' type='checkbox' "+(content=="1"?"checked":"")+" "+((readonly==true)?"readonly":"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}else if(type=="innertable"){
					s+="<div id='div_"+id+"_content'>"+content+"</div>";
				}else{
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}
				s+="<div class='clear'></div></div>";
			}
			s+="<div class='clear'></div></div>";
		}
		return s;
   }
}
function f_createdetaildiv(divname,title,savefunc,cancelfunc,newflag,continueflag){
   var objdiv =null;
   var objname=divname
   if(newflag==null||typeof(newflag)=="undefined"||newflag=="undefined") newflag=1;
   if(newflag==1){
	   if(document.getElementById(divname)==null){
			objdiv = document.createElement("DIV");
			objdiv.id = objname;
			objdiv.className="popWin";
			objdiv.style.display = "none";
			document.body.appendChild(objdiv);
	   }else{
			objdiv=document.getElementById(divname);
			objdiv.className="popWin";
			objdiv.style.display = "none";
	   }
   }else{
	   objdiv=document.getElementById(divname);
       objdiv.className="popWin1";
	   objdiv.style.display = "none";
   }
   document.getElementById(objname).iscontinueflag = 1;
   if(continueflag==null||typeof(continueflag)=="undefined"||continueflag=="undefined") document.getElementById(objname).iscontinueflag=0;
   f_replacesinglequot=function(s){
	   return s.replace(new RegExp("'","gm"),"\"");
   }
   if(newflag==1){
	   document.getElementById(objname).sinnerhtml1="<div class='window'><div class='winTop'><span>"+title+"</span><div class='close'><A href='javascript:document.getElementById(\""+objname+"\").hide();' title='关闭'></A></div><div class='clear'></div></div><div class='winContent'><div class='winBorder'>";
	   document.getElementById(objname).sinnerhtml2="<div class='clear'></div></div></div><div class='winPanel'>"+((savefunc==null)?"":"<a id='btn_ok123456789"+objname+"' href='javascript:"+savefunc+";' class='saveBtn' title='确定'>确定</a>")+"<a href='javascript:document.getElementById(\""+objname+"\").hide();' class='cancelBtn' title='取消'>取消</a></div><div class='clear'></div></div></div>";
   }else{
       document.getElementById(objname).sinnerhtml1="<div class='window1'><div class='winTop'><span>"+title+"</span><div class='close'></div><div class='clear'></div></div><div class='winContent'><div class='winBorder'>";
	   document.getElementById(objname).sinnerhtml2="<div class='clear'></div></div></div><div class='winPanel'>"+((savefunc==null)?"":"<a id='btn_ok123456789"+objname+"' href='javascript:"+savefunc+";' class='saveBtn' title='确定'>确定</a>")+((cancelfunc==null)?"":"<a href='javascript:"+cancelfunc+";' class='cancelBtn' title='取消'>取消</a>")+"</div><div class='clear'></div></div></div>";
   }
   document.getElementById(objname).lens = new CArrayList();
   document.getElementById(objname).ids = new CArrayList();
   document.getElementById(objname).texts = new CArrayList();
   document.getElementById(objname).types = new CArrayList();
   document.getElementById(objname).contents = new CArrayList();
   document.getElementById(objname).readonlys = new CArrayList();
   document.getElementById(objname).jses = new CArrayList();
   document.getElementById(objname).lineids = new CArrayList2();
   document.getElementById(objname).cancelfunc = cancelfunc;
   document.getElementById(objname).iscontinue = function(){
        return (this.iscontinueflag==0)?false:true;
   }
   document.getElementById(objname).setfocus = function(id){
		if(this.ids.Exist(id)==true){
			var flag=0;
			var id0=null;
			for(var i=0;i<this.lineids.Length();i++){
				var item=this.lineids.Get(i);
				for(var j=0;j<item.Length();j++){
					id0=this.ids.Get(item.Get(j));
					if(id0==id){
						flag=1;	
					}
				}
			}
			if(flag==1){
				document.getElementById(id).focus();
				if(document.getElementById(id).type=="text"||document.getElementById(id).type=="textarea") document.getElementById(id).select();
			}
		}else{
		    if(this.ids.Length()>0){
				document.getElementById(this.ids.Get(0)).focus();
				if(document.getElementById(this.ids.Get(0)).type=="text"||document.getElementById(this.ids.Get(0)).type=="textarea") document.getElementById(this.ids.Get(0)).select();
		    }
		}
   }
   document.getElementById(objname).getnextobjname=function(id){
		if(this.ids.Exist(id)==true){
			var flag=0;
			for(var i=0;i<this.lineids.Length();i++){
				var item=this.lineids.Get(i);
				for(var j=0;j<item.Length();j++){
					var id0=this.ids.Get(item.Get(j));
					if(flag==1){
						return id0;						
					}
					if(id0==id){
						flag=1;	
					}
				}
			}
			return null;
		}else{
			return null;
		}
   }
   document.getElementById(objname).additem=function(id,text,type,content,lineid,readonly,len){
		if(this.ids.Exist(id)==false){
			this.ids.Add(id);
			this.texts.Add(text);
			this.types.Add(type);
			this.contents.Add(content);
			this.jses.Add(null);
			if(readonly>0){
				readonly=true;
			}else{
				readonly=false;
			}
			this.readonlys.Add(readonly);
			var idx=this.ids.Length() - 1;
			this.lineids.Add(lineid,idx);
			if(f_checkint(len)==false) len=-1;
			if(len<-1) len=-1;
			this.lens.Add(len);
		}
   }
   document.getElementById(objname).setitem=function(id,text,type,content,len){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			this.texts.Set(idx,text);
			this.types.Set(idx,type);
			this.contents.Set(idx,content);
			if(f_checkint(len)==false) len=-1;
			if(len<-1) len=-1;
			this.lens.Set(idx,len);
		}
   }
   document.getElementById(objname).refreshitem=function(id){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
		    var len=this.lens.Get(idx);
			var text=this.texts.Get(idx);
			var type=this.types.Get(idx);
			var content=this.contents.Get(idx);
			var readonly=this.readonlys.Get(idx);
			var js=this.jses.Get(idx);
			var nextobjname=this.getnextobjname(id);
			if(nextobjname==null) nextobjname="btn_ok123456789"+objname;
			if(content==null) content="";
			if(js==null) js="";
			var stext="";
			var scontent="";
			if(type=="button"){
				stext="<input id='"+id+"' type=button onclick='"+content+"' value='"+text+"' />";
			}else if(type=="innerdetail"){
				stext="<font color=blue>"+text+"</font>";
			}else{
				stext=text;
			}
			if(type=="text"){
				scontent="<input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+" onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/>";
			}else if(type=="password"){
				scontent="<input id='"+id+"' "+js+" class='input290' name='' type='password' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+" onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/>";
			}else if(type=="select"){
				scontent="<select id='"+id+"' "+js+" class='input290' "+(readonly==true?"disabled":"")+" onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\">"+content+"</select>";
			}else if(type=="textarea"){
				scontent="<textarea id='"+id+"' "+js+" class='input290'  "+((readonly==true)?"readonly":"")+" "+(len>-1?"onchange=\"f_textarealenlmt(this,"+len+");\" onKeyUp=\"f_textarealenlmt(this,"+len+");\"":"")+" onkeydown=\""+(len>-1?"f_textarealenlmt(this,"+len+");":"")+"f_tab2enter(event,'"+nextobjname+"',1);\">"+content+"</textarea>";
			}else if(type=="button"){
				//无处理
			}else if(type=="list"){
				document.getElementById("div_"+id+"_content").clearitem();
				var conts=content.split("|");
				for(var k=0;k<conts.length;k++){
					var contvals=conts[k].split(",");
					document.getElementById("div_"+id+"_content").additem(contvals[0],contvals[1]);
				}
				scontent=document.getElementById("div_"+id+"_content").getcontent();
			}else if(type=="innerdetail"){
				content.setallreadonly(readonly);
				scontent=content.getinner();
			}else if(type=="checkbox"){
				scontent="<input id='"+id+"' "+js+" name='' type='checkbox' "+(readonly==true?"disabled":"")+" "+(content=="1"?"checked":"")+" "+((readonly==true)?"readonly":"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/>";
			}else if(type=="innertable"){
				scontent=content;
			}else{
				scontent="<input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/>";
			}
			document.getElementById("div_"+id+"_text").innerHTML=stext;
			document.getElementById("div_"+id+"_content").innerHTML=scontent;
		}
   }
   document.getElementById(objname).getcontent=function(id){
		var _scont=null;
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			var type=this.types.Get(idx);
			var _scont=this.contents.Get(idx);
			if(_scont==null) _scont="";
			if(type=="list"){
				_scont=document.getElementById("div_"+id+"_content").getselectids();
			}
			return _scont;
		}
   }
   document.getElementById(objname).setreadonly=function(id,readonly){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			if(readonly>0){
				readonly=true;
			}else{
				readonly=false;
			}
			this.readonlys.Set(idx,readonly);
		}
   }
   document.getElementById(objname).setjs=function(id,evt,jsfunc){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			var s=this.jses.Get(idx);
			if(s==null){
				s=evt+"='"+f_replacesinglequot(jsfunc)+"'"
			}else{
				s+=" "+evt+"='"+f_replacesinglequot(jsfunc)+"'"
			}
			this.jses.Set(idx,s);
		}
   }
   document.getElementById(objname).clearjs=function(id){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			this.jses.Set(idx,null);
		}
   }
   document.getElementById(objname).hide=function(){
		this.style.display = "none";
		this.iscontinueflag=0;
		this.ids.Clear();
		this.texts.Clear();
		this.types.Clear();
		this.contents.Clear();
		this.lineids.Clear();
		this.readonlys.Clear();
		this.jses.Clear();
		this.lens.Clear();
		this.innerHTML="";
		if(this.cancelfunc!=null){
			window.setTimeout(this.cancelfunc,1);
		}
   }
   document.getElementById(objname).show=function(){
		var s=this.sinnerhtml1;
		this.lineids.Sort2();
		var listdivs=new Array();
		var listconts=new Array();
		var id0=null;
		for(var i=0;i<this.lineids.Length();i++){
			s+="<div class='winList'>";
			var item=this.lineids.Get(i);
			for(var j=0;j<item.Length();j++){
				var id=this.ids.Get(item.Get(j));
				if(i==0&&j==0) id0=id;
				var len=this.lens.Get(item.Get(j));
				var text=this.texts.Get(item.Get(j));
				var type=this.types.Get(item.Get(j));
				var content=this.contents.Get(item.Get(j));
				var readonly=this.readonlys.Get(item.Get(j));
				var js=this.jses.Get(item.Get(j));
				var nextobjname=this.getnextobjname(id);
				if(nextobjname==null) nextobjname="btn_ok123456789"+objname;
				if(content==null) content="";
				if(js==null) js="";
				if(item.Length()==2){
					s+="<div class='formList p50'>"
				}else if(item.Length()==4||item.Length()==3){
					s+="<div class='formList p25'>"
				}else{
					s+="<div class='formList p100'>"
				}
				if(type=="button"){
					s+="<div id='div_"+id+"_text' class='formName'><input id='"+id+"' type=button onclick='"+content+"' value='"+text+"' /></div>";
				}else if(type=="innerdetail"){
					s+="<div id='div_"+id+"_text' class='formName'><font color=blue>"+text+"</font></div>";
				}else{
					s+="<div id='div_"+id+"_text' class='formName'>"+text+"</div>";
				}
				if(type=="text"){
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}else if(type=="password"){
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" class='input290' name='' type='password' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}else if(type=="select"){
					s+="<div id='div_"+id+"_content'><select id='"+id+"' "+js+" class='input290' "+(readonly==true?"disabled":"")+" onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\">"+content+"</select></div>";
				}else if(type=="textarea"){
					s+="<div id='div_"+id+"_content'> <textarea id='"+id+"' "+js+" class='input290'  "+((readonly==true)?"readonly":"")+" "+(len>-1?"onchange=\"f_textarealenlmt(this,"+len+");\" onKeyUp=\"f_textarealenlmt(this,"+len+");\"":"")+" onkeydown=\""+(len>-1?"f_textarealenlmt(this,"+len+");":"")+"f_tab2enter(event,'"+nextobjname+"',1);\">"+content+"</textarea></div>";
				}else if(type=="button"){
					s+="<div id='div_"+id+"_content'></div>";
				}else if(type=="list"){
					s+="<div id='div_"+id+"_content'></div>";
					listdivs.push("div_"+id+"_content");
					listconts.push(content);
				}else if(type=="innerdetail"){
					s+="<div id='div_"+id+"_content'>"+content.getinner()+"</div>";
				}else if(type=="checkbox"){
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" name='' type='checkbox' "+(readonly==true?"disabled":"")+" "+(content=="1"?"checked":"")+" "+((readonly==true)?"readonly":"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}else if(type=="innertable"){
					s+="<div id='div_"+id+"_content'>"+content+"</div>";
				}else{
					s+="<div id='div_"+id+"_content'><input id='"+id+"' "+js+" class='input290' name='' type='text' value='"+content+"' "+((readonly==true)?"readonly":"")+" "+(len>-1?("maxlength="+len):"")+"  onkeydown=\"f_tab2enter(event,'"+nextobjname+"');\"/></div>";
				}
				s+="<div class='clear'></div></div>";
			}
			s+="<div class='clear'></div></div>";
		}
		s+=this.sinnerhtml2;
		this.innerHTML=s;
		for(var i=0;i<listdivs.length;i++){
			var _divname=listdivs[i];
			var _content=listconts[i];
			f_listbox(_divname,200,100);
			var conts=_content.split("|");
			for(var k=0;k<conts.length;k++){
				var contvals=conts[k].split(",");
				document.getElementById(_divname).additem(contvals[0],contvals[1]);
			}
			document.getElementById(_divname).show();
		}
		this.style.display = "block";
		if(id0!=null){
			document.getElementById(id0).focus();
			if(document.getElementById(id0).type=="text"||document.getElementById(id0).type=="textarea") document.getElementById(id0).select();
		}
   }
}
function f_getselectoption(){
	this.ids=new CArrayList();
	this.names=new CArrayList();
	this.selectedidx=0;
	this.add=function(id,name){
		this.ids.Add(id);
		this.names.Add(name);
	}
	this.clear=function(){
		this.ids.Clear();
		this.names.Clear();
		this.selectedidx=0;
	}
	this.setselectedid=function(id){
		var idx=this.ids.IndexOf(id);
		if(idx!=-1){
			this.selectedidx=idx;
		}else{
			this.selectedidx=0;
		}
	}
	this.getoption=function(){
		var s="";
		for(var i=0;i<this.ids.Length();i++){
			s+="<option value='"+this.ids.Get(i)+"' ";
			if(i==this.selectedidx){
				s+="selected>";
			}else{
				s+=">";
			}
			s+=this.names.Get(i)+"</option>";
		}
		return s;
	}
}
function f_getrandombylen(ilen)
{
	return Math.round(Math.random()*Math.pow(10,ilen));
}
function f_getrandombyrange(imin,imax)
{
	return Math.floor(Math.random() * (1 + imax - imin) + imin);
}
function f_round(v,len){
	return Math.round(v*Math.pow(10,len))/Math.pow(10,len);
}
function f_gettoday()
{
	var d = new Date();
	return d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
}
function f_getnow()
{
    var d = new Date();
	return d.getFullYear()+"-"+(d.getMonth() + 1)+"-"+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
}
function f_getchgday(d,days,hours,mins,seconds){
	return new Date(d.getTime() + days*1000*24*3600 +hours*1000*3600 +mins*1000*60 +seconds*1000);
}
function f_addmonth(date, cnt) {
    var y = date.getFullYear();
    var m = date.getMonth();
    var d = date.getDate();
    if ((m + cnt) > 12) {
        y = y + 1;
        m = (m + 12) % 12;
    } else if ((m + cnt) < 0) {
        y = y - 1;
        m = m + cnt + 12;
    } else {
        m = m + cnt;
    }
    return new Date(y, m, d);
}
function f_fmtint(d, len) {
    var a = d.toString();
    if (a.length >= len) return a;
    var b=a;
    for (var i = 0; i < (len - a.length); i++) b = "0" + b;
    return b; 
}
function f_getfmtday(d){
    if (d == null) return "";
    if (d <= new Date("1900-01-01 00:00:00") || d >= new Date("3000-01-01 00:00:00")) return "";
    return d.getFullYear() + "-" + f_fmtint(d.getMonth() + 1, 2) + "-" + f_fmtint(d.getDate(),2);
}
function f_getfmtdatetime(d) {
    if (d == null) return "";
    if (d <= new Date("1900-01-01 00:00:00") || d >= new Date("3000-01-01 00:00:00")) return "";
    return d.getFullYear() + "-" + f_fmtint(d.getMonth() + 1, 2) + "-" + f_fmtint(d.getDate(), 2) + " " + f_fmtint(d.getHours(), 2) + ":" + f_fmtint(d.getMinutes(), 2) + ":" + f_fmtint(d.getSeconds(), 2);
}
function f_getfmtdate(d) {
    if (d == null) return "";
    if (d <= new Date("1900-01-01 00:00:00") || d >= new Date("3000-01-01 00:00:00")) return "";
    return d.getFullYear() + "-" + f_fmtint(d.getMonth() + 1, 2) + "-" + f_fmtint(d.getDate(), 2);
}
function f_getfmtjsondatetime(d) {
    if (d == null) return "";
    if (d <= new Date("1900-01-01 00:00:00") || d >= new Date("3000-01-01 00:00:00")) return "";
    return f_getfmtdatetime(new Date(parseInt(d.match(/[\d]+/))));
}
function f_getfmtjsondate(d) {
    if (d == null) return "";
    if (d <= new Date("1900-01-01 00:00:00") || d >= new Date("3000-01-01 00:00:00")) return "";
    return f_getfmtdate(new Date(parseInt(d.match(/[\d]+/))));
}
function f_showdayperiod(id1, days1, id2, days2) {
	var d=new Date();
	document.getElementById(id1).value = f_getfmtday(f_getchgday(d, days1, 0, 0, 0));
	document.getElementById(id2).value = f_getfmtday(f_getchgday(d, days2, 0, 0, 0));
}
function f_showblock(id){
	if(document.getElementById(id)!=null){
		if(document.getElementById(id).style.display=="none"){
			document.getElementById(id).style.display="block";
		}else{
			document.getElementById(id).style.display="none";
		}
	}
}
function f_checkidcardlen(val) {
    if (val.length != 15||val.length!=18) {
        f_alert("身份证号码为15位或18位");
        return false;
    }
    var patrn = /^[11-99][A-Za-z0-9]+$/;
    if (patrn.test(val) == false) {
        f_alert("身份证号码必须由数字和字母组成");
        return false;
    }
    return true;
}
function f_checkidcard(num) {
    num = num.toUpperCase();
    //身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X。   
    if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) {
        f_alert('输入的身份证号长度不对，或者号码不符合规定！\n15位号码应全为数字，18位号码末位可以为数字或X。');
        return false;
    }
    //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
    //下面分别分析出生日期和校验位 
    var len, re;
    len = num.length;
    if (len == 15) {
        re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
        var arrSplit = num.match(re);

        //检查生日日期是否正确 
        var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
        var bGoodDay;
        bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
        if (!bGoodDay) {
            f_alert('输入的身份证号里出生日期不对！');
            return false;
        }
        else {
            //将15位身份证转成18位 
            //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
            var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
            var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
            var nTemp = 0, i;
            num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);
            for (i = 0; i < 17; i++) {
                nTemp += num.substr(i, 1) * arrInt[i];
            }
            num += arrCh[nTemp % 11];
            return num;
        }
    }
    if (len == 18) {
        re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
        var arrSplit = num.match(re);

        //检查生日日期是否正确 
        var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
        var bGoodDay;
        bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
        if (!bGoodDay) {
            f_alert('输入的身份证号里出生日期不对！');
            return false;
        }
        else {
            //检验18位身份证的校验码是否正确。 
            //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
            var valnum;
            var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
            var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
            var nTemp = 0, i;
            for (i = 0; i < 17; i++) {
                nTemp += num.substr(i, 1) * arrInt[i];
            }
            valnum = arrCh[nTemp % 11];
            if (valnum != num.substr(17, 1)) {
                alert('18位身份证的校验码不正确！应该为：' + valnum);
                return false;
            }
            return num;
        }
    }
    return false;
}
function f_checkidcardlennoalert(num) {
    num = num.toUpperCase();
    //身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X。   
    if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) {
        return false;
    }
    //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
    //下面分别分析出生日期和校验位 
    var len, re;
    len = num.length;
    if (len == 15) {
        re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
        var arrSplit = num.match(re);

        //检查生日日期是否正确 
        var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
        var bGoodDay;
        bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
        if (!bGoodDay) {
            return false;
        }
        else {
            //将15位身份证转成18位 
            //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
            var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
            var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
            var nTemp = 0, i;
            num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);
            for (i = 0; i < 17; i++) {
                nTemp += num.substr(i, 1) * arrInt[i];
            }
            num += arrCh[nTemp % 11];
            return num;
        }
    }
    if (len == 18) {
        re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
        var arrSplit = num.match(re);

        //检查生日日期是否正确 
        var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
        var bGoodDay;
        bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
        if (!bGoodDay) {
            return false;
        }
        else {
            //检验18位身份证的校验码是否正确。 
            //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
            var valnum;
            var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
            var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
            var nTemp = 0, i;
            for (i = 0; i < 17; i++) {
                nTemp += num.substr(i, 1) * arrInt[i];
            }
            valnum = arrCh[nTemp % 11];
            if (valnum != num.substr(17, 1)) {
                return false;
            }
            return num;
        }
    }
    return false;
}   
function f_checkphone(val) {
    var patrn = /^[0-9]{3,4}-[0-9]+$/;
    if (patrn.test(val) == false) {
        patrn = /^[0-9]+$/;
        return patrn.test(val);
    }
    return true;
}
function f_checkmobile(val) {
    if (val.length != 11) return false;
    var patrn = /^1[1-9]{1}[0-9]{9}$/;
    return patrn.test(val);
}
function f_checkname(val) {
    if(val.length<1){
		f_alert("名称不能少于1位");
		return false;
	}
	if(val.length>16){
		f_alert("帐号不能大于16位");
		return false;
	}
	var patrn = /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/;
	if (patrn.test(val)==false)
	{
		f_alert("名称必须由字母、数字、中文及下划线组成");
		return false;
	}
	return true;
}
function f_checkacct(val)
{
	if(val.length<6){
		f_alert("帐号不能少于6位");
		return false;
	}
	if(val.length>16){
		f_alert("帐号不能大于16位");
		return false;
	}
	var patrn = /^[A-Za-z][A-Za-z0-9]+$/;
	if (patrn.test(val)==false)
	{
		f_alert("帐号必须由字母和数字组成");
		return false;
	}
	return true;
}
function f_checkpwd(val)
{
	if(val.length<6){
		f_alert("密码不能少于6位");
		return false;
	}
	if(val.length>16){
		f_alert("密码不能大于16位");
		return false;
	}
	var patrn = /^[A-Za-z0-9]+$/;
		
	if (patrn.test(val)==false)
	{
		f_alert("密码必须由字母或数字组成");
		return false;
	}
	return true;
}
function f_checknamenoalert(val) {
    if (val.length < 1) {
        return false;
    }
    if (val.length > 16) {
        return false;
    }
    var patrn = /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/;
    if (patrn.test(val) == false) {
        return false;
    }
    return true;
}
function f_checkacctnoalert(val) {
    if (val.length < 6) {
        return false;
    }
    if (val.length > 16) {
        return false;
    }
    var patrn = /^[A-Za-z][A-Za-z0-9]+$/;
    if (patrn.test(val) == false) {
        return false;
    }
    return true;
}
function f_checkpwdnoalert(val) {
    if (val.length < 6) {
        return false;
    }
    if (val.length > 16) {
        return false;
    }
    var patrn = /^[A-Za-z0-9]+$/;

    if (patrn.test(val) == false) {
        return false;
    }
    return true;
}
function f_checkvcode(m) {
	var patrn=/^\d+$/;
	return patrn.test(m);
}
function f_checkmoney(m){
	var patrn=/(^\d+\.\d{1}$)|(^\d+\.\d{2}$)|(^\d+$)/;
	return patrn.test(m);
}
function f_checkmoneyctl(id,hint){
	var m=document.getElementById(id).value;
	if(f_checkmoney(m)==false){
		f_alert(hint);
		document.getElementById(id).focus();
		return false;
	}
	return true;
} 
function f_checkint(m){
	var patrn=/^\d+$/;
	return patrn.test(m);
}
function f_geturlquery(name) {
    var s = document.location.href;
    if(s==null) s="";
    s=f_trim(s);
    if (s.length <= 1) return s;
    if ((s.substr(s.length - 1, 1)) == "#") {
        s = s.substr(0, s.length - 1);
    }
	var reg = new RegExp("(^|&|\\?)"+ name +"=([^&]*)(&|$)"), r;
	if ((r=s.match(reg))!=null) return unescape(r[2]); 
	return null;
}
function f_ltrim(s){
    return s.replace( /^\s*/, "");
}
function f_rtrim(s){
    return s.replace( /\s*$/, "");
}
function f_trim(s){
    return f_rtrim(f_ltrim(s));
}
function  f_adddate(sType,iCnt,dtDate)  
{  
	var  dtTmp  =  new  Date(dtDate);  
	if  (isNaN(dtTmp))  dtTmp  =  new  Date();  
	switch  (sType)  
	{  
		case  "s":return  new  Date(Date.parse(dtTmp)  +  (1000  *  iCnt));  
		case  "n":return  new  Date(Date.parse(dtTmp)  +  (60000  *  iCnt));  
		case  "h":return  new  Date(Date.parse(dtTmp)  +  (3600000  *  iCnt));  
		case  "d":return  new  Date(Date.parse(dtTmp)  +  (86400000  *  iCnt));  
		case  "w":return  new  Date(Date.parse(dtTmp)  +  ((86400000  *  7)  *  iCnt));  
		case  "m":return  new  Date(dtTmp.getFullYear(),  (dtTmp.getMonth())  +  iCnt,  dtTmp.getDate(),  dtTmp.getHours(),  dtTmp.getMinutes(),  dtTmp.getSeconds());  
		case  "y":return  new  Date((dtTmp.getFullYear()  +  iCnt),  dtTmp.getMonth(),  dtTmp.getDate(),  dtTmp.getHours(),  dtTmp.getMinutes(),  dtTmp.getSeconds());  
	}  
} 
function f_escname(s){
	var s1=f_replacestring(s,"'","\'");
	s1=f_replacestring(s1,'"','\"');
	return s1;
}
function f_esctitle(s){
	var s1="";
	if(document.all){
		s1=f_replacestring(s,"'","\'");
		s1=f_replacestring(s1,'"','\"');
		return s1;
	}else{
		s1=f_replacestring(s,"'","&apos;");
		s1=f_replacestring(s1,'"','&quot;');
		return s1;
	}
}
function f_esccode(s){
	var s1=f_replacestring(s,"'","&apos;");
	s1=f_replacestring(s1,'"','\\\"');
	return s1;
}
function f_desccode(s){
	var s1=f_replacestring(s,"&apos;","'");
	return s1;
}
function f_setcookie(name,value,day,hour,minute,second)
{
	if(day==null||typeof(day)=="undefined") day=0;
	if(hour==null||typeof(hour)=="undefined") hour=0;
	if(minute==null||typeof(minute)=="undefined") minute=0;
	if(second==null||typeof(second)=="undefined") second=0;
	if((day+hour+minute+second)==0) day=1;
    var exp  = new Date();    
    exp.setTime(exp.getTime() + (day*24*60*60*1000)+(hour*60*60*1000)+(minute*60*1000)+(second*1000));
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function f_getcookie(name)       
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}     
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) ); 
}
function f_delcookie(name)
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = f_getcookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
function f_getmouseposition(e){
    var l=e.offsetLeft;t=e.offsetTop; 
    while(e=e.offsetParent){
      t+=e.offsetTop;
      l+=e.offsetLeft;
    }; 
    return {x: l, y: t};
 }
function f_subshow(cont,len){
    if(cont==null) return "";
    return (cont.length>len?cont.substr(0,len):cont)
}
function f_alert(s){
    var s1=s.toString();
    if(s1.indexOf("System.Exception ")==0){
       s1=s1.substr("System.Exception ".length);
    }
    alert(s1);
}
function f_getsysmsg(s) {
    var s1 = s.toString();
    if (s1.indexOf("System.Exception ") == 0) {
        s1 = s1.substr("System.Exception ".length);
    }
    return s1;
}
function f_getbrowser() {
    var Sys = {};
    Sys.ie = false;
    Sys.firefox = false;
    Sys.chrome = false;
    Sys.opera = false;
    Sys.safari = false;
    Sys.maxthon = false;
    if (navigator.userAgent.indexOf('MSIE')>=0)
        Sys.ie = true;
    else if (navigator.userAgent.indexOf('Firefox') >= 0)
        Sys.firefox = true;
    else if (navigator.userAgent.indexOf('Chrome') >= 0)
        Sys.chrome = true;
    else if (navigator.userAgent.indexOf('Opera') >= 0)
        Sys.opera = true;
    else if (navigator.userAgent.indexOf('Safari') >= 0)
        Sys.safari = true;
    else if (navigator.userAgent.indexOf('Maxthon') >= 0)
        Sys.maxthon = true;
    return Sys;
}
function f_getabsolutepos(obj) {
    if (obj == null) return null;
    var pos = {};
    pos.left = obj.offsetLeft;
    pos.top = obj.offsetTop;
    var pobj = obj;
    while (pobj != null && pobj.offsetParent != null && pobj.offsetParent.tagName != "BODY") {
        pos.top += pobj.offsetParent.offsetTop;
        pos.left += pobj.offsetParent.offsetLeft;
        pobj = pobj.offsetParent;
    }
    return pos;
}
function f_timediff(sdate/*yyyy/MM/dd HH:mm:ss*/) {
    var d = new Date(sdate);
    var n = new Date();
    var t = (d - n) / 1000;
    return Math.floor(t / 3600) + "小时" + Math.floor((t % 3600) / 60) + "分钟" + Math.floor((t % 3600) % 60) + "秒";
}
function f_objectstruct(obj) {
    var s = "";
    if (typeof (obj) != "object") {
        s = obj + "<" + typeof (obj) + ">;";
    } else {
        var p;
        for (p in obj) {
            if (typeof (obj[p]) != "object") {
                s += p + "=" + obj[p] + "<" + typeof (obj) + ">;";
            } else {
                s += p + f_showobj(obj[p]) + "<" + typeof (obj) + ">;";
            }
        }
    }
    return s;
}
function f_tab2enters(event, seqs, nowid) {
    for (var i = 0; i < seqs.length; i++) {
        if (seqs[i] == nowid) {
            var oname = "";
            if (i == seqs.length - 1) {
                oname = seqs[i];
            } else {
                oname = seqs[i + 1];
            }
            f_tab2enter(event, oname);
            
            return;
        }
    }
    
    
    
}
function f_tab2enterscycle(event, seqs, nowid) {
    for (var i = 0; i < seqs.length; i++) {
        if (seqs[i] == nowid) {
            var oname = "";
            if (i == seqs.length - 1) {
                oname = seqs[0];
            } else {
                oname = seqs[i + 1];
            }
            f_tab2enter(event, oname);
            return;
        }
    }
}

function f_checkurl(url) {
    if (url == null) {
        return false;
    }
    var urlpatern1 = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i;
    if (!urlpatern1.test(url)) {
        return false;
    }
    var s = "0";
    var t = 0;
    var re = new RegExp(":\\d+", "ig");
    while ((arr = re.exec(url)) != null) {
        s = str.substring(RegExp.index + 1, RegExp.lastIndex);
        if (s.substring(0, 1) == "0") {
            return false;
        }
        t = parseInt(s);
        if (t < 1 || t > 65535) {
            return false;
        }
    }
    return true;
}
function f_getdomain(url) {
            if (url == null) return "";
            url = f_trim(url);
            if (url.length == 0) return "";
            url = url.toLowerCase();
            var pos1 = url.indexOf("://");
            if (pos1 >= 0) {
                url = url.substring(pos1 + 3);
            }
            var pos2 = url.indexOf("/");
            if (pos2 > 0) {
                url = url.substring(0, pos2);
            }
            var pos3 = url.indexOf(":");
            if (pos3 > 0) {
                url = url.substring(0, pos3);
            }
            url = f_trim(url);
            return url;
}
function f_sethomepage(url) {
    if (document.all) {
        document.body.style.behavior = 'url(#default#homepage)';
        document.body.setHomePage(url);
    }
    else if (window.sidebar) {
        if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }
            catch (e) {
                alert("该操作被浏览器拒绝，如果想启用该功能，请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true");
            }
        }
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
        prefs.setCharPref('browser.startup.homepage', url);
    } 
}

