$().ready(function(){
	$.fn.search();
	$.fn.topMenu();
	$.fn.rightMenu();
	$.fn.slide();
	$.fn.homeNews();
	$.fn.map();
	$.fn.content();
	$.fn.glossary();
});

(function($){
	$.extend($.fn, {
		search: function(){
			$('#mot_top').click(function(){
                if ($(this).val() == 'Votre recherche'){
                    $(this).val('');
                }
            }).blur(function(){
                if ($(this).val() === ''){
                    $(this).val('Votre recherche');
                }
            });
            
			$('ul.filter').css('display', 'none');
			$('ul.filter:first').css('display', 'block');
			$('li.filter:first').addClass('open');
			
			$('span.toggle').click(function(){
				var filter = $(this).next(),
					li = $(this).parent();
						
				if (filter.css('display') == 'none'){
					li.addClass('open');
				}
				else {
					li.removeClass('open');
				}
				
				filter.slideToggle('slow');
			});
        },
        
		topMenu: function(){
			var text1 = $('span#tt_menu1 > span').text();
			var text2 = $('span#tt_menu2 > span').text();
			
			$('ul#nav > li.m1').hover(
				function(){
					$('span#tt_menu1 > span').text($(this).children('span.desc').text());
				},
				function(){
					$('span#tt_menu1 > span').text(text1);
				}
			);
				
			$('ul#nav > li.m2').hover(
				function(){
					$('span#tt_menu2 > span').text($(this).children('span.desc').text());
				},
				function() {
					$('span#tt_menu2 > span').text(text2);
				}
			);
		},
		
		rightMenu: function(){
			//on enlève le border bottom du dernier élément
			$('ul.news_list li:last-child').css({borderBottom:'0'});
			$('#bloc_nav2 ul.sub li:last-child').css({background:'none'});
			
			//premier titre bords arrondis dans sidebar
			$('#sidebar > h3:first-child').addClass('first');
			
			// la colonne de droite doit faire toute la hauteur
			$('#content_container #sidebar').css('min-height', ($('#content_container').height()) - 76);
			$('#content_container2 #sidebar[class!=map_absolute][class!=map_only]').css('min-height', ($('#content_container2').height()) - 76);
			$('#content_container2 #sidebar2[class!=map_absolute]').css('min-height', ($('#content_container2').height()) - 300);
			
			if (jQuery.browser.msie){
				if(parseInt(jQuery.browser.version) == 6){
					$('#content_container #sidebar').css('height',($('#content_container').height()) - 78);
					$('#content_container2 #sidebar[class!=map_absolute][class!=map_only]').css('height', ($('#content_container2').height()) - 78);
					$('#content_container2 #sidebar2[class!=map_absolute]').css('height', ($('#content_container2').height()) - 300);
				}
			}
		},
		
		slide: function(){
			var playSlideshow = setInterval('slideSwitch()', 8000);
			
			$('#slide > ul > li').hover(
				function(){
					clearInterval(playSlideshow);
					$('#slide > ul > li').removeClass('on');
					$('#slideshow img').removeClass('active');
					$('#slideshow img[id=img' + $(this).attr('class').substr(9) + ']').addClass('active');
					$(this).addClass('on');
				},
				function(){
					playSlideshow = setInterval('slideSwitch()', 8000);
				}
			);
        },
		
		homeNews: function(){
			$('ul.news_list > li').hover(function(){
				$(this).siblings().removeClass('on');
				$(this).addClass('on');
			});
        },
        
        map: function(){        	
        	var preload = false;
        	
			if (document.images){
        		var map = 1,
					i = 0;
				
				if ($('#uriString').val()){
					map = 2;
				}
				var chemin = $('#ezroot').val() + "map";
				
				url = new Array();
				url[9] =  chemin + map + '/map1.png';
				url[7] =  chemin + map + '/map2.png';
				url[1] =  chemin + map + '/map3.png';
				url[10] = chemin + map + '/map4.png';
				url[3] =  chemin + map + '/map5.png';
				url[2] =  chemin + map + '/map6.png';
				url[4] =  chemin + map + '/map7.png';
				url[8] =  chemin + map + '/map8.png';
				url[5] =  chemin + map + '/map9.png';
				url[0] =  chemin + map + '/map10.png';
				url[6] =  chemin + map + '/map11.png';
				url[11] = chemin + map + '/map12.png';
				url[12] = chemin + map + '/bg_map.png';
				
				while (i < 11){
					tmp = new Image(280, 240)
					tmp.src = url[i];
					
					i++;
				}
				
				preload = true;
			}
			
			$('area').mouseover(function(){
				changeImage($(this).attr('class'), preload);
				showRegion($(this).attr('class'));
			}).mouseout(function(){
				$('#img_map').attr('src', chemin + map + '/bg_map.png');
			}).click(function(){
				//on stocke dans l'attribut 'class', le numero de la région cliquée
				$('img#img_map').attr('class', $(this).attr('class'));
				changeImage($(this).attr('class'), preload);
				showRegion($(this).attr('class'));
			});
			
			$('#img_map').mouseout(function(){
				$('#img_map').attr('src', chemin + map + '/bg_map.png');
			});
			
		},
        
        content: function(){
            $('a.blank').attr('target', '_blank');
			
            $('a.print').click(function(){
            	print();
            	return false;
			});
            
            $('a.favorite').click(function(){
            	var url = window.location,
            		title = document.title;
            		
				if (jQuery.browser.msie){
					window.external.AddFavorite(url, title);
				}
				else if (jQuery.browser.mozilla){
					window.sidebar.addPanel(title, url, '');
				}
				else {
					alert('Utilisez les touches CTRL+D pour ajouter cette page aux favoris.');
				}

				return false;
			});
			
			$('div.left em, div.right em').parent().each(function(){
                $(this).css('width', $('img', this).outerWidth(true));
            });
        },
        
        glossary: function(){
			$('#glossary_list > div[class!=' + $('#letter_list > li.on > a').text() + ']').hide();
			
			/*
			$('#letter_list > li > a').click(function(){
				$('#letter_list > li.on').removeClass('on');
				$(this).parent('li').addClass('on');
				$('#glossary_list > div').hide();
				$('#glossary_list > div.' + $(this).text()).show();
			});
			*/
		}
	})
})(jQuery);

/******************************************************************************/
/*********************************** SLIDE ************************************/
/******************************************************************************/
function slideSwitch() {
	var active = $('#slideshow img.active'),
		next = '';
	
	if (active.length == 0){
		active = $('#slideshow img:last');
	}
	
	if (active.next().length){
		next = active.next();
	}
	else {
		next = $('#slideshow img:first');
	}
	
	active.addClass('last_active');
	
	$('#slide > ul > li').removeClass('on');
	$('#slide > ul > li.slide' + next.attr('id').substr(3)).addClass('on');
	
	next.css({opacity: 0.0})
		.addClass('active')
		.animate({opacity: 1.0}, 500, function(){
			active.removeClass('active last_active');
		});
}

/******************************************************************************/
/************************************* MAP ************************************/
/******************************************************************************/
function changeImage(img_index, preload){
	if (img_index == 0){
		$('img#img_map').attr('src', url[12]);
	}
	else if (document.images && (preload == true)){
		$('img#img_map').attr('src', url[img_index - 1]);
	}
}
	
function showRegion(index){
	$('ul#region_list > li').hide();
	$('ul#region_list > li.reg' + index).show();
}

/******************************************************************************/
/****************************** Info bulle ************************************/
/******************************************************************************/

this.screenshotPreview = function(){    
        /* CONFIG */
                
                xOffset = 10;
                yOffset = 30;
                
                // these 2 variable determine popup's distance from the cursor
                // you might want to adjust to get the right result
                
        /* END CONFIG */
        $("a.screenshot").hover(function(e){
                this.t = this.title;
                this.title = "";        
                var c = (this.t != "") ? "<br/>" + this.t : "";
                $("body").append("<p id='screenshot'><img src='"+ this.rel +"' alt='url preview' />"+ c +"</p>");                                                                
                $("#screenshot")
                        .css("top",(e.pageY - xOffset) + "px")
                        .css("left",(e.pageX + yOffset) + "px")
                        .fadeIn("fast");                                                
    },
        function(){
                this.title = this.t;    
                $("#screenshot").remove();
    }); 
        $("a.screenshot").mousemove(function(e){
                $("#screenshot")
                        .css("top",(e.pageY - xOffset) + "px")
                        .css("left",(e.pageX + yOffset) + "px");
        });                     
};
this.imagePreview = function(){ 
        /* CONFIG */
                
                xOffset = 10;
                yOffset = 30;
                
                // these 2 variable determine popup's distance from the cursor
                // you might want to adjust to get the right result
                
        /* END CONFIG */
        $("a.preview").hover(function(e){
                this.t = this.title;
                this.title = "";        
                var c = (this.t != "") ? "<br/>" + this.t : "";
                $("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");                                                                
                $("#preview")
                        .css("top",(e.pageY - xOffset) + "px")
                        .css("left",(e.pageX + yOffset) + "px")
                        .fadeIn("fast");                                                
    },
        function(){
                this.title = this.t;    
                $("#preview").remove();
    }); 
        $("a.preview").mousemove(function(e){
                $("#preview")
                        .css("top",(e.pageY - xOffset) + "px")
                        .css("left",(e.pageX + yOffset) + "px");
        });                     
};
this.tooltip = function(){      
        /* CONFIG */            
                xOffset = 10;
                yOffset = 20;           
                // these 2 variable determine popup's distance from the cursor
                // you might want to adjust to get the right result             
        /* END CONFIG */                
        $("a.tooltip").hover(function(e){                                                                                         
                this.t = this.title;
                this.title = "";                                                                          
                $("body").append("<p id='tooltip'>"+ this.t +"</p>");
                $("#tooltip")
                        .css("top",(e.pageY - xOffset) + "px")
                        .css("left",(e.pageX + yOffset) + "px")
                        .fadeIn("fast");                
    },
        function(){
                this.title = this.t;            
                $("#tooltip").remove();
    }); 
        $("a.tooltip").mousemove(function(e){
                $("#tooltip")
                        .css("top",(e.pageY - xOffset) + "px")
                        .css("left",(e.pageX + yOffset) + "px");
        });                     
};
$(document).ready(function(){
        tooltip();//active les tooltip simple
        //imagePreview();active les tooltip image preview
        //screenshotPreview();active les tooltip lien avec preview
});

$(document).ready(function(){
	if ($('form.sondage').length > 0){
		$('form.sondage').submit(function() {
	
			$('form.sondage :checked, form.sondage .submit, form.sondage input[type=hidden]').each(function(){
				if ($('#query').attr('value') == ''){
					$('#query').attr('value', [$(this).attr('name'), '=', $(this).attr('value')].join(''));
				}
				else{
					$('#query').attr('value', [$('#query').attr('value'), '&', $(this).attr('name'), '=', $(this).attr('value')].join(''));
				}
			});
	
			$.ajax({
			  type: "POST",
			  url: $('form.sondage').attr('action'),
			  data: $('#query').attr('value'),
			  success: function(data) {
			    window.location.href = document.location.href + 'index.php#sondage';
			  },
			  error:function (XMLHttpRequest, textStatus, errorThrown) {
				  alert(textStatus);
				  alert(XMLHttpRequest.responseText);
				  $('#columnPageCenter').html(XMLHttpRequest.responseText);
				  alert(errorThrown);
				  alert(this);
				},
			  timeout:120000
			});
			 return false;
		});
	}
});

/******************************************************************************/
/*********************************** ANTIDOT **********************************/
/******************************************************************************/
function onSuggestLoad(){
	var suggest = new AFSSuggest(document.getElementById('mot'),
								'http://suggest.antisearch.net/afs.suggest', 242);
	suggest.setPattern('{afs:suggestion}');
	suggest.getFeeds().add('fr');
}