/**
 *	@file		prdfwc_realestate_properties_search_results.js
 *
 *	@copyright	Copyright(C) 2007 Pantacle, All Rights Reserved.
 *	@copyright	Copyright(C) 2007 Kawanagare workshop, All Rights Reserved.
 */

Event.observe( window, 'load', __prdfwc_realestate_properties_search_results_initialize_controls, false );

function __prdfwc_realestate_properties_search_results_initialize_controls()
{
	var elems = document.getElementsByClassName('PropertiesMultiViewSubmit');
	elems = $A(elems);
	elems.each( function(elem) {
		Event.observe( elem, 'click', ___prdfwc_realestate_properties_multi_view_submit, false );
	});

	var elems = document.getElementsByClassName('PropertiesContactSubmit');
	elems = $A(elems);
	elems.each( function(elem) {
		Event.observe( elem, 'click', ___prdfwc_realestate_properties_contact_submit, false );
	});

	var elems = document.getElementsByClassName('PropertiesMultiContactSubmit');
	elems = $A(elems);
	elems.each( function(elem) {
		Event.observe( elem, 'click', ___prdfwc_realestate_properties_multi_contact_submit, false );
	});

	___prdfwc_realestate_properties_view_gmap();
}


function ___prdfwc_realestate_properties_view_gmap()
{
	var init_zoom = 16;

	$A( document.getElementsByTagName("div")).findAll( function(elem) {
		return ( Element.hasClassName(elem, 'prdfwc_realestate_property_gmap') );
	}).each( function(elem) {
		var geolat = elem.getAttribute('geolat');
		var geolng = elem.getAttribute('geolng');

		googlemap = PrdfwcGooglemap.map_load( elem.id, geolng, geolat, init_zoom );

		if ( ! googlemap )
		{
			Element.setStyle( elem.id, { display:"none" } );
		}
		else
		{
			PrdfwcGooglemap.map_add_control_zoom_large( googlemap );
			PrdfwcGooglemap.map_add_control_overview( googlemap );

			var mp = new GLatLng( geolat, geolng );
			marker = new GMarker( mp );
			googlemap.addOverlay( marker );
		}
	});
}


function ___prdfwc_realestate_properties_multi_view_submit( evt )
{
	param = '';

	$A( document.getElementsByTagName("input")).findAll( function(elem) {
		return ( Element.hasClassName(elem, 'ViewSelects') && ( elem.checked ) );
	}).each( function(elem) {
		if ( param != '' ) { param += '-'; }
		param = param + elem.value;
	});

	Event.stop(evt);

	if ( param != '' )
	{
		var submit_form = $('__properties_view_form');

		submit_form.action = submit_form.action + '/view';

		var param_obj = document.createElement("input");
		param_obj.setAttribute( 'name', 'ids' );
		param_obj.setAttribute( 'type', 'hidden' );
		param_obj.setAttribute( 'value', param );
		submit_form.appendChild( param_obj );

		submit_form.submit();
	}

	evt.returnValue = false;
	return false;
}


function ___prdfwc_realestate_properties_contact_submit( evt )
{
	Event.stop(evt);

	var elem = Event.element( evt );
	var param = elem.getAttribute('property_id');

	if ( param != '' )
	{
		var submit_form = $('__properties_view_form');

		submit_form.action = submit_form.action + '/contacts';
		submit_form.method = 'post';

		var param_obj = document.createElement("input");
		param_obj.setAttribute( 'name', 'ids' );
		param_obj.setAttribute( 'type', 'hidden' );
		param_obj.setAttribute( 'value', param );
		submit_form.appendChild( param_obj );

		submit_form.submit();
	}

	evt.returnValue = false;
	return false;
}


function ___prdfwc_realestate_properties_multi_contact_submit( evt )
{
	param = '';

	$A( document.getElementsByTagName("input")).findAll( function(elem) {
		return ( Element.hasClassName(elem, 'ViewSelects') && ( elem.checked ) );
	}).each( function(elem) {
		if ( param != '' ) { param += '-'; }
		param = param + elem.value;
	});

	Event.stop(evt);

	if ( param != '' )
	{
		var submit_form = $('__properties_view_form');

		submit_form.action = submit_form.action + '/contacts';
		submit_form.method = 'post';

		var param_obj = document.createElement("input");
		param_obj.setAttribute( 'name', 'ids' );
		param_obj.setAttribute( 'type', 'hidden' );
		param_obj.setAttribute( 'value', param );
		submit_form.appendChild( param_obj );

		submit_form.submit();
	}

	evt.returnValue = false;
	return false;
}
