var _clickedRow = "#D5E8F9";
var _RowHeight = 25;

/**
 * 功能 : 页面控件状态处理
 * restoreFrom(obj),disForm(obj),enEle(obj,flag);
**/
//恢复原状态
function restoreFrom(obj){
	var els = obj.getElementsByTagName("INPUT");
	for(var i=0;i<els.length;i++){
		enEle(els[i],!els[i]._dis,true);
	}
	els = obj.getElementsByTagName("TEXTAREA");
	for(var i=0;i<els.length;i++){
		enEle(els[i],!els[i]._dis);
	}
	els = obj.getElementsByTagName("SELECT");
	for(var i=0;i<els.length;i++){
		els[i].disabled=els[i]._dis;
	}
}
//保存原状态并禁止
function disForm(obj){
	var els = obj.getElementsByTagName("INPUT");
	for(var i=0;i<els.length;i++){
		els[i]._dis = (els[i].type!="text")?els[i].disabled:els[i].readOnly;
		enEle(els[i],false,true);
	}
	els = obj.getElementsByTagName("TEXTAREA");
	for(var i=0;i<els.length;i++){
		els[i]._dis = els[i].readOnly;
		enEle(els[i],false);
	}
	els = obj.getElementsByTagName("SELECT");
	for(var i=0;i<els.length;i++){
		els[i]._dis = els[i].disabled;
		els[i].disabled=true;
	}
}
//允许禁止控件
function enEle(obj,flag,isForm){
	var tmpClsName="";
	if(obj.tagName=="INPUT"){
		switch(obj.type){
			case "text":
			case "password":
				if(!flag) tmpClsName = "MG_Edit_Dis";
				else tmpClsName = "MG_Edit";
				break;
			case "radio":
			case "checkbox":
				obj.disabled=!flag;
				return true;
			case "reset":
			case "submit":
			case "file":
			case "image":
			case "button":
				if(!isForm||obj.nodis==undefined){
					if(!flag) tmpClsName = "MG_Button_Dis";
					else tmpClsName = "MG_Button";	
					obj.disabled = ! flag;
					break;
				}else{
					return true;
				}
		}
	}else if(obj.tagName=="TEXTAREA"){
		if(!flag) tmpClsName = "MG_MEdit_Dis";
		else tmpClsName = "MG_MEdit";
	}else{
		return true;
	}
	obj.readOnly = ! flag;	
	obj.className = tmpClsName;	
}

String.prototype.trim = function() {
                          return this.replace(/(^\s*)|(\s*$)/g, "");
                        } 

//判断对象的值是否为空
function objIsNull(obj){
	var ls_value = obj.value;
	ls_value = ls_value.trim();
	obj.value = ls_value;
	if(ls_value == null || ls_value == "")
		return true;
}

var RClsIC = {
	ReadICCard : function(iJob){
		return this.doAction('R','','','',iJob);
	},
	WriteICCard : function(Type,ID,Name,iJob){
		if(ID==""||Name=="") return;
		return this.doAction('W',Type,ID,Name,iJob);
	},
	UpdateICCard : function(Type,ID,Name,iJob){
		if(ID==""||Name=="") return;
		return this.doAction('U',Type,ID,Name,iJob);
	},
	ClearICCard : function(Type,ID,Name,iJob){
		if(ID=="") return;
		return this.doAction('C',Type,ID,Name,iJob);
	},
	PrintICCard	: function(Type,ID,Name,iJob){
		if(Name=="") return; 
		return this.doAction('P',Type,ID,Name,iJob);
	},
	SetICCard	: function(){
		return this.doAction('S','','','','');
	},
	doAction : function(Act,Type,ID,Name,iJob){
		return window.showModalDialog('../iccard/operate.html?tt='+Math.random(),[Act,Type,ID,Name,iJob],'resizable:no;status:no;dialogWidth:300px;dialogHeight:150px;');
	}
}

var RChgFlag = false;
var isChgFlag = false;
function changeAll(){
	if(!isChgFlag) return;
	switch(event.propertyName){
		case "value":
		case "checked":
			RChgFlag = true;
			if(callBackFlag) callBackFlag(RChgFlag);
			break;
	}
}
function resetChgFlag(){
	RChgFlag = false;
}
function beginChgFlag(){
	isChgFlag = true;
}
//onKeyDown onMouseDown入口
function getRChgFlag(){
	if(RChgFlag) return;
	var obj = event.srcElement;
	obj.onpropertychange = changeAll;
}
//以上是处理有修改。
var RScpCls = {
	getResultValue:function(i , j){
		return "";
	}
}

function f_onlyInteger(obj){
	obj.value=obj.value.replace(/[^0-9]/g,'');
}

//控制只能输入Double
function f_onlyDouble(obj , length){
	var li_ml = obj.maxLength;
	
	if(length == null) length = 2;
	
	obj.value=obj.value.replace(/[^0-9\.]/g,'');
	
	var ls_objvalue = obj.value;
	var lobj_values = ls_objvalue.split(".");
	
	lobj_values[0] = lobj_values[0].substr(0 , li_ml - (length+1));
	
	//判断小数点个数
	
	if(lobj_values.length > 2){
		obj.value = lobj_values[0] + "." + lobj_values[1];
	}
	
	if(lobj_values.length > 1){
		var ls_valueEnd = lobj_values[1];
		obj.value = lobj_values[0] + "." + ls_valueEnd.substr(0 , 2);
	}
	
	if(lobj_values.length == 1){
		obj.value = lobj_values[0];
	}
}

function chkUnitId(strZZDM){
	if(strZZDM.length!=9) return false;
	var checkbit = new Array('3', '7', '9', '10', '5', '8', '4', '2');
	var icheckbit;
	var tempnum = 0;
    var i = 0;
    for(i = 0; i < 8 ; i++){
		var bitNum = strZZDM.substr(i, 1).charCodeAt(0) - 48;
		if(bitNum>9) bitNum -=7;
		tempnum += checkbit[i] * bitNum;
	}
	tempnum = 11 - tempnum % 11;
	switch(tempnum){
		case 10:
			tempnum = 'X';
			break;
		case 10:
			tempnum = '0';			
			break;
		default:
	}
	if(tempnum == strZZDM.substr(8, 1)) return true;
	return false;
}

function ClsReportXML(){
	this.RptFile   = '/cdjwjy/report/report.htm';
	this.RptXml    = false;
	this.newRptDoc = function()                      {
		var dom = false;
		try{
			dom=new ActiveXObject("msxml2.DOMDocument"); 
			dom.async = false; 
			dom.resolveExternals = false; 
		}catch(e){
			alert("错误:"+e.message);
			return false;
		}
		//dom.appendChild(dom.createProcessingInstruction("xml","version='1.0' encoding='gb2312'"));
		var rootnode = dom.appendChild(dom.createElement("rep"));
		this.RptXml = dom;
		return rootnode.appendChild(dom.createElement("xmldata"));
	};
	this.newBand   = function(RptDoc,bandName)       {
		var childnode =RptDoc.appendChild(this.RptXml.createElement("band"));
		var attrnode=this.RptXml.createAttribute("ID");
		attrnode.nodeValue=bandName;
		childnode.attributes.setNamedItem(attrnode);
		return childnode;
	};
	this.newRow    = function(band,fldNames,fldVals) {
		var rowN = band.appendChild(this.RptXml.createElement("row"));
		for(var i=0;i<fldNames.length;i++){
			var fldN = rowN.appendChild(this.RptXml.createElement("ob"));
			var tmpEl = this.RptXml.createElement("on");
			tmpEl.nodeTypedValue=fldNames[i];
			fldN.appendChild(tmpEl);
			tmpEl = this.RptXml.createElement("ov");
			tmpEl.nodeTypedValue=fldVals[i]!=""?fldVals[i]:"null";
			fldN.appendChild(tmpEl);
		}
	};
	this.getXmlStr = function()						{
		if(!this.RptXml){
			return ""; 
		}else{
			return '<?xml version="1.0" encoding="gb2312"?>'+this.RptXml.xml;
		}
	};
}
function getUrlPath(){
	var vPath=document.URL.split("/");
	if(vPath.length!=undefined){
		vPath[vPath.length-1]="";
	}
	return vPath.join("/");
}
function edit_timekey(obj){
	var ttobj=obj.value.match(/(2[0-3]?|[0-1]?[0-9])(:([1-5][0-9]|0?[0-9])?)?/ig);
	if(ttobj==null) {
		obj.value="";
	}else{
		if(obj.value.length==2&&ttobj[0].substring(2,1)!=":"&&event.keyCode!=8) obj.value = ttobj[0]+":";
		else obj.value = ttobj[0];
	}
}
function TimeStamp2D(Stamp){
	if(Stamp=="") return Stamp;
	var tmpDate = new Date(parseFloat(Stamp));
	return tmpDate.getYear()+"-"+(tmpDate.getMonth()+1)+"-"+tmpDate.getDate();
}
function DStr2Value(vDStr){
	if(vDStr == "" ) return "";	
	var vd="";
	var id=0;
	if(vDStr=="") return 0;
	if(vDStr.length<12){
		d = vDStr.match(/^(\w{4})(-|\/)(\w{1,2})\2(\w{1,2})$/);
		try{
			var tt=Date.parse(d[3]+"-"+d[4]+"-"+d[1]);
			return tt;
		}catch(e){
			alert(vDStr);
			return 0;
		}
	}else{
		return DTStr2Value(vDStr);
	}
}

function DTStr2Value(vDStr){
	if(vDStr == "" ) return "";
	var d = vDStr.match(/^(\w{4})(-|\/)(\w{1,2})\2(\w{1,2}) (\w{1,2}):(\w{1,2})$/);
	return Date.parse(d[3]+"-"+d[4]+"-"+d[1] + " " + d[5] + ":" + d[6]);
}

function cls0(value){
	return value!="0"?value:"";
}

function dumpKey(e){
	var el=e.srcElement;
	var key,keyChar;
	key = event.keyCode;
	keyChar = 13;
	if (key==keyChar){
		if(el.tagName!="SELECT" && el.tagName != "INPUT"){
			return true;
		}else if(el.tagName == "INPUT"){
			if(el.type=="button") return true;
		}
		event.keyCode=9;
	}
	switch(event.keyCode){
		case 13://回车
		case 9://Tab
		case 37://左
		case 39://右
			return;
	}
	getRChgFlag();
}

function openDialogWindow(openPath,para,widths,heights) {
	openPath+="?tt="+Math.random();
	return (window.showModalDialog(openPath,para,"dialogWidth:"+parseInt(widths)+"px; dialogHeight:"+parseInt(heights)+"px;  status:no; font-family:Verdana; font-size:12; help: no; resizable: no; center:yes"));
}

function clswin(){
	window.frameElement.parentElement.windowState = "USERCLOSED";
} 
function initSelBySpan(codeid,spanid,newid,style,userid){
	var scp = new ServerCallProxy(GLOB_STATIC_APPID_CDJWJY , GLOB_STATIC_METHID_CDJWJY);
	scp.resetContext();
	scp.createParameter("ANTYPESEQ",codeid);
	scp.createParameter("ANUSERID", userid);
	scp.createParameter("QUERY_TPYE" , "0");
	scp.submitForm("QUERY_BASE_CODE");
	str2TdSel(spanid,newid,style,scp.getFunctionValue("BASE_CACHE_CODE_"+codeid));	
}
function str2TdSel(idtd,idSel,SelPara,ops){
	var strSel="<SELECT id='" + idSel +"' name='" + idSel+"' " + SelPara +" >"+ops+"</SELECT>";
	strSel=strSel.replace(/&gt;/gi,">");
	strSel=strSel.replace(/&lt;/gi,"<");
	idtd.innerHTML = strSel;
}
function oScpToSel(oScp,cpValue,cpText,opSel){
    var nLen = oScp.getRowCount();
	opSel.length=nLen;
	if(nLen==0) return true;
    for(var i=0;i<nLen;){
	    opSel.options[i].value=oScp.getResultValue(i+1 , cpValue);
		opSel.options[i].text= oScp.getResultValue(++i , cpText);
	}
	return true;
}
function SelInsItem(obj,value,text){
	var oOption = document.createElement("OPTION");
	obj.options.insertBefore(oOption,obj.options[0]);
	oOption.innerText = text;
	oOption.value = value;
	obj.selectedIndex = 0;
}
function enInputByCls(obj,enable){
	if(enable){
		obj.className  = "MG_Edit";
		obj.readOnly =false;
	}else{
		obj.className  = "MG_MEdit_Dis";
		obj.readOnly =true;
	}
}
function enButton(obj,enable){
	if(enable){
		obj.disabled =false;
	}else{
		obj.disabled =true;
	}
}
function clearDocumentString(string){
	for(i=0;i<document.all.length;i++){
		if(document.all[i].innerText == string){
			document.all[i].innerText = ""
		}
		if(document.all[i].value == string){
			document.all[i].value = ""
		}
	}//end for
}

function IsEditNull(oEdit,ErrMsg){
	if(oEdit.value=="") {
	    alert(ErrMsg);
		try{
			if(!oEdit.disabled)	oEdit.focus();
		}catch(e){
		}
		return true;
    }
	return false;
}
function editIsYear(obj){
	var ttobj=obj.value.match(/199\d{0,1}|200\d{0,1}|19{0,2}|20{0,3}/ig);
	if(ttobj==null) {
		obj.value="";
	}else{
		obj.value = ttobj[0];
	}
}
function editIsNum(obj){
	var ttobj=obj.value.match(/\d{0,}/ig);
	if(ttobj==null) {
		obj.value="";
		return false;
	}else{
		obj.value = ttobj[0];
		return true;
	}
}
function setFormValue(obj,value){
	if(obj.value==value) obj.checked=true;
	else obj.checked=false;
}
function decodeList(oList,value){
	oList.value=value;
	if(oList.selectedIndex!=-1){
		return oList.options[oList.selectedIndex].text;
	}else{
		return "";
	}
}
function decodeListV(oList,value){
	for(var i = 0;i<oList.length;i++){
		if(oList.options[i].text == value) {
			return oList.options[i].value;
		}
	}
	return "";
}
function oSelToSel(osSel,opSel){
    var nLen = osSel.length;
	opSel.length=nLen;
	if(nLen==0) return true;
    for(var i=0;i<nLen;i++){
	    opSel.options[i].value = osSel.options[i].value;
		opSel.options[i].text  = osSel.options[i].text;
	}
	return true;
}
function Lst2LstByI(SrcLst,DstLst,idx){
    if(idx<0) return ;
    DstLst.options[DstLst.length++].value=SrcLst.options[idx].value;
    DstLst.options[DstLst.length-1].text=SrcLst.options[idx].text;
    SrcLst.remove(idx);
}
function fzquery(idx,func,query,flag){
	var vo = new Condition(idx,func,query,flag);
	var msg = window.showModalDialog("/FzQuery/condition/condition.htm",vo,"dialogWidth:650px; dialogHeight:445px;status:no; font-family:Verdana; /*font-size:12; help: no; resizable: no; scroll=no;center:yes");
	return msg;
}