function refresh(){
  var xmlhttp = getXmlHttpRequest();
  var param = getParam("campaignId");
  if(param==''){
    param = document.getElementById("campaignId").value;
  }
  var url = "campaignReporter.do?p=getCampaignStatusJSON&campaignId="+param;
  xmlhttp.open("POST", url, true);
  xmlhttp.onreadystatechange=function(){
  if(xmlhttp.readyState==4){
    var data = eval("("+xmlhttp.responseText+")");
    //não reconheceu data.values.refresh como boolean
    var refresh = data.values.refresh == 'true' ? true : false; 
    if(refresh){
     alert("Envio encerrado. Clique ok para prosseguir à página de relatórios");
    	document.location.reload();
    }
    document.getElementById("totalMessages").innerHTML=data.values.totalMessages;
    document.getElementById("sentMessages").innerHTML=data.values.sentMessages;
    document.getElementById("sentPercentage").innerHTML=data.values.sentPercentage;
    document.getElementById("deliveredMessages").innerHTML=data.values.deliveredMessages;
    document.getElementById("deliveredPercentage").innerHTML=data.values.deliveredPercentage;
    document.getElementById("undeliveredMessages").innerHTML=data.values.undeliveredMessages;
    document.getElementById("undeliveredPercentage").innerHTML=data.values.undeliveredPercentage;
    document.getElementById("uniqueViews").innerHTML=data.values.uniqueViews;
    document.getElementById("uniqueViewsPercentage").innerHTML=data.values.uniqueViewsPercentage;
    document.getElementById("totalViews").innerHTML=data.values.totalViews;
    document.getElementById("totalViewsPercentage").innerHTML=data.values.totalViewsPercentage;
    document.getElementById("averageViews").innerHTML=data.values.averageViews;
    document.getElementById("optOuts").innerHTML=data.values.optOuts;
    document.getElementById("optOutsPercentage").innerHTML=data.values.optOutsPercentage;
    document.getElementById("formattedReportDate").innerHTML=data.values.formattedReportDate;
    var totalLinks = data.values.totalLinks;
    if(totalLinks > 0 ){
      document.getElementById("uniqueClicks").innerHTML=data.values.uniqueClicks;
      document.getElementById("uniqueClicksPercentage").innerHTML=data.values.uniqueClicksPercentage;
      document.getElementById("totalClicks").innerHTML=data.values.totalClicks;
      document.getElementById("totalClicksPercentage").innerHTML=data.values.totalClicksPercentage;
      document.getElementById("averageClicks").innerHTML=data.values.averageClicks;
      for(i=0; i<totalLinks; i++){
        var divClick = 'link'+(i+1)+'_totalClicks';   
        var divPercentage = 'link'+(i+1)+'_totalClicksPercentage';
        document.getElementById(divClick).innerHTML=data.values.links[i];    
        document.getElementById(divPercentage).innerHTML=data.values.linksPercentages[i];   
      }
    }
	var statusCampaign = data.values.statusCampaign;
	
	var totalErrors = data.values.totalErrors;
	var dataErrors = '';
	if (statusCampaign != 10) {
		if (totalErrors > 0) {
			for (i = 0; i < totalErrors; i++) {
				dataErrors += '<tr>';
				dataErrors += '<td width="200" class="txazul"><strong>' + data.values.errorsNamesMessages[i] + '</strong></td>';
				dataErrors += '<td class="txazul">' + data.values.errorsMessages[i] + ' (' + data.values.errorsPercentages[i] + '%)</td>';
				dataErrors += '</tr>'
			}
			document.getElementById('errorsMessagesJs').innerHTML = dataErrors;
		}
	}
	
    self.setTimeout("refresh()", 5000); // 5 seconds
  }
 }
 xmlhttp.send(null);
}
 
   
function getUrl(){
  var posicao = document.location.href.indexOf("?");
  if(posicao < 0)
    var url = document.location.href;
  else
    var url = document.location.href.substring(0, posicao);
    return url;
}
   
function getParam(name){
  var start=location.search.indexOf("?"+name+"=");
  if (start<0)
    start=location.search.indexOf("&"+name+"=");
    if (start<0) 
      return '';
    start += name.length+2;
    var end=location.search.indexOf("&",start)-1;
    if (end<0) 
      end=location.search.length;
    var result=location.search.substring(start,end);
    var result='';
    for(var i=start;i<=end;i++) {
      var c=location.search.charAt(i);
      result=result+(c=='+'?' ':c);
    }
    return unescape(result);
}

function showErrorsFromExportCreate(fromMessage, message, tableMessage, cellMessage) {
   var table = document.getElementById(tableMessage);
   table.className="BGerro";
   document.getElementById(tableMessage).rows[1].cells[0].innerHTML = "";
   var cell = document.getElementById(cellMessage).innerHTML = message;
   setDisplayBlock(fromMessage);
}

function  exportCreateSuceeded(fromButtons, fromForm, fromMessage, message, tableMessage, cellMessage){
   setDisplayNone(fromForm);
   setDisplayBlock(fromButtons);
   var table = document.getElementById(tableMessage);
   table.className="BGok";
   document.getElementById(tableMessage).rows[1].cells[0].innerHTML = "";
   var cell = document.getElementById(cellMessage).innerHTML = message;
   setDisplayBlock(fromMessage);
}

function getXmlHttpRequest() {
  if (window.XMLHttpRequest) {
     return new XMLHttpRequest();
  } else if (window.ActiveXObject) {
     return new ActiveXObject("Microsoft.XMLHTTP");
  }
}

function sendValues( f, fromForm, fromButtons, fromMessage, tableMessage, cellMessage ){
  var xmlhttp = getXmlHttpRequest();
  name = f.groupName.value;
  description = f.groupDescription.value;
  id = f.id.value;
  p = f.p.value;
  var url="createGroup.do?p="+p+"&groupName="+name+"&groupDescription="+description+"&id="+id;
  xmlhttp.open("POST", url, true);
  xmlhttp.onreadystatechange = function(){
     if (xmlhttp.readyState==4){
       var data = eval(xmlhttp.responseText);      	
       var status=data[0].status;
       if(status=="erro"){    
          var message=data[0].message;
          showErrorsFromExportCreate(fromMessage, message, tableMessage, cellMessage);
       }
       else if(status=="ok"){
         var message=data[0].message;
         exportCreateSuceeded(fromButtons, fromForm, fromMessage, message, tableMessage, cellMessage);
       }
     }
   }	
   xmlhttp.send(null);
}


function setDisplayBlock(name){
   var theDiv = document.getElementById( name );
   theDiv.style.display='block';
}

function setDisplayNone(name){
   var theDiv = document.getElementById( name );
   theDiv.style.display='none';
}

function showCreateBase(show, hide, f){
    setDisplayBlock(show);
    setDisplayNone(hide);
    f.groupName.value="";
    f.groupDescription.value="";   
}


function createBaseFromLink(f, fromForm, fromButtons, fromMessage, tableMessage, cellMessage){
    var radio = document.getElementsByName("linkId"); 
    var i;
    var selected = 0;
    for(i=0; i<radio.length; i++){ 
     if(radio[i].checked){
       selected = radio[i].value;
     }
    }
   if( selected == 0){
    var message = "Selecione um link para criação da base";
    showErrorsFromExportCreate(fromMessage , message, tableMessage, cellMessage); 
   }else{
     f.id.value = selected;
     sendValues(f, fromForm, fromButtons, fromMessage, tableMessage, cellMessage); 
   }
   
}

function showExportReceivers(show, hide){
    setDisplayBlock(show);
    setDisplayNone(hide);
}

function submitExportReceivers(formId, show, hide){
    var theForm = document.exportReceiversForm;
    if(formId == 0){
      theForm.p.value='exportReceiversFromDeliveredMessages';
      theForm.id.value=theForm.campaignId.value;
      theForm.output.value = getSelectedRadioOptionFromExport('outputExportSent');
      theForm.submit();
      setDisplayBlock(show);
      setDisplayNone(hide);
    }else if(formId == 1){
      theForm.p.value='exportReceiversFromAllVisualizations';
      theForm.id.value=theForm.campaignId.value;
      theForm.output.value = getSelectedRadioOptionFromExport('outputExportVisualizations');
      theForm.submit();
      setDisplayBlock(show);
      setDisplayNone(hide);
    }else if(formId == 2){
      theForm.p.value='exportReceiversFromAllClicks';
      theForm.id.value=theForm.campaignId.value;
      theForm.output.value = getSelectedRadioOptionFromExport('outputExportAllClicks');
      theForm.submit();
      setDisplayBlock(show);
      setDisplayNone(hide);
    }else if(formId == 3){
      theForm.p.value='exportReceiversFromClicks';
      theForm.output.value = getSelectedRadioOptionFromExport('outputExportClicks');
      submitExportReceiversFromLinks(theForm, show, hide);
    }else if(formId == 4){
      theForm.p.value='exportAllReceiversFromErrors';
      theForm.output.value = getSelectedRadioOptionFromExport('outputExportErrors');
      theForm.submit();
      setDisplayBlock(show);
      setDisplayNone(hide);
    }
	
}

function submitExportReceiversFromLinks(f, show, hide){
    var radio = document.getElementsByName("linkId"); 
    var i;
    var selected = 0;
    for(i=0; i<radio.length; i++){ 
     if(radio[i].checked){
       selected = radio[i].value;
     }
    }
   if( selected == 0){
    var message = "Selecione um link para a exportação";
    showErrorsFromExportCreate('messagesFromLinks' , message, 'tableMessageLinks', 'cellMessageLinks'); 
   }else{
     f.id.value = selected;
     f.submit();
     setDisplayBlock(show);
     setDisplayNone(hide);
   }
}

function getSelectedRadioOptionFromExport(name){
  var radio = document.getElementsByName(name); 
  var i;
  var selected = "CSV";
  for(i=0; i<radio.length; i++){ 
   if(radio[i].checked){
     selected = radio[i].value;
   }
  } 
  return selected;
}

function confirmRemoveBase(form){
   var radio = document.getElementsByName("receiversGroupId"); 
    var i;
    var selected = 0;
    for(i=0; i<radio.length; i++){ 
     if(radio[i].checked){
       selected = radio[i].value;
     }
    }
   if( selected == 0){
     alert("É necessário selecionar uma base!");
   }else{
     var choice = confirm("Confirma a remoção da base ?");
     if(choice){
       form.groupId.value = selected;
       form.submit();  
     }
   }
}

function actionFromGroup(form){
    var radio = document.getElementsByName("receiversGroupId"); 
    var i;
    var selected = 0;
    for(i=0; i<radio.length; i++){ 
     if(radio[i].checked){
       selected = radio[i].value;
     }
    }
   if( selected == 0){
     alert("É necessário selecionar uma base!");
   }else{
     form.groupId.value = selected;
     form.submit();  
   }
}

function confirmAction(message, action) {
   var choice = confirm(message);
   if ( choice ) {
     window.location.replace(action);
   }   
}


function getCampaignPreparingStatus(){
  timer = self.setTimeout("getCampaignPreparingStatus()", 2000);
  document.getElementById("message").innerHTML="Campanha está sendo preparada, aguarde...";
  var xmlhttp = getXmlHttpRequest();
  var param = getParam("campaignId");
  if(param==''){
    param = document.getElementById("campaignId").value;
  }
  var url = "campaignOperator.do?p=getCampaignPreparingStatus&campaignId="+param;
  xmlhttp.open("POST", url, true);
  xmlhttp.onreadystatechange=function(){
  if(xmlhttp.readyState==4){
    var data = eval("("+xmlhttp.responseText+")");
    var status = data.status; 
    if(status == 'DELIVERING' || status == 'ACTIVE'){
      document.title = "Campanha iniciada com sucesso"
      document.getElementById("message").innerHTML="Campanha iniciada com sucesso.";
      document.getElementById("link").innerHTML='Clique <a href=\"campaignReporter.do?p=handleDeliveringCampaign&campaignId='
                                      + param + '\"class=\"linktx\"><strong>aqui</strong></a> para o acompanhamento.'; 
      self.clearTimeout(timer); 
    }else if(status == 'NOT_PREPARED'){
      document.title="Erro ao preparar a campanha"
      document.getElementById("message").className="txvermelho";
      document.getElementById("message").innerHTML="Erro ao preparar a campanha.";
      document.getElementById("link").innerHTML='Clique <a href=\"campaignOperator.do?p=handleEditableCampaign&campaignId='
                                      + param + '\"class=\"linktx\"><strong>aqui</strong></a> para retornar a página de edição'; 
      self.clearTimeout(timer);
    }
  }
  }
  xmlhttp.send(null);
}  
function submitFormAddCredits( form, action ){
	form.customer.value = document.creditsManagerSearchForm.customer.value;	
  	form.p.value = action;
  	form.submit();    
}


function submitForm( form, action ){	
  	form.p.value = action;
  	form.submit();    
}


