function mkYr(val)
{
	
	if(val.length==0)
	{
		var d = new Date()
		val=d.getYear()
	}
	if(val.length==1){val="0"+val}
	if(val.length==2){val="20"+val}
	return(val)
}

function dbDig(val)
{
	if(val.length<2){val="0"+val}
	return(val)
}

function showElement(elem)
{
	document.getElementById(elem).style.visibility="visible"
}

function hideElement(elem)
{
	document.getElementById(elem).style.visibility="hidden"
}

function doMath(val)
{
	var lft,rt, res
	res=val

	while (val.indexOf("-")>0)
	{
		lft = val.substring(0,val.indexOf("-"))
		rt = val.substring(val.indexOf("-")+1,val.length)
		if(lft.length==0){lft=0}
		if(rt.length==0){rt=0}
		lft=doMath(lft)
		rt=doMath(rt)
		
		val = lft - rt
		return(val)
	}

	while (val.indexOf("+")>-1)
	{
		lft = val.substring(0,val.indexOf("+"))
		rt = val.substring(val.indexOf("+")+1,val.length)
		if(lft==""){lft=0}
		if(rt==""){rt=0}
		lft=doMath(lft)
		rt=doMath(rt)
		val="0" + (lft*1+rt*1)
		
	}
	var dm = '*'
	while (val.indexOf(dm)>-1)
	{
		lft = val.substring(0,val.indexOf("*"))
		rt = val.substring(val.indexOf("*")+1,val.length)
		if(lft==""){lft=0}
		if(rt==""){rt=0}
		lft=doMath(lft)
		rt=doMath(rt)
		val = "0" + (1*lft * rt)
		return(val)
	}
	while (val.indexOf("/")>-1)
	{
		lft = val.substring(0,val.indexOf("/"))
		rt = val.substring(val.indexOf("/")+1,val.length)
		if(lft==""){lft=0}
		if(rt==""){rt=0}
		lft=doMath(lft)
		rt=doMath(rt)
		if (rt=="0") {val="DIVISION BY ZERO"} else {val = "0" + lft / rt}
		return(val)
	}
	return(val)
	
}

function makeInsertString(tbl,flds,vals)
{
	return("I|" + tbl + "|" + flds +  "||" + vals + "<*>")
}

function makeUpdateString(tbl,flds,aid,vals)
{
	return("U|" + tbl + "|" + flds + "|" + aid +  "|" + vals + "<*>")
}

function makeDeleteString(tbl,aid)
{
	return("D|"+tbl+"|0|"+aid+"|0<*>")
}

function reDir(hrf)
{
	redirectURL.value=hrf
	btnSubmit.click()
}

function errorAlert(fmt,vl)
{
	switch(true)
	{
		case (fmt=="dat"):
			alert('"' + vl+'" is not a valid Date!')
			break
		case (fmt=="dec"):
			alert('"' + vl+'" is not a valid Number!')
			break
		case (fmt=="num"):
			alert('"' + vl+'" is not a valid Integer!')
			break
		case (fmt=="eml"):
			alert('"' + vl+'" is not a valid Email adress!')
			break
		case (fmt=="tim"):
			alert('"' + vl+'" is not a valid Time!')
			break
	}
}

function validateInput(srcElem,tbl,flds,fmt,val,aid)		
{
var doSave=false
var chStr = ""
switch(true)
{
	case (fmt=="txt"||fmt=="sel"||fmt=="sdb"||fmt=="tar"||fmt=="sda"||fmt=="sea"):
		if(val.indexOf("'")>-1)
		{
			var strArr=val.split("'")
			if(strArr.length>1)
			{
				for(var x=0;x<strArr.length-1;x++)
				{
					if(strArr[x].length>0)
					{
						strArr[x]+="'"
						strArr[x]+="'"
					}
				}
			}
			val=""
			for(var x=0;x<strArr.length;x++)
			{
				val+=strArr[x]
			}
		}
		doSave=true
		break
	case (fmt=="chk"):
		if (val==true){val="1"}
		else {val="0"}
		doSave=true
		break
	case (fmt=="num"):
		if (val*1==val) {doSave=true}
		break
	case (fmt=="dec"):
		while (val.indexOf(",")>-1) {val = val.replace(",",".")}
		if((val.indexOf("/") + val.indexOf("*") + val.indexOf("+") + val.indexOf("-"))>-4) {val= doMath(val)}
		if (val*1==val){if(Math.floor(val)==val){var val=val+".00"}}
		var decArr = val.split(".")
		var nmb = "x"
		var dc = "x"
		if (decArr.length<=2)
		{
			if (decArr[0]=="") {decArr[0]="0"}
			if (decArr[0]*1==decArr[0]) {nmb = decArr[0]*1}
			if (decArr.length==2)
			{
				if (decArr[1]=="") {decArr[1]="00"}
				if (decArr[1]*1==decArr[1]) {dc = decArr[1]}	
			}
			else
			{
				dc="00"
			}
			if (nmb!="x"&&dc!="x")
			{
			if(dc.length==1){dc = dc + "0"}
			if(dc.length>2){dc = dc.substring(0,2)}
			val = nmb + "." + dc
			srcElem.value = nmb + "," + dc
			doSave=true	
			}
		}
		break
	case (fmt=="eml"):
		if (val.indexOf("@")>0&&val.lastIndexOf(".")>val.indexOf("@")+2&&val.lastIndexOf(".")<val.length-2) {doSave=true}
		break
	case (fmt=="tim"):
	{
		var val=srcElem.value
		if(val.indexOf(",")>-1){val=val.replace(",",".")}
		if (val*1==val&&val.length>0)
		{
		
			if (val.indexOf(".")>-1&&srcElem.name.indexOf('Break')>-1)		
			{
				var valArr=val.split(".")
				if(valArr[0].length==0)	{valArr[0]="00"}
				if(valArr[1].length==0) {valArr[1]="00"}
				if(valArr[1].length==1) {valArr[1]=valArr[1]+'0'}
				if (valArr[1]*1==valArr[1])
				{
					var rl =valArr[1]/100*60
					valArr[1] = rl
				}
				val = valArr[0]+':'+valArr[1]
			}
			else
			{
				if(val.length==4){val=val.substring(0,2)+":"+val.substring(2,4)}
				if(val.length==3){val=val.substring(0,1)+":"+val.substring(1,3)}
				if (val<=23){val=val +":00"}
			}
	
		}
		if(val.indexOf("-")>-1){val=val.replace("-",":")}
		if(val.indexOf(".")>-1){val=val.replace(".",":")}
		if(val.indexOf(";")>-1){val=val.replace(";",":")}
		if(val.indexOf(":")>-1)
		{
			var vArr = val.split(":")
			if(vArr.length==2&&vArr[0]*1<=23&&vArr[1]*1<=59)
			{
				if(vArr[0].length==1){vArr[0]='0'+vArr[0]}
				if(vArr[0].length==0){vArr[0]='00'}
				if(vArr[1].length==1){vArr[1]='0'+vArr[1]}
				if(vArr[1].length==0){vArr[1]='00'}
				val = vArr[0]+':'+vArr[1]
				srcElem.value = val
				doSave=true
			}
		}
		else
		{
			if (val.length==0)
			{
				doSave=true
			}
		}
	break	
	}
	
	case (fmt=="dat"):
		if (val*1==val&&val.length>=6) {val=val.substring(0,2) + "." + val.substring(2,4) + "." + val.substring(4,val.length)}
		while (val.indexOf("/")>=0) {val=val.replace("/",".")}
		while (val.indexOf("-")>=0) {val=val.replace("-",".")}
		var valArr = val.split(".")
		if(valArr[0]*1<=31&&valArr[1]*1<=12&&valArr[2]*1==valArr[2]) 
		{
			switch(valArr[1]*1)
			{
				case 2:
					if (valArr[2]%4==0){var mxDay = 29}
					else {var mxDay = 28}
					break
				case 11:
					var mxDay=30
					break
				case 9:
					var mxDay=30
					break
				case 6:
					var mxDay=30
					break
				case 4:
					var mxDay=30
					break
				default:
					var mxDay=31
					break
			}
			if (valArr[0]*1<=mxDay) 
			{
				doSave=true
				srcElem.value=dbDig(valArr[0])+"."+dbDig(valArr[1])+"."+mkYr(valArr[2])
			}
		}
		break
}

if(doSave)
{
	srcElem.style.backgroundColor= fldBgColor
	changeLog.value += makeUpdateString(tbl,flds,aid,val)
	return(true)
}

else 
{
	srcElem.style.backgroundColor="#FF0000"
	errorAlert(fmt,val)
	return(false)
}
}

function getIdFromFieldName(nm)
{
	var theId = nm.substring(nm.lastIndexOf("id")+2,nm.length)
	return(theId)
}
function goTo(hrf)
{
	redirectURL.value=hrf
	btnSubmit.click()
}