PageSourceSearch

https://www.fullmontyshow.com/js/fbz_formopts.js

js fullmontyshow.com collected 2026-09-29 16:54:37 UTC 10,932 bytes, 397 lines download raw bytes

1function $$(id){return window.top.fbz_optwin.document.getElementById(id);}
2function $$$(id){return window.top.document.getElementById(id);}
3function fbz$(id){return document.getElementById(id);}
4
5function fbz_findit(id)
6{
7var vv,vz;
8try{
9try{vv=$$(id);vz=vv.innerHTML;}catch(e){} 
10if(vv=='' || vv==null) {try{vv=fbz$(id);vz=vv.innerHTML;}catch(e){}}
11if(vv=='' || vv==null) {try{vv=$$$(id);}catch(e){}}
12} catch(e){}
13return vv;
14}
15
16function fbz_defaultOption(id,count,o)
17{
18 var x;
19 x=fbz_findit(id);
20
21 if(o.type=='radio')
22 {
23	for(i=0;i<x.defaultoptions.length;i++){x.defaultoptions[i]=false;}
24 }
25 if(o.checked)
26 {
27	x.defaultoptions[count]=o.id;
28 } else {
29	x.defaultoptions[count]=false;
30 }
31}
32
33function fbz_editOption(id,count,value)
34{
35var o;
36var n;
37var x;
38var z;
39
40o=fbz_findit(id+'_opt_list_'+count);
41n=fbz_findit(id+'_new_opt');
42x=fbz_findit(id);
43
44var p=o.parentNode;
45for(i=0;i<p.childNodes.length;i++){if(p.childNodes[i].id==(id+'_opt_list_'+count)){x.savedoptions[i]=value;break;}}
46
47}
48
49function fbz_editDbval(id,count,value)
50{
51var o;
52var n;
53var x;
54var z;
55
56o=fbz_findit(id+'_opt_list_'+count);
57n=fbz_findit(id+'_new_opt');
58x=fbz_findit(id);
59
60var p=o.parentNode;
61for(i=0;i<p.childNodes.length;i++){if(p.childNodes[i].id==(id+'_opt_list_'+count)){x.dbvalues[i]=value;break;}}
62
63}
64
65var iel;
66var ival;
67
68function fbz_moveOption(id,count,up)
69{
70var o;
71var n;
72var x;
73var z;
74
75o=fbz_findit(id+'_opt_list_'+count);
76n=fbz_findit(id+'_new_opt');
77x=fbz_findit(id);
78
79var p=o.parentNode;
80for(i=up;i<p.childNodes.length;i++)
81{
82 if(p.childNodes[i].id==(id+'_opt_list_'+count))
83 {
84  var opt=x.savedoptions[i];
85  var val=x.dbvalues[i];
86  var def=x.defaultoptions[i];
87  x.savedoptions.splice(i,1);
88  x.dbvalues.splice(i,1);
89  x.defaultoptions.splice(i,1);
90  var el=p.removeChild(p.childNodes[i]);
91  if(!up)
92  {
93	if(i<(p.childNodes.length-1)) 
94	{
95		p.insertBefore(el,p.childNodes[i+1]); 
96		x.savedoptions.splice(i+1,0,opt);
97		x.dbvalues.splice(i+1,0,val);
98		x.defaultoptions.splice(i+1,0,def);
99	} else {
100		p.appendChild(el);
101		x.savedoptions.push(opt);
102		x.dbvalues.push(val);
103		x.defaultoptions.push(def);
104	}
105  } else {
106	p.insertBefore(el,p.childNodes[i-1]); 
107	x.savedoptions.splice(i-1,0,opt);
108	x.dbvalues.splice(i-1,0,val);
109	x.defaultoptions.splice(i-1,0,def);
110  }
111
112 fbz_fadein(o);
113
114  break;
115 }
116}
117}
118
119function fbz_fadein(o)
120{
121 if(iel!=null)
122 {
123  clearInterval(ival);
124  iel.style.border=iel.fbz_border;
125  iel.fbz_counter=0;
126  iel.style.opacity='1.0';
127 }
128
129  o.fbz_border=o.style.border;
130  o.fbz_counter=50;
131  o.style.opacity='0.1';
132
133 iel=o;
134 ival=setInterval(function(o){fbz_border();},10);
135}
136
137function fbz_border()
138{
139try{
140 iel.fbz_counter--;
141 if(iel.fbz_counter<=0)
142 {
143  clearInterval(ival);
144  iel.style.border=iel.fbz_border;
145  iel.style.opacity='1';
146 } else {
147  iel.style.opacity=1.0-iel.fbz_counter/50.0;
148 }
149} catch(e)
150{
151 window.clearInterval(ival);
152 iel=null;
153}
154}
155
156function fbz_delOption(id,count)
157{
158var o;
159var n;
160var x;
161var z;
162
163o=fbz_findit(id+'_opt_list_'+count);
164n=fbz_findit(id+'_new_opt');
165x=fbz_findit(id);
166
167var p=o.parentNode;
168for(i=0;i<p.childNodes.length;i++){if(p.childNodes[i].id==(id+'_opt_list_'+count)){p.removeChild(p.childNodes[i]);x.savedoptions.splice(i,1);x.dbvalues.splice(i,1);x.defaultoptions.splice(i,1);break;}}
169
170window.top.TINY.box.resize();
171}
172
173function fbz_disableoptlistadd(b)
174{
175	try{fbz$('optlisteditor_add').disabled=b;} catch(e){}
176	try{$$('optlisteditor_add').disabled=b;} catch(e){}
177	try{$$$('optlisteditor_add').disabled=b;} catch(e){}
178}
179
180function fbz_AddOption(id,t)
181{
182var v;
183var o;
184var n;
185var x;
186var z;
187
188o=fbz_findit(id+'_opt_list');
189n=fbz_findit(id+'_new_opt');
190x=fbz_findit(id);
191
192v=n.value;
193
194if(v=='')
195{
196	alert('Enter the option first, then add it');
197} else {
198
199	var h='';
200
201	var d=document.createElement('div');
202	d.style.borderRadius='px';
203	d.style.backgroundColor='#E4E4E4';
204	d.style.border='1px solid #AAA';
205	d.style.margin='6px 0 6px 0';
206	d.style.padding='0.4em';
207	d.id=id+'_opt_list_'+nopts;
208
209//	h+='<div style="border-radius:4px;background-color:#E4E4E4;border:1px solid #AAA;margin:6px 0 6px 0;padding:0.4em;xcursor:move;" id="'+id+'_opt_list_'+nopts+'">';
210
211	h+='<input style="width:220px;padding-right:0.3em;" onKeyUp="fbz_editOption(\''+id+'\','+nopts+',this.value);" type="text" value="'+v+'">';
212	h+='&nbsp;<input style="width:35px;padding-right:0.3em;" type="text" onKeyUp="fbz_editDbval(\''+id+'\','+nopts+',this.value);" value="">';
213	h+='<div style="float:right;">';
214	var deftype=t;
215	if(t=='list')
216	{
217		deftype='radio';
218	}	
219	h+='<input type="'+deftype+'" name="'+id+'_default" id="'+id+'_'+nopts+'_default" onClick="fbz_defaultOption(\''+id+'\','+nopts+',this);" title="Set as default selection" value="'+nopts+'">';
220	
221	h+='<img onClick="fbz_moveOption(\''+id+'\','+nopts+',1);" style="cursor:pointer;width:12px;height:12px;opacity:0.5" src="../../images/up.gif"> <img onClick="fbz_moveOption(\''+id+'\','+nopts+',0);" style="cursor:pointer;width:12px;height:12px;opacity:0.5" src="../../images/down.gif">
221 <img onClick="alert(this.id);fbz_delOption(\''+id+'\','+nopts+');" style="cursor:pointer;width:12px;height:12px;opacity:0.5" src="../../images/close.gif"></div>';
222
223//	h+='</div>';
224
225	d.innerHTML=h;
226	o.appendChild(d);
227
228	x.savedoptions.push(v);
229	x.dbvalues.push('');
230	x.defaultoptions.push(0);
231
232	window.top.TINY.box.resize();
233
234	n.value='';
235	fbz_disableoptlistadd(true);
236
237	for(i=0;i<x.defaultoptions.length;i++)
238	{
239		if(x.defaultoptions[i]) fbz$(x.defaultoptions[i]).checked=true;
240	}
241
242	nopts++;
243}
244
245}
246
247function fbz_saveOptions(id)
248{
249var v='';
250var d='';
251var el;
252el=fbz_findit(id);
253for(i=0;i<el.savedoptions.length;i++)
254{
255var x=el.savedoptions[i];
256var y=el.dbvalues[i];
257v+=x;
258if(y!='')
259{
260v+='\t'+y;
261}
262v+='\n';
263if(el.defaultoptions[i]){if(d!=''){d+=',';}d+=x;}
264}
265
266el.value=v.trim();
267var defs=id.replace("_values","_default");
268var defel=fbz_findit(defs);
269defel.value=d.trim();
270
271var pre=fbz_findit(id+'_pre');
272var c=fbz_findit(id+'_count');
273
274pre.innerHTML='';
275if(el.savedoptions.length==1) pre.innerHTML=el.savedoptions[0]+'\t'+el.dbvalues[0];
276else if(el.savedoptions.length==2) pre.innerHTML=el.savedoptions[0]+'\t'+el.dbvalues[0]+'\r\n'+el.savedoptions[1]+'\t'+el.dbvalues[1];
277else if(el.savedoptions.length==3) pre.innerHTML=el.savedoptions[0]+'\t'+el.dbvalues[0]+'\r\n'+el.savedoptions[1]+'\t'+el.dbvalues[1]+'\r\n'+el.savedoptions[2]+'\t'+el.dbvalues[2];
278else if(el.savedoptions.length>3) pre.innerHTML=el.savedoptions[0]+'\t'+el.dbvalues[0]+'\r\n...\r\n'+el.savedoptions[el.savedoptions.length-1]+'\t'+el.dbvalues[el.savedoptions.length-1];
279
280if(el.savedoptions.length==1) {c.innerHTML='1 item';} else {c.innerHTML=el.savedoptions.length+' items';}
281
282el.savedoptions=null;
283el.dbvalues=null;
284el.defaultoptions=null;
285
286}
287
288var nopts=0;
289
290function fbz_optEditor(id,t)
291{
292var s;
293s='';
294s+='<div style="width:370px;" class="bodytext">';
295s+='<h2>Item Editor</h2>';
296if(t=="list")
297{
298 s+="<p>Manage the items in this list. The topmost item will be the default selection.</p>";
299} else if(t=='radio')
300{
301 s+="<p>Define the choices available to the user, picking the default using the radio button. If you want the database to store something other than the label as the selected value (e.g. Store 'MA' when the user picks the state 'Massachusetts'), enter the value to be stored (in this case 'MA') in the relevant 'FB Value' field.</p>";
302} else if(t=='checkbox')
303{
304 s+="<p>Define the options available, and check the ones to be selected by default.</p>";
305}
306
307var val=fbz$(id).value;
308//var b2col=val.search('\t')!=-1;
309
310var a=fbz$(id).value.split('\n');
311if(1/*b2col*/)
312{
313 s+='<table border=0 cellpadding=0 cellspacing=0 style="margin-top:0.7em"><tr><td width="240"><b>Option Label</b></td><td width="75"><b>DB Value</b></td></tr></table></p>';
314}
315s+='<div style="width:365px;" id="'+id+'_opt_list">';
316var i=0;
317nopts=0;
318fbz$(id).savedoptions=new Array;
319fbz$(id).dbvalues=new Array;
320fbz$(id).defaultoptions=new Array;
321
322if(fbz$(id).value!='')
323{
324 var defs=id.replace("_values","_default");
325 var d={};
326 var dd=fbz$(defs).value.trim().split(",");
327 for(i=0;i<dd.length;i++)
328 {
329 d[dd[i]]=dd[i];
330 }
331
332 for(i=0;i<a.length;i++)
333 {
334  var c=a[i].split('\t');
335  var b=(c[0]==d[c[0]]);
336
337  s+='<div style="border-radius:4px;background-color:#E4E4E4;border:1px solid #AAA;margin:6px 0 6px 0;padding:0.4em;xcursor:move;" id="'+id+'_opt_list_'+i+'">';
338  s+='<input style="padding-right:0.3em;width:220px" type="text" onKeyUp="fbz_editOption(\''+id+'\','+nopts+',this.value);" value="'+c[0]+'">';
339  if(1/*b2col*/) s+='&nbsp;<input style="padding-right:0.3em;width:35px" type="text" onKeyUp="fbz_editDbval(\''+id+'\','+nopts+',this.value);" value="'+(c.length>1?c[1]:'')+'">';
340  s+='<div onmouseover="this.style.opacity=1.0" onmouseout="this.style.opacity=0.5" style="float:right;opacity:0.5">';
341  var deftype=t;
342  if(t=='list')
343  {
344   deftype='radio';
345  }	
346
347  s+='<input type="'+deftype+'" '+(b?'checked':'')+' name="'+id+'_default" id="'+id+'_'+nopts+'_default" title="Set as default selection" onClick="fbz_defaultOption(\''+id+'\','+nopts+',this);" value="'+nopts+'">';
348  s+='<img onClick="fbz_moveOption(\''+id+'\','+nopts+',1);" style="cursor:pointer;width:12px;height:12px;" src="../../images/up.gif"> ';
349  s+='<img onClick="fbz_moveOption(\''+id+'\','+nopts+',0);" style="cursor:pointer;width:12px;height:12px;" src="../../images/down.gif"> ';
350  s+='<img onClick="fbz_delOption(\''+id+'\','+nopts+');" style="cursor:pointer;width:12px;height:12px;" src="../../images/close.gif"></div>';
351  s+='</div>';
352
353  nopts++;
354  fbz$(id).savedoptions.push(c[0]);
355  if(c.length==1)
356  {
357   fbz$(id).dbvalues.push('');
358  } else {
359   fbz$(id).dbvalues.push(c[1]);
360  }
361  if(!b)
362  {
363	fbz$(id).defaultoptions.push(false);
364  } else {
365	fbz$(id).defaultoptions.push(id+'_'+nopts+'_default');
366  }
367 }
368}
369s+='</div>';
370
371// enable a new option to be added
372s+='<hr style="margin:1em 0 1em 0"><p align="center"><input type="text" id="'+id+'_new_opt" value="" onKeyUp="if(this.value==\'\'){fbz_disableoptlistadd(true);} else {fbz_disableoptlistadd(false);}"> <input type="button" disabled id="optlisteditor_add" value="Add New Item" onClick="fbz_AddOption(\''+id+'\',\''+t+'\');"></p>&nbsp;';
373
374s+='<p align="center"><input type="button" value="Finished" onClick="fbz_saveOptions(\''+id+'\');window.top.fbz_optwin.window.top.TINY.box.hide();"> &nbsp; &nbsp; <input type="button" value="Cancel" onClick="window.top.fbz_optwin.window.top.TINY.box.hide();"></div>';
375s+='</p>';
376
377// make sure bottom of box is OK
378
379fbz$(id+'_popup').innerHTML=s;
380
381// show the popup
382showPopup(id,0);
383window.top.TINY.box.resize();
384
385};
386
387window.top.fbz_delOption=fbz_delOption;
388window.top.fbz_AddOption=fbz_AddOption;
389window.top.fbz_saveOptions=fbz_saveOptions;
390window.top.fbz_optEditor=fbz_optEditor;
391window.top.fbz_optwin=window.self;
392window.top.fbz_moveOption=fbz_moveOption;
393window.top.fbz_editOption=fbz_editOption;
394window.top.fbz_editDbval=fbz_editDbval;
395window.top.fbz_defaultOption=fbz_defaultOption;
396window.top.fbz_disableoptlistadd=fbz_disableoptlistadd;
397window.top.fbz_findit=fbz_findit;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.