var _errtimecerrar = 0;
var _errtimeintcerrar = 1000;
var _errtimemaxcerrar = 8000;
var _errtimer = true;

var _iderror = "";

var _errtiempo = "";

var _scrollTop = 0;
var _retornoTop = true;

function DeshabilitarDivErrores()
{
    var divs = document.getElementsByTagName("div");
    var count = divs.length;        
    for(var i =0; i < count; i++){
        var diverror = document.getElementsByTagName("div")[i];        
        if (diverror.className == 'divError popupdiv') diverror.style.display='none';        
    }
}

function CambiarClasesError(_validationgroup)
{
    var divs = document.getElementsByTagName("div");
    var count = divs.length;        
    var cambio = 0;
    for(var i =0; i < count; i++){
        var diverror = document.getElementsByTagName("div")[i];        
        if (diverror.className == 'show_error') diverror.className = 'no_error';
        if (diverror.className == 'no_error')
        {
            var spans = diverror.getElementsByTagName("span");
            var count2 = spans.length;
            for (var x = 0; x < count2; x++) {            
                var spanerror = diverror.getElementsByTagName("span")[x];

                var posError = spanerror.id.indexOf("Error") + 5;
                if (posError + 1 > spanerror.id.length) posError = spanerror.id.length - 1;
                var ctlErrores = spanerror.id.substr(posError, spanerror.id.length).split("_");
                for (var ie = 0; ie < ctlErrores.length; ie++) {
                    var ctlerror = document.getElementById(spanerror.id.substr(0, posError - 8) + ctlErrores[ie]);
                    if (ctlerror != null) ctlerror.className = ctlerror.className.replace(' error', '');
                }
                
                if (spanerror.style.visibility == 'visible' && spanerror.validationGroup == _validationgroup)
                {
                    diverror.className = 'show_error';
                    diverror.style.display = 'none';
                    cambio++;

                    for (var ie = 0; ie < ctlErrores.length; ie++) {
                        var ctlerror = document.getElementById(spanerror.id.substr(0, posError - 8) + ctlErrores[ie]);
                        if (ctlerror != null) ctlerror.className = ctlerror.className + ' error';
                    }
                }    
                
                if (spanerror.style.visibility == 'visible' && spanerror.validationGroup == undefined) 
                {
                    diverror.className = 'show_error';
                    diverror.style.display = 'none';
                    cambio++;

                    for (var ie = 0; ie < ctlErrores.length; ie++) {
                        var ctlerror = document.getElementById(spanerror.substr(0, posError - 8) + ctlErrores[ie]);
                        if (ctlerror != null) ctlerror.className = ctlerror.className + ' error';
                    }
                }
            }
        }    
    }
    return cambio;
}

function ShowModalDialogError(_id, _validationgroup, _lkbTiempo, _habilitarPopUp)
{var x= $find(_id);         
 _iderror = _id;
 _errtiempo = _lkbTiempo;
 _retornoTop = true;
 Page_ClientValidate(_validationgroup);
 if(!Page_IsValid)
 {
  if (CambiarClasesError(_validationgroup) > 0) 
  {
      if (_habilitarPopUp == "1") {
          _errtimer = true;
          _errtimecerrar = 0;
          _retornoTop = false;

          x.show();
          CerrarTimerError();
      }
  }
 }
}

function CerrarTimerError()
{
    
    // Va mostrando los segundos restantes para que cierre el cartel, cuando llega a cero cierra el cartel
    
    _errtimecerrar = _errtimecerrar + _errtimeintcerrar;
            
    if (_errtimer) MostrarTimeError();
            
    if (_errtimecerrar == _errtimemaxcerrar) 
       EsconderError();
    else
       if (_errtimer) window.setTimeout("CerrarTimerError();", _errtimeintcerrar);   
    
}

function SacarTimeError()
{

    // Saca el timer y deja el cartel abierto
 
    _errtimer = false;
    _errtimecerrar = _errtimemaxcerrar;
    
    MostrarTimeError();
    
}

function MostrarTimeError()
{
    
    // Va mostrando los segundos que restan
    
    var lblTimer = document.getElementById(_errtiempo);
    lblTimer.innerHTML = (_errtimemaxcerrar - _errtimecerrar) / _errtimeintcerrar;
    
}

function EsconderError()
{

var x = $find(_iderror);
if (x) x.hide()

}

function setScroll() {
    //alert('set ' + _scrollTop);
    document.documentElement.scrollTop = _scrollTop;
}

function saveScroll() {
    //alert('save ' + document.documentElement._scrollTop);
    _scrollTop = document.documentElement.scrollTop;
}
