/* dynaBG - by Monkey Monk *//* use : $('.background').dynaBG({ src:'img/background.jpg' }); */
(function($){
	$.fn.dynaBG = function(options){
		var opts = $.extend({},$.fn.dynaBG.defaults,options);
		var numberOfPics = opts.src.length;
		var currentPosition = 0;
		var interval;
		var inject = false;
		var actuallyPlayed=false;
		initialize(this);
		function initialize(obj){
			var display = 'display:none;';
			if(opts.put != '') inject = true;
			if(!inject){
				for(var i=0; i<opts.src.length; i++){
					if(i==0)
						display = 'display:block;';
					else
						display = 'display:none;';
					//obj.append('<div class="item" style="background:url('+opts.src[i]+') 50% 50% no-repeat;width:100%;height:100%;z-index:'+(opts.src.length-i)+';'+display+'"></div>');
					obj.append('<div class="item" style="z-index:'+(opts.src.length-i)+';'+display+'overflow:hidden;"><img src="'+opts.src[i]+'" style="display:block;" /></div>');
					redimImg();
				}
				if(opts.lectureAuto && opts.src.length > 1){ playDynaBG(obj); }
			}
			if(inject){ stopDynaBG(obj); }
			
			$(window).bind('stop',function(){
				if(actuallyPlayed)
					stopDynaBG(obj);
			});
			$(window).bind('play',function(){
				if(opts.src.length > 1 && !actuallyPlayed)
					playDynaBG(obj);
			});
			$(window).resize(function(){
				redimImg();
			})
		}
		function next(obj){
			if(currentPosition == (numberOfPics-1)){
				obj.children('.item:eq('+currentPosition+')').animate({'opacity':'0.0'}, opts.transition);
				currentPosition = 0;
				obj.children('.item:eq('+currentPosition+')').animate({'opacity':'1.0'}, opts.transition);
			}
			else {
				obj.children('.item:eq('+currentPosition+')').animate({'opacity':'0.0'}, opts.transition);
				obj.children('.item:eq('+(currentPosition+1)+')').animate({'opacity':'1.0'}, opts.transition)
				currentPosition++;
			}
		}
		function playDynaBG(obj){
			actuallyPlayed=true;
			obj.children('.item:eq('+currentPosition+')').animate({'opacity':'1.0'}, opts.transition);
			setInterval(function(){obj.children('.item:eq('+(currentPosition+1)+')').css('display','block');},opts.attente-2000);
			interval = setInterval(function(){ next(obj); },opts.attente);
		}
		function stopDynaBG(obj){
			actuallyPlayed=false;
			if(opts.put != ''){
				clearInterval(interval);
				$('.background').empty().append('<div class="item" style="z-index:8;display:block;overflow:hidden;"><img src="'+opts.put+'" style="display:block;" /></div>');
				redimImg();
			}else{
				clearInterval(interval);
			}
		}
		
		function redimImg(){
			var ratio = 1.5;
			if(windowW() > (windowH()*ratio)){
				var newHeight = windowW()/ratio;
				var newWidth = newHeight*ratio;
				$('.item img').removeAttr('height').attr({'width':newWidth,'height':newHeight});
			}
			else {
				var newWidth = windowH()*ratio;
				var newHeight = newWidth/ratio;
				$('.item img').removeAttr('height').attr({'width':newWidth,'height':newHeight});
			}
		}
				
		function find_ratio(width,height) {
			width = to_i(width);
			height = to_i(height);
			var ratio = width/height;
			ratio = ratio.toFixed(2);
			return ratio;
		}
		function max_follows_width(pageWidth,ratio){
			width = pageWidth - (opts.leftSpace + opts.rightSpace); // Page Width minus leftSpace and rightSpace
			height = width/ratio;
		}
		function max_follows_height(pageHeight,ratio){
			height = pageHeight - (opts.topSpace + opts.bottomSpace);  // Page Height minus topSpace and bottomSpace
			width = height*ratio;
		}

	};
	$.fn.dynaBG.defaults = {
		src : [''],
		put : [''],
		transition : 2000,
		attente : 10000,
		lectureAuto : false
	}
})(jQuery);
/* preLoad - by Monkey Monk *//* use : .preLoad('img/background02.jpg','img/background03.jpg','img/background04.jpg'); */
(function($){  $.preLoad = function() {    for (var i = 0; i<arguments.length; i++) {      img = new Image();      img.src = arguments[i];    }    return this;  };})(jQuery);
/* showHide - by Monkey Monk *//* use : */
(function($){
  $.fn.showHide = function(options){
    var opts = $.extend({},$.fn.showHide.defaults,options);
    var obj = this;
	var color = 0;
    initialize(obj);
	
    function initialize(obj){
	  //ajout des images de fermeture et reduction de la box
	  obj.before('<a class="close" href="#" title="'+opts.textClose+'">close</a><a class="minimize" href="#" title="'+opts.textMinimize+'">minimize</a>');
	  //arret clignotement du bouton de menu et affichage de la box au clic
	  
	  $('#navigation .active').click(function(){
		if(opts.hide || opts.minimize){
			showing(obj); 
			color=-1; 
			$(this).css({'background-color':'#014B3E'}); 
			return false;
		}
	  });
	  
	  $('#information .active').click(function(){
		if(opts.hide || opts.minimize){
			showing(obj); 
			color=-1; 
			$(this).css({'background-color':'#014B3E'}); 
			return false;
		}
	  });
	  	  
      if(opts.pause)
        hiding(obj, true);
    }
	
    $('.minimize').click(function(){
      if(opts.minimize)        
	  	showing(obj);
      else
	  	hiding(obj, false);
	  return false;
    });
	
    $('.close').click(function(){
      if(opts.hide)
	  	showing(obj);
      else
	  	hiding(obj, true);
	  return false;
    });
	

    function hiding(obj, totallyClose){
	  // fermeture totale ou partielle de la box
	  if(totallyClose){
	  	opts.hide = true;
      	$('.closeBox').slideUp();
		// affichage des bouton fermeture et réduction de box
		$('.close,.minimize').fadeOut();
	  }else{
	  	opts.minimize = true;
	  	$('.minimizeBox').slideUp();
	  }
	  // si demande de pause
      if(opts.pause){
		// clignotement du menu
		changeColor();
		//arret clignotement du bouton de menu et affichage de la box au clic
        if(opts.time!=-1){
			var interval = setTimeout(function(){showing(obj);color=-1; $('#navigation .active').css({'background-color':'#014B3E'}); opts.pause = false;}, opts.time);
      	}
	  }
	  // lancement du diaporama
	  $(window).trigger('play');
    }

    function showing(obj){
      opts.hide = false;
	  opts.minimize = false;
      $('.closeBox,.minimizeBox').slideDown();
      $('.close').attr('title',opts.textClose).css({'background-color':'transparent'}).fadeIn();
	  $('.minimize').attr('title',opts.textMinimize).css({'background-color':'transparent'}).fadeIn();
	  // arret du diaporama
	  $(window).trigger('stop');
    }
	// changement de couleur du bouton de menu
	function changeColor(){
		if (color == 0) {
			color = 1;
			$('#navigation .active').css({'background-color':'#007C67'});
			setTimeout(function(){changeColor()}, 1300);
		}
		else if(color == 1){
			color=0;
			$('#navigation .active').css({'background-color':'#014B3E'});
			setTimeout(function(){changeColor()}, 1800);
		}
	}
	
    return this;
  };
  $.fn.showHide.defaults = {
    textClose : 'Click to close',
    textMinimize : 'Click to minimize',
    pause : false,
    time : 3500,
    hide : false,
	minimize : false,
	color : '#00967d'
  };
})(jQuery);
/* infoBulle by Monkey Monk *//* use : $.infoBulle(); */
(function($){
  $.fn.infoBulle = function(options){
    var opts = $.extend({},$.fn.infoBulle.defaults,options);
    var obj;
    var show = true;
    $('.map_transparency').css('height','615px');
    var bulles = '';
    var liens = '';
    var notes = '';
    for(var i=0;i<$('#map_info ul li').length;i++){
      liens += '<a id="tooltipLink_'+i+'" class="tooltip" href="'+$('#map_info ul li#tooltipButton_'+i+' a').attr('href')+'"><img width="45" height="45" style="float:none;margin:0;" src="http://www.citadellededinant.be/Public/img/alpha.gif" alt="" /></a>';
      $('#map_info ul li#tooltipButton_'+i+' a').replaceWith('');
      notes += '<div id="tooltipNote_'+i+'" class="mention" style="display:none;background:none;">'+$('#map_info ul li#tooltipButton_'+i+' p').html()+'</div>';
      bulles += '<div id="tooltipPanel_'+i+'" class="infoBulle">'+$('#map_info ul li#tooltipButton_'+i+'').html()+'</div>';
    }
    $('#map_info').remove();
    $('img.planinteractif').after(liens);
    $('#switch_menu').after(notes);
    $('.background').after(bulles);
    $('a.tooltip').hover(function(e){
      obj = this.id.substring(12);
      $('#tooltipPanel_'+obj).css({'display':'block','top':(e.pageY - opts.xOffset) + 'px','left':(e.pageX + opts.yOffset) + 'px','z-index':'999'}).fadeIn('fast');
      },
    function(){
      obj = this.id.substring(12);
      $('#tooltipPanel_'+obj).css({'display':'none'});
    });
    $('a.tooltip').mousemove(function(e){
      obj = this.id.substring(12);
      $('#tooltipPanel_'+obj).css({'top':(e.pageY - opts.xOffset) + 'px','left':(e.pageX + opts.yOffset) + 'px'});
    });
    $('a.tooltip').click(function(){
      obj = this.id.substring(12);
      $('.background').dynaBG({ put:this.href });
      $('h1').css({'cursor':'pointer','background':'url(img/mapup.gif) 20px 20px no-repeat'});
      return false;
    });
    $('h1').click(function(){
      if(show == true){
        $('h1').next().slideUp('normal');
        $('#switch_menu').hide();
        $('div[id=tooltipNote_'+obj+'].mention').css({'display':'block','margin-bottom':'auto','color':'#FFFFFF','line-height':'24px'});
        $('#footer').hide();
        $('h1').css({'cursor':'pointer','background':'url(http://www.citadellededinant.be/Public/img/mapdown.gif) 20px 20px no-repeat'});
        show = false;
      }
      else {
        $('h1').next().stop().slideDown('normal');
        $('#switch_menu').show();
        $('div[id=tooltipNote_'+obj+'].mention').css('display','none');
        $('#footer').show();
        $('h1').css({'cursor':'pointer','background':'url(http://www.citadellededinant.be/Public/img/mapup.gif) 20px 20px no-repeat'});
        show = true;
      }
    });
    return this;
  };
  $.fn.infoBulle.defaults = {
    xOffset : 250,
    yOffset : -10
  };
})(jQuery);
/* makeGalerie */ /* use : $('#galerie').makeGalerie(); */
(function($){
  $.fn.makeGalerie = function(options){
	var opts = $.extend({},$.fn.makeGalerie.defaults,options);
	var numberOfPics = this.children().children().length;
	var titres = new Array();
	var images = new Array();
	var descriptions  = new Array();
	initialize(this);
	function initialize(obj){
		var width = 600;
		var height = 400;
		var maskOpacity = 0.6;
		obj.css('display','none');
		var theme = '<div id="lightbox"><div id="lightbox_content"><div id="lightbox_close"><img src="http://www.citadellededinant.be/Public/img/close.png" alt="close" /></div><div id="lightbox_visual"></div><div id="lightbox_menu"><ul></ul><br style="height:0;clear:both;" /></div></div></div><div id="lightbox_shade"></div>"';
		$('body').append(theme);
		obj.before('<a class="bouton" href="#" title="'+opts.voirGalerie+'">'+opts.voirGalerie+'</a>');
		$('#lightbox_visual img').css('opacity','0.6');
		for(var i=0;i<obj.children().children().length;i++){
			images[i] = new Image();
			titres[i] = obj.find('li:eq('+i+')').children('h3').html();
			images[i].src = obj.find('li:eq('+i+')').children('img').attr('src');
			images[i].alt = obj.find('li:eq('+i+')').children('img').attr('alt');
			descriptions[i] = obj.find('li:eq('+i+')').children('p').html();
			$('#lightbox_menu ul').append('<li><img src="'+images[i].src+'" alt="'+images[i].alt+'" height="50" title="'+images[i].alt+'" height="50" style="display:block;" /></li>');
		}
		$('#lightbox_visual').append('<img src="'+images[0].src+'" alt="'+images[0].alt+'" />');
		$('#lightbox_menu ul li:eq(0) img').css('opacity','0.6');
		$('#lightbox_menu ul li img').click(function(){
			$('#lightbox_menu ul li img').css('opacity','1.0');
			swap($(this));
			centre();
		});
		$('.bouton').click(function(){
			centre();
			$('#lightbox_shade').show();
			$('#lightbox').fadeIn();
			//$(window).trigger('stop');
			return false;
		});
		$('#lightbox_close').click(function(){
			$('#lightbox').fadeOut();
			$('#lightbox_shade').hide();
			//$(window).trigger('play');
			return false;
		});
		$(window).resize(function(){
			centre();
		});
		$(window).scroll(function(){
			centre();
		});
	}
	function swap(obj){
		obj.css('opacity','0.6');
		$('#lightbox_visual img').hide();
		$('#lightbox_visual img').attr({'src':obj.attr('src'),'alt':obj.attr('alt'),'title':obj.attr('title')}).fadeIn();
	}
	function centre(){
		$('#lightbox').animate({'left':(windowW() - ($('#lightbox').width()/2)),'top':(windowH()/2 - $('#lightbox').height()/2)},500);
	}
	function windowH(){
		if(window.innerHeight) return window.innerHeight;
		else return $(window).height();
	}
	function windowW(){
		if(window.innerWidth) return window.innerWidth;
		else return $(window).width();
	}
	return this;
  }
  $.fn.makeGalerie.defaults = {
	currentPosition : 1,
	voirGalerie : 'Voir la galerie'
  }
})(jQuery);

function to_i(i){
	last = parseInt(i);
	return last;
}
function windowH(){
	if(window.innerHeight) return window.innerHeight;
	else return $(window).height();
}
function windowW(){
	if(window.innerWidth) return window.innerWidth;
	else return $(window).width();
}

// formulaire Newsletter
var submitFormulaire=false;

$(window).ready(function(){
	$('#email').checkMail();
	submitForm();
});

(function($){
	$.fn.checkMail = function(options){
		var obj = this;
		var opts = $.extend({}, $.fn.checkMail.defaults, options);
		
		var tempValue=obj.attr("value");
		obj.click(function(e){
			cleanLabel(obj, tempValue);
			submitFormulaire=true;
		});
		obj.blur(function(e){
			checkResetLabel(obj, tempValue);
		});
	};
	$.fn.checkMail.defaults = {};
})(jQuery);

function submitForm(){
	formSubmitInProgress = false;
	$('form').submit(function(e) {
		e.preventDefault();
		if (formSubmitInProgress)
			return false;
		else if(submitFormulaire){
			formSubmitInProgress = true;
			jQuery.post(
				$(this).attr('action'),
				$(this).serialize(),
				function(response){
					if (response.success){
						//formSubmitInProgress = false;
						$('.success').fadeIn();
						$('#email').attr('value','');
					}else{
						formSubmitInProgress = false;
						$('.error').fadeIn();
					}
				},
				'json'
			);
		}
	});
}

function cleanLabel(target, defaultLabel){
	if (target.attr("value") == defaultLabel)
		target.attr("value","");
}
function checkResetLabel(target, defaultLabel){
	if (target.attr("value") == "") {
		target.attr("value", defaultLabel);
		submitFormulaire=false;
	}
}

