/*
 * Clear the field out using classes
 */
function clearField(id, input_empty){
	var input = $(id);
	if(!input[0]) return;
	if(typeof(input_empty)!='string') input_empty = '';
	input.keyup( 
		function (e) {
			if (input.val().length > 0) {
				input.removeClass();
			}else{
				input.addClass('off');
			}
		}
	);
	input.focus(
		function (e) {
			if (input.val() === input_empty) {
				input.val("").removeClass('off');
			}
		}
	);
	input.blur( 
		function (e) {
			if (input.val() === "") {
				input.val(input_empty).addClass('off');
			}
		}
	);

}

/*
 * Set the default value of the field if nothing is in it
 */
function setDefault(id, defaultValue) {
	var input = $(id);
	if(!input[0]) return;
	if(typeof(defaultValue)!='string') defaultValue = '';
	if (input.val() === "") {
		input.val(defaultValue);
	}
}

/*
 * Check if a element exists by its id
 */
function exists(elementId) {
	if ($(elementId).length > 0) {
		return true;
	}
	return false;
}

function mapHandler() {
	if ($('#map_home').length > 0){
		$('area').each(function(){
			var newHref = $(this).attr('href');
			$(this).attr("href", newHref);
		});
	}
	return true;
}

/*
 * On complete load of the page run the following
 */
$(document).ready(function(){
	
	var defaultNewListingsSearch = "city, state";
	
	// If you change this string, also change the constant
	// SearchController.DEFAULT_SEARCH_TEXT
	var defaultSearch = "destination or listing ID";
	
	var defaultThwEmailInput = "enter email address";
	var defaultDealsSignupInput = "enter email address";
	var defaultPdSignupInput = "enter email address";
	
	mapHandler();
	if (exists('#newlistings-search')) {
		window.setDefault('#newlistings-search', defaultNewListingsSearch);
		window.clearField('#newlistings-search', defaultNewListingsSearch);
	}
	if (exists('#search')) {
		window.setDefault('#search', defaultSearch);
		window.clearField('#search', defaultSearch);
	}
	if (exists('#thw-email-input')) {
		window.setDefault('#thw-email-input', defaultThwEmailInput);
		window.clearField('#thw-email-input', defaultThwEmailInput);
	}
	if (exists('#deals-signup-input')) {
		window.setDefault('#deals-signup-input', defaultDealsSignupInput);
		window.clearField('#deals-signup-input', defaultDealsSignupInput); 
	}
	if (exists('#pd-signup-input')) {
		window.setDefault('#pd-signup-input', defaultPdSignupInput);
		window.clearField('#pd-signup-input', defaultPdSignupInput); 
	}
});

