// MAJ - 09/09/2009

document.write("<script type='text/javascript' src='/fileadmin/includes_php/tx_oe/session.php'></script>");

// Config.js
var textareaMaxLength = 500;
var textareaAllMaxLength = 1000;


// La requete
var requete;
var xmlhttp;
var time;

function Update(id) {
  var req = getRequete(req);
  
  if(req != null && !isNaN(id) ) {
    try {
      req.open("GET","/fileadmin/includes_php/tx_oe/action.php?action=update&id="+id+"&ses_id="+ses_id,true);
      req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      req.onreadystatechange = function() {
        if(req.readyState == 4 && document.getElementById('status_'+id)) {
          if(req.responseText.substring(0,6) == "result") {
            result = req.responseText.substring(7,req.responseText.length).split('|');
            // Result : OFFRE_INTITULE | NB CANDIDAT | STATUSNM | STATUS_STYLE
            
            if(result[0] != "") document.getElementById('offre_intitule_'+id).innerHTML = result[0];
            if(result[1] != "") document.getElementById('button_candidat2_'+id).innerHTML = result[1]+' candidat(s)';
            if(result[2] != "") document.getElementById('status_'+id).innerHTML = result[2];
            if(result[3] != "") document.getElementById('offre_intitule_'+id).className = result[3];
          }
        }
      }
      req.send(null);
      
    } catch (e) {  }
  }

}

function UpdateAll(parite) {  
  if (time) {
    clearTimeout(time);
  
    var listeTab = document.getElementsByTagName("div");
    //console.log(listeTab.length+" div");
    
    //console.log(document.getElementsByTagName("div").length);
    for(var i = 0; i < listeTab.length; i++){
      name = listeTab[i].id; 
      if(name.substring(0,5) == "table" ) {
        //console.log(listeTab[i].id);
        var id = name.substring(name.indexOf('_')+1,name.length);
        if(parite == "paire" && id%2 == 0) Update(id);
        if(parite == "impaire" && id%2 == 1) Update(id);
        
      }
    }
  }
  if (parite == "paire") time = setTimeout("UpdateAll('impaire')",30000);
  if (parite == "impaire") time = setTimeout("UpdateAll('paire')",30000);
  
  
}

function Filtrer(id) {
  var element = document.getElementById(id);
  var select = element.options[element.selectedIndex].value;
  if (select != 0) {
    if(isNaN(select))
      location.href = redirectUrl+"?"+id+"='"+select+"'" ;
    else
      location.href = redirectUrl+"?"+id+"="+select ;
  }      
  else
    location.href = redirectUrl ;
}

function Trier() {
  var select_secteur = document.getElementById('secteur').value;
  var contrat = document.getElementsByName('contrat[]');
  var select_contrat = new Array();
  var select_offreid = document.getElementById('offreid').value;
  
  for(var i=0;i<contrat.length;i++) {
    if(contrat[i].checked) select_contrat.push(contrat[i].value);
  }
  
  
  var param = new Array();
  
  // Le tri sur le numéro d'offre est prioritaire
  if(select_offreid != "" && !isNaN(select_offreid) ) {
    param.push("tri_id="+select_offreid);
  } 
  else {
    if(select_secteur != 0 ) {
      param.push("tri_s="+select_secteur);
    }
    if(select_contrat.length > 0) {
      param.push("tri_c="+select_contrat.join(','));
    }
  }
  //var select_contrat = contrat.options[contrat.selectedIndex].value;
  
  if(param.length > 0) {
    var src=redirectUrl+"?";
    src += param.join('&');
  }
  else 
    src = redirectUrl;
  
  //location.href = src ;
  document.affichage.submit();

}


function Reload(id) {
  var req = getRequete(req);
  
  if(req != null) {
    try {
      req.open("GET","/fileadmin/includes_php/tx_oe/action.php?action=reload&id="+id,false);
      req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      //req.onreadystatechange = null;  Erreur avec IE
      req.send(null);
      document.getElementById('button_reload_'+id).style.display = 'none';
      document.getElementById('button_reloadr_'+id).style.display = 'none';
      document.getElementById('button_reloadl_'+id).style.display = 'none';
      Delete(id);
    } catch (e) {
        alert(message);
        alert("Impossible de se connecter au serveur");
    }
  } else {
    alert("Impossible de se connecter au serveur");
  }
}

function Send(id) {
  var req = getRequete(req);
  
  var message = nl2br(document.getElementById('input_'+id).value);
  
  if(req != null) {
    try {
      req.open("GET","/fileadmin/includes_php/tx_oe/action.php?action=send&id="+id+"&message="+message,false);
      req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      //req.onreadystatechange = null;  Erreur avec IE
      req.send(null);
    } catch (e) {
        alert(message);
        alert("Impossible de se connecter au serveur");
    }
  } else {
    alert("Impossible de se connecter au serveur");
  }
  
}

function Valid(id) {
  var req = getRequete(req);
  
  if(req != null) {
    try {
      req.open("GET","/fileadmin/includes_php/tx_oe/action.php?action=valid&id="+id,true);
      req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      req.onreadystatechange = function() {
        if (req.readyState == 4 && document.getElementById("button_verif_"+id)) {
            document.getElementById("button_verif_"+id).id = "button_show_"+id;
            Delete(id);
            Update(id);
        }
        
      }
      
      req.send(null);
      
    } catch (e) {
        alert("Impossible de se connecter au serveur");
    }
  } else {
    alert("Impossible de se connecter au serveur");
  }
}

function Revalid(id) {
  var req = getRequete(req);
  
  if(req != null) {
    try {
      req.open("GET","/fileadmin/includes_php/tx_oe/action.php?action=revalid&id="+id,true);
      req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      req.onreadystatechange = function() {
        if (req.readyState == 4 && document.getElementById("button_revalid_"+id)) {
            document.getElementById("button_revalid_"+id).style.display = "none";
            Update(id);
        }
      }
      
      req.send(null);
      
    } catch (e) {
        alert("Impossible de se connecter au serveur");
    }
  } else {
    alert("Impossible de se connecter au serveur");
  }
}
			
			
function Select(select,champ,offreid) {

  xmlhttp = getRequete(xmlhttp);
  
  if(xmlhttp != null) {
    
    xmlhttp.open('GET', '/fileadmin/includes_php/tx_oe/action.php?action=select&champ='+champ+'&id='+offreid, true);
    //xmlhttp.setRequestHeader('User-Agent', 'generate select');
    //xmlhttp.setRequestHeader('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.7,*/*;q=0.1');
    xmlhttp.setRequestHeader("Content-type","application/xml");
            
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4) {
        var liste1 = xmlhttp.responseXML.getElementsByTagName('id');
        var liste2 = xmlhttp.responseXML.getElementsByTagName('nm');
        if(champ == "REPONSE") var liste3 = xmlhttp.responseXML.getElementsByTagName('img');
        
        var tmp = document.createElement('option');
        
        while(select.options.length > 1){
          select.removeChild(select.options[1]);
        }
        
        for(var i = 0; i < liste1.length; i++){
          if (champ == "REPONSE") tmp.setAttribute('value', liste1[i].firstChild.nodeValue+"|"+liste3[i].firstChild.nodeValue);
          else tmp.setAttribute('value', liste1[i].firstChild.nodeValue);
          tmp.innerHTML = liste2[i].firstChild.nodeValue;
          //tmp.appendChild(document.createTextNode(liste1[i].firstChild.nodeValue));
          select.appendChild(tmp);
          tmp = tmp.cloneNode(false);
        }
      }
    }
    
    xmlhttp.send(null);
  } 
}

function Delete(id) {
  
  if(document.getElementById('table_'+id)) { 
    while(document.getElementById('table_'+id).firstChild) 
      { 
        document.getElementById('table_'+id).removeChild(document.getElementById('table_'+id).firstChild); 
      }
  }
  
  if(document.getElementById("button_candidat_"+id)) {
    document.getElementById("button_candidat_"+id).src = "/fileadmin/includes_php/tx_oe/images/triangle.gif";
    document.getElementById("button_candidat_"+id).onclick = function (){
      Refresh(id,"candidat");
    }
  }
  
  if(document.getElementById("button_candidat2_"+id)){
    document.getElementById("button_candidat2_"+id).onclick = function (){
      Refresh(id,"candidat");
    }
  }
  
  if(document.getElementById("button_modif_"+id)) {
    document.getElementById("button_modif_"+id).innerHTML = "Modifier";
    document.getElementById("button_modif_"+id).onclick = function (){
      Refresh(id,"modif");
    }
  }
  if(document.getElementById("button_show_"+id)) {
    document.getElementById("button_show_"+id).innerHTML = "Consulter";
    document.getElementById("button_show_"+id).onclick = function (){
      Refresh(id,"show");
    }
  }

  if(document.getElementById("button_verif_"+id)) {
    document.getElementById("button_verif_"+id).innerHTML = "Verifier";
    document.getElementById("button_verif_"+id).onclick = function (){
      Refresh(id,"verif");
    }
  }

  if(document.getElementById("button_pro_"+id)) {
    document.getElementById("button_pro_"+id).innerHTML = "Compte Entreprise";
    document.getElementById("button_pro_"+id).onclick = function (){
      Refresh(id,"pro");
    }
  }
  
  if(document.getElementById("button_pro_show_0")) {
    document.getElementById("button_pro_show_0").innerHTML = "Compte Entreprise";
    document.getElementById("button_pro_show_0").onclick = function (){
      Refresh(proid.options[proid.selectedIndex].value,"pro_show");
    }
  }  
}

function Refresh(id,action) {
      
  if (action == "pro_show")
    Delete(0);
  else
    Delete(id);
  
  if (action == "candidat") {
    document.getElementById("button_candidat_"+id).src = "/fileadmin/includes_php/tx_oe/images/opentriangle.gif";
    document.getElementById("button_candidat2_"+id).onclick = function (){
      Delete(id);
    }
    document.getElementById("button_candidat_"+id).onclick = function (){
      Delete(id);
    }
  }
  else if (action == "modif") {
    document.getElementById("button_modif_"+id).innerHTML = "Retour";
    document.getElementById("button_modif_"+id).onclick = function (){
      Delete(id);
      Update(id);
    }
  }
  else if (action == "verif") {
    document.getElementById("button_verif_"+id).innerHTML = "Retour";
    document.getElementById("button_verif_"+id).onclick = function (){
      Delete(id);
    }
  }
  else if (action == "show") {
    document.getElementById("button_show_"+id).innerHTML = "Retour";
    document.getElementById("button_show_"+id).onclick = function (){
      Delete(id);
    }
  }
  else if (action == "pro") {
    document.getElementById("button_pro_"+id).innerHTML = "Retour";
    document.getElementById("button_pro_"+id).onclick = function (){
      Delete(id);
    }
  }
  else if (action == "pro_show") {
    document.getElementById("button_pro_show_0").innerHTML = "Retour";
    document.getElementById("button_pro_show_0").onclick = function (){
      Delete(0);
    }
  }

  
  // Marche pas sous IE  
  //document.getElementById("button_"+id).setAttribute("onClick","Delete("+id+")");

  requete = getRequete(requete);
  if(requete != null) {
    try {
      requete.open("GET","/fileadmin/includes_php/tx_oe/maketable.php?action="+action+"&id="+id+"&ses_id="+ses_id,true);
      requete.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      requete.onreadystatechange = onRefresh;
      requete.send(null);
    } catch (e) {
        alert("Impossible de se connecter au serveur : "+e);
    }
  } else {
    alert("Impossible de se connecter au serveur, pas de requete");
  }
    
}

function Delete_Entreprise(id) {
  
  if(document.getElementById('table_0')) { 
    while(document.getElementById('table_0').firstChild) 
      { 
        document.getElementById('table_0').removeChild(document.getElementById('table_0').firstChild); 
      }
  }
  
  if(document.getElementById("button_pro_show_0")) {
    document.getElementById("button_pro_show_0").innerHTML = "Compte Entreprise";
    document.getElementById("button_pro_show_0").onclick = function (){
      Refresh_Entreprise(id);
    }
  }  
}

function Refresh_Entreprise(id) {
 
  Delete_Entreprise(id);
  
  document.getElementById("button_pro_show_0").innerHTML = "Retour";
  document.getElementById("button_pro_show_0").onclick = function (){
      Delete_Entreprise(id);
  }

  requete = getRequete(requete);
  if(requete != null) {
    try {
      requete.open("GET","/fileadmin/includes_php/tx_oe/maketable.php?action=pro_show&id="+id+"&ses_id="+ses_id,true);
      requete.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      requete.onreadystatechange = onRefresh;
      requete.send(null);
    } catch (e) {
        alert("Impossible de se connecter au serveur");
    }
  } else {
    alert("Impossible de se connecter au serveur");
  }
    
}

function onRefresh() {
  if (requete.readyState == 4 && requete.status == 200) {
    //time = setTimeout("Refresh()",30000);
    var newscr=document.createElement('script');//on genere le script qui va contenir le code genere par la page maketable
    newscr.type = 'text/javascript';
    newscr.text = requete.responseText;
        
    document.getElementById("scr").appendChild(newscr);//place le script genere qui sera execute
    deleteScript();
    if (navigator.appVersion.indexOf("MSIE 6.0") != -1 ) parseStylesheets();

  }else if (requete.readyState == 4 && requete.status == 404) {
    // Erreur
  }
}

function deleteScript() {
  if(document.getElementById('scr').firstChild) 
    { 
      document.getElementById('scr').removeChild(document.getElementById('scr').firstChild); 
    }
}

function getRequete(req) {
  try {
    if(window.XMLHttpRequest) {
      req = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) { 
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
  } catch(Error) {
    alert("Impossible de creer la requete : "+error);
  }
  return req;
}

function download(filepath) {
  //alert(filepath);
  location.href = "/fileadmin/includes_php/tx_oe/get.php?filepath="+filepath ;
}

function textareaKeyUp (obj) {

  var compteur = 0;

  if(obj.value.length >= textareaMaxLength) {
    obj.value = obj.value.substring(0,textareaMaxLength);
  }

  compteur = document.getElementById('profil').value.length;
  compteur += document.getElementById('description').value.length; 
  compteur += document.getElementById('experience').value.length;
  compteur += document.getElementById('commentaire').value.length;

  if(compteur >= textareaAllMaxLength) {
    obj.value = obj.value.substring(0,(obj.value.length - (compteur - textareaAllMaxLength)));
  }
    
  document.getElementById('compteur').innerHTML = compteur;

}


function maxlength (obj,nb) {
  if(obj.value.length >= nb) {
    obj.value = obj.value.substring(0,nb);
  }
}

function textareaKeyUp2 (obj,id) {

  var compteur = 0;
  if(obj.firstChild.value.length >= textareaMaxLength) {
    obj.firstChild.value = obj.firstChild.value.substring(0,textareaMaxLength);
  }
  compteur = obj.firstChild.value.length;
  if(obj != document.getElementById('description_'+id)) compteur += document.getElementById('description_'+id).textContent.length; 
  if(obj != document.getElementById('profil_'+id)) compteur += document.getElementById('profil_'+id).textContent.length; 
  if(obj != document.getElementById('experience_'+id)) compteur += document.getElementById('experience_'+id).textContent.length; 
  if(obj != document.getElementById('commentaire_'+id)) compteur += document.getElementById('commentaire_'+id).textContent.length; 
  document.getElementById('compteur_'+id).innerHTML = compteur;
}


function textareaKeyDown (obj) {
  //return(this.value.length>=4700)?false:true;
}


// MENU DE SELECTION
function addListener(event,func) {
   if (window.addEventListener) {
      window.addEventListener('click', select_event, false);
   } else if (document.addEventListener) {
      document.addEventListener('click', select_event, false);
   }
   else if (document.body.attachEvent) {
      document.body.attachEvent('onclick', select_event);
   }
   else if (window.attachEvent) {
      window.attachEvent('onclick', select_event);
   }
   
}

function select_event (e) {
  src = e.target || window.event.srcElement; 
 
  if( src.id.substr(0,6) != "select" ) {
    var listeDiv = document.getElementsByTagName("div");
    for(var i = 0; i < listeDiv.length; i++){
      if(listeDiv[i].className == "select_list" ) {
        listeDiv[i].style.display = "none";
      }
    }
  }
}

function toggle(name_select) {
  if(document.getElementById('select_'+name_select).style.display == "block") {
    document.getElementById('select_'+name_select).style.display = "none";
  }else {
    document.getElementById('select_'+name_select).style.display = "block";
  }
}

function create_list(name_select) {
  var list = document.getElementById('select_'+name_select).getElementsByTagName('div');
  for(i=0;i<list.length;i++) {
      if(name_select+'_'+document.getElementById(name_select).value == list[i].id) list[i].className = 'select_option_selected';
      else list[i].className = 'select_option';
      list[i].onmouseover = function() {  if(name_select+'_'+document.getElementById(name_select).value != this.id) this.className  = 'select_option_selected';}
      list[i].onmouseout = function() {  if(name_select+'_'+document.getElementById(name_select).value != this.id) this.className  = 'select_option';}
      list[i].onclick = function() { select_option(this,name_select);}
  }
}

function select_checkbox(name_select,name) {
  var contrat = document.getElementsByName(name_select+'[]');
  var cpt= 0;
  for(var i=0;i<contrat.length;i++) {
    if(contrat[i].checked) cpt++;
  }
  if(cpt == 0 || cpt == contrat.length)
    document.getElementById('select_value_'+name_select).innerHTML = 'Tous les '+name;
  else
    document.getElementById('select_value_'+name_select).innerHTML = cpt+' '+name;
    
}

function select_option(src,name_select) {
  document.getElementById(name_select+'_'+document.getElementById(name_select).value).className  = 'select_option';
  src.className = 'select_option_selected';
  document.getElementById(name_select).value = src.id.substring(src.id.lastIndexOf('_')+1); // TODO : Utiliser de preference src.value
  document.getElementById('select_value_'+name_select).innerHTML = src.innerHTML;
}

