var cm=null; 
var cmm=null;
var subcn=0; 
var cn="";
function getPos(el,sProp)  
{var iPos = 0 
     　　while (el!=null)  
　　 {iPos+=el["offset" + sProp] 
         　　　　el = el.offsetParent} 
     　　return iPos}  
function closee(){
	for (j=1;j<11;j++)
	{
		if (document.getElementById("ds"+j)){
			eval("ds"+j).style.display='none';
			for (i=0;i<10;i++ )
			{
				if (document.getElementById("ds"+j+i))
				{
					eval("ds"+j+i).style.display='none';
				}
			}
		}
	}
		
}
function show(el,m,n)  
{
	if (!document.getElementById(m.id))
	{
			return;
	}
	if ((!m&&cn.length>3))
	{
		eval(cn).style.display='none';
		return true;
	}
	if (m||cm==m) {
					eval(m).style.display=''; 
					if (n>1)
					{
						eval(m).style.pixelLeft =125+getPos(el,"Left") ;
					}
					else
         　　　　　　eval(m).style.pixelLeft =n*getPos(el,"Left") ;
         　　　　　　eval(m).style.pixelTop = getPos(el,"Top") + el.offsetHeight;

		}
	if (subcn==(m.id).substr(2,1)&&cm!=m)
	{
		eval(cm).style.display='';
	}
	else if ((m!=cm) && (cm)&&subcn!=(m.id).substr(2,1)&&cn!=m.id&&cm!=m) 
		eval(cm).style.display='none';

	if (cm&&subcn!=(m.id).substr(2,1)&&cm!=m)
	{

		eval("ds"+subcn).style.display='none';
		for (i=0;i<10;i++ )
		{
			if (document.getElementById("ds"+subcn+i))
			{
				eval("ds"+subcn+i).style.display='none';
			}
		}
	}
	else{
		if ((subcn==(m.id).substr(2,1)&&cn.length==m.id.length)&&cm!=m)
		{
			eval(cn).style.display='none';
		}
	}
	subcn=(m.id).substr(2,1);
	cn=m.id;
	cm=m ;
	cmm=cm;
} 
   




function onclickdiv(bh,code,img){
	if (bh=='')
	{
		return false;
	}
	if (code.length==3)
	{
		return false;
	}
    var cc;
	if (img=='img')
	{

				if (eval(bh).style.display=='none'){
					 eval(bh).style.display='';
					 cc='c'+bh;
					 eval(cc).src='/img/tminus.gif';
				}
				 else
				{
					eval(bh).style.display='none';
					cc='c'+bh;
					eval(cc).src='/img/tplus.gif';
				 }	
		return true;		 
	}
	len=((code.length)/3);
	h=bh;
	for (i=2;i<=len;i++)
	{
		bh=h.substring(0,(3*i)+1);
		if (document.getElementById(bh))
			{
				if (eval(bh).style.display=='none'){
					 eval(bh).style.display='';
					 cc='c'+bh;
					 eval(cc).src='/img/tminus.gif';
				}
				 else
				{
					eval(bh).style.display='none';
					cc='c'+bh;
					eval(cc).src='/img/tplus.gif';
				 }		
			}
		
	}
	  return 0;
}





function HS_DateAdd(interval,number,date){
	number = parseInt(number);
	if (typeof(date)=="string"){var date = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2])}
	if (typeof(date)=="object"){var date = date}
	switch(interval){
	case "y":return new Date(date.getFullYear()+number,date.getMonth(),date.getDate()); break;
	case "m":return new Date(date.getFullYear(),date.getMonth()+number,checkDate(date.getFullYear(),date.getMonth()+number,date.getDate())); break;
	case "d":return new Date(date.getFullYear(),date.getMonth(),date.getDate()+number); break;
	case "w":return new Date(date.getFullYear(),date.getMonth(),7*number+date.getDate()); break;
	}
}
function checkDate(year,month,date){
	var enddate = ["31","28","31","30","31","30","31","31","30","31","30","31"];
	var returnDate = "";
	if (year%4==0){enddate[1]="29"}
	if (date>enddate[month]){returnDate = enddate[month]}else{returnDate = date}
	return returnDate;
}

function WeekDay(date){
	var theDate;
	if (typeof(date)=="string"){theDate = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2]);}
	if (typeof(date)=="object"){theDate = date}
	return theDate.getDay();
}
function HS_calender(){
	var lis = "";
	var style = "";
	/*可以把下面的css剪切出去独立一个css文件webjx.com*/
	style +="<style type='text/css'>";
	style +=".calender { width:170px; height:auto; font-size:12px; margin-right:14px; background:url(calenderbg.gif) no-repeat right center #fff; border:1px solid #397EAE; padding:1px}";
	style +=".calender ul {list-style-type:none; margin:0; padding:0;}";
	style +=".calender .day { background-color:#EDF5FF; height:20px;}";
	style +=".calender .day li,.calender .date li{ float:left; width:14%; height:20px; line-height:20px; text-align:center}";
	style +=".calender li a { text-decoration:none; font-family:Tahoma; font-size:11px; color:#333}";
	style +=".calender li a:hover { color:#f30; text-decoration:underline}";
	style +=".calender li a.hasArticle {font-weight:bold; color:#f60 !important}";
	style +=".lastMonthDate, .nextMonthDate {color:#bbb;font-size:11px}";
	style +=".selectThisYear a, .selectThisMonth a{text-decoration:none; margin:0 2px; color:#000; font-weight:bold}";
	style +=".calender .LastMonth, .calender .NextMonth{ text-decoration:none; color:#000; font-size:18px; font-weight:bold; line-height:16px;}";
	style +=".calender .LastMonth { float:left;}";
	style +=".calender .NextMonth { float:right;}";
	style +=".calenderBody {clear:both}";
	style +=".calenderTitle {text-align:center;height:20px; line-height:20px; clear:both}";
	style +=".today { background-color:#ffffaa;border:1px solid #f60; padding:2px}";
	style +=".today a { color:#f30; }";
	style +=".calenderBottom {clear:both; border-top:1px solid #ddd; padding: 3px 0; text-align:left}";
	style +=".calenderBottom a {text-decoration:none; margin:2px !important; font-weight:bold; color:#000}";
	style +=".calenderBottom a.closeCalender{float:right}";
	style +=".closeCalenderBox {float:right; border:1px solid #000; background:#fff; font-size:9px; width:11px; height:11px; line-height:11px; text-align:center;overflow:hidden; font-weight:normal !important}";
	style +="</style>";

	var now;
	if (typeof(arguments[0])=="string"){
		selectDate = arguments[0].split("-");
		var year = selectDate[0];
		var month = parseInt(selectDate[1])-1+"";
		var date = selectDate[2];
		now = new Date(year,month,date);
	}else if (typeof(arguments[0])=="object"){
		now = arguments[0];
	}
	var lastMonthEndDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+now.getMonth()+"-01").getDate();
	var lastMonthDate = WeekDay(now.getFullYear()+"-"+now.getMonth()+"-01");
	var thisMonthLastDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-01");
	var thisMonthEndDate = thisMonthLastDate.getDate();
	var thisMonthEndDay = thisMonthLastDate.getDay();
	var todayObj = new Date();
	today = todayObj.getFullYear()+"-"+todayObj.getMonth()+"-"+todayObj.getDate();
	
	for (i=0; i<lastMonthDate; i++){  // Last Month's Date
		lis = "<li class='lastMonthDate'>"+lastMonthEndDate+"</li>" + lis;
		lastMonthEndDate--;
	}
	for (i=1; i<=thisMonthEndDate; i++){ // Current Month's Date

		if(today == now.getFullYear()+"-"+now.getMonth()+"-"+i){
			var todayString = now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-"+i;
			lis += "<li><a href=javascript:void(0) class='today' onclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
		}else{
			lis += "<li><a href=javascript:void(0) onclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
		}
		
	}
	var j=1;
	for (i=thisMonthEndDay; i<6; i++){  // Next Month's Date
		lis += "<li class='nextMonthDate'>"+j+"</li>";
		j++;
	}
	lis += style;

	var CalenderTitle = "<a href='javascript:void(0)' class='NextMonth' onclick=HS_calender(HS_DateAdd('m',1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Next Month'>&raquo;</a>";
	CalenderTitle += "<a href='javascript:void(0)' class='LastMonth' onclick=HS_calender(HS_DateAdd('m',-1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Previous Month'>&laquo;</a>";
	CalenderTitle += "<span class='selectThisYear'><a href='javascript:void(0)' onclick='CalenderselectYear(this)' title='Click here to select other year' >"+now.getFullYear()+"</a></span>年<span class='selectThisMonth'><a href='javascript:void(0)' onclick='CalenderselectMonth(this)' title='Click here to select other month'>"+(parseInt(now.getMonth())+1).toString()+"</a></span>月"; 

	if (arguments.length>1){
		arguments[1].parentNode.parentNode.getElementsByTagName("ul")[1].innerHTML = lis;
		arguments[1].parentNode.innerHTML = CalenderTitle;

	}else{
		var CalenderBox = style+"<div class='calender'><div class='calenderTitle'>"+CalenderTitle+"</div><div class='calenderBody'><ul class='day'><li>日</li><li>一</li><li>二</li><li>三</li><li>四</li><li>五</li><li>六</li></ul><ul class='date' id='thisMonthDate'>"+lis+"</ul></div><div class='calenderBottom'><a href='javascript:void(0)' class='closeCalender' onclick='closeCalender(this)'>&times;</a><span><span><a href=javascript:void(0) onclick='_selectThisDay(this)' title='"+todayString+"'>Today</a></span></span></div></div>";
		return CalenderBox;
	}
}
function HS_calenderen(){
	var lis = "";
	var style = "";
	/*可以把下面的css剪切出去独立一个css文件webjx.com*/
	style +="<style type='text/css'>";
	style +=".calender { width:240px; height:auto; font-size:12px; margin-right:14px; background:url(calenderbg.gif) no-repeat right center #fff; border:1px solid #397EAE; padding:1px}";
	style +=".calender ul {list-style-type:none; margin:0; padding:0;}";
	style +=".calender .day { background-color:#EDF5FF; height:20px;}";
	style +=".calender .day li,.calender .date li{ float:left; width:14%; height:20px; line-height:20px; text-align:center}";
	style +=".calender li a { text-decoration:none; font-family:Tahoma; font-size:11px; color:#333}";
	style +=".calender li a:hover { color:#f30; text-decoration:underline}";
	style +=".calender li a.hasArticle {font-weight:bold; color:#f60 !important}";
	style +=".lastMonthDate, .nextMonthDate {color:#bbb;font-size:11px}";
	style +=".selectThisYear a, .selectThisMonth a{text-decoration:none; margin:0 2px; color:#000; font-weight:bold}";
	style +=".calender .LastMonth, .calender .NextMonth{ text-decoration:none; color:#000; font-size:18px; font-weight:bold; line-height:16px;}";
	style +=".calender .LastMonth { float:left;}";
	style +=".calender .NextMonth { float:right;}";
	style +=".calenderBody {clear:both}";
	style +=".calenderTitle {text-align:center;height:20px; line-height:20px; clear:both}";
	style +=".today { background-color:#ffffaa;border:1px solid #f60; padding:2px}";
	style +=".today a { color:#f30; }";
	style +=".calenderBottom {clear:both; border-top:1px solid #ddd; padding: 3px 0; text-align:left}";
	style +=".calenderBottom a {text-decoration:none; margin:2px !important; font-weight:bold; color:#000}";
	style +=".calenderBottom a.closeCalender{float:right}";
	style +=".closeCalenderBox {float:right; border:1px solid #000; background:#fff; font-size:9px; width:11px; height:11px; line-height:11px; text-align:center;overflow:hidden; font-weight:normal !important}";
	style +="</style>";

	var now;
	if (typeof(arguments[0])=="string"){
		selectDate = arguments[0].split("-");
		var year = selectDate[0];
		var month = parseInt(selectDate[1])-1+"";
		var date = selectDate[2];
		now = new Date(year,month,date);
	}else if (typeof(arguments[0])=="object"){
		now = arguments[0];
	}
	var lastMonthEndDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+now.getMonth()+"-01").getDate();
	var lastMonthDate = WeekDay(now.getFullYear()+"-"+now.getMonth()+"-01");
	var thisMonthLastDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-01");
	var thisMonthEndDate = thisMonthLastDate.getDate();
	var thisMonthEndDay = thisMonthLastDate.getDay();
	var todayObj = new Date();
	today = todayObj.getFullYear()+"-"+todayObj.getMonth()+"-"+todayObj.getDate();
	
	for (i=0; i<lastMonthDate; i++){  // Last Month's Date
		lis = "<li class='lastMonthDate'>"+lastMonthEndDate+"</li>" + lis;
		lastMonthEndDate--;
	}
	for (i=1; i<=thisMonthEndDate; i++){ // Current Month's Date

		if(today == now.getFullYear()+"-"+now.getMonth()+"-"+i){
			var todayString = now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-"+i;
			lis += "<li><a href=javascript:void(0) class='today' onclick='_selectThisDayen(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
		}else{
			lis += "<li><a href=javascript:void(0) onclick='_selectThisDayen(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
		}
		
	}
	var j=1;
	for (i=thisMonthEndDay; i<6; i++){  // Next Month's Date
		lis += "<li class='nextMonthDate'>"+j+"</li>";
		j++;
	}
	lis += style;

	var CalenderTitle = "<a href='javascript:void(0)' class='NextMonth' onclick=HS_calenderen(HS_DateAdd('m',1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Next Month'>&raquo;</a>";
	CalenderTitle += "<a href='javascript:void(0)' class='LastMonth' onclick=HS_calenderen(HS_DateAdd('m',-1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Previous Month'>&laquo;</a>";
	CalenderTitle += "<span class='selectThisYear'><a href='javascript:void(0)' onclick='CalenderselectYearen(this)' title='Click here to select other year' >"+now.getFullYear()+"</a></span>&nbsp;<span class='selectThisMonth'><a href='javascript:void(0)' onclick='CalenderselectMonthen(this)' title='Click here to select other month'>"+(parseInt(now.getMonth())+1).toString()+"</a></span>&nbsp;"; 

	if (arguments.length>1){
		arguments[1].parentNode.parentNode.getElementsByTagName("ul")[1].innerHTML = lis;
		arguments[1].parentNode.innerHTML = CalenderTitle;

	}else{
		var CalenderBox = style+"<div class='calender'><div class='calenderTitle'>"+CalenderTitle+"</div><div class='calenderBody'><ul class='day'><li>SUN</li><li>MON</li><li>TUE</li><li>WED</li><li>THU</li><li>FRI</li><li>SAT</li></ul><ul class='date' id='thisMonthDate'>"+lis+"</ul></div><div class='calenderBottom'><a href='javascript:void(0)' class='closeCalender' onclick='closeCalender(this)'>&times;</a><span><span><a href=javascript:void(0) onclick='_selectThisDay(this)' title='"+todayString+"'>Today</a></span></span></div></div>";
		return CalenderBox;
	}
}

function _selectThisDay(d){
	var boxObj = d.parentNode.parentNode.parentNode.parentNode.parentNode;
		boxObj.targetObj.value = d.title;
		boxObj.parentNode.removeChild(boxObj);
}
function _selectThisDayen(d){
	var boxObj = d.parentNode.parentNode.parentNode.parentNode.parentNode;
		boxObj.targetObj.value = d.title;
		boxObj.parentNode.removeChild(boxObj);
}
function closeCalender(d){
	var boxObj = d.parentNode.parentNode.parentNode;
		boxObj.parentNode.removeChild(boxObj);
}

function CalenderselectYear(obj){
		var opt = "";
		var thisYear = obj.innerHTML;
		for (i=1970; i<=2020; i++){
			if (i==thisYear){
				opt += "<option value="+i+" selected>"+i+"</option>";
			}else{
				opt += "<option value="+i+">"+i+"</option>";
			}
		}
		opt = "<select onblur='selectThisYear(this)' onchange='selectThisYear(this)' style='font-size:11px'>"+opt+"</select>";
		obj.parentNode.innerHTML = opt;
}
function CalenderselectYearen(obj){
		var opt = "";
		var thisYear = obj.innerHTML;
		for (i=1970; i<=2020; i++){
			if (i==thisYear){
				opt += "<option value="+i+" selected>"+i+"</option>";
			}else{
				opt += "<option value="+i+">"+i+"</option>";
			}
		}
		opt = "<select onblur='selectThisYearen(this)' onchange='selectThisYearen(this)' style='font-size:11px'>"+opt+"</select>";
		obj.parentNode.innerHTML = opt;
}
function selectThisYear(obj){
	HS_calender(obj.value+"-"+obj.parentNode.parentNode.getElementsByTagName("span")[1].getElementsByTagName("a")[0].innerHTML+"-1",obj.parentNode);
}

function CalenderselectMonth(obj){
		var opt = "";
		var thisMonth = obj.innerHTML;
		for (i=1; i<=12; i++){
			if (i==thisMonth){
				opt += "<option value="+i+" selected>"+i+"</option>";
			}else{
				opt += "<option value="+i+">"+i+"</option>";
			}
		}
		opt = "<select onblur='selectThisMonth(this)' onchange='selectThisMonth(this)' style='font-size:11px'>"+opt+"</select>";
		obj.parentNode.innerHTML = opt;
}
function CalenderselectMonthen(obj){
		var opt = "";
		var thisMonth = obj.innerHTML;
		for (i=1; i<=12; i++){
			if (i==thisMonth){
				opt += "<option value="+i+" selected>"+i+"</option>";
			}else{
				opt += "<option value="+i+">"+i+"</option>";
			}
		}
		opt = "<select onblur='selectThisMonthen(this)' onchange='selectThisMonthen(this)' style='font-size:11px'>"+opt+"</select>";
		obj.parentNode.innerHTML = opt;
}
function selectThisMonth(obj){
	HS_calender(obj.parentNode.parentNode.getElementsByTagName("span")[0].getElementsByTagName("a")[0].innerHTML+"-"+obj.value+"-1",obj.parentNode);
}
function HS_setDate(inputObj){
	inputObj=eval(inputObj);
	var calenderObj = document.createElement("span");
	calenderObj.innerHTML = HS_calender(new Date());
	calenderObj.style.position = "absolute";
	calenderObj.targetObj = inputObj;
	inputObj.parentNode.insertBefore(calenderObj,inputObj.nextSibling);
}
function HS_setDateen(inputObj){
	inputObj=eval(inputObj);
	var calenderObj = document.createElement("span");
	calenderObj.innerHTML = HS_calenderen(new Date());
	calenderObj.style.position = "absolute";
	calenderObj.targetObj = inputObj;
	inputObj.parentNode.insertBefore(calenderObj,inputObj.nextSibling);
}
function checknumber_below(data,max,lbl)
{
	if (data>max){
		alert(lbl+":"+ERR_NUMBER_BELOW+max);

		return false;
	}

	return true;
}

function checknumber_null(data,lbl){
	if (trim(data)==""){
		alert(lbl+":"+ERR_NUMBER_NULL);
		return false;
	}
	return true;
}

function checkint_null(data,lbl){
	if (trim(data)==""){
		alert(lbl+":"+ERR_INT_NULL);
		return false;
	}
	return true;
}

function checknumber_nonpositive(val,lbl){
	if(!checknumber_null(val,lbl))
		return false;
	if(!checknumber(val,lbl))
		return false;

	if(1.0 * val >0){
		alert(lbl+":"+ERR_NUMBER_NONPOSITIVE);
		return false;
	}
	return true;
}

function checkid_null(data,lbl){
	if ((trim(data)=="") || (data * 1 <= 0)){
		alert(lbl+":"+ERR_ID_NULL);
		return false;
	}
	return true;
}

function checkstring_null(data,lbl)
{
	if (trim(data)==""){
		alert(lbl+":"+ERR_STRING_NULL);
		return false;
	}
	return true;
}

function checkdate_null(y,m,d,lbl)
{
	var msg;
	msg = lbl+":"+ERR_STRING_NULL;

	if (trim(y+"")=="" || trim(m+"")=="" || trim(d+"")==""){
		alert(msg);
		return false;
	}
	if (y+""=="0" || m+""=="0" || d+""=="0"){
		alert(msg);
		return false;
	}
	return true;
}

function checkint(data,lbl)
{
	if (data == "") return true;
	var re = /^[\-\+]?([1-9]\d*|0|[1-9]\d{0,2}(,\d{3})*)$/;
	if (re.test(data))
		return true;
	if (lbl) {
		alert(lbl+":"+ERR_INT);
	}
	return false;
}
function checknonbelow0int(data,lbl)
{
	if (data == "") return true;
	var re = /^[\+]?([1-9]\d*|0|[1-9]\d{0,2}(,\d{3})*)$/;
	if (re.test(data))
		return true;
	if (lbl) {
		if (msgLang==2)
			alert(lbl+":"+ERR_INT_NONBELOW02);
		else
			alert(lbl+":"+ERR_INT_NONBELOW0);
	}
	return false;	
}
function checkstring(str,maxlen,lbl)
{
	var msg="";
	if (str.length > maxlen){
		if (lbl!=null)
			msg = lbl+":";
		alert(msg+ERR_STRING_LONG+maxlen);
		return false;
	}
	return true;
}

function checkstrdate_null(data,lbl)
{
	if(!checkstring_null(data,lbl))
		return false;
	var tmp = data.split(" ");
	data = tmp[0];
	var re = /^([1-2]\d{3})\-([1-9]|0[1-9]|11|12|10)\-([1-9]|[1-2][0-9]|0[1-9]|30|31)$/;
	if (re.test(data))
	{
		tmp = data.split("-");
		return checkday(tmp[2]*1,tmp[0]*1,tmp[1]*1,lbl);
	}
	else
	{
		if (lbl) {
			alert(lbl+":"+ERR_DAY);
		} else {
			alert(ERR_DAY);
		}
		return false;
	}
}

function checkstrdate(data,lbl)
{
	if (data.length == 0) return true;
	return checkstrdate_null(data,lbl);
}

function checkinputlen(elem,maxlen,lbl)
{
	if (checkstring(elem.value,maxlen,lbl))
		return true;
	elem.focus();
	var txtrange = elem.createTextRange();
	txtrange.collapse();
	txtrange.moveEnd("character",maxlen-10);
	txtrange.select();
	return -1;
}

function checkyear(year,lbl)
{
	if (year.length == 0) return true;

	if (!checkint(year)){
		errorYear(lbl);
		return false;
	}

	var temp = parseInt(year);
	if (!isNaN(temp)){
		if (year == 0) return true;
		low = 1900;
		high = 2037;
		if ((year >= low) && (year <=high)) return true;
	}

	errorYear(lbl);
	return false;
}

function checkmonth(month,low,high,lbl)
{
	if (!checkint(month)){
		errorMonth(lbl);
		return false;
	}

	var temp = parseInt(month);
	if (!isNaN(temp)){
		temp = parseInt(low);
		if (isNaN(temp)) low = 1;
		temp = parseInt(high);
		if (isNaN(temp)) high = 12;
		if ((month >= low) && (month <=high)) return true;
	}
	errorMonth(lbl);
	return false;
}

function errorYear(lbl)
{
	alert(lbl+":"+ERR_YEAR);
}
function errorMonth(lbl)
{
	alert(lbl+":"+ERR_MONTH);
}
function errorDay(lbl)
{
	alert(lbl+":"+ERR_DAY);
}

function checkday(day,year,month,lbl)
{
	err = false;

	if (!checkyear(year,lbl)) {
		return false;
	}
	if (!checkmonth(month,"","",lbl)){
		return false;
	}
	if (!checkint(day) || (day < 1) || (day > 31)){
		errorDay(lbl);
		return false;
	}

	switch (parseInt(month)){
		case 2:
			high =28;
			if ((year % 4 == 0) && (year % 100 != 0))
				{high =29;}
			else if (year % 400 == 0) {high=29;}
			break;
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			high =31;
			break;
		default:
			high =30;
	}
	if ((day < 1) || (day > high)){
		errorDay(lbl);
		return false;
	}
	return true;
}

function checkemail(umail,lbl)
{
	umail=trim(umail);
	if (umail.length == 0) return true;
	var re=/^[\-!#\$%&'\*\+\\\.\/0-9=\?A-Z\^_`a-z{|}~]+@[\-!#\$%&'\*\+\\\.\/0-9=\?A-Z\^_`a-z{|}~]+(\.[\-!#\$%&'\*\+\\\.\/0-9=\?A-Z\^_`a-z{|}~]+)+$/;
	if (re.test(umail))
		return true;
	alert(lbl+":"+ERR_EMAIL);
	return false;
}

function checktime(ctime,lbl)
{
	if (ctime.length == 0) return true;

	var re=/^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])){0,2}\s?[aApP][mM])?$/;
	return re.test(ctime);
}
function checkdate(bdate){

	if (bdate.length == 0) return true;
	var re = /^(0?[1-9]|11|12|10)\/([1-2]?[0-9]|0[1-9]|30|31)\/([1-2]\d{3})$/;
	return re.test(bdate);
}

//Check Ratio 
function checkRatio(data,lbl){
	if (data.toString.length == 0) false;
	var tmp ;
	var re = /^[\+]?([0-9]\d*|0|[1-9]\d{0,2}(,\d{3})*)(\.\d+)?$/;
	if (re.test(data)){
		gar = data + '.';
		tmp = gar.split('.');
		if (tmp[0].length > 12) {
			alert(lbl+":"+ERR_BIG_NUMBER);
			return false;
		}
		return true;
	}
	alert(lbl+":"+ERR_NUMBER);
	return false;
}

function checkcode(data,min,max,lbl){
	if (!checkstring(data,max,lbl))
		return false;
	if (data.length<min){
		alert(lbl+":"+ERR_STRING_NULL);
		return false;
	}
	var re = /^[a-zA-Z0-9_]*$/;
	if (!re.test(data)){
		alert(lbl+":"+ERR_ALPHA_DIGIT);
		return false;
	}
	return true;
}

function getLastDayInMonth(month,year){

	switch (parseInt(month)){
		case 2:
			high =28;
			if (year + '' != 'undefined'){
				if ((year % 4 == 0) && (year % 100 != 0))
					{high =29;}
				else if (year % 400 == 0) {high=29;}
			} else {
				high = 29;
			}
			break;
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			high =31;
			break;
		default:
			high =30;
	}
	return high;
}