/// sÃ©lection des critÃ¨res de tickest (Que cherchez-vous ?) et des catÃ©gories
/// NB: on laisse les checkboxs (cachÃ©es) pour assurer la compatibilitÃ© au cas oÃ¹
function _toggle_category_label(label) {
    dojo.query("#MainLeft label.category_selection_label").removeClass("checked");
    dojo.addClass(label, "checked");
}
function _toggle_tickets_label(label) {
    dojo.query("#MainLeft label.tickets_selection_label").removeClass("checked");
    dojo.addClass(label, "checked");
}

function _do_search_form_ajax(form) {
    dojo.xhrGet({
	    'url':'/search.php?ajax=1',
		'form':form,
		'form':form,
		'load':function(data) {
		var dest = dojo.byId("dynamic_search_navigation");
		dest.innerHTML = data;
		init_searchengine();
		dojo.parser.parse(dest);
	    }
	});
}

	function moreone(id_shop)
	{
		dojo.xhrGet({
	    "url":"/moreone/" + id_shop + "-xxx/"
		});
	}

function _search_form_handler (ev) {
    dojo.stopEvent(ev);
    _do_search_form_ajax(this);
}

function _is_input_disabled(input) {
    var li = input.parentNode;
    var ul = li.parentNode;
    var div = ul.parentNode;
    return dojo.hasClass(div, "disabled");
}

function _init_search_form_inputs() {	
    // connecte les inputs cachÃ©s aux labels
    if (dojo.isIE) {
	dojo.query("#MainLeft label.tickets_selection_label").forEach(function (label) {
		label.checkbox = dojo.byId(label.htmlFor); 
		dojo.connect(label, "click", function (ev) { 
			this.checkbox.checked = true;
			reset_search_category();
			//_do_search_form_ajax(this.checkbox.form);

			window.location.replace("http://60.alaronde.com/search/" + this.form.q.value + "/" + ev.srcElement.value + "/");
			//alert(this.checkbox.checked);
		    });
	    });
	dojo.query("#MainLeft label.category_selection_label").forEach(function (label) {
		label.checkbox = dojo.byId(label.htmlFor); 
		dojo.connect(label, "click", function (ev) { 
			this.checkbox.checked = true;
			var tickets = "";
			
			if (dojo.byId('id_tickets_any') != null)
				if (dojo.byId('id_tickets_any').checked == true)
					var tickets = dojo.byId('id_tickets_any').value;
					
			if (dojo.byId('id_tickets_all') != null)
				if (dojo.byId('id_tickets_all').checked == true)
					var tickets = dojo.byId('id_tickets_all').value;
					
			if (dojo.byId('id_tickets_new') != null)
				if (dojo.byId('id_tickets_new').checked == true)
					var tickets = dojo.byId('id_tickets_new').value;
					
			if (dojo.byId('id_tickets_last_minute') != null)
				if (dojo.byId('id_tickets_last_minute').checked == true)
					var tickets = dojo.byId('id_tickets_last_minute').value;
				
			window.location.replace("http://60.alaronde.com/search/" + this.form.q.value + "/" + tickets + "/" + ev.srcElement.value + "/0/");
			//this.checkbox.form.submit();
			//alert(this.checkbox.checked);
		    });
	    });
    } else 
	{
		
		dojo.query("#MainLeft input[name=tickets]").forEach(function (input) 
		{
			//Ne permet pas de recliquer que une catégorie deja selectionnée. Util dans le cas ou l'on a selectionné des sous catégories et que l'on désire afficher tous les résultats du choix deja selectionné dans la partie 2
			//dojo.connect(input, "change", function (ev) { if (!_is_input_disabled(this)) reset_search_category(); this.form.submit();});
			//});
			dojo.connect(input, "click", function (ev) 
			{
				if (!_is_input_disabled(this)) 
					reset_search_category(); 
				window.location.replace("http://60.alaronde.com/search/" + this.form.q.value + "/" + ev.target.value + "/");
					//this.form.submit();
			});
		});
		
		dojo.query("#MainLeft input[name=category]").forEach(function (input) 
		{
			dojo.connect(input, "change", function (ev) 
			{ 
				if (!_is_input_disabled(this))
				{
					var tickets = "";
					
					if (dojo.byId('id_tickets_any') != null)
						if (dojo.byId('id_tickets_any').checked == true)
							var tickets = dojo.byId('id_tickets_any').value;
							
					if (dojo.byId('id_tickets_all') != null)
						if (dojo.byId('id_tickets_all').checked == true)
							var tickets = dojo.byId('id_tickets_all').value;
							
					if (dojo.byId('id_tickets_new') != null)
						if (dojo.byId('id_tickets_new').checked == true)
							var tickets = dojo.byId('id_tickets_new').value;
							
					if (dojo.byId('id_tickets_last_minute') != null)
						if (dojo.byId('id_tickets_last_minute').checked == true)
							var tickets = dojo.byId('id_tickets_last_minute').value;
							
					window.location.replace("http://60.alaronde.com/search/" + this.form.q.value + "/" + tickets + "/" + ev.target.value + "/0/");
					//this.form.submit();
				}
			});
		});
	
    }
}

function _suggestions_response_handler(response, args) {
    function _format_city(city) {
	return city['zipcode']+" "+city['city_name'];
    }
    function _format_departement(data) {
	return data['number']+" "+data['departement'];
    }

    var div = dojo.byId("city_suggestions");
    div.innerHTML = '';

    if (!response.length) return;

    var ul = document.createElement("ul");
    for (var i=0; i<response.length; i++) {
	var data = response[i];
	var li = document.createElement("li");
	var a = document.createElement("a");
	
	if (data['id_city'])
	    a.innerHTML = _format_city(data);
	else
	    a.innerHTML = _format_departement(data);
	
	a.href = 'http://60.alaronde.com/search/' + a.innerHTML + '/any/';
	
	a.input = dojo.byId("id_q");
	dojo.connect(a, "click", function (ev) {
		this.input.value = this.innerHTML;
		_do_search_form_ajax(this.input.form);
	});
	dojo.connect(a, "click", function (ev) {
		this.input.value = this.innerHTML;
		this.input.form.submit();
	});

	li.appendChild(a);
	ul.appendChild(li);
    }
    div.appendChild(ul);
}

function _suggestions_error_handler() {
	return "";
}

var next_suggestions_query = "";

function _suggestions_do_search() {
    if (next_suggestions_query) {
	dojo.xhrGet({
		'url': "/json_cities.php?q="+next_suggestions_query,
		    'method':'get',
		    'handleAs':'json',
		    'mimetype': "text/json",
		    'load':_suggestions_response_handler,
		    'error':_suggestions_error_handler
		    });
		}
    next_suggestions_query = "";
}


function _suggestions_handler(ev) {
    next_suggestions_query = this.value;
    setTimeout(_suggestions_do_search, 500);
}

function _init_search_form_suggestions() {
    dojo.connect(dojo.byId("id_q"), "keyup", _suggestions_handler);
}

function reset_search_category() {
    var form = dojo.query("#MainLeft form")[0];
		if (!form) return;
		dojo.query("#MainLeft input[name=category]").forEach(function (input) {
						input.checked = false;
				});
		form.submit();
}

function init_searchengine () {
    // Ajax
    var form = dojo.query("#MainLeft form")[0];
		if (!form) return;
    dojo.connect(form, "submit", _search_form_handler);
    _init_search_form_suggestions();
    _init_search_form_inputs();
}

dojo.addOnLoad(init_searchengine);

