function setScrollFrm() {
var o = document.getElementById('scrollfrm')
if(o==null) return;
var winh = document.getElementById('full').offsetHeight
var winw = document.getElementById('full').offsetWidth
o.style.height = (winh-75)+'px';
winw = winw-parseInt(document.getElementById('sbwd').style.width)
if(winw>0) o.style.width = winw+'px';
//if(window.frames.length<3)	return setTimeout('setScrollFrm()',500);
var f = document.getElementById('tabfrm'); if(f!=null) f.style.height = o.style.height;
var f = document.getElementById('dupfrm'); if(f!=null) f.style.height = o.style.height;

var f = parent.frames["panel"]
if(f==null)return
var ff = f.document.getElementById('panelfrm');
if(ff!=null) ff.style.height = (f.document.getElementById('full').offsetHeight-76) + 'px';
}

hpt=nohide=0
dragged=false
function hidePanel() {
	if(nohide)	{	nohide=0;	return; }
	if(dragged!=true) {
		var o = (self==parent || window.name=='main' ? document : parent.document);
		var hlp=o.getElementById('helpdiv');
		hlp.style.visibility = 'hidden';
		hlp.style.top = hlp.style.left = '5px';
	}
	else	dragged=false;

	if(event != null) {
		clickx = event.clientX;
		clicky = event.clientY;
	}
	if(window==parent) return;
	var o = (parent.name=='main' ? parent.parent : parent);

if(typeof o.origcols!='undefined' && o.origcols==o.fs.cols)	return;

var t = new Array();
if(typeof o.fs!='undefined') {
  tmp = o.fs.cols.split(',');
  t = parseInt(tmp[0])
}
var tt = new Array();
if(typeof o.origcols!='undefined') {
  tmp = o.origcols.split(',');
  tt = parseInt(tmp[0])
}

//alert(t+' &lt; '+tt)
	if(t>tt)	return
	if(typeof o.origcols!='undefined') o.fs.cols = o.origcols;
}

function pgloaded() {
  gotoLink('cont','focus')
  self.scrollTo(0,0);
}

function posTop(o) {
  var top=0
  while(o.offsetParent.tagName!='BODY') {
    top += parseInt(o.offsetTop)
    o = o.offsetParent;
  }
  return (top + parseInt(o.offsetTop))
}
function posLeft(o) {
  var left=0
  while(o.offsetParent.tagName!='BODY') {
    left += parseInt(o.offsetLeft)
    o = o.offsetParent;
  }
  return (left + parseInt(o.offsetLeft))
}

function newHelp(tit,txt) {
	if(!tit)	return;
	saveorig()
	o = document.getElementById('helptit');
	o.innerHTML = '' + (tit.charAt(0)=='<' ? '' : '&nbsp;') + tit + '';
	o = document.getElementById('helptxt');
	o.innerHTML = txt;
	o = document.getElementById('floater');
	var adj = -document.documentElement.scrollTop - 5;
	adj = parseInt(adj) + 90
	adj = adj>0 ? '0px' : -adj

	var bot = parseInt(adj)+document.getElementById('container').offsetHeight + 90
	var srcT = posTop(laste)
	var srcR = posLeft(laste) + laste.offsetWidth
	if(bot>srcT-25 && srcR>540)	adj = srcT+25-90
	o.style.top = adj
}

var CALC=1,DATE=2,NUM=3,RADIO=4,SELECT=5,BOX=6,MENU=7,HTMLAREA=8;
var calcon=0;
var origtit,origtxt,calctxt='<DIV id=calct0></div>',calctit='';
origtit=origtxt=''
var didkey=0,lastk=0,keynum=0;
function key(o,type) {
	tmpo=o
	ret=true
	k=event.keyCode
	keynum++

	var p
	if(k==36 && type==MENU)	{ document.location.href='summary.cgi'; return; }
	if(type!=MENU && type!=SELECT && (k==40)) {
//	if(type!=MENU && type!=SELECT && (k==40 || k==9)) {
		for(var i=0; i<o.form.length; i++)
			if(o.form.elements[i].name==o.name
			&& o.form.elements[i].sourceIndex > o.sourceIndex) {
				o.form.elements[i].focus()
//				if(k==9)	ret=false;
				break;
			}
		if(i==o.form.length) { moveFocus(o,1); 	event.returnValue=false; return; }
	}
	if(type!=MENU && type!=SELECT && k==38) {
		for(var i=o.form.length-1; i>0; i--)
			if(o.form.elements[i].name==o.name
			&& o.form.elements[i].sourceIndex < o.sourceIndex) {
				o.form.elements[i].focus()
				break;
			}
		if(i==0) { moveFocus(o,-1); event.returnValue=false; return; }
	}
//	if(k==13 && event.ctrlKey && !didkey) { gotoLink('cont','click'); return; }
	if(k==13 && event.ctrlKey) { o.form.submit(); return; }
	if(!event.ctrlKey)	didkey=1

	if(k==17);
	else if(k==65 && type==CALC) {
		tmpo.value = 'Auto';	ret = 0;
	}
	else if(k==27 && lastk==27) ret = moveFocus(o,-1);
	else if(k==27) { if(type!=SELECT) o.value=o.defaultValue; o.select() }
	else if(type==MENU && k==9);
	else if(type==MENU && (k==38 || k==37 || k==109)) ret = moveFocus(o,-1);
	else if(type==MENU && (k==40 || k==39 || k==107)) ret = moveFocus(o,1);
	else if(type==MENU && k==13) event.keyCode = 13;

//	else if(k==13 && type==BOX);
	else if((k==13 || k==9) && (type!=CALC || calcon==0) && type!=HTMLAREA)	event.keyCode=9;
	else if(type==DATE)	ret = dodate(o,k);
	else if(type==CALC) {	ret = docalc(o,k); setTimeout('tmpo.value = getFmt(tmpo.value);',50); }
//	else if(type!=null)	ret = dFilter(k, o, type);
	else if(type==BOX && k==107) event.srcElement.checked = event.srcElement.checked ? false : true;
	else if(type==SELECT && k==107) event.keyCode = 40;
	else if(type==SELECT && k==109) event.keyCode = 38;
	else	return false;
//if(k!=16)	alert(event.keyCode + ' : '+ret)
	event.returnValue=ret;
	lastk = k;
}

function moveFocus(o,off) {
	if(o.tagName=='A')	p = document.anchors
	else	p = o.form
	for (i=-1; i<p.length; i++)	if(o==p[i-off]) break;
	if(i==p.length)	i=0
	if(i<0)	i=p.length-1
	p[i].focus();
//	if(p[i].id=='')	moveFocus(p[i],off);
	return false;
}

function getChr(k) {
	if(k==107)	return '+'
	if(k==109)	return '-'
	if(k==106)	return 'x'
	if(k==111)	return '/'
	if(k==96)	return '0'
	if(k==97)	return '1'
	if(k==98)	return '2'
	if(k==99)	return '3'
	if(k==100)	return '4'
	if(k==101)	return '5'
	if(k==102)	return '6'
	if(k==103)	return '7'
	if(k==104)	return '8'
	if(k==105)	return '9'
	if(k==110)	return '.'
	if(k==100)	return '4'
	if(k==13)	return '='
	if(k==9)	return '='
	return String.fromCharCode(k)
	return '';
}

function getFmt(num) {
var sign = (num <0 || num=='-' ? false : true);
var orignum = parseFloat(num)
var decpos = num.indexOf('.');
if(decpos>=0)	var centtxt = num.substring(decpos,10);

num = num.toString().replace(/\$|\,/g,'');

if(isNaN(num)) num = "0";
num = Math.abs(num)
num = Math.floor(num*100+0.50000000001);
cents = num%100;

num = Math.floor(num/100).toString();
if(cents<10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
//return (((sign)?'':'-') + num + '.' + cents);

var ret
if(orignum=='')	return '';
else if(decpos>=0)	ret = (((sign)?'':'-') + num + centtxt);
else	ret = (((sign)?'':'-') + num);
return ret=='-0' ? '-' : ret;
}

var calccur,calctot=0;
var calcop
var calcneg = 0;
function calcSubtot() {
	if(calccur=='')	return;
	if(calcop=='-') { calctot = parseFloat(calctot) - parseFloat(calccur); }
	else if(calcop=='x') { calctot = parseFloat(calctot) * parseFloat(calccur); }
	else if(calcop=='/') { calctot = parseFloat(calctot) / parseFloat(calccur); }
	else if(calcop=='+') { calctot = parseFloat(calctot) + parseFloat(calccur); }
	else	calctot = parseFloat(calccur);
	calccur=calcop=''
}
function docalc(o,k) {
	var ret = true
	if(!calcon  && keynum>1 && (k==107 || k==106 || k==111 || k==109)) {
		saveorig();
		calcon=1;
		calctot=0;
//		if(k==109) calcneg=1;
		var stval = o.value.replace(',','')
//alert(o.selected);
//		var stval = 0;
		calctxt = stval
		if(stval=='')	stval=0
		calccur = parseFloat(stval)
		ret = false
	}

	if(calcon) {
		var c = getChr(k);
		if(k==46 || k==8) {	calccur='.';	c='='; }
		if(c=='=') {
			origcur = calccur
			if(calccur=='.') { calctxt += '&lt;CLEAR&gt;'; calccur=''; calctot=0; calcop='+';}
			calcSubtot();
			calctxt += '<DIV class=bt style="width:70%;">= <B>'+calctot+'</b></div>';
			if(origcur=='') {
				calcon=0;
				newHelp(origtit,origtxt);
				event.keyCode=9;
				return 
			}
			o.value = calctot
		}
		else if(c=='+' || c=='-' || c=='x' || c=='/') {
			calctxt += '<BR>' + c + ' '
			calcSubtot()
			if(!calcneg) calcop = c;
		}
		else {
			calctxt += c;
			calccur += getChr(k)
			if(calcneg) 	calccur = '-' + calccur
			calcneg = false;
		}
		newHelp('Calculator','To clear type &lt;.&gt;&lt;Enter&gt;<div id=calc align=right style="overflow:auto; padding-right:15px; height:170px;">'+calctxt+'<DIV id=calcdiv><IMG src=img/spc.gid height=1 width=1></div></div>');
		o=document.getElementById('calcdiv');
		o.scrollIntoView(false);
		ret=false
	}
	return ret;
}


var helpsaved=0
function saveorig() {
if(helpsaved)return;	helpsaved=1;
origtit = document.getElementById('helptit').innerHTML
origtxt = document.getElementById('helptxt').innerHTML
}
function fixHelp() {
	if(origtit=='')	return;
	document.getElementById('helptit').innerHTML = origtit;
	document.getElementById('helptxt').innerHTML = origtxt;
	origtit=origtxt = '';
	o = document.getElementById('floater');
	o.style.top = '0px';
	helpsaved=0;
}
function changeHTML(div,html) {
	obj = document.getElementById(div)
	if(obj==null)	return;
	obj.innerHTML = html;
}

var caltxt=''
var tmpo;
function dodate(o,k) {
	if(origtit=='')	saveorig();
	c=getChr(k)
	setTimeout('showCalendar(tmpo.value)',0)
	return k
}

//  Calendar
var day_of_week = new Array('S','M','T','W','T','F','S');
var month_of_year = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');

//  DECLARE AND INITIALIZE VARIABLES
var Calendar,year,month,today,weekday;
var DAYS_OF_WEEK = 7;    // "constant" for number of days in a week
var DAYS_OF_MONTH = 31;    // "constant" for number of days in a month

var TR_start = '<TR>';
var TR_end = '</TR>';
var highlight_start = '<TD width=30 align=right><DIV style="background:#DEDEFF;">';
var highlight_end   = '</div></td>';
var TD_start = '<TD WIDTH=30 align=right>';
var TD_end = '</TD>';

function showCalendar(val,set) {
	clearTimeout(calto)
	var oval = val
	val = val.replace(/^(\d{2})[\/-]?(\d{2})[\/-]?(\d{2,4})$/,"$1/$2/$3");
	var parts
	parts = val.match(/^(\d{2})[\/-]?(\d{2})[\/-]?(\d{2,4})$/);
	val = val.replace('+','')
	tmpo.value = val
	if(oval=='')	return;
	if(oval=='+')	Calendar = new Date();
	else		Calendar = new Date(val);
	year = Calendar.getYear();	    // Returns year
	month = Calendar.getMonth();    // Returns month (0-11)
	today = Calendar.getDate();    // Returns day (1-31)
	weekday = Calendar.getDay();    // Returns day (1-31)
	Calendar.setDate(1);    // Start the calendar day at '1'
	Calendar.setMonth(month);    // Start the calendar month at now

	if(parts!=null && parts[3]>1000)	year=parts[3]
	else if(year>69 && year<100)	year+=1900;
	else if(year<100)	year+=2000;

	if(oval=='+' || set!=null) { tmpo.value=(month+1)+'/'+today+'/'+year;  tmpo.focus(); }

	var nyear,pyear;	nyear=pyear=year;
	var pmonth = month;	if(pmonth<0) {	pmonth=11; pyear--; }
	var nmonth = month+2;	if(nmonth==13) { nmonth=1; nyear++; }
	var nyear;
	calctit = '<TABLE id=caltit width=100% cellpadding=0 cellspacing=0><tr><TD>'
			+ '<A HREF="javascript:showCalendar(\'' + pmonth + '/' + today + '/' + pyear + '\',2)">&lt;&lt;</a> '
			+ '<A HREF="javascript:showCalendar(\'' + nmonth + '/' + today + '/' + nyear + '\',2)">&gt;&gt;</a>'
			+ '</td><TD align=center><B>' + month_of_year[month] 
			+ ' ' + (isNaN(year) ? '' : year) + '</b>'
			+ '</td><TD align=right>'
			+ '<A HREF="javascript:showCalendar(\'' + (month+1) + '/' + today + '/' + (year-1) + '\',2)">&lt;&lt;</a> '
			+ '<A HREF="javascript:showCalendar(\'' + (month+1) + '/' + today + '/' + (year+1) + '\',2)">&gt;&gt;</a>'
			+ '</td></tr></table>';

	caltxt = '<TABLE align=center style="font-size:90%;" CELLSPACING=0 CELLPADDING=2>' + TR_start;
	caltxt += TR_start;
	for(index=0; index < DAYS_OF_WEEK; index++){
		if(weekday == index)
			caltxt += TD_start + day_of_week[index] + TD_end;
		else	caltxt += TD_start + day_of_week[index] + TD_end;
	}
	caltxt += TD_end + TR_end;
	caltxt += TR_start;

	for(index=0; index < Calendar.getDay(); index++)
		caltxt += TD_start + '  ' + TD_end;
	for(index=0; index < DAYS_OF_MONTH; index++) {
		if( Calendar.getDate() > index) {
			week_day =Calendar.getDay();
			if(week_day == 0)	 caltxt += TR_start;
			if(week_day != DAYS_OF_WEEK) {
				var day  = Calendar.getDate();
				if( today==Calendar.getDate() )
					caltxt += highlight_start + '<A HREF="javascript:showCalendar(\''+(month+1)+'-'+day+'-'+year+'\',1)">'
						+ day + '</a>' + highlight_end + TD_end;
				else	caltxt += TD_start + '<A HREF="javascript:showCalendar(\''+(month+1)+'/'+day+'/'+year+'\',1)">'
						+ day + '</a>' + TD_end;
			}
			if(week_day == DAYS_OF_WEEK)	caltxt += TR_end;
		}
		Calendar.setDate(Calendar.getDate()+1);
	}// end for loop
	caltxt += '</TD></TR></TABLE>';
	newHelp(calctit,caltxt);
}



var selecttxt = ' <B>Type &lt;+&gt; &lt;-&gt; on 10-key to select.</b>';
var datefmt = ' <B>Type &lt;+&gt; for today\'s date.</b> Valid fomats:<LI>mmddyy(yy)</li><LI>mm-dd-yy(yy)</li><LI>mm/dd/yy(yy)</li><LI>ddMMMyyyy</li>';
var wholetxt = ' <B>Entry will be rounded to a whole number.</b>';
var floattxt = ' <B></b>';

function gosection(fn) {
	fixHelp();
	saveorig();
	nofocus=0;
	var o = document.getElementById('sect'+fn)
	tgl('sect'+fn)
	tgl('alt'+fn)
	var visible = (o.style.display=='none' ? 0 : 1);
	if(!visible)	setfocus(fn);
	tgl('faqs')
}

var nofocus=0;
function setfocus(fn,f,c) {
	if(nofocus)	return;
	if(typeof(fn)=='undefined' || fn==null)	fn = 1;
	else	fn++
	if(window.name!='main')	fn--

	var o = document.forms[fn];
	var cnt = o.elements.length

	var i,s,e
	s=-1
	for(i=0; i<cnt; i++) {
		e = o.elements[i]
		if(e.type == 'hidden')	continue;
		if(e.name == '')	continue;
		if(typeof(c)=='undefined' && typeof(f)=='string' && e.name!=f) continue;
		if(typeof(c)!='undefined' && typeof(f)=='string' && !(e.name==f && e.value==c)) continue;
		if(s==-1)	s=i
		if(e.name == 'sub') break;
	}

	if(e.name=='sub')	e.focus();
	if(s>=0) {
		e = o.elements[s];
		if(typeof document.all['_'+e.name+'_editor'] != 'undefined')
			document.all['_'+e.name+'_editor'].focus()
		else	e.focus();
	}
	return;
}
function tgl(div) {
	var d = document.getElementById(div);
	d.style.display = d.style.display=='inline' ? 'none' : 'inline';
}
function gotoLink(n,f) {
	var p
	p = document.getElementById(n);
	if(p===null)	p = document.getElementById('cont')
	if(p===null)	p = document.getElementById('back')
	if(p===null)	p = document.getElementById('done')
	if(p===null)	p = document.getElementById('home')
	if(p===null)	p = document.getElementById('expert')
	if(p!==null)	eval('p.'+f+'();');
}
function hl(tit,txt) {
clearTimeout(calto);
keynum=0;
//var e = (typeof o == 'string') ? document.getElementById(o) : event.srcElement;
laste = event.srcElement;
laste.runtimeStyle.backgroundColor='#FFF7DE'
laste.runtimeStyle.borderBottomColor='#000';
laste.runtimeStyle.borderRightColor='#000';

//e.runtimeStyle.borderColor='#000000'
//e.runtimeStyle.borderWidth='1px'
//e.runtimeStyle.borderStyle='solid'
laste.runtimeStyle.margin='0px';
if(laste.type!='submit' && laste.select)	laste.select();
//if(!calto)
if(lastename!=laste.name)	newHelp(tit,txt)
lastename=laste.name
}
var lastename

function ll(o) {
var e = (typeof o == 'string') ? document.getElementById(o).runtimeStyle
	: event.srcElement.runtimeStyle;
e.backgroundColor=''
e.borderColor=''
e.borderWidth=''
e.borderStyle=''
e.margin='';
calto=setTimeout('fixHelp()',200);
}
var calto;

function hideObj(name) {
	o = document.getElementById(name)
	o.style.display = 'none';
}
function showObj(name) {
	o = document.getElementById(name)
	o.style.display = 'inline';
}

function tgl(name,name2) {
	o = document.getElementById(name)
	o.style.display = (o.style.display=='none' ? 'inline' : 'none');
	if(name2!=null)	tgl(name2);
}

var selstat=0
function hideSelects() {
var col = document.all.tags("SELECT");
if (col!=null)
for (i=0; i<col.length; i++) col[i].style.visibility="hidden"
selstat=1
}
function showSelects() {
if(!selstat)return;
var col = document.all.tags("SELECT");
if (col!=null)
for (i=0; i<col.length; i++) col[i].style.visibility="visible"
}

var dragobj = new Object();
function drag(event, id) {
  if(id) dragobj.el=document.getElementById(id);
  else {
    dragobj.el = window.event ? window.event.srcElement : event.target;
    if(dragobj.el.nodeType==3) dragobj.el=dragobj.el.parentNode;
  }
  if(id && dragobj.el==null)	dragobj.el=parent.document.getElementById(id);
//alert(dragobj.el); return;
  if(window.event) {
    dragobj.startX = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
    dragobj.startY = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
  }
  else {
    dragobj.startX = event.clientX + window.scrollX;
    dragobj.startY = event.clientY + window.scrollY;
  }
  dragobj.startL  = parseInt(dragobj.el.style.left, 10);
  dragobj.startT  = parseInt(dragobj.el.style.top,  10);
  if(isNaN(dragobj.startL)) dragobj.startL = 0;
  if(isNaN(dragobj.startT)) dragobj.startT  = 0;

  if(document.addEventListener) {
    document.addEventListener("mousemove", dragMove,   true);
    document.addEventListener("mouseup",   dragEnd, true);
    event.preventDefault();
  }
  else if(document.attachEvent) {
    document.attachEvent("onmousemove", dragMove);
    document.attachEvent("onmouseup",   dragEnd);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
}

function dragMove(event) {
  var x,y;

  if(window.event) {
    x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
  }
  else {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  dragobj.el.style.left = (dragobj.startL + x - dragobj.startX) + "px";
  dragobj.el.style.top = (dragobj.startT + y - dragobj.startY) + "px";
dragobj.startL  = parseInt(dragobj.el.style.left, 10);
dragobj.startT  = parseInt(dragobj.el.style.top, 10);

  if(window.event) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  else event.preventDefault();

}

function dragEnd(event) {
  if (document.removeEventListener) {
    document.removeEventListener("mousemove", dragMove,   true);
    document.removeEventListener("mouseup",   dragEnd, true);
  }
  else if(document.detachEvent) {
    document.detachEvent("onmousemove", dragMove);
    document.detachEvent("onmouseup",   dragEnd);
  }
}

