var loadercount = 0;

function loaderstatus(element,status){
  switch(status){
    case "enable":
      loadercount++;
      break;
    case "disable":
      this.loadercount--;
      break;
  }
  if (this.loadercount>0){
    document.getElementById(element).style.visibility="visible";
  }
  else {
    document.getElementById(element).style.visibility="hidden";

  }
}



function ajaxObject(url, callbackFunction) {
  var that=this;      
  this.updating = false;
  this.abort = function() {
    if (that.updating) {
      that.updating=false;
      that.AJAX.abort();
      that.AJAX=null;
    }
  }
  
  this.update = function(passData,postMethod) {
    loaderstatus("loader","enable");
    if (that.updating) { return false; }
    that.AJAX = null;                          
    if (window.XMLHttpRequest) {              
      that.AJAX=new XMLHttpRequest();              
    } else {                                  
      that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
    }                                             
    if (that.AJAX==null) {                             
      return false;                               
    } else {
      that.AJAX.onreadystatechange = function() {  
        if (that.AJAX.readyState==4) {
          that.updating=false;
          //alert ('coisa: '+ that.AJAX.status);
          that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
          that.AJAX=null;
          loaderstatus("loader","disable");
          
        }                                                      
      }                                                        
      that.updating = new Date();                              
      if (/post/i.test(postMethod)) {
        if(/\?/i.test(urlCall)){
          var uri=urlCall+'&'+that.updating.getTime();
        }
        else {
          var uri=urlCall+'?'+that.updating.getTime();
        }
        that.AJAX.open("POST", uri, true);
        that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        that.AJAX.setRequestHeader("Content-Length", passData.length);
        that.AJAX.send(passData);
      } else {
        var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
        that.AJAX.open("GET", uri, true);                             
        that.AJAX.send(null);                                         
      }              
      return true;                                             
    }                                                                           
  }
  var urlCall = url;        
  this.callback = callbackFunction || function () { };
}

function loadpagepower(id,page,passdata,postmethod){
  var conteudo= new ajaxObject(page);
  conteudo.callback= function(T,S,X) {
    if (S==200) {
      document.getElementById(id).innerHTML=T;
    }        
  }
  if (passdata != undefined && postmethod != undefined) {
    conteudo.update(passdata,postmethod);
  }
  else {
    conteudo.update();
  }
}

function envianews(){
  nome=document.getElementById('nomenews').value;
  email=document.getElementById('emailnews').value;
  loadpagepower('newsletter','./setNewsletter.php','newsletterNome='+nome+'&newsletterEmail='+email,"post");
}
  
                