//console = loadFirebugConsole();


// function _format_city(city) {
// 		return city['zipcode']+" "+city['city_name'];
// }

// function city_lookup_json_handler(cities) {
// 		if (cities.length==1 && this.value.length>3) {
// 				this.value = _format_city(cities[0]);
// 		} else {
// 				this.completion.empty();
// 				if (cities.length) {
// 						this.completion.addClass("active");
// 						var completion_list = new Element("ul").injectInside(this.completion);
// 						for (var i=0; i<cities.length; i++) {
// 								var li = new Element("li").injectInside(completion_list);
// 								var anchor = new Element("a", {'href':"#"});
// 								anchor.input = this;
// 								anchor.innerHTML = _format_city(cities[i])
// 										anchor.addEvent("click", function(ev) { 
// 														this.input.value=this.innerHTML; 
// 														this.input.completion.empty(); 
// 														this.input.completion.removeClass("active");
// 												});
// 								anchor.injectInside(li);
// 						}
// // 						var close_button = new Element("a", {'href':"#"});
// // 						close_button.injectInside(new Element("li").injectInside(completion_list));
// // 						close_button.innerHTML = "fermer";
// // 						close_button.completion = this.completion;
// // 						close_button.addEvent("click", function("ev") { this.completion.removeClass("active"); });
// 				}
// 		}
// }

// function city_lookup_handler(ev) {
// 		ev = new Event(ev);
// 		if (this.value.length>=2) {
// 				var req = new Request.JSON({'url':"/json/city/?q="+this.value, 'method':"get", 'onComplete':city_lookup_json_handler.bind(this)});
// 				req.send();
// 		}
// }

function _init_city_completion() {
		if (typeof(Autocompleter)=="undefined" ||
				Browser.Engine.trident)  // disabled for IE
				return;
    new Autocompleter.Request.JSON('id_city', '/json/city/autocomplete/', {
						'postVar': 'city', 'method':'get', 'markQuery':false, 'relative':true, 'overflow':true
    });
}

function init_autolabels() {
		function _set_input_default(input, initial_text) {
				if (!input || (input.value && input.value!=initial_text)) return;
				input.addEvent("focus", function () { if (this.value == initial_text) this.value = ''; this.removeClass("inactive"); });
				input.addEvent("blur", function () { if (this.value == '') { this.value = initial_text; this.addClass("inactive");}});
				input.value = initial_text;
				input.addClass("inactive");
				function _reset() {
						if (input.value==initial_text) {
								input.value = '';
						}
				}
				$(input.form).addEvent("submit", _reset);
		}
		$$("INPUT.autolabel, TEXTAREA.autolabel").each(function(input) {
						var label = input.title;
						input.title = '';
						_set_input_default(input, label);
				});
}


function init_search() {

				// search form city completion
				if ($('id_city')) {
						_init_city_completion();
// 						var city = $('id_city');
// 						var completion = new Element("div", {'id':'city_completion'}).injectAfter(city);
// 						city.completion = completion;
// 						$('search_form').addEvent("click", function (ev) { completion.removeClass("active"); });
// 						city.setProperty("autocomplete", "off");
// 						city.addEvent("keyup", city_lookup_handler.bind(city));
				}

				// preselected keywords
				$$('#id_keywords').each(function (keywords) {
						keywords.addEvent("keydown", function (ev) { this.addClass("typed");});
						$$('.place_type_example').each(function(a) {
										a.addEvent("click", function (ev) {
														new Event(ev).stop();
														var kw=keywords; 
														var prefix = "";
														if (kw.hasClass("typed"))
																prefix = (kw.value?kw.value+' ':'');
														kw.value = prefix+this.innerHTML+' '; 
														kw.focus(); 
												});
								});
						});


				function suggestion_handler(ev) {
						ev = new Event(ev);
						ev.stop();
						var a = this;
						var input = $('id_keywords_small');
						if (!input) return;
						input.value = $(a).get("text");
						input.form.submit();
				}
				$$('.suggestion_link').each(function(a) {
								a.addEvent("click", suggestion_handler);
						});

}

function init_openables() {
		function _init_openables(div) {
				var open_button = div.getElement(".open_button");
				var close_button = div.getElement(".close_button");
				if (open_button)
						open_button.addEvent("click", 
																 function (ev) { 
																		 new Event(ev).stop(); 
																		 div.addClass("open"); });
				if (close_button)
						close_button.addEvent("click", 
																	function (ev) { 
																			new Event(ev).stop(); 
																			div.removeClass("open"); });
		}
		$$(".openable_container").each(_init_openables);
}

function init_contact_form() {
		var contact_form = $('contact-form');
		if (!contact_form) return;
		if (!contact_form['name'].value) contact_form['name'].focus();
		else if (!contact_form['email'].value) contact_form['email'].focus();
		else if (!contact_form['body'].value) contact_form['body'].focus();
}

window.addEvent("domready", init_autolabels);
window.addEvent("domready", init_search);
window.addEvent("domready", init_openables);
window.addEvent("domready", init_contact_form);

