function makeSel(name,opts,sel,first,evtHandlers,s,m){	var args = parseArgs(makeSel.arguments)	var sze = (args.size) ? " size=\"" + args.size + "\"" : " size=\"1\" "	var mult = (args.mult) ? " multiple" : ""	var s = "<select name=\"" + ((args.name) ? args.name : '') + "\"" + sze + mult	if(args.evnts){		evtHandlers = (args.evnts[0]) ? args.evnts : new Array(args.evnts)		for (var i = 0; i < evtHandlers.length; i++){			s += getEvntString(evtHandlers[i])		}	}	s += ">"	var sel = (args.sel) ? ((args.sel[0]) ? args.sel : new Array(args.sel)) : ''	if (args.first){		slct = (sel && (sel.exists(args.first.name) || sel.exists(args.first.val))) ? "selected" : ""		s += "<option value=\"" + args.first.val + "\" " + slct + ">" + args.first.name + "<" + "/" + "option>"	}	if(args.opts){		var opts = (args.opts[0]) ? args.opts : new Array(args.opts)		for (var i = 0; i < opts.length; i++){			ds = sel && (sel.exists(opts[i].name) || sel.exists(opts[i].val)) ? 'selected' : ''			//ds = (exists(opts[i].name,sel) || exists(opts[i].val,sel)) ? "selected" : ""			s += opts[i].str(ds)		}	}	s+= "</select>"	return s}function selOption(n,v){	this.name = n	this.val = (v) ? v : n	this.str = selOptionString}function selOptionString(s){	var ds = (s) ? ' ' + s : ''	return "<option value=\"" + this.val + '"' + ds + ">" + this.name + "<" + "/" + "option>"}function retSelOpts(a){	for (var i = 0; i < a.length; i++){		a[i] = new selOption(a[i],a[i])	}	return a}function makeEvnt(n,j,p){	this.name = n	this.functn = j	this.params = (p) ? p : ""	this.getStr = getEvntStringMethod}function getEvntStringMethod(){	return this.name + "=\"" + this.functn + "(" + this.params + ")\""}function retTable(){	var args = parseArgs(retTable.arguments)	var htm = "<TABLE"	htm += args.common()	htm += (args.brdr) ? " BORDER=" + args.brdr : " BORDER=0"	htm += (args.cs) ? " CELLSPACING=" + args.cs : " CELLSPACING=0"	htm += (args.cp) ? " CELLPADDING=" + args.cp : " CELLPADDING=0"	var w = (args.width) ? " width=\"" + args.width + "\"" : ""	w = (args.w) ? " width=\"" + args.w + "\"" : w	h = (args.h) ? " height=\"" + args.h + "\"" : ''	var c = (args.cont) ? args.cont : ""	return htm + w + h + ">" + c + "</TABLE>"}function retTableRow(tcs,bgc){	if (tcs[0]) {		var cells = ""		for (var i = 0; i < tcs.length; i ++){			cells += tcs[i]		}	} else {		var cells = tcs	}	var bc = (bgc) ? " bgcolor=\"" + bgc + "\"" : ""	return "<tr" + bc + ">" + cells + "</tr>"}function retTableCell(){	var args = parseArgs(retTableCell.arguments)	try{ if(retVar("alerts")){showProps(args,"args")} }catch(e){}	var cont = (args.cont) ? args.cont : ""	var tc = "<td"	tc += args.common()	if(args.rStyle){		args.w = (args.sw) ? sw : (args.w) ? args.w : ''		args.h = (args.sh) ? sh : (args.h) ? args.h : ''		tc += retStyleSheet(args)	}	tc += (args.nw) ? " nowrap" : ""	tc += (args.bg) ? " bgcolor=\"" + args.bg + "\"" : ""	tc += (args.cl) ? " class=\"" + args.cl + "\"" : ""	tc += (args.w) ? " WIDTH=\"" + args.w + "\"" : ""	tc += (args.h) ? " HEIGHT=\"" + args.h + "\"" : ""	tc += (args.col) ? " COLSPAN=" + args.col : ""	tc += (args.row) ? " ROWSPAN=" + args.row : ""	if (args.ha){		var ha = args.ha		if (ha == "r") {			tc += " align=\"right\" "		} else if (ha == "c" || ha == "m") {			tc += " align=\"center\""		} else {			tc += " align=\"left\""		} 	}	if (args.va){		var va = args.va		if (va == "t") {			tc += " valign=\"top\""		} else if (va == "c" || va == "m") {			tc += " valign=\"middle\""		} else {			tc += " valign=\"bottom\""		}	}	tc += ">"	tc += (args.dv) ? retDivClass(args.dv,"",cont) : cont 	tc += (args.help) ? helpEvents(args.help) : ''	tc += "</td>"	return tc}function retDivClass(cl,al,c){	algn = (al) ? " align=\"" + al + "\"" : ""	content = (c) ? c : ""	return "<div class=\"" + cl  + "\"" + algn + ">" + content + "</div>"}function retSpan(cl,c){	content = (c) ? c : ""	return "<span class=\"" + cl  + "\"" + ">" + content + "</span>"}function retDivID(id,pos,t,l,v,bc,divC){	var args = parseArgs(retDivID.arguments)	var tag = (args.tag) ? args.tag : "div"	var cls = (args.cls) ? " class=\"" : ""	if(args.cls){cls += (args.cls != 1) ? args.cls + "\"" : args.id + "\""}	if(args.alerts){alert("cls = " + cls)}	var id = (args.id && !args.cls) ? " id=\"" + args.id + "\"" : ""	id = (args.id && (args.cls && args.cls != 1)) ? " id=\"" + args.id + "\"" : id	if(args.alerts){alert("id = " + id)}	var rd = "<" + tag + id + cls + " "	var styl = retStyleSheet(args) 	var divEnd = (args.cont) ? args.cont + "</" + tag + ">" : "</" + tag + ">" 	try{var e = (args.evnts) ? getEvntString(args.evnts) : ""; if(args.alerts){alert("using getEvntString")}}	catch(e){var e = getEvents(args.evnts); if(args.alerts){alert("using getEvents")}}	e += (args.help) ? helpEvents(args.help) : ''	if(args.alerts){alert("e = " + e)}	if(args.alerts){alert(rd + styl + e + ">" + divEnd)}	return rd + styl + e + ">" + divEnd}function retIframe(){	var args = parseArgs(retIframe.arguments)	var htm = '<iframe'	htm += (args.src) ? ' src="' + args.src + '"' : ''	htm += args.common() // returns id, cls and name tags	htm += retStyleSheet(args)	htm += ' frameborder="' + ((args.fb) ? '1"' : '0"')	htm += (args.mw) ? ' marginwidth="' + args.mw + "'" : ''	htm += (args.mh) ? ' marginheight="' + args.mh + "'" : ''	htm += (args.scroll) ? ' scrolling="' + args.scroll + '"' : ''	htm += (args.algn) ? ' align="' + args.algn + '"' : ''	htm += (args.h) ? ' height="' + args.h + '"' : ''	htm += (args.w) ? ' width="' + args.w + '"' : ''	htm += '><' + '/' + 'iframe>'	return htm}function retStyleSheet(args){	var styl = (args.curly) ? "{" : " STYLE=\""	styl += (args.pos) ? " " + possies(args.pos) : ""	styl += (args.zind) ? " z-index: " + args.zind + ";" : ""	styl += (args.top) ? " top: " + args.top + ";" : "" 	styl += (args.left) ? " left: " + args.left + ";" : ""	styl += (args.bc) ? " background-color: " + args.bc + ";" : "" 	styl += (args.vis) ? " visibility: " + visies(args.vis) + ";" : "" 	if(args.brdrl || args.brdrr || args.brdrt || args.brdrb){		if(args.brdrl){			styl += " border-left: " + args.brdrl + " " + ((args.brdrlT) ? args.brdrlT : "solid")			styl += " " + ((args.brdrlC) ? args.brdrlC + ";" : "black;")		}			if(args.brdrr){			styl += " border-right: " + args.brdrr + " " + ((args.brdrrT) ? args.brdrrT : "solid")			styl += " " + ((args.brdrrC) ? args.brdrrC + ";" : "black;")		}			if(args.brdrt){			styl += " border-top: " + args.brdrt + " " + ((args.brdrtT) ? args.brdrtT : "solid")			styl += " " + ((args.brdrtC) ? args.brdrtC + ";" : "black;")		}			if(args.brdrb){			styl += " border-bottom: " + args.brdrb + " " + ((args.brdrbT) ? args.brdrbT : "solid")			styl += " " + ((args.brdrbC) ? args.brdrbC + ";" : "black;")		}	} else if(args.brdrSpec){		styl += " border: " + args.brdrSpec + ';'	} else if(args.brdr){		styl += (args.brdr) ? "  border-width: " + args.brdr + ";" : "" 		styl += (args.brdrC) ? " border-color: " + args.brdrC + ";" : " border-color: black;"		styl += (args.brdrT) ? " border-style: " + args.brdrT + ";" : " border-style: solid;"	}	styl += (args.pad) ? " padding: " + args.pad + ";" : ""	styl += (args.padt && !args.pad) ? " padding-top: " + args.padt + ";" : ""	styl += (args.padl && !args.pad) ? " padding-left: " + args.padl + ";" : ""	styl += (args.padr && !args.pad) ? " padding-right: " + args.padr + ";" : ""	styl += (args.padb && !args.pad) ? " padding-bottom: " + args.padb + ";" : ""	styl += (args.mar) ? " margin: " + args.mar + ";" : ""	styl += (args.mart && !args.mar) ? " margin-top: " + args.mart + ";" : ""	styl += (args.marl && !args.mar) ? " margin-left: " + args.marl + ";" : ""	styl += (args.marr && !args.mar) ? " margin-right: " + args.marr + ";" : ""	styl += (args.marb && !args.mar) ? " margin-bottom: " + args.marb + ";" : ""	styl += (args.w) ? " width: " +  args.w + ";" : ""	styl += (args.h) ? " height: " +  args.h + ";" : ""	styl += (args.fCol) ? " color: " + args.fCol + ";" : ""	styl += (args.fSze) ? " font-size: " + args.fSze + ";" : ""	styl += (args.font) ? " font-family: " + args.font + ";" : ""	styl += (args.fWght) ? " font-weight: " + args.fWght + ";" : ""	styl += (args.fStyl) ? " font-style: " + args.fStyl + ";" : ""	styl += (args.line) ? " line-height: " + args.line + ";" : ""	styl += (args.oFlow) ? " overflow: " + visies(args.oFlow) + ";" : ""	styl += (args.disp) ? " display: " + args.disp + ";" : '' 	styl += (args.valgn) ? " vertical-align: " + align(args.valgn,true) + ";" : ""	styl += (args.halgn) ? " text-align: " + align(args.halgn,true) + ";" : ""	styl += (args.curs) ? " cursor: " + args.curs + ";" : ""	styl += (args.curly) ? "}" : "\"" 	return styl}function visies(v){	if (v.length > 1){		return v	} else {		var vs = new Array()		vs["v"] = "visible"		vs["h"] = "hidden"		vs["s"] = "scroll"		vs["i"] = "inherit"		vs['a'] = 'auto'		return vs[v]	}}function possies(p){	var ps = new Array()	ps["a"] = "position:absolute;"	ps["r"] = "position:relative;"	return ps[p]}function align(v,to){	var aligns = new Array()	if(to){		aligns["l"] = "left"		aligns["r"] = "right"		aligns["c"] = "center"		aligns["t"] = "top"		aligns["m"] = "middle"		aligns["b"] = "bottom"	} else {		aligns["l"] = " align=\"left\""		aligns["r"] = " align=\"right\""		aligns["c"] = " align=\"center\""		aligns["t"] = " valign=\"top\""		aligns["m"] = " valign=\"middle\""		aligns["b"] = " valign=\"bottom\""	}	return (aligns[v]) ? aligns[v] : ""}function retLink(h,cont,evnts,t){	var args = parseArgs(retLink.arguments)	var thtml = "<a href=\"" + args.href + "\""	thtml += (args.trgt) ? " target=\"" + args.trgt + "\"" : ""	thtml += (args.alt) ? " title=\"" + args.alt + "\"" : ""	thtml += (args.evnts) ? getEvents(args.evnts) : ""	thtml += (args.help) ? helpEvents(args.help) : ''	thtml += ">"	thtml += (args.cont) ? args.cont : "Need to specify content for function retLink"	thtml += "</a>"	return thtml}function retLinkFromObj(){	var args = parseArgs(retLinkFromObj.arguments)	var thtml = "<a "	thtml += (args.useStyle) ? retStyleSheet(args) : ""	thtml += " href=\"" + this.link + "\""	thtml += (this.trgt) ? " target=\"" + args.trgt + "\"" : ""	thtml += (this.alt) ? " title=\"" + args.alt + "\"" : ""	thtml += (this.evnts) ? getEvents(args.evnts) : ""	thtml += ">"	thtml += (this.text) ? this.text : "Need to specify content for function retLink"	thtml += "</a>"	var para = (args.para) ? "<p>" : ""	var pend = (args.para) ? "<" + "/" + "p>" : ""	var dv = (args.div) ? "<div>" : ""	var dve = (args.div) ? "<" + "/" + "div>" : ""	var spacer = (args.spacer) ? retDivID('h:' + args.spacer) : ''	return dv + para + thtml + pend + dve + spacer}function retImg(s,n,b,a,w,h){	var args = parseArgs(retImg.arguments)	var thtml = "<IMG"	thtml += args.common()	thtml += (args.src) ? " SRC=\"" + args.src + "\"" : ""	thtml += (args.alt) ? " alt=\"" + args.alt + "\"" : ""	thtml += (args.w) ? " width=" + args.w : ""	thtml += (args.h) ? " height=" + args.h : ""	thtml += (args.brdr) ? " border=" + b : " border=0"	thtml += (args.evnts) ? getEvents(args.evnts) : ""	thtml += ">"	return thtml}function getEvents(e,h){	var thtml = ""	var ev = (e[0]) ? e : new Array(e)	for (var i = 0; i < ev.length; i++){		thtml += (typeof ev[i] == "object") ? " " + ev[i].getStr() : " " + ev[i]	}	return thtml}function helpEvents(h){	var htm = new makeEvnt('onMouseOver','showHelp',"event,'" + h + "'").getStr()	htm += new makeEvnt('onMouseOut','hideHelp',"'" + h + "'").getStr()	return htm}function retForm(){	var args = parseArgs(retForm.arguments)	var rf = "<FORM"	rf += args.common()	rf += (args.act) ? " ACTION=\"" + args.act + "\"" : ""	rf += (args.meth) ? " METHOD=\"" + args.meth + "\"" : ""	rf += (args.trgt) ? " TARGET=\"" + args.trgt + "\"" : ""	if(args.evnts){		var evs = (args.evnts[0]) ? args.evnts : new Array(args.evnts)		for(var i = 0; i < evs.length; i++){			rf += getEvntString(evs[i])		}	}	rf += ">"	var ips = ""	if(args.inputs){//uses inputStr function from MakeForm.js also see input object from this file		var inp = (args.inputs[0]) ? args.inputs : new Array(args.inputs)		for (i = 0; i < inp.length; i++){			ips += inp[i].str2()		}	}	var ct = (args.content) ? args.content : ""	ct = (args.cont) ? args.cont : ct	rf += (args.contB4) ? ct + ips : ips + ct	return rf + "</FORM>"}function formInput(){	var args = parent.parseArgs(formInput.arguments)	this.type = (args.type) ? args.type : "hidden"	this.name = (args.name) ? args.name : ""	this.content = (args.cont) ? args.cont : ""	if(args.val){this.content += args.val}	this.events = (args.evnts) ? args.evnts : ""	this.visible = (args.vis) ? args.vis : ""	this.rows = (args.rows) ? args.rows : ""	this.cols = (args.cols) ? args.cols : ""	this.id = (args.id) ? args.id : ""	this.size = (args.size) ? args.size : ""	this.checked = (args.chk) ? true : false	this.str = inputStr(this.type,this.name,this.content,new argObj("evnts",this.events))	this.str2 = inputStrMeth}function inputStrMeth(){	var ta = (this.type && this.type.toLowerCase() == "textarea")	var inp = (ta) ? "<textarea " : "<INPUT "	inp += (this.id) ? " id=\"" + this.id + "\"" : ""	inp += (!ta) ? " TYPE=\"" + this.type + "\"" : ""	inp += (this.name) ? " NAME=\"" + this.name + "\"" : ""	inp += (this.content && !ta) ? " VALUE=\"" + ((this.content == "<empty>") ? "" : this.content) + "\"" : ""	inp += (this.size) ? " size=\"" + this.size + "\"" : ""	inp += (this.rows) ? " rows=\"" + this.rows + "\"" : ""	inp += (this.cols) ? " cols=\"" + this.cols + "\"" : ""	inp += (this.checked) ? ' checked' : ''	if (this.events){		inp += getEvntString(this.events)	}	inp += ">"	if(ta){		inp += (this.content) ? this.content : ""		inp += "<" + "/" + "textarea>"	}	return inp}function inputStr(t,n,c){//evtHandlers is an array of makeEvnt objects (see HeaderFunctions.js)	var args = parseArgs(inputStr.arguments)	t = (args.type) ? args.type : (t.indexOf(":") > -1) ? 'hidden' : t	var type = (t) ? " TYPE=\"" + t + "\"" : ""	n = (args.name) ? args.name : (n.indexOf(":") > -1) ? '' : n	var nme = (n) ? " NAME=\"" + n + "\"" : ""	try{c = (args.val) ? args.val : (c.indexOf(":") > -1) ? false : c} catch(e) {c = false}	var val = (c) ? " VALUE=\"" + c + "\"" : ""	var id = (args.id) ? " id=\"" + args.id + "\"" : ""	var sel = (args.chk) ? " " + args.chk : ""	var sze = (args.size) ? " SIZE=" + args.size : ""	sze += (args.max) ? " maxlength=\"" + args.max + "\"" : ""	var row = (args.rows) ? " rows=\"" + args.rows + "\"" : ""	var col = (args.cols) ? " cols=\"" + args.cols + "\"" : ""	var s = ""	if(args.evnts){// uses function getEvntString from HeaderFunctions.js		var ev = (args.evnts[0]) ? args.evnts : new Array(args.evnts)		for (i = 0; i < ev.length; i++){			s += getEvntString(ev[i])		}	}	return "<INPUT" + id + type + nme + val + sze + sel + s + row + col + ">"}function getEvntString(e,n,j,p){	if(e){		var evs = (e[0]) ? e : new Array(e)		var str = ""		for (var y = 0; y < evs.length; y++){			if(evs[y].params[0]){				var prams				for(var i = 0; i < e.params.length; i++){					prams += (i == e.params.length - 1) ? "'" + e.params[i] + "'" : "'" + e.params[i] + "',"				}				str += " " + e.name + "=\"" + e.functn + "(" + prams + ")\""			} else {				if(evs[y].params){					//str += " " + e.name + "=\"" + e.functn + "(" + e.params + ")\""					str += " " + evs[y].getStr()				} else {					str += " " + evs[y].name + "=\"" + evs[y].functn + "()\""				}			}		}		return str	} else {		return " " + n + "=\"" + j + "(" + p + ")\""	}}// DOM functionsfunction retDOMImput(val , func ){	var rsb = document.createElement('input')	rsb.setAttribute('type','button')	rsb.setAttribute('value',val)	rsb.onclick = func	return rsb}
