$(document).ready(function() {
	
	//Permet de rendre les regions sur la carte n'ayant pas au moin un enseigne non clickable
	$.getJSON(j_basepath+'index.php?module=contact&action=contactFo_chargeListeIdRegions',function(toIdRegions){
		jQuery('area[@href^=#]').each(function(){
			
			//area en question
			temp = ($(this).attr('href')).split('#');
			iRegionId = temp[1];
			
			if (!in_array(iRegionId, toIdRegions)){
				$(this).remove();
			}
			
		});
		
	});
	
	//Lors du chargement 
	$('#departement').removeOption(/./);
	$('#departement').addOption(0,'--Département--',false);

	//chargement du departement correspondant a la region selectionnée (ONCHANGE)
	jQuery('#region').change(function(){
		
		$('#departement').removeOption(/./);
		$('#departement').addOption(0,'--Département--',false);
		iRegionId = $(this).val();
		
		$.getJSON(j_basepath+'index.php?module=contact&action=contactFo_chargeListeDepartements',{region:iRegionId},function(toDepartements){
			
			var select = $('#departement');
			
			$(select).each(function(){
				var o = this.options;
				var oL = o.length;
				
				for (department_id in toDepartements){
					//alert(toDepartements[department_id].departement_nom);
					$('#departement').addOption(toDepartements[department_id].departement_id,toDepartements[department_id].departement_nom ,false);
					//$('#departement').addOption(toDepartements[department_id].departement_id,toDepartements[department_id].departement_nom ,false);
					//$('#departement').val(toDepartements[department_id].department_id);
					
				}
			});
			
		});
	});
	
	//On click d'un area de la carte on fait la recherche pa région	
	jQuery('area[@href^=#]').click(function(){
		temp = ($(this).attr('href')).split('#');
		iRegionId = temp[1];
		
		//submit form
		$('#region').val(iRegionId) ;
		$('#frm_rechercheContact').submit();
	});
	
	
});

function in_array(needle, haystack, strict) {
	    // http://kevin.vanzonneveld.net
	    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	    // *     returns 1: true
	 
	    var found = false, key, strict = !!strict;
	 
	    for (key in haystack) {
	        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
	            found = true;
	            break;
	        }
	    }
 
   	 return found;
}
