// JavaScript Document

function resetOptions(id)
{
	var resetText = $(id).readAttribute('reset');
	var o = new Element('option', {
		'value': ''
	}).update(resetText);
	$(id).update(o);
}

function getStates(country)
{
	//If no country chosen, reset options
	if (country.blank()) { resetOptions('state'); resetOptions('city'); return true; }
	
	new Ajax.Request(document.baseURL, {
		method: 'post',
		parameters: {
			'do':'get-options',
			'fx':'get_states',
			'country':country
		},
		onLoading: function(){
			resetOptions('state');
			resetOptions('city');
		},
		onSuccess: function(transport){
			$('state').insert(transport.responseText);
			$('state').firstDescendant().selected = true;
			getOffers();
		},
		onFailure: function(){
			getStates(country);
		}
	});
}

function getCities(country, state)
{
	//If no state chosen, reset options
	if (state.blank()) { resetOptions('city'); return true; }
	
	new Ajax.Request(document.baseURL, {
		method: 'post',
		parameters: {
			'do':'get-options',
			'fx':'get_cities',
			'country':country,
			'state':state
		},
		onLoading: function(){
			resetOptions('city');
		},
		onSuccess: function(transport){
			$('city').insert(transport.responseText);
			$('city').firstDescendant().selected = true;
			getOffers();
		},
		onFailure: function(){
			getCities(country, state);
		}
	});
}

function getOffers()
{
	
	//if ($('city').value.blank()) { return true; }
	
	if (!$('city').value.blank()) {
		$('city').childElements().each(function(e){
			if (e.selected)
			{
				$('result_city_name').update(e.innerHTML);
			}
		});
	}
	else if (!$('state').value.blank()) {
		$('state').childElements().each(function(e){
			if (e.selected)
			{
				$('result_city_name').update(e.innerHTML);
			}
		});	
	}
	else {
		$('country').childElements().each(function(e){
			if (e.selected)
			{
				$('result_city_name').update(e.innerHTML);
			}
		});		
	}
	
	$('results').show();
	
	new Ajax.Request(document.baseURL, {
		method: 'post',
		parameters: {
			'do':'get-properties',
			'country':$('country').value,
			'state':$('state').value,
			'city':$('city').value
		},
		onLoading: function(){
			$('results_content').update('<div class="box" style="text-align: center;"><img src="assets/images/loading.gif" alt="" title="" border="0" /> Loading...</div>');
		},
		onSuccess: function(transport){
			$('results_content').update(transport.responseText);
			setupThumbs();
		},
		onFailure: function(){
			alert("no joy");
			getOffers();
		}
	});
}

function setupThumbs()
{
	$$('.thumb .img').each(function(e){
		e.observe('mouseover', function(){ e.addClassName('hover'); });
		e.observe('mouseout', function(){ e.removeClassName('hover'); });
	});
}