﻿var divProgress ="spanLoading";
if(Sys){
    Sys.Application.add_load(ApplicationLoadHandlerProgress)
    Sys.Application.add_unload(ApplicationUnloadHandlerProgress)
}


function ApplicationLoadHandlerProgress(sender, args)
{
    var status = Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack();
    if(status == false)
    {
        Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoadedProgress);
    }
}

function ApplicationUnloadHandlerProgress(sender, args)
{
    Sys.WebForms.PageRequestManager.getInstance().remove_pageLoaded(pageLoadedProgress);    
}

function pageLoadedProgress(sender, args)
{
    document.getElementById(divProgress).style.display="none";
}


div = document.getElementById(divProgress);
div.style.display="none";

var as = document.getElementsByTagName("a");
for(i=0;i<as.length;i++){
    var ancla = as[i];
    var href = ancla.href;
    if( ancla.target !="" &&(!ancla.target)&& (href.substring(0,7)!="mailto:") && document.URL + "#" != href ){
        if(href.substring(0,11)!="javascript:")
            ancla.href ="javascript:abrirLink('"+href+"')";
        else
            ancla.href ="javascript:abrirPostBack(\'"+ href.replace(/\'/g, "\"") +"\')";            
    }        
}
function abrirLink(href)
{    
    document.getElementById(divProgress).style.display="";
    document.getElementById(divProgress).style.top = getScrollXY()+"px";
    document.location = href;
}
function abrirPostBack(href)
{
    document.getElementById(divProgress).style.display="";
    
    href = href.substring(11,href.length);
    setTimeout(href,1);              
}

function getScrollXY() {
  var scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollTop ) ) {
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && (document.documentElement.scrollTop ) ) {
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

