// Copyright 2004, 2005 Crispin Perdue, All Rights Reserved
// cris@perdues.com


function IW_Hash(){}
var iw_devMode=true;var iw_demoDelay=iw_devMode?1000:0;var iw_debugActions=false;var iw_saveAll=false;var iw_debug=false;var iw_blankURL="about:blank";var iw_firstUpdate=iw_blankURL;var iw_safariAutoSave=2000;var iw_onDirtyUI;var iw_appState;var iw_requestData;var dojo;var iw_mainFrame=window;var iw_updateFrame;var iw_loaded;var iw_updateQuery;var iw_evContext=window;var iw_toolState=new IW_Hash;var aa=navigator.userAgent;var ab=parseInt(navigator.appVersion);var ac=aa.match(/Opera/);var ad=aa.match(/KHTML/);var ae=false;var af=aa.match(/Safari/);var ag=aa.match(/MSIE/)&&!ac;var ah=aa.match(/^Mozilla\/5/)&&!ag&&!ac&&!ad;var ai=iw_saveAll;var aj;var ak;var al;var am=ag;var an=false;var ao=false;var ap=false;var aq=false;var ar=false;var as=ad?iw_safariAutoSave:0;var at;var au;var av;var aw=new IW_Hash;var ax=new IW_Hash;var ay=new IW_Hash;var az=new IW_Hash;var ba=new IW_Hash;var bb;var bc;var bd=false;var be=new IW_Hash;var bf;function bg(){iw_updateFrame=aq?bh.iw_updateFrame:iw_frame;au=bi("iw_mainBody")||bi("mainBody");av=document.getElementsByTagName("head")[0];if(!au){ai=false;}
aj=!ai;ak=!ai;al=ai&&ae;if(ai){ao=false;}
if(!ag)
an=false;if(ap)
as=0;var bj=document.iw_form.toolkit.value;iw_toolState=bj?bk(bj):new IW_Hash;iw_toolState.simpleModes||(iw_toolState.simpleModes=new IW_Hash);bf=iw_toolState.simpleModes;var bl=!iw_toolState.initialized;iw_toolState.initialized=true;iw_inputs=bm(location.search);var bj=document.iw_form.status.value;iw_appState=bj?bk(bj):new IW_Hash();bn();bo();bp();if(bl||!ai){bq();br();bs(au);bt(au,true);}
for(var bu in bc){var bv=bc[bu];var bw=bv.tagName;var bx=(bv.id&&iw_findAction(bv.id))||iw_findAction(bu);if(bw=="FORM"&&bx&&!bv.onsubmit){connect(bv,"onsubmit",by);}
var bz=bb[bu];for(var i=0;i<bz.length;i++){var ca=bz[i];if(!ca.onclick&&(ca.type=="submit"||ca.type=="button"||ca.type=="image")){var cb=iw_findAction(ca.id)||iw_findAction(ca.name);if(cb){connect(ca,"onclick",iw_doAction);}else if(bx&&bw!="FORM"){connect(ca,"onclick",by);}}
if(bx&&bw!="FORM"&&ca.type=="text"&&!ca.onkeypress){connect(ca,"onkeypress",by);}}}
if(bl&&iw_findAction("Init")){iw_doAction("Init");}
if(bl){cc();}
if(iw_devMode&&bl){var cd=iw_inputs._action;if(cd){iw_doAction(cd);}
for(var k in iw_inputs){if(ce(k)){cf(k,iw_inputs[k]);}}}
if(ad){var cg=document.getElementsByTagName("pre");while(cg.length){var ch=cg[0];var ci=document.createElement("div");cj(ch,ci);ci.style.cssText+=" white-space: pre;";}}
if(!an){if(as>0){setInterval("iw_saveState()",as);}else{window.onbeforeunload=ck;window.onunload=ck;}}
iw_loaded=true;}
function bt(cl,cm){var a=cl.getElementsByTagName("*");for(var i=(cm?-1:0);i<a.length;i++){var e=i==-1?(cl):a[i];var cn=e.getAttribute("mode");var co=cn||e.id;if(co){var m=co.match
(/^([_a-zA-Z][_a-zA-Z0-9]*):([_a-zA-Z0-9]*)$/);cp(!(cn&&!m),"Illegal simple mode: ",co);if(m){var cq=m[1];if(!bf[cq]){bf[cq]=new IW_Hash;}
var cr=cs(e);bf[cq][m[2]]=cr;}}}}
function cc(){var ct=iw_findAction("Update");var cu="";if(ct){var cv=ct.ownerDocument;cp(cv==iw_updateFrame.document,"Update found in wrong window");var cw=cv.getElementsByTagName("script");for(var i=0;i<cw.length;i++){var cx=cw[i];if(cx.type!="text/iwp")
continue;cu+=cx.innerHTML;cu+="\n";}
try{iw_evContext=eval
("(function(){\n"+cu
+"\nreturn {eval:function(x){return eval(x);}}\n})()");iw_doAction("Update");}finally{cy=window;}}}
function bn(){var e=document.getElementById("iw_modes");return e?be=cz(e):null;}
function da(cl){bt(cl,true);}
function db(cl){for(var dc=dd(cl);dc;dc=de(dc)){da(dc);}}
function df(bj){document.writeln(bj);}
function dg(){if(an){df('<style type="text/css">');df('<!--');df(' .iw_preserve {behavior: url(#default#savehistory);}');df('-->');df('</style>');}
df('<iframe id=iw_frame_id name=iw_frame ');df(' src='+iw_firstUpdate+' width=90% height=0 ');if(!ad){df(' style="display: none;"');}
df(' ></iframe>');df('<div id=decisions style="display: none; position: fixed"></div>');df('<div id=iw_div width=100% height=50 style="display: none;">');df('<form name=iw_form>');df('<b>Attributes</b><br>');df('<textarea name=attrs rows=3 cols=80></textarea><br>');df('<b>Styles</b><br>');df('<textarea name=styles rows=3 cols=80></textarea><br>');df('<b>Handlers</b><br>');df('<textarea name=handlers rows=3 cols=80></textarea><br>');df('<b>Forms state</b><br>');df('<textarea name=forms rows=3 cols=80></textarea><br>');df('<b>Toolkit state</b><br>');df('<textarea name=toolkit rows=3 cols=80></textarea><br>');df('<b>Application status</b><br>');df('<textarea name=status rows=3 cols=80 class=iw_preserve></textarea><br>');df('<b>Element contents</b><br>');df('<textarea name=contents rows=3 cols=80></textarea><br>');df('<b>Document contents</b><br>');df('<textarea name=html rows=10 cols=80 class=iw_preserve></textarea><br>');df('</form>');df('</div>');df('<div id=iw_draghandle style="position: absolute; left: 0; top: 0; visibility: hidden">');df('<table cellspacing="0" cellpadding="0"><tr><td id=iw_dragcopy>');df('</td></tr></table>');df('</div>');}
function dh(bu,di){document.write
('<iframe name="'+bu+'" src="'+di+'" width=100 height=0\n'
+' style="border-style: none; visibility: hidden; overflow: hidden;\n'
+' position: absolute; left: 0px; top: 0px;"></iframe>\n');}
function dj(di){var cx=document.createElement("script");cx.type="text/javascript";cx.src=di;av.appendChild(cx);}
function dk(di){var dl=document.createElement("link");dl.type="text/css";dl.rel="stylesheet";dl.href=di;av.appendChild(dl);}
var iw_libs=[]
function dm(di){if(!dn(iw_libs,di)){dh(di,di);iw_libs.push(di);}}
function br(){for(var i=0;i<iw_libs.length;i++){var w=frames[iw_libs[i]];cp(w,"No frame ",iw_libs[i]);if(!w)continue;dp=w.document.getElementById("library");cp(dp,"No library in "+iw_libs[i]);bq(dp);}}
function dq(){if(aj){dr.begin();for(var ds in aw){var dt=bi(ds);if(!dt){delete aw[ds];continue;}
var du=aw[ds];for(var dv in du){try{du[dv]=dt.getAttribute(dv);}catch(dw){delete du[dv];}}}
dr.end();}
if(al){dx.begin();var dy=document.getElementsByTagName("*");for(var i=0;i<dy.length;i++){var e=dy[i];var dz=e.style.cssText;if(dz||e.getAttribute("style")){var cr=cs(e);ay[cr]=dz;}}
dx.end();}
if(!am&&!ao){ea.begin();eb();ea.end();}
ec.begin()
if(ai){document.iw_form.html.value=au.innerHTML;}else{document.iw_form.contents.value=ed(ba);}
ec.end();if(aj){ee.begin();document.iw_form.attrs.value=ed(aw);ee.end();}
if(ak){ef.begin();document.iw_form.styles.value=ed(ax);ef.end();}
eg.begin();document.iw_form.handlers.value=ed(az);eg.end();eh.begin();document.iw_form.status.value=ed(iw_appState);eh.end();ei.begin();document.iw_form.toolkit.value=ed(iw_toolState);ei.end();}
var ej=false;function ck(){if(!ej){dq();ej=true;}}
function eb(){ek();var el=new IW_Hash;for(var cr in bc){var bv=bc[cr];if(typeof(bv)=="function"){continue;}
el[cr]=em(bc[cr]);}
document.iw_form.forms.innerHTML="";var bj=document.createTextNode(ed(el));document.iw_form.forms.appendChild(bj);}
function bo(){var en=document.iw_form.html.value;if(en){au.innerHTML=en;}
var bj=document.iw_form.contents.value;if(bj){ba=bk(bj);}
var eo;var ep;for(eo=0;eo<3;eo++){ep=false;for(var ds in ba){var dt=bi(ds);if(dt){dt.innerHTML=ba[ds];}else{eq("No element with id="+ds);ep=true;}}
if(!ep)
break;}
if(ep){eq("Update failures after "+eo+" rounds.");}
bj=document.iw_form.attrs.value;if(bj){aw=bk(bj);for(var cr in aw){var dt=bi(cr);if(!dt){delete aw[cr];continue;}
var du=aw[cr];for(var dv in du){try{dt.setAttribute(dv,du[dv]);}catch(dw){eq("Can't set element "+cr+"."+dv);delete du[dv];}}}}
bj=document.iw_form.styles.value;if(bj){ax=bk(bj);for(var cr in ax){var dt=bi(cr);if(!dt){delete ax[cr];continue;}
var du=ax[cr];for(var dv in du){try{dt.style[dv]=du[dv];}catch(dw){eq("Can't set element "+cr+" style "+dv);delete du[dv];}}}}
bj=document.iw_form.handlers.value;if(bj){az=bk(bj);for(var cr in az){var dt=bi(cr);if(!dt){delete az[cr];continue;}
var er=az[cr];for(var dv in er){dt[dv]=er[dv];}}}}
function ek(){if(bd){return;}
es.begin();bb=new IW_Hash;bc=new IW_Hash;et.begin();var eu=document.getElementsByTagName("input");for(var i=0;i<eu.length;i++){ev(eu[i]);}
et.end();ew.begin();var ex=document.getElementsByTagName("button");for(var i=0;i<ex.length;i++){ev(ex[i]);}
ew.end();ey.begin();var ez=document.getElementsByTagName("select");for(var i=0;i<ez.length;i++){ev(ez[i]);}
ey.end();fa.begin();var fb=document.getElementsByTagName("textarea");for(var i=0;i<fb.length;i++){ev(fb[i]);}
fa.end();es.end();bd=true;}
function fc(cl){return fd(cl)&&(cl.tagName=="FORM"||fe(cl,"iw_form")||cl.getAttribute("submit"));}
function ff(cl){return fd(cl)&&(fe(cl,"iw_form")||cl.getAttribute("submit"));}
function fg(cl){var dv=cl.getAttributeNode("name");return(dv&&dv.value)||cl.id;}
function fh(ca){var bv=ca;while(fd(bv)&&!fc(bv)){bv=bv.parentNode;}
if(!bv){eq("No form with name "+bu);return false;}
return bv;}
function ev(ca){var bu=ca.name||ca.id;if(!bu)
return;bv=fh(ca);var fi=fg(bv);if(!fi||fi=="evform"||fi=="iw_form")
return;bc[fi]=bv;if(!bb[fi]){bb[fi]=new Array();}
var bz=bb[fi];if(!dn(bz,ca)){bz.push(ca);}}
function bp(){ek();var bj=document.iw_form.forms.value;if(!bj)
return;var fj=bk(bj);for(var bu in bc){var bv=bc[bu];if(!fj[bu])
continue;var fk=fj[bu];var eu=bb[bu];for(var j=0;j<eu.length;j++){var dt=eu[j];var fl=dt.name;if(!fl||!fk[fl])
continue;var fm=fk[fl];if(!(fm instanceof Array))
eq("Restoring a non-array form value.");fn(dt,fm);}}}
function fo(dt,dv){return bi(dt).getAttribute(dv);}
function fp(fq,dv,fr){var fs=bi(fq);var ft=fs.getAttribute(dv);if(!ft){var fu=fs.className.split(" ");for(var i in fu){var fv=fu[i];var fw=fv.match(/^(.*?)(:(.*))?$/);if(fw&&fw[1]==dv){return fw[3]||fr;}}}
return ft;}
function fx(fq,dv,ft){var dt=bi(fq);dt.setAttribute(dv,ft);if(aj){var cr=dt.id;var fy=aw[cr];if(!fy){fy=aw[cr]=new IW_Hash;}
fy[dv]=ft;}
return ft;}
function fz(fq,dv){return bi(fq).style[dv];}
function ga(fq,dz,ft){var dt=bi(fq);dt.style[dz]=ft;if(ak){var cr=cs(dt);var fy=ax[cr]=ax[cr]||new IW_Hash;fy[dz]=ft;}
return ft;}
function gb(fq){var dt=bi(fq);if(window.getComputedStyle){return window.getComputedStyle(dt,null);}else{return dt.currentStyle;}}
function gc(fq,gd,ge){var dt=bi(fq);var gf=window[ge];cp(typeof(gf)=="function","No function ",ge);dt[gd]=gf;var cr=cs(dt);var fy=az[cr];if(!fy){fy=az[cr]=new IW_Hash;}
fy[gd]=ft;return ft;}
function gg(fq,dv){var e=bi(fq);cp(e,"No element ",e);cp(typeof(dv)=="string","Handler attribute must be a string");e[dv]=null;var cr=e.id;if(!cr)
return;var er=az[cr];if(!er)
return;delete er[dv];}
function gh(fq,dv){return fx(fq,dv,fo(dt,dv));}
function gi(cr){return bi(cr).innerHTML;}
function gj(fq,en,gk){var fs=bi(fq);cp(fs,"No node found: ",fq);var gl=parseInt(fp(fs,"fadeIn","300"))||0;var gm=parseInt(fp(fs,"fadeOut","300"))||0;if(gl||gm){var gn=new IW_FadeOut(fs,gm);var go=new IW_FadeIn(fs,gl);var gp=new dojo.animation.AnimationSequence();gp.removeAll();gp.add(gn);connect(gn,"onEnd",function(){gq(fs,en,gk);});gp.add(go);gp.play();}else{var gr=parseInt(fp(fs,"slideIn","200"))||0;if(gr){gs(fs,en,gr);}else{gq(fs,en,gk);}}}
function gq(dt,en,gk){if(en.nodeType){while(dt.firstChild){dt.removeChild(dt.firstChild);}
dt.appendChild(en);if(!ai)
cr=cs(dt);ba[cr]=dt.innerHTML;}else{cp(en.match,"HTML? ",en);if(en.match(/^\s*$/)&&(dt.tagName=="TD"||dt.tagName=="TH")){dt.innerHTML="<br>";}else{dt.innerHTML=en;}
if(!ai){cr=dt.id;if(!cr){var gt=gu(dt);if(gt.length>50){gt=gt.substring(0,46)+" ..."}
cp(false,"Setting contents of element without ID: ",gt);}
ba[cr]=en;}}
gv(dt,gk);bd=false;}
function gv(dt,gk){bs(dt);if(gk&&dojo&&dojo.widget&&dojo.widget.getParser&&dojo.xml&&dojo.xml.Parse){for(var fs=dt.firstChild;dt;fs=dt.nextSibling){if(fd(fs)){var gw=new dojo.xml.Parse().parseElement(fs,null,true);dojo.widget.getParser().createComponents(gw);}}}
bt(dt);}
function gx(fq,bj){gj(fq,document.createTextNode(bj).nodeValue);}
function gy(fq,fy){var gz=fy=="off"||fy==false?"none":fy=="on"||fy==true?"":fy;ga(fq,"display",gz);}
function ce(ha){return!!be[ha]||!!bf[ha]||!!document.getElementById(ha);}
function hb(ha){var hc=bf[ha];if(hc){for(var k in hc){var dz=gb(hc[k]);if(dz&&dz.display!="none"){return k;}}
return void(0);}else{if(be[ha])return void(0);var dt=bi(ha);if(!dt)return void(0);return dt.style.display!="none";}}
function cf(ha,hd){if(typeof(ha)=="function")
return;var he=be[ha];if(he){var hf=he[hd];for(var k in he.defaults){if(!hf[k]){cf(k,he.defaults[k]);}}
for(var k in hf){cf(k,hf[k]);}
return;}
var hg=bf[ha];if(hg){if(hg instanceof Object){for(var k in hg){if(cf(hg[k],k==hd?"on":"off")==false){delete hg[k];}}
return;}
if(typeof(hg.setMode)=="function"){hg.setMode(hd);return;}
eq("Unidentified simple mode: "+ha);return;}
if(hd==true||hd==false||hd.match(/^(on|off|inline|block|table|inline-table)$/)||hd.match(/^(inline-block|list-item|none|run-in)$/)||hd.match(/^(table-(cell|row|column|caption))$/)||hd.match(/^(table-(row|column|header|footer)-group)$/)){e=document.getElementById(ha);if(e){gy(e,hd);return true;}else{return false;}}else{cp(false,"No primitive setting "+hd+" for "+ha);return;}}
function hh(){return iw_toolState.currentRequest;}
function hi(){iw_toolState.currentRequest=null;if(ar){hj.abort();}}
function hk(){if(hh()){if(confirm("Previous server request incomplete,\nContinue?")){if(ar){hj.abort();}
if(hh()){if(window.iw_onDirtyUI){window.iw_onDirtyUI();}}}else{if(hh()&&confirm("Resynchronize page with server?\n(resets all forms)")){iw_toolState.currentRequest=null;location.reload(true);}
return false;}}
iw_toolState.currentRequest=null;return true;}
function by(hl,hm){var hn;var fq;function ho(x){return typeof(x)=="string"||x instanceof String||x.nodeType;}
if(!hl){}else if(ho(hl)){fq=hl;if(hm){hn=hm;}}else{hn=hl;if(hm){fq=hm;}}
if(!hn){hn=window.event;}
cp(hn,"iw_submit needs an event");if(fq){cp(ho(fq),"Target not a string or node: "+fq);}
if(!fq){fq=hn.currentTarget;}
if(!fq&&this.nodeType){fq=this;}
cp(fq,"No target for iw_submit");if(fq){dt=bi(fq);}else{dt=hn.target?hn.target:hn.srcElement;}
var bv=fh(dt);cp(bv,"No form for ",dt," (",dt.name||dt.id,")");if(!hk())
return false;if(hn.type=="keypress"){var k=hn.keyCode||hn.which;if(k!=13)
return true;}
hp=fg(bv);if(!iw_findAction(hp)){hp=dt.id;}
if(!iw_findAction(hp)){hp=dt.getAttribute("name");}
if(hp){iw_requestData=em(bv,dt);iw_doAction(hp);}
if(hn.preventDefault&&(dt.tagName=="FORM"||dt.type=="submit"||dt.type=="text")){hn.preventDefault();}
return false;}
function hq(hr,dt,hn){if(!hk())
return false;if(dt){dt=bi(dt);var bv=fh(dt);cp(bv,"No form for ",dt," (",dt.name||dt.id,")");if(!hn)
hn=window.event;if(hn.type=="keypress"){var k=hn.keyCode||hn.which;if(k!=13)
return true;}
iw_requestData=em(bv,dt);}else{iw_requestData=new IW_Hash;}
hs(hr,ht(iw_requestData));return false;}
function hs(hr,hu){iw_toolState.currentRequest=hr;if(iw_demoDelay){window.defaultStatus="Loading "+hr+" ... ";setTimeout("iw__request1('"+hr+"', '"+hu+"');",iw_demoDelay);}else{hv(hr,hu);}
return false;}
function hv(hr,hu){if(ar){hw(hr,hu);}else{var q=hu?("?"+hu):"";var hx=iw_updateFrame.location;if(hr.match(/^\//)){hx.replace(hr+q);}else{var hy=location.href.replace(/[^\/\\]*$/,hr);hx.replace(hy+q);}
if(iw_demoDelay)
window.defaultStatus='';}}
var hj;function hw(hz,du,ia){hj=null;if(ib){hj=new ib();}else if(ic){try{hj=new ic("Microsoft.XMLHTTP");}catch(e){}
try{hj=new ic("Msxml2.XMLHTTP");}catch(e){}
try{hj=new ic("Msxml2.XMLHTTP.4.0");}catch(e){}}
cp(hj,"Can't create XMLHttpRequest");ia=ia||"get";hj.onreadystatechange=ie;hj.open(ia,hz,true);if(ia=="post"){hj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");hj.send(du);}else{hj.send(null);}}
function ie(){if(hj.readyState==4){if(hj.status!=0&&hj.status!=200){eq("Request status = "+hj.status);}
var cv=iw_updateFrame.document;cv.open();cv.write(hj.responseText);cv.close();}}
function ht(fy){var hu="";for(var ge in fy){var ig=fy[ge];for(var i=0;i<ig.length;i++){var ft=ig[i];hu+="&"+escape(ge)+"="+escape(ft);}}
return hu.slice(1);}
function bm(hu){var ih=new IW_Hash;if(!hu)
return ih;hu=hu.slice(1);var ii=hu.split("&");for(var i=0;i<ii.length;i++){var ij=ii[i];var ik=ij.match(/^([^=]*)=(.*)$/);if(ik){var ds=decodeURIComponent(ik[1]);var il=decodeURIComponent(ik[2]);ih["raw_"+ds]=il;var im=io(il);ih[ds]=im||"";}}
return ih;}
function em(fq,dt,bu){var bv=bi(fq);bv=bv||document.forms[fq];cp(bv,"No form named ",fq);var fy=new IW_Hash;if(!bv)
return fy;ek();var ip=fg(bv);if(!ip){eq("Form without ID/Name: "+bv+", target="+fq+", name="+bu);}
var bz=bb[ip];for(var j=0;j<bz.length;j++){var iq=bz[j];if(!iq.name||(bu&&bu!=iq.name))
continue;if(iq!=dt&&(iq.type=="submit"||iq.type=="button"||iq.type=="image"))
continue;var v=ir(iq);if(v==null)
continue;var a=fy[iq.name]=fy[iq.name]||[];is(a,v);cp(a instanceof Array,"Form state not an array: form ",ip," element ",iq.name);}
return fy;}
function ir(dt){if(dt.type=='select-one'){if(dt.selectedIndex<0)
return null;var it=dt.options[dt.selectedIndex];if(ag){var dv=it.getAttributeNode("value");return dv.specified?dv.nodeValue:it.text;}else{return it.value;}}else if(dt.type=='select-multiple'){var ih=new Array;for(i=0;i<dt.options.length;i++){var iu=dt.options[i];if(iu.selected){ih.push(iu.value);}}
return ih;}else if(dt.type=="checkbox"||dt.type=="radio"){return dt.checked?dt.value:null;}else{return dt.value;}}
function iv(fq,iq){return iw(fq,iq)[0];}
function iw(bv,iq){if(!iq){iq=bi(bv);bv=fh(iq);}
var ix=iq.name||iq.id;var fy=em(bv,null,ix);return fy[ix]||[];}
function iy(bv){return bb[fg(bv)];}
function iz(ge,ja,ft){ek();var eu=bb[ge];cp(eu,"No form named ",ge);for(var i=0;i<eu.length;i++){var iq=eu[i];if(iq.name==ja){fn(iq,ft);}}}
function fn(dt,ft){var a=(ft instanceof Array)?(ft):[ft];if(dt.type=='select-multiple'||dt.type=='select-one'){for(i=0;i<dt.options.length;i++){var iu=dt.options[i];iu.selected=dn(a,iu.value);}
return;}
if(dt.type=="checkbox"||dt.type=="radio"){dt.checked=dn(a,dt.value);return;}
cp(a.length>0,"No value given for element ",dt);if(ad&&dt.tagName=="TEXTAREA"){dt.innerHTML="";dt.appendChild(document.createTextNode(a[0]));}else{dt.value=a[0];}}
function jb(du){for(var k in du){var fs=bi(k);if(fs){var ft=jc(du[k],io).join(", ");gj(fs,ft);}}}
var jd;var je;var jf;var jg;function jh(e,dt){var ji=bi("iw_draghandle");var jj=dt.cloneNode(true);var a=jj.getElementsByTagName("*");for(var i=0;i<a.length;i++){a[i].removeAttribute("id");}
jj.removeAttribute("id");jj.style.marginTop="0px";jj.style.marginLeft="0px";jj.style.marginBottom="0px";jj.style.marginRight="0px";gj("iw_dragcopy",jj);ji.style.left=jk(dt)+"px";ji.style.top=jl(dt)+"px";ji.style.visibility="visible";jm(e,ji);}
function jm(e,dt){if(!e){e=window.event;}
if(!dt){dt=hn.target?hn.target:hn.srcElement;}
jd=dt;je=e.clientX;jf=e.clientY;document.onmousemove=jn;document.onmouseup=jo;}
function jn(e){if(!e){e=window.event;}
jd.style.left=(jd.offsetLeft+e.clientX-je)+"px";jd.style.top=(jd.offsetTop+e.clientY-jf)+"px";je=e.clientX;jf=e.clientY;if(bi("elem")){bi("elem").innerHTML="clientLeft: "+jp(jd)+" offsetLeft: "+jd.offsetLeft+", "
+"clientTop: "+jq(jd)+" offsetTop: "+jd.offsetTop;}}
function jo(e){if(!e){e=window.event;}
document.onmousemove=null;document.onmouseup=null;ga("iw_draghandle","visibility","hidden");for(var jr=e.target?e.target:e.srcElement;jr;jr=jr.parentNode){if(typeof(jr.ondrop)=="function"){jr.ondrop(e);}}
if(window.ondrop){window.ondrop(e);}}
function js(dt,hn){var x=hn.clientX;var y=hn.clientY;if(ad){x-=jt();y-=ju();}
var jv=jp(dt);var jw=jq(dt);return jv<=x&&x<jv+dt.offsetWidth&&jw<=y&&y<jw+dt.offsetHeight;}
var jx;var jy;function jz(ka,hn){jx=bi(ka);var kb=hn.clientX+jx.offsetWidth<=kc()?"left":"right";var kd=hn.clientY+jx.offsetHeight<=ke()?"top":"bottom";jx.style[kb]=jt()+hn.clientX;jx.style[kd]=ju()+hn.clientY;jx.onmouseover=kf;jx.onmouseout=kg;jx.onmouseup=kh;jy=document.onclick;document.onclick=kh;jx.style.visibility="visible";jx.style.zIndex="1000";return false;}
var ki;function kh(hn){jx.style.visibility="hidden";if(ki){ki.style.backgroundColor="";ki.style.color="";}
document.onclick=jy;return false;}
function kf(hn){if(!hn){hn=window.event;}
var dt=hn.target||hn.srcElement;while(dt!=jx&&!dt.onmouseup){dt=dt.parentNode;}
if(dt!=jx){ki=dt;dt.style.backgroundColor="gray";dt.style.color="white";}}
function kg(hn){if(!hn){hn=window.event;}
var dt=hn.target||hn.srcElement;while(dt!=jx&&!dt.onmouseup){dt=dt.parentNode;}
var kj=bi("elem");if(kj){bi("elem").innerHTML=dt+"/"+
jp(dt)+"("+dt.offsetLeft+")-"+dt.offsetWidth+","
+jq(dt)+"("+dt.offsetTop+")-"+dt.offsetHeight;}
if(dt!=jx&&!kk(dt,hn.relatedTarget)){dt.style.backgroundColor="";dt.style.color="";}}
function kl(km,kn,gr){var ko=new IW_FlyEffect(km,kn,gr);ko.play(true);}
function bk(kp){function kq(v){if(v.constructor==Object){var ih=new IW_Hash;for(k in v){ih[k]=kq(v[k]);}
return ih;}else{return v;}}
if(kp.length==0)
return null;else{var v=window.eval("("+kp+")");return kq(v);}}
var kr=new RegExp("([\\\\'])","g");function ed(v,ks,kt){iw_limit=kt==at?(kt):3;return ku(v,ks);}
var iw_depth=0;var iw_recur=false;var iw_limit;function ku(v,ks){var kv=iw_depth;try{if(v===at){return"undefined";}
if(v===null){return"null";}
if(typeof(v)=="boolean"||typeof(v)=="number"||v instanceof Boolean||v instanceof Number){return v.toString();}
if(typeof(v)=="string"||v instanceof String){var kw=v.replace(kr,"\\$1");kw=kw.replace(/\n/g,"\\n");kw=kw.replace(/\r/g,"\\r");return"'"+kw+"'";}
if(v instanceof Date){return"new Date("+d.getFullYear+","+d.getMonth()+","+d.getDate()+")";}
var d;if(v instanceof Array||v.push){if(kv>=iw_limit)
return"[ ... ]";d="[";var kx=true;iw_depth++;for(var i=0;i<v.length;i++){if(kx){kx=false;}else{d+=",";}
d+=ku(v[i],ks);}
return d+"]";}
if(v.constructor==IW_Hash||v.constructor==Object||v.toString==ky){if(kv>=iw_limit)
return"{ ... }";if(typeof(v.hasOwnProperty)!="function"&&v.prototype){throw new Error("description: "+v+" not supported by script engine");}
var kx=true;d="{";if(ks&&v.constructor){var cq=v.constructor.name;if(cq){d+=cq;}}
iw_depth++;for(var ds in v){if(v[ds]==at||typeof(v[ds])=="function")
continue;if(kx){kx=false;if(d.length>1){d+=" ";}}else{d+=", ";}
kz=ds;if(!kz.match(/^[a-zA-Z_][a-zA-Z0-9_]*$/)){kz=ku(ds,ks);}
d+=kz+": "+ku(v[ds],ks);}
return d+"}";}
if(ks){if(iw_recur){return la.apply(v,[]);}else{iw_recur=true;return v.toString();}}else{throw new Error("Unknown type: "+v);return"'unknown'";}}finally{iw_depth=kv;}}
function cz(dt){if(!dt)
return null;var o=new IW_Hash;for(var dc=dd(dt);dc;dc=de(dc)){var ds=lb(dc);if(!ds)
continue;var lc=dd(dc);if(lc){var ft=ld(lc);o[ds]=ft;}else{var er=ds.match
(ad?/^\s*([\x00-\xff]*?)\s*=\s*([\x00-\xff]*?)\s*$/:/^\s*([\u0000-\uffff]*?)\s*=\s*([\u0000-\uffff]*?)\s*$/);if(!er){eq("Bad format: "+le.nodeValue);continue;}
o[er[1]]=er[2];}}
return o;}
function lf(dt){var a=new Array();a.toString=ky;for(var dc=dd(dt);dc;dc=de(dc)){var lg=kx(dc);if(lg){a.push(ld(lg));}}
return a;}
function ld(cl){if(!fd(cl)){return lh(cl.nodeValue);}else if(cl.tagName=="OL"||cl.className=="array"){return lf(cl);}else{return cz(cl);}}
function bi(cr){if(fd(cr)){return cr;}else if(!cr.match(/[_a-zA-Z][_a-zA-Z0-9]*/)){return window.eval(cr);}else{var ft=document.getElementById(cr);if(ft&&ft.id==cr){return ft;}else{return null;}}}
if(window.$===void(0)){window.$=bi;}
var li=1;var lj=3;function fd(cl){return cl&&cl.nodeType==li;}
function lk(cl){return cl&&cl.nodeType==lj;}
function kk(ll,lm){var x=lm;while(x){if(ll==x){return true;}
x=x.parentNode;}
return false;}
function fe(fs,bu){return dn(fs.className.split(/\s+/),bu);}
function ln(lo,bu){ek();var ig=bb[lo];lp(ig,"No form ",lo);for(var i=0;i<ig.length;i++){var ca=ig[i];if(ca.name==bu)
return ca;}
return null;}
function lq(dt){var en=dt.innerHTML;var lr=lh(en.replace(/<.*?>/g,""));var e=document.createElement("span");e.innerHTML=lr;return e.firstChild?e.firstChild.nodeValue.replace(/\xA0/g,""):"";}
function gu(cl){if(lk(cl))
return cl.nodeValue;var ls=cl.tagName;var lt=ls=="TD"?"TR":ls=="TR"?"TBODY":"DIV";var lu=document.createElement(lt);lu.appendChild(cl.parentNode?cl.cloneNode(true):cl);return lu.innerHTML;}
function lv(fq,en,lw){var dt=bi(fq);var p=dt.parentNode;var ci,lx;if(false&&dt.outerHTML){var ly=dt.previousSibling;dt.outerHTML="<del>"+en+"</del>";var lz=ly?ly.nextSibling:p.firstChild;lx=lz;}else{var lz=document.createElement("div");lz.innerHTML=en;lx=dt;}
if(!lw){gv(lz);}
lx.innerHTML="";lx.id=null;while(ci=lz.firstChild){p.insertBefore(ci,lx);}
p.removeChild(lx);if(!ad){p.normalize();}}
function cj(lx,ci){var a=lx.attributes;for(var i=0;i<a.length;i++){var dv=a.item(i);if(dv.specified){if(dv.name){if(!ci.getAttribute(dv.name)){ci.setAttribute(dv.name,dv.value);}}else{if(!ci.getAttribute(dv.nodeName)){ci.setAttribute(dv.nodeName,dv.nodeValue);}}}}
var dc;while(dc=lx.firstChild){ci.appendChild(dc);}
lx.parentNode.replaceChild(ci,lx);}
function kx(cl){return fd(cl)&&ma(cl.firstChild);}
function mb(cl){return cl.nodeType&&ma(cl.nextSibling);}
function ma(cl){for(;cl;cl=cl.nextSibling){if((lk(cl))){var bj=cl.nodeValue.match(/\S+/);if(bj){return cl;}}else if(fd(cl)){return cl;}}
return null;}
function mc(cl){for(;cl;cl=cl.nextSibling){if(fd(cl)){return cl;}}
return null;}
function dd(cl){return fd(cl)&&mc(cl.firstChild);}
function de(cl){return cl.nodeType&&mc(cl.nextSibling);}
function lb(cl){var t=kx(cl);return lk(t)?lh(t.nodeValue):"";}
function md(dt){var a=new Array;for(var dc=dd(dt);dc;dc=de(dc)){a.push(dc);}
return a;}
function me(dt,mf){if(dt.tagName){mf(dt);for(var dc=dd(dt);dc;dc=de(dc)){me(dc,mf);}}}
function bq(fq){if(!fq)
fq="library";var dt=bi(fq);if(!dt)
return;cp(dt.tagName=="UL","Library should be a UL");for(var mg=dd(dt);mg;mg=de(mg)){var mh=lb(mg);var m=mh.match(/^(\w+)\s+(\w+)$/);cp(m,"Bad library defn syntax: ",mh);var ds=m[1];var bu=m[2];switch(ds){case"expand":iw_expanders[bu]=new mi(bu,mg);break;default:eq("Unknown definition type: "+ds);}}}
var iw_expanders=new IW_Hash;var iw_expanderTags=new IW_Hash;function mi(bu,mg){var self=this;var mj;var mk=dd(mg);this.name=bu;function ml(e){if(!mj){var mm=de(mk);if(mm){iw_expanderTags[bu]=mm.tagName;}
self.defaults=mj=mm?mn(mm):new IW_Hash;}
return mn(e,mj);}
function mo(dt){var b=ml(dt);mp(b);var mq=mk.innerHTML;var mr=ms
(mq,/_([a-zA-Z_]\w*)_/,function(mt,fw){return b[fw]||"";});return mr;}
ml(mk);this.dfn=mk;this.defaults=mj;this.expansion=mo;this.toString=ky;}
function mp(hf){for(var k in hf){var v=hf[k];if(v instanceof Array){var b='';for(var i=0;i<v.length;i++){b+=v[i].innerHTML;}
hf[k]=b;}else{hf[k]=io(v.toString());}}}
var mu=false;function bs(mv,ls){if(!mv)
mv=document.body;ls=ls||"ins";var i=0;var mt=mv.getElementsByTagName(ls);while(i<mt.length){var dt=mt[i];var mw=dt.className;if(mw){cp(iw_expanders[mw],mw," has no expander");if(iw_expanders[mw]){lv(dt,iw_expanders[mw].expansion(dt),true);continue;}}
i++;}
mx(mv);}
function mx(cl){var a=cl.getElementsByTagName("table");var my=[];for(var i=0;i<a.length;i++){var mz=a[i];var na=mz.getAttribute("level");if(!na)continue;na=na.toUpperCase();if(!dn(["TBODY","TR","TD"],na)){cp(false,"Table level given as "+na);continue;}
var nb=na=="TBODY"?mz.tBodies:na=="TR"?mz.rows:mz.rows[0].cells;for(var fq=mz.parentNode;!(fq==cl||fq.tagName==na);fq=fq.parentNode){}
if(fq.tagName==na){my[my.length]=fq;while(nb.length>0){fq.parentNode.appendChild(nb[0]);}}else{}}
for(var i=0;i<my.length;i++){var e=my[i];if(e.parentNode){e.parentNode.removeChild(e);}}}
function mn(dt,mj){var a=dt.attributes;var ih=new IW_Hash;for(var dc=dd(dt);dc;dc=de(dc)){var nc=dc.getAttribute("iwName")||dc.className;if(nc){ft=ih[nc]||new Array;ft[ft.length]=dc;ih[nc]=ft;}}
if(ih.body==null){ih.body=[dt];}
if(mj){for(var k in mj){if(ih[k])continue;var v=dt.getAttribute(k);ih[k]=v?(v):mj[k];}}else{for(var i=0;i<a.length;i++){var dv=a.item(i);if(dv.specified){ih[dv.nodeName]=dv.nodeValue;}}}
return ih;}
var nd=1;function cs(dt){if(dt.id){return dt.id;}
var cr="iw_"+nd;nd++;dt.id=cr;return cr;}
function jt(){return ag?document.documentElement.scrollLeft:ne;}
function ju(){return ag?document.documentElement.scrollTop:nf;}
function kc(){return ag?document.body.clientWidth:window.innerWidth;}
function ke(){return ag?document.body.clientHeight:window.innerHeight;}
function jk(dt){var x=0
while(dt){x+=dt.offsetLeft;if(ad&&dt.offsetParent==document.body&&dt.style.position=="absolute"){break;}
dt=dt.offsetParent;}
return x;}
function jp(dt){return jk(dt)-jt();}
function jl(dt){var y=0;while(dt){y+=dt.offsetTop;if(ad&&dt.offsetParent==document.body&&dt.style.position=="absolute"){break;}
dt=dt.offsetParent;}
return y;}
function jq(dt){return jl(dt)-ju();}
function ng(dt){var x=dt.offsetLeft;var y=dt.offsetTop;while(dt.offsetParent){x+=dt.offsetLeft;y+=dt.offsetTop;dt=dt.offsetParent}
return[x-jt(),y-ju()];}
function nh(o,f){if(o.item){for(var i=0;i<o.length;i++){f(o.item(i),i);}}else{for(var i=0;i<o.length;i++){f(o[i],i);}}}
function jc(o,f){if(typeof(f)=="string"){f=new Function("x,i","return ("+f+")");}
var ih=[];nh(o,function(x,i){ih.push(f(x,i))});return ih;}
function ni(nj){var mt=document.body.getElementsByTagName("*");if(mt.length<1){nk(nj);return false;}
var e=mt[mt.length-1];e.parentNode.removeChild(e);return true;}
function nl(o,bu){return typeof(o[bu])=="function";}
function lp(nn,no){if(nn)
return;var m=no;for(var i=2;i<arguments.length;i++){m+=arguments[i];}
eq("Assert failed: ",m);}
function cp(nn,no){if(nn)
return;var m=no;for(var i=2;i<arguments.length;i++){m+=arguments[i];}
eq("Check failed: ",m);np(m);}
function eq(no){var m=no;for(var i=1;i<arguments.length;i++){m+=arguments[i];}
alert(m);}
function np(no){try{throw new Error(no);}catch(dw){}}
function nq(nr,ns){ns=ns||"";var nt="";while(ns=prompt(nr+"\n"+nt,ns)){nv=new Date().getTime();try{var nw=eval(ns);var nx=typeof(nw);}catch(ny){nw=ny;nx='';}
var nz=new Date().getTime();nt=nx+' ('+(nz-nv)+'ms): '+nw;}}
function lh(bj){return ad?bj.match(/^\s*([\x00-\xff]*?)\s*$/)[1]:bj.match(/^\s*([\u0000-\uffff]*?)\s*$/)[1];}
function io(bj){var v=bj.replace(/&/g,"&amp;");v=v.replace(/</g,"&lt;");v=v.replace(/>/g,"&gt;");v=v.replace(/\"/g,"&quot;");return v;}
if(!Array.prototype){Array.prototype=new Object;}
if(!Array.prototype.push){Array.prototype.push=function(ft){for(var i=0;i<arguments.length;i++){this[this.length]=arguments[i];}
return this.length;};}
if(!Array.prototype.pop){Array.prototype.pop=function(){var v=this[this.length-1];this.length--;return v;};}
function ms(fq,oa,mf){ob.begin();var ih="";if(ad){var oc="";if(oa.ignoreCase)
oc+="i";if(oa.multiline)
oc+="m";var en=fq;var m;while(m=en.match(oa)){var od=en.slice(0,m.index);ih+=od+mf.apply(at,m);en=en.slice(m.index+m[0].length);}
ih+=en;}else{var oc="g";if(oa.ignoreCase)
oc+="i";if(oa.multiline)
oc+="m";ih=fq.replace(new RegExp(oa.source,oc),mf);}
ob.end();return ih;}
function ky(){return ed(this,true);}
var la=Object.prototype.toString;var oe=Array.prototype.toString;if(!ad){Object.prototype.toString=ky;Array.prototype.toString=ky;}
function of(ft){return typeof(ft)=="string"||ft.constructor==String;}
function dn(og,ft){for(var i=0;i<og.length;i++){if(og[i]==ft)
return true;}
return false;}
function oh(og,x){var i=0;for(var j=0;j<og.length;j++){if(og[j]!=x){og[i++]=og[j];}}
og.length=i;}
function is(og,oi){if(oi==null)
return og;if(oi instanceof Array){for(var i=0;i<oi.length;i++){og.push(oi[i]);}}else{og.push(oi);}}
var oj=dojo&&dojo.event&&dojo.event.connect;var ok=new Object;var connect=oj?function(cl,ol,om){return dojo.event.connect(cl,ol,om);}:function(cl,ol,om){if(cl==window){}
var on=function(og,x){if(!dn(og,x))og.push(x)}
var oo=cl[ol]!=callHandlers?cl[ol]:null;var op=ol+"__handlers";cl[op]=cl[op]||new Array;if(oo){cl[op].push(oo);}
on(cl[op],om);cl[ol]=callHandlers;var h=ok[ol]=ok[ol]||new Array;on(h,cl);if(cl!=window){connect(window,"onunload",deregister);}};var disconnect=oj?function(cl,ol,om){return dojo.event.disconnect(cl,ol,om);}:function(cl,ol,om){var oq=ol+"__handlers";var a=cl[oq];if(!a)return;iw_remove(a,om);if(a.length==0){cl[ol]=null;}};function callHandlers(hn){if(!hn)
hn=window.event;var or=false;var os=hn.currentTarget;if(!os){hn.currentTarget=this;or=true;}
hn.preventDefault=function(){this.prevented=true;}
var a=this["on"+hn.type+"__handlers"];cp(a,"No handlers for ",this," ",hn.type);try{for(var i=0;i<a.length;i++){this.__handler=a[i];var v=this.__handler(hn);}}finally{if(or){hn.currentTarget=os;}
this.__handler=null;var ot=hn.prevented;if(hn.type=="mouseover")
ot=!ot;return ot?false:true;}}
function deregister(){for(var ol in ok){var a=ok[ol];var oq=ol+"__handlers";for(var i=0;i<a.length;i++){a[i][oq]=null;}}}
function ou(){this.count=0;this.time=0;}
ou.prototype.begin=function(){this.start=new Date().getTime();}
ou.prototype.end=function(){this.time+=new Date().getTime()-this.start;this.count++;this.start=null;}
ou.prototype.toString=function(){return this.time+"/"+this.count+"="+this.time/this.count;}
var dr=new ou;var dx=new ou;var ec=new ou;var ea=new ou;var ee=new ou;var ef=new ou;var eg=new ou;var ov=new ou;var eh=new ou;var ei=new ou;var et=new ou;var ey=new ou;var ew=new ou;var fa=new ou;var es=new ou;var ob=new ou;function ow(){function ox(oy){return oy+": "+window[oy]+"\n";}
var mt=['tAttrs','tStyles','tHTML','tForms','tAttrs2','tStyles2','tHandlers','tForms2','tInputs','tSelects','tButtons','tAreas','tSetup','tApp','tKit','tReplace'];var gt='';for(var i=0;i<mt.length;i++){gt+=ox(mt[i]);}
alert(gt);return null;}
function oz(pa){for(var i=0;i<pa.length;i++){var pb=pa[i];try{var ft=eval(pb);window["iw_"+pb]=eval(pb);}catch(ny){if(iw_debug){eq("Can't export ",pb,": ",ny.message);}}}}
function pc(){window.iw_appSaves=ap;window.iw_contents=gi;window.iw_setContents=gj;window.iw_description=ed;window.iw_element=bi;window.iw_preserve=gh;window.iw_getAttr=fo;window.iw_getCustomAttr=fp;window.iw_setAttr=fx;window.iw_getStyle=fz;window.iw_setStyle=ga;window.iw_effectiveStyle=gb;window.iw_setHandler=gc;window.iw_outerHTML=gu;window.iw_setOuterHTML=lv;window.iw_innerText=lq;window.iw_setText=gx;window.iw_setMode=cf;window.iw_getMode=hb;window.iw_isElement=fd;window.iw_isText=lk;window.iw_hasClass=fe;window.iw_firstE=dd;window.iw_nextE=de;window.iw_first=kx;window.iw_next=mb;window.iw_firstText=lb;window.iw_iframe=dh;window.iw_isIWPForm=fc;window.iw_getFormState=em;window.iw_getFormName=fg;window.iw_findField=ln;window.iw_getFields=iy;window.iw_getFieldValue=iv;window.iw_getFieldValues=iw;window.iw_setFieldValue=iz;window.iw_getForm=function(bu){return bc[bu];};window.iw_displayData=jb;window.iw_fieldData=ir;window.iw_fetchUpdate=hs;window.iw_submit=by;window.iw_requestUpdate=hq;window.iw_parseQuery=bm;window.iw_checkInterlock=hk;window.iw_getCurrentRequest=hh;window.iw_doUpdate=cc;window.iw_htmlEncode=io;window.iw_node2Object=cz;window.iw_expandAll=bs;window.iw_saveState=dq;window.iw_setup=bg;window.iw_supportHere=dg;window.iw_require=dm;window.iw_registerLibrary=bq;window.iw_log=eq;window.iw_isString=of;window.iw_contains=dn;window.iw_remove=oh;window.iw_replaceAll=ms;window.iw_parseQuery=bm;window.iw_encodeRequestData=ht;window.iw_connect=connect;window.iw_disconnect=disconnect;window.iw_check=cp;window.iw_assert=lp;window.iw_log=eq;window.iw_check=cp;window.iw_assert=lp;window.iw_bkpoint=np;window.iw_windowLeft=jt;window.iw_windowTop=ju;window.iw_windowWidth=kc;window.iw_windowHeight=ke;window.iw_pageLeft=jk;window.iw_clientLeft=jp;window.iw_pageTop=jl;window.iw_clientTop=jq;window.iw_clientPos=ng;window.iw_covers=js;window.iw_startDrag=jh;window.iw_showMenu=jz;window.iw_zoomRects=kl;window.iw__request1=hv;}
var pd=pc();if(dojo){dojo.addOnLoad(iw_setup);}else{iw_connect(window,"onload",iw_setup);}
var undefined;function pe(x,pf){var mw=pg(x);if(!mw){throw new Error("Send found no Class for "+x);}
var ia=mw[pf];if(!ia){ia=mw["defaultMethod"];}
var ph=[pf];for(var i=2;i<arguments.length;i++){ph.push(arguments[i]);}
if(ia){var cq="?";try{cq=mw.constructor.id;}catch(dw){}
return ia.apply(x,ph);}else{throw new Error("No method "+pf+" for "+x);}}
function pg(pi){var mw=typeof(pi);var ih;if(mw=="object"){if(pi.constructor){ih=pi.constructor.Class;}
if(!ih){ih=pj[pi.nodeType];}}
return ih||fu[mw];}
function pk(pi,pl){if(typeof(pi)!="object"){throw new Error("Cannot classify "+pi+", type is "+typeof(pi));}
var pm=pg(pi);var pn;if(typeof(pl)=="function"){if(pl.Class){pn=pl.Class;}else{throw new Error((pl.name||pl)+" lacks Class information.");}}else{pn=pl;}
if((pi.constructor==Object||pm!=fu.object)&&pm!=pn){throw new Error(pi+" already has a type");}
pi.constructor||(pi.constructor={});pi.constructor.Class=pn;}
function po(){}
function pp(pq){if(arguments.length==0){pq=Object.Class;}
var pr=function(){};pr.prototype=pq;var ci=new(pr)();return ci;}
function ps(bh,bu,pt){var pq=bh;if(typeof(bh)=="function"){pq=bh.Class;}
if(!pq){throw new Error("Not a Class: "+bh);}
var pr=self[bu]||function(){};pr.id=bu;self[bu]=pr;var pl=pp(pq);pl.constructor.id=bu;pr.Class=pl;for(var k in pt){pl[k]=pt[k];}}
function iw_xeval(kp,pu){if(pu===undefined){pu=iw_starter;}
var a=(kp instanceof Array)?kp:iw_parse(kp);var ih=pu;var pv=[];for(var i=0;i<a.length;i++){var pf=a[i];try{if(i+1<a.length&&pf.match(/=$/)){var nc=a[i+1];if(nc.match(/^[(].*[)]$/)){nc=iw_xeval(nc);}
ih=pe(ih,pf,nc);break;}else{ih=pe(ih,pf);}
pv.push(ih);}catch(dw){var gt="";for(var i=0;i<pv.length;i++){try{gt+=iw_description(pv[i],true)+"\n";}catch(e){gt+=e;}}
throw new Error("In expression "+kp+" at: "+pf+":\n"
+dw.message+"\nResults so far:\n"
+gt);}}
return ih;}
function iw_parse(pw){var kp=pw.replace(/\x00-\x1f/," ");var kp=kp.replace(/\s/," ");var px;var m=kp.match(/^(.*?)=(.*)$/);if(m){kp=m[1];px=m[2];}
var a=kp.match
(/[_a-zA-Z][_a-zA-Z0-9]*|[-+0-9][0-9.]*|[^ _a-zA-Z0-9]+/g);if(!a){throw new Error("Can't parse: "+pw);}
var ih=[];for(var i=0;i<a.length;i++){var w=a[i];if(w=="."&&a[i+1]&&a[i+1].match(/^[_a-zA-Z][_a-zA-Z0-9]*$/)){}else if(!w.match(/^[_a-zA-Z]/)){throw new Error("In "+pw+", bad operator: "+w);}else{ih.push(w);}}
if(px!=null){if(ih.length){ih.push(ih.pop()+"=");}
ih.push(px);}
return ih;}
Object.Class=pp(null);function py(a){if(a instanceof Array)
return a;var ih=[];for(var i=1;i<a.length;i++){ih.push(a[i]);}
return ih;}
Object.Class.defaultMethod=function(pf,hm){var m;if(this==null){return pe(this,"defaultNull",arguments);}
if(arguments.length==1){return pe(this,"defaultGetter",pf);}
if(arguments.length==2&&(m=pf.match(/^(.*)=$/))){return pe(this,"defaultSetter",m[1],hm);}
if(typeof(this[pf])=="function"){var ph=py(arguments);ph.shift();return this[pf].apply(this,ph);}
throw new Error("No method or property "+pf+" found for "+this);};Object.Class.defaultNull=function(pf,ph){throw new Error("Message sent to "+this);};Object.Class.defaultGetter=function(pf,gd){var om=this[pz(gd)];if(typeof(om)=="function"&&om.length==0){return om.call(this);}
var ft=this[gd];if(typeof(ft)=="function"&&ft.length==0){return ft.call(this);}
return this[gd];};Object.Class.defaultSetter=function(pf,gd,ft){var om=this[qa(gd)];if(typeof(om)=="function"&&om.length==1){return om.call(this,ft);}else{return this[gd]=ft;}};function pz(qb){return"get"+qb[0].toUpperCase()+qb.slice(1);}
function qa(qb){return"set"+qb.substring(0,1).toUpperCase()+qb.slice(1);}
Number.Class=pp();String.Class=pp();Boolean.Class=pp();Function.Class=pp();Array.Class=pp();Date.Class=pp();RegExp.Class=pp();var qc=pp();var fu={number:Number.Class,string:String.Class,'boolean':Boolean.Class,'function':Function.Class,object:Object.Class,Window:pp(),Node:qc,ElementNode:pp(qc),AttributeNode:pp(qc),TextNode:pp(qc),CDataNode:pp(qc),EntityReferenceNode:pp(qc),EntityNode:pp(qc),PINode:pp(qc),CommentNode:pp(qc),DocumentNode:pp(qc),DocumentTypeNode:pp(qc),DocumentFragmentNode:pp(qc),NotationNode:pp(qc)}
var pj=[null,fu.ElementNode,fu.AttributeNode,fu.TextNode,fu.CDataNode,fu.EntityReferenceNode,fu.EntityNode,fu.PINode,fu.CommentNode,fu.DocumentNode,fu.DocumentTypeNode,fu.DocumentFragmentNode,fu.NotationNode];if(self.window){if(window.constructor==Object){window.constructor={};window.constructor.Class=fu.Window.Class;}else{pk(self.window,fu.Window);}}
var iw_actionInfo;var iw_actionMode=true;var qd;var qe;function qf(bu){var hn;var cl;if(!(typeof(bu)=="string"||bu instanceof String)){hn=bu;cl=this;if(!iw_isElement(cl)){cl=hn.currentTarget||hn.srcElement;}
if(cl){bu=cl.id||cl.name;}}
if(!bu){iw_log("doAction: no name given.");throw new Error("doAction: no name given.");}
if(hn&&hn.preventDefault){hn.preventDefault();}
try{var qg=qh(bu);if(!qg){iw_log("No action named ",bu);throw new Error("No action named "+bu);}
if(iw_devMode){iw_actionMode=false;qe=new IW_Hash;iw_actionInfo=qd=new IW_Hash;qi(qg);for(var k in qe){qj(bu);return false;}}
iw_actionMode=true;qi(qg);return false;}catch(ny){iw_log("Error in action "+bu+":\n"+ny.message);}}
function qk(bu){try{var qg=qh(bu);if(!qg){throw new Error("Undefined action: "+bu);}
qi(qg);}catch(dw){throw new Error("Error in action "+bu+":\n"+dw.message);}}
function qh(bu){var ql=function(qm){if(!qm){return false;}
for(var qn=iw_firstE(qm);qn;qn=iw_nextE(qn)){if(bu==iw_firstText(qn)){return qn;}}
return false;}
var qo=null;var ct=null;try{qo=iw_updateFrame.document.body;}catch(ny){iw_log("updateFrame? ",ny.message);}
try{ct=ql(iw_firstE(qo));}catch(ny){iw_log("updates? ",ny.message);}
return ct||ql(iw_element("iw_actions"));}
function qi(ct){qp(iw_nextE(iw_first(ct)));}
function qp(dt){for(var ij=iw_firstE(dt);ij;ij=iw_nextE(ij)){if(ij.tagName!="LI"){iw_log("Need LI: "+ij);continue;}
var bj=iw_firstText(ij);iw_check(bj,"No action specified: ",ij.innerHTML);qq(bj,ij);}}
function qq(kp,qr){var fs=iw_firstE(qr);var m;if(kp.slice(-1)=="?"){kp=kp.slice(0,-1);var qs=iw_xeval(kp);if(iw_debugActions&&iw_actionMode){iw_log("Test: "+kp+" == "+qs);}
if(qs!=null){if(typeof(qs)=="string"){ih=qs;}else if(qs==false){ih="no";}else{ih="yes";}
qd[kp]=ih;}
iw_check(fs,"No choice list for conditional: ",kp);qt(kp,fs);return;}
if(iw_debugActions){var gt=qr.innerHTML;if(gt.length>100)
gt=gt.substring(0,96)+" ...";if(iw_actionMode){iw_log("Action: "+gt);}else{}}
if(m=kp.match(/^=> *(.*)/)){if(iw_actionMode){var hu=iw_encodeRequestData(iw_requestData);iw_fetchUpdate(m[1],hu);}
return;}
if(m=kp.match(/^\{(([\s\S])*)\}$/)){if(iw_actionMode){iw_evContext.eval("(function(){"+m[1]+"})()");}
return;}
var a=iw_parse(kp);if(a.length==1){if(fs){if(iw_actionMode){iw_setContents(a[0],fs.innerHTML);}}else{qk(a[0]);}}else{var ih=iw_xeval(a,iw_starter);}}
function qu(pi){var ls=pi.tagName;var qs;if(iw_contains(["INPUT","SELECT","TEXTAREA"],ls)){var ft=iw_getFieldValue(pi);iw_check(ft!=null,"Not validatable: ",pi.name||pi.tagName);return ft==null?false:pi.getAttribute("valid")=="required"?!!ft.match(/^[^#]+$/):!!ft.match(/^[^#]*$/);}else if(iw_isIWPForm(pi)){qs=true;var bz=iw_getFields(pi);for(var i=0;i<bz.length;i++){var ca=bz[i];if(ca.type=="submit"||ca.type=="image"||ca.type=="button")
continue;var qv=qu(ca);if(!(qv||qv===undefined)){qs=false;break;}}}else{iw_check(false,"Only a form or field can be valid");}
return qs;}
function qt(qw,hc){iw_check(hc.tagName=="UL","Invalid choices");var fq=qd[qw];iw_check(fq||!iw_actionMode,"No outcome for: ",qw);if(fq){for(var qx=iw_firstE(hc);qx;qx=iw_nextE(qx)){iw_check(qx.tagName=="LI","Ill-formed choice for ",qw);var ds=iw_firstText(qx);iw_check(ds,"Missing choice for ",qw);if(fq&&ds==fq){qp(iw_nextE(iw_first(qx)));return;}}
iw_log("No match for test ",qw);}else{var he=qe[qw]||new Array;for(var qx=iw_firstE(hc);qx;qx=iw_nextE(qx)){iw_check(qx.tagName=="LI","Ill-formed choice for ",qw);var ds=iw_firstText(qx);iw_check(ds,"Missing choice for ",qw);if(!iw_contains(he,ds)){he.push(ds);}}
if(he&&he.length>0){qe[qw]=he;}}}
function qj(ct){var w=window.open
("","iw_controls","height=400,width=250,status,resizable,scrollbars");if(!w){iw_log("Decisions window pop-up blocked");return;}
w.focus();var cv=w.document;cv.writeln('<html><head><title>Decisions</title></head>');cv.writeln('<body style="background-color: #AAFFAA">');cv.writeln('<H2 style="text-align: center">Decisions</H2>');cv.writeln('<form name=outcomes>');cv.writeln('<input type=hidden name=%action value='+ct+'>');cv.writeln('<center><table>');for(var k in qe){var a=qe[k];var s=qy(a,'-- ? -- ',1);s.name=k;s.id=k;cv.write('<tr><td align=right><b>');cv.write(k);cv.write(': ');cv.write('</b></td><td>');cv.write(iw_outerHTML(s));cv.writeln('</td></tr>');}
cv.writeln('</table></center>');cv.writeln('<p>Choose a value for each to simulate application logic');cv.writeln('results.</p>');cv.writeln('<center><input type=button name=go value=Apply>');cv.writeln(' <input type=button value=Close onclick="window.close()"></center>');cv.writeln('</form>');cv.writeln('</body></html>');cv.close();cv=w.document;for(var k in qe){cv.outcomes[k].onchange=qz;cv.outcomes[k].name=k;}
var ra=cv.outcomes.go;ra.onclick=qz;}
function qz(){iw_actionInfo=qd=new IW_Hash;var rb=false;var rc=this.form.elements;for(var i=0;i<rc.length;i++){var e=rc[i];if(e.tagName.toUpperCase().match("SELECT")){var ft=iw_fieldData(e);if(ft){qd[e.name]=ft;}else{rb=true;}}}
if(!rb){var ct=this.form["%action"].value;var qg=iw_findAction(ct);iw_check(qg,"No action2: ",ct);iw_actionMode=false;qe=new IW_Hash;qi(qg);for(var k in qe){if(!qd[k]){qj(ct);return;}}
iw_actionMode=true;qi(qg);}}
function qy(rd,re,rf){var oi=rd;var rg=re;if(!rf){rf=0;}
if(!re){rg=rd;}else if(typeof(re)=="string"||re instanceof String){oi=new Array;rg=new Array;oi.push("");rg.push(re);for(var i=0;i<rd.length;i++){oi.push(rd[i]);rg.push(rd[i]);}}
var rh=document.createElement("select");for(var i=0;i<oi.length;i++){iu=new Option(rg[i],oi[i],i==rf,i==rf);rh.options[rh.options.length]=iu;}
return rh;}
function ri(){}
ri.Class=pp();ri.Class.window=function(){return window;};ri.Class.elements=function(){return rc;};ri.Class.forms=function(){return rj;};ri.Class.modes=function(){return rk;};ri.Class.widgets=function(){return rl;}
ri.Class.data=function(){return rm;}
ri.Class.defaultMethod=function(bu){return pe(rc,bu);};window.iw_starter=new ri();fu.Window.defaultMethod=function(bu){return rn(window,bu);}
function ro(){}
var rc=new ro();ro.Class=pp();ro.Class.defaultGetter=function(pf,bu){return document.getElementById(bu);};function rp(){}
var rj=new rp();rp.Class=pp();rp.Class.defaultGetter=function(pf,bu){return new rq(bu);};function rr(){}
var rk=new rr();rr.Class=pp();rr.Class.defaultGetter=function(pf,bu){return new rs(bu);};rr.Class.defaultSetter=function(pf,gd,ft){iw_setMode(gd,ft);};function rt(){}
var rl=new rt();rt.Class=pp();rt.Class.defaultGetter=function(pf,cr){var ru=dojo.widget.getWidgetById(cr);return ru?new rv(ru):null;};fu.ElementNode.attributes=function(pf){return new rw(this);};fu.ElementNode.fields=function(pf){return new rx(this);};fu.ElementNode.fadeIn=function(pf){dojo.xml.htmlUtil.setOpacity(this,0);dojo.fx.html.fadeIn(this,1000);};fu.ElementNode["contents="]=function(pf,cr){iw_setContents(this,iw_contents(cr));};fu.ElementNode["contentsFade="]=function(pf,cr){dojo.fx.html.fadeOut(this,200,function(){iw_setContents(this,iw_contents(cr));dojo.fx.html.fadeIn(this,600);});};fu.ElementNode.valid=function(pf){return qu(this);};fu.ElementNode.defaultGetter=function(pf,bu){return this[bu];};fu.ElementNode.defaultSetter=function(pf,gd,ft){this[gd]=ft;};function rx(bv){this.form=bv;}
rx.Class=pp();rx.Class.defaultGetter=function(pf,bu){var ry=this.form.id||this.form.name;return iw_findField(ry,bu);};function rw(fs){this.element=fs;}
rw.Class=pp();rw.Class.defaultGetter=function(pf,gd){return this.element.getAttribute(gd);};rw.Class.defaultSetter=function(pf,gd,ft){this.element.setAttribute(gd,ft);};function rq(cq){this.name=cq;}
rq.Class=pp();rq.Class.display=function(pf){iw_displayData(iw_getFormState(this.name));};rq.Class.valid=function(pf){var bv=iw_getForm(this.name);iw_check(bv,"No form named "+this.name);return qu(bv);};rq.Class.defaultGetter=function(pf,gd){var ca=iw_findField(this.name,gd);return ca?new rz(ca):Object.Class.defaultGetter(pf,gd);};function rz(ca){this.field=ca;}
rz.Class=pp();rz.Class.valid=function(pf){return qu(this.field);};rz.Class.value=function(pf){return this.field.value;};rz.Class["value="]=function(pf,ft){this.field.value=ft;}
function sa(){}
sa.Class=pp();sa.Class.display=function(pf){iw_displayData(iw_requestData);};var rm=new sa();function rs(cq){this.name=cq;};rs.Class=pp();function rv(ru){this.widget=ru}
rv.Class=pp();window.iw_doAction=qf;window.iw_findAction=qh;window.iw_send=pe;

