$(function(){
	var inputs = $('input[type=text]').not('#aff_ta, #aff_tb');
	var tb = $('#tb');
	var tb_chk = $('#tb_chk');
	var tb_down = $('#tb_down');
	var aff_tb = $('#aff_tb');
	var ta = $('#ta');
	var ta_chk = $('#ta_chk');
	var ta_down = $('#ta_down');
	var aff_ta = $('#aff_ta');
	
	// Inputs
	inputs.addClass('df');
	inputs.focus(function(){ if($(this).hasClass('df')){ $(this).val(''); $(this).removeClass('df'); } });
	inputs.blur(function(){
		if('v'!=this.id || 'none'==$('.ui-autocomplete').css('display')){
			if(!$(this).hasClass('df') && ''==this.value){
				this.value=this.title; $(this).addClass('df');
			} 
		}
	});
	$('#search label, #search #submit').css('cursor', 'pointer');
	$('#aff_ta, #aff_tb').css('cursor', 'default');
	
	// search OnSubmit
	$('#search').submit(function(){
		// Nettoyage des variables envoyées
		$(this).find('input[type=text]').each(function(){ 	if(this.title==this.value) 	$(this).attr('disabled', 'disabled'); });
		$(this).find('input[type=hidden]').each(function(){ 	if(''==this.value) 			$(this).attr('disabled', 'disabled'); });
	});
	
	// Liste déroulante type de bien
	tb_down.toggleClass('dn');
	tb.toggleClass('dn');
	tb_chk.find('input').removeAttr('disabled');
	$('#tb_select').toggleClass('dn').attr('disabled', 'disabled');
	tb.hover(
		function(){
			if(!tb_down.hasClass('opened')){
				tb_down.addClass('down');
				tb_chk.show();
				tb_down.addClass('opened');
			}},
		function(){
			tb_down.removeClass('down');
			if(tb_down.hasClass('opened')) tb_chk.hide(0, function(){ tb_down.removeClass('opened'); });
	});
	tb_chk.find('input').change(tb_chk_change);
	
	function tb_chk_change(){
		var value = '';
		var i=0;
		tb_chk.find('input:checked').each(function(){
			if(i) value += ', ';
			value += $(this).next().html();
			i++;
		});
		aff_tb.val(value);
		if(''==aff_tb.val())
			aff_tb.val(aff_tb.attr('title'));
	}
	
	// Liste déroulante type de prestation
	ta_down.toggleClass('dn');
	ta.toggleClass('dn');
	ta_chk.find('input').removeAttr('disabled');
	$('#ta_select').toggleClass('dn').attr('disabled', 'disabled');
	ta.hover(
		function(){
			if(!ta_down.hasClass('opened')){
				ta_down.addClass('down');
				ta_chk.show();
				ta_down.addClass('opened');
			}},
		function(){
			ta_down.removeClass('down');
			if(ta_down.hasClass('opened')) ta_chk.hide(0, function(){ ta_down.removeClass('opened'); });
	});
	ta_chk.find('input').change(ta_chk_change);
	
	function ta_chk_change(){
		var value = '';
		var i=0;
		ta_chk.find('input:checked').each(function(){
			if(i) value += ', ';
			value += $(this).next().html();
			i++;
		});
		aff_ta.val(value);
		if(''==aff_ta.val())
			aff_ta.val(aff_ta.attr('title'));
	}
	
	// Input ville
	var accentMap={'À':'A','Á':'A','Â':'A','Ã':'A','Ä':'A','Å':'A','Æ':'AE','Ç':'C','È':'E','É':'E','Ê':'E','Ë':'E','Ì':'I','Í':'I','Î':'I','Ï':'I','Ð':'D','Ñ':'N','Ò':'O','Ó':'O','Ô':'O','Õ':'O','Ö':'O','Ø':'O','Ù':'U','Ú':'U','Û':'U','Ü':'U','Ý':'Y','ß':'s','à':'a','á':'a','â':'a','ã':'a','ä':'a','å':'a','æ':'ae','ç':'c','è':'e','é':'e','ê':'e','ë':'e','ì':'i','í':'i','î':'i','ï':'i','ñ':'n','ò':'o','ó':'o','ô':'o','õ':'o','ö':'o','ø':'o','ù':'u','ú':'u','û':'u','ü':'u','ý':'y','ÿ':'y','Ā':'A','ā':'a','Ă':'A','ă':'a','Ą':'A','ą':'a','Ć':'C','ć':'c','Ĉ':'C','ĉ':'c','Ċ':'C','ċ':'c','Č':'C','č':'c','Ď':'D','ď':'d','Đ':'D','đ':'d','Ē':'E','ē':'e','Ĕ':'E','ĕ':'e','Ė':'E','ė':'e','Ę':'E','ę':'e','Ě':'E','ě':'e','Ĝ':'G','ĝ':'g','Ğ':'G','ğ':'g','Ġ':'G','ġ':'g','Ģ':'G','ģ':'g','Ĥ':'H','ĥ':'h','Ħ':'H','ħ':'h','Ĩ':'I','ĩ':'i','Ī':'I','ī':'i','Ĭ':'I','ĭ':'i','Į':'I','į':'i','İ':'I','ı':'i','Ĳ':'IJ','ĳ':'ij','Ĵ':'J','ĵ':'j','Ķ':'K','ķ':'k','Ĺ':'L','ĺ':'l','Ļ':'L','ļ':'l','Ľ':'L','ľ':'l','Ŀ':'L','ŀ':'l','Ł':'L','ł':'l','Ń':'N','ń':'n','Ņ':'N','ņ':'n','Ň':'N','ň':'n','ŉ':'n','Ō':'O','ō':'o','Ŏ':'O','ŏ':'o','Ő':'O','ő':'o','Œ':'OE','œ':'oe','Ŕ':'R','ŕ':'r','Ŗ':'R','ŗ':'r','Ř':'R','ř':'r','Ś':'S','ś':'s','Ŝ':'S','ŝ':'s','Ş':'S','ş':'s','Š':'S','š':'s','Ţ':'T','ţ':'t','Ť':'T','ť':'t','Ŧ':'T','ŧ':'t','Ũ':'U','ũ':'u','Ū':'U','ū':'u','Ŭ':'U','ŭ':'u','Ů':'U','ů':'u','Ű':'U','ű':'u','Ų':'U','ų':'u','Ŵ':'W','ŵ':'w','Ŷ':'Y','ŷ':'y','Ÿ':'Y','Ź':'Z','ź':'z','Ż':'Z','ż':'z','Ž':'Z','ž':'z','ſ':'s','ƒ':'f','Ơ':'O','ơ':'o','Ư':'U','ư':'u','Ǎ':'A','ǎ':'a','Ǐ':'I','ǐ':'i','Ǒ':'O','ǒ':'o','Ǔ':'U','ǔ':'u','Ǖ':'U','ǖ':'u','Ǘ':'U','ǘ':'u','Ǚ':'U','ǚ':'u','Ǜ':'U','ǜ':'u','Ǻ':'A','ǻ':'a','Ǽ':'AE','ǽ':'ae','Ǿ':'O','ǿ':'o',' ':'-'}
	var normalize = function(term){
		var ret = "";
		for(var i = 0; i < term.length; i++)
			ret += accentMap[ term.charAt(i) ] || term.charAt(i);
		return ret;
	};
	$.ajax({
		url: "/ajax/ville.php",
		dataType: "xml",
		success: function(xmlResponse){
			var data = $("ville", xmlResponse).map(function() {
				return {
					id: $(this).attr('id'),
					value: $(this).text()+' ('+$(this).attr('cp')+')'
				};
			}).get();
			$("#v").autocomplete({ 
				source: function(request, response){
					var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
					response($.grep(data, function(value){
						value = value.value;
						return matcher.test(value) || matcher.test(normalize(value));
					}));
				}, minLength: 0
			});
		}
	});
	
	// Curseur Périphérie
	var pe = $('#pe');
	var pe_value = 1;
	if(''!=pe.val() && 0<pe.val() && 30>pe.val()) pe_value = pe.val();
	$('#peslider').slider({ range: "min", value: pe_value, min: 1, max: 30, slide: function(event, ui) {
		var input = $(this).prev().find('input');
		input.val(ui.value);
	}});
});
