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+=' <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+=' <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> '; 373 374s+='<p align="center"><input type="button" value="Finished" onClick="fbz_saveOptions(\''+id+'\');window.top.fbz_optwin.window.top.TINY.box.hide();"> <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.