// JavaScript Document

	function addLoadListener(func) {
	   if (window.addEventListener) {
		  window.addEventListener("load", func, false);
	   } else if (document.addEventListener) {
		  document.addEventListener("load", func, false);
	   } else if (window.attachEvent) {
		  window.attachEvent("onload", func);
	   } else if (typeof window.onload != "function") {
		  window.onload = func;
	   } else {
		  var oldonload = window.onload;
		  window.onload = function() {
			 oldonload();
			 func();
		  };
	   }
	}

	getXMLHttpRequest = function() {
		var ajax = null;
		try
		{
			ajax = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch(e)
		{
			try
			{
				ajax = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch(e) {}
		}
		
		if (ajax==null)
		{
			ajax = new XMLHttpRequest();
		}
		
		return ajax;
	}
	
	changePays = function(){
		if(ajax.readyState == 4 || ajax.readyState == "complete")
		{
			//var root = ajax.responseXML.documentElement.childNodes;
			
			var sections = new Array();
			var pays = new Array();
			var defaut = 0;
			
			if(document.getElementById('tx-srfeuserregister-pi1-country')[document.getElementById('tx-srfeuserregister-pi1-country').selectedIndex].selected) {
				defaut = document.getElementById('tx-srfeuserregister-pi1-country')[document.getElementById('tx-srfeuserregister-pi1-country').selectedIndex].value;
			}
			

			for(var i = 0; i < root.length; i++) {
				var node = document.createElement("option");
				node.value = root[i].getAttribute("uid");
				node.appendChild(document.createTextNode(root[i].firstChild.nodeValue));
				
				if(root[i].getAttribute("selected") == "1") {
					node.selected = true;
				}
				
				if(root[i].getAttribute('section') == 1) {
					sections.push(node);
				}
				else pays.push(node);
			}
			
			//on vide le menu déroulant existant
			while(document.getElementById('tx-srfeuserregister-pi1-country').hasChildNodes()) {
				document.getElementById('tx-srfeuserregister-pi1-country').removeChild(document.getElementById('tx-srfeuserregister-pi1-country').childNodes[0]);	
			}
			
			//on attache une option vide
			var opt = document.createElement("option");
			opt.value = "";
			document.getElementById('tx-srfeuserregister-pi1-country').appendChild(opt);
			
			//on attache les options dans l'ordre
			for(var i = 0; i < sections.length; i++){
				document.getElementById('tx-srfeuserregister-pi1-country').appendChild(sections[i]);
			}
			
			if(sections.length > 0) {
				var node = 	document.createElement("option");
				node.disabled = true;
				if(i == 72){
					node.selected = true;
				}
				document.getElementById('tx-srfeuserregister-pi1-country').appendChild(node);
			}
			
			for(var i = 0; i < pays.length; i++){
				document.getElementById('tx-srfeuserregister-pi1-country').appendChild(pays[i]);
			}

			document.getElementById('txtCharge').style.display = 'none';
			document.getElementById('tx-srfeuserregister-pi1-country').style.display = 'inline';
			
			prepareHexaposte();
		}
	}


	chargePays = function () {
		
		if(document.getElementById('tx-srfeuserregister-pi1-country')) {
			//Ajax
			ajax = getXMLHttpRequest();
			if(!ajax)
			{
				document.getElementById('txtCharge').style.display = 'none'
			}
			else
			{
				//document.getElementById('tx-srfeuserregister-pi1-country').style.display = 'none';
				//ajax.onreadystatechange = changePays;
				//window.alert(document.getElementById("pageListePays").value);
				ajax.open('GET', document.getElementById("pageListePays").value, true);
				ajax.send(null);
			}
		}
	}
	
	
	changeVille = function() {
		if(this.value.length >= 5)
		{
			document.getElementById('msg_hexaposte').innerHTML = document.getElementById('txtCharge').innerHTML;
						
			//Ajax
			ajax = getXMLHttpRequest();
			if(!ajax)
			{
				document.getElementById('txtCharge').style.display = 'none'
				//document.getElementById('tx_dechicontact_pi1-hexaposte').style.display = 'inline';
			}
			else
			{
				ajax.onreadystatechange = chargeVilles;
				ajax.open('GET', document.getElementsByTagName('base')[0].href + document.getElementById('pageListeVilles').value + '?tx_dechexaposte_pi1[cp]=' + this.value, true);
				ajax.send(null);
			}
			
		} else {
			if(document.getElementById('FE-fe_users-city')) {
				document.getElementById('FE-fe_users-city').parentNode.removeChild(document.getElementById('FE-fe_users-city'));
			}
			document.getElementById('msg_hexaposte').innerHTML = document.getElementById('lblChoixCp').value;
			document.getElementById('msg_hexaposte').style.display = 'inline';
		}
	}
	
	chargeVilles = function() {
		
		if(ajax.readyState == 4 || ajax.readyState == "complete")
		{
			delete ajax.onreadystatechange;
			var txtCharge = document.getElementById('msg_hexaposte');
			
			var root = ajax.responseXML.documentElement.childNodes;
			
			if(root.length > 0)
			{
				var sel = document.createElement('select');
				sel.id = 'FE-fe_users-city';
				sel.name = 'FE[fe_users][city]';
				
				for(var i = 0; i < root.length; i++)
				{
					var val = root[i].firstChild.nodeValue;
					var tmp = document.createElement('option');
					tmp.value = val;
					var txt = document.createTextNode(val);
					tmp.appendChild(txt);
					sel.appendChild(tmp);
				}
				
				txtCharge.parentNode.insertBefore(sel, txtCharge);
				txtCharge.style.display = 'none';
			}
			else document.getElementById('msg_hexaposte').innerHTML = document.getElementById('lblNoMatch').value;
		}
		
	}
	
	prepareHexaposte = function() {
		
		//on demande de sélectionner le pays
		document.getElementById('msg_hexaposte').innerHTML = document.getElementById('lblChoixPays').value;
		document.getElementById('tx-srfeuserregister-pi1-city').style.display = 'none';
		
		//on affecte des fonctions aux champs de pays et de cp
		document.getElementById('tx-srfeuserregister-pi1-country').onclick = function() {
			if(this[this.selectedIndex].value == 72) {
				document.getElementById('tx-srfeuserregister-pi1-city').name = 'fake';
				document.getElementById('tx-srfeuserregister-pi1-city').style.display = 'none';
				document.getElementById('msg_hexaposte').innerHTML = document.getElementById('lblChoixCp').value;
				document.getElementById('msg_hexaposte').style.display = 'inline';
				document.getElementById('tx-srfeuserregister-pi1-zip').onkeyup = changeVille;
				document.getElementById('tx-srfeuserregister-pi1-zip').onkeyup();
			} else {
				document.getElementById('tx-srfeuserregister-pi1-city').name = 'FE[fe_users][city]';
				document.getElementById('tx-srfeuserregister-pi1-city').style.display = 'inline';
				document.getElementById('msg_hexaposte').style.display = 'none';
				if(document.getElementById('tx-srfeuserregister-pi1-zip').onkeyup) delete document.getElementById('tx-srfeuserregister-pi1-zip').onkeyup;
				if(document.getElementById('FE-fe_users-city')) {
					document.getElementById('FE-fe_users-city').parentNode.removeChild(document.getElementById('FE-fe_users-city'));
				}
			}
		}
		
		if(document.getElementById('tx-srfeuserregister-pi1-country').selectedIndex > 0) document.getElementById('tx-srfeuserregister-pi1-country').onclick();
	}

	
	addLoadListener(chargePays);

