//showing and hiding advanced search options
function showhideAdv() {
	if (document.getElementById('sa_showhidestate') != null && document.getElementById('sa_showhidestate').value == 'hide') {
		document.getElementById('sa_showhidestate').value = 'show';
		document.getElementById('sa_adv').style.display = 'block';
		document.getElementById('sa_lblShowAdvSearch').innerHTML = unAdvSrch;
		j = '2';
		//document.getElementById('sa_m2').innerHTML = 'm' + j.sup();
		//document.getElementById('sa_m3').innerHTML = 'm' + j.sup();
		// document.getElementById('sa_m4').innerHTML = 'm' + j.sup();
		// document.getElementById('sa_m5').innerHTML = 'm' + j.sup();
	} else {
		document.getElementById('sa_showhidestate').value = 'hide';
		document.getElementById('sa_adv').style.display = 'none';
		document.getElementById('sa_lblShowAdvSearch').innerHTML = advSrch;
	}

	return false;
}

function showhideGoogleMaps() {
	if (document.getElementById('sa_showhidestate') != null && document.getElementById('sa_showhidestate').value == 'hide') {
		document.getElementById('sa_showhidestate').value = 'show';
		document.getElementById('sa_adv').style.display = 'block';
		document.getElementById('sa_lblShowAdvSearch').innerHTML = unAdvSrch;
		j = '2';
		//document.getElementById('sa_m2').innerHTML = 'm' + j.sup();
		//document.getElementById('sa_m3').innerHTML = 'm' + j.sup();
		// document.getElementById('sa_m4').innerHTML = 'm' + j.sup();
		// document.getElementById('sa_m5').innerHTML = 'm' + j.sup();
	} else {
		document.getElementById('sa_showhidestate').value = 'hide';
		document.getElementById('sa_adv').style.display = 'none';
		document.getElementById('sa_lblShowAdvSearch').innerHTML = advSrch;
	}

	return false;
}

// creating hidden links of images for lightbox
function createLinks() {
	if (medPhotos.length > 0) {
		var base = document.getElementById("sa_linkbase");
		var links = base.firstChild;
		if (links != null) {
			base.removeChild(links);
		}
		links = document.createElement('div');
		for ( var i = 0; i < medPhotos.length; i++) {
			var link = document.createElement('a');
			var img = document.createElement('img');
			link.setAttribute('rel', 'lightbox[roadtrip]');
			link.appendChild(img);
			link.setAttribute('href', lrgPhotos[i]);
			link.setAttribute('title', titles[i]);
			img.setAttribute('src', medPhotos[i]);
			link.setAttribute('rev', copyrights[i]);
			if (i == index) {
				img.setAttribute('id', 'sa_shown');
			} else {
				link.className = 'sa_hidden';
			}
			links.appendChild(link);
		}
		base.appendChild(links);
	}
}

// adding another recipient to email
function addRecipient() {
	var x = ++extraRecipients;
	if (x == 10) {
		return;
	}
	var base;
	var newRecipient;
	var tbody;
	var newtable = false;

	if ((base = document.getElementById("sa_recipientbasetable")) == null) {
		base = document.getElementById("sa_recipientbase");
		newRecipient = document.createElement('table');
		newRecipient.setAttribute('id', 'recipientbasetable');
		newRecipient.className = "form";
		tbody = document.createElement('tbody');
		newtable = true;
	}

	var nameline = document.createElement('tr');
	var namelabelcell = document.createElement('td');
	var namedatacell = document.createElement('td');
	namelabelcell.className = 'label';
	namedatacell.className = 'data';
	var nametext = document.createTextNode(nameLabel + ':');
	var nameinput = document.createElement('input');
	nameinput.setAttribute('type', 'text');
	nameinput.setAttribute('name', 'recipname' + x);
	nameinput.setAttribute('id', 'recipname' + x);

	var emailline = document.createElement('tr');
	var emaillabelcell = document.createElement('td');
	var emaildatacell = document.createElement('td');
	var oldadd = document.getElementById('sa_addanotherlinkbase');
	oldadd.parentNode.removeChild(oldadd);
	emaillabelcell.className = 'label';
	emaillabelcell.className = 'label';
	emaildatacell.className = 'data';
	var emailtext = document.createTextNode(emailLabel + '*:');
	var emailrequired = document.createElement('span');
	emailrequired.className = 'required';
	var emailinput = document.createElement('input');
	emailinput.setAttribute('type', 'text');
	emailinput.setAttribute('name', 'recipmail' + x);
	emailinput.setAttribute('id', 'recipmail' + x);

	var spaces = document.createTextNode('  ');

	// var emaillinkcell = document.createElement('td');
	// emaillinkcell.className = "link"
	// var namelinkcell = document.createElement('td');
	// namelinkcell.className = "link"

	var hrline = document.createElement('tr');
	var hrcell = document.createElement('td');
	hrcell.setAttribute('colspan', '3');
	var hr = document.createElement('hr');

	namelabelcell.appendChild(nametext);
	nameline.appendChild(namelabelcell);
	namedatacell.appendChild(nameinput);
	nameline.appendChild(namedatacell);
	// nameline.appendChild(namelinkcell);

	emailrequired.appendChild(emailtext);
	emaillabelcell.appendChild(emailrequired);
	emailline.appendChild(emaillabelcell);
	emaildatacell.appendChild(emailinput);
	emaildatacell.appendChild(spaces);
	emaildatacell.appendChild(oldadd);
	emailline.appendChild(emaildatacell);

	// emaillinkcell.appendChild(oldadd);
	// emailline.appendChild(emaillinkcell);

	hrcell.appendChild(hr);
	hrline.appendChild(hrcell);

	if (newtable) {
		tbody.appendChild(hrline);
		tbody.appendChild(nameline);
		tbody.appendChild(emailline);
		newRecipient.appendChild(tbody);
		base.appendChild(newRecipient);
	} else {
		base.appendChild(hrline);
		base.appendChild(nameline);
		base.appendChild(emailline);
	}

	document.getElementById('sa_extra').value = x;
}

function categorySelected(type) {

	var category = document.getElementById('sa_' + type + 'category').value;
	var catUri;
	if (type == 'sell') {
		if (category == 'LAND-FORST') {
			document.getElementById("sa_metrics1").innerHTML = 'ha';
			document.getElementById("sa_metrics2").innerHTML = 'ha';
			catUri = "category=0";
			landSelected();
		} else if (category == 'GRUNDSTUECKE') {
			j = '2';
			document.getElementById("sa_metrics1").innerHTML = 'm' + j.sup();
			document.getElementById("sa_metrics2").innerHTML = 'm' + j.sup();
			catUri = "category=1";
			grundSelected();
		} else if (category == 'HAEUSER') {
			j = '2';
			document.getElementById("sa_metrics1").innerHTML = 'm' + j.sup();
			document.getElementById("sa_metrics2").innerHTML = 'm' + j.sup();
			catUri = "category=2";
			wohnSelected();
		} else if (category == 'GEWERBE') {
			j = '2';
			document.getElementById("sa_metrics1").innerHTML = 'm' + j.sup();
			document.getElementById("sa_metrics2").innerHTML = 'm' + j.sup();
			catUri = "category=3";
			industSelected();
		} else if (category == 'INVESTOREN') {
			j = '2';
			document.getElementById("sa_metrics1").innerHTML = 'm' + j.sup();
			document.getElementById("sa_metrics2").innerHTML = 'm' + j.sup();
			catUri = "category=4";
			investSelected();
		} else {
			j = '2';
			document.getElementById("sa_metrics1").innerHTML = 'm' + j.sup();
			document.getElementById("sa_metrics2").innerHTML = 'm' + j.sup();
			catUri = "category=5";
			noneSelected();
		}
	} else {
		if (category == 'ZIMMER') {
			catUri = "category=1";			
			buildUses(10);
		} else if (category == 'WOHNUNG') {
			catUri = "category=2";
			buildUses(9);
		} else if (category == 'HAUS') {
			catUri = "category=3";
			buildUses(6);
		} else if (category == 'GRUNDSTUECK') {
			catUri = "category=4";
			buildUses(4);
		} else if (category == 'BUERO_UND_PRAXEN') {
			catUri = "category=5";
			buildUses(0);
		} else if (category == 'EINZELHANDEL') {
			catUri = "category=6";
			buildUses(1);
		} else if (category == 'GASTGEWERBE') {
			catUri = "category=7";
			buildUses(3);
		} else if (category == 'HALLEN_LAGER_PRODUKTION') {
			catUri = "category=8";
			buildUses(5);
		} else if (category == 'LAND_UND_FORSTWIRTSCHAFT') {
			catUri = "category=9";
			buildUses(7);
		} else if (category == 'SONSTIGE') {
			catUri = "category=10";
			buildUses(8);
		} else if (category == 'FREIZEITIMMOBILIE_GEWERBLICH') {
			catUri = "category=11";
			buildUses(2);
		} else if (category == 'ZINSHAUS_UND_RENDITEOBJEKT') {
			catUri = "category=12";
			buildUses(11);
		} else {
			catUri = "category=13";
			buildUses(-1);
		}
//		buildUses(category);
	}

//	alert("ajax starting");
	new Ajax.Request(ajaxUrl + type + '&' + catUri, {
		method :"get",
		evalJSON :"true",
		onSuccess : function(transport) {
//			alert("on success");
			stateRecs = transport.responseJSON;
		},
		onFailure : function() {
//			alert("on failure");
			noActiveX(ajaxUrl + type + '&' + catUri);
		},
		onException : function(req, ex) {
//			alert("on exception == " + ex);
			noActiveX(ajaxUrl + type + '&' + catUri);
		}
	});	
}
	
function noActiveX(ajaxUrl) {
//	alert("use active x!");
	
}

function buildUses(index) {
	var base = document.getElementById("sa_usage");
	var arts;
	if (index >= 0) {
		arts = catarts[index];
//		arts = catarts.cat;
	} else {
		arts = new Array();
	}

	base.options.length = 1;
	
//	for(art in arts) {
//		base.options[base.options.length] = new Option(art, arts.art, false, false);
//	}

	for (i = 0; i < arts.length; i++) {
		base.options[base.options.length] = new Option(arts[i].value, arts[i].key, false,
				false);
	}
}

function landSelected() {
	document.getElementById('sa_minArea').disabled = false;
	document.getElementById('sa_maxArea').disabled = false;
	document.getElementById('sa_minPrice').disabled = false;
	document.getElementById('sa_maxPrice').disabled = false;
	// document.getElementById('sa_minRooms').disabled = true;
	document.getElementById('sa_minLiving').disabled = true;
	document.getElementById('sa_maxLiving').disabled = true;
	// document.getElementById('sa_minBuilding').disabled = true;
	// document.getElementById('sa_maxBuilding').disabled = true;
}

function grundSelected() {
	document.getElementById('sa_minArea').disabled = false;
	document.getElementById('sa_maxArea').disabled = false;
	document.getElementById('sa_minPrice').disabled = false;
	document.getElementById('sa_maxPrice').disabled = false;
	// document.getElementById('sa_minRooms').disabled = true;
	document.getElementById('sa_minLiving').disabled = true;
	document.getElementById('sa_maxLiving').disabled = true;
	// document.getElementById('sa_minBuilding').disabled = true;
	// document.getElementById('sa_maxBuilding').disabled = true;
}

function wohnSelected() {
	document.getElementById('sa_minArea').disabled = true;
	document.getElementById('sa_maxArea').disabled = true;
	document.getElementById('sa_minPrice').disabled = false;
	document.getElementById('sa_maxPrice').disabled = false;
	// document.getElementById('sa_minRooms').disabled = false;
	document.getElementById('sa_minLiving').disabled = false;
	document.getElementById('sa_maxLiving').disabled = false;
	// document.getElementById('sa_minBuilding').disabled = true;
	// document.getElementById('sa_maxBuilding').disabled = true;
}

function industSelected() {
	document.getElementById('sa_minArea').disabled = false;
	document.getElementById('sa_maxArea').disabled = false;
	document.getElementById('sa_minPrice').disabled = false;
	document.getElementById('sa_maxPrice').disabled = false;
	// document.getElementById('sa_minRooms').disabled = true;
	document.getElementById('sa_minLiving').disabled = true;
	document.getElementById('sa_maxLiving').disabled = true;
	// document.getElementById('sa_minBuilding').disabled = false;
	// document.getElementById('sa_maxBuilding').disabled = false;
}

function investSelected() {
	document.getElementById('sa_minArea').disabled = false;
	document.getElementById('sa_maxArea').disabled = false;
	document.getElementById('sa_minPrice').disabled = true;
	document.getElementById('sa_maxPrice').disabled = true;
	// document.getElementById('sa_minRooms').disabled = true;
	document.getElementById('sa_minLiving').disabled = true;
	document.getElementById('sa_maxLiving').disabled = true;
	// document.getElementById('sa_minBuilding').disabled = true;
	// document.getElementById('sa_maxBuilding').disabled = true;
}

function noneSelected() {
	document.getElementById('sa_minArea').disabled = false;
	document.getElementById('sa_maxArea').disabled = false;
	document.getElementById('sa_minPrice').disabled = false;
	document.getElementById('sa_maxPrice').disabled = false;
	// document.getElementById('sa_minRooms').disabled = false;
	document.getElementById('sa_minLiving').disabled = false;
	document.getElementById('sa_maxLiving').disabled = false;
	// document.getElementById('sa_minBuilding').disabled = false;
	// document.getElementById('sa_maxBuilding').disabled = false;
}

//function setDEState(state) {
//	var displayed = document.getElementById('rentsearch');
//	if (displayed != null) {
//		var type;
//		if (displayed.style.display == 'none') {
//			// showing selling
//			type = 'sell';
//		} else if (displayed.style.display == 'block') {
//			// showing rent
//			type = 'rent';
//		}
//	} else {
//		type = 'sell';
//	}
//	var selected = document.getElementById(type + "destate");
//	for ( var i = 0; i < selected.options.length; i++) {
//		if (selected.options[i].value == state) {
//			selected.options[i].selected = true;
//		} else {
//			selected.options[i].selected = false;
//		}
//	}
//}

function setDEState(state) {
	var displayed = document.getElementById('sa_rentsearch');
	if (displayed != null) {
		type = 'rent';		
	} else {
		type = 'sell';
	}
	var selected = document.getElementById("sa_" + type + "destate");
	for ( var i = 0; i < selected.options.length; i++) {
		if (selected.options[i].value == state) {
			selected.options[i].selected = true;
		} else {
			selected.options[i].selected = false;
		}
	}
}

function showImages() {
	var fail = true;
	var divs = $$('div');
	for ( var i = 1; i < divs.length; i++) {
		if (divs[i].getAttribute("class") == "image_print") {
			fail = false;
			divs[i].style.display = '';
		}
	}

	return fail;
	// var divs = document.getElementsByClassName("div");
	// for(var i=0;i<divs.length;i++) {
	// if(divs[i].getAttribute("class") == "image_print") {
	// divs[i].style.display = '';
	// }
	// }

	// var images = document.getElementsByClassName("image_print");
	// for(var i=0;i<images.length;i++) {
	// images[i].style.display = '';
	// }

	// for ( var i = 3; i < document.images.length; i++) {
	// document.images[i].style.display = '';
	// }
}

function hideImages() {
	var fail = true;
	var divs = $$('div');
	for ( var i = 1; i < divs.length; i++) {
		if (divs[i].getAttribute("class") == "image_print") {
			fail = false;
			divs[i].style.display = 'none';
		}
	}

	return fail;
	// var divs = document.getElementsByClassName("div");
	// for(var i=0;i<divs.length;i++) {
	// if(divs[i].getAttribute("class") == "image_print") {
	// divs[i].style.display = 'none';
	// }
	// }

	// var images = document.getElementsByClassName("image_print");
	// for(var i=0;i<images.length;i++) {
	// images[i].style.display = 'none';
	// }

	// for ( var i = 3; i < document.images.length; i++) {
	// document.images[i].style.display = 'none';
	// }
}

function publishCheckboxes() {
	var checked = document.getElementById("sa_publishall").checked;
	for ( var i = 0; i < document.publishlist.elements.length; i++) {
		var element = document.publishlist.elements[i];
		if (element.type == "checkbox") {
			element.checked = checked;
		}
	}
}

function notified() {
	var value = document.getElementById("sa_notifications").checked;
	if (value) {
		document.getElementById("sa_text").checked = value;
		document.getElementById("sa_text").disabled = false;
		document.getElementById("sa_html").disabled = false;
	} else {
		document.getElementById("sa_text").checked = value;
		document.getElementById("sa_text").disabled = true;
		document.getElementById("sa_html").checked = value;
		document.getElementById("sa_html").disabled = true;
	}
}

function countrySelected() {
	var dd = document.getElementById("sa_nation");
	var selected = 'DEU';
	if(dd != null){
		selected = dd.value;
	}

	var displayed = document.getElementById('sa_rentsearch');
	if (displayed) {
		var type;
		if (displayed.style.display == 'none') {
			// showing selling
			type = 'sell';
		} else if (displayed.style.display == 'block') {
			// showing rent
			type = 'rent';
		}
	} else {
		var sellcheck = document.getElementById('sa_sellsearch');
		if(sellcheck) {
			type = 'sell';
		}
		else {
			type = '';
		}
	}
	
	var state = document.getElementById("sa_" + type + "statetr");
	var statedd = document.getElementById("sa_" + type + "destate");
	
	if (selected == "DEU") {
		if(statedd != null){
			statedd.disabled = false;	
		}
		if(state != null){
			state.style.display = "";
		}
	} else {
//		statedd.disabled = true;
		if(statedd != null){
			statedd.options[0].selected = true;			
		}
		if(state != null){
			state.style.display = "none";
		}
	}
}

function switchToSelling() {
	document.getElementById("sa_sellsearch").style.display = 'block';
	document.getElementById("sa_rentsearch").style.display = 'none';
	document.getElementById("sa_sellmode").checked = true;
	document.getElementById("sa_rentmode").checked = false;
	categorySelected('sell');
}

function switchToRent() {
	document.getElementById("sa_sellsearch").style.display = 'none';
	document.getElementById("sa_rentsearch").style.display = 'block';
	document.getElementById("sa_sellmode").checked = false;
	document.getElementById("sa_rentmode").checked = true;
	categorySelected('rent');
}


var __max = 100;
var __min = 0;
var __opacite = __max;
__up = false;
var __IsIE = !!document.all;

function fadeNot() {
	try {
		var ThePic = document.getElementById('info_message');
		if (__opacite < __max && __up) {
			__opacite += 10;
		}
		if (__opacite > __min && !__up) {
			__opacite -= 10;
		}
		// __IsIE ? ThePic.filters[0].opacity = __opacite : document
		// .getElementById('warning_').style.opacity = __opacite / 100;

		document.getElementById('info_message').style.opacity = __opacite / 100;
		
		if (__opacite < __max && __up) {
			__timer = setTimeout('fadeNot()', 50);
		} else if (__opacite > __min && !__up) {
			__timer = setTimeout('fadeNot()', 50);
		} else {
			if (__opacite == __max) {
				__up = false;
			}
			if (__opacite <= __min) {
				__up = true;

				document.getElementById('info_message').style.display = 'none';
			}
			clearTimeout(__timer);
		}
	} catch (error) {
		alert(error.message);
	}
}
