/*_____  GTKLib.JS :  Derechos reservados GS TeleKOM CxA   _____*/

function GOGO(accionf, goform) {	//_ [accionf=action to execute, goform= form to redirect]
 accionf= (typeof(accionf)!='undefined')?accionf:'';
 if (typeof(goform)!='undefined') {goform.action= accionf; goform.submit();}
 else {document.frmain.action= accionf; document.frmain.submit();}
}

function jnum(){if (event.keyCode != 46 && event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;}    //_solo acepta #'s y #'s Decimales
function jnumero(){if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;}    //_solo acepta #'s y #'s Decimales
function jtrim(cadena) {
 while(cadena.length>0 && cadena.substr(cadena.length - 1, 1) == ' ') {cadena= cadena.substr(0, cadena.length - 1);}
 while(cadena.indexOf(' ', 0) == 0) {cadena= cadena.substr(1, cadena.length - 1);} return cadena;
}

function konfirm(ke,kfm,opt) {var ErrIn = "";						// [ke=numero error, kfm=accion, opt=opciones]
 ke=(typeof(ke)!='undefined')?ke:1; kfm= (typeof(kfm)!='undefined')?kfm:"confirm";
 opt=(typeof(opt)!='undefined')?opt:0;
 switch(opt){
   case 0: ErrIn= XErrst(ke); break;								//use mensajes cortos
   case 1: ErrIn= XErr(ke); break;								//use rutina general de errores
   default: ErrIn= ""; }
  switch(kfm){case "confirm": return confirm(ErrIn); break; case "alert": alert(ErrIn); break;}
}

function showin(wurl_link,wtitle,wwidth,wheight,wtop,wleft,wscrollbar,wresizable,wtoolbar,opt){
 switch(opt){
   case 1: wtop=((window.screen.height)/2)-(wheight/2); wleft=((window.screen.width)/2)-(wwidth/2);  break;	//Centro de Pantalla
   case 2: wtop=event.screenY; wleft = event.screenX; break;} //Posicion del Mouse donde se dio Click
 var hWnd = window.open(wurl_link,wtitle,'width='+ wwidth +',height='+ wheight +',Top='+ wtop +',Left='+ wleft+',scrollbars=' + wscrollbar + ',resizable=' + wresizable + ',toolbar=' + wtoolbar);	
 if ((document.window != null) && (!hWnd.opener)) {hWnd.opener = document.window;}
}

function setofocus(objX) {objX.focus(); objX.select();}
function setfocus(flag, objstr) {document.all(objstr).focus(); if (flag==1) {document.all(objstr).select();}}
function switchgif(elobj,imgname) {elobj.value=(elobj.value==0)?1:0;elobj.src='/image/'+imgname+elobj.value+'.gif'}
function swapimg(){var p,v,a=swapimg.arguments,x=a[0].value.split(a[2]); if (x[0]!=''){switch(a[3]){case '': v=x[x.length-1]; x.length--; a[0].value=v.concat(a[2]+x.join(a[2])); break; case a[2]: v=x[0]; break; default: v=a[0].value+a[2]; p=v.lastIndexOf(a[3]+a[2]); if (p>0){v=v.substr(p,(v.length)-1) + v.substr(0,p-1); a[0].value=v;}; v=a[3];} a[0].src=a[1].replace(a[2],v) } } //_Xob,srcX,divi,repl

function showspan(idspan,shspan) {//_ muestra u oculta SPAN o DIV - Parameters (toggle,none or [blank])
 if (shspan=='toggle'){document.all(idspan).style.display=(document.all(idspan).style.display=='none')?'':'none';}
 else {document.all(idspan).style.display=shspan}
}

function SBanner() {msg = msg.substring(move, msg.length) + msg.substring(0, move); document.formscroll.smueve.value = msg; setTimeout("SBanner()", speed); }

function YMDO_M2(dd,mm,yy){var dxm= new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);if (dd>dxm[mm]){dd=((yy%4)==0&&mm==2)?29:dxm[mm]};return dd; }
function YMDO_CHG(dd,mm,yy,page) {document.all(dd).value=YMDO_M2(document.all(dd).value,document.all(mm).value,document.all(yy).value); GOGO(page);}

function YMDO(feca,divi,fmt){var i, dfeca='',ymd= new Array(1,31,1,12,1900,2079);	//_ Date validation : [dd/mm/aaaa,divider,format]
 feca=(typeof(feca)!='undefined')?jtrim(feca):''; divi=(typeof(divi)!='undefined')?divi:'/'; 
 if (feca.length>0){var damefeca= new Date, fecas= feca.split(divi);
    switch(fecas.length){case 3: break; case 1: fecas[1]=damefeca.getMonth()+1; case 2: fecas[2]=damefeca.getFullYear(); break;	default: return('-7'); break; }; 
    for (i=0; i<3; i++){if (isNaN(fecas[i])||fecas[i]<0){return('-7')}; fecas[i]= parseInt(fecas[i],10); if (fecas[i]<ymd[2*i]||fecas[i]>ymd[2*i+1]){return('-7')}};
    if (fecas[1]==2&&fecas[0]>28){fecas[0]= YMDO_M2(fecas[0],fecas[1],fecas[2])}; fmt=(typeof(fmt)!='undefined')?fmt:'';
    switch(fmt){default: dfeca= ((fecas[0]<10)?'0'+fecas[0].toString():fecas[0].toString())+divi+((fecas[1]<10)?'0'+fecas[1].toString():fecas[1].toString())+divi+fecas[2]; break; case 'sql': divi=''; case 'ymd': dfeca= fecas[2]+divi+((fecas[1]<10)?'0'+fecas[1].toString():fecas[1].toString())+divi+((fecas[0]<10)?'0'+fecas[0].toString():fecas[0].toString()); break; }; } return dfeca; 
}

function YMDO_Y(opts,ye) {var OYstr = '';		//_ Year dropdown : [options,year]
 var dameano= new Date;
 ye= (typeof(ye)!='undefined')?ye : dameano.getFullYear();
 ye= (ye!='')?ye : dameano.getFullYear();
 opts= (typeof(opts)!='undefined')?opts : '';
 var numxx= ye-1;
 OYstr= '<select ' + opts + '>';
 for (xx=1; xx<4; xx++) {OYstr= OYstr + '<option value="' + numxx + '"' + ((ye == numxx) ? ' selected' : '') + '>' + numxx + '</option>'; numxx= numxx + 1;}
 OYstr = OYstr + '</select>'; return OYstr;
}

function YMDO_M(opts,mo,flg) {var OMstr= '';		//_ Month dropdown : [options,Month]
 var dameano= new Date;
 mo= (typeof(mo)!='undefined')?mo : dameano.getMonth()+1;
 mo= (mo!='')?mo : dameano.getMonth()+1;
 opts= (typeof(opts)!='undefined')?opts : '';
 OMstr= '<select ' + opts + '>';
 var meses= new Array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
 for (xx=1; xx<13; xx++){OMstr= OMstr + '<option value="' + ((xx < 10) ? '0' + xx : xx) + '"' + ((xx == mo) ? ' selected' : '') + '>' + ((flg == 1) ? meses[xx] : xx) + '</option>';}
 OMstr= OMstr + '</select>'; return OMstr;
}

function YMDO_D(opts,da,mo,ye) {var ODstr= '';	//_ Day dropdown : [options,Day,Month,Year]
 var dameano= new Date;
 da= (typeof(da) != 'undefined') ? da : dameano.getDate();
 da= (da == ',,' || da == ',' || da == '') ? dameano.getDate() : da
 mo= (typeof(mo) != 'undefined') ? mo : dameano.getMonth() + 1;
 mo= (mo != '') ? mo : dameano.getMonth() + 1;
 ye= (typeof(ye) != 'undefined') ? ye : dameano.getFullYear();
 ye= (ye != '') ? ye : dameano.getFullYear();
 opts= (typeof(opts) != 'undefined') ? opts : '';
 ODstr= '<select ' + opts + '>';
 var diasxmes = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
 numxx= (mo == 2 && (ye % 4 == 0)) ? 29 : diasxmes[parseInt(mo,10)];
 for (xx=1; xx <= numxx; xx++){ODstr = ODstr + '<option value="' + ((xx < 10) ? '0' + xx : xx) + '"' + ((xx == da) ? ' selected' : '') + '>' + xx + '</option>';}
 ODstr= ODstr + '</select>'; return ODstr;
}

function showclock(hours,minutes,seconds,idspan){    //   Hora continua de SQL
 var strhours,strminutes,strseconds; var dn = "";
 seconds=seconds+1;
 if (seconds==60) {seconds = 0;minutes = minutes + 1; if (minutes==60){minutes=0; hours=hours+1; if (hours==24){hours=0;} } }
 if (hours>12) {dn="PM"; strhours=hours-12;}
 else {dn="AM"; strhours=hours;}
 if (hours==0) {strhours=12;}
 strminutes=minutes; strseconds=seconds;
 if (minutes<=9){strminutes="0"+minutes;}
 if (seconds<=9){strseconds="0"+seconds;}
 myclock=''; myclock=strhours+':'+strminutes+':'+strseconds+' '+dn; myclock=strlongfecha+myclock;
 document.all(idspan).innerHTML=myclock;
 serhora=strhours+':'+strminutes+':'+strseconds+' '+dn;
 setTimeout("showclock(" + hours + "," + minutes + "," + seconds + ",'" + idspan + "')",1000);
 strHoraActual=strFechaActual+' '+strhours+':'+strminutes+':'+strseconds+' '+dn;
}