// allow only numeric input
function estate_check_keycode(e) {
	var keycode;
	if (window.event) {
		keycode = window.event.keyCode;
	} else if (e) {
		keycode = e.which;
	} else {
		return true;
	}
	// Zahlen
	if (47 < keycode && keycode < 58) {
		return true;
	}
	// Steuerzeichen
	var kcok = new Array(8, 10, 13, 46, 0);
	while (kcok.length > 0)	{
		if (keycode == kcok.pop()) {
			return true;
		}
	}
	return false;
}
// open popup to add property to user's requests-list
function estate_set_requests(id_object, set, popup_url, ajax_url) {
	if (set) {
		estate_add_request(id_object, ajax_url);
		var set = 1;
	} else {	
		estate_remove_request(id_object, ajax_url);
		var set = 0;
	}
	popup_url = popup_url+"?id_object="+id_object+"&set="+set;
	dub_popup(popup_url, 180, 50, false);		
}
function estate_add_request(id_object, ajax_url) {
	var req = new Ajax.Request(
		ajax_url,
		{
			method: 'get',
			parameters: "id_object=" + id_object + "&set=1",
			onSuccess: eval('estate_add_request2')
		}
	);;
}
function estate_add_request2(answer) {
	var data = eval("("+answer.responseText+")");	
	// make container visible
	document.getElementById('estate_favorites_container').style.display = 'block';
	// add html-element	
	var elem = document.createElement('div');
	elem.className = 'estate_favorites_item';
	elem.setAttribute('id', 'estate_favorites_item'+data.id);
	elem.innerHTML = '<p><a href="'+data.object_link+'"><img class="estate_favorites_item_image" src="'+data.data_url+'/image/small_'+data.image+'" alt="" border="0" width="'+data.img_width+'" height="'+data.img_height+'" /></a></p><a href="'+data.object_link+'">'+data.title+'</a> <a class="estate_remove_favorites" href="javascript:void(0);" onclick="javascript:estate_remove_request('+data.id+', \''+data.plugin_url+'/ajax_set_request.php\')" title="löschen"><img src="'+data.plugin_url+'/symbol_delete.gif" alt="löschen" border="0" /></a>';
	var parent = document.getElementById('estate_favorites');
	parent.appendChild(elem);
	// update button to remove all favorites (add the new favorite)
	var elem = document.getElementById('estate_remove_favorites');
	elem['onclick'] = new Function('estate_remove_all_requests('+data.javascript_ids+', \''+data.plugin_url+'/ajax_remove_all_requests.php\')');
	//elem.setAttribute('onclick', 'javascript:estate_remove_all_requests('+data.javascript_ids+', \''+data.plugin_url+'/ajax_remove_all_requests.php\')');
}



function estate_remove_request(id_object, ajax_url) {
	var req = new Ajax.Request(
		ajax_url,
		{
			method: 'get',
			parameters: "id_object=" + id_object + "&set=0",
			onSuccess: eval('estate_remove_request2')
		}
	);
}
function estate_remove_request2(answer) {
	var data = eval("("+answer.responseText+")");
	var parent = document.getElementById('estate_favorites');	
	var elem = document.getElementById('estate_favorites_item'+data.id);
	parent.removeChild(elem);
	if (!parent.hasChildNodes()) {
		// make invisible
		document.getElementById('estate_favorites_container').style.display = 'none';
	}
	// unset possible checkbox
	var elem = document.getElementById('property_select'+data.id);
	if (elem) {
		elem.checked = false;
	}
	// unset and disable possible checkbox on request-page
	var elem = document.getElementById('property_select_request'+data.id);
	if (elem) {
		elem.checked = false;
		elem.disabled = true;
	}
}
function estate_remove_requests_on_mailsend(data) {
	//for (var id in data) {
	for (var i=0 ; i < data.length; i++ ) {
		var parent = document.getElementById('estate_favorites');	
		var elem = document.getElementById('estate_favorites_item'+data[i]);
		parent.removeChild(elem);
		if (!parent.hasChildNodes()) {
			// make invisible
			document.getElementById('estate_favorites_container').style.display = 'none';
		}
	}
}
function estate_remove_all_requests(data, ajax_url) {
	var parent = document.getElementById('estate_favorites');
	for (var i=0 ; i < data.length; i++ ) {	
		var elem = document.getElementById('estate_favorites_item'+data[i]);
		parent.removeChild(elem);
		if (!parent.hasChildNodes()) {
			// make invisible
			document.getElementById('estate_favorites_container').style.display = 'none';
		}
		// unset possible checkbox
		var elem = document.getElementById('property_select'+data[i]);
		if (elem) {
			elem.checked = false;
		}
		// unset and disable possible checkbox on request-page
		var elem = document.getElementById('property_select_request'+data[i]);
		if (elem) {
			elem.checked = false;
			elem.disabled = true;
		}
	}
	var req = new Ajax.Request(
		ajax_url,
		{
			method: 'get',
			parameters: "id_object=999",
			onSuccess: eval('estate_remove_all_requests2')
		}
	);
}
function estate_remove_all_requests2(answer) {
	//alert(answer.responseText);
	
}