var jscomIsDebug=true;
function jscomDebugAlert(message)
{
    if(jscomIsDebug)
    {
        alert(message);
    }
}
function jscomNewOpenBySize(url,target,width,height)
{
		var tt,w,left,top;
		left=(screen.width-width)/2;
		if(left<0){ left=0;}

		top=(screen.height-height)/2;
		if(top<0){ top=0;}

		tt="toolbar=no, menubar=no, scrollbars=yes,resizable=yes,location=no, status=no,";
		tt=tt+"width="+width+",height="+height+",left="+left+",top="+top;
		w=window.open(url,target,tt);
		if(w!=null)
		{
			w.focus();
		}
}

function jscomNewOpenBySizePos(url,target,width,height,left,top)
{
		var tt;
		tt="toolbar=no, menubar=no, scrollbars=no,resizable=yes,location=no, status=no,";
		tt=tt+",width="+width+",height="+height;
		tt=tt+",left="+left+",top="+top;
		w=window.open(url,target,tt);
		if(w!=null)
		{
			w.focus();
		}
}
function jscomGetParentFromSrc(src,parTag)
{
	if(src && src.tagName!=parTag)
	{
		src=jscomGetParentFromSrc(src.parentElement,parTag);
	}
	return src;
}

function jscomSubString(str,begin_pos,num)
{
	return str.toString().substring(begin_pos,begin_pos+num);
}


//过滤特殊符号（如' "） 
function jscomFiltrateSomeKeyForKeyPress()
{
	if(event.keyCode==39 || event.keyCode==34)
	{
		event.keyCode=0;
	}
}

//判断是否有检查框被选中
//返回 true有  false 无
function jscomIsCheckBoxSelect(frm)
{
	var src;

	flag=false;
	for (var i=0;i<frm.elements.length;i++)
	{
		src=frm.elements[i];
		if(src.type=="checkbox" && src.checked)
		{
				flag=true;
				break;
		}
	}
	return flag;
}

//全选框事件
function jscomToggleAllCheckBox()
{
    var e = event.srcElement;
    if(e==null || e.type != "checkbox")
    {
        return;
    }
    var flag=e.checked;
    
    var inputs = document.forms[0].elements;
    for (var i=0; i < inputs.length; i++)
    {
        if (inputs[i].type == "checkbox" && inputs[i].name.indexOf("chkSelect") >=0)
        {
            inputs[i].checked = flag;
        }
    }
}

function jscomIsEmptyString(str)
{
	return ((str == null)||(str.length == 0)); 
}

/*
格式化数字
	num  要格式化的数值
	decimal_num	小数位数 
	has_split 是否要千分为分割符 true or false
	
	返回 格式化的字符串
*/
function jscomFormatNumber(num,decimal_num,has_split)
{
	//非数值，直接返回
	if(isNaN(num))
	{
		return num;
	}
	
	var tmp_num,tmp_decimal_num;
	
	tmp_decimal_num=decimal_num;
	if(isNaN(decimal_num))
	{
		tmp_decimal_num=0;
	} 
	
	tmp_num=num*Math.pow(10,tmp_decimal_num);
	tmp_num=Math.round(tmp_num);
	tmp_num=tmp_num / Math.pow(10,tmp_decimal_num);
	if(!has_split)
	{ 
		return tmp_num;
	}
	//千分为分割符 以后处理
	return tmp_num;
}

function jscomTrimString(str)
{
	var ts = "";

	if(str.length < 1) return "";

	for (var i = (str.length - 1); i!=-1; i--) 
	{
		if (str.charAt(i) != ' ') {break;}
	}
	ts = str.substring(0, i+1); 

	for (var i = 0 ; i < ts.length ; i++) 
	{
		if (str.charAt(i) != ' ') {break;}
	}
	return ts.substring(i, ts.length); 
}

BakupBodyFocus=null;
BackupWaitBodyContext=null;
CanCancelWait=true;

function jscomLockScreenToWait(msg)
{
	if (BakupBodyFocus==null && BackupWaitBodyContext==null)
	{
		BakupBodyFocus = document.body.onfocus+"";
		BackupWaitBodyContext = document.body.oncontextmenu+'';
		document.body.onfocus = jscomLockScreenToWait;
		document.body.oncontextmenu = jscomCancelClick;
	}
	var div = document.getElementById("divLockWaiting");
	if (div+''=="undefined")
	{
		div = document.createElement("DIV");
		div.setAttribute("id","divLockWaiting");
		div.className = "WaitBox";
		div.title="点击可以取消";
		div.style.padding = 10;
		div.style.paddingLeft = 30;
		div.style.paddingRight = 30;
		div.innerHTML = msg;
		document.body.appendChild(div);
	}
	var x =(document.body.clientWidth-div.offsetWidth)/2;
	var y = (document.body.clientHeight-div.offsetHeight)/2;
	div.style.pixelLeft = x;
	div.style.pixelTop = y;
	div.style.visibility = "visible";
	div.onclick = jscomCancelClick;
	div.setCapture();
}

function jscomUnlockScreenWait()
{
	var div = document.getElementById("divLockWaiting");
	if (div+''=="undefined")
	{
		return;
	}
	div.style.visibility = "hidden";
	document.body.onfocus = BakupBodyFocus;
	document.body.oncontextmenu = BackupWaitBodyContext;
	BakupBodyFocus = null;
	BackupWaitBodyContext = null;
	document.releaseCapture();
}

function jscomCancelClick()
{
	var elem = event.srcElement;
	if (CanCancelWait==true && elem.className=='WaitBox')
	{
		jscomUnlockScreenWait();
		event.cancelBubble = false;
		return false;
	}
	return false;
}

function jscomShowScreenWait(msg)
{
	var div = document.getElementById("divWaiting");
	if (div+''=="undefined")
	{
		div = document.createElement("DIV");
		div.setAttribute("id","divWaiting");
		div.className = "WaitBox";
		div.style.padding = 10;
		div.style.paddingLeft = 30;
		div.style.paddingRight = 30;
		div.innerHTML = msg;
		document.body.appendChild(div);
	}
	var x =(document.body.clientWidth-div.offsetWidth)/2;
	var y = (document.body.clientHeight-div.offsetHeight)/2;
	div.style.pixelLeft = x;
	div.style.pixelTop = y;
	div.style.visibility = "visible";
}

function jscomHiddlenScreenWait()
{
	var div = document.getElementById("divWaiting");
	if (div+''=="undefined")
	{
		return;
	}
	div.style.visibility = "hidden";
}
//加载一个或多个函数到window.onload方法
function jscomAddLoadEvent(func)
{
	var oldonload = window.onload;
	if(typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function()
		{
			oldonload();
			func();
		}
	}
}

/**
 * 打开通用查询列表的模式窗口
 * dialogId 在Config/Common/DialogConfig.xml 中定义的dialog id
 * width 默认650 可选
 * height 默认480 可选
 * isMulti 是否为多选 true / false 默认false
 * ids 已经选中的内码 ,分开 可选
 * names 已经选中的名称 ,分开 可选
 * searchWord 查询的默认值
 * appendTitle 其他传入的查询条件 标题
 * appendType 其他传入的查询条件 类型
 * appendText 其他传入的查询条件 名称
 * appendValue 其他传入的查询条件 值
 * rightCode 权限编码
 * 返回的是Object obj对象 有obj.Value,obj.Name,obj.Desc  如果obj为空(null) 表示没有选择 清除的时候是obj.Key obj.Name obj.Desc都为""
 * 用法例子：
 *
 *    //默认查出通用代码
 *   var v = jscomShowQueryDialog("ComCode",650,480,"false","","","","","代码类型","1");
 *   if(v!=null){
 *		document.forms[0].codeID.value = v.Value;
 *		document.forms[0].codeName.value = v.Name;
 *		document.forms[0].codeDesc.value = v.Desc;
 *   }
 */
//jscomShowQueryDialog(dialogID,width,height,isMulti,ids,names,searchWord,appendTitle,appendType,appendText,appendValue,rightCode) 
function jscomShowQueryDialog(dialogID,width,height,isMulti,ids,names,searchWord,
    appendTitle,appendType,appendText,appendValue,rightCode) 
{
	if(width==null || typeof(width)=="undefined" || width=="")
	{
		width="650";
	}
	if(height==null || typeof(height)=="undefined" || height=="")
	{
		height="480";
	}
	if(isMulti==null || typeof(isMulti)=="undefined" || (isMulti!="true" && isMulti!="True" && isMulti!="false" && isMulti!="False"))
	{
		isMulti="false";
	}
	if(ids==null || typeof(ids)=="undefined")
	{
		ids="";
	}
	if(names==null || typeof(names)=="undefined")
	{
		names="";
	}
	if(searchWord==null || typeof(searchWord)=="undefined")
	{
		searchWord="";
	}
	if(appendTitle==null || typeof(appendTitle)=="undefined")
	{
		appendTitle="";
	}
	if(appendType==null || typeof(appendType)=="undefined")
	{
		appendType="";
	}
	if(appendText==null || typeof(appendText)=="undefined")
	{
		appendText="";
	}
	if(appendValue==null || typeof(appendValue)=="undefined"){
		appendValue="";
	}
	if(rightCode==null || typeof(rightCode)=="undefined")
	{
		rightCode="";
	}
	var url="../Common/DialogFrame.aspx?DialogID="+dialogID+"&Multi="+isMulti+"&SearchWord="+searchWord;
	url=url+"&AppendTitle="+appendTitle+"&AppendType="+appendType+"&AppendText="+appendText+"&AppendValue="+appendValue;
	url=url+"&IDs="+ids+"&Names="+names+"&RightCode="+rightCode;;
	//alert(url);
	//jscomNewOpenBySize(url,"aaa",680,450);
 	return window.showModalDialog(url,"","help: No; scroll:No;resizable: No; status: No;dialogWidth:"+width+"px;dialogHeight:"+height+"px");
}

//显示键盘输入密码
function jscomShowKeyBoard(objInputID)
{
	var objInput = document.getElementById(objInputID);
	if(objInput)
	{
		var intLeft = 100+Math.random()*400;
		while(intLeft>(screen.width-282)){intLeft = 100+Math.random()*400;}
		var intTop= 100+Math.random()*300;
		while(intLeft>(screen.width-95)){intTop = 100+Math.random()*300;}
		//var intLeft=document.body.scrollLeft+event.clientX; //获取当前鼠标位置的X坐标
		//var intTop=document.body.scrollTop+event.clientY; //获取当前鼠标位置的Y坐标
		var strUrl = "Modules/KeyBorad.htm";
		var strStyle = "dialogLeft="+intLeft+"pt;dialogTop="+intTop+"pt;dialogWidth=282pt;dialogHeight=95pt;center=no;resizable=no;status=NO;help=off;"
		var strDate  = objInput.value;
		var strData = window.showModalDialog(strUrl, objInput, strStyle);
	}
}

var jscomHexCase=0;var jscomB64Pad="";var jscomChrSZ=8;
function jscomMD5(s){return binl2hex(core_md5(str2binl(s),s.length*jscomChrSZ));};function b64_md5(s){return binl2b64(core_md5(str2binl(s),s.length*jscomChrSZ));};function str_md5(s){return binl2str(core_md5(str2binl(s),s.length*jscomChrSZ));};function hex_hmac_md5(key,data){return binl2hex(core_hmac_md5(key,data));};function b64_hmac_md5(key,data){return binl2b64(core_hmac_md5(key,data));};function str_hmac_md5(key,data){return binl2str(core_hmac_md5(key,data));};function md5_vm_test(){return hex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72";};function core_md5(x,len){x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);};return Array(a,b,c,d);};function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b);};function md5_ff(a,b,c,d,x,s,t){return md5_cmn((b&c)|((~b)&d),a,b,x,s,t);};function md5_gg(a,b,c,d,x,s,t){return md5_cmn((b&d)|(c&(~d)),a,b,x,s,t);};function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t);};function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|(~d)),a,b,x,s,t);};function core_hmac_md5(key,data){var bkey=str2binl(key);if(bkey.length>16)bkey=core_md5(bkey,key.length*jscomChrSZ);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;};var hash=core_md5(ipad.concat(str2binl(data)),512+data.length*jscomChrSZ);return core_md5(opad.concat(hash),512+128);};function safe_add(x,y){var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);};function bit_rol(num,cnt){return(num<<cnt)|(num>>>(32-cnt));};function str2binl(str){var bin=Array();var mask=(1<<jscomChrSZ)-1;for(var i=0;i<str.length*jscomChrSZ;i+=jscomChrSZ)bin[i>>5]|=(str.charCodeAt(i/jscomChrSZ)&mask)<<(i%32);return bin;};function binl2str(bin){var str="";var mask=(1<<jscomChrSZ)-1;for(var i=0;i<bin.length*32;i+=jscomChrSZ)str+=String.fromCharCode((bin[i>>5]>>>(i%32))&mask);return str;};function binl2hex(binarray){var hex_tab=jscomHexCase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++){str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);};return str;};function binl2b64(binarray){var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3){var triplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);for(var j=0;j<4;j++){if(i*8+j*6>binarray.length*32)str+=jscomB64Pad;else str+=tab.charAt((triplet>>6*(3-j))&0x3F);};};return str;}
function OpDvc(objDvc)
{
    try{
        objDvc.OpenDevice(1, "");
        return true;
    }
    catch(e)
    {
        return false;
    }
}

function ClsDvc(objDvc)
{
    try{
        objDvc.CloseDevice();
        return true;
    }
    catch(e)
    {
        return false;
    }
}

function ChgDir(objDvc)
{
    try{
        objDvc.ChangeDir(0x00000100,0x01,"");
        return true;
    }
    catch(e)
    {
        return false;
    }
}

function GetSerial(objDvc)
{
    var serial="";
    try{
        serial = objDvc.GetStrProperty(0x07, 0, "");
        //alert(serial);
        return serial;
    }
    catch(e)
    {
        alert("没有密虎设备!或者您IE禁用了设备!");
        return "";
    }
}

function GetDgst(objDvc,rdm)
{
    var dgst="";
    try{
        ChgDir(objDvc);
        objDvc.OpenFile(0x40, 1);
        dgst = objDvc.HashToken(1,65281, rdm);
        objDvc.CloseFile();
        return dgst;
    }
    catch(e)
    {
        alert("没有密虎设备!或者您IE禁用了设备!");
        return "";
    }
}
// JavaScript Document
//图片经淡化button1
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//图片淡化button2

nereidFadeObjects = new Object();
nereidFadeTimers = new Object();

function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
    if (object != "[object]"){  
        setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
        return;
    }
        
    clearTimeout(nereidFadeTimers[object.sourceIndex]);
    
    diff = destOp-object.filters.alpha.opacity;
    direction = 1;
    if (object.filters.alpha.opacity > destOp){
        direction = -1;
    }
    delta=Math.min(direction*diff,delta);
    object.filters.alpha.opacity+=direction*delta;

    if (object.filters.alpha.opacity != destOp){
        nereidFadeObjects[object.sourceIndex]=object;
        nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
    }
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}


function ProtocolCheck()
{
    var objPro = document.getElementById("cbProtocol");
    var objBtnArea = document.getElementById("btnArea");
    if(!objPro) return false;
    if(!objBtnArea) return false;
    objPro.onclick = function()
    {
        if(this.checked)
        {
            objBtnArea.style.visibility = "visible";
        }
        else
        {
            objBtnArea.style.visibility = "hidden";
        }
    }
}
jscomAddLoadEvent(ProtocolCheck)