var realtyurl = /*VIPURL*/"/Global/Applications/Realty.jsp";

String.prototype.trim = function() {

	 // skip leading and trailing whitespace
	 // and return everything in between
	  var x=this;
	  x=x.replace(/^\s*(.*)/, "$1");
	  x=x.replace(/(.*?)\s*$/, "$1");
	  return x;
	}

function immoContainerChangeDetail(cont, element)
{
	
	var visible;
	var visibleli;
	
	for(i=1 ; i<=3 ; i++)
	{
		if(document.getElementById('container'+i).style.display=="block")
		{
			visible = document.getElementById('container'+i);
			visibleli = document.getElementById('immotabs').getElementsByTagName("li")[(i-1)].getElementsByTagName("div")[1];
		}
	}
	
	visibleli.style.position="";
	visibleli.style.zIndex="1";
	visibleli.getElementsByTagName("a")[0].className="";
	
	element.style.position="relative";
	element.style.zIndex="1";
	element.getElementsByTagName("a")[0].className="selected";
	
	visible.style.display = "none";
	document.getElementById('container'+cont).style.display = "block";
}

function immoContainerChangeOverview(cont, element)
{
	
	var visible;
	var visibleli;
	
	for(i=1 ; i<=2 ; i++)
	{
		if(document.getElementById('container'+i).style.display=="block")
		{
			visible = document.getElementById('container'+i);
			visibleli = document.getElementById('immotabs').getElementsByTagName("li")[(i-1)].getElementsByTagName("div")[1];
		}
	}
	
	visibleli.style.position="";
	visibleli.style.zIndex="1";
	visibleli.style.backgroundColor="";
	visibleli.getElementsByTagName("a")[0].className="";
	
	element.style.position="relative";
	element.style.zIndex="2";
	element.style.backgroundColor="#EFEFEF";
	element.getElementsByTagName("a")[0].className="selected";
	
	visible.style.display = "none";
	document.getElementById('container'+cont).style.display = "block";
	
	var elements = document.getElementsByName("result");
	for(var i = 0; i < elements.length; i++)
		elements[i].style.display = "none";
	
	var request = getXMLHttpRequest();
	request.open("POST", realtyurl, false);	  
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
	
	if(cont == 2)
		request.send("type=ImmoVermietung&action=clearresult");
	else
		request.send("type=ImmoVerkauf&action=clearresult");
}

function changeCities(element, reinit)
{
	var selected = getSelectValue(element, "city");
	var request = getXMLHttpRequest();
	request.open("POST", realtyurl, false);	  
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
	if(reinit)
		request.send("changetype=cities&state=" + getSelectValue(element, "state"));
	else
		request.send("changetype=cities&state=" + getSelectValue(element, "state") + "&kindofarea=" + getSelectValue(element, "kindofarea") + "&areasize=" + getSelectValue(element, "areasize"));
	
	var values = request.responseText.split(";");
	if(values.length == 1 && values[0].trim().length == 0)
	{
		values = new Array();
	}
	
	changeSelectValues(getSelect(element, "city"), values, null, selected);
}

function changeKindofareas(element, reinit)
{
	var selected = getSelectValue(element, "kindofarea");
	var request = getXMLHttpRequest();
	request.open("POST", realtyurl, false);	  
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
	if(reinit)
		request.send("changetype=kindofareas&state=" + getSelectValue(element, "state"));
	else
		request.send("changetype=kindofareas&state=" + getSelectValue(element, "state") + "&city=" + getSelectValue(element, "city") + "&areasize=" + getSelectValue(element, "areasize"));
	
	var values = request.responseText.split(";");
	if(values.length == 1 && values[0].trim().length == 0)
	{
		values = new Array();
	}
	
	changeSelectValues(getSelect(element, "kindofarea"), values, null, selected);
}

function changeAreasizes(element, reinit)
{
	var selected = getSelectValue(element, "areasize");
	var request = getXMLHttpRequest();
	request.open("POST", realtyurl, false);	  
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
	if(reinit)
		request.send("changetype=areasizes&state=" + getSelectValue(element, "state"));
	else
		request.send("changetype=areasizes&state=" + getSelectValue(element, "state") + "&city=" + getSelectValue(element, "city") + "&kindofarea=" + getSelectValue(element, "kindofarea"));
	
	var values = request.responseText.split(";");
	var text = new Array();
	
	if(values.length > 0 && values[0].trim().length > 0)
	{
		for(var i=0; i<values.length;i++)
		{
			text[i] = getAreadescription(values[i]);
		}
	}
	else
	{
		values = new Array();
	}
	
	changeSelectValues(getSelect(element, "areasize"), values, text, selected);
}

function getAreadescription(value)
{
	if(value.trim() == "verm_1")
		return "1-100 m²";
	else if(value.trim() == "verm_2")
		return "101-250 m²";
	else if(value.trim() == "verm_3")
		return "251-500 m²";
	else if(value.trim() == "verm_4")
		return "501-1000 m²";
	else if(value.trim() == "verm_5")
		return ">1000 m²";
	else if(value.trim() == "verk_1")
		return "1-5.000 m²";
	else if(value.trim() == "verk_2")
		return "5.001-10.000 m²";
	else if(value.trim() == "verk_3")
		return "10.001-20.000 m²";
	else if(value.trim() == "verk_4")
		return "20.001-50.000 m²";
	else if(value.trim() == "verk_5")
		return ">50.000 m²";
}

function getSelectValue(element, name)
{
	var select = getSelect(element, name);
	return select.options[select.selectedIndex].value;
}

function getSelect(element, name)
{
	var selects = element.form.getElementsByTagName("select");
	for(var i=0; i < selects.length; i++)
	{
		if(selects[i].name == name)
			return selects[i];
	}
}

function changeSelectValues(select, values, texte, selected)
{	
	while(select.length > 0)
		select.options[0] = null;
	
	if(getSelect(select, "state").selectedIndex > 0)
	{
		var allentry = new Option(i18n.getText("inter_all"), "", false, false);
		select.options[0] = allentry;
		
		for(var i=0; i < values.length; i++)
		{
			var newentry;
			if(texte != null)
				newentry = new Option(texte[i].trim(), values[i].trim(), false, false);
			else
				newentry = new Option(values[i].trim(), values[i].trim(), false, false);
			if(newentry.value == selected)
				newentry.selected = true;
			
			select.options[i+1] = newentry;
		}
	}
	else
	{
		var allentry = new Option(i18n.getText("inter_pleasechoosestate"), "", false, false);
		select.options[0] = allentry;
	}
}

function deleteUnselected(select)
{
	if(select.selectedIndex > 0)
	{
		for(var i=1; select.length > 2;)
		{
			if(!select.options[i].selected)
				select.options[i] = null;
			else
				i++;
		}
	}
	else
	{
		if(select.name == "kindofarea")
			changeKindofareas(select,false);
		else if(select.name == "city")
			changeCities(select,false);
		else if(select.name == "areasize")
			changeAreasizes(select,false);
	}
}

function checkState(form)
{
	var select = form.getElementsByTagName("select")[0];
	
	if(select.options[select.selectedIndex].value != "")
	{
		form.submit();
	}
	else
	{
		var divs = form.parentNode.getElementsByTagName("div");
		var error = false;
		
		for(var i = 0; i < divs.length; i++)
		{
			if(divs[i].id == "errortext")
				error = true;
		}
		
		if(!error)
		{
			var text = document.createElement("div");
			text.name = "errortext";
			text.id = "errortext";
			text.style.color = "#BF0C04";
			text.innerHTML = i18n.getText("inter_error_state");
			
			var spacer = document.createElement("div");
			spacer.className = "spacer10px";
			
			form.parentNode.insertBefore(text, form);
			form.parentNode.insertBefore(spacer, form);
			
			select.parentNode.getElementsByTagName("span")[0].style.color = "#BF0C04";
		}
	}
}

function showLayerFormular() {
	
}
