// Consolidated javascript routines v.1.1
// Copyright (c) Allagraf Limited 2008-9, except where indicated. All rights reserved.
//
// standard DOM functions
function d_mk(el,par,tx,cl,ats){var ch=d_ce(el);if(tx)d_st(ch,tx);if(cl)d_cn(ch,cl);
if(ats){for(var i in ats)d_sa(ch,i,ats[i]);}if(par)d_ac(par,ch);return ch;}
function d_ac(par,ch){var p=d_x(par);var c=d_x(ch);if(p&&c)p.appendChild(c);}
function d_ae(el,ev,fn){var e=d_x(el);if(e){if(e.addEventListener){
e.addEventListener(ev,fn,false);return true;}else if(e.attachEvent){
var r=e.attachEvent("on"+ev,fn);return r;}else return false;}else return false;}
function d_cd(e){if(!e)e=window.event;e.returnValue=false;
if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();
return false;}
function d_ce(el){return document.createElement(el);}
function d_cl(ob){var o=d_x(ob);if(o){while(o.firstChild)o.removeChild(o.firstChild);}}
function d_cn(el,cl){var e=d_x(el);if(e){if(d_a(cl)){for(var i=0;i<cl.length;i++)
e.className+=e.className?' '+cl[i]:cl[i];}else e.className=cl;}}
function d_cs(st,ru,de){var x=d_gs(st);if(x)x.style[ru]=de;}
function d_de(el,ev,fn){var e=d_x(el);if(e){if(e.removeEventListener)
e.removeEventListener(ev,fn,false);else if(e.detachEvent)e.detachEvent("on"+ev,fn);
else e["on"+ev]=null;}}
function d_ex(ob){return (typeof ob!='undefined');}
function d_gb(){return document.getElementsByTagName('body')[0];}
function d_ge(id){return document.getElementById(id);}
function d_gp(ob,pn){var p=ob.parentNode;while(p&&p.nodeName.toLowerCase()!=pn)
p=p.parentNode;return p;}
function d_gs(st){var term=(document.styleSheets[0].rules)?'rules':((document.styleSheets[0].cssRules)?'cssRules':null);
if(term){for(var i=0;i<document.styleSheets.length;i++){var dst=document.styleSheets[i][term];
for(var j=0;j<dst.length;j++){if(dst[j].selectorText=='.'+st)return dst[j];}}}return null;}
function d_gt(e){if(!e)e=window.event;var te=null;if(e.target)te=e.target;
else te=e.srcElement;while(te.nodeType==3&&te.parentNode!=null)te=te.parentNode;return te;}
function d_rh(e){if(!e)e=window.event;if(e.which)return(e.which==3);
else if(e.button)return(e.button==2);else return false;}
function d_rm(id){var o=d_x(id);if(o)o.parentNode.removeChild(o);} 
function d_rp(ob,nb){ob.parentNode.replaceChild(nb,ob);} 
function d_sa(par,att,val){var p=d_x(par);if(p){p.setAttribute(att,'');p[att]=val;}} 
function d_sd(e){e.returnValue=false;if(e.preventDefault)e.preventDefault();}
function d_ss(el,st,de){var e=d_x(el);if(e)e.style[st]=de;}  
function d_st(el,tx){var t=document.createTextNode(unescape(tx));d_ac(el,t);}
function d_tb(par){var p=d_x(par);if(p){var t=d_mk('table',par);t.cellSpacing=0;
t.cellPadding=0;d_mk('thead',t);d_mk('tfoot',t);return d_mk('tbody',t);}else return false;} 
function d_tt(el,tx,cl,sc){var st=d_x(el);if(st){d_cl(st);if(tx){d_st(st,tx);
if(cl)d_cn(st,cl);if(sc)setTimeout("d_tt('"+el+"')",sc);}else{d_st(st,'%a0');d_cn(st,'');}}}
function d_tx(){if(document.getSelection)return document.getSelection();
else if(document.selection&&document.selection.createRange)
return document.selection.createRange().text;else return false;}
function d_a(v){return(v instanceof Array);}
function d_x(v){if(typeof(v)=='string')return d_ge(v);else if(typeof(v)=='object')
return v;else return false;}
// standard DHTML functions
// note uses some standard element IDs
var win_maxz = 1;
function dh_dia(wi,ix,ti,tx,fl,bt,ifrsrc,ifrht,defo){var di=d_ge('dia');if(d_ex(di))
dh_can();di=dh_dia_top(wi);if(defo)window.defo=defo;d_ae(document,'keypress',dh_keys);
var dttl=d_mk('p',di,ti,'diattl');var clim=d_mk('img',dttl,'','diabt1',{'src':Config.dht.closebtn});
clim.style.top='10px';clim.style.left=(wi-30)+'px';clim.onclick=dh_can;
var diatx=d_mk('div',di,'','diatxt');if(tx)diatx.innerHTML=fst_nl2br(tx);if(ifrsrc){
var ifr=d_mk('iframe',di,'','',{'id':'ifr','width':di.offsetWidth-12,'src':ifrsrc,'frameborder':'no'});
if(ifrht)ifr.height=ifrht;ifr.frameborder='0';d_ss(ifr,'borderWidth','0px');dh_dia_bot(di);
return true;}else if(!ix){dh_dia_bot(di);return diatx;
}else{d_mk('table',di,'','',{'width':di.offsetWidth*0.8,'align':'center','id':'tbl'+ix});
var tb=new Jstable(ix,fl);tb.setpagebtns(bt);tb.setsingle(true);tb.writetable();
dh_dia_bot(di);if(fl[0])d_ge(tb.fmt.geth(0,1) + ':' + tb.fmt.geth(0,2)).select();
return tb;}}
function dh_dia_top(wi){var sp=dh_gsp();var vs=dh_gvs();var ps=dh_gps();
if(vs[1]>ps[1])ps[1]=vs[1];var bd=d_gb();var cn=d_mk('div',bd,'','curtain',{'id':'cur'});
d_ss(cn,'position','absolute');d_ss(cn,'left',0);d_ss(cn,'top',0);d_ss(cn,'width',ps[0]+'px');
d_ss(cn,'height',ps[1]+'px');var diwi=(wi)?wi:ps[0]*0.4;
var di=d_mk('div',bd,'','dialog',{'id':'dia'});d_ss(di,'width',diwi+'px');
d_ss(di,'visibility','hidden');d_ss(di,'position','absolute');return di;}
function dh_dia_bot(di){var sp=dh_gsp();var vs=dh_gvs();
d_ss(di,'left',sp[0] + parseInt(vs[0]/2) - parseInt(di.offsetWidth/2) + 'px');
d_ss(di,'top',sp[1] + parseInt(vs[1]/2) - parseInt(di.offsetHeight/2) + 'px');
d_ss(di,'visibility','visible');}
function dh_gsp(){var pos=[0,0];if(d_ex(window.pageXOffset))pos=[window.pageXOffset,window.pageYOffset];
else if(d_ex(document.documentElement.scrollLeft)&&document.documentElement.scrollTop>0)
pos=[document.documentElement.scrollLeft,document.documentElement.scrollTop];
else if(d_ex(document.body.scrollLeft))pos=[document.body.scrollLeft,document.body.scrollTop];
return pos;}
function dh_dndstart(e,t){if(!e)e=window.event;if(!d_ex(e.pageX)){
e.pageX=e.clientX+dh_gsp()[0];e.pageY=e.clientY+dh_gsp()[1];}document.curtgt=t;
var cl=parseInt(t.style.left);var ct=parseInt(t.style.top);if(isNaN(cl))cl='0';
if (isNaN(ct))ct='0';if(!d_ex(t.originLeft)){t.originLeft=cl;t.originTop=ct;} 
t.cox=e.pageX;t.coy=e.pageY;t.dx=cl-e.pageX;t.dy=ct-e.pageY;
d_ae(document,'mousemove',dh_dndchkmove);d_ae(document,'mouseup',t.fnclick);
d_cd(e);return false;}
function dh_dndchkmove(e){if(!e)e=window.event;if(!d_ex(e.pageX)){
e.pageX=e.clientX+dh_gsp()[0];e.pageY=e.clientY+dh_gsp()[1];}var t=document.curtgt;
if(Math.abs(t.cox-e.pageX)>3||Math.abs(t.coy-e.pageY)>3){ 
d_de(document,'mousemove',dh_dndchkmove);d_de(document,'mouseup',t.fnclick); 
d_ae(document,'mousemove',t.fnmove);d_ae(document,'mouseup',t.fndrop); 
d_ae(document,'click',dh_dndclick);}d_cd(e);return false;}
function dh_dndcanmove(){var t=document.curtgt;d_de(document,'mousemove',dh_dndchkmove); 
d_de(document,'mouseup',t.fnclick);d_de(document,'click',dh_dndclick);return false;}
function dh_dnddomove(e){if(!e)e=window.event;if(!d_ex(e.pageX)){
e.pageX=e.clientX+dh_gsp()[0];e.pageY=e.clientY+dh_gsp()[1];}var t=document.curtgt;
if(t.style.zIndex<win_maxz)t.style.zIndex=++win_maxz;t.style.left=e.pageX+t.dx+'px';
t.style.top=e.pageY+t.dy+'px';d_cd(e);return true;}
function dh_dndendmove(e){var t=document.curtgt;d_de(document,'mousemove',t.fnmove); 
d_de(document,'mouseup',t.fndrop);return true;} 
function dh_dndclick(e){if(!e)e=window.event;d_de(document,'click',dh_dndclick); 
d_cd(e);return true;} 
function dh_gvs(){var sz=[0,0];if(d_ex(window.innerWidth))sz=[window.innerWidth,window.innerHeight];
else if(d_ex(document.documentElement.clientWidth)&&document.documentElement.clientWidth>0)	
sz=[document.documentElement.clientWidth,document.documentElement.clientHeight];else
sz=[document.getElementsByTagName('body')[0].clientWidth,document.getElementsByTagName('body')[0].clientHeight];
return sz;}
function dh_gps(){var bd=d_gb();var bow=bd.offsetWidth;var boh=bd.offsetHeight;
var bsw=bd.scrollWidth;var bsh=bd.scrollHeight;var ps=[0,0];if(d_ex(document.documentElement.scrollWidth))
ps=[document.documentElement.scrollWidth,document.documentElement.scrollHeight];
if(bow>ps[0])ps[0]=bow;if(boh>ps[1]);ps[1]=boh;if(bsw>ps[0]);ps[0]=bsw;
if(bsh>ps[1]);ps[1]=bsh;return ps;}
function dh_gpo(el){var px=0;var py=0;while(el!=null){px+=el.offsetLeft;
py+=el.offsetTop;el=el.offsetParent;}return[px,py];}
function dh_gsc(){var vs=dh_gvs();var ps=dh_gps();if(vs[1]>ps[1])ps[1]=vs[1];return ps;}
function dh_to(o){return(typeof o != 'undefined');}
function dh_can(){d_de(document,'keypress',dh_keys);d_rm('dia');d_rm('cur');window.defo=null;}
function dh_keys(e){if(!e)e=window.event;if(e.keyCode==27)dh_can();
if(window.defo&&e.keyCode==13){document.activeElement.blur();eval(window.defo);}}
// Fieldset object and functions
function Fset(hdrs){if(!hdrs)hdrs=new Array();this.hary=hdrs;this.hct=hdrs.length;
this.hdr43=new Array();this.wwg;
this.geth=function(hno,pos){if(pos==1&&this.hary[hno][2]==43)
return this.hary[hno][4]['fld'];else return this.hary[hno][pos];}
this.mklb=function(hno){var hdr=this.hary[hno];var td=d_mk("td",'',unescape(hdr[0]));
if(hdr[4]["tdclass"])d_cn(td,hdr[4]["tdclass"]);else d_cn(td,'tb_label');return td;}
this.mkfm=function(rw){var fm='';if(this.wwg)this.wwg.downdate();
var inps;var txts;var sels;if(rw.constructor==(new Array).constructor){
inps=rw[0].getElementsByTagName('INPUT').concat(rw[1].getElementsByTagName('INPUT'));
txts=rw[0].getElementsByTagName('TEXTAREA').concat(rw[1].getElementsByTagName('TEXTAREA'));
sels=rw[0].getElementsByTagName('SELECT').concat(rw[1].getElementsByTagName('SELECT'));
}else{inps=rw.getElementsByTagName('INPUT');txts=rw.getElementsByTagName('TEXTAREA');
sels=rw.getElementsByTagName('SELECT');}for(i=0;i<inps.length;i++){
if(inps[i].className==Config.css.invalid)return false;var ptr=inps[i].id.indexOf(":");
var typ=inps[i].id.substr(ptr+1);if(typ=='40')
fm+=inps[i].name+'='+this.conv(inps[i].checked,typ)+'&';else 
fm+=inps[i].name+'='+this.conv(inps[i].value,typ)+'&';}for(i=0;i<txts.length;i++){
var ptr=txts[i].id.indexOf(":");var typ=txts[i].id.substr(ptr+1);
if(txts[i].className==Config.css.invalid&&typ!='33')return false;
fm+=txts[i].name+'='+this.conv(txts[i].value,typ)+'&';}for(i=0;i<sels.length;i++){
if(sels[i].className==Config.css.invalid)return false;var ptr=sels[i].id.indexOf(":");
var typ=sels[i].id.substr(ptr+1);fm+=sels[i].name+'='+this.conv(sels[i].value,typ)+'&';}
return fm.substr(0,fm.length-1);}
this.mkdt=function(v,hno){var hdr=this.hary[hno];if(!v&&hdr[4]["default"])
v=hdr[4]["default"];v=unescape(v);var td;var ttl;if(hdr[2]>12&&hdr[2]<16&&hdr[4]["cols"]){
if(v.length>hdr[4]["cols"]){ttl=v;v=v.substr(0,hdr[4]["cols"]-3)+ '...';}}
switch(hdr[2]){case 3:td=d_mk("td",'',fst_curr(v,hdr));d_ss(td,'textAlign','right');
break;case 4:if(hdr[4]["debit"]){if(v<0)td=d_mk("td",'',fst_curr(Math.abs(v),hdr));
else td=d_mk("td");}else{if(v>=0)td=d_mk("td",'',fst_curr(v,hdr));else
td=d_mk("td");}d_ss(td,'textAlign','right');break;case 7:td=d_mk("td",'',fst_curr(v,hdr)+'%');
d_ss(td,'textAlign','right');break;case 15:td=d_mk("td",'',v.toUpperCase());break;
case 20:td=d_mk("td");if(v!=''&&v!=unescape('%a0'))d_mk("a",td,v,'',{'href':'mailto:'+v});break; 
case 21:td=d_mk("td",'',fst_date(v,false));break;case 22:if(v==0||v=='0')v=false;	
td=d_mk("td",'',fst_date(v,true));break;case 23:var h=Math.round(v/3600,0);
var m=Math.round(v/60-h*60,0);if(m<10)m='0'+m;td=d_mk("td",'',h+':'+m);
d_ss(td,'textAlign','right');break;case 24:td=d_mk("td");
var w=(hdr[4]["href"])?hdr[4]["href"]+v:v;if(hdr[4]["link"])
d_mk("a",td,hdr[4]["link"],'',{"href":w});else d_mk("a",td,v,'',{"href":w});break;
case 25:td = d_mk("td"); var sp=d_mk("span",td,v);if(hdr[4]["class"])
d_cn(sp,hdr[4]["class"]);if(hdr[4]["onclick"])sp.onClick=hdr[4]["onclick"];break;
case 26:td=d_mk("td",'',v);d_ss(td,'textAlign','center');break;
case 27:td=d_mk("td",'',v);d_ss(td,'textAlign','right');break;
case 28: case 29:td = d_mk("td",'','****');break;
case 30: case 31: case 32: case 33:if(v.length>200){v=v.substr(0,200)+'...';}
td=d_mk("td");di=d_mk("div",td);di.innerHTML=v;break;case 40:if(v!=0){if(hdr[4]["istrue"])
td=d_mk("td",'',hdr[4]["istrue"]);else td=d_mk("td",'','yes');}else{if(hdr[4]["isfalse"])
td=d_mk("td",'',hdr[4]["isfalse"]);else td=d_mk("td",'','no');}d_ss(td,'textAlign','center');
break;case 41:var t=Config.fst.nochoice;if(v){if(hdr[4]["values"]){var i=fst_log2(v);
if(hdr[4]["values"][i])t=hdr[4]["values"][i];}}td=d_mk("td",'',t);break;
case 42:var t='';if(v&&v!='0'){if(hdr[4]["values"]){for(var i=0;i<hdr[4]["values"].length;i++){
if(fst_pow2(i)&v){if(t.length)t+=', ';t+=hdr[4]["values"][i];}}}else t=Config.fst.nochoice;
}else t=Config.fst.nochoice;td=d_mk("td",'',t);break;default:td=d_mk("td",'',v);} 
if(hdr[4]["tdclass"])d_cn(td,hdr[4]["tdclass"]);if(ttl)td.title=ttl;return td;}
this.mkfd=function(v,hno){var hdr=this.hary[hno];if((v=='%a0')&&hdr[4]["default"])
v=hdr[4]["default"];v=(v=='%a0')?'':unescape(v);if(1&hdr[3]){var td=d_mk("td");
d_sa(td,'vAlign','top');var act;switch(hdr[2]){case 3: case 7:if(hdr[4]["curr"])
d_st(td,hdr[4]["curr"]);act=d_mk("input",td,'','',{"type":"text"});
act.size=(hdr[4]["cols"])?hdr[4]["cols"]:8;var c='*'+(v*0.01);
var j=c.indexOf('.');if(j>-1){c+='0';c=c.substr(1,j+2);}else c=c.substr(1)+'.00'; 
act.value=c;d_ss(act,'textAlign','right');if(hdr[2]==7)d_st(td,'%');break;
case 21:act=d_mk("input",td,'','',{"type":"text"});act.size=12;act.maxLength=11;
act.value=fst_date(v,false,true);break;case 22:act=d_mk("input",td,'','',{"type":"text"});
act.size=21;act.maxLength=20;act.value=fst_date(v,true,true);break;case 23:
var h=Math.round(v/3600,0);var m=Math.round(v/60-h*60,0);if(m<10)m='0'+m;
act=d_mk("input",td,h+':'+m,'',{"type":"text"});d_ss(act,'textAlign','right');
break;case 28: case 29:act=d_mk("input",td,'','',{"type":"password"});
act.size=(hdr[4]["cols"])?hdr[4]["cols"]:8;act.value=v;break;
case 30: case 31: case 32: case 33:act=d_mk("textarea",td);
act.rows=(hdr[4]["rows"])?hdr[4]["rows"]:5;act.cols=(hdr[4]["cols"])?hdr[4]["cols"]:8;
act.value=v;break;case 40:act=d_mk("input",td,'','',{"type":"checkbox"});if(v!=0){
act.checked=true;}break;case 41: case 42:act=d_mk("select",td);if(hdr[2]==42){
act.multiple=true;act.size=5;}for(var i=0;i<hdr[4]["values"].length;i++){
var opt=d_mk("option",act,hdr[4]["values"][i]);opt.value=fst_pow2(i);
if(fst_pow2(i)&v)opt.selected='selected';}break;case 43:act=d_mk("select",td);
if(!this.hdr43[hdr[1]])fst_get43(this.hdr43,hdr,v);else
fst_set43(this.hdr43[hdr[1]],hdr[1],v,act);break;case 51:
act=d_mk("input",td,'','',{"type":"file"});break;case 52:
act=d_mk("input",td,'','',{"type":"text"});act.disabled=true;act.value=v;
var txt=hdr[4]["legend"]?hdr[4]["legend"]:"Upload";var btn=d_mk("span",td,txt,'button');
btn.onclick=function(){eval(unescape(hdr[4]["script"]));};break;default:
act=d_mk("input",td,'','',{"type":"text"});act.size=(hdr[4]["cols"])?hdr[4]["cols"]:8;
act.value=v;}if(hdr[4]["maxlen"])act.maxLength=hdr[4]["maxlen"];act.name=hdr[1]; 
act.id=hdr[1]+':'+hdr[2];act.onchange=function(){var x=fst_vali(this.value,hdr);
if(x){d_cn(this,'invalid');d_sa(this,'title',x)}else{d_cn(this,'');
d_sa(this,'title','');if(hdr[4]["action"])eval(unescape(hdr[4]["action"]));}};
var x=fst_vali(act.value,hdr);if(x){d_cn(act,'invalid');d_sa(act,'title',x);}
if(hdr[4]["tdclass"])d_cn(td,hdr[4]["tdclass"]);if(hdr[4]["hint"])d_st(td,' '+hdr[4]["hint"]); 
if(hdr[2]==33){if(!this.wwg)this.wwg=Wysiwyg();var _this=this;var _id=act.id;
setTimeout(function(){_this.wwg.init(_id,Config.wwg.imgdir)},250);}return td;
}else{if(!v&&hdr[2]<40)v=unescape('%a0');var td=this.mkdt(v,hno);if(2&hdr[3]) 
d_mk("input",td,'','',{"type":"hidden","name":hdr[1],"value":v});return td;}}
this.conv=function(v,typ){var r;switch(typ){case '3': case '4': case '7':
r=Math.round(v*100);break;case '15':r=v.toUpperCase();break;case '21': case '22':
var d=Date.parse(v);r=(isNaN(d))?0:d*0.001;break;case '23':var col=v.indexOf(':');
if(col>-1){var h=v.substring(0,col);var m=v.substring(col+1);r=h*3600+m*60;}else
r=0;break;case'28': case '29':r=md5(v);break;case '40':r=(v)?1:0;break;
default:r=v;}return encodeURIComponent(r);}} // end Fset object
//Fst helper functions 
function fst_vali(v,hdr){if(hdr[2]>=40)return false;if((hdr[2]>9)&&(2&hdr[3])&&(!v))
return Config.fst.nbmandatory;if(hdr[4]["minlen"]&&(v.length<hdr[4]["minlen"]))
return Config.fst.nbminlength+hdr[4]["minlen"];if(hdr[4]["maxlen"]&&(v.length>hdr[4]["maxlen"]))
return Config.fst.nbmaxlength+hdr[4]["maxlen"];if((hdr[2]>0)&&(hdr[2]<5)){
if(hdr[4]["min"]&&(v<hdr[4]["min"]))return Config.fst.nbminimum+hdr[4]["min"];
if(hdr[4]["max"]&&(v>hdr[4]["max"]))return Config.fst.nbmaximum+hdr[4]["max"];
}else if((hdr[2]==5)&&(v<1))return Config.fst.nbinvalid;switch(hdr[2]){case 0:
return false;case 1:return (v.match(/^-?\d+$/))?false:Config.fst.nbintegers;
case 2:	case 3:	case 4:	case 6:	case 7:
return (v.match(/^-?\d+(\.\d+)?$/))?false:Config.fst.nbnumbers;case 5:
return (v.match(/^[0-9]*$/) && v>0)?false:Config.fst.nbrecids;case 10: 
return (v.match(/^[a-zA-Z]*$/))?false:Config.fst.nbletters;case 11:
return (v.match(/^[a-zA-Z ]*$/))?false:Config.fst.nbletspace;case 12:
return (v.match(/^[0-9a-zA-Z ]*$/))?false:Config.fst.nbletdigspace;case 13:
return (v.match(/^[0-9a-zA-Z \-\'\"\.,\/()&]*$/))?false:Config.fst.nbaddress;	   //'
case 14: case 15: case 31: return (v.match(/<.*>/))?Config.fst.nbnotags:false;
case 16: return (v.match(/^[0-9 +\-()]*$/))?false:Config.fst.nbphone;
case 20:
return (v.match(/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[0-9a-zA-Z]{1,9})$/))?false:Config.fst.nbemail;
case 21:
if(!v||v=='0'||v=='---'||v.substr(0,6)=='00 mth')return false;else 
return (v.match(/^([0-3][0-9] (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4}|---)$/i))?false:Config.fst.nbdate; 
case 22:
return (v.match(/^([0-3][0-9] (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]|---)$/i))?false:Config.fst.nbdatetime; 
case 23: return (v.match(/^[0-9]*:[0-5][0-9]$/i))?false:Config.fst.nbhhmm; 
case 29: return (v.match(/^(?=.*[0-9]+.*)(?=.*[a-z]+.*)(?=.*[A-Z]+.*)[0-9a-zA-Z]{6,}$/))?false:Config.fst.nbstrpwd;
case 32: return (v.match(/<.*=.*>/))?Config.fst.nbnoattr:false;	default: return false;}}
function fst_curr(v,hdr){var c='*'+(v*0.01);var j=c.indexOf('.');if(j>-1){
c+='0';c=c.substr(1,j+2);}else c=c.substr(1)+'.00'; 
for(var i=c.length-6;i>0;i-=3)c=c.substr(0,i)+','+ c.substr(i);
if(hdr[4]["curr"])c=hdr[4]["curr"]+c;return c;}
function fst_cur2(v,sym){
return fst_curr(parseInt(Math.round(v,0)),[null,null,null,null,{'curr':sym}]);}
function fst_log2(v) {return Math.round((Math.log(v)/Math.LN2),0)}
function fst_nl2br(v) {return v.replace(/\n/g,"<br />");}
function fst_pow2(i) {return Math.round(Math.pow(2,i),0)}
function fst_date(v,w,x) {var mths=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var d=new Date();if(v!=''){if(v!=0 && v!='0' && v!='%a0')d.setTime(v*1000);
else{if(x)return '00 mth '+d.getFullYear();else return '---';}}if (d.getDate()<10)
var t='0'+d.getDate()+' '+mths[d.getMonth()]+' '+d.getFullYear();
else var t=d.getDate()+' '+mths[d.getMonth()]+' '+d.getFullYear();if(w){t+=' ';
if(d.getHours()<10)t+='0';t+=d.getHours()+':';if(d.getMinutes()<10)t+='0';
t+=d.getMinutes()+':';if(d.getSeconds()<10)t+='0';t+=d.getSeconds();}return t;} 
function fst_update(id,v) {d_ge(id).value=v;}
function fst_get43(hdr43,hdr,v){var xhr=new Xhrwrap();
xhr.post(hdr[4]['script'],'hdr='+hdr[1],function(rtxt){rdat=eval(rtxt);hdri=rdat.shift();hdr43[hdri]=rdat;fst_set43(rdat,hdri,v);});
xhr = null;} 
function fst_set43(optary,hdr,v,act){if(!act)var act=d_ge(hdr+':43');var noopt=optary.length;
for(var i=0;i<noopt;i++){var opt=d_mk("option",act,optary[i][1]);opt.value=optary[i][0];
if(optary[i][1]==v)opt.selected='selected';}}
// Table function
function Jstable(tblindex,headers){this.tblindex=tblindex;this.fmt=new Fset(headers);
this.xhr=new Xhrwrap();this.frec=[Config.tbl.record,Config.tbl.newrec]; 
this.pgbtns=new Array();this.rwbtns=new Array();this.cls=new Array();
var classes=['button','buttonh','buttonx','clickable','error','info','listft','listft0','listhd','listhd0','listhd1','listtd','listtdl','listtdr','listtd1','listtd2','listbg','listhi'];
for(i=0;i<classes.length;i++){this.cls[classes[i]]=classes[i];}this.blank=false;
this.debug=false;this.ee=0;this.single=false;this.pageson=true;this.ready=true;
this.tbl=d_ge('tbl'+this.tblindex);d_ss(this.tbl,'borderSpacing','0');
this.th=d_mk('thead',this.tbl,'','',{'id':'th'+this.tblindex});
this.tf=d_mk('tfoot',this.tbl,'','',{'id':'tf'+this.tblindex});
this.tb=d_mk('tbody',this.tbl,'','',{'id':'tb'+this.tblindex});
this.setclasses=function(clsary){for(var c in clsary)this.cls[c]=clsary[c];};
this.enableedit=function(ee){this.ee=ee;};this.setdebug=function(de){this.debug=de;};
this.setfrec=function(frec){this.frec=frec;};this.seticon=function(icon){this.iary=icon;};
this.setpagebtns=function(pba){this.pgbtns=pba;};this.setpagesoff=function(){this.pageson=false;};
this.setrowbtns=function(rwa){this.rwbtns=rwa;};this.setsingle=function(blk){this.single=true;if(blk)this.blank=true;};  				
this.settitle=function(ttl){this.tt=ttl;};this.seturl=function(url){this.uu=url;};  				
this.writetable=function(datary){
this.pct=(this.pgbtns.length)?this.pgbtns.length:0;if(this.ee & 2)this.pct++;
if(this.single){if(this.ee&4)this.pct++;if(this.ee&8)this.pct++;this.tct=2;}
else{this.rct=(this.rwbtns.length)?this.rwbtns.length:0;if(this.ee&4)this.rct++;
if(this.ee&8)this.rct++;this.tct=this.fmt.hct+this.rct;if(this.iary)this.tct++;
if(this.tct<=this.pct)this.tct=this.pct+1;}if(datary){this.update(datary);}
else{if(this.blank){this.writehead();this.writebody();this.writefoot();}
else{var q;if(window.location.search)q=window.location.search.substring(1);
this.getdata(q,false,Config.tbl.retr);}}};
this.update=function(rtxt){
if(this.debug)alert(rtxt);var datary=eval(rtxt);
if(datary[0]=='ERROR'){d_tt('status',unescape(datary[1]),this.cls['error'],6000);}
else{this.cp=(datary[0])?datary[0]*1+1:1;this.np=(datary[1])?datary[1]*1:1;
if(datary[2]){this.sd=datary[2].substr(0,1);this.sc=datary[2].substr(1);}
else{this.sd='a';this.sc=0;}this.dta=datary[3];if(!this.dta)alert(rtxt);
this.iss=(datary[4])?datary[4]:false;this.iss=(this.iss=='%a0')?'':unescape(this.iss);
this.isc=(datary[4])?datary[5]:0;if(this.dta.length||this.dta['id']){
if(this.th.firstChild){var pt=d_ge(this.tblindex+'pages');if(pt){d_cl(pt);
d_st(pt,Config.tbl.page0+this.cp+Config.tbl.page1+ this.np);}}else{
this.writehead();}this.writebody();this.writefoot();}else{this.writeempty();} 
d_tt('status');}};
this.writebody = function() {
d_cl(this.tb);if(this.single){for(var j=0;j<this.fmt.hct;j++){var tr=d_mk('tr',this.tb);
d_ac(tr,this.fmt.mklb(j));var td;if(this.blank)td=this.fmt.mkfd('%a0',j);
else if(this.ee&4)td=this.fmt.mkfd(this.dta[this.fmt.geth(j,1)],j);else 
td=this.fmt.mkdt(this.dta[this.fmt.geth(j,1)],j);td.id=this.tblindex+'cl'+j+'rw0';
d_cn(td,'tb_field');d_ac(tr,td);}}else{var norows=this.dta.length;if(norows){var odd=1;
for(var i=0;i<norows;i++){var newrow=d_mk("tr",this.tb,'',this.cls['listtd'+odd],{'id':this.tblindex+'rw'+i+odd});	
this.writerow(newrow,i,0);odd=(odd==1)?2:1;}}else{
var newrow=d_mk("tr",this.tb,'',this.cls['listtd1'],{'id':this.tblindex+'rw01'});	
this.writerow(newrow,i,-1);}}};
this.writeempty=function(){	
var tbl=this;d_cl(this.th);d_cl(this.tf);d_cl(this.tb);var tr=d_mk('tr',this.tb);
d_mk('td',tr,Config.tbl.norecs,this.cls['info']);if(this.iss){
var td=d_mk('td',tr,Config.tbl.view,this.cls['clickable']);td.onclick=function(){
if(tbl.ready){var fm='clrp=1&p'+tbl.tblindex+'=0';tbl.getdata(fm,'u',Config.tbl.retr);
}};}else{if(this.ee&2){d_mk('td',tr,' --> ');
var td=d_mk('td',tr,this.frec[1],this.cls['clickable'],{'id':'newe'+this.tblindex});
if(this.frec[2])td.onclick=eval(this.frec[2]);else td.onclick=function(){
tbl.blank=true;tbl.writetable;tbl.setready(0);var tr=d_mk('tr',tbl.th);tbl.writerow(tr,-1,-1);};}}};
this.writefoot=function(){
var tbl=this;d_cl(this.tf);if(this.single){var p=0;if((this.ee&4)&&!this.blank){var tro=d_mk('tr',this.tf);
var ta=this.mkbtn(Config.tbl.upda,this.tblindex+'upd'+ this.dta['id'],this.cls['buttonx'],this.cls['buttonh'],true,false);
d_ac(tro,ta);ta.colSpan=this.tct;ta.onclick=function(){var fm=tbl.getstatus('');
var fm2=tbl.fmt.mkfm(tbl.tb);if(fm2){if(fm)fm+='&'+fm2+'&edid='+tbl.dta['id'];
else fm=fm2+'&edid='+tbl.dta['id'];tbl.getdata(fm,'',Config.tbl.upd);}else{
alert(Config.fst.flderr);}};p++;}if((this.ee&8)&&!this.blank){var trq=d_mk('tr',this.tf);
var pb=this.mkbtn(Config.tbl.dele,this.tblindex+'del',this.cls['button'],this.cls['buttonh'],false,false);
d_ac(trq,pb);pb.colSpan=this.tct;pb.onclick=function(){if(tbl.ready){if(confirm(Config.tbl.conf)){
var fm=tbl.getstatus('');if(fm)fm+='&delid='+tbl.dta['id'];else fm='delid='+tbl.dta['id'];
tbl.getdata(fm,'',Config.tbl.upd);}}};p++;}if(this.ee&2){var trp=d_mk('tr',this.tf);
var pb=this.mkbtn(this.frec[1],this.tblindex+'newt',this.cls['button'],this.cls['buttonh'],false,false);
d_ac(trp,pb);pb.colSpan=this.tct;if(this.frec[2])pb.onclick=eval(this.frec[2]);
else pb.onclick=function(){var fm=tbl.getstatus('');var fm2=tbl.fmt.mkfm(tbl.tb);
if(fm2){if(fm)fm+='&'+fm2+'&isnew=1';else fm=fm2+'&isnew=1';tbl.getdata(fm,'',Config.tbl.upd);
}};p++;}for(var i=0;i<(this.pct-p);i++){if(this.pgbtns[i]){var trp=d_mk('tr',this.tf);
var bcl=(this.pgbtns[i][2])?this.pgbtns[i][2]:this.cls['button'];
var bch=(this.pgbtns[i][3])?this.pgbtns[i][3]:this.cls['buttonh'];
var pb=this.mkbtn(this.pgbtns[i][0],this.tblindex+'pgb'+this.pgbtns[i][0],bcl,bch,false,false);
d_ac(trp,pb);pb.colSpan=this.tct;pb.onclick=eval(this.pgbtns[i][1]);}}}else{
var trs=d_mk('tr',this.tf);var pos=0;for(var i=0;i<(this.tct-(this.fmt.hct+this.rct));i++){
d_mk('td',trs,'',this.cls['listft0']);pos++;}if(this.iss){
var tx=d_mk('td',trs,Config.tbl.search0+unescape(this.fmt.geth(this.isc,0))+Config.tbl.search1+this.iss,this.cls['listft0']);
tx.colSpan=this.fmt.hct+this.rct-1;var ts=this.mkbtn(Config.tbl.view,this.tblindex+'unsr',this.cls['button'],this.cls['buttonh'],false,false);
d_ac(trs,ts);ts.onclick=function(){if(tbl.ready){var fm='clrp=1&p'+tbl.tblindex+'=0';
tbl.getdata(fm,'u',Config.tbl.retr);}};}else{for(var i=0;i<this.fmt.hct;i++){
if(4&this.fmt.geth(i,3)){var ts=d_mk('td',trs,Config.tbl.srch,this.cls['listft'],{'id':this.tblindex+'sr'+i});
ts.onclick=function(e){if(tbl.ready){tbl.srchrow(e);tbl.setready(0);}};
ts.onmouseover=function(e){tbl.setcol(e,'listhi');};if(pos==0)ts.onmouseout=function(e){tbl.setcol(e,'listtdl');};
else if(pos==this.tct-1)ts.onmouseout=function(e){tbl.setcol(e,'listtdr');};else
ts.onmouseout=function(e){tbl.setcol(e,'listtd');};}else{d_mk('td',trs,'',this.cls['listft0']);}
pos++;}if(this.rct){var sp=d_mk('td',trs,'',this.cls['listft0']);sp.colSpan=this.rct;}}}
if(this.cp&&this.pageson)this.pagerow();};
this.writehead=function(){
var tbl=this;d_cl(this.th);if(this.tt){var trt=d_mk('tr',this.th);
var tdt=d_mk('td',trt,unescape(this.tt),this.cls['listhd1']);tdt.colSpan=this.tct;}
if(this.cp&&this.pageson&&window.psetup)psetup(this.np);//psetup
if(this.single){if(this.cp&&this.pageson){var trp=d_mk('tr',this.th);var wd=(this.frec[0])?this.frec[0]:Config.tbl.record;
var td=d_mk('td',trp,wd+' '+this.cp+Config.tbl.page1+this.np,this.cls['listbg'],{'id':this.tblindex+'pages'});
td.colSpan=this.tct;}}else{var trp=d_mk('tr',this.th);var td;if(this.cp&&this.pageson)
td=d_mk('td',trp,Config.tbl.page0+this.cp+Config.tbl.page1+this.np,this.cls['listbg'],{'id':this.tblindex+'pages'});
else td=d_mk('td',trp);td.colSpan=this.tct-this.pct;var p=0;if(this.ee&2){
var pb=this.mkbtn(this.frec[1],this.tblindex+'newt',this.cls['button'],this.cls['buttonh'],false,false);
d_ac(trp,pb);if(this.frec[2])pb.onclick=eval(this.frec[2]);else pb.onclick=function(){
if(tbl.ready){tbl.setready(0);var tr=d_mk('tr',tbl.th);tbl.writerow(tr,-1,-1);}};p=1;}
for(var i=0;i<(this.pct-p);i++){var bcl=(this.pgbtns[i][2])?this.pgbtns[i][2]:this.cls['button'];
var bch=(this.pgbtns[i][3])?this.pgbtns[i][3]:this.cls['buttonh'];
var pb=this.mkbtn(this.pgbtns[i][0],this.tblindex+'pgb'+this.pgbtns[i][0],bcl,bch,false,false);
d_ac(trp,pb);pb.onclick=eval(this.pgbtns[i][1]);}var trh=d_mk('tr',this.th);var pos=0;
for(var i=0;i<(this.tct-(this.fmt.hct+this.rct));i++){d_mk('td',trh,'',this.cls['listhd0']);
pos++;}for(var i=0;i<this.fmt.hct;i++){if(8&this.fmt.geth(i,3)){
var th=d_mk('td',trh,unescape(this.fmt.geth(i,0)),this.cls['listhd'],{'id':this.tblindex+'th'+i});
th.onclick=function(e){if(tbl.ready){var el=d_gt(e);var col=el.id.substr(3);
var dir='a';if((tbl.sd=='a')&&(tbl.sc==col))dir='d';var fm='o'+tbl.tblindex+'='+dir+col;
tbl.getdata(fm,'o',Config.tbl.retr);}};th.onmouseover=function(e){tbl.setcol(e,'listhi');};
if(pos==0)th.onmouseout=function(e){tbl.setcol(e,'listtdl');};else if(pos==this.tct-1) 
th.onmouseout=function(e){tbl.setcol(e,'listtdr');};else th.onmouseout=function(e){tbl.setcol(e,'listtd');};
}else var th=d_mk('td',trh,this.fmt.geth(i,0),this.cls['listhd0'],{'id':this.tblindex+'th'+i});
pos++;}if(this.rct){var sp=d_mk('td',trh,'',this.cls['listhd0']);sp.colSpan=this.rct;}}};
this.writerow=function(tr,i,edstat){var tbl=this;if(edstat<0)i=-1;d_cl(tr);var pos=0;
var odd=tr.id.substr(tr.id.length-1);d_cn(tr,this.getcls('listtd'+odd));
if(this.iary){if(edstat){d_mk('td',tr,'',this.cls['listtdl']);}else{
var ti=d_mk("td",tr,'',this.cls['listtdl'],{'id':this.tblindex+'icon'+i});
ti.ondragstart=eval(this.iary[3]);
d_mk("img",ti,'','',{'src':this.iary[0],'width':this.iary[1],'height':this.iary[2]});
}pos++;}while(pos<(this.tct-(this.fmt.hct+this.rct))){if(pos==0)
d_mk('td',tr,'',this.cls['listtdl']);else d_mk('td',tr,'',this.cls['listtd']);pos++;}
for(var j=0;j<this.fmt.hct;j++){var cl=this.cls['listtd'];if(pos==0)cl=this.cls['listtdl'];
if(pos==this.tct-1)cl=this.cls['listtdr'];var v=(edstat<0)?'%a0':this.dta[i][this.fmt.geth(j,1)];
var tc=this.mkcell(edstat,j,i,v,cl,this.cls['listhi']);d_ac(tr,tc);pos++;} 
if(edstat==0){var r=0;if(this.ee&4){
var pb=this.mkbtn(Config.tbl.edit,this.tblindex+'rbe'+i,this.cls['button'],this.cls['buttonh'],false,true);
d_ac(tr,pb);pb.onclick=function(e){if(tbl.ready){var el=d_gt(e);var li=el.id.substr(4);
tbl.setready(0);tbl.writerow(el.parentNode,li,1);}};r++;}if(this.ee&8){
var pb=this.mkbtn(Config.tbl.dele,this.tblindex+'rbd'+this.dta[i]['id'],this.cls['button'],this.cls['buttonh'],false,true);
d_ac(tr,pb);pb.onclick=function(e){if(tbl.ready){var el=d_gt(e);var did=el.id.substr(4);
if(confirm(Config.tbl.conf)){var fm=tbl.getstatus('');if(fm)fm+='&delid='+did;
else fm='delid='+did;tbl.getdata(fm,'',Config.tbl.upd);}}};r++;}for(var k=0;k<this.rct-r;k++){
var bcl=(this.rwbtns[k][2])?this.rwbtns[k][2]:this.cls['button'];
var bch=(this.rwbtns[k][3])?this.rwbtns[k][3]:this.cls['buttonh'];
if(this.rwbtns[k][4]){if(eval(this.dta[i][this.rwbtns[k][4]]+unescape(this.rwbtns[k][5]))){
var td=this.mkbtn(this.rwbtns[k][0],this.tblindex+'rb'+k+this.dta[i]['id'],bcl,bch,false,true);
d_ac(tr,td);td.onclick=eval(this.rwbtns[k][1]);}else{d_mk('td',tr,'%a0','listtd');}
}else{var td=this.mkbtn(this.rwbtns[k][0],this.tblindex+'rb'+k+this.dta[i]['id'],bcl,bch,false,true);
d_ac(tr,td);td.onclick=eval(this.rwbtns[k][1]);}}}else if(edstat==1){
var ta=this.mkbtn(Config.tbl.upda,this.tblindex+'upd'+this.dta[i]['id'],this.cls['buttonx'],this.cls['buttonh'],true,false);
d_ac(tr,ta);ta.onclick=function(e){var el=d_gt(e);var did=el.id.substr(4);
var fm=tbl.getstatus('');var fm2=tbl.fmt.mkfm(tr);if(fm2){if(fm)fm+='&'+fm2+'&edid='+did;
else fm=fm2+'&edid='+did;tbl.getdata(fm,'',Config.tbl.upd);}else{alert(Config.fst.flderr);}};
var tc=this.mkbtn(Config.usr.cancel,this.tblindex+'can'+i,this.cls['buttonx'],this.cls['buttonh'],true,false);
d_ac(tr,tc);tc.onclick=function(e){var el=d_gt(e);var li=el.id.substr(4);tbl.writerow(el.parentNode,li,0);
tbl.setready(1);};}else{
var ta=this.mkbtn(Config.tbl.add,this.tblindex+'addn',this.cls['buttonx'],this.cls['buttonh'],true,false);
d_ac(tr,ta);ta.onclick=function(){tbl.blank=false;var fm=tbl.getstatus('');
var fm2=tbl.fmt.mkfm(tr);if(fm2){if(fm)fm+='&'+fm2+'&isnew=1';else fm=fm2+'&isnew=1';
tbl.getdata(fm,'',Config.tbl.upd);tbl.th.removeChild(tbl.th.lastChild);tbl.setready(1);
}else{alert(Config.fst.flderr);}};
var tc=this.mkbtn(Config.usr.cancel,this.tblindex+'canth',this.cls['buttonx'],this.cls['buttonh'],true,false);
d_ac(tr,tc);tc.onclick=function(){tbl.blank=false;tbl.th.removeChild(tbl.th.lastChild);
tbl.setready(1);};}if((this.rct>2)&&(edstat)){for(i=2;i<this.rct;i++)
d_mk('td',tr,'',this.cls['listhd0']);}};
this.mkbtn=function(v,id,clo,chi,ovr,rw){
var tbl=this;var td=d_mk("td",'',v,clo,{'id':id});if(ovr){td.onmouseover=function(){d_cn(td,chi);};
td.onmouseout=function(){d_cn(td,clo);};}else if(rw){
td.onmouseover=function(e){if(tbl.ready){d_cn(td,chi);tbl.setrow(e,1);}};
td.onmouseout=function(e){if(tbl.ready){d_cn(td,clo);tbl.setrow(e,0);}};}else{
td.onmouseover=function(){if(tbl.ready)d_cn(td,chi);};td.onmouseout=function(){d_cn(td,clo);};}return td;};
this.mkcell=function(ed,cl,rw,v,clo,chi){
var tbl=this;if(!rw)rw=0;var td;if(ed)td=this.fmt.mkfd(v,cl);else td=this.fmt.mkdt(v,cl);
d_sa(td,'id',this.tblindex+'cl'+cl+'rw'+rw);d_cn(td,clo);td.onclick=function(){
if(tbl.ready){if(td.className==clo){d_cn(td,chi);if(window.clipboardData&&clipboardData.setData)
clipboardData.setData("Text",unescape(v));}else d_cn(td,clo);}};return td;};
this.pagerow=function(){
var tbl=this;var tr=d_mk('tr',this.tf);var td=d_mk('td',tr,' ',this.cls['listbg']);
td.colSpan=this.tct;var wd;if(this.single){wd=(this.frec[0])?this.frec[0]:Config.tbl.record;
}else{wd=Config.tbl.page2;}td.align="center";if(this.np>1){if(this.cp>1){
var sp=d_mk('span',td,'<<',this.cls['clickable'],{'id':this.tblindex + 'gop1'});
sp.onclick=function(){var fm='p'+tbl.tblindex+'=0';tbl.getdata(fm,'p',Config.tbl.retr);};
sp.title=Config.tbl.got+Config.tbl.fst+wd;d_st(td,' ');
var sq=d_mk('span',td,'<',this.cls['clickable'],{'id':this.tblindex + 'gopp'});
sq.onclick=function(){var fm='p'+tbl.tblindex+'='+(tbl.cp-2);tbl.getdata(fm,'p',Config.tbl.retr);};
sq.title=Config.tbl.got+Config.tbl.pre+wd;}d_st(td,' ');
var sr=d_mk('span',td,' '+Config.tbl.got,this.cls['clickable'],{'id':this.tblindex+'gopl'});
var ip=d_mk('input',td,'','',{'id':this.tblindex+'gopx','size':3,'value':this.cp});
ip.onblur=function(){var fm='p'+tbl.tblindex+'=';if(ip.value.match(/\d*/))	
fm+=(ip.value-1);else fm+='0';tbl.getdata(fm,'p',Config.tbl.retr);};
sr.title=Config.tbl.ente0+wd+Config.tbl.ente1;d_st(td,' ');if(this.np>this.cp){
var sp=d_mk('span',td,'>',this.cls['clickable'],{'id':this.tblindex + 'gopz'});
sp.onclick=function(){var fm='p'+tbl.tblindex+'='+tbl.cp;tbl.getdata(fm,'p',Config.tbl.retr);};
sp.title=Config.tbl.got+Config.tbl.nxt+wd;d_st(td,' ');
var sq=d_mk('span',td,'>>',this.cls['clickable'],{'id':this.tblindex+'gopn'});
sq.onclick=function(){var fm='p'+tbl.tblindex+'='+(tbl.np-1);tbl.getdata(fm,'p',Config.tbl.retr);};
sq.title=Config.tbl.got+Config.tbl.lst+wd;}d_st(td,' ');}else{d_st(td,Config.tbl.nomo0+wd+Config.tbl.nomo1);}};
this.srchrow=function(e){
var tbl=this;var el=d_gt(e);var col=el.id.substr(3);this.tf.removeChild(this.tf.lastChild);
var tr=d_mk('tr',this.tf);var td=d_mk('td',tr,Config.tbl.srcf0,this.cls['listbg']);
var ip=d_mk('input',td,'','',{'id':this.tblindex + 'srcx','size':10});
d_st(td,Config.tbl.srcf1+ unescape(this.fmt.geth(col,0)));td.colSpan=this.tct-2;td.align="center";
var ta=this.mkbtn(Config.tbl.srch,this.tblindex + 'find' + col,this.cls['buttonx'],this.cls['buttonh'],true,false);
d_ac(tr,ta);ta.onclick=function(){var fm='p'+tbl.tblindex+'=0&s'+tbl.tblindex+'='+col+'&w'+tbl.tblindex+'='+ encodeURI(ip.value);
tbl.getdata(fm,'u',Config.tbl.retr);};
var tc=this.mkbtn(Config.usr.cancel,tbl.tblindex+'cantf',tbl.cls['buttonx'],tbl.cls['buttonh'],true,false);
d_ac(tr,tc);tc.onclick=function(){tbl.getdata(false,false,'Retrieving data...');};ip.focus();};
this.getcls=function(cln){return this.cls[cln];};
this.getdata=function(fm,st,tx){
if(location.search){if(fm)fm+='&'+location.search.substr(1);else fm=location.search.substr(1);}    
if(st){var r=this.getstatus(st);if(r)fm+='&'+r;}this.setready(1);d_tt('status',tx,this.cls['info'],0);
var _this=this;this.xhr.post(this.uu,fm,function(rtxt){_this.update(rtxt);},this.tblindex);};
this.getstatus=function(x){var tbx=this.tblindex;var fm='';if(x!='p'&&x!='u')
fm+='p'+tbx+'='+(this.cp-1)+'&';if(this.sc&&(x!='o'))fm+='o'+tbx+'='+this.sd+this.sc+'&'; 
if(this.iss&&(x!='s')&&x!='u')fm+='s'+tbx+'='+this.isc+'&w'+tbx+'='+encodeURI(this.iss)+'&';
fm=fm.substr(0,(fm.length-1));return fm;};
this.setcol=function(e,cls){
if(this.ready){var el=d_gt(e);var col=el.id.substr(3);var trs=this.tb.getElementsByTagName('TR');
for(j=0;j<trs.length;j++){var td=d_ge(this.tblindex+'cl'+col+'rw'+j);d_cn(td,this.getcls(cls));}}};
this.setrow=function(e,hi){
if(this.ready){var el=d_gt(e);var rw=el.parentNode;if(hi)d_cn(rw,this.getcls('listhi'));
else{var odd=rw.id.substr(rw.id.length-1);d_cn(rw,this.getcls('listtd'+odd));}}};
this.setready=function(x){
this.ready=x;if(this.ready){d_cs(this.cls['button'],'color','#FFFFFF');
d_cs(this.cls['listhd'],'color','#FFFFFF');d_cs(this.cls['listhd0'],'color','#FFFFFF');
d_cs(this.cls['listft'],'color','#FFFFFF');d_cs(this.cls['listft0'],'color','#FFFFFF');
}else{d_cs(this.cls['button'],'color','#999999');
d_cs(this.cls['listhd'],'color','#999999');d_cs(this.cls['listhd0'],'color','#999999');
d_cs(this.cls['listft'],'color','#999999');d_cs(this.cls['listft0'],'color','#999999');}};
this.getidfrombtn=function(e){return d_gt(e).id.substr(4);};
this.getcellfromevt=function(e,fld){return this.getcellfrombtn(d_gt(e),fld);};	
this.getcellfrombtn=function(el,fld){
var currow=el.parentNode.id.substr(3,el.parentNode.id.length-4);return this.dta[currow][fld];}}
// User functions
var tblu;var xhru=null;
function usr_login(){var reg=[Config.usr.regis,'usr_regis'];
var un=[Config.usr.username,'uname',14,3,{'cols':20,'maxlen':20}];
var pw=[Config.usr.password,'pword',28,3,{'cols':20,'maxlen':20}];
var ent=[Config.usr.enter,'usr_login2'];var can=[Config.usr.cancel,'dh_can'];
var fgt=[Config.usr.forget,'usr_forget'];var chp=[Config.usr.chpwd,'usr_chpwd'];
tblu=dh_dia(240,'u',Config.usr.login_t,'',[un,pw],[ent,can,fgt,chp,reg],'','','usr_login2()');
return false;}
function usr_login2(){var fm=usr_prep(tblu);if(fm)
xhru.post(Config.usr.script+'?a=login',fm,usr_login3);}
function usr_login3(rtxt){dh_can();if(rtxt.match(/OK/))usr_complete();else
d_tt(Config.usr.statdivid,rtxt,Config.css.error,Config.css.msgtime);xhru=null;}
function usr_chpwd(){dh_can();
var un=[Config.usr.username,'uname',14,3,{'cols':20,'maxlen':20}];
var ow=[Config.usr.curpwd,'oword',28,3,{'cols':20,'maxlen':20}];
var nw=[Config.usr.newpwd,'nword',28,3,{'cols':20,'maxlen':20}];
var cw=[Config.usr.cnfpwd,'nword2',28,3,{'cols':20,'maxlen':20}];
var ent=[Config.usr.enter,'usr_chpwd2'];var can=[Config.usr.cancel,'dh_can'];
tblu=dh_dia(240,'u',Config.usr.chpwd,Config.usr.pwdinstr,[un,ow,nw,cw],[ent,can]);}
function usr_chpwd2(){var fm=usr_prep(tblu);if(fm)
xhru.post(Config.usr.script+'?a=chpwd',fm,usr_chpwd3);}
function usr_chpwd3(rtxt){dh_can();if(rtxt.match(/OK/)){alert(Config.usr.pwdchg);
usr_complete();}else d_tt(Config.usr.statdivid,rtxt,Config.css.error,Config.css.msgtime);
xhru=null;}
function usr_forget(){dh_can();
var un=[Config.usr.username,'uname',14,3,{'cols':20,'maxlen':20}];
var em=[Config.usr.email,'email',20,3,{'cols':20,'maxlen':100}];
var ent=[Config.usr.enter,'usr_forget2'];var can=[Config.usr.cancel,'dh_can'];
tblu=dh_dia(240,'u',Config.usr.forgot,Config.usr.fgtinstr,[un,em],[ent,can]);}
function usr_forget2(){var fm=usr_prep(tblu);if(fm)
xhru.post(Config.usr.script+'?a=forget',fm,usr_forget3);}
function usr_forget3(rtxt){dh_can();if(rtxt.match(/@/))alert(Config.usr.fgtmsg+rtxt);
else d_tt(Config.usr.statdivid,rtxt,Config.css.error,Config.css.msgtime);xhru=null;}
function usr_regis(){dh_can();
var pn=[Config.usr.pname,'propername',14,3,{'cols':30,'maxlen':50}];
var or=[Config.usr.org,'orgname',14,1,{'cols':30,'maxlen':50}];
var em=[Config.usr.email,'email',20,3,{'cols':20,'maxlen':100}];
var un2=[Config.usr.usern2,'username',12,3,{'cols':20,'maxlen':30}];
var pw=[Config.usr.password,'pword',28,3,{'cols':20,'maxlen':20}];
var cw=[Config.usr.cnfpwd,'nword2',28,3,{'cols':20,'maxlen':20}];
var op=[Config.usr.optin,'optin',40,1,{}]
var ent=[Config.usr.enter,'usr_regis2'];var can=[Config.usr.cancel,'dh_can'];
tblu=dh_dia(360,'u',Config.usr.regis,Config.usr.reginstr,[pn,or,em,un2,pw,cw,op],[ent,can]);}
function usr_regis2(){var fm=usr_prep(tblu);if(fm)
xhru.post(Config.usr.script+'?a=regis',fm,usr_regis3);}
function usr_regis3(rtxt){dh_can();if(rtxt.match(/OK/)){alert(Config.usr.regmsg);
usr_complete();}else d_tt(Config.usr.statdivid,rtxt,Config.css.error,Config.css.msgtime);
xhru=null;}
function usr_contact(){
var nm=[Config.usr.pname,'nm',14,3,{'cols':40,'maxlen':50}];
var or=[Config.usr.org,'or',14,1,{'cols':40,'maxlen':50}]; 
var ad=[Config.usr.postad,'ad',31,1,{'cols':40,'rows':6}];
var tl=[Config.usr.tel,'tl',16,1,{'cols':20,'maxlen':30}];
var em=[Config.usr.email,'em',20,3,{'cols':40,'maxlen':100}];
var ms=[Config.usr.message,'ms',31,1,{'cols':50,'rows':6}];
if(d_ex(window.udetails)){nm[4]["default"]=udetails[0];or[4]["default"]=udetails[1];em[4]["default"]=udetails[2];}
var snd=[Config.usr.send,'usr_contact2'];var can=[Config.usr.cancel,'dh_can'];
tblu = dh_dia(540,'u',Config.usr.contfm,Config.usr.continstr,[nm,or,ad,tl,em,ms],[snd,can],'','');}
function usr_contact2(){var fm=usr_prep(tblu);if(fm)
xhru.post(Config.usr.script+'?a=contact',fm,usr_contact3);}
function usr_contact3(rtxt){if(rtxt.match(/OK/)){dh_can();alert(Config.usr.contmsg);}
else d_tt(Config.usr.statdivid,rtxt,Config.css.error,Config.css.msgtime);xhru=null;}
function usr_complete(){var wlh=window.location.href;var hash=wlh.indexOf("#");
if(hash>=0)wlh=wlh.substring(0,hash);if(wlh.match(/\?/))
window.location.href=wlh+'&login';else window.location.href=wlh+'?login';}
function usr_prep(tbl){if(!xhru)xhru=new Xhrwrap();var fm=tbl.fmt.mkfm(tbl.tb);
if(!fm)alert(Config.fst.flderr);return fm;}
function usr_mail(a,b,c){t=' <a class="usr_mail" href="m';
t+='ailto:'+a+'@'+b+'.'+c;t+='">'+a+'@'+b+'.'+c;document.write(t+'<\/a>');}
// WYSIWYG text editor
// NB now called Wysiwyg with capital W, and has config for imgdir
var Wysiwyg=function(){var tx;var wpa;var ifr;var ifd;var tbar;var sbar;var stxt;
function calcsize(){return[tx.offsetWidth,tx.offsetHeight,tx.offsetLeft,tx.offsetTop];}
function i2t(){if(wpa.style.display!='none')tx.value=ifd.getElementsByTagName('body')[0].innerHTML;}
function t2i(){ifd.getElementsByTagName('body')[0].innerHTML=tx.value;}
function sbtog(){if(wpa.style.display!='none'){i2t();d_ss(wpa,'display','none');
d_ss(ifr,'display','none');d_ss(tx,'display','block');stxt.innerHTML=Config.wwg.viewed;
sbar.style.width=(sbar.offsetWidth-100)+'px';sbar.style.left='50px';}else{t2i();
d_ss(tx,'display','none');d_ss(wpa,'display','block');d_ss(ifr,'display','block');
stxt.innerHTML=Config.wwg.viewht;sbar.style.width=(sbar.offsetWidth+100)+'px';sbar.style.left='0px';}}
function buildwp(){var sz=calcsize();var fm=d_gp(tx,'form');if(fm)d_ae(fm,'submit',i2t);
d_ss(tx,'display','none');var par=tx.parentNode;wpa=d_mk('div',par,'',"wwg_wpa");
sbar=d_mk('div',par,'',"wwg_sbar");stxt=d_mk('span',sbar,Config.wwg.viewht);d_ae(sbar,'click',sbtog);
d_ss(wpa,'width',sz[0]);d_ss(sbar,'width',sz[0]);d_ss(sbar,'top',-15);
tbar=d_mk('div',wpa,'',"wwg_tbar");ifr=d_mk('iframe',wpa,'',"wwg_ifr");d_ss(ifr,'width',sz[0]-2);
d_ss(ifr,'height',sz[1]-40);
makebtn('Heading 1','formatblock','<h1>');makebtn('Heading 2','formatblock','<h2>');
makebtn('Heading 3','formatblock','<h3>');makebtn('Body text','formatblock','<p>');
makebtn('Insert horizontal rule');makesep();makebtn('Bold');makebtn('Italic');makebtn('Underline');
makebtn('Strike through');makesep();makebtn('Superscript');makebtn('Subscript');makesep();
makebtn('Justify left');makebtn('Justify center');makebtn('Justify right');makesep();
makebtn('Indent');makebtn('Outdent');makesep();makebtn('Insert unordered list');
makebtn('Insert ordered list');makesep();makebtn('Create link');makebtn('Insert image');
makesep();makebtn('Highlight','','ff0');makesep();makebtn('Remove format');
d_ss(wpa,'height',sz[1]);d_ss(wpa,'display','block');d_ss(sbar,'display','block');
var ds='<html><body>'+tx.value+'</body></html>';
ifd=ifr.contentWindow.document;ifd.open();ifd.write(ds);ifd.close();ifd.designMode='on';}
function makesep(){d_mk('span',tbar,' ');}
function makebtn(tx,cd,va){var ty=tx.replace(/\s/g,'');ty=ty.toLowerCase();if(!cd)cd=ty;
if(!va)va=null;var btn=d_mk('img',tbar,'','wwg_btn',{'src':Config.wwg.imgdir+ty+'.gif','title':tx});
d_ss(btn,'cursor','pointer');btn.onmousedown=function(){return false;};
if(ty=='highlight'){if((/MSIE/gi).test(navigator.userAgent))cd='backcolor';else cd='hilitecolor';}
if(ty=='createlink')btn.onclick=function(){url=prompt(Config.wwg.enturl,'');
if(url)ifd.execCommand(cd,false,url);i2t();ifr.contentWindow.focus();return false;};
else if (ty=='insertimage')btn.onclick=function(){url=prompt(Config.wwg.entimg,'');
if(url)ifd.execCommand(cd,false,url);i2t();ifr.contentWindow.focus();return false;};
else btn.onclick=function(){ifd.execCommand(cd,false,va);i2t();ifr.contentWindow.focus();return false;};}
function init(txid){tx=d_ge(txid);if(!tx)alert(txid);
if(d_ex(document.designMode))buildwp();return true;}return{init:init,update:t2i,downdate:i2t};};
// XHR
function Xhrwrap() {
 this.xhr=false;this.deb=0;try{this.xhr=new XMLHttpRequest();}catch(ms2){try{this.xhr=new ActiveXObject("Msxml2.XMLHTTP");}catch(ms1){
 try{this.xhr=new ActiveXObject("Microsoft.XMLHTTP");}catch(nix){this.xhr=false;}}}if(!this.xhr)alert(Config.xhr.noxhr);
 this.debug=function(b){this.deb=b;}
 this.post=function(url,fm,cb,ix){if(!ix)ix=0;if(!this.xhr){alert(Config.xhr.notset);return false;}this.xhr.open("POST", unescape(url));
 this.xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');var _xhr=this.xhr;
 this.xhr.onreadystatechange=function(){if(_xhr.readyState==4){if(_xhr.status==200){if(cb){var txt=_xhr.responseText;
 if(txt.substr(0,9)=="while(1);")txt=txt.substring(9);if(this.deb)alert(txt.substring(0,this.deb));cb(txt);} 
 }else if(_xhr.status==404)alert(Config.xhr.e404+url);else if(_xhr.status==403)alert(Config.xhr.e403);
 else if(_xhr.status==0)alert(Config.xhr.noconn);else alert(Config.xhr.gen+_xhr.status);}};
 if(fm)fm+='&isxhr='+ix;else fm='isxhr='+ix;if(document.cookie)fm+='&'+document.cookie;this.xhr.send(fm);}}
// MD5
/*
 * Compressed version of MD5 for javascript,
 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */
var chrsz=8;
function md5(s){return binl2hex(core_md5(str2binl(s),s.length*chrsz));}
function md5_vm_test(){return md5("abc")=="900150983cd24fb0d6963f7d28e17f72";}
function core_md5(x,len){
 x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;
 var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16)
 {var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);
 d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);
 b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);
 d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);
 b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);
 d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);
 b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);
 d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);
 b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);
 d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);
 b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);
 d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);
 b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);
 d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);
 b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);
 d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);
 b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);
 d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);
 b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);
 d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);
 b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);
 d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);
 b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);
 d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);
 b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);
 d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);
 b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);
 d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);
 b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);
 d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);
 b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);
 d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);
 b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);
 c=safe_add(c,oldc);d=safe_add(d,oldd);}return Array(a,b,c,d);}
function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b);}
function md5_ff(a,b,c,d,x,s,t){return md5_cmn((b&c)|((~b)&d),a,b,x,s,t);}
function md5_gg(a,b,c,d,x,s,t){return md5_cmn((b&d)|(c&(~d)),a,b,x,s,t);}
function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t);}
function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|(~d)),a,b,x,s,t);}
function safe_add(x,y){var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);
 return(msw<<16)|(lsw&0xFFFF);}
function bit_rol(num, cnt){return(num<<cnt)|(num>>>(32-cnt));}
function str2binl(str){var bin=Array();var mask=(1<<chrsz)-1;
 for(var i=0;i<str.length*chrsz;i+=chrsz)bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(i%32);
 return bin;}
function binl2hex(binarray){var hex_tab = "0123456789abcdef";var str="";
 for(var i=0;i<binarray.length*4;i++){str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+
 hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);}return str;}
