	function alertAndClose(value) {
		alert(value)
		close()
	}
	function back() {
		history.back(-1)
	}
	function getBoolean(value) {
		retVal=false
		value=trim(value)
		if ((value=="true")||(value=="1")) retVal=true
		return retVal
	}
	function getDate(value,format,days) {
		if (trim(value)=="") return ""
		if (value=="TODAY") d=new Date()
		else d=new Date(value)
		if (days!=null) d.setDate(d.getDate()+parseInt10(days))
		day=String(parseInt10(d.getDate()))
		if (day.length==1) day="0"+day
		month=String(parseInt10(d.getMonth())+1)
		if (month.length==1) month="0"+month
		year=String(d.getFullYear())
		syear=year.substr(2,2)
		hour=String(parseInt10(d.getHours()))
		if (hour.length==1) hour="0"+hour
		minute=String(parseInt10(d.getMinutes()))
		if (minute.length==1) minute="0"+minute
		second=String(parseInt10(d.getSeconds()))
		if (second.length==1) second="0"+second		
		switch (format) {
			case "DD.MM.YYYY" :
				return day+"."+month+"."+year
			break
			case "MM.HH.YYYY HH:MM:SS" :
				return day+"."+month+"."+year+" "+hour+":"+minute+":"+second
			break
			case "YYYYMMDD" :
				return year+month+day
			break
			case "DD.MM" :
				return day+"."+month
			break
			case "DD" :
				return day
			break
			case "MM" :
				return month
			break
			case "YYYY" :
				return year
			break
		}
	}
	function getT1Value(row,col) {
		if (trim(col)=="undefined") col=0
		return document.getElementById('T1').rows[row].cells[col].firstChild.nodeValue
	}
	function isDate(val) {
		var sep1=parseInt10(val.indexOf("."))
		var sep2=parseInt10(val.indexOf(".",sep1+1))
		var len=parseInt10(val.length)
		var dd=val.substr(0,sep1)
		var mm=val.substr(sep1+1,sep2-sep1-1)
		var yy=val.substr(sep2+1,len-sep2-1)
		if ((dd.length<1) || (dd.length>2)) return false
		if ((mm.length<1) || (mm.length>2)) return false
		if ((yy.length<1) || (yy.length>4)) return false
		if ((yy<1900) || (yy>2050)) return false
		var leap=((yy==(parseInt10(yy/4) * 4)) && !(yy==(parseInt10(yy/100) * 100)))
		if (dd<=0) return false
		if (!((mm>=1) && (mm<=12))) return false
		if ((mm==2) && (leap)) dom=29
		if ((mm==2) && !(leap)) dom=28
		if ((mm==1) || (mm==3) || (mm==5) || (mm==7) || (mm==8) || (mm==10) || (mm==12)) dom=31
		if ((mm==4) || (mm==6) || (mm==9) || (mm==11)) dom=30
		if (dd>dom) return false
		return true
	}
	function keyMessage(type,event,sAlert) {
		event.returnValue = false
	}
	function mod(x,y) {
		return Math.round(x-(Math.floor(x/y)*y));
	}
	function parseInt10(value) {
		return parseInt(value,10)
	}
	function trim(str) {
		var bl, ret;
		s=String(str)
		bl=/(^\s*)|(\s*$)/g;
		ret=s.replace(bl,"")
		if (ret=="null") return ""
		else return(ret)
	}