function EventDispatcher(){
this.listenersList=new AsociativeListsList();
this.lListenersCount=0;
this.events=new Queue();
this.dispatchingInProgress=false;
this.context=null;
if(typeof (_EventDispatcher_prototype_called)=="undefined"){
_EventDispatcher_prototype_called=true;
EventDispatcher.prototype.addListener=addListener;
EventDispatcher.prototype.fire=fire;
EventDispatcher.prototype.dispatch=dispatch;
EventDispatcher.prototype.setContext=setContext;
EventDispatcher.prototype.getContext=getContext;
}
function setContext(_1){
this.context=_1;
};
function getContext(){
return this.context;
};
function addListener(_2,_3){
this.listenersList.add(_2,_3);
};
function fire(_4){
yell.traceln("EventDispatcher.fire.evnt.getName():"+_4.getName());
_4.setContext(this.getContext());
this.events.enqueue(_4);
this.dispatch();
};
function dispatch(){
if(!this.dispatchingInProgress){
this.dispatchingInProgress=true;
var _5;
var _6;
var _7;
while(!this.events.isEmpty()){
_5=this.events.dequeue();
_6=this.listenersList.getList(_5.getName());
if(_6){
for(var i=0;i<_6.length;i++){
_7=_6[i];
listenerName=_7.getName();
yell.traceln("EventDispatcher.dispatch().listenerName: "+listenerName);
yell.traceln("EventDispatcher.dispatch().evnt.getHistory(): "+_5.getHistory());
if(_5.getHistory().indexOf(listenerName)==-1){
_7.handleEvent(_5);
}else{
yell.traceln("EventDispatcher.dispatch() Evento no disparado.");
}
}
}
}
this.dispatchingInProgress=false;
}
};
};
function SelectEvent(_9){
this.sName=_9;
this.sHistory=">"+_9;
this.context=null;
if(typeof (_SelectEvent_prototype_called)=="undefined"){
_SelectEvent_prototype_called=true;
SelectEvent.prototype.getName=getName;
SelectEvent.prototype.getHistory=getHistory;
SelectEvent.prototype.setHistory=setHistory;
SelectEvent.prototype.addHistoryEvent=addHistoryEvent;
SelectEvent.prototype.setContext=setContext;
SelectEvent.prototype.getContext=getContext;
SelectEvent.prototype.replicate=replicate;
}
function getName(){
return this.sName;
};
function getHistory(){
return this.sHistory;
};
function setHistory(_a){
this.sHistory=_a;
};
function addHistoryEvent(_b){
this.sHistory+=">"+_b;
};
function replicate(_c){
var e=new SelectEvent(_c);
e.setHistory(this.getHistory());
e.addHistoryEvent(_c);
return e;
};
function setContext(_e){
this.context=_e;
};
function getContext(){
return this.context;
};
};
function SelectManager(){
this.oSelect=null;
this.lastSelectedValue="";
this.dispatcher=null;
this.data=null;
if(typeof (_SelectManager_prototype_called)=="undefined"){
_SelectManager_prototype_called=true;
SelectManager.prototype.setSelect=setSelect;
SelectManager.prototype.setValue=setValue;
SelectManager.prototype.onChange=onChange;
SelectManager.prototype.getName=getName;
SelectManager.prototype.registerOnChange=registerOnChange;
SelectManager.prototype.setEventDispatcher=setEventDispatcher;
SelectManager.prototype.handleEvent=handleEvent;
SelectManager.prototype.clearOptions=clearOptions;
SelectManager.prototype.createOption=createOption;
SelectManager.prototype.addOption=addOption;
SelectManager.prototype.createOptGroup=createOptGroup;
SelectManager.prototype.addOptGroup=addOptGroup;
SelectManager.prototype.setDataContext=setDataContext;
SelectManager.prototype.propagateOnChange=propagateOnChange;
}
function setSelect(_f){
this.oSelect=_f;
this.registerOnChange();
};
function setValue(_10){
var _11=this.oSelect.selectedIndex;
this.oSelect.value=_10;
this.lastSelectedValue=this.oSelect.value;
yell.traceln(this.getName()+".setValue().value: ["+_10+"]");
yell.traceln(this.getName()+".setValue().lastSelectedValue: ["+this.lastSelectedValue+"]");
if(this.lastSelectedValue==_10){
this.onChange();
}else{
var _12=-1;
for(var i=0;i<this.oSelect.options.length;i++){
if(this.oSelect.options[i].value==_10){
_12=i;
break;
}
}
if(_12!=-1){
this.oSelect.options[_12].setAttribute("selected",true);
this.lastSelectedValue=this.oSelect.value;
yell.trace(this.getName()+".setValue().iEncontrado: "+_12);
yell.trace("::"+this.oSelect.value);
yell.traceln("::"+this.lastSelectedValue);
this.onChange();
}else{
this.oSelect.selectedIndex=_11;
}
}
};
function setValue_old(_14){
this.oSelect.value=_14;
this.lastSelectedValue=this.oSelect.value;
this.onChange();
};
function setEventDispatcher(_15){
this.dispatcher=_15;
};
function registerOnChange(){
this.oSelect.selectManager=this;
yell.addEventDirty(this.oSelect,"change","this.selectManager.onChange()");
};
function onChange(){
if(this.dispatcher!=null){
var e=new SelectEvent(this.getName()+"_change");
this.dispatcher.fire(e);
}
};
function propagateOnChange(_17){
if(this.dispatcher!=null){
var e=_17.replicate(this.getName()+"_change");
this.dispatcher.fire(e);
}
};
function getName(){
return this.oSelect.name;
};
function handleEvent(e){
};
function clearOptions(){
var _1a;
try{
_1a=this.oSelect;
while(_1a.firstChild){
_1a.removeChild(_1a.firstChild);
}
}
catch(e){
}
};
function addOption_old(_1b,_1c,_1d){
var opt=new Option(_1b);
opt.id=_1c;
opt.name=_1c;
opt.value=_1c;
if(_1c==this.selectedValue){
opt.selected=true;
}
if(_1c==this.lastSelectedValue){
opt.selected=true;
}
this.oSelect.options[_1d]=opt;
};
function createOption(_1f,_20){
var opt=document.createElement("option");
opt.id=_20;
opt.name=_20;
opt.value=_20;
opt.appendChild(document.createTextNode(_1f));
if(_20==this.lastSelectedValue){
opt.setAttribute("selected",true);
}
return opt;
};
function addOption(_22,_23){
var _24=null;
if(arguments.length>2){
_24=arguments[2];
}
var opt=this.createOption(_22,_23);
if(_24!=null){
_24.appendChild(opt);
}else{
this.oSelect.appendChild(opt);
}
};
function createOptGroup(_26){
var _27=document.createElement("optgroup");
_27.value=_26;
_27.label=_26;
return _27;
};
function addOptGroup(_28){
this.oSelect.appendChild(_28);
};
function setDataContext(_29){
this.data=_29;
};
};
ProvSelectManager.inherits(SelectManager);
function ProvSelectManager(){
this.inherits(SelectManager);
if(typeof (_ProvSelectManager_prototype_called)=="undefined"){
_ProvSelectManager_prototype_called=true;
ProvSelectManager.prototype.handleEvent=handleEvent;
ProvSelectManager.prototype.updateProvFromTico=updateProvFromTico;
ProvSelectManager.prototype.updateProvFromZona=updateProvFromZona;
ProvSelectManager.prototype.updateProvFromCatg=updateProvFromCatg;
}
function handleEvent(e){
yell.traceln(this.getName()+".handleEvent.name: "+e.getName());
if(e.getName()=="tico_change"){
var _2b=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _2c=this.data.getTicoIndex(e.getContext().tico.value);
this.clearOptions();
this.updateProvFromTico(_2c);
this.lastSelectedValue=this.oSelect.value;
this.propagateOnChange(e);
}else{
if(e.getName()=="zona_change"){
var _2b=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _2d=this.data.getZonaIndex(e.getContext().zona.value);
this.clearOptions();
this.updateProvFromZona(_2d);
this.lastSelectedValue=this.oSelect.value;
this.propagateOnChange(e);
}else{
if(e.getName()=="catg_change"){
var _2b=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _2e=this.data.getTialIndex(e.getContext().tial.value);
var _2f=this.data.getCatgIndex(_2e,e.getContext().catg.value);
this.clearOptions();
yell.traceln(_2e+"..."+_2f);
this.updateProvFromCatg(_2e,_2f);
this.lastSelectedValue=this.oSelect.value;
yell.traceln(this.getName()+".handleEvent.value: "+this.oSelect.value);
yell.traceln(this.getName()+".handleEvent.lastSelectedValue: "+this.lastSelectedValue);
this.propagateOnChange(e);
}
}
}
};
function updateProvFromTico(_30){
var _31,_32,opt,_34;
var _34=this.oSelect;
for(var i=0;i<this.data.aProv.length;i++){
if(this.data.aTicoProv[_30][i]==1){
this.addOption(this.data.aProv[i].label,this.data.aProv[i].value);
}
}
};
function updateProvFromZona(_36){
var _37,_38,opt,_3a;
var _3a=this.oSelect;
for(var i=0;i<this.data.aProv.length;i++){
if(this.data.aZonaProv[_36][i]==1){
this.addOption(this.data.aProv[i].label,this.data.aProv[i].value);
}
}
};
function updateProvFromCatg(_3c,_3d){
var _3e,_3f,opt,_41;
var _41=this.oSelect;
for(var i=0;i<this.data.aProv.length;i++){
if(this.data.aTialProvCatg[_3c][i][_3d]==1){
this.addOption(this.data.aProv[i].label,this.data.aProv[i].value);
}
}
};
};
TicoSelectManager.inherits(SelectManager);
function TicoSelectManager(){
this.inherits(SelectManager);
if(typeof (_TicoSelectManager_prototype_called)=="undefined"){
_TicoSelectManager_prototype_called=true;
TicoSelectManager.prototype.handleEvent=handleEvent;
TicoSelectManager.prototype.updateTicoFromProv=updateTicoFromProv;
}
function handleEvent(e){
yell.traceln(this.getName()+".handleEvent.name: "+e.getName());
if(e.getName()=="prov_change"){
var _44=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _45=this.data.getProvIndex(e.getContext().prov.value);
this.clearOptions();
this.updateTicoFromProv(_45);
this.lastSelectedValue=this.oSelect.value;
this.propagateOnChange(e);
}else{
if(e.getName()=="init_altaig"){
var _44=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _45=0;
this.clearOptions();
this.updateTicoFromProv(_45);
this.lastSelectedValue=this.oSelect.value;
this.propagateOnChange(e);
}
}
};
function updateTicoFromProv(_46){
var _47,_48,opt,_4a,_4b;
var _4a=this.oSelect;
var _4c=null;
var _4d=null;
var _4e=null;
for(var i=0;i<this.data.aTico.length;i++){
if(this.data.aTicoProv[i][_46]==1){
_4d=this.data.aTico[i].cat;
if(_4d==null){
this.addOption(this.data.aTico[i].label,this.data.aTico[i].value);
}else{
if(_4e!=_4d){
if(_4c!=null){
this.addOptGroup(_4c);
}
_4b=aCatTico[_4d];
_4c=this.createOptGroup(_4b);
this.addOption(this.data.aTico[i].label,this.data.aTico[i].value,_4c);
}else{
if(_4d==_4e){
this.addOption(this.data.aTico[i].label,this.data.aTico[i].value,_4c);
}
}
}
_4e=_4d;
}
if(i==aTico.length-1&&_4c!=null){
this.addOptGroup(_4c);
}
}
};
};
ZonaSelectManager.inherits(SelectManager);
function ZonaSelectManager(){
this.inherits(SelectManager);
if(typeof (_ZonaSelectManager_prototype_called)=="undefined"){
_ZonaSelectManager_prototype_called=true;
ZonaSelectManager.prototype.handleEvent=handleEvent;
ZonaSelectManager.prototype.updateZonaFromProv=updateZonaFromProv;
}
function handleEvent(e){
yell.traceln(this.getName()+".handleEvent.name: "+e.getName());
if(e.getName()=="prov_change"){
var _51=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _52=this.data.getProvIndex(e.getContext().prov.value);
this.clearOptions();
this.updateZonaFromProv(_52);
this.lastSelectedValue=this.oSelect.value;
this.propagateOnChange(e);
}
};
function updateZonaFromProv(_53){
var _54,_55,opt,_57;
var _57=this.oSelect;
for(var i=0;i<this.data.aZona.length;i++){
if(this.data.aZonaProv[i][_53]==1){
this.addOption(this.data.aZona[i].label,this.data.aZona[i].value);
}
}
};
};
TialSelectManager.inherits(SelectManager);
function TialSelectManager(){
this.inherits(SelectManager);
if(typeof (_TialSelectManager_prototype_called)=="undefined"){
_TialSelectManager_prototype_called=true;
TialSelectManager.prototype.handleEvent=handleEvent;
TialSelectManager.prototype.updateTialFromProv=updateTialFromProv;
}
function handleEvent(e){
yell.traceln(this.getName()+".handleEvent.name: "+e.getName());
if(e.getName()=="prov_change"){
var _5a=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _5b=this.data.getProvIndex(e.getContext().prov.value);
this.clearOptions();
this.updateTialFromProv(_5b);
this.lastSelectedValue=this.oSelect.value;
yell.traceln(this.getName()+".handleEvent.value: "+this.oSelect.value);
yell.traceln(this.getName()+".handleEvent.lastSelectedValue: "+this.lastSelectedValue);
yell.traceln(this.getName()+".handleEvent.previousValue: "+_5a);
this.propagateOnChange(e);
}else{
if(e.getName()=="init_altaig"){
var _5a=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _5b=0;
this.clearOptions();
this.updateTialFromProv(_5b);
this.lastSelectedValue=this.oSelect.value;
if(_5a!=this.oSelect.value){
this.propagateOnChange(e);
}
}
}
};
function updateTialFromProv(_5c){
var _5d,_5e,opt,_60;
var _60=this.oSelect;
for(var i=0;i<this.data.aTial.length;i++){
if(this.data.aTialProvCatg[i][_5c][0]==1){
this.addOption(this.data.aTial[i].label,this.data.aTial[i].value);
}
}
};
};
CatgSelectManager.inherits(SelectManager);
function CatgSelectManager(){
this.inherits(SelectManager);
this.altaigEnabled=false;
if(typeof (_CatgSelectManager_prototype_called)=="undefined"){
_CatgSelectManager_prototype_called=true;
CatgSelectManager.prototype.handleEvent=handleEvent;
CatgSelectManager.prototype.updateCatgFromTial=updateCatgFromTial;
CatgSelectManager.prototype.setAltaIgMode=setAltaIgMode;
}
function setAltaIgMode(_62){
this.altaigEnabled=_62;
};
function handleEvent(e){
yell.traceln(this.getName()+".handleEvent.name: "+e.getName());
if(e.getName()=="tial_change"){
var _64=this.oSelect.value;
this.lastSelectedValue=this.oSelect.value;
var _65=this.data.getTialIndex(e.getContext().tial.value);
var _66=0;
if(!this.altaigEnabled){
_66=this.data.getProvIndex(e.getContext().prov.value);
}
yell.traceln("catg.handleEvent.tialIndex: "+_65);
yell.traceln("catg.handleEvent.provIndex: "+_66);
this.clearOptions();
this.updateCatgFromTial(_65,_66);
this.lastSelectedValue=this.oSelect.value;
yell.traceln("catg.handleEvent.previousValue: "+_64);
yell.traceln("catg.handleEvent.value: "+this.oSelect.value);
this.propagateOnChange(e);
}
};
function updateCatgFromTial(_67,_68){
var _69,_6a,opt,_6c;
var _6c=this.oSelect;
for(var i=0;i<this.data.aCatg[_67].length;i++){
if(this.data.aTialProvCatg[_67][_68][i]==1){
yell.traceln("catg.updateCatgFromTial.label: "+this.data.aCatg[_67][i].label);
yell.traceln("catg.updateCatgFromTial.value: "+this.data.aCatg[_67][i].value);
this.addOption(this.data.aCatg[_67][i].label,this.data.aCatg[_67][i].value);
}
}
};
};
function DataContext(){
this.aProv=aProv;
this.aTico=aTico;
this.aTicoProv=aTicoProv;
this.aTial=aTial;
this.aCatg=aCatg;
this.aTialProvCatg=aTialProvCatg;
this.aZona=aZona;
this.aZonaProv=aZonaProv;
if(typeof (_DataContext_prototype_called)=="undefined"){
_DataContext_prototype_called=true;
DataContext.prototype.getProvIndex=getProvIndex;
DataContext.prototype.getTicoIndex=getTicoIndex;
DataContext.prototype.getTialIndex=getTialIndex;
DataContext.prototype.getCatgIndex=getCatgIndex;
DataContext.prototype.getZonaIndex=getZonaIndex;
}
function getProvIndex(_6e){
return getIndex(this.aProv,_6e);
};
function getTicoIndex(_6f){
return getIndex(this.aTico,_6f);
};
function getTialIndex(_70){
return getIndex(this.aTial,_70);
};
function getCatgIndex(_71,_72){
return getIndex(this.aCatg[_71],_72);
};
function getZonaIndex(_73){
return getIndex(this.aZona,_73);
};
function getIndex(_74,_75){
var _76=false;
var _77=null;
for(var i=0;i<_74.length&&!_76;i++){
if(_74[i].value==_75){
_76=true;
_77=i;
}
}
return _77;
};
};
function initFormRest(_79,_7a){
var _7b={prov:_79.prov,tico:_79.tico};
var _7c=new EventDispatcher();
_7c.setContext(_7b);
var _7d=new DataContext();
var _7e=new ProvSelectManager();
_7e.setDataContext(_7d);
_7e.setSelect(_7b.prov);
_7e.setEventDispatcher(_7c);
var _7f=new TicoSelectManager();
_7f.setDataContext(_7d);
_7f.setSelect(_7b.tico);
_7f.setEventDispatcher(_7c);
_7c.addListener("prov_change",_7f);
_7c.addListener("tico_change",_7e);
if(_7a==null){
_7e.setValue("");
_7f.setValue("");
}else{
_7e.setValue(_7a["prov"]==null?"":_7a["prov"]);
_7f.setValue(_7a["tico"]==null?"":_7a["tico"]);
}
};
function initFormHot(_80,_81){
var _82={prov:_80.prov,tial:_80.tial,catg:_80.catg,zona:_80.zona?_80.zona:null};
yell.traceln("initFormHot.oValues: "+yell.introspect(_81));
var _83=new EventDispatcher();
_83.setContext(_82);
var _84=new DataContext();
var _85=new ProvSelectManager();
_85.setDataContext(_84);
_85.setSelect(_82.prov);
_85.setEventDispatcher(_83);
_83.addListener("zona_change",_85);
_83.addListener("catg_change",_85);
var _86=new TialSelectManager();
_86.setDataContext(_84);
_86.setSelect(_82.tial);
_86.setEventDispatcher(_83);
_83.addListener("prov_change",_86);
var _87=new CatgSelectManager();
_87.setDataContext(_84);
_87.setSelect(_82.catg);
_87.setEventDispatcher(_83);
_83.addListener("tial_change",_87);
if(_82.zona!=null){
var _88=new ZonaSelectManager();
_88.setDataContext(_84);
_88.setSelect(_82.zona);
_88.setEventDispatcher(_83);
_83.addListener("prov_change",_88);
}
if(_81==null){
_85.setValue("");
_86.setValue("");
_87.setValue("");
if(_82.zona!=null){
_88.setValue("");
}
}else{
_85.setValue(_81["prov"]==null?"":_81["prov"]);
_86.setValue(_81["tial"]==null?"":_81["tial"]);
_87.setValue(_81["catg"]==null?"":_81["catg"]);
if(_82.zona!=null){
_88.setValue(_81["zona"]==null?"":_81["zona"]);
}
}
};
function initFormResAltaIg(_89,_8a){
var _8b={prov:_89.prov,tico:_89.tico};
var _8c=new EventDispatcher();
_8c.setContext(_8b);
var _8d=new DataContext();
var _8e=new TicoSelectManager();
_8e.setDataContext(_8d);
_8e.setSelect(_8b.tico);
_8e.setEventDispatcher(_8c);
_8c.addListener("init_altaig",_8e);
var e=new SelectEvent("init_altaig");
_8c.fire(e);
};
function initFormHotAltaIg(_90,_91){
var _92={prov:_90.prov,tial:_90.tial,catg:_90.catg};
var _93=new EventDispatcher();
_93.setContext(_92);
var _94=new DataContext();
var _95=new TialSelectManager();
_95.setDataContext(_94);
_95.setSelect(_92.tial);
_95.setEventDispatcher(_93);
_93.addListener("init_altaig",_95);
var _96=new CatgSelectManager();
_96.setDataContext(_94);
_96.setAltaIgMode(true);
_96.setSelect(_92.catg);
_96.setEventDispatcher(_93);
_93.addListener("tial_change",_96);
var e=new SelectEvent("init_altaig");
_93.fire(e);
_96.setValue("");
};

