var isWorking = false;        // est-ce que le canal est occupé
var Obj;

function getHTTPObject() {
  var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
@else xmlhttp = false;
@end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
      } catch (e) {
      xmlhttp = false;
      }
  }
  return xmlhttp;
}

var http = getHTTPObject();

function _remote(serveur, esclave) {
	if (!isWorking && http) {
		http.open("GET", serveur, true);
		http.onreadystatechange = esclave;
		isWorking = true;
		http.send(null);
	}
}


// Liste des Provinces
function provinces_liste() {
	ch = document.formulaire.province.value;
	
	if (ch.length>2)
		_remote("/include/remote.php?fonc=provinces_liste&abr=" + escape(ch), _provinces_liste);

	if ((ch.length<3) && (document.getElementById('res_provinces').style.visibility == 'visible'))
		document.getElementById('res_provinces').style.visibility = 'hidden';
}
function _provinces_liste() {
	if (http.readyState == 4) {
		if (http.responseText.indexOf('invalid') == -1) {
			var xmlDocument = http.responseXML;
			var res = xmlDocument.getElementsByTagName('name').item(0).firstChild.data;
			var elements = res.split(";");
			var result = '';
			if (elements[0] != '') {
				for (var i=0;i<elements.length;i++) {
					result = result + "<a style=\"text-decoration:none;color:red;\" href=\"javascript:setQuery_province('" + elements[i].replace("'","\\'") + "');\">" + elements[i] + "</a><br />";
				}
				document.getElementById('res_provinces').innerHTML = '<div style="width:245px; height:16px; line-height:16px; background-color:#0044BB; color:#FFFFFF; text-align:right; border:#CCCCCC thin solid; padding-right:5px;"> <a href="javascript:fermer_popup(\'res_provinces\')" style="color:#FFFFFF; text-decoration:none;">X</a> </div><div style="text-align:left; background-color:#F5F5F5; width:250px; height:90px; overflow:auto; overflow-x:none;">' + result + '</div>';
				document.getElementById('res_provinces').style.visibility = 'visible';
			}
			else document.getElementById('res_provinces').style.visibility = 'hidden';

			isWorking = false;
		}
	}
}
function setQuery_province(ch){
    document.getElementById('province').value = ch;
    document.getElementById('res_provinces').style.visibility = 'hidden';
	document.getElementById('province').focus();
}

// Liste des Villes
function villes_liste() {
	ch = document.formulaire.ville.value;
	
	if (ch.length>2)
		_remote("/include/remote.php?fonc=villes_liste&abr=" + escape(ch), _villes_liste);

	if ((ch.length<3) && (document.getElementById('res_villes').style.visibility == 'visible'))
		document.getElementById('res_villes').style.visibility = 'hidden';
}
function _villes_liste() {
	if (http.readyState == 4) {
		if (http.responseText.indexOf('invalid') == -1) {
			var xmlDocument = http.responseXML;
			var res = xmlDocument.getElementsByTagName('name').item(0).firstChild.data;
			var elements = res.split(";");
			var result = '';
			if (elements[0] != '') {
				for (var i=0;i<elements.length;i++) {
					result = result + "<a style=\"text-decoration:none;color:red;\" href=\"javascript:setQuery_ville('" + elements[i].replace("'","\\'") + "');\">" + elements[i] + "</a><br />";
				}
				document.getElementById('res_villes').innerHTML = '<div style="width:245px; height:16px; line-height:16px; background-color:#0044BB; color:#FFFFFF; text-align:right; border:#CCCCCC thin solid; padding-right:5px;"> <a href="javascript:fermer_popup(\'res_villes\')" style="color:#FFFFFF; text-decoration:none;">X</a> </div><div style="text-align:left; background-color:#F5F5F5; width:250px; height:90px; overflow:auto; overflow-x:none;">' + result + '</div>';
				document.getElementById('res_villes').style.visibility = 'visible';
			}
			else document.getElementById('res_villes').style.visibility = 'hidden';

			isWorking = false;
		}
	}
}
function setQuery_ville(ch){
    document.getElementById('ville').value = ch;
    document.getElementById('res_villes').style.visibility = 'hidden';
	document.getElementById('ville').focus();
}
function fermer_popup(obj) {
	if ( document.getElementById(obj) )
		document.getElementById(obj).style.visibility='hidden';
}
function vider_boites() {
	document.getElementById('recherche_resultat').innerHTML = '';
	document.getElementById('recherche_fiche').innerHTML = '';
}

// checkUserEmail
function checkUserEmail() {
	ch = document.formulaire.courriel.value;

	if (ch.length>5)
		_remote("/include/remote.php?fonc=checkUserEmail&abr=" + escape(ch), _checkUserEmail);
}
function _checkUserEmail() {
	if (http.readyState == 4) {
		if (http.responseText.indexOf('existe') == -1) {
			document.formulaire.submit();
		}
		else {
			alert('Ce courriel est déjà inscrit dans la base de données.');
		}

		isWorking = false;
	}
}

function resultatRecherche(obj) {
	post = faire_POST(obj);
	
	_remote("include/remote.php?fonc=resultatRecherche" + post, _resultatRecherche);
}
function _resultatRecherche() {
	if (http.readyState == 4) {
		if (http.responseText != '') {
			document.getElementById('contenu_txt').innerHTML = http.responseText;
		}
		else document.getElementById('contenu_txt').innerHTML = '';

		isWorking = false;
	}
}

function remote_compte(fonction) {
	http = '';
	if (typeof XMLHttpRequest != 'undefined') { http = new XMLHttpRequest(); }
	try { http = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e) { try { http = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} }
	
	http.open("GET", 'compte_' + fonction + '.php', true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			document.getElementById('compte_contenu').innerHTML = http.responseText;
		}
	}
	http.send(null);
}

// Recherche de sages-femmes
function remote_recherche_public(obj) {
	post = faire_POST(obj);
	document.getElementById('recherche_fiche').innerHTML = '';
	http.open("GET", "/include/remote_recherche_public.php?" + post, true);
	http.setRequestHeader("Content-Type", "text/xml")
	http.onreadystatechange = function() {
		if ( http.readyState == 4 && http.status == 200 ) {
				var xml = http.responseXML.getElementsByTagName('membre');

				retour = '<table width="180" border="0" cellspacing="0" cellpadding="1">';
				
				for ( i=0; i < xml.length; i++ ) {
					if (i % 2 == 0) tr = ' style="background-color:#FFFBF4; cursor:pointer"';	else tr = ' style="cursor:pointer"';
					membre = xml[i];
					if (document.all) {
						id = membre.getElementsByTagName('numero')[0].text;
						nom = membre.getElementsByTagName('nom')[0].text;
					}
					else {
						id = membre.getElementsByTagName('numero')[0].textContent;
						nom = membre.getElementsByTagName('nom')[0].textContent;
					}
					retour += '<tr '+tr+'><td class="style2"><a href="javascript:rechercher_fiche('+id+')">'+nom+'</a></td></tr>';
				}
				if (xml.length == 0) retour += '<tr><td style="color:#FF0000">Aucun résultat</td></tr>';
				retour += '</table>';
			//	f = ''; for (z in membre.getElementsByTagName('nom')[0] ) f += '  '+z; alert(f);
				
				document.getElementById('recherche_resultat').innerHTML = retour;
	
			isWorking = false;
		}
	}
	http.send(null);
}

// Recherche de sages-femmes - Fiche
function remote_recherche_fiche(_id) {
	http.open("GET", "/include/remote_recherche_fiche.php?id=" + _id, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if ( http.responseXML != null ) {
				var xml = http.responseXML.documentElement;
				if (document.all) {
					nom = xml.getElementsByTagName('nom')[0].text;
					maison_nom = xml.getElementsByTagName('maison_nom')[0].text;
					if ( xml.getElementsByTagName('fonction')[0].text && xml.getElementsByTagName('fonction')[0].text != '' )
						maison_nom += '<br>' + xml.getElementsByTagName('fonction')[0].text;
					maison_ville = xml.getElementsByTagName('maison_ville')[0].text;
					maison_telephone = xml.getElementsByTagName('maison_telephone')[0].text;
					maison_telecopieur = xml.getElementsByTagName('maison_telecopieur')[0].text;
					maison_www = xml.getElementsByTagName('maison_www')[0].text;
				}
				else {
					nom = xml.getElementsByTagName('nom')[0].textContent;
					maison_nom = xml.getElementsByTagName('maison_nom')[0].textContent;
					if ( xml.getElementsByTagName('fonction')[0].textContent && xml.getElementsByTagName('fonction')[0].textContent != '' )
						maison_nom += '<br>' + xml.getElementsByTagName('fonction')[0].textContent;
					maison_ville = xml.getElementsByTagName('maison_ville')[0].textContent;
					maison_telephone = xml.getElementsByTagName('maison_telephone')[0].textContent;
					maison_telecopieur = xml.getElementsByTagName('maison_telecopieur')[0].textContent;
					maison_www = xml.getElementsByTagName('maison_www')[0].textContent;
				}

				retour = '<table width="100%" border="1" cellpadding="15" cellspacing="0" bgcolor="#FFFBF4"><tr><td align="left">';
				retour += '<span class="style2Bold">'+nom+'<br />';
				retour += maison_nom+'</span><br /><br />';
				retour += '<span class="style2">'+maison_ville+'<br />';
				if (maison_telephone != '')
					retour += '<span class="style2">T&eacute;l&eacute;phone : <span>'+maison_telephone+'<br />';
				if (maison_telecopieur != '')
					retour += '<span class="style2">T&eacute;l&eacute;copieur : <span>'+maison_telecopieur+'<br /><br />';
				retour += maison_www+'<br />';
				retour += '</span></td></tr></table>';
				
				document.getElementById('recherche_fiche').innerHTML = retour;
			}
			else document.getElementById('recherche_fiche').innerHTML = '';
	
			isWorking = false;
		}
	}
	http.send(null);
}

// Recherche de sages-femmes - RAMQ - Fiche
function remote_recherche_fiche2(_id) {
	_remote("/include/remote.php?fonc=remote_recherche_fiche2&id=" + _id, _remote_recherche_fiche);
}
function _remote_recherche_fiche() {
	if (http.readyState == 4) {
		if (http.responseText != '') {
			document.getElementById('recherche_fiche').innerHTML = http.responseText;
		}
		else document.getElementById('recherche_fiche').innerHTML = '';

		isWorking = false;
	}
}


///////////////////////////////////////////////
// Fonctions et classes
function remplacer(source,varIN,varOUT) {
	retour = '';
	for (i=0; i < source.length; i++) {
		s = source.substr(i,1);
		if (s == varIN) retour += varOUT;
		else retour += s;
	}
	
	return retour;
}

function number_format(valeur) {
	result = Math.floor(valeur) + ".";
	cents = 100*(valeur-Math.floor(valeur))+0.5;
	result += Math.floor(cents/10);
	result += Math.floor(cents%10);
	return result;
}

function faire_POST(obj) {
	post = '';
	for (i=0; i < obj.elements.length; i++) {
		if (obj.elements[i].name && obj.elements[i].name != '') {
			if (obj.elements[i].getAttribute('type') == 'radio' || obj.elements[i].getAttribute('type') == 'checkbox') {
				if (obj.elements[i].checked == true) post += '&' + obj.elements[i].name + '=' + escape(obj.elements[i].value);
			}
			else
				post += '&' + obj.elements[i].name + '=' + escape(obj.elements[i].value);
		}
	}
	
	return post;
}
