﻿WUNDER.registerNameSpace("WUNDER.HTML.DYNAMIC");
WUNDER.HTML.DYNAMIC.HTMLTool=function(){
var _1={};
var _2="";
this.addElement=function(_3,_4,_5){
var _6=document.createElement(_4);
for(var i=0;i<_5.length;i++){
if(_5[i][0].indexOf("on")==0){
if(document.all){
function makeEventFunc(_8){
return function(){
eval(_8);
};
}
_6.attachEvent(_5[i][0],makeEventFunc(_5[i][1]),true);
}else{
_6.setAttribute(_5[i][0],_5[i][1]);
}
}
if(_5[i][0]=="class"){
_6.className=_5[i][1];
}else{
_6.setAttribute(_5[i][0],_5[i][1]);
}
}
if(_3!=""){
document.getElementById(_3).appendChild(_6);
}else{
document.body.appendChild(_6);
}
return _6;
};
this.cloneElement=function(_9,_a,_b){
var _c=[];
_9.style.display="block";
if(typeof (_b)=="undefined"){
return _d(_9,_a);
}
for(var i=0;i<_b;i++){
_c.push(_d(_9,_a));
}
_9.style.display="none";
return _c;
};
this.clearClones=function(){
_1={};
};
this.addEvent=function(_f,_10,_11){
var _12="__"+_10;
if(_f[_12]){
if(_13(_11,_f[_12])>-1){
return;
}
}else{
_f[_12]=[];
if(_f["on"+_10]){
_f[evTypeRef][0]=_f["on"+_10];
}
_f["on"+_10]=_14;
}
_f[_12][_f[_12].length]=_11;
};
this.removeEvent=function(_15,_16,_17){
var _18="__"+_16;
if(_15[_18]){
var i=_13(_17,_15[_18]);
if(i>-1){
delete _15[_18][i];
}
}
};
this.formatString=function(_1a,_1b){
if(_1b instanceof Array){
var _1c=_1a;
var _1d;
for(var i=0;i<_1b.length;i++){
_1d=new RegExp("\\["+i+"\\]","g");
_1c=_1c.replace(_1d,_1b[i]||"");
}
return _1c;
}
return _1a.replace("[*]",_1b);
};
this.setClass=function(_1f,_20){
_1f.className=_20;
};
this.selectOption=function(_21,_22){
var _23=typeof (_22);
switch(_23){
case "string":
for(var i=0;i<_21.options.length;i++){
var _25=_21.options[i];
if(oeTarget.options[i].value==_22){
_25.selectedIndex=i;
}
}
break;
default:
_21.selectedIndex=_23;
}
};
this.clearSelect=function(_26){
while(_26.firstChild){
_26.removeChild(_26.firstChild);
}
};
this.truncateString=function(_27,_28,_29){
if(_27.length>_28){
if(_29){
_2=_29;
}
return _27.substring(0,_28)+_29||_2||"";
}
return _27;
};
var _d=function(_2a,_2b){
var _2c=_2a.cloneNode(true);
_2b.appendChild(_2c);
if(_2a.id!=""){
_2c.id=_2a.id+_2d(_2a.id);
}
_2c.parent=_2a;
return _2c;
};
var _2d=function(_2e){
if(typeof (_1[_2e])=="undefined"){
_1[_2e]=0;
return 0;
}else{
return ++_1[_2e];
}
};
var _14=function(_2f){
_2f=_2f||window.event;
var _30="__"+_2f.type;
var _31=true;
for(var i=0,j=this[_30].length;i<j;i++){
if(this[_30][i]){
this.__fHandler=this[_30][i];
_31=this.__fHandler(_2f)&&_31;
}
}
if(this.__fHandler){
try{
delete this.__fHandler;
}
catch(_2f){
this.__fHandler=null;
}
}
return _31;
};
var _13=function(_34,_35){
var _36=_35.length;
while(_36--){
if(_35[_36]&&_35[_36]===_34){
break;
}
}
return _36;
};
};
WUNDER.registerRequirements("WUNDER.HTML.DYNAMIC.DataBinder",["WUNDER.DATA.DataObjectCollection","WUNDER.HTML.DYNAMIC.HTMLTool"]);
WUNDER.HTML.DYNAMIC.DataBinder=function(){
var _37=this;
var _38=new WUNDER.DATA.DataObjectCollection();
var _39=new WUNDER.HTML.DYNAMIC.HTMLTool();
var _3a=_39.formatString;
this.add=function(_3b,_3c,_3d,_3e){
var _3f=_38.getChildById(_3b);
if(_3f==null){
_3f=_38.add(_3b);
}
_3f.value("elementId",_3b).value("value",_3c).value("element",null).value("format",_3d||_3f.format||null).value("selectEmpty",_3e||"");
return _37;
};
this.bind=function(_40){
for(var i=0;i<_38.children.length;i++){
var oDO=_38.children[i];
var _43=oDO.element;
var _44;
if(_43==null){
_43=document.getElementById(oDO.elementId);
oDO.element=_43;
}
if(oDO.format==null){
oDO.value("format",_43.innerHTML);
}
_44=oDO.format;
var _45=_43.nodeName;
switch(_45){
case "SELECT":
_39.clearSelect(_43);
if(oDO.selectEmpty!=""){
var _46=new Option(oDO.selectEmpty,"");
try{
_43.options.add(_46);
}
catch(ex){
_43.options.add(_46,null);
}
}
for(var j=0;j<oDO.value.length;j++){
var _48=_3a(_44,oDO.value[j]);
var _46=new Option(_48,oDO.value[j]);
try{
_43.options.add(_46);
}
catch(ex){
_43.options.add(_46,null);
}
}
break;
default:
_43.innerHTML=_3a(_44,oDO.value||_40||"");
break;
}
}
return _37;
};
};

