function _ddsys() { this.nodetails=[]; this.mapping=[]; this.match_map=[]; this.full=''; this.disp=''; } _ddsys.prototype.setsel=function(val) { // IE bug workaround if (document.all) { var sbs=document.getElementsByTagName('SELECT'); for (var i in sbs) if (sbs[i].style) sbs[i].style.display=val; } }; _ddsys.prototype.show_choices=function(where,field,match) { this.setsel('none'); var F=GE(field); var FDD=GE('dd'); FDD.style.display='block'; FDD.style.height='300px'; FDD.style.width=(F.offsetWidth-2)+'px'; FDD.style.overflow='hidden'; FDD.style.overflowY='auto'; var pos=getPos(F); FDD.style.left=pos[0]+'px'; FDD.style.top=(pos[1]+F.offsetHeight-1)+'px'; SXreq('dd','http://www.latinoise.com/appz/search.php?pfx='+this.pfx+'&where='+where+'&field='+field.replace(this.pfx+'_','')+'&match='+encodeURIComponent(match)+'&match_map='+encodeURIComponent(this.match_map[field.replace(this.pfx+'_','')])+'&limit=20&full='+this.full+'&targetpath='+encodeURIComponent(this.targetpath)+'&disp='+encodeURIComponent(this.disp)+(this.nodetails?'&nodetails=1':'')); }; _ddsys.prototype.dd_hide=function() { GE('dd').style.display='none'; } /* F.".$pg.".cust_search.nodetails=1; F.".$pg.".cust_search.full='fname,mname,lname,customer_id,addr,city,zip,state,country'; // use these values F.".$pg.".cust_search.disp='(fname) (mname) (lname)
(addr), (city) (zip)
(state), (country)
'; // display format F.".$pg.".cust_search.mapping['fname']='fname mname lname'; // map more values to a field when filling F.".$pg.".cust_search.match_map['fname']='fname,mname,lname'; // match any of these for a field F.".$pg.".cust_search.init_dd_system('mis_customers','".$pg."','F.".$pg.".cust_search'); */ _ddsys.prototype.select=function(fs,vs) { this.sel_in_progress=1; this.setsel('inline'); var fields=fs.split(','); if (vs==false) { document.getElementById('dd').style.display='none'; this.sel_in_progress=0; return true; } var vals=vs.split(','); var dsp=this.disp.split(','); for (var i in fields) if (!isNaN(i)) { vals[i]=vals[i].replace(/_comma_/g,','); vals[i]=vals[i].replace(/\\n/g,"\n"); } var m2=new Array(); for (var i in fields) { if (this.mapping[fields[i]]) { // real to display mappings m2[fields[i]]=this.mapping[fields[i]]; for (var j in fields) { // m2[fields[i]]=m2[fields[i]].replace(fields[j],vals[j]); var rpl=m2[fields[i]].indexOf(fields[j]); var sb=(m2[fields[i]].charAt(rpl-1)==' ' && m2[fields[i]].charAt(rpl+fields[j].length)==' '); if (rpl!=-1) m2[fields[i]]=m2[fields[i]].substr(0,rpl)+vals[j]+m2[fields[i]].substr(rpl+fields[j].length+(sb && vals[j]==''?1:0)); } vals[i]=m2[fields[i]]; } } for (var i in fields) if (!isNaN(i)) { var F=GE(this.pfx+'_'+fields[i]); // alert(this.pfx+'_'+fields[i]+' '+F); if (F) { if (F.options) { for (var j=0; j1 && this.onfillall!=undefined) { this.onfillall(); } this.sel_in_progress=0; }; _ddsys.prototype.init_dd_system=function(where,pfx,targetpath) { this.pfx=pfx; this.where=where; this.targetpath=targetpath; var targets=new Array('INPUT','TEXTAREA'); for (var t in targets) { var inputs=document.getElementsByTagName(targets[t]); for (var i in inputs) { if (inputs[i]) if (inputs[i].className) if (inputs[i].className.match('searchable') && inputs[i].id.match(this.pfx) && this.full.indexOf(inputs[i].id.replace(this.pfx+'_',''))!=-1) { inputs[i].O=this; addEvent(inputs[i],"keydown",function(e) { //if (e) { if (e.keyCode==13) } this.O.hide=(e && e.keyCode==27); }); addEvent(inputs[i],"keyup",function(e) { if (this. value!='' && !this.O.hide) this.O.show_choices(this.O.where,this.id,this.value,this.O.pfx); else this.O.dd_hide(); }); addEvent(inputs[i],"click",function(e) { this.select(); }); addEvent(inputs[i],"focus",function(e) { this.O.dd_hide(); }); addEvent(inputs[i],"blur",function(e) { setTimeout('if (!'+this.O.targetpath+'.sel_in_progress) '+this.O.targetpath+'.dd_hide();',200); }); } } } };