function FormsTweak(document,state) {
	if(typeof(tweak)!="undefined") return;
	for(var f = 0; f <= (document.forms.length - 1); f++)
		for(var e = 0; e <= (document.forms[f].elements.length - 1); e++)
			if((document.forms[f].elements[e].type=="select-one" || document.forms[f].elements[e].type=="select-multiple") 
			&& document.forms[f].elements[e].name!="cboMonth" && document.forms[f].elements[e].name!="cboYear")
				document.forms[f].elements[e].style.visibility = state;
}
function getOS(select)
{
	return select.options[select.selectedIndex].value;
}
function initDate(F,name)
{
	F[name].value = getOS(F[name+"M"])+"/"+getOS(F[name+"D"])+"/"+getOS(F[name+"Y"]);
}
function disableDate(F,name)
{
	F[name+"M"].disabled = true;
	F[name+"D"].disabled = true;
	F[name+"Y"].disabled = true;
}
function enableDate(F,name)
{
	F[name+"M"].disabled = false;
	F[name+"D"].disabled = false;
	F[name+"Y"].disabled = false;
}
function reset_(F)
{
	for(var i=0;i<F.elements.length;i++)
	{
		var element = F.elements(i);
		var type=element.type;
		if(!type) element(0).type;
		switch(type)
		{
			case "file":
				break;
			case "select-one":
				element.selectedIndex = 0;
				element.options[0].selected==1;
				break;
			case "select-multiple":
			for(var i=0;i<element.options.length;i++)
				element.options[i].selected=0;
				break;
			case "checkbox":
				if(element.checked)
					element.click();
				break;
			case "radio":
				for(var i=0;i<element.length;i++)
					element(i).checked=0;
				break;
			case "text":
				element.value="";
				break;
			default:
				break;
		}
	}
}
function Focus(F,E)
{
	F[E].focus();
}
function Select(F,E)
{
	F[E].select();
}
function throwES(F,field,message)
{
	alert(message);
	Select(F,field);
	Focus(F,field);
	return false;
}
function throwE(F,field,message)
{
	alert(message);
	Focus(F,field);
	return false;
}
function makeString(x)
{
	return x+"";
}
function changeToHours(seconds)
{
	var hours  =seconds/3600;
	var temp = hours - Math.round(hours);
	hours = (temp>0 || hours==0)?hours:hours-1;
	hours = remDec(Math.round(hours),2);
	var restSeconds = seconds-hours*3600;
	var minutes = (restSeconds-restSeconds%60)/60;
	var temp = minutes - Math.round(minutes);
	minutes = (temp>0 || minutes==0)?minutes:minutes-1;
	minutes = remDec(Math.round(minutes),2);
	return (hours+":"+minutes+":"+remDec(seconds%60,2));
}
function remDec(str,len)
{
	str = makeString(str);
	len=len?len:1;
	len=str.length<len?len-str.length:0;
	var ar = new Array();
	for(var i=0;i<len;i++)
		ar[i]=0;
	return ar.join("")+str;
}
String.prototype.trim = function Trim() {
	return this.replace(/(^\s+)|(\s+$)/g,"");
}
function makeDec(str)
{
  if(str == "08" || str == "09")
    return (str.substr(1));
  else
    return str;
}
function isOnlyAllowed(expression, allowed)
{
	expression = expression.toLowerCase();
	if (expression.length < 1)
		return true;
	for (var i = 0; i < expression.length; i++)
	{
		var ch = expression.substr(i, 1)
		var a = allowed.indexOf(ch, 0)
		if (a == -1)
			return false;
	}
	return true;
}
function isRegExp(value,reg)
{
	if (value.search(reg) != -1)
	    return true;
	return false;
}
function hide(element)
{
	document.getElementById(element).style.visibility = "hidden";
}
function show(element)
{
	document.getElementById(element).style.visibility="visible";
}
function initValue(forme,element,value)
{
	value=value.replace(/%2F/g,"/").replace(/7~~7/g,"\"").replace(/\+/g," ").replace(/~~~/g,"\r\n").replace(/~\^~/g,'"').replace(/%~%/g,",").replace(/~1~/g,"#").replace(/\+/g," ").replace(/%20/g," ");
	value=HTMLDecode(value);
	var type=forme[element].type;
	if(!type) type[element](0).type;
	switch(type)
	{
		case "file":
		break;
		case "select-one":
			var select =forme[element];
			for(var i=0;i<select.options.length;i++)
			{
				if(select.options[i].value==value)
				{
					select.options[i].selected=true;
					break;
				}
			}
		break;
		case "checkbox":
			forme[element].checked=true;
		break;
		case "radio":
			for(var i=0;i<forme[element].length;i++)
			{
				if(forme[element](i).value==value)
				{
					forme[element](i).checked=true;
					break;
				}
			}
		break;
		default:
			forme[element].value=value;
		break;
	}
}

function Decode(x1,x2)
{
	this.codeFrom=x1;
	this.codeTo=x2;
}
function HTMLDecode(str)
{
	if(!str) return ("");
	var codes=new Array();
	codes[0]=new Decode("&#39;","'");
	codes[1]=new Decode("&#34;","\"");
	for(var i=0;i<codes.length;i++)
	{
		var x=new RegExp(codes[i].codeFrom,"g");
		str=str.replace(x,codes[i].codeTo);
	}
	return str;
}

