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); });
}
}
}
};