$(function(){
	// Nouvelle fenêtre
	$('a.newWindow').click(function(){
		window.open(this.href); return false;
	});
	
	// Étoiles
	var img0 = new Image(), img1 = new Image();
	var nb_ets = $('#nb_etoiles');
	var ets = $('.etoile');
	var etoiles = $('#etoiles');
	img0.src = '/img/etoile-dis.png';
	img1.src = '/img/etoile.png';
	// Compatibilité non javascript
	etoiles.find('input[type="radio"]').hide().attr('disabled', 'disabled');
	etoiles.find('label').hide();
	ets.show();
	nb_ets.removeAttr('disabled');
	function fillStars(nb){
		ets.attr('src', img0.src);
		for(var i=0; i<nb; i++){ ets[i].src = img1.src; }
	}
	function initStars(){
		if(''!=nb_ets.val()){ fillStars(nb_ets.val()); }
	}
	ets.hover(
		function(){ fillStars(this.alt); }, 
		function(){
			if(!nb_ets.val()){ ets.attr('src', img0.src); }
			else{ fillStars(nb_ets.val()); }
		});
	ets.click(function(){
		if(!nb_ets.val() || (nb_ets.val() && this.alt!=nb_ets.val())){
			nb_ets.val(this.alt);
		}else{
			nb_ets.val('');
			ets.attr('src', img0.src);
		}
	});
	// Initialisation
	initStars();
	
	// 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','a':'a','A':'A','a':'a','C':'C','c':'c','C':'C','c':'c','C':'C','c':'c','C':'C','c':'c','D':'D','d':'d','Ð':'D','d':'d','E':'E','e':'e','E':'E','e':'e','E':'E','e':'e','E':'E','e':'e','E':'E','e':'e','G':'G','g':'g','G':'G','g':'g','G':'G','g':'g','G':'G','g':'g','H':'H','h':'h','H':'H','h':'h','I':'I','i':'i','I':'I','i':'i','I':'I','i':'i','I':'I','i':'i','I':'I','i':'i','?':'IJ','?':'ij','J':'J','j':'j','K':'K','k':'k','L':'L','l':'l','L':'L','l':'l','L':'L','l':'l','?':'L','?':'l','L':'L','l':'l','N':'N','n':'n','N':'N','n':'n','N':'N','n':'n','?':'n','O':'O','o':'o','O':'O','o':'o','O':'O','o':'o','Œ':'OE','œ':'oe','R':'R','r':'r','R':'R','r':'r','R':'R','r':'r','S':'S','s':'s','S':'S','s':'s','S':'S','s':'s','Š':'S','š':'s','T':'T','t':'t','T':'T','t':'t','T':'T','t':'t','U':'U','u':'u','U':'U','u':'u','U':'U','u':'u','U':'U','u':'u','U':'U','u':'u','U':'U','u':'u','W':'W','w':'w','Y':'Y','y':'y','Ÿ':'Y','Z':'Z','z':'z','Z':'Z','z':'z','Ž':'Z','ž':'z','?':'s','ƒ':'f','O':'O','o':'o','U':'U','u':'u','A':'A','a':'a','I':'I','i':'i','O':'O','o':'o','U':'U','u':'u','U':'U','u':'u','U':'U','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,
				position: {
					my: "left top",
					at: "left bottom",
					collision: "none",
					offset: "0 -7"
				}
			});
		}
	});
	
	// search OnSubmit
	$('#search form').submit(function(){
		// Verif champs ville
		if(''==$('#v').val() || $('#v').attr('title')==$('#v').val()){
			alert("Veuillez entrer une ville de recherche.\nVous pouvez spécifier un périmètre auour de la ville à l'aide de la \"Périphérie\".");
			return false;
		}
		
		// 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');
		});
	});
});

$(window).load(function(){
	var bg = $("#background");
	bg.show();
	bg.fullBg();
});
