// Email Spam hiding.
function popMail(host,user) {
	var acct = user +'@'+ host;
	self.location.href = 'mailto:'+ acct;
}
function linkMail(host,user,cls) {
	document.write('<a href="javascript:popMail(\''+ host +'\',\''+ user +'\');"');
	if (cls) {
		document.write(' class="'+ cls +'"');
	}
	document.write('>');
	showMail(host,user);
	document.write('</a>');
}
function showMail(host,user) {
	var acct = user +'@'+ host;
	document.write(acct);
}

function disableButton(id)
{
	$('nav_item_' + id).removeClassName('on');
}

function enableButton(id)
{
	$('nav_item_' + id).addClassName('on');
}

function showVideo(mls, id)
{
	_showMedia(mls,id,'video')
}

function showPicture(mls, id)
{
	//880
	_showMedia(mls,id,'picture')
}

function hideAll(mls,type)
{
	var on = $$('#feature_' + mls + ' .full .' + type);
	on.each(function(elm){
		if(elm.visible()) {
			Effect.Fade(elm.identify(), { duration: .25 });
		}
	});
}

function _showMedia(mls,id,type)
{
	//alert($('feature_08-4163').getWidth());
	hideAll(mls,'picture');
	hideAll(mls,'video');
	Effect.Appear(type + '_' + id, { duration: .25 });
}

var feature_slider_position = 1;
var hasMoved = navigator.userAgent.indexOf("Firefox") > 0 ? true : false;

function featureSlider(direction)
{
	if(direction == 'previous') {
		if(feature_slider_position != 1) {
			switchFeature(feature_slider_position - 1);
		}
	} else if(direction == 'next') {
		if(feature_slider_position != max_feature_slider_position) {
			switchFeature(feature_slider_position + 1);
		}
	}
}

function switchFeature(new_feature_slider_position)
{
	var change = feature_slider_position - new_feature_slider_position;
	var position = (change * 890);
	if(feature_slider_position == 1 && false == hasMoved) {
		position = position + 5;
		hasMoved = true;
		$('features_all').setStyle({marginTop: '5px'});
	}
	if(new_feature_slider_position > feature_slider_position) {
	}
	if(new_feature_slider_position != feature_slider_position) {
		new Effect.Move($('features_all'), { x: position });
	}
	_setPositionLink(new_feature_slider_position);
}

function _setPositionLink(new_feature_slider_position)
{
	$('feature_select_' + feature_slider_position).removeClassName('on');
	$('feature_select_' + new_feature_slider_position).addClassName('on');
	feature_slider_position = new_feature_slider_position;
}

function expandRegion(id)
{
	id = id + '_description';
	elm = $(id);
	var visible = elm.visible();
	_shrinkRegions();
	
	if(!elm.visible() && false == visible) {
		Effect.BlindDown(id, { duration: .25 });
	}
}

function _shrinkRegions()
{
	var divs = $$('#region_info li div');
	divs.each(function(elm){
		if(elm.visible()) {
			Effect.BlindUp(elm.identify(), { duration: .25 });
		}
	})
}

function clearField(elm,text)
{
	if(elm.value == text) {
		elm.value = '';
	}
}

function resetField(elm,text)
{
	if(elm.value == '') {
		elm.value = text;
	}
}

function submitShortContact()
{
	var name = $F('short_contact_input_name') == 'Name:' ? '' : $F('short_contact_input_name');
	var email = $F('short_contact_input_email') == 'Email:' ? '' : $F('short_contact_input_email');
	var phone = $F('short_contact_input_phone') == 'Phone:' ? '' : $F('short_contact_input_phone');
	var url = '/contact/submit?form=short&name=' + name + 
			  '&email=' + email + 
			  '&phone=' + phone;
	new Ajax.Request(url, {
		  method: 'post',
		  onSuccess: function(response) {
		    $('short_contact_form').innerHTML = response.responseText;
		  },
		  onFailure: function(response) {
			    $('short_contact_error').innerHTML = 'There was an error submitting the form.<br />Please try again later.';
			    $('short_contact_error').setStyle({display: 'block'});
			  }
		});

}

function toggleSearchOption(id)
{
	var parent = $(id);
	var optionsDiv = $('options_' + id)
	
	if(optionsDiv.visible()) {
		_hideSearchOption(parent,optionsDiv);
	} else {
		_hideAllSearchOptions();
		_showSearchOption(parent,optionsDiv)
	}
}

function closeOptions()
{
	_hideAllSearchOptions();
}

function _getOptionsDiv(id)
{
	var optionsDivs = $$('#' + id + ' .property_search_options');
	return optionsDivs[0];
}

function _hideAllSearchOptions()
{
	var parents = $$('#property_search_inner .property_option.selected');
	parents.each(function(elm){
		_hideSearchOption(elm,_getOptionsDiv(elm.identify()));
	});
}

function _hideSearchOption(parent,optionsDiv)
{
	parent.removeClassName('selected');
	optionsDiv.hide();
	$$('.home_right.selected,.home_left.selected').each(function(elm){
		elm.removeClassName('selected');
	});
}

function _showSearchOption(parent,optionsDiv)
{
	parent.addClassName('selected');
	var ancestors = parent.ancestors();
	ancestors[0].addClassName('selected');
	optionsDiv.show();
}

function changeSelect(id)
{
	var selects = $$('#' + id + ' select');
	var selected = null;
	selects.each(function(elm){
		if(elm.getValue() == 0 && selected == null) {
			selected = false;
		} else if(elm.getValue() > 0) {
			selected = true;
		}
	});
	var span = $$('#' + id + ' span.add');
	span[0].innerHTML = true == selected ? 'Edit' : 'Add';
}

function changeInput(id)
{
	var inputs = $$('#' + id + ' input');
	var selected = null;
	inputs.each(function(elm){
		if(elm.checked == false && selected == null) {
			selected = false;
		} else if(elm.checked == true) {
			selected = true;
		}
	});
	var span = $$('#' + id + ' span.add');
	span[0].innerHTML = true == selected ? 'Edit' : 'Add';
}

function clearSearch(id)
{
	var selects = $$('#' + id + ' select');
	selects.each(function(elm){
		elm.selectedIndex = 0;
	});
	var inputs = $$('#' + id + ' input');
	inputs.each(function(elm){
		elm.checked = false;
	});
	
	var span = $$('#' + id + ' span.add');
	span[0].innerHTML = 'Add';
}

function searchReset()
{
	var sections = $$('.property_option');
	sections.each(function(elm){
		clearSearch(elm.identify());
	});
}

function submitSearch()
{
	var regions = _getSearchCheckboxes('#options_towns_and_neighborhoods input');
	var types = _getSearchCheckboxes('#options_property_type input');
	var features = _getSearchCheckboxes('#options_features_and_amenities .features input');
	var amenities = _getSearchCheckboxes('#options_features_and_amenities .amenities input');
	var minprice = $F('search_price_min');
	var maxprice = $F('search_price_max');
	var beds = $F('search_beds');
	var baths = $F('search_baths');
	
	var qs = '/';
	
	if(false != regions) {
		qs += 'regions/' + regions + '/';
	}
	if(false != types) {
		qs += 'types/' + types + '/';
	}
	if(false != features) {
		qs += 'features/' + features + '/';
	}
	if(false != amenities) {
		qs += 'amenities/' + amenities + '/';
	}
	if(minprice > 0) {
		qs += 'minprice/' + minprice + '/';
	}
	if(maxprice > 0) {
		qs += 'maxprice/' + maxprice + '/';
	}
	if(beds > 0) {
		qs += 'beds/' + beds + '/';
	}
	if(baths > 0) {
		qs += 'baths/' + baths + '/';
	}
	url = '/jackson-hole-property/search' + qs;
	window.location = url;
	
}

function _getSearchCheckboxes(selector)
{
	var inputs = $$(selector);
	var selectedInputs = new Array();
	var x = 0;
	inputs.each(function(input){
		if(input.checked) {
			selectedInputs[x] = input.value.replace(/\//g,'\\');
			x++;
		}
	});
	if(selectedInputs.length > 0) {
		return selectedInputs.join('|');
	}
	return false;
}

function enableTab(elm)
{
	_hideContent();
	_deactivateTabs();
	$(elm).addClassName('on');
	var classes = String($(elm).classNames());
	classes = classes.split(' ');
	$(classes[1]).show();
}

function _hideContent()
{
	var contents = $$('#tabs_container .content .citem');
	contents.each(function(content){
		if(content.visible()) {
			content.hide();
		}
		
	});
}

function _deactivateTabs()
{
	var tabs = $$('#tabs_container .tabs .tab');
	tabs.each(function(tab){
		tab.removeClassName('on');
	});
}

function propertyLeftSetHeight()
{
	$('property_left').setStyle({height: $('property_detail').getHeight() + 'px'});
}

function expander(elm)
{
	$$('ul.on div.expander').each(function(expander){
		if(expander.visible()) {
			Effect.BlindUp(expander.identify(), { duration: .5 });
			var parents = $(expander).ancestors();
			parents[1].removeClassName('on');
		}
	});
	
	var parents = $(elm).ancestors();
	$(elm).siblings().each(function(item){
		if(item.hasClassName('expander')) {
			if(!item.visible()) {
				Effect.BlindDown(item.identify(), { duration: .5 });
				parents[1].addClassName('on');
			}
		}
	});
	return false;
}

function swapOverviewImage(id)
{
	$$('#overview_images .container .full div').each(function(img){
		if(img.visible()) {
			Effect.Fade(img.identify(), { duration: .25 });
		}
	});
	Effect.Appear('img_' + id, { duration: .25 });
	return false;
}

function playVideo()
{
	var video = { movie:"http://www.circumerrovideo.com/v/c/programid=133540&projectid=43375",
			   width:"510",
			   height:"330",
			   majorversion:"8",
			   build:"0",
			   wmode:"transparent",
			   bgcolor: "none",
			   quality: "high",
			   allowFullScreen: "true",
			   align: "middle" };
	UFO.create(video,'video_container');
}

  function featureToggle(onElm, offElm)
  {
        $(onElm).addClassName('on');
        $(onElm + 'Link').addClassName('on');
        $(onElm + 'Cell').setStyle({
                              display: 'block'
                          });
                          
        $(offElm).removeClassName('on');
        $(offElm + 'Link').removeClassName('on');
        $(offElm + 'Cell').setStyle({
                              display: 'none'
                          });
  }