// (c) 2004-2007 Arcovia Digital (www.arcovia.com)
function XeditGesFormClass(ab,bb,cb){if(!LWjsLib||arguments.length!=3){return;}
LWjsLib.derive(this,LWjsLib.LWjsFormClass);if(!this.isLWjsForm){return;}
this.isXeditGesForm=true;this.fol=cb;this.listas=new Array();this.ready=false;this.iDoc=null;this.dDoc=null;this._getiDoc(bb);}
;XeditGesFormClass.prototype._getiDoc=function(bb){this._iDoc=LWjsLib.newLWjsXDoc();this._iDoc.get(bb,this,'_iDocLoaded');}
;XeditGesFormClass.prototype._iDocLoaded=function(r){if(!r&&this._iDoc){this.iDoc=this._iDoc;this.dDoc=LWjsLib.newLWjsXDoc();var db=this.iDoc.rootElement.cloneNode(true);this.dDoc.setRoot(db);this._parseCtlForm();for(var j=0;j<this.listas.length;j++){this.listas[j].restoreCtls();this.listas[j].delItem(0);}
this.ready=true;this.rootList.restoreCtls();}
this._iDoc=null;this.fol(r,this);}
;XeditGesFormClass.prototype.refresh=function(){this.rootList.restoreCtls();for(var j=0;j<this.listas.length;j++){this.listas[j].restoreCtls();}
}
;XeditGesFormClass.prototype.submitForm=function(eb,fb,gb){if(this.ready){this.ctl2dDoc();this.ready=false;eb=eb!=false;gb=gb?String(gb):'LW';var bb=this.action;if(bb.indexOf('?')<0){bb+='?';}
else{bb+='&';}
bb+='envelope='+gb;for(var j=3;j<arguments.length;j+=2){bb+='&';bb+=String(arguments[j])+'=';if(arguments[j+1]){bb+=String(arguments[j+1]);}
}
this.fcont=fb;if(eb){this.dDoc.put(bb,null,this,"_dDocSaved");}
else{this.dDoc.put(bb,LWjsLib.getDocumentWindow(this.ownerDocument),this,"_dDocSaved");}
}
}
;XeditGesFormClass.prototype._dDocSaved=function(hb,ib){this.ready=true;if(this.fcont){var fb=this.fcont;this.fcont=null;fb(hb,this,ib);}
}
;XeditGesFormClass.prototype.collectForm=function(bb,gb,fb){if(arguments.length&&this.ready&&this.dDoc){this.ready=false;gb=gb?String(gb):'LW';if(bb.indexOf('?')<0){bb+='?';}
else{bb+='&';}
bb+='envelope='+gb;this.fcont=fb;this.dDoc.get(bb,this,"_dDocLoaded");}
}
;XeditGesFormClass.prototype._dDocLoaded=function(hb){var jb=this.rootList;delete jb.eList;jb.eList=this.dDoc.nodeSet(jb.eb.tagName);jb.eList[0].noderef=new Array();var kb=jb.eList[0].noderef;for(var j=0;j<jb.ctls.length;j++){LWjsLib.arrayPush(kb,jb.eList[0].nodeSet(jb.ctls[j].xeditrc)[0]);}
this.ready=true;var lb;for(j=0;j<this.listas.length;j++){lb=this.listas[j].id.split(':');if(lb&&lb.length){lb=lb[0];this.listas[j].epd=this.dDoc.nodeSet(lb)[0];}
}
if(!hb){this.dDoc2Ctl();}
if(this.fcont){var fb=this.fcont;this.fcont=null;fb(hb,this);}
}
;XeditGesFormClass.prototype.resetForm=function(hb){var db=this.iDoc.rootElement.cloneNode(true);this.dDoc.setRoot(db);var jb=this.rootList;delete jb.eList;jb.eList=this.dDoc.nodeSet(jb.eb.tagName);jb.eList[0].noderef=new Array();var kb=jb.eList[0].noderef;for(var j=0;j<jb.ctls.length;j++){LWjsLib.arrayPush(kb,jb.eList[0].nodeSet(jb.ctls[j].xeditrc)[0]);}
var lb;for(j=0;j<this.listas.length;j++){lb=this.listas[j].id.split(':');if(lb&&lb.length){lb=lb[0];this.listas[j].epd=this.dDoc.nodeSet(lb)[0];}
}
this.dDoc2Ctl();for(j=0;j<this.listas.length;j++){this.listas[j].delItem(0);}
}
;XeditGesFormClass.prototype.selectText=function(mb){if(mb.select){mb.select();}
}
;XeditGesFormClass.prototype.dDoc2Ctl=function(){if(this.ready){this.rootList.restoreCtls();for(var j=0;j<this.listas.length;j++){this.listas[j]._readDoc();}
}
}
;XeditGesFormClass.prototype.ctl2dDoc=function(){if(this.ready){this.rootList.saveCtls();for(var j=0;j<this.listas.length;j++){this.listas[j]._saveDoc();}
}
}
;XeditGesFormClass.prototype._parseCtlForm=function(){this.rootList=new XeditControlListClass(this,'/',this.dDoc.rootElement,this.dDoc,1,1);var c,nb,l,ob;var lb;var pb,qb,rb,sb;var tb,ub,i;for(var j=0;j<this.elements.length;j++){c=this.elements[j];nb=String(c.name).toLowerCase();nb=nb.split(':/');if(nb[1]&&nb[1].length){nb[1]='/'+nb[1];}
ob=nb[2];if(ob){ob='/'+ob;nb[2]=ob;l=null;lb=nb[1];rb=ob.split('/')[1];pb=this.iDoc.rootElement.nodeSet(lb+'/'+rb);if(pb.length){pb=pb[0];qb=this.dDoc.rootElement.nodeSet(lb);if(qb.length){qb=qb[0];sb=lb+':/'+pb.tagName;if(this.listas[sb]){l=this.listas[sb];}
else{l=new XeditControlListClass(this,lb,pb,qb);LWjsLib.arrayPush(this.listas,l);this.listas[l.id]=l;}
}
}
}
else{l=this.rootList;ob=nb[1];}
if(l){if(nb[0].indexOf(':')!=-1){nb=nb[0].split(':');tb=nb[1].split('_');}
else{tb=new Array();}
tb.areArguments=true;switch(nb[0]){case'xectt':{l.addCtl(c,ob);LWjsLib.derive(c,XeditTextListControlClass,tb);break;}
case'xectl':{l.addCtl(c,ob);break;}
case'xells':{if(!l.lls){l.lls=c;LWjsLib.derive(c,XeditIdxSelectClass,l.idx);l.idx.addPres(c);}
break;}
case'xelct':{break;}
case'xeflc':{if(!c.form){c.form=this;}
LWjsLib.derive(c,XeditFileControlClass,tb);if(c.isXeditFileControl){ub=c.getElementsByTagName('img');for(i=0;i<ub.length;i++){if(ub[i].id.indexOf('xefim:')==0){ub[i].fieldset=c;c=ub[i];nb=String(c.id).toLowerCase();nb=nb.split(':');tb=nb[1]?nb[1].split('_'):new Array();if(tb[0]){c.altImage=tb[0];}
c.fieldset.imgCtl=c;c.style.visibility='hidden';c.imgCtlW=c.offsetWidth;c.imgCtlH=c.offsetHeight;c.onload=function vb(){top.LWjsLib.adjustImgSize(this,this.imgCtlW,this.imgCtlH);}
;break;}
}
}
break;}
case'xefup':case'xefvi':case'xefrm':case'xefct':{ub=c.parentNode;while(ub){if(ub.nodeName=='FIELDSET'){c.fieldset=ub;break;}
ub=ub.parentNode;}
if(c.fieldset){switch(nb[0]){case'xefct':{l.addCtl(c,ob);c.fieldset.refCtl=c;c.refresh=function(){if(this.fieldset&&this.fieldset.isXeditFileControl){this.fieldset.refresh();}
}
;break;}
case'xefrm':{c.fieldset.rmCtl=c;c.classOk=tb[0]?tb[0]:null;c.classNok=tb[1]?tb[1]:null;break;}
case'xefvi':{c.fieldset.viCtl=c;c.classOk=tb[0]?tb[0]:null;c.classNok=tb[1]?tb[1]:null;break;}
}
}
break;}
default:{if(typeof(c.name)=='undefined'){c.name=c.id;j--;}
break;}
}
}
}
}
;XeditControlListClass=function(wb,lb,pb,qb,xb,yb){this.min=isNaN(xb)?0:xb;this.max=isNaN(yb)?0:yb;this.isXeditControlList=true;this.ctls=new Array();this.gesForm=wb;this.eb=pb;this.epd=qb;this.id=lb+':/'+this.eb.tagName;this.idx=new Array();LWjsLib.derive(this.idx,XeditControlListIdxClass,this);if(this.epd.isLWjsXElement){this._readDoc();}
else{this.eList=this.epd.nodeSet(this.eb.tagName);this.eList[0].noderef=new Array();}
this.lls=null;this.eAct=this.eList.length?0:-1;}
;XeditControlListClass.prototype.restoreCtls=function(){var mb,zb,$b;var v;for(var j=0;j<this.ctls.length;j++){mb=this.ctls[j];zb=this.eList[this.eAct];if(zb){if(mb.isXeditTextListControl){mb.loadValue();}
else{$b=zb.noderef[j];if(mb.xeditatt){v=$b.getAttribute(mb.xeditatt);}
else{v=$b.getValue();}
this.gesForm.setFieldValue(mb,v?v:'');}
if(mb.refresh){mb.refresh();}
}
}
this.idx.refreshPres();}
;XeditControlListClass.prototype.saveCtls=function(){var mb,zb,$b;var v;for(var j=0;j<this.ctls.length;j++){mb=this.ctls[j];zb=this.eList[this.eAct];$b=zb.noderef[j];v=this.gesForm.getFieldValue(mb);if(mb.isXeditTextListControl){mb.saveValue();}
else{if(mb.xeditatt){v=$b.setAttribute(mb.xeditatt,v);}
else{$b.setValue(v);}
}
}
this.idx.refresh(this.eAct,this.eAct);}
;XeditControlListClass.prototype.goTo=function(_b){_b=arguments.length!=1?0:_b;if(isNaN(_b)&&typeof(_b)!='undefined'){_b=(_b[0]=='-'?-1:1)*parseInt(_b.subStr(1));_b=isNaN(_b)?0:this.eAct+_b;}
if(_b<0){this.num=0;}
if(!this.eList[_b]){_b=this.eList.length-1;}
if(this.eAct!=_b){this.eAct=_b;this.restoreCtls();}
}
;XeditControlListClass.prototype.addCtl=function(c,ob){ob=ob.split('/@');var ac=ob[0].substr(1),bc=ob[1];var zb=ac!=''?this.eb.nodeSet(ac)[0]:this.eb;if(zb&&(bc?typeof(zb.attributes[bc])!='undefined':true)){LWjsLib.arrayPush(this.ctls,c);if(c.type=='hidden'){c.dv=c.value;}
if(bc){c.xeditatt=bc;}
c.xeditrc=ac;var cc;for(var j=0;j<this.eList.length;j++){cc=this.eList[j];LWjsLib.arrayPush(cc.noderef,ac!=''?cc.nodeSet(ac)[0]:cc);}
this.idx.gesTpl.setVar(this.ctls.length-1,this,'getCtlView');}
}
;XeditControlListClass.prototype._saveDoc=function(){var cc;for(var j=0;j<this.epd.childNodes.length;j++){cc=this.epd.childNodes[j];if(cc.tagName==this.eb.tagName){this.epd.removeChild(cc);j--;}
}
for(j=0;j<this.eList.length;j++){this.epd.appendChild(this.eList[j].cloneNode(true));}
}
;XeditControlListClass.prototype._readDoc=function(){var cc,dc,c;var i;delete this.eList;this.eList=this.epd.ownerDocument.createNodeList();for(var j=0;j<this.epd.childNodes.length;j++){if(this.epd.childNodes[j].tagName==this.eb.tagName){cc=this.epd.childNodes[j].cloneNode(true);cc.noderef=new Array();for(i=0;i<this.ctls.length;i++){c=this.ctls[i];dc=c.xeditrc!=''?cc.nodeSet(c.xeditrc)[0]:cc;LWjsLib.arrayPush(cc.noderef,dc);}
this.eList.pushNode(cc);this.idx.refresh(this.eList.length-1);}
}
if(this.eList[this.eAct]){this.restoreCtls();}
else{this.goTo(0);}
this.idx.refresh();}
;XeditControlListClass.prototype.newItem=function(ec){var fc=this.eb.cloneNode(true);fc.noderef=new Array();var c,dc;for(var i=0;i<this.ctls.length;i++){c=this.ctls[i];dc=c.xeditrc!=''?fc.nodeSet(c.xeditrc)[0]:fc;LWjsLib.arrayPush(fc.noderef,dc);}
this.eList.pushNode(fc);this.eAct=this.eList.length-1;if(!ec){this.saveCtls();}
this.idx.refresh(this.eAct);this.goTo(this.eList.length);}
;XeditControlListClass.prototype.delItem=function(gc,hc){gc=isNaN(gc)?this.eAct:gc;var cc=this.eList[gc];if(cc){LWjsLib.arraySplice(this.eList,gc,1);this.idx.refresh(gc);}
}
;XeditControlListClass.prototype.getCtlView=function(ic){nb=parseInt(ic);if(!isNaN(nb)){var mb=this.ctls[nb];if(mb){var $b=this.eList[this.eAct].noderef[nb];return(this.gesForm.getFieldViewValue(mb,mb.xeditatt?$b.getAttribute(mb.xeditatt):$b.getValue()));}
}
}
;function XeditControlListIdxClass(jc){this.isXeditControlListIdx=true;this.lst=jc;this.gesTpl=LWjsLib.newLWjsTpl('%0; %1; %2; %3; %4;');this.pres=new Array();if(this.eList){this.refresh();}
}
;XeditControlListIdxClass.prototype.refresh=function(kc,lc){kc=kc?kc:0;if(lc){lc=lc>kc?lc:kc;}
else{lc=Math.max(this.lst.eList.length,this.length);}
var t,h;var mc=this.lst.eAct;for(var j=kc;j<=lc;j++){if(this.lst.eList[j]){this.lst.eAct=j;t=this.gesTpl.parseTemplate();this[j]=t;}
else{LWjsLib.arraySplice(this,j,1);}
for(h=0;h<this.pres.length;h++){this.pres[h].refreshIdx(j,this[j]);}
}
this.lst.eAct=mc;}
;XeditControlListIdxClass.prototype.refreshPres=function(){var i;for(var j=0;j<this.length;j++){for(var i=0;i<this.pres.length;i++){this.pres[i].refreshIdx(j,this[j]);}
}
}
;XeditControlListIdxClass.prototype.addPres=function(o){LWjsLib.arrayPush(this.pres,o);}
;function XeditIdxSelectClass(nc){this.isXeditIdxSelect=true;this.idx=nc;if(!this.isLWjsSelect){LWjsLib.derive(this,LWjsLib.LWjsFormSelectClass);}
LWjsLib.addEvent(this,'change',this._handleEvent);}
;XeditIdxSelectClass.prototype._handleEvent=function(e){var mb=LWjsLib.getCurrentTarget(e);if(mb.isXeditIdxSelect){mb.idx.lst.goTo(mb.selectedIndex);}
}
;XeditIdxSelectClass.prototype.refreshIdx=function(nc,oc){if(oc){if(!this.options[nc]){var d=this.ownerDocument?this.ownerDocument:this.document;this.options[nc]=d.createElement('option');}
this.options[nc].text=oc;}
else{this.options[nc]=null;}
}
;function XeditFileControlClass(pc,qc){if(this.nodeName=='FIELDSET'){var rc=new RegExp('collection=(\\w+)');var m=this.form.action.match(rc);this.col=pc?String(pc):m[1];if(this.col&&this.col.length){this.isimg=String(qc)=='true';this.isXeditFileControl=true;}
}
}
;XeditFileControlClass.prototype.upFile=function(name){if(this.col&&this.refCtl){if(!name){var sc=this.refCtl.value.split('/');name=sc[4]?sc[4]:null;}
var d=this.ownerDocument?this.ownerDocument:this.document;var m=LWjsLib.getDocumentWindow(d);var tc=LWjsLib.remind(this);var a='/filedb/put?envelope=XE&collection='+this.col+(name?'&name='+name:'')+'#'+tc;var uc='<html><head><title>Env&iacute;o de archivo</title></head><script>top.LWjsLib = document.LWjsLib; </script>';uc+='<frameset><frame name="fd" src=""></frameset></html>';var vc='<html><head><script>img = document.getElementById("img"); p="file:\/\/";</script></head>';vc+='<body style="margin: 0px; padding: 0px;"><br><form method="post" enctype="multipart/form-data" action="'+a+'">';vc+='<table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td align="center">';vc+='<input name="f" type="file" style="width: 600px; margin: 0px;"'+(this.isimg?' onblur="img.src = p+this.value;" onchange="img.src = p+this.value;" onclick="img.src = p+this.value;" ':'')+'>';if(LWjsLib.isIE50&&this.isimg){vc+='&nbsp;<input type="button" value="Ver">';}
vc+='<br><br></td><tr>';if(this.isimg){vc+='<td height="380" align="center" style="border: 1px solid gray;"><img id="img" src="" onload="top.LWjsLib.adjustImgSize(this, 650, 380); this.style.visibility = '+"'inherit';"+'" border="0" style="visibility: hidden;"></td></tr><tr>';}
vc+='<td align="center"><br><input type="submit" value="Aceptar y enviar">&nbsp;<input type="button" value="Cancelar" onclick="top.close()"></td></tr></table>';vc+='</form></body>';var wc=window.open('','fileupload','top=10,screenX=10,left=10,screenY=10,dependent=yes,innerHeight=500,height=500,innerWidth=700,width=700,resizable=no,scrollbars=yes,status=yes,menubar=no,location=no,toolbar=no');wc.document.open();wc.document.LWjsLib=LWjsLib;wc.document.write(uc);wc.document.close();var xc=wc.frames[0].document;xc.open();xc.write(vc);xc.close();}
}
;XeditFileControlClass.prototype._IOend=function(hb,name){if(!hb){var d=this.ownerDocument?this.ownerDocument:this.document;var l=d.URL;var rc=new RegExp(':\\/\\/([^\\/]+)\\/','i');l=l.match(rc);l=l[1];l=l.replace(/^\w\w\w\./,'');var v='filedb:\/\/'+l+'/'+this.col+'/'+name;this.refCtl.value=v;this.refresh();}
}
;XeditFileControlClass.prototype.refresh=function(){var yc=this.refCtl.value.split('/');var pc=yc[3];var name=yc[4];this.rcount=this.rcount?this.rcount+1:1;if(this.imgCtl&&this.isimg){this.imgCtl.style.visibility='inherit';if(name){this.imgCtl.src='/filedb/get?collection='+pc+'&name='+name+(LWjsLib.isIE?'':'#'+this.rcount);}
else{if(this.imgCtl.altImage){this.imgCtl.src=this.imgCtl.altImage;}
}
}
if(this.viCtl&&this.viCtl.classNok){this.viCtl.className=name?this.viCtl.classOk:this.viCtl.classNok;}
if(this.rmCtl&&this.rmCtl.classNok){this.rmCtl.className=name?this.rmCtl.classOk:this.rmCtl.classNok;}
}
;XeditFileControlClass.prototype.delFile=function(){if(this.col&&this.refCtl&&this.refCtl.value){var yc=this.refCtl.value.split('/');var pc=yc[3];var name=yc[4];this.refCtl.value='';this.rcount=this.rcount?this.rcount+1:1;var zc=new Image();zc.src='/filedb/del?collection='+pc+'&name='+name+(LWjsLib.isIE?'':'#'+this.rcount);this.refresh();}
}
;function XeditTextListControlClass($c){this.isXeditTextListControl=true;this.ecpath=this.xeditrc.substring(0,this.xeditrc.lastIndexOf('/'));if($c){var _c=$c.split('/@');this.vp=_c[0];this.xeditatt=_c[1];}
}
;XeditTextListControlClass.prototype.saveValue=function(){var $b=this.form.dDoc.nodeSet(this.ecpath)[0];if($b){var j,ad=this.form.dDoc.nodeSet(this.xeditrc);for(j=0;j<ad.length;j++){ad[j].parentNode.removeChild(ad[j]);}
var bd=this.form.iDoc.nodeSet(this.xeditrc)[0],cd=this.value.split(new RegExp('[\n\r]','g')),dd,oc;for(j=0;j<cd.length;j++){oc=dd=bd.cloneNode(true);if(this.vp){oc=dd.nodeSet(dd.tagName+'/'+this.vp)[0];}
if(this.xeditatt){oc.setAttribute(mb.xeditatt,cd[j]);}
else{oc.setValue(cd[j]);}
$b.appendChild(dd);}
}
}
;XeditTextListControlClass.prototype.loadValue=function(){this.value='';var $b=this.form.dDoc.nodeSet(this.ecpath)[0];if($b){var j,ad=this.form.dDoc.nodeSet(this.xeditrc),v,oc;for(j=0;j<ad.length;j++){oc=ad[j];if(this.vp){oc=oc.nodeSet(oc.tagName+'/'+this.vp)[0];}
if(this.xeditatt){v=oc.getAttribute(this.xeditatt);}
else{v=oc.getValue();}
this.value+=v+'\n';}
}
}
;
