function CheckAll(form)  {
  for (var i=0;i<form.elements.length;i++)    {
    var e = form.elements[i];
    if (e.name != 'chkall')       e.checked = form.chkall.checked;
   }
  }

function OpenWin(fileName,theTop,theLeft,theWidth,theHeight)
{
	newWindow=window.open(fileName,"OPENWIND","width="+theWidth+",height="+theHeight+",top="+theTop+",left="+theLeft+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1");
	newWindow.focus();
}  
//????
function SpecialYear(year){
	if (0==year%4&&((year%100!=0)||(year%400==0))) return 1;
	else return 0; 
} 
//??????
function GetMonthCount(year,month){
	var c=Mon_Has_Day[month-1];
	if((month==2)&&SpecialYear(year)) c++;return c; 
} 
//???????
function AddDay(yearObj,monthObj,dayObj){
	var Mon_Has_Day = new Array(12); 
	Mon_Has_Day[0] = 31; Mon_Has_Day[1] = 28; Mon_Has_Day[2] = 31; Mon_Has_Day[3] = 30; 
	Mon_Has_Day[4]  = 31; Mon_Has_Day[5]  = 30; Mon_Has_Day[6] = 31; Mon_Has_Day[7] = 31;
	Mon_Has_Day[8] = 30; Mon_Has_Day[9] = 31; Mon_Has_Day[10] = 30; Mon_Has_Day[11] = 31; 
	var yearVal=yearObj.options[yearObj.options.selectedIndex].value;
	var monthVal=monthObj.options[monthObj.options.selectedIndex].value;
	var dayVal=dayObj.options[dayObj.options.selectedIndex].value;
	var Feb=2;
	var MaxDay=Mon_Has_Day[monthVal-1];
	if(monthVal==Feb){
		var isleapyear=SpecialYear(yearVal);
		if (isleapyear>0)MaxDay=29;
		else MaxDay=28;
	}
	removeAll(dayObj);
	for (i = 1; i < MaxDay+1; i++){
		dayObj.options.add(new Option (i,i));
	}
	dayObj.value=dayVal;
	if (dayObj.value<'1') dayObj.value=1;
}
//????
function removeAll(obj){
	var len=obj.length;
	for(var i=len-1;i>=0;i--){      
		obj.remove(i);  
	}
		
}

function SubTitle(sta,mun) { 
  if (sta.length>mun){
     var sta=sta.substring(0,mun)+'...';
     return sta;
  }
  else{
     return sta;
  }
}
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) 
    with (navigator) {
      if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; 
        document.MM_pgH=innerHeight; 
        onresize=MM_reloadPage; 
      }
    }
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) 
    location.reload();
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;
  if(!d) d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) 
    x=d.all[n];
  for (i=0;!x&&i<d.forms.length;i++) 
 	x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
	x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
    if ((obj=MM_findObj(args[i]))!=null) { 
  	  v=args[i+2];
  	  if (obj.style) { 
  	    obj=obj.style; 
  	    v=(v=='show')?'visible':(v=='hide')?'hidden':v; 
  	  }
   	  obj.visibility=v; 
   	}
}
//???????????????????????????
function listObject(obj){
	var strObj="";
	var listNum=0;
	for(var attribute in obj){
		strObj+="???"+attribute+": "+obj[attribute]+"???";
		if(listNum%3==0){
			strObj+="\n";
		}
		listNum++;
	}
	alert(strObj);
}
//????????????????????????
String.prototype.replaceAll = stringReplaceAll;
function  stringReplaceAll(AFindText,ARepText){
  raRegExp = new RegExp(AFindText,"g");
  return this.replace(raRegExp,ARepText);
}
//?????????????????????
function inputNum(){
	if(window.event.keyCode<48||window.event.keyCode>57){
		window.event.keyCode=0;
		return;
	}
}
