/*********************************************************************************************
** 公司名称:福州弘扬信息软件开发有限公司
** 产品名称:医院信息系统(高端企业版)
** 文件名称:pubfunpro.js
** 功能摘要:系统常用的一些公共方法。
**          1、
**          2、
**          3、
**          4、
**          5、
**          6、
**          7、
**          8、
**          9、
**          10、
**          11、
**          12、
**          13、
**          14、
**          15、
** 版 本 号:V1.00
** 创 建 人:黄水泉
** 创建日期:2005.04.05
** 修 改 人:
** 修改日期:
*********************************************************************************************/

////////////////////////////////////////////
///	键盘定位
///	itemname1 -- 下一个控件的名称
///	itemname2 -- 上一个控件的名称
///	FrmName -- Form名称
///////////////////////////////////////////
function KJkeydown(itemname1,itemname2,FrmName)
{
	var focuscontrol1,focuscontrol2;

    if (((event.keyCode==13) || (event.keyCode==40)) && (itemname1!==""))
	{
		focuscontrol1=eval("document." + FrmName + "." + itemname1);
		focuscontrol1.focus();
		if(focuscontrol1.type=="text")
		    focuscontrol1.select();
		event.returnValue=false;
	}
	else 
	{
		if ((event.keyCode==38) && (itemname2!=="")) 
		{
			focuscontrol2=eval("document." + FrmName + "." + itemname2);
			focuscontrol2.focus();
			if(focuscontrol2.type=="text")
			    focuscontrol2.select();
			event.returnValue=false;
		}
	}
}

///////////////////////////////////////////////////
//	弹出划卡窗体
//	FrmName -- From名称
//	GJName1 -- 如果GJName1为空则弹出划卡窗体
//	GJName2 -- 如果GJName2不为空，不弹出划卡窗体时，就定位到GJName2构件上
//  GJName3 -- 划卡后返回的信息存放的地方
//	HrefStr -- “退出”时重定向到的页面
//	HuaUrl  -- 划卡框的地址
//	DuKaLeiXing --	医保读卡的类型，
//					1 -- 挂号请求
//					2 -- 门诊收费请求
//	XianShiMoShi -- 划卡窗显示类型
//					1 -- 显示全部
//					2 -- 不显示“划卡”
//					3 -- 不显示“输入”
//					4 -- 不显示“读医保卡”
//					5 -- 只显示“划卡”
//					6 -- 只显示“输入”
//					7 -- 只显示“读医保卡”
// isSubmit --  是否提交窗体,默认是   
// returnURL -- 刷卡后窗体转向页面
// isBack　-- 是否启用返回页面
///////////////////////////////////////////////////
function HkPro(FrmName,GJName1,GJName2,GJName3,HrefStr,HuaUrl,DuKaLeiXing,XianShiMoShi,isSubmit,returnURL,isBack)
{
	var priID = eval("window." + FrmName + "." + GJName1).value;
	priID = priID.replace(" ","");
	priID = priID.substr(0,1);
	if (("" == priID) || ("X" == priID))
	{
		var textStr1 = new Array();
		textStr1[0] = "请划卡：";
		////读卡类型///
		if (null != DuKaLeiXing)
		{
			textStr1[1] = DuKaLeiXing;
		}
		///////////////
		
		///划卡窗显示模式////
		if (null != XianShiMoShi)
		{
			textStr1[2] = XianShiMoShi;
		}
		/////////////////////
		var khmess = window.showModalDialog(HuaUrl,textStr1,"help: no;status: no;dialogWidth: 32;dialogHeight: 7"); 
			
				
		if (null != khmess && null != khmess[0] && "undefined" != khmess[0] && "" != khmess[0])
		{
		    if(khmess[0] == "LCZL")
		    {
		        location.href = location.href;
		        return;
		    }
			var txtValue = "";
			if  ("3" == khmess[1])
			{
				khmess[0] = "JieGuo=" + khmess[0];
				khmess[1] = "HuaKaLeiXing=" + khmess[1];
				for (var i = 0; i < khmess.length; i++)
				{
					txtValue += khmess[i] + "^_^";
				}
			}
			else if ("1" == khmess[1] || "2" == khmess[1] || "4" == khmess[1])
			{
				txtValue = "ShuRuZhi=" + khmess[0] + "^_^HuaKaLeiXing=" + khmess[1] + "^_^";
			}
			eval("window." + FrmName + "." + GJName3).value = txtValue;

            if (typeof(returnURL) == "undefined")//划卡后的跳转页面
			{
			    if(null==isSubmit || typeof(isSubmit)=="undefined" )
			    isSubmit = true;
			    
			    if(isSubmit)
			        eval("window." + FrmName).submit();
			}
			else
			{
			    location.href = returnURL+"?HInfos="+txtValue;
			}
		}
		else
		{
		    
			window.close();
			if (typeof(returnURL) != "undefined" && typeof(isBack) != "undefined")
		    {
		        
		    }
		    else
		    {
		        //HrefStr += "?HInfos="+txtValue;
		        if(null!=HrefStr && typeof(HrefStr)!="undefined" && ""!=HrefStr) 
		            location.href=HrefStr;
		    }
		}
	}
	else
	{
		if ("" != GJName2)
		{
			var focusControl = eval("window." + FrmName + "." + GJName2);
			focusControl.focus();
		}
	}
}

//打开模式网页对话框
function OpenModelWindow(URL,width,height)
{
  if(width==null)
    width=800;
  if(height==null)
    height=600;
    if(URL!=null)
    {
        if(URL.indexOf("?")>=0)
        {
            if(URL.substr(URL.length-1,1)=="&")
            {
                URL+="random="+Math.random();
            }
            else
            {
                 URL+="&random="+Math.random();
            }
        }
        else
        {
           
                 URL+="?random="+Math.random();
            
        }
    }
  var result = window.showModalDialog(URL,window,"DialogWidth:"+width+"px;DialogHeight:"+height+"px;status:no;toolbar:no;menubar:no;location:no;scrollbars:yes;resizable:no;help:no;");
  return result;
}
//打开无模式对话框
function OpenModelessWindow(URL,width,height)
{
  if(width==null)
    width=800;
  if(height==null)
    height=600;

  var result = window.showModelessDialog(URL,window,"DialogWidth:"+width+"px;DialogHeight:"+height+"px;status:no;toolbar:no;menubar:no;location:no;scrollbars:yes;resizable:no;help:no;");
  return result;
}
////////////////////////////////////
///根据年龄计算出生年月
///FrmName  -- 窗体名称
///NLitem   -- 年龄构件
///CSNYitem -- 出生年月的构件
////////////////////////////////////
function countdate(FrmName,NLitem,CSNYitem)
{
	var nl = eval("window." + FrmName + "." + NLitem).value;
	if ((null != nl) && ("" != nl))
	{
		today=new Date();    
		var Year=today.getYear();

		Year = Year - nl;
		eval("window." + FrmName + "." + CSNYitem).value = Year.toString() + "-01-01";
	}
}


//*******************************************************************************************//
//************************************以下为键盘输入控制*************************************//
//*******************************************************************************************//
/// <summary>
///键盘长整型数字输入控制
/// </summary>
function longkeypress(nextobj,priorObj,FrmName) 
{
	if (((event.keyCode==13) || (event.keyCode==40)) && (nextobj!==""))
	{
		focuscontrol1=eval("window." + FrmName + "." + nextobj);
		focuscontrol1.focus();
		
		window.event.keyCode=0;
		event.returnValue=false;
	}
	else 
	{
		if (((event.keyCode==38) || (event.keyCode==47)) && (priorObj!=="")) 
		{
			focuscontrol2=eval("window." + FrmName + "." + priorObj);
			focuscontrol2.focus();
		}
	}
	
	if ((event.keyCode<48 || event.keyCode>57))
	{
		if (event.keyCode == 45)
		{
			if (event.srcElement.value.indexOf("-")==0)
				event.srcElement.value = event.srcElement.value.substring(1);
			else
				event.srcElement.value = "-" + event.srcElement.value;
		}
		window.event.keyCode=0;
		event.returnValue=false;
	}
}

//验证只能输入浮点数字
function floatKeyPress()
{
    
   if(event.keyCode>=48 && event.keyCode<=57 || event.keyCode==46 || event.keyCode==13 || event.keyCode==18)
   {
      if(event.keyCode==46)
      {
         if(event.srcElement.value.indexOf(".")!=-1)
         {
            event.keyCode=0;
         }
      }
   }
   else
   {
       event.keyCode=0;
   }
}

//验证只能输入整型数字
function intKeyPress()
{
   if(event.keyCode>=48 && event.keyCode<=57 )
   {

   }
   else
   {
       event.keyCode=0;
   }
}

/// <summary>
///	键盘数字输入控制
/// </summary>
function numberkeypress() 
{
	if ((event.keyCode<48 || event.keyCode>57))
	{
		event.keyCode = 0;
	}
}
/// <summary>
///	数字键盘输入控制
/// </summary>
function NuMkeypress() 
{
	if ((event.keyCode<46 || event.keyCode>57 || event.keyCode==47))
	{
		event.keyCode = 0;
	}
}

/// <summary>
///	键盘数字及字母输入控制
/// </summary>
function NumberAndLetterKeyPress() 
{
	if (!((event.keyCode>=48 && event.keyCode<=57) || (event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122)))
	{
		event.keyCode = 0;
	}
}


/// <summary>
///	键盘长整型数字输入控制
///	nextobj1为回车到下一构件
///	priorObj1为向上到前面构件
///	nextobj2为回车到下一构件 当下一构件可能为灰度时
///	priorObj2为回车到前面构件 当上一构件可能为灰度时
///	FrmName 窗体名称
/// </summary>
function longkeypress_dis(nextobj1,priorObj1,nextobj2,priorObj2,FrmName) {
	var focuscontrol1,focuscontrol2,focuscontrol3,focuscontrol4,numbz;
	
	if ((event.keyCode==13) || (event.keyCode==40)) 
	{
		if ("" != nextobj1)
		{
			focuscontrol1=eval("window." + FrmName + "." + nextobj1);
			if (false == focuscontrol1.disabled)
			{
				focuscontrol1.focus();
				
				window.event.keyCode=0;
				event.returnValue=false;
			}
			else if ("" != nextobj2)
 			{
				focuscontrol3=eval("window." + FrmName + "." + nextobj2);
				focuscontrol3.focus();
				
				window.event.keyCode=0;
				event.returnValue=false;
			} 
		}
		else if ("" != nextobj2)
 		{
			focuscontrol3 = eval("window." + FrmName + "." + nextobj2);
			focuscontrol3.focus();
			
			window.event.keyCode=0;
			event.returnValue=false;
		} 
	}
	else 
	{
		if ((event.keyCode==38) || (event.keyCode==47)) 
		{
			if ("" != priorObj1)
			{
				focuscontrol2 = eval("window." + FrmName + "." + priorObj1);
				if (false == focuscontrol2.disabled)
				{
					focuscontrol2.focus();
					
					window.event.keyCode=0;
					event.returnValue=false;
				}
				else if ("" != priorObj2)
				{
					focuscontrol4=eval("window." + FrmName + "." + priorObj2);
					focuscontrol4.focus();
					
					window.event.keyCode=0;
					event.returnValue=false;
				} 
			}
			else if ("" != priorObj2)
			{
				focuscontrol4 = eval("window." + FrmName + "." + priorObj2);
				focuscontrol4.focus();
				
				window.event.keyCode=0;
				event.returnValue=false;
			}
		}
	}
	
	if ((event.keyCode<48 || event.keyCode>57))
	{
		if (event.keyCode == 45)
		{
			if (event.srcElement.value.indexOf("-")==0)
				event.srcElement.value = event.srcElement.value.substring(1);
			else
				event.srcElement.value = "-" + event.srcElement.value;
		}
		event.keyCode = 0;
	}
}


/// <summary>
///键盘浮点型数字输入控制
/// </summary>
function doublekeypress() 
{
	if ((event.keyCode<48 || event.keyCode>57))
	{
	    if((event.keyCode>=96 && event.keyCode<=105)) return;
	    if((event.keyCode== 13|| event.keyCode==38|| event.keyCode==40 || event.keyCode==37 || event.keyCode==39 || event.keyCode==8 || event.keyCode==144)) return;
		if (event.keyCode == 45)
		{
			if (event.srcElement.value.indexOf("-")==0)
				event.srcElement.value = event.srcElement.value.substring(1);
			else
				event.srcElement.value = "-" + event.srcElement.value;
		}
		if(( event.keyCode==110 || event.keyCode==190)&&(event.srcElement.value.indexOf(".")<0))
		{
		    if(event.srcElement.value != "")
		    {
		        return;
		    }
		}
		if (event.keyCode != 46 || event.srcElement.value.indexOf(".")>=0)
		{
			event.keyCode = 0;
			event.returnValue=false
		}
	}
}

/// <summary>
///	键盘货币输入控制
///	XiaoShuWeiShu — 保留小数位数
///	FuHaoBZ	— 是否允许输入负号
/// </summary>
function moneykeypress(XiaoShuWeiShu,FuHaoBZ) 
{
	if ((null == XiaoShuWeiShu) || ("" == XiaoShuWeiShu))
	{
		XiaoShuWeiShu = 2;
	}
	
	if ((event.keyCode<48 || event.keyCode>57))
	{
		if ((null == FuHaoBZ) || ("" == FuHaoBZ))
		{
			FuHaoBZ = "true";
		}
		
		if ("true" == FuHaoBZ)
		{
			if (event.keyCode == 45)
			{
				if (event.srcElement.value.indexOf("-")==0)
					event.srcElement.value = event.srcElement.value.substring(1);
				else
					event.srcElement.value = "-" + event.srcElement.value;
			}
		}
		
		if (event.keyCode != 46 || event.srcElement.value.indexOf(".")>=0)
		{
			if (event.keyCode != 44) event.keyCode = 0;
		}
	}
	else
	{
		if (event.srcElement.value.indexOf(".")>=0)
		{
			if (event.srcElement.value.substring(event.srcElement.value.indexOf(".")+1).length>=XiaoShuWeiShu)
				event.keyCode = 0;
		}
	}
}

function PdMax(ingjName,FrmName,innum) 
{
	var prinum;
	var congj;
	congj = eval("window." + FrmName + "." + ingjName);
	prinum=parseFloat(congj.value);
	//alert(prinum);
	if (isNaN(prinum)) 
	{
		//alert("\输入数据有误,只能为阿拉伯数字.请核对！");
		//默认值为1
		congj.value="1";
		congj.focus();
		return false;
	}
	if (parseFloat(prinum) > parseFloat(innum))
	{
		//alert("\输入数据超出范围"+parseFloat(innum)+".请核对！");
		congj.value="1";//不清除，保存时可判断为空时再定位
		congj.focus();
		return false;
	}
	return true;
}	

/// <summary>
/// 键盘输入控制通用方法
/// </summary>
/// <param name="Number">Number为'True'时可以输入数字。</param>
/// <param name="Upper">Upper为'True'时将输入字符自动转为大写字母。</param>
/// <param name="Lower">Lower为'True'时将输入字符自动转为小写字母。</param>
/// <param name="Special">Special：当前面参数都为空时该参数启用，该参数定义只能输入的键值。</param>
/// <returns>无</returns>
function codekeypress(Number,Upper,Lower,Special) 
{
	var mbln = false;

	if (Number == "True" && event.keyCode>=48 && event.keyCode<=57)
		mbln = true;
	else if (Upper == "True" && event.keyCode>=65 && event.keyCode<=90)
		mbln = true;
	else if (Upper == "True" && event.keyCode>=97 && event.keyCode<=122)
	{
		event.keyCode = event.keyCode - 32;
		mbln = true;
	}
	else if (Lower == "True" && event.keyCode>=97 && event.keyCode<=122)
		mbln = true;
	else if (Lower == "True" && event.keyCode>=65 && event.keyCode<=90)
	{
		event.keyCode = event.keyCode + 32;
		mbln = true;
	}
	else 
	{
		var mstr = String.fromCharCode(event.keyCode);
		if (Special.indexOf(mstr)>=0) mbln = true;
	}

	if (!mbln) event.keyCode = 0;		
}

//No.2
//计算字符串长度
function  getStringLength(string)
{
	reg = /[\u4e00-\u9fa5]+/gi;
	reg2= /\w+/gi;
	chineseLength = 0;
	otherLength   = 0;
	chinese = string.match(reg);
	other   = string.match(reg2);	
	if(chinese != null)
		chineseLength = chinese.toString().length;
	if(other != null)
		otherLength = other.toString().length;	
	return parseInt(parseInt(chineseLength)*2 + parseInt(otherLength));	
}

//added end

//added by 陈振泉 2005-11-08(total 2)
//No.1
function CheckDate(value){
	var reg = /^((1|2)(\d{3})-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2]\d)|(3[0-1])))$/gi;
	return reg.test(value);
}

function CheckNumber(value){
	var reg=/^([-]{0,1}[0-9]{1,})$/gi;
	return reg.test(value);
}

function CheckFloat(value){
    var reg=/^([-]{0,1}[0-9]{1,}([.][0-9]{1,}){0,1})$/gi;
	return reg.test(value);
}

function CheckInt(value){
    var reg=/^([-]{0,1}[0-9]{1,})$/gi;
	return reg.test(value);
}

function CheckMoney(value){
    var reg=/^([-]{0,1}[0-9]{1,}([.][0-9]{1,}){0,1})$/gi;
    return reg.test(value);
}
//adden end

//键盘检测事件 by chenjf 2005-11-28
//调用方法：document.onkeydown(){defaultKeyDown()}
function AdditionKeyDownCheck(){
	document.onkeydown = function(){
	try{
		var currObj = window.event.srcElement;
		if(currObj.type != 'button' && currObj.type != 'textarea' && (event.keyCode == 13 || event.keyCode == 40)){
		    event.keyCode = 9;
	    }
	    if (currObj.tagName == "INPUT" && currObj.type == "text" && event.keyCode == 38){
			var inputs = document.all.tags("INPUT");
			for (var i= inputs.length-1; i >=0 ; i--){
				if (inputs[i].type == "text" && inputs[i].sourceIndex < currObj.sourceIndex) break;
			}
			inputs[i].focus();
		}
	}
	catch(e){}
	}
}
//end 键盘输入事件

//设置控件的值 by chenjf 2005-11-18
function setRadioValue(obj,Value){
	for (var i=0;i<obj.length;i++){
		if (obj[i].value==Value) obj[i].checked;
	}
}

function setSelectValue(obj,Value){
	for(var i=0;i<obj.length;i++){
		if (obj[i].value==Value) obj[i].selected = true;
	}
}
//end 设置控件的值

//added by 陈振泉 2005-11-22(total 1)
//No.1
//四舍五入,保留两位小数
function MoneyFormat(value){
	return Math.round((parseFloat(value) + 0.004)*100)/100;
}
//adden end
function findTextByValue(objid,value){
	var obj = document.getElementById(objid);
	for(i=0;i<obj.options.length;i++)
	{
		if(obj.options(i).value == value)
			return obj.options(i).text;		
	}
	return value;
}
//added by zw 2006-10-06
//保留几位小数,四舍五入 默认两位小数
//value--要处理的数
//weishu--保留的小数点后位数
function floatFormat(value,weishu){
    
	weishu = parseInt(weishu,10);
	if(isNaN(weishu))
	{
	    weishu=2;
	}
	
	if(isNaN(value))
	{
	    value=0;
	}
	
	var baoLiuWeiShu = Math.pow(10,weishu);
	var returnValue ="" + Math.round((parseFloat(value))*baoLiuWeiShu )/baoLiuWeiShu ;
	var xiaoShuWei=0;
    
	if(returnValue.indexOf(".")>0)//不足的补0
	{
	    xiaoShuWei=returnValue.split(".")[1].length;  
	}
	else
	{
		returnValue +=".";
    }	
		
	for(var i=xiaoShuWei;i<weishu;i++)
    {
        returnValue +="0";
    }
	return returnValue;
}

function findValueByText(objid,text){
	var obj = document.getElementById(objid);
	for(x=0;x<obj.options.length;x++)
	{
		if(obj.options(x).innerText == text)
			return obj.options(x).value;		
	}
	return text;
}
function ValidatePage()
{
    var objs = document.getElementsByTagName("input");
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i].type == "text")
        {
            if(objs[i].AllowNull == "false" && objs[i].value == "")
            {
                if(objs[i].ErrorText != null)
                   alert(objs[i].ErrorText);
                else
                    //yanshitishi("还有未填写的内容,请填写","1.5");
					alert("还有未填写的内容,请填写","1.5");
                objs[i].select();
                objs[i].focus();
                return false;
            }
            if(objs[i].value != ""){
                switch(objs[i].ValidateMode)
                {
                    case "Number":
                        if(!CheckNumber(objs[i].value))
                        {
                            if(objs[i].ErrorText != null)
                                alert(objs[i].ErrorText);
                            else
                               // yanshitishi("只允许输入数字,请重新输入","1.5");
							   alert("只允许输入数字,请重新输入","1.5");
                            objs[i].select();
                            objs[i].focus();
                            return false;
                        }
                        break;
                    case "Date":
                        if(!CheckDate(objs[i].value))
                        {
                            if(objs[i].ErrorText != null)
                                alert(objs[i].ErrorText);
                            else
                                //yanshitishi("只允许输入日期,请重新输入","1.5");
								alert("只允许输入日期,请重新输入","1.5");
                            objs[i].select();
                            objs[i].focus();
                            return false;
                        }
                        break;
                    case "Money":
                        if(!CheckMoney(objs[i].value))
                        {
                            if(objs[i].ErrorText != null)
                                alert(objs[i].ErrorText);
                            else
                             // yanshitishi("金额只允许为数字，请重新输入!","1.5");
							 alert("金额只允许为数字，请重新输入!","1.5");
                            objs[i].select();
                            objs[i].focus();
                            return false;
                        }
                        break;
                } 
            }          
        }
    }
    return true;    

}
//end 界面换肤技术

//=======================延时提示================================
//参数:
//      message 消息
//      outTime 延时时间,单位秒
//var tishiwin;
//var timeid;
function yanshitishi(message,outTime,width,height)
{ 
    if(null==message || typeof(message)=="undefined" || ""==message)
        return false;
   	if(null==width)
   	{    
      width = message.length *30; 
      if(width > 800)
      {
        width=800;
      }
     else if(width<200)
     {
        width=200;
      }
    }
    if(null==height)
    {
	  height = 180;
	}
    if(null==outTime || typeof(outTime)=="undefined")
        outTime = 1; //  杨磊
    try
    {
        outTime=parseFloat(outTime);
    }
    catch(e)
    {
        outTime = 1; //  杨磊
    }
    var left=(screen.availWidth-width)/2;
    //var host=window.location.host;
    //var url="http://"+host+"/crds3/modules/ZhuChengXu/TiShiXinXiForm.aspx";
    var loc=window.location.href;
    var url=loc.substr(0,loc.indexOf("/Yqsc/AspCode/"))+"/Yqsc/AspCode/TiShiXinXiForm.aspx";
    
    var args=message+"|"+outTime;
    window.showModalDialog(url,args,"dialogWidth:"+width+"px;dialogHeight:"+height+"px;toolbar:no;menubar:no;location:no;scrollbars:no;resizable:no;help:no;center:yes;status:no;");
}

 //修改注册表上下左右边距,清空页眉,清空页脚
function PageSetup_Null(mtop,mbottom,mleft,mright) 
{

    mtop=""+parseFloat(mtop)/2.54;
    mbottom=""+parseFloat(mbottom)/2.54;
    mleft=""+parseFloat(mleft)/2.54;
    mright=""+parseFloat(mright)/2.54;

    if(null==mtop || ""==mtop || "NaN"==mtop)
        mtop = (0.505/2.54);
    if(null==mbottom || ""==mbottom || "NaN"==mbottom)
        mbottom = (0.505/2.54);
    if(mleft==null || ""==mleft || "NaN"==mleft)
        mleft = (1.905/2.54);
    if(null==mright || ""== mright || "NaN"==mright)
        mright = (1.905/2.54);
    
    var HKEY_Root,HKEY_Path,HKEY_Key; 
    HKEY_Root="HKEY_CURRENT_USER"; 
    HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";  
    try 
    { 

	    var RegWsh=new ActiveXObject("WScript.Shell"); 
	
	    HKEY_Key="\margin_left" ;
        RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,mleft);  //键值设定--左边边界

        HKEY_Key="\margin_right" ;
        RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,mright); //键值设定--右边边界


	    HKEY_Key="\margin_top" ;
        RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,mtop);//键值设定--上边边界

        HKEY_Key="\margin_bottom" ;
        RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,mbottom); //键值设定--下边边界
        
        HKEY_Key="header"; 
        RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); //清空页眉
        
        HKEY_Key="footer"; 
        RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");//清空页脚
    } 
    catch(e){} 
} 

///////////////////////////////////////////////////
//	弹出划卡窗体
//	FrmName -- From名称
//	GJName1 -- 如果GJName1为空则弹出划卡窗体
//	GJName2 -- 如果GJName2不为空，不弹出划卡窗体时，就定位到GJName2构件上
//  GJName3 -- 划卡后返回的信息存放的地方
//	HrefStr -- “退出”时重定向到的页面
//	HuaUrl  -- 划卡框的地址
//	DuKaLeiXing --	医保读卡的类型，
//					1 -- 挂号请求
//					2 -- 门诊收费请求
//	XianShiMoShi -- 划卡窗显示类型
//					1 -- 显示全部
//					2 -- 不显示“划卡”
//					3 -- 不显示“输入”
// isSubmit --  是否提交窗体,默认是   
// returnURL -- 刷卡后窗体转向页面
// isBack　-- 是否启用返回页面
///////////////////////////////////////////////////
function HkPro(HuaUrl)
{
   var khmess = window.showModalDialog(HuaUrl,"","help: no;status: no;dialogWidth: 30;dialogHeight: 12"); 
   return khmess;
}

/// <summary>
/// 如果输入的不是数字且整数的话，则取消输入
/// </summary>
function Numcheck(obj)
{
    obj.value=obj.value.replace(/[^\d]/g,'');
}

/// <summary>
///身份证号码
///object－－－要判断的控件
///如果条件成立，返回一个true，否则为false
/// <summary>

function ShengFenZhengYanZheng(value)
{
  if(value !="")
  {
     var reg=/^(\d{17}[\d|X]|\d{15})$/gi;
     return reg.test(value);
//     if(reg.test(value))
//     {
//       return true;
//     }
//     else
//     {
//      return false;
//     }
  }
  else
  {
    return false;
  }
}

//根据模块ID,客户机IP取得所设置打印机
function getDaYinJi(menuID,ipAddress)
{
    var xmlDocDaYin = new ActiveXObject("Microsoft.XMLDOM");
    xmlDocDaYin.async="false" ;
    xmlDocDaYin.setProperty("SelectionLanguage", "XPath");
    xmlDocDaYin.loadXML("<root/>");
    
    var xmlDocChild = new ActiveXObject("Microsoft.XMLDOM");
    xmlDocChild.async = "false";
	xmlDocChild.load("../../../../PrintTemp/DaYinConfig.xml");
	if (xmlDocChild.parseError.errorCode!=0) 
	{
	    yanshitishi("加载有误！"); 
	    return false;
	}
	else 
	    xmlDocDaYin.documentElement.appendChild(xmlDocChild.documentElement);
	var nodeArrs = xmlDocDaYin.documentElement.selectNodes("//dayinconfig");
	for (var i=0;i<nodeArrs.length;i++)
	{
	    var node = nodeArrs[i].text;
	    if (node == 0)
	    {
            if(nodeArrs(i).getAttribute("gongguid")==menuID&&nodeArrs(i).getAttribute("ipaddress")==ipAddress)
            {
                //alert(nodeArrs(i).getAttribute("dayinji"));
                setDaYinJi(nodeArrs(i).getAttribute("dayinji"));
            }
	    }
    }
}
//设置默认打印机
 function setDaYinJi(zhi)
{
    var HKEY_Root,HKEY_Path,HKEY_Key; 
    HKEY_Root="HKEY_CURRENT_USER"; 
    HKEY_Path="\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\";  
    try 
    { 

        var RegWsh=new ActiveXObject("WScript.Shell"); 
        var daYinZhi = zhi;
        HKEY_Key="\Device" ;
        var oldZhi = RegWsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
        RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,daYinZhi);  //设置默认打印机
        return oldZhi;
    } 
    catch(e){} 
}

//验证只能输入整型数字,且只能输入num个数字
function numberControl(obj,num)
{
  if ((event.keyCode<48 || event.keyCode>57))
   {
       event.keyCode=0;
   }
   else if(num!=null)
   {
        if(obj.value.length>=num)
        {
        event.keyCode=0;
        }
        else
        {
        }
   }
}
function charControl(obj,num)
{
  if ((event.keyCode<65 || event.keyCode>90))
   {
       event.keyCode=0;
   }
   else if(num!=null)
   {
        if(obj.value.length>=num)
        {
        event.keyCode=0;
        }
        else
        {
        }
   }
}
//只能输入num个字符
function lengthControl(obj,num)
{
  
        if(obj.value.length>=num)
        {
        event.keyCode=0;
        }       
  
}
///判断保留两位小数
function Check2xiaoShu(value)
{
	var reg=/^[0-9]{0,2}\.{0,1}[0-9]$/gi;
	return reg.test(value);
}
//体重判断
function CheckTizhong(value)
{
	var reg=/^\d{0,3}\.{0,1}\d{2}$/gi;
	return reg.test(value);
}
//判断是否超范围
function CheckOverFlow(obj,maxvalue,msg)
{
	if(obj.disabled!=true)
	{
		if(Math.floor(obj.value)>maxvalue)
		{
		alert(msg);
		obj.focus();
		obj.select();
		return true;
		}
		return false;
	}
}
function randNum()
{
var temp=Math.floor(Math.random() * (99999999999) + 1);
return temp;
}

///////////
//打开新窗体
function OpenForm(bz, url,width, height)
{
	var prileft = (screen.width - width)/2;
	var pritop = (screen.height - height - 50)/2;
	if (bz==0)
	{//全屏
		window.open(url,'TsUrl','fullscreen')
	}
	else if (bz==1)
	{//无菜单，地址栏等
		var Win = window.open(url, "弘扬软件", 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=' + width + ', height=' + height + ',left=' + prileft + ',top=' + pritop);
	}
	else if (bz==2)
	{//有菜单
		var Win = window.open(url, "弘扬软件", 'width=' + width + ', height=' + height + ', resizable=yes, scrollbars=yes, menubar=yes, status=yes');
	}
	else if (bz==3)
	{//无菜单，地址栏，有滚动条等
		var Win = window.open(url, "弘扬软件", 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=' + width + ', height=' + height + ',left=' + prileft + ',top=' + pritop);
	}
	else if (bz==4)
	{//无菜单，地址栏，有滚动条等
		var para = "help: no;status: no;dialogWidth: " + width + ";dialogHeight: " + height;
		window.showModalDialog(url,"",para);
	}
	else if (bz==5)
	{//无菜单，无地址栏，有滚动条，状态栏等
		var Win = window.open(url, "弘扬软件", 'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=' + width + ', height=' + height + ',left=' + prileft + ',top=' + pritop);
	}
}
function print(urlstr,paramstr)
{
      var url1 = urlstr+paramstr;
     window.open(url1,"_blank","raised=center; left=10; Top=20; resizable=yes; menubar=no;scrollbars=yes; center=yes; help=yes;   height=700 width=1000");

}

/// <summary>
///	键盘字母输入控制
/// </summary>
function   isEn()   
        {   
        var   reg=/[^A-Za-z]/g;   
        if   (reg.test(document.getElementById("firstno").value))   
        {alert("必须是字母！");   
        document.getElementById("firstno").focus();   
        return   false;   
        }   
        else   
        {   
        return   true;   
        }   
        }         

//转换大写
function gotoupper(obj)
{
   obj.value=obj.value.toUpperCase();
}

document.attachEvent("onkeydown",cancelBackSpace);
function cancelBackSpace(){
          if(event.keyCode==8){         
             if(event.srcElement.tagName.toLowerCase() != "input"   
                 && event.srcElement.tagName.toLowerCase()!="textarea")   
                      event.returnValue = false;   
          }
}

///与 NUMBER(n,m)对应
///n为有效数字位，m为小数位
function NumberKeyControl(n,m)
{
  if(event.keyCode>=48 && event.keyCode<=57||(event.keyCode==46 && m!=0 ))
  {
        var obj=event.srcElement;
 if(obj.value.length==0 && event.keyCode==46)
{
   event.keyCode=0;
   return;
}
if(obj.value=='0'&& event.keyCode==48)
{
   event.keyCode=0;
   return;
}
if(obj.value.indexOf(".")==-1)
{
   if(obj.value.length>(n-m-1) && event.keyCode!=46)
   {
   event.keyCode=0;
   }
}
 else
{
   if(event.keyCode==46||obj.value.length>(obj.value.indexOf(".")+m))
    {
      event.keyCode=0;
    }
}
  }
 else
 {
     event.keyCode=0;
 }

 　　
}
///////////////////////////
//	状态栏中显示提示信息
//	Vmessage — 提示信息的内容
//////////////////////////
function StatusMessage(Vmessage)
{
    //alert(Vmessage);
	window.status  = Vmessage;
}


function KJkeydownSelect(kselect,itemname1,itemname2,FrmName)
{
	var focuscontrol1,focuscontrol2,keynum;
	
	//都为空时不作处理可传入true来判断是否为数字
    //测试键值alert(event.keyCode);			
	if (((event.keyCode==13) || (event.keyCode==40)) && (itemname1!==""))
	{
		focuscontrol1=eval("document." + FrmName + "." + itemname1);
		if (focuscontrol1 != undefined)//lxh 20060908 add 不在传入为空时或错误名称时会出错所以加此判断
		{
		  if (focuscontrol1.disabled != true)//lxh 20061214 add 防止控制设置不能修改时又定位导致出错
		  {
		    focuscontrol1.focus();
		  }
		}
		
		window.event.keyCode=0; 
		event.returnValue=false;
	}
	else
	{		
		if ((event.keyCode==38) && (itemname2!=="")) 
		{
			focuscontrol2=eval("document." + FrmName + "." + itemname2);
			if (focuscontrol2 != undefined)//lxh 20060908 add 不在传入为空时或错误名称时会出错所以加此判断
			{
			  if (focuscontrol2.disabled != true)//lxh 20061214 add 防止控制设置不能修改时又定位导致出错
			  {
			    focuscontrol2.focus();
			  }
			}
		}
	if(event.keyCode ==48 || event.keyCode ==96)
	{
	     keynum=10;
	}
	if(event.keyCode >=49 && event.keyCode <=57)
	{
	     keynum=event.keyCode - 49;
	}
	if(event.keyCode >=97 && event.keyCode <=105)
	{
	     keynum=event.keyCode - 97;
	}
	if(event.keyCode >=65 && event.keyCode <=90)
	{
	     keynum=event.keyCode - 54;//lxh 20600812 55->54不然a和0效果一样
	}
	if(keynum<kselect.options.length)
	{
	    kselect.selectedIndex = keynum;
	}
	
	//alert(keynum);
	}
}

function KJkeydownInputSelect(inputs,kselect,itemname1,itemname2,FrmName)
{
	var focuscontrol1,focuscontrol2,focuscontrol3,keynum;
	
	//都为空时不作处理可传入true来判断是否为数字
    //测试键值alert(event.keyCode);		
    focuscontrol3=eval("document." + FrmName + "." + kselect);	
	if (((event.keyCode==13) || (event.keyCode==40)) && (itemname1!==""))
	{
		focuscontrol1=eval("document." + FrmName + "." + itemname1);
		if (focuscontrol1 != undefined)//lxh 20060908 add 不在传入为空时或错误名称时会出错所以加此判断
		{
		  if (focuscontrol1.disabled != true)//lxh 20061214 add 防止控制设置不能修改时又定位导致出错
		  {
		    focuscontrol1.focus();
		  }
		}
		
		window.event.keyCode=0; 
		event.returnValue=false;
	}
	else
	{		
		if ((event.keyCode==38) && (itemname2!=="")) 
		{
			focuscontrol2=eval("document." + FrmName + "." + itemname2);
			if (focuscontrol2 != undefined)//lxh 20060908 add 不在传入为空时或错误名称时会出错所以加此判断
			{
			  if (focuscontrol2.disabled != true)//lxh 20061214 add 防止控制设置不能修改时又定位导致出错
			  {
			    focuscontrol2.focus();
			  }
			}
		}
		else
		{
		    //alert(event.keyCode);
			if(event.keyCode ==48 || event.keyCode ==96)
			{
				keynum=10;
			}
			if(event.keyCode >=49 && event.keyCode <=57)
			{
				keynum=event.keyCode - 49;
			}
			if(event.keyCode >=97 && event.keyCode <=105)
			{
				keynum=event.keyCode - 97;
			}
			if(event.keyCode >=65 && event.keyCode <=90)
			{
				keynum=event.keyCode - 54;//lxh 20600812 55->54不然a和0效果一样
			}
			//alert (focuscontrol3.options.length);
			//alert (focuscontrol3.length);
			//alert (focuscontrol3.options.length);
			//alert (focuscontrol3.size);
			focuscontrol3.selectedIndex = keynum;
			//alert(focuscontrol3.selectedIndex)
			if(focuscontrol3.selectedIndex == -1)
			{
				focuscontrol3.selectedIndex=0;
			}
			/*if(keynum<focuscontrol3.length)
			{
				focuscontrol3.selectedIndex = keynum;
			}
			else
			{
				window.event.keyCode=0; 
				event.returnValue=false;
				inputs.value = focuscontrol3.selectedIndex+1;
			}*/
			inputs.focus();
			inputs.select();
		}
	//alert(keynum);
	}
}

//document.onkeydown=function()   
//{           
//          if(event.keyCode   ==   8)   
//          {   
//         
//                  if(event.srcElement.tagName.toLowerCase()   !=   "input"   
//                        &&   event.srcElement.tagName.toLowerCase()   !=   "textarea")   
//                          event.returnValue   =   false;   
//          }   
//}   