// copy to clipboard 
var clip_html;
var clip_bbcode;
var draggable_tf = false;
var maps_show_bubble = false;
var map;
var marker;

function initClipboard()
{
	clip_html = new ZeroClipboard.Client();
	clip_html.setHandCursor(true);
	clip_html.addEventListener('mouseOver', copyClipboard('html'));	
	clip_html.addEventListener('complete', my_complete);
	clip_html.glue('clip_button_html');

	clip_bbcode = new ZeroClipboard.Client();
	clip_bbcode.setHandCursor(true);
	clip_bbcode.addEventListener('mouseOver', copyClipboard('bbcode'));
	clip_bbcode.addEventListener('complete', my_complete);
	clip_bbcode.glue('clip_button_bbcode');
}			

function copyClipboard(type)
{
	var url = $('url').value;
	var title = document.title;
	if (type == 'html') 
	{
		text = '<a href="' + url + '">' + title + '</a>';
		clip_html.setText(text);
	}
	else 
	{
		text = '[url=' + url + ']' + title + '[/url]';
		clip_bbcode.setText(text);
	}
}

function my_complete()
{
	$('url').select();	
}


function ft_judet_onchange()
{
	var j_id =  $V('ft_j_id');
	
	$('ft_loading_cities').show();
	var url = "/imobiliare/filter_load.php";
	new Ajax.Request
		(
			url, 
			{
				method: 'post', 
				parameters: 'silent=1&cmd=LoadCitiesList&j_id='+j_id,
				onSuccess: 
					function(transport)
					{
						$('ft_loading_cities').hide();
						if(transport.responseText != '')
						{
							$('filter_cities_container').update(transport.responseText);
							$('filter_cities_container').show();
						}
					}
			}
		);
}

function ft_cities_onchange()
{
	var j_id = $V('ft_j_id');
	var oras_id = $V('ft_oras_id');
	var url = "/imobiliare/filter_load.php";

	$('ft_loading_zones').show();
	new Ajax.Request
		(
			url, 
			{
				method: 'post', 
				parameters: 'silent=1&cmd=LoadZonesList&j_id='+j_id+'&oras_id=' + oras_id,
				onSuccess: 
					function(transport)
					{
						$('ft_loading_zones').hide();
						if(transport.responseText != '')
						{
							$('filter_zones_container').update(transport.responseText);
							$('filter_zones_container').show();
						}
					}
			}
		);
}

function ft_update_zone()
{
	var max_text_length = 26;
	var oras_id = $V('ft_oras_id');
	var tp = '';
	if (oras_id == '' || oras_id == 0 ) tp = 'localitate';
	else tp = 'zonă';

	var new_zones_text = '';
	var new_zones_hidden = '';
	$$('input.ft_zona_bifa').each(function(el)
		{
			if (el.checked)
			{
				new_zones_text += el.value + ', ';
				new_zones_hidden += el.value + '|';
			}
		}
	);

	if (new_zones_hidden == '') new_zones_text = 'orice ' + tp;
	else
	{
		new_zones_hidden = new_zones_hidden . substr(0, new_zones_hidden.length-1);
		new_zones_text = new_zones_text . substr(0, new_zones_text.length-2);

		if (new_zones_text.length > max_text_length) new_zones_text = new_zones_text.substr(0, max_text_length) + ' ...';		
	}
	$('ft_zone_selectate').value = new_zones_hidden;
	$('ft_zonele_selectate_text').innerHTML = new_zones_text;
}

function select_all_offers()
{
	$$('input.cmp_cbox').each(function(el)
	{
		el.checked = true;
	});
}

function deselect_all_offers()
{
	$$('input.cmp_cbox').each(function(el)
	{
		el.checked = false;
	});
}

function compare_check()
{
	cmp_offers = 0;
	$$('input.cmp_cbox').each(function(el)
	{
		if ( el.checked ) cmp_offers++
	});

	if (cmp_offers > 1) return true;
	else
	{
		alert('Trebuie să alegi minim 2 anunţuri pentru a putea folosi comparatorul.');
		return false;
	}
}

function rss_lighten(obj)
{
	obj.src = '/_img/rsscolor_16.gif';
}

function rss_darken(obj)
{
	obj.src = '/_img/rss_16.gif';
}

function google_maps_initialize()
{
	if (GBrowserIsCompatible()) 
	{
		var crt_lat;
		var crt_lng;
		var zoom_level = parseInt($('o_map_zoom_level').value);
		var drag_text = "Trage de acest marker pentru a-l poziţiona deasupra proprietăţii tale."
		map = new GMap2(document.getElementById("map_canvas"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());

		var center = new GLatLng($('o_map_lat').value, $('o_map_lng').value);
		map.setCenter(center, zoom_level);
		map.setMapType(G_HYBRID_MAP);

		marker = new GMarker(center, {draggable: draggable_tf});

		GEvent.addListener(marker, "dragstart", function() {
			map.closeInfoWindow();
		});

		GEvent.addListener(marker, "dragend", function() {
			//marker.openInfoWindowHtml(drag_text);
		});

		GEvent.addListener(marker, "drag", function() {
			crt_lat = marker.getLatLng().lat();
			crt_lng = marker.getLatLng().lng();
			$('o_map_lat').value = crt_lat;
			$('o_map_lng').value = crt_lng;
		});

		map.addOverlay(marker);
		if (maps_show_bubble) marker.openInfoWindowHtml(drag_text);

	}
}

function reset_google_map(lat, lng)
{
	if (GBrowserIsCompatible()) 
	{
		var center = new GLatLng(lat, lng);
		map.setCenter(center, 13);
		marker.setLatLng(center);
		map.closeInfoWindow();
		$('o_map_lat').value = lat;
		$('o_map_lng').value = lng;
	}
}

function update_marker_center()
{
	if (GBrowserIsCompatible()) 
	{
		var center = map.getCenter();
		var lat = center.lat();
		var lng = center.lng();
		marker.setLatLng(center);
		$('o_map_lat').value = lat;
		$('o_map_lng').value = lng;
	}
}

function live_maps_initialize()
{
	var zoom = parseInt($('o_map_zoom_level').value);
	var lat =  $('o_map_lat').value;
	var lng =  $('o_map_lng').value;
	map = new VEMap('map_canvas');
	map.LoadMap(new VELatLong(lat, lng), zoom ,'h' ,false);
	// E disponibil birdseye?
	map.AttachEvent("onobliqueenter", OnObliqueEnterHandler);
}

function OnObliqueEnterHandler()
{
	if(map.IsBirdseyeAvailable())
	{
		var TopOfNeedle = new VELatLong($('o_map_lat').value, $('o_map_lng').value);
		map.SetBirdseyeScene(TopOfNeedle);
	}
}

function toggle_more_filters()
{
	var hf = $('secondary_filters');
	var hf_link_text = $('hf_text');
	var hf_link_icon = $('hf_icon');
	if (hf.style.display == 'none')
	{
		// show filters
		hf_link_text.innerHTML = 'Ascunde filtrele suplimentare';
		hf_link_icon.src = '/_img/generic/gen_close.png';
		hf.style.display = 'block';
	}
	else
	{
		// hide filters
		hf_link_text.innerHTML = 'Mai multe filtre';
		hf_link_icon.src = '/_img/generic/gen_closed.png';
		hf.style.display = 'none';
	}

	hf_link_text.title = hf_link_text.innerHTML;
	return false;
}