///////////////////////////////////////////////////////////////////////////////
//
//					Copyright (C) 1998-2003 NyTech Corporation
//                              All rights reserved.
//
// FileName:	global.js
//
// Description: Global script collection
//               
// Create Date: 2002/11/28
// Author:		Nanyan
//
/////////////////////////////////////////////////////////////////////////////

    //debugger

//Error Information
var CST_INVALIDCHAR = "~`!@#$￥%^&*()+=|、{}[]:'\\‘“?/<>"
//var CST_INVALIDCHAR_INFOR = "您的输入存在不合法字符："
///////////////////////////   创建引用的对象   ////////////////////////
//Win Help对象
document.write("<object id=Min style='display:none' classid='clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'><param name='Command' value='Minimize'></object>")
document.write("<object id=Max style='display:none' classid='clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'><param name='Command' value='Maximize'></object>")
document.write("<object id=oClose style='display:none' classid='clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'><param name='Command' value='Close'></object>")
//词典对象
document.write("<div style='Z-INDEX:999;POSITION:absolute;width:200px;FILTER: progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#333333,strength=5); ' id='divDictionary'></div>")
///////////////////////////   创建引用的对象   ////////////////////////

///////////////////////////   引用   ////////////////////////
//常量，适用于任何脚本
//document.write("<script language=javascript src=\\include\\const.js></script>")
//Cool Body
document.write("<script language=javascript src='/_common/scripts/js_CoolBody.js'></script>")

//Body CSS
//document.write('<link rel="stylesheet" type="text/css" href="\\css\\bodycontent.css" title="style" />')
//Link CSS
//document.write('<link rel="stylesheet" type="text/css" href="\\css\\Linkcontent.css" title="style" />')
//Menu CSS
//document.write('<link rel="stylesheet" type="text/css" href="\\css\\Menucontent.css" title="style" />')
//Tab CSS
document.write('<link rel="stylesheet" type="text/css" href="\\_common\\styles\\tabcontent.css" title="style" />')
document.write('<iframe id="dummyFrame" name="dummyFrame" src="about:blank" width="0" height="0" scrolling="no"></iframe>')
///////////////////////////   引用   ////////////////////////


function JCombinDate()
{
	var args = JCombinDate.arguments;
	if(args.length==3)
	{
		var dt = new Date(args[0].value,args[1].value-1,args[2].value);
		JCombinDate = dt.toLocaleDateString();
		//alert(JCombinDate)
	}
}

function JLeapYear(p_Year){
	if ((p_year % 4) == 0) {
		if ((p_year % 100) == 0 && (p_year % 400) != 0)
			return false;
		return true;
	}else return false;
}

function JKeyPress(obj,iPrevious,iNext){
	var iObject = null
	//无法在KeyPress事件中检测到vbKeyTop、vbKeyBottom等！
	//alert(event.keyCode)
	if (event.keyCode==vbKeyTop || (event.keyCode==vbKeyTab && event.shiftKey==true))
		iObject = iPrevious
	else
		if (event.keyCode==vbKeyBottom || event.keyCode==vbKeyReturn || event.keyCode==vbKeyTab)
			iObject = iNext
	
	if (iObject != null)
	{
		try
		{
			var obj = Box[iObject].children[0]
			if (obj.tagName!="INPUT")
				obj = obj.children[0].children[0].children[0].children[0];
			if(obj!=null)obj.focus()
			event.keyCode = 0;
		}
		catch(e){}
	}
}

function JKeyNumber()
{
	var k = window.event.keyCode;
	if(!JKeyFilter())
		if(k<48 || k>57)
		{
			window.event.keyCode = 0;
			return false;
		}
	return true;
}

//JKeyNumber的扩展,用来可以输入小数点
//
function JKeyNumberEx()
{
	var k = window.event.keyCode;
	if(!JKeyFilter())
		if(k<48 || k>57)
		{
			if(k!=46)
			{
				window.event.keyCode = 0;
				return false;
			}
		}
	return true;
}

function JKeyFilter()
{
	var k = window.event.keyCode;
	if(JIn(k,9,13))return true;
}

function JFocusEvent(obj)
{
	if(typeof obj =="undefined")return false;
	obj.blur();
	if(window.event.altKey){
		obj.click();
	}
	return true;
}

//说明：判断控件是否可用
//日期：2002/07/20
function JObjEnabled(obj)
{
	try			{return (obj.style.display !="none" && obj.disabled==false && obj.readOnly==false && obj.style.visibility!="hidden");}
	catch(e)	{ }
}

//说明：高亮指定控件
//日期：2002/07/20
function JFocusObj(obj)
{
	if(JObjEnabled(obj))
	{
		try			{obj.value="";obj.focus();}
		catch(e)	{ }
	}
}

//说明：引发控件列表中控件的onblur事件
//日期：2002/07/20
function JBlurObj()
{
	var args = JBlurObj.arguments;
	 
	for (var i=0; i<(args.length); i++) 
		if(args[i]!=null) eval("xForm."+args[i]+".onblur()")
}

//说明：跳转到指定控件上
//日期：2002/07/20
//升级：
//		2003/04/24
//		1.加入按键控制
//		2.加入错误处理try
//		2003/05/30
//		1.加入objPrev参数，可以声明上一个将获得焦点的上一个控件
//
//
function JJump(objDest,objPrev)
{  
    //debugger
	if(JObjEnabled(objDest))
	{
		if (event.keyCode==vbKeyBottom || event.keyCode==vbKeyReturn || event.keyCode==vbKeyTab || event.keyCode==13)
		{
			if(typeof objDest.parentElement !="undefined")
				if(JObjEnabled(objDest.parentElement))objDest.focus();
			else	
			{	
				try			{objDest.focus();}
				catch(e)	{ }
			}
			event.keyCode = 0;
		}
		else if(event.keyCode==vbKeyTop)
		{
			try			{objPrev.focus();}
			catch(e)	{ }
			event.keyCode = 0;
		}
	}
}

//说明：在一个控件中，定义了一个长度，如果该控件中的字串长度到达指定长度时，
//		便自动跳转到下一个可用控件。
//应用：日期控件中年月日的自动跳转
//日期：2003/02/17
//
function JJumpForCalendar(sFormat,objDest)
{
	var iValue = event.srcElement.value
	var k=event.keyCode
	if (sFormat == iValue.length && k!=vbKeyTop && k!=vbKeyBottom && k!=vbKeyReturn && k!=vbKeyTab)
	{
		try			{objDest.focus();}
		catch(e)	{ }
	}
}

function JCheck(obj)
{
	obj.checked = !obj.checked
}

//说明：判断指定控件是否为空
//日期：2002/07/20
//升级：
//		2003/04/25
//		1.加入默认值vDefault
function JCheckZero(obj, sTips, vDefault)
{
    var sTemp=obj.value;
    if(sTemp.length==0)
    {
        //alert(sTips+"不能为空,请重新输入.");
        alert(sTips+" can not be empty, please input/select a value.");
        JFocusObj(obj);
        if(vDefault!=null)obj.value = vDefault;
        return false;
    }
    return true;
}

//说明：判断指定两个控件的值是否相等
//日期：2005/01/25
function JCheckEqual(obj1, sTips1, obj2, sTips2)
{
    var sTemp1=obj1.value;
    var sTemp2=obj2.value;
    if(sTemp1!=sTemp2)
    {
        alert(sTips1 + "与" + sTips2 + "不相等,请重新输入.");
        JFocusObj(obj1);
        return false;
    }
    return true;
}

//说明：判断指定控件是否含有非法字符
//日期：2003/11/28
function JCheckInvalidChar(obj)
{
    var sTemp=obj.value;
    if(sTemp.length>0)
    {
		for(var ap=0; ap<sTemp.length; ap++)  {
			if(CST_INVALIDCHAR.indexOf(sTemp.substring(ap,ap+1))>0)
			{
				alert(CST_INVALIDCHAR_INFOR + sTemp.substring(ap,ap+1));
				JFocusObj(obj);
				return false;
			}
		}
    }
    return true;
}

//说明：进行简单的日期年、月、日数值判断
//日期：2003/04/04
//升级：
//		
//		
function JCheckDate(sFormat,obj)
{
	var sTextName,iIndex,iTemp;
	var iObj = obj.value;
	var sYear,sMonth,sDay,sErrMsg = "";
	if(iObj=="")return;
	
	//对日期输入框中，拷贝非数字字符进行检测
	var sort = 'True'
	for (var i = 1 ; i < iObj.length ; i++)
	if (iObj.substr(i,1).charCodeAt() < 48 || iObj.substr(i,1).charCodeAt() > 57) sort = 'False'
	if (sort == 'False'){obj.value = '';obj.focus();return}
	
		
	switch(sFormat.toUpperCase())
	{
		case "Y"://年
			if (iObj<10 && iObj!="")
			{
				switch(obj.value.length )
				{
					case 1:
						sYear="200";
						break;
					case 2:
						sYear="20";
						break;
					case 3:
						sYear="2";
						break
					default:
						sYear="";
						break;
				}
				obj.value = sYear + iObj;
			}
			else if (iObj>=10 && iObj<=40 || iObj.length==3) sErrMsg = "请输入完整的年份信息！";
			else if (iObj>40&&iObj<100) obj.value = "19" + iObj;
			if(obj.value<1895) sErrMsg = "您输入的年份无效！";
			break;
		case "M"://月
			if (iObj<1 || iObj>12) sErrMsg = "月份无效，请重新输入正确的月份信息！";
			break;
		case "D"://日
			if (iObj<1 || iObj>31) sErrMsg = "日期无效，请重新输入正确的日期信息！";
			else{
				sTextName = obj.name;
				iIndex = sTextName.indexOf("_day");
				sTextName = obj.form.name + "." + sTextName.substr(0,iIndex);
				
				sYear = eval(sTextName + "_year.value");
				sMonth = eval(sTextName + "_month.value");
				sDay = obj.value;
				
				if((sMonth==4 || sMonth==6 || sMonth==9 || sMonth==11) && iObj==31) sErrMsg = "日期无效，请重新输入正确的日期信息！";
				else if(sMonth==2) {
					if(sDay>29) sErrMsg = "日期无效，请重新输入正确的日期信息！";
					else if(sDay==29){
						if(sYear%4!=0) sErrMsg = "日期无效，请重新输入正确的日期信息！";
						if(sErrMsg==""){
							iTemp = sYear%400;
							iTemp = iTemp/100;
							if(iTemp>=1 && iTemp<=3) sErrMsg = "日期无效，请重新输入正确的日期信息！";
						}
					}
				}
			}
			//Do not big than now date
			sTemp = new Date(sYear + "/" + sMonth + "/" + sDay);
			var sDate=new Date();
			if(sTemp>sDate) sErrMsg="您输入的日期不能大于当前日期！";
			
			break;
	}
	if(sErrMsg!=""){
		top.SourceFrame.JMsg(sErrMsg,64);
		obj.value = "";
		obj.focus();
	}	
}

function JCheckNumber(obj, sTips, bZero)
{
	var sTemp=obj.value;
	if(bZero) 
	{
		if(JCheckZero(obj,sTips)==true){
			if (sTemp.match(/\d+/)!=sTemp ) 
			{
				alert(sTips+'必须填入数字！');
				JFocusObj(obj);
				return false;
			}
		}else
			return false;
    }else{
		if (sTemp.match(/\d+/)!=sTemp ) 
		{
			alert(sTips+'必须填入数字！');
			JFocusObj(obj);
			return false;
		}
    }
    return true;
}
    
function JCheckLen(obj, sTips,iCompareType,iLenLow,iLenHigh)
{
//时    间:2002.07.25
//作    者:Nanyan
//函数说明:
//       ICheckLen                  检查控件上数据的长度
//参数说明:
//		   obj:
//	     sTips:
//iCompareType:						区间表示,
//											-1:表示点值 即a=x or x=b
//											0:表示之间 即a<x<b,1:表示之外 即x<a and x>b
//											2:表示之间 即a<=x<=b,3:表示之外 即x<=a and x>=b
//	   iLenLow:						下限
//	  iLenHigh:						上限(可为空)
//BUG 枚举:
//
    var sTemp=obj.value;
    if(iLenHigh=="")
    {
		if(sTemp.length!=iLenLow)
		{
		    //alert(sTips+"与指定长度("+iLenLow+")不符,请重新输入.");
		    obj.focus();
		    return false;
		}
			
    }else{
		switch (iCompareType){
		case -1:
			if(sTemp.length!=iLenLow&sTemp.length!=iLenHigh)
			{
			    //alert(sTips+"的长度必须是"+iLenLow+"或"+iLenHigh+",请重新输入.");
			    obj.focus();
			    return false;
			}
		case 0:
		case 1:
		case 2:
			if(sTemp.length<iLenLow||sTemp.length>iLenHigh)
			{
			    //alert(sTips+"的长度必须在"+iLenLow+"和"+iLenHigh+"之间,请重新输入.");
			    obj.focus();
			    return false;
			}
		case 3:
		default:	
		}
    }
        
    return true;
}

function JIn(){
	var args = JIn.arguments;
	if(args[0]!=null)
	{
		for (i=1; i<(args.length); i++) {				
			if(args[i]!=null) 
				if (args[0]==args[i]) return true;
		}
	}
	return false;
}

/**********************************************************
	DatePicker Object
	
**********************************************************/
var sDateName

function JSetColor(obj,lColor){
	var obj = event.srcElement;
	obj.style.backgroundcolor=lColor
}

function JDisplay(xobj)
{
	if(xobj.style.display=="none")
		xobj.style.display = "block"
	else
		xobj.style.display = "none"
}

function MM_jumpMenu(targ,selObj)
{
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
}

function OMOver (imgName,imgID,objForm)
{
	if (objForm=="")	
		obj = eval(imgID)
	else
		obj = eval(objForm+imgID)
	obj.src=imgName
} 
function OMOut (imgName,imgID,objForm)
{
	if (objForm=="")	
		obj = eval(imgID)
	else
		obj = eval(objForm+imgID)
	obj.src=imgName
}
	
function JClearHTML(obj){
	obj.innerHTML='';
}

function JReturnHTML(r,h,c,v0,v1){
	/*
		2003/09/05 10:00 by Nanyan
	Input
		r:return textbox object
		h:return hidden object
		c:container
		v0:value in chinese
		v1:value in code
	*/

	try	
	{	
		r.value = v0;
		h.value = v1;
		r.focus();

		c.innerHTML='';
	}
	catch(e)	{ }
}

function JWriteLoading(iZindex)
{
	if(iZindex==null)iZindex = 99
	var sLoad ='<table id="lLoading" style="WIDTH: 100%;POSITION: absolute; HEIGHT: 95%; z-index: ' + iZindex + ';"> '
	  				+ '<tr><td><table width="400" valign=center align=center height="50" border="1" cellpadding="0" cellspacing="0" bordercolorlight="#669900" bordercolordark="white">'
	  				+ '<tr> '
	  				+ '<td align="center" bgcolor="#ffffff" style="COLOR: #669900" >正在载入资料，请稍候。。。</td>'
	  				+ '</tr>'
	  				+ '</table>'
	  				+ '</td></tr></table>'
	document.write (sLoad)
}

function confirmDelete()
{
	//return confirm("您确认删除吗？");
	return confirm("Are you sure to delete?");
}

function switchTab(tabpage,tabid){
        var oItem = document.getElementById(tabpage);   
 for(var i=0;i<oItem.children.length;i++){
  var x = oItem.children(i); 
  x.className = "";
  var y = x.getElementsByTagName('a');
  y[0].style.color="#333333";
 } 
 document.getElementById(tabid).className = "Selected";
}

function getLocationArgs(){	var args = new Object();	var query = location.search.substring(1);	var pairs = query.split("&");	for(var i=0; i<pairs.length; i++){		var pos = pairs[i].indexOf("=");		if(pos != -1){			var argName = pairs[i].substring(0, pos);			var value = pairs[i].substring(pos + 1);			if(args[argName] == null){				args[argName] = new Array();			}			args[argName].push(unescape(value));		}	}	return args;}