
		/*-----------------------------------------------------------------------------
		 
			Javascript pour le composant "js/telephone/tarifs-telephonie"
			(c)Maecia.com
			
		-----------------------------------------------------------------------------*/
				
		
			var overflowOffset = 0;
			var overflowHeight = 0;
			var lettersOffset = {};
			var countriesOffset = {};
		
			$(document).ready(function() {
			
				initializeMap();
				
				// affiche la zone 1
				setTimeout('showZoneWithCountries(1)', 250);
			
			});
			
			/* initialise la carte */
			function initializeMap()
			{
				/* construction du tableau des offset pour les lettres de la liste des pays */
				var o = $('#content .content-left .list .overflow');
				overflowOffset = o.offset().top;
				overflowHeight = o.height();
				
				/* activation du plugin maphilight */
				$('.tarifs-map').maphilight({
					fade: false,
					alwaysOn: true
				});
				
				/* click sur un pays dans la liste */
				$('#tarifs-pays li a').livequery('click', function() {
					var pays = /pays-([0-9]+)/.exec($(this).attr('class'));
					showCountry(pays[1]);
				});
				$('#content .content-bottom ul li a').livequery('click', function() {
					var pays = /pays-([0-9]+)/.exec($(this).attr('class'));
					showCountryNoReset(pays[1]);
				});
				
				/* click sur une zone */
				$('#content .content-right .zones ul li a').livequery('click', function() {
					var zone = /zone-([0-9]+)/.exec($(this).attr('class'));
					showZoneWithCountries(zone[1]);
				});
				
				/* click sur une lettre de l'index */
				$('#content .content-left .alpha li a').livequery('click', function() {
					$("#content .content-left .alpha li a.selected").removeClass('selected');
					$(this).addClass('selected');
					
					resetList();
					var e = $('#tarifs-pays');
					var x = $('#tarifs-pays .letter-' + $(this).text().toUpperCase()).offset().top;
					var t = parseInt(e.css('top')) - (x - overflowOffset);
					var max = - (e.height() - overflowHeight);
					animateList(t < max ? max : t, 1000, false);
				});
				
				/* click sur la fleche "haut" dans liste des pays */
				$('#content .content-left .list .previous').click(function() {
					var el = $('#tarifs-pays');
					if(el.height() > overflowHeight) {
						var t = parseInt(el.css('top')) + 200;
						if(t > 0) t = 0;
						animateList(t, 500);
					}
				});
				
				/* click sur la fleche "bas" dans liste des pays */
				$('#content .content-left .list .next').click(function() {
					var el = $('#tarifs-pays');
					if(el.height() > overflowHeight) {
						var t = parseInt(el.css('top')) - 200;
						var max = - (el.height() - $('#content .content-left .list .overflow').height());
						animateList(t < max ? max : t, 500);
					}
				});
			}
			
			/* affiche un pays sans reset la liste des pays */
			function showCountryNoReset(id)
			{
				highlightCountriesInList('pays-' + id);
				showCountryPrices(id);
				$('.tarifs-map').maphilight('pays-' + id);
				
				var e = $('#tarifs-pays');
				var x = $('#tarifs-pays .pays-' + id).offset().top;
				var z = x - overflowOffset;
				animateList(parseInt(e.css('top')) - z, 1000);
			}
		
			/* affiche un pays en resetant la liste des pays */
			function showCountry(id)
			{
				resetList();
				$('#content .content-bottom').html('');
				$('#content .content-right .zones ul li a.selected').removeClass('selected');
				showCountryNoReset(id);
			}
			
			/* affiche une zone */
			function showZone(id)
			{
				showZoneInList(id);
				$('.tarifs-map').maphilight('zone-' + id);
				
				var html = '';
				if(id == 1) {
					html += '<div class="zone" style="width: 40%"><span>Inclus dans votre forfait</span></div>'
						  + '<div class="fixe" style="width: 30%">Fixe: <span>Inclus</span></div>'
						  + '<div class="fixe" style="width: 30%">Mobile: sélectionnez un pays</div>';
				}
				else {
					for(k in tarifs.zones) {
						if(tarifs.zones[k].id == id) {
							
							if(typeof(tarifs.zones[k].tarifs) != 'undefined') {
								html += '<div class="zone" style="width: 40%"><span>' + tarifs.zones[k].name + '</span></div>'
									  + '<div class="fixe" style="width: 30%">Fixe: <span>' + tarifs.zones[k].tarifs.fixe + '</span> €/min</div>'
									  + '<div class="fixe" style="width: 30%">Mobile: <span>' + tarifs.zones[k].tarifs.mobile + '</span> €/min</div>';
							}
							else {
								html += '<div class="zone" style="width: 100%"><span>' + tarifs.zones[k].name + '</span></div>';
							}
							
							break;
						}
					}
				}
				
				$('#content .content-right .tarifs .inner').html(html);
			}
		
			/* affiche une zone et ses pays */
			function showZoneWithCountries(id)
			{
				showZone(id);
				filterCountriesInList('zone-' + id);
				
				var pays = [];
				for(k in tarifs.pays) {
					if(tarifs.pays[k].zone == id) {
						pays[pays.length] = tarifs.pays[k];
					}
				}
				
				var h2;
				for(k in tarifs.zones) {
					if(tarifs.zones[k].id == id) {
						h2 = tarifs.zones[k].name;
						break;
					}
				}
				var html = '<h2>Liste des destinations: <span class="bold">' + h2 + '</span></h2><ul>';
				var col = parseInt(pays.length / 4);
				for(var i = 0, j = 0; i < pays.length; i++, j++) {
					html += '<li><a href="javascript:void(0)" title="' + pays[i].name + '" class="pays-' + pays[i].id + '">' + pays[i].name + '</a></li>';
					if (j == col) {
						html += '</ul><ul>';
						j = 0;
					}
				}
				html += '</ul>';
				$('#content .content-bottom').html(html);
			}
			
			/* reset la liste des pays */
			function resetList()
			{
				$('#tarifs-pays li').each(function() {
					$(this).css('display', 'block');
					$(this).find('a').removeClass('selected');
				});
			}
			
			/*  anime la liste des pays et met à jour l'highlight de l'index */
			function animateList(top, duration, index)
			{
				if(index == null || typeof(index) == 'undefined') index = true;
				
				$('#tarifs-pays').animate({'top': top}, duration, "linear", function() {
					if(index) {
						$('#tarifs-pays .letter').each(function() {
							var t = $(this).offset().top;
							if(t >= overflowOffset && t <= overflowOffset + 275) {
								var letter = /letter-([A-Z])/.exec($(this).attr('class'));
								$("#content .content-left .alpha li a.selected").removeClass('selected');
								$("#content .content-left .alpha li a:contains('" + letter[1] + "')").addClass('selected');
							}
						});
					}
				});
			}
		
			/* filtre les pays dans la liste */
			function filterCountriesInList(cssClass)
			{
				$("#content .content-left .alpha li a.selected").removeClass('selected');
				$("#content .content-left .alpha li a:contains('A')").addClass('selected');
				$('#tarifs-pays').css('top', 0);
				$('#tarifs-pays li').each(function() {
					$(this).find('a').removeClass('selected');
					if($(this).find('a').hasClass(cssClass)) {
						$(this).css('display', 'block');
					}
					else {
						$(this).css('display', 'none');
					}
				});
			}
			
			/* highlight des pays dans la liste */
			function highlightCountriesInList(cssClass)
			{
				$('#tarifs-pays li a, #content .content-bottom ul li a').each(function() {
					if($(this).hasClass(cssClass)) {
						$(this).addClass('selected');
					}
					else {
						$(this).removeClass('selected');
					}
				});
			}
			
			/* highlight une zone dans la liste des zones */
			function showZoneInList(id)
			{
				$('#content .content-right .zones ul li a').each(function() {
					if($(this).hasClass('zone-' + id)) {
						$(this).addClass('selected');
					}
					else {
						$(this).removeClass('selected');
					}
				});
			}
			
			/* affiche les tarifs pour un pays */
			function showCountryPrices(id)
			{
				for(k in tarifs.pays) {
					if(tarifs.pays[k].id == id) {
						var tf = tarifs.pays[k].tarifs.fixe;
						var tm = '<span>' + tarifs.pays[k].tarifs.mobile + '</span> €/min';
						if(id == 1) {
							tm = '<a href="/adsl/pdf/tarifs-mobiles-numeros-speciaux.pdf"><span>Cliquez ici</span></a>';
						}
						$('#content .content-right .tarifs .inner').html(
							//+ (tarifs.pays[k].zone == 1 ? 'Inclus dans votre forfait' : 'Zone ' + tarifs.pays[k].zone) + '</span></div>'
							'<div class="zone"><span>' + tarifs.zones[tarifs.pays[k].zone - 1].name + '</span></div>'
							+ '<div class="pays">' + tarifs.pays[k].name + '</div>'
							+ '<div class="fixe">Fixe : ' + (tf == 0 ? '<span>Inclus</span>' : '<span>' + tf + '</span> €/min') + '</div>'
							+ '<div class="mobile">Mobile: ' + tm + '</div>');
						break;
					}
				}
			}
		
		
	