var lang_id = "";
var xmlHttp;
var lang_content;
var geocoder;

function process()
{	
	xmlHttp = createXMLHttpObject();
	xmlHttp.open("GET", "language.xml", true);
	// define the method to handle server responses
	xmlHttp.onreadystatechange = function()
		{
			if (xmlHttp.readyState == 4) createContent();
		};
	xmlHttp.send(null);
}

function initialize()
{
	if (location.search.length > 1){
		var getdata = location.search.substring(1);
		switch (getdata)
		{
		case "en": lang_id = "en"; break;
		case "de": lang_id = "de"; break;
		case "it": lang_id = "it"; break;
		case "fr": lang_id = "fr"; break;
		case "es": lang_id = "es"; break;
		default: lang_id = "en";
		}
	}
	else
		lang_id = "en";
	geocoder = new GClientGeocoder();
	process();
}

function createContent()
{
	//var xmlObj = xmlDoc.documentElement;
	//xmlObj.tagName will be used for test
	var xmlDoc = xmlHttp.responseXML.documentElement;
	lang_content = xmlDoc.getElementsByTagName(lang_id).item(0);
	
	var txt_title1 = lang_content.getElementsByTagName("title1").item(0).firstChild.data;
	var txt_title1_content = lang_content.getElementsByTagName("title1_content").item(0).firstChild.data;
	var obj_title1 = document.getElementById("id_title1");
	obj_title1.innerHTML = "<legend>" + txt_title1 + "</legend>" + txt_title1_content;
	obj_title1.style.visibility = "visible";
	
	var obj_title2 = document.getElementById("id_title2");
	document.getElementById("id_title2_content").innerHTML = lang_content.getElementsByTagName("title2").item(0).firstChild.data;
	document.getElementById("id_title2_content1").innerHTML = lang_content.getElementsByTagName("title2_content1").item(0).firstChild.data+":";
	document.getElementById("id_username").value="Spot";
	document.getElementById("id_title2_content2").innerHTML = lang_content.getElementsByTagName("title2_content2").item(0).firstChild.data+":";
	document.getElementById("id_address").value = lang_content.getElementsByTagName("title2_content2_content").item(0).firstChild.data;
	document.getElementById("id_title2_content4").innerHTML = lang_content.getElementsByTagName("title2_content4").item(0).firstChild.data+":";
	document.getElementById("id_sizeX").value="500";
	document.getElementById("id_sizeY").value="400";
	document.getElementById("id_title2_content5").innerHTML = lang_content.getElementsByTagName("title2_content5").item(0).firstChild.data+":";
	var index=1, text;
	while (lang_content.getElementsByTagName("title2_content5_content"+index).length>0)
	{
		text = lang_content.getElementsByTagName("title2_content5_content"+index).item(0).firstChild.data;
		document.getElementById("id_zoom").options[index-1] = new Option(text, index);
		index++;
	}
	document.getElementById("id_title2_content6").innerHTML = lang_content.getElementsByTagName("title2_content6").item(0).firstChild.data+":";
	index=1;
	while (lang_content.getElementsByTagName("title2_content6_content"+index).length>0)
	{
		text = lang_content.getElementsByTagName("title2_content6_content"+index).item(0).firstChild.data;
		document.getElementById("id_type").options[index-1] = new Option(text, index);
		index++;
	}
	document.getElementById("id_advancedoptions").innerHTML = "&gt;"+lang_content.getElementsByTagName("title2_content3").item(0).firstChild.data;;
	obj_title2.style.visibility = "visible";
	
	var obj_title3 = document.getElementById("id_title3");
	document.getElementById("id_title3_content").innerHTML = lang_content.getElementsByTagName("title3").item(0).firstChild.data;
	document.getElementById("id_title3_content1").innerHTML = "Link :";
	document.getElementById("id_title3_content2").innerHTML = "HTML :";
	document.getElementById("id_title3_content11").innerHTML = lang_content.getElementsByTagName("title3_content1").item(0).firstChild.data;
	var oldStr = lang_content.getElementsByTagName("title3_content2").item(0).firstChild.data;
	document.getElementById("id_title3_content22").innerHTML = oldStr.replace(/{AMP}/, "&");
	obj_title3.style.visibility = "visible";
	
	document.getElementById("id_contactfeedback").innerHTML = lang_content.getElementsByTagName("title4").item(0).firstChild.data;;
	
	var obj_title5 = document.getElementById("id_title5");
	document.getElementById("id_title5_content").innerHTML = lang_content.getElementsByTagName("title5").item(0).firstChild.data;
	obj_title5.style.visibility = "visible";
	
	var obj_titlelatlng = document.getElementById("id_titlelatlng");
	obj_titlelatlng.style.visibility = "visible";
	submitQuery();
}

function onAdvancedOptions()
{
	var obj = document.getElementById("collapse");
	if (obj.style.display == "none"){
		document.getElementById("id_advancedoptions").innerHTML = "&lt;"+lang_content.getElementsByTagName("title2_content3").item(0).firstChild.data;
		obj.style.display = "block";
	}
	else{
		document.getElementById("id_advancedoptions").innerHTML = "&gt;"+lang_content.getElementsByTagName("title2_content3").item(0).firstChild.data;;
		obj.style.display = "none";
	}
}

function setLatLng(point)
{
	if (!point) {
		document.getElementById("id_lat").value = "NaN";
		document.getElementById("id_lng").value = "NaN";
	}
	else {
		document.getElementById("id_lat").value = point.lat();
		document.getElementById("id_lng").value = point.lng();
	}
}

function submitQuery()
{
	var obj = document.getElementById("id_map");
	var username = document.getElementById("id_username").value;
	var address = document.getElementById("id_address").value;
	var sizeX = document.getElementById("id_sizeX").value;
	var sizeY = document.getElementById("id_sizeY").value;
	var zoom = document.getElementById("id_zoom").value;
	var type = document.getElementById("id_type").value;
	document.getElementById("id_title5").style.width = (parseInt(sizeX)+5)+"px";
	document.getElementById("id_title5").style.height = (parseInt(sizeY)+20)+"px";
	//when use extmap.php
	obj.style.width = sizeX+"px";
	obj.style.height = sizeY+"px";
	//when use extmap2.php
	/*obj.style.width = sizeX+"px";
	obj.style.height = parseInt(sizeY+15)+"px";*/
	geocoder.getLatLng(address, setLatLng);
	var host_url = document.getElementById("id_hosturl").value;
	var param_url = "?name="+username+"&address="+address+"&sizeX="+sizeX+"&sizeY="+sizeY
		+"&zoom="+zoom+"&type="+type+"&lang_id="+lang_id;
	obj.src = "extmap.php" + param_url;
	document.getElementById("id_link").value = host_url + "map.php" + param_url;
	var code_val = document.getElementById("div_mapcontainer").innerHTML;
	code_val = code_val.replace(/extmap.php/, host_url + "extmap.php");
	var code_header = "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td>";
	var code_footer = "</td></tr><tr><td align=\"right\"><a style=\"font:9px Arial;text-decoration:none;color:#5C5C5C;\" href=\"" + host_url + "\">by easy-maps.org & </a><a style=\"font:9px Arial;text-decoration:none;color:#5C5C5C;\" href=\"http://www.chambresdhotes.org/\">Chambres D'Hotes.org</a></td></tr></table>";
	document.getElementById("id_code").value = code_header + code_val + code_footer;
}