/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

function mostraComentsOnDom(itemId, grupo, numero ) {
        username=readCookie("userId");
        if (!username) {
            alert("Tem de estar credenciado para consultar comentários. Faça Login");
            return;
        }
       var areaMostra= document.getElementById('areaMostraComentsOnDom-' + itemId);
       areaMostra.style.display='block';
       request = createRequest();
       if (request==null) {
          alert("Unable to create request");
          return; 
       }
       var url= "euroReferencialAjax.php?func=getComentariosGrupo&grupo=" + grupo + "&numero=" + numero +"&itemId="+itemId;
       request.open("GET",url,true);
       request.onreadystatechange = mostraComentariosGrupo;
       request.send(null);
   }

function mostraComentariosGrupo() {
    if (request.readyState == 4) {
      if (request.status == 200) {
          // alert(request.responseText);
          var retorno = eval('(' + request.responseText + ')');
          var areaMostra= document.getElementById('areaMostraComentsOnDom-' + retorno.itemId);
          areaMostra.innerHTML="<ul>";
          for (var i=0; i<retorno.comentarios.length ; i++) {
              areaMostra.innerHTML=areaMostra.innerHTML + 
                  "<li>" + retorno.comentarios[i].comentador + ", " + retorno.comentarios[i].quando +
                  "<div style='background-color: #f0f0f0; padding-left: 24px; padding-right:50px; padding-bottom: 12px;'>"  +  retorno.comentarios[i].comentario+
                  "</div>" +
                  "</li>";
          }
          areaMostra.innerHTML=areaMostra.innerHTML + "</ul>";
          areaMostra.innerHTML=areaMostra.innerHTML + "[<a " +
              "href='javascript:void(0);' " +
              "onclick='escondeComentariosGrupo(\""+
              retorno.itemId+
              "\");' "+
              ">Ocultar Comentarios</a>]";
      }
    }
}

function escondeComentariosGrupo(itemId) {
        var areaMostra= document.getElementById('areaMostraComentsOnDom-' + itemId);
        areaMostra.innerHTML='';
        areaMostra.display='none';

}

function aceitaComentsOnDom(itemId, grupo, numero ) {
    username=readCookie("userId");
    if (!username) {
        alert("Tem de estar credenciado para registar comentários. Faça Login");
        return;
    }
    var areaEntrada= document.getElementById('areaAceitaComentsOnDom-' + itemId );
    areaEntrada.style.display='block';
       request = createRequest();
       if (request==null) {
          alert("Unable to create request");
          return;
       }
       var url= "euroReferencialAjax.php?func=formularioParaComentarDominio&grupo=" + grupo +"&numero=" + numero + "&itemId=" + itemId;
       request.open("GET",url,true);
       request.onreadystatechange = mostraFormularioParaComentarDominio;
       request.send(null);
}


function mostraFormularioParaComentarDominio() {
    if (request.readyState == 4) {
        if (request.status == 200) {
            var retorno = eval('(' + request.responseText + ')');
            a= document.getElementById("areaAceitaComentsOnDom-"+retorno.itemId);
            a.innerHTML=retorno.formulario;
            l= document.getElementById("linkAceitaComentOn-"+retorno.itemId);
            l.style.display='none';
            ul=document.getElementById("unlinkAceitaComentOn-"+retorno.itemId);
            ul.style.display='inline';
        }
    }
}

function registaComentOnGrupo(itemId, grupo , numero) {

    username=readCookie("userId");
    if (!username) {
        alert("Tem de estar credenciado para registar comentários. Faça Login");
        return;
    }

    var txtArea=document.getElementById("txtAreaComentOnGrupo-"+itemId).value;
    myregexp = /[a-zA-Z0-9_]+/;
    if (!myregexp.test(txtArea)) {
        alert( "Entrada Vazia. Se não deseja registar um comentário clique em [Cancelar]");
        return;
    }


    request = createRequest();
    if (request==null) {
        alert("Unable to create request");
        return;
    }
    var url="euroReferencialAjax.php?func=registaComentatrioOnGrupo"
    var requestData="comentario="   + escape(txtArea) +
                   "&grupo="        + escape(grupo) +
                   "&numero="       + escape(numero)+
                   "&itemId="       + itemId;

    request.open("POST",url,true);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.setRequestHeader("Accept-Charset","UTF-8");
    request.onreadystatechange = registoDeComentarioOnGrupo;
    request.send(requestData);

}

function registoDeComentarioOnGrupo() {
    if (request.readyState == 4) {
        if (request.status == 200) {
            var retorno = eval('(' + request.responseText + ')');
            if (retorno.resultado=="OK") {
                alert("Registo do seu comentário realizado com sucesso. Obrigado.");
                
                a=document.getElementById("areaMostraSeHaComentarios-" + retorno.itemId );
                a.innerHTML = retorno.paraAreaMostraSeHaComentarios;
                cancelComentOnGrupo(retorno.itemId);
                mostraComentsOnDom(retorno.itemId, retorno.grupo, retorno.numero);
            } else {
                alert(retorno.resultado);
            }
        }
    }
}

function cancelComentOnGrupo(itemId) {
        a= document.getElementById("areaAceitaComentsOnDom-"+itemId);
        a.style.display='none';
        a.innerHTML='';
        l= document.getElementById("linkAceitaComentOn-"+itemId);
        l.style.display='inline';
        ul=document.getElementById("unlinkAceitaComentOn-"+itemId);
        ul.style.display='none';

}


function mostraArea ( grupo ) {
    a1=document.getElementById("euroRefHead");
    a1.innerHTML="<a href='javascript:void(0);' " +
                 "onClick=\"javascript:mostraTopo();\">Domínios de Competência</a><br>";
    a2=document.getElementById("euroRefBody");
    a2.innerHTML="";
    getGrupo( grupo );
}

function mostraCompetencia ( grupo , grupoDesc, numero , numeroDesc ) {
    a1=document.getElementById("euroRefHead");
    a1.innerHTML="<a href=# onClick=\"javascript:mostraTopo();\">Domínios de Competência</a><br>&ndash; <a href=# onCLick=\"javascript:mostraArea('" + grupo +"');\">" + grupoDesc  + "</a><br>&mdash;" + " "  + numeroDesc ;
    a2=document.getElementById("euroRefBody");
    a2.innerHTML="";
    getCompetencia( grupo , numero );
}

function mostraTopo () {
        a1=document.getElementById("euroRefHead");
        a1.innerHTML="Domínios de Competência" ;
        getTopo();
}


function getTopo() {
    request = createRequest();
    if (request==null) {
      alert("Unable to create request");
      return;
    }
    var url= "euroReferencialAjax.php?func=mostraTopo";
    request.open("GET",url,true);
    request.onreadystatechange = showTopo;
    request.send(null);
}

function showTopo() {
    if (request.readyState == 4) {
      if (request.status == 200) {
        a2= document.getElementById("euroRefBody");
        a2.innerHTML=request.responseText;
      }
    }
}

function getGrupo( grupo ) {
    request = createRequest();
    if (request==null) {
      alert("Unable to create request");
      return;
    }
    var url= "euroReferencialAjax.php?func=mostraGrupo&grupo=" + escape(grupo);
    request.open("GET",url,true);
    request.onreadystatechange = showGrupo;
    request.send(null);
}

function showGrupo() {
    if (request.readyState == 4) {
      if (request.status == 200) {
        a2= document.getElementById("euroRefBody");
        a2.innerHTML=request.responseText;
      }
    }
}

function getCompetencia( grupo, numero ) {
    request = createRequest();
    if (request==null) {
      alert("Unable to create request");
      return;
    }
    var url= "euroReferencialAjax.php?func=mostraCompetencia&grupo="  + escape(grupo) + "&numero=" + escape(numero);
    request.open("GET",url,true);
    request.onreadystatechange = showCompetencia;
    request.send(null);
}

function showCompetencia() {
    if (request.readyState == 4) {
      if (request.status == 200) {
        a2= document.getElementById("euroRefBody");
        a2.innerHTML=request.responseText;
      }
    }
}

function comentarResultado (grupo , numero, nivel, exemplonumero ,lineitemid) {
    /*
     * Click em Alterar e comentar junto a um Resultado de um nível de competência
     * Só deve amostar a "form" se o utilizaor estiver credenciado
     */
     username=readCookie("userId");
     if (username) {
        var area1= document.getElementById('resultado-'+lineitemid);
        area1.style.backgroundColor="yellow";
        var area2= document.getElementById('clickHereToComment-'+lineitemid);
        area2.style.display='none';
        var area3= document.getElementById('CommentArea-'+lineitemid);
        area3.style.display='block';
     } else {
         alert ("Tem de estar credenciado para contribuir. Favor fazer o login.")
     }
}

function flipJump(lineitemid) {
    area1=document.getElementById('novoNivelParaResultado-'+ lineitemid);
    area1.style.display='block';
    area1=document.getElementById('novoTextoParaResultado-'+ lineitemid);
    area1.style.display='none';
    area3=document.getElementById('gralha-'+ lineitemid);
    area3.style.display='none';

}



function flipGralha(o,lineitemid) {

    area3=document.getElementById('gralha-'+ lineitemid);
    area3.style.display='block';

    area1=document.getElementById('novoNivelParaResultado-'+ lineitemid);
    area1.style.display='none';

    area1=document.getElementById('novoTextoParaResultado-'+ lineitemid);
    area1.style.display='none';

}

function flipDelete(lineitemid) {
    area1=document.getElementById('novoNivelParaResultado-'+ lineitemid);
    area1.style.display='none';
    area2=document.getElementById('novoTextoParaResultado-'+ lineitemid);
    area2.style.display='none';
    area3=document.getElementById('gralha-'+ lineitemid);
    area3.style.display='none';
}

function flipChange(lineitemid) {
    area1=document.getElementById('novoNivelParaResultado-'+ lineitemid);
    area1.style.display='none';
    area2=document.getElementById('novoTextoParaResultado-'+ lineitemid);
    area2.style.display='block';
    area3=document.getElementById('gralha-'+ lineitemid);
    area3.style.display='none';
}
function cancelaPropostaslResultado(lineitemid) {
        var area1= document.getElementById('resultado-'+lineitemid);
        area1.style.backgroundColor="white";
        var area2= document.getElementById('clickHereToComment-'+lineitemid);
        area2.style.display='block';
        var area3= document.getElementById('CommentArea-'+lineitemid);
        area3.style.display='none';
}






function propostaNovoResultadoParaNivel (grupo, numero, nivel, lineitemid) {
     username=readCookie("userId");
     if (username) {
        var area1=document.getElementById('linkParaNovoResultado-'+lineitemid);
        var area2=document.getElementById('novoResultado-'+lineitemid);
        area1.style.display='none';
        area2.style.display='block';
     } else {
         alert ("Tem de estar credenciado para contribuir. Favor fazer o login.")
     }
}


function cancelarPropostaNovoResultadoParaNivel (grupo, numero, nivel, lineitemid) {
    var area1=document.getElementById('linkParaNovoResultado-'+lineitemid);
    var area2=document.getElementById('novoResultado-'+lineitemid);
    area2.style.display='none';
    area1.style.display='block';
}

function registarPropostaNovoResultadoParaNivel (grupo, numero, nivel, lineitemid) {
    var ok=false;

    var frm=document.forms['form-'+lineitemid ];
    var proposta=frm.elements['novoResultado'].value;
    var url="euroReferencialAjax.php?func=registaNovoResultadoParaNivel"
    var requestData="texto=" + escape(proposta) +
                   "&grupo=" + escape(grupo) +
                   "&numero=" + escape(numero)+
                   "&nivel=" + escape(nivel)+
                   "&lineitemid=" + escape(lineitemid);


    request.open("POST",url,true);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.setRequestHeader("Accept-Charset","UTF-8");
    request.onreadystatechange = resultadoDeNovoResultadoParaNivel;
    request.send(requestData);

}

function resultadoDeNovoResultadoParaNivel() {

   if (request.readyState == 4) {
      if (request.status == 200) {
            var retorno = eval('(' + request.responseText + ')');
            var frm=document.forms['form-'+retorno.lineitemid ];
            var proposta=frm.elements['novoResultado'];
            proposta.value='';
            var area1=document.getElementById('linkParaNovoResultado-'+retorno.lineitemid);
            var area2=document.getElementById('novoResultado-'+retorno.lineitemid);
            area2.style.display='none';
            area1.style.display='block';
            var area3=document.getElementById('PropostasComentarios-'+retorno.lineitemid);
            area3.innerHTML=retorno.novalista;
            alert(retorno.resultado);
      }
    }

}


function resultadoPropostaDeResultado(){
   if (request.readyState == 4) {
      if (request.status == 200) {
            var retorno = eval('(' + request.responseText + ')');
            alert(retorno.resultado );

            var frm=document.forms['form-' + retorno.lineitemid ];

            var area1= document.getElementById('resultado-'+retorno.lineitemid);
            area1.style.backgroundColor="white";

            var area2= document.getElementById('clickHereToComment-'+retorno.lineitemid);
            area2.style.display='block';

            var area3= document.getElementById('CommentArea-'+retorno.lineitemid);
            area3.style.display='none';
      }
    }

}

function registaPropostasResultado (grupo,numero,nivel, exemplonumero, lineitemid) {

    var ok = false;

    var frm1 =document.forms['form-'+lineitemid];
    var tipo =frm1.elements["tipocomment"];

    var itemchecked = false;
    for(var j = 0 ; j < tipo.length ; ++j) {
        if(tipo[j].checked) {
             itemchecked = true;
             break;
            }
    }
    var operacao="comentario";
    if (j!=tipo.length) {
        operacao=tipo[j].value;
    }

    var url="euroReferencialAjax.php?func=registaPropostasResultado";
    var requestData="" +
                "grupo=" + escape(grupo) +
               "&numero=" + escape(numero)+
               "&nivel=" + escape(nivel)+
               "&exemplonumero=" + escape(exemplonumero) +
               "&lineitemid=" + escape(lineitemid)+
               "&tipo=" + escape(operacao)+
               "&novotexto=" + escape(frm1.elements["novotexto"].value)+
               "&comentario=" + escape( ( frm1.elements["comentario"].value))+
               "";
    if( operacao == 'jump'){
        requestData+="?&novoNivel=" + escape(frm1.elements["novoNivel"].value);
    }


//               alert(request);

    request = createRequest();
    if (request==null) {
      alert("Unable to create request");
      return;
    }

    request.open("POST",url,true);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    request.onreadystatechange = resultadoPropostaDeResultado;
    request.send(requestData);


}