var mem_msg=' '; // seulement 1 espace
var pos_char=0; // variable de mémorisation de position caractère

function msg_defilant() {
   var vitesse_msg = 100; // règle la rapidité, diminue = plus rapide, augmente = plus lent
   // vérif. si position caractère supérieur a la longueur de la chaine
   if (pos_char >= notre_msg.length) {pos_char=0}
   mem_msg=mem_msg + notre_msg.substring(pos_char,pos_char+1);
     pos_char++;
   // on limite la largueur en terme de carateres   
   var msg_tmpo=mem_msg; // variable temporaire
   mem_msg="";
   mem_msg=msg_tmpo.substring(msg_tmpo.length-48,msg_tmpo.length); // 48 caractères
   msg_tmpo="";
   msg_tmpo = mem_msg.replace(/ /g, "&nbsp;"); // remplace les espaces par : "&nbsp;"
   // Ajout d'un décalage d'un espace a gauche entre le texte et l'image
   msg_tmpo="&nbsp;" + msg_tmpo; 
   // Insertion du texte
   var b_txt_deroulant=document.getElementById("modif_txt_deroulant");
   b_txt_deroulant.innerHTML=msg_tmpo;
   window.setTimeout("msg_defilant()",vitesse_msg); // Re-lance la fonction
}




function put_mail(part1,part2) {
   document.write('<a h');
   document.write('ref="');
   document.write('mai');
   document.write('lt');
   document.write('o:');
   document.write(part1);   
   document.write('@');   
   document.write(part2);   
   document.write('">');   
   document.write(part1);   
   document.write('@');   
   document.write(part2);   
   document.write('</a>');
}


function close_special() {
   if(document.getElementById) { 
      var special=document.getElementById("toplayer");
      special.style.display = 'none';
   }
   else {
      window.location.reload();
   }

}

function open_popup(url,width,height) {
   if(!width) {
      width = 500;
   }
   if(!height) {
      height = 400;
   }
   var top  = (screen.height - height) / 2 ;
   var left = (screen.width  - width)  / 2 ;
   
   var new_win = window.open(url,"SPPLUS",'status=1,resizable=1,scrollbars=1,top='+top+',left='+left+',width='+width+',height='+height);
   if(new_win) {
      new_win.focus();   
   }
   return false;
}


function check_form(form,dont_mark) {
   //return true;
   // Set colors 
   var color = check_color;
   var high_color = check_high_color;
   

   var error = false;
   var error_message = msg_fill_required;

   var first = -1;
   var to_color = new Array;
   var to_disable = new Array;   
   
   
   for (var i=0 ; i<form.elements.length ; i++) {
      var el = form.elements[i];
      if (el.type=='submit') {
         to_disable.push(el);      
      }
      else if ( el.getAttribute('required')  ){

         var this_error = false;
         
         switch(el.type) {
            case 'checkbox':
            case 'radio':
               var this_name = el.name;
               var none_checked = true;
               for (var j=0; j<form.elements.length ; j++) {
                  if(form.elements[j].name==this_name && form.elements[j].checked) {
                     none_checked = false;
                  }
               }
               if (none_checked) {
                  this_error = true;
               }
            break;
               
            default:
               if (   el.value==''   ||   ( el.getAttribute('pattern') && !el.value.match(RegExp(el.getAttribute('pattern'),"i")) )   ){
                  if (el.getAttribute('visible')) {
                     var state_element = document.getElementById(el.getAttribute('visible'));
                     if (!state_element || state_element.style.display!='none') {
                        this_error = true;
                     }
                  }
                  else {
                     this_error = true;
                  }
               }
               else if (el.getAttribute('equal')) {
                  var equal_element = form.elements[el.getAttribute('equal')];
                  if (equal_element.value!=el.value) {
                     this_error = true;
                     var equal_parent = equal_element.parentNode;
                     if (!dont_mark) {
                        to_color.push(equal_parent);
                     }
                  }
               }
         }
                                         
         var parent_node = el.parentNode;
         if(this_error) {
            error = true;
            if (first == -1) {
               first = i;
            }         
            if (!dont_mark) {
               to_color.push(parent_node);
            }
         }
         else {
            if (!dont_mark) {
               parent_node.style.background = color;         
            }
         }                
      }
   }
   var message_area = document.getElementById('message_area');
   if (error) {
      for (var i=0 ; i<to_color.length ; i++) {
         to_color[i].style.background = high_color;
      }
      if (message_area && !dont_mark) {
         message_area.innerHTML = error_message;
         message_area.style.display = 'block';
      }
      else {
         alert(error_message);
      }
      if (first > -1) {
         form.elements[first].focus();
      }
      return false;
   }
   else {
      for (var i=0 ; i<to_disable.length ; i++) {
         to_disable[i].disabled = true;
         if (to_disable[i].type=='submit') {
            to_disable[i].value = msg_wait;
         } 
      }
      return true;   
   }

}


var xmlHttp = null;      
var details_default = '';

function get_info(id) {
   var url = 'index.php?d=intranet&a=details&id='+id;
   var alt_url = '/intranet/adherent/'+id+'/';
   
   //document.location.href = alt_url;return;

   var container = document.getElementById('toplayer');
   var details  = document.getElementById('details');
   
   xmlHttp = get_xmlHttp();
   if (xmlHttp && container && details) {
      vis_elements(false);
      container.style.display = '';
      xmlHttp.onreadystatechange = function() {
         if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
               details_default = details.innerHTML;
               details.innerHTML = '';
               details.innerHTML = xmlHttp.responseText;
            }
            else {
               document.location.href = alt_url;
            }
         }
      }
      xmlHttp.open("GET",url,true);
      xmlHttp.send(null);
   }
   else {
      document.location.href = alt_url;
   }
}

function hide_info() {
   var container = document.getElementById('toplayer');
   var details  = document.getElementById('details');
   if (container && details) {
      container.style.display = 'none';
      details.innerHTML = details_default;
   }
   vis_elements(true);
}

function get_xmlHttp() {
   var xmlHttp = null;      
   try { // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
      if (xmlHttp.overrideMimeType) {
         xmlHttp.overrideMimeType('text/html');
      }
   }
   catch (e) { // Internet Explorer
      try {
         xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e) {
         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
   }
   return xmlHttp;
}        


function vis_elements(show) {
   var visibility = show ? 'visible' : 'hidden';
   var forms = document.forms;
   if (forms.length!=0) {
      for (var i=0 ; i<forms.length ; i++) {
         var form = document.forms[i];
         for (var j=0 ; j<form.elements.length ; j++) {
            if (form.elements[j].nodeName=='SELECT') {
               form.elements[j].style.visibility = visibility;   
            }
         }
      }
   }
}
