function initTips ()
{
	if ($('body span.det').length == 0)
	{
		$('body').append(
			$('<span class="det"><span class="text"> </span><span class="bl"><img src="/mol/images/carte/bulle.gif" alt="" /></span></span>')
		);

	}

}

function runTips (content, evnt)
{
	var x = (evnt.pageX - 25) < 0 ? 0 : evnt.pageX - 25;
	var y = (evnt.pageY - 40) < 0 ? 0 : evnt.pageY - 40;

	$('.det .text')
		.empty()
		.append(content);

	$('.det')
		.show()
		.css(
			{
					left: x,
					top: y
			}
		)
		.animate(
			{
				opacity: 1
			},
			{
				duration: 500,
				queue: false,
				easing: 'linear'
			}
		);
}

function moveTips(evnt)
{
	var x = (evnt.pageX - 25) < 0 ? 0 : evnt.pageX - 25;
	var y = (evnt.pageY - 40) < 0 ? 0 : evnt.pageY - 40;


	$('.det').css(
		{
			left: x,
			top: y
		}
	);

}

function endTips()
{
	$('.det').css(
		{
			top: '-1000px',
			left: 0,
			opacity: 0
		}
	);
}

// document ready
$(
	function ()
	{
				
		var $regHome =		$('#mapRegionHome');

		var regionArray =			['Aquitaine', 'Midi-Pyren&eacute;es', 'Languedoc-Roussillon', 'Provence-Alpes-C&ocirc;te d\'Azur', 'Auvergne', 'Rh&ocirc;ne-Alpes', 'Limousin', 'Poitou-Charentes', 'Pays de la Loire', 'Centre', 'Bourgogne', 'Franche-Comt&eacute;', 'Alsace', 'Lorraine', 'Champagne-Ardenne', 'Ile-de-France', 'Basse-Normandie', 'Bretagne', 'Haute-Normandie', 'Picardie', 'Nord-Pas-de-Calais', 'Corse', 'R&eacute;union', 'Guyane', 'Martinique', 'Gaudeloupe'];
		var regionId =			[2, 15, 12, 23, 3, 24, 13, 22, 20, 6, 4, 9, 1, 14, 7, 19, 17, 5, 18, 21, 16, 8, 97, 97, 97, 97];
		var imgLength = $('.mapReg img', $regHome).length;
		var count = 0;

		initTips();

		$('.mapReg img', $regHome).each(
			function ()
			{

				var img = new Image();
				img.onload = function ()
				{
					count++;
					if (count == imgLength)
					{

						$('.mapMain', $regHome).fadeIn(500);
						$('.mapLimit', $regHome).show(0);

						// map home.
						$('area', $regHome).each(
							function (index)
							{
								$(this)
									.hover(
										function (e)
										{

											$('.mapReg img', $regHome).eq(index).stop(true, true).fadeIn(1);
											runTips(regionArray[index], e);

										},
										function ()
										{
											$('.mapReg img', $regHome).eq(index).not('.active').stop(true, true).fadeOut(1);
											endTips();
										}
									)
									.mousemove(
										function (e)
										{
											moveTips(e);
										}
									)
									.click(
										function ()
										{
											var n = regionId[index];
											if (n < 10) n = '0' + regionId[index];
						
											if ($('.mapReg img', $regHome).eq(index).hasClass('active')) {
												var rn = localisationsHt.get('reg_' + n);
												var regEl = currentDeptByReg('reg_' + n);
									
												if (regEl < rn.length) {
													selectRegionByArea('reg_' + n);
													//resetSelectTerritoire() ;
													$('.mapReg img', $regHome).eq(index).addClass('active')
												} else {
													selectionRemove('reg_' + n);
													$('.mapReg img', $regHome).eq(index)
													.removeClass('active')
													.stop(true, true).fadeOut() ;
												}
											} else {
												selectRegionByArea('reg_' + n);
												//resetSelectTerritoire() ;
												$('.mapReg img', $regHome).eq(index).addClass('active') ;
											}
						
											return false;
										}

//										function ()
//										{
//											$('.mapReg img', $regHome).eq(index).toggleClass('active');
//
//											// region selectionné.
//											var regionSelected = regionArray[index];
//											var regionSelectedId = regionId[index];
//											// console.info(regionSelected+' '+regionSelectedId);
//											
//											var area = 'reg_'+((regionId[index] < 10) ? '0'+regionId[index] : regionId[index]);
//											var rn = localisationsHt.get(area);
//											var regEl = currentDeptByReg(area);
//											
//											if ($('.mapReg img', $regHome).eq(index).hasClass('active')) {
//												selectRegionByArea(area);
//											} else {
//												selectionRemove(area);
//											}
//
//											return false;
//										}
									);
							}
						);

					}

				}
				img.src = $(this).attr('src');
			}
		);
		
	}
);
