var reg=new RegExp("[\n]+", "g");
var reg2=new RegExp("[|]+", "g");

function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
   var obj = document.layers ? document.layers[szDivID] :
   document.getElementById ?  document.getElementById(szDivID).style :
   document.all[szDivID].style;
   obj.visibility = document.layers ? (iState ? "show" : "hide") :
   (iState ? "visible" : "hidden");
   obj.display = document.layers ? (iState ? "show" : "hide") :
   (iState ? "block" : "none");
}

function getHTTPObject() {
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
   try { return new XMLHttpRequest(); } catch(e) {}
   alert("XMLHttpRequest not supported, please update your browser.");
   return null;
}

function GetDropDown(dropdown,element_id, degustation) {
	var http = getHTTPObject(); // We create the HTTP Object
	var URL = "index.php?go=dropdown&";
	if (dropdown == 'region')
	{
		//document.getElementById("deplist").length = 0;
		var country = document.getElementById("countrylist")[document.getElementById("countrylist").selectedIndex].value;
		URL += "do=region&country=" + escape(country);
	}

	if (dropdown == 'appelation')
	{
		var country = document.getElementById("countrylist")[document.getElementById("countrylist").selectedIndex].value;
		var region = document.getElementById("regionlist")[document.getElementById("regionlist").selectedIndex].value;
		URL += "do=appelation&country=" + escape(country) + "&region=" + escape(region);
	}
	if (dropdown == 'label')
	{
		var country = document.getElementById("countrylist")[document.getElementById("countrylist").selectedIndex].value;
		var region = document.getElementById("regionlist")[document.getElementById("regionlist").selectedIndex].value;
		var appelation = document.getElementById("appelationlist")[document.getElementById("appelationlist").selectedIndex].value;
		URL += "do=label&country=" + escape(country) + "&region=" + escape(region) + "&appelation=" + escape(appelation);
	}
	if (dropdown == 'fiche')
	{
		var country = document.getElementById("countrylist")[document.getElementById("countrylist").selectedIndex].value;
		var region = document.getElementById("regionlist")[document.getElementById("regionlist").selectedIndex].value;
		var appelation = document.getElementById("appelationlist")[document.getElementById("appelationlist").selectedIndex].value;
		
		URL += "do=fiche&country=" + escape(country) + "&region=" + escape(region) + "&appelation=" + escape(appelation) + "&degustation=" + escape(degustation);
	}
	
		http.open("GET", URL  , true);
		http.onreadystatechange = function() {
				 if (http.readyState == 4) {
			    var result = http.responseText;
			    if (dropdown == 'label')
			    {
			    	document.getElementById('labellist').innerHTML = result;
			    	toggleBox('fichelist',0);
			    	toggleBox('labellist',1);
			    }
			    else if (dropdown == 'fiche')
			    {
			    	document.getElementById('fichelist').innerHTML = result;
			    	toggleBox('fichelist',1);
			    	toggleBox('labellist',0);
			    }
			    else
			    {
						var tableau=result.split(reg);
						document.getElementById(element_id).length = 0;
						for (var i=0; i<tableau.length; i++) 
						{
						  if (tableau[i])
						  {
							  var subtab = tableau[i].split(reg2);
							  var elOptNew = document.createElement('option');
							  elOptNew.text = subtab[1];
							  elOptNew.value = subtab[0];
							  var elSel = document.getElementById(element_id);
							  try {
							    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
							  }
							  catch(ex) {
							    elSel.add(elOptNew); // IE only
							  }
							}
						}
					}
			  }
			}
		http.setRequestHeader("Content-Type","text/html; charset=utf-8"); 
		http.send(null);
}
