//--------------------------------------------------
// Affiche ou Cache un élément ID
//--------------------------------------------------
function swap_search ( form , quoi ) {

	if (form.search_type.value == 'comm') {
		st = 'cont';
		al = 'contenant';
	} else {
		st = 'comm';
		al = 'commencant par';
	}
	form.search_type.value = st;
	form.search_img.src = '/images/search_'+st+'.gif';
	form.search_img.alt = 'Rechercher '+ quoi + al +'...';
	form.search_img.title = 'Rechercher '+ quoi + al +'...';
	form.submit();
}
function showhide ( idname ) {
	if (document.getElementById(idname).className == 'hide') clas = 'show'; else clas = 'hide';
	document.getElementById(idname).className = clas;
}
function showhide_ico ( idname , icname ) {
	
	if (document.getElementById(idname).className == 'hide') clas = 'show'; else clas = 'hide';
	if (clas == 'show') icos = 'm'; else icos = 'p';
	
	document.getElementById(idname).className = clas;
	document.getElementById(icname).src = '/images/signe_'+icos+'.gif';
}
function show ( idname ) {
	document.getElementById(idname).className = 'show';
}
function hide ( idname ) {
	document.getElementById(idname).className = 'hide';
}
//--------------------------------------------------
// Controle Dreamweaver
//--------------------------------------------------
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit etre une adresse e-mail.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' doit etre numérique.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' doit être un nombre entre '+min+' et '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est obligatoire.\n'; }
  } if (errors) alert('ATTENTION, veuillez controler le(s) point(s) suivant(s) :\n\n'+errors);
  document.MM_returnValue = (errors == '');
}
//--------------------------------------------------
// Affiche ou Cache un élément ID
//--------------------------------------------------
function arrondi(quoi) {
	return(Math.round(quoi*100)/100);
}
function rond(num,p) { // en JavaScript

	p = Math.pow(10,p)
	r = Math.round(num*p)/p;
	r = r.toString();
	
	pp = r.indexOf('.');
	pl = r.length;
	
	if ( pp < 0 ) r += '.00';
	else if ( pp > 0 && ( pp == pl-2 ) ) r += '0';

	return r
}

function isRIBvalid() 
    { 
     
	/*
	Cette fonction sert à vérifier qu'un RIB est valide
	Elle accepte 3 ou 4 arguments :
	1/ Si 3 arguments sont passés (banque 5 chiffres, guichet 5 chiffres, n° de compte 11 caractères alpha), la fonction renvoie la clé RIB
	2/ Si 4 arguments sont passés (les trois premiers plus la clé RIB, 2 chiffres),
	la fonction renvoie un booléen : true si le RIB est Ok, false autrement.

	La fonction commence par convertir toutes les lettres du numéro de compte 
	(cas des clients Banque de France, la poste, etc...) en chiffres selon 
	la table de correspondance donnée par tab et tab1. C'est ce que fait la boucle while.
	*/
	if (isRIBvalid.arguments.length>=3) 
        { 
        var bqe=isRIBvalid.arguments[0]; 
        var gui=isRIBvalid.arguments[1]; 
        var cpt=isRIBvalid.arguments[2].toUpperCase(); 
  
                                // Conversion du numero de compte en chiffres 
        var tab= "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
        var tab1="123456789123456789234567890123456789".split(""); 
         
                                while (cpt.match(/\D/) != null) 
            cpt=cpt.replace(/\D/, tab1[tab.indexOf(cpt.match(/\D/))]); 
        var cp=parseInt    (cpt, 10); 
  
        //Calcul clé RIB 
        a=bqe%97; 
        a=a*100000+parseInt(gui, 10); 
        a=a%97; 
        a=a*Math.pow(10, 11) + cp; 
        a=a%97 
        a=a*100; 
        a=a%97 
        a=97-a; 
        if (isRIBvalid.arguments.length>3) 
            return isRIBvalid.arguments[3]==a; 
        else 
            return a; 
        } 
    else 
        { 
        return false; 
        } 
    } 

function controleRib()
{
	bq = document.all['RIB_CodeBanque'].value;
	gu = document.all['RIB_CodeGuichet'].value;
	cp = document.all['RIB_Numero'].value;
	cl = document.all['RIB_Cle'].value;
	
	if (bq+gu+cp+cl != '') {
		
		ok = isRIBvalid(bq,gu,cp,cl);
	
		if (ok == false) {
			alert('RIB INVALIDE !');
			document.all['rib_info'].innerHTML = '<FONT COLOR=red><STRONG>invalide</STRONG></FONT>';
		}
		else {
			alert('RIB CORRECT');
			document.all['rib_info'].innerHTML = '';
		}
	}
}

/*----------------------------------------------------------------------
Fonctions XMLHttpRequest :

- appeler XML_get ( lien , fonction )
- déclarer un fonction qui controle si XMLok, alors fait qq chose

fonction() { if XML_Get() {
	
	ex :
	results = xml_object.responseText.split(",");
	document.getElementById('city').value = results[0];
	document.getElementById('state').value = results[1];
	---
	document.getElementById( 'divResult' ).innerHTML = xml_object.responseText;
	}
}
----------------------------------------------------------------------*/

var xml_obj = null;
function XML_Get ( xml_url , xml_fonction ) {

	if ( window.XMLHttpRequest ) {
 		// Objet XmlHttpRequest pour les moteurs GECKO
		 xml_obj = new XMLHttpRequest();
	} else if ( window.ActiveXObject ) {
		// Objet XmlHttpRequest pour Internet Explorer
		xml_obj = new ActiveXObject( 'Microsoft.XMLHTTP' );
	} else { 
		// Navigateur non-compatible
		alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' ); return;
	}
	
	xml_obj.open( "GET", xml_url, false );		// On ouvre la requete vers la page désirée
	xml_obj.onreadystatechange = xml_fonction;	// On lui donne le pointeur de fonction de retour
	xml_obj.send( null );						// On envoi la requete
}
function XML_ok() {
	return( xml_obj.readyState == 4 );
}
function XML_eval() {
	if ( xml_obj.readyState == 4 ) eval( xml_obj.responseText );
}

//----------------------------------------------------------------------

