$(function(){
	// initialize scrollable
	$(".scrollable").scrollable({
		items: '.items-bons',
		next: '.next-bons',
		prev: '.prev-bons'
	});
	
	
	/*gal1 = $('div.G1').gallery({
		duration: 500,
		autoRotation: 5000,
		listOfSlides: 'div.title-gallery-holder > ul > li'
	});	*/
	gal2 = $('div.carousel').gallery({
		duration: 500,
		autoRotation: 5000,
		listOfSlides: 'div.carousel-content > ul > li'                
	});
        
	oSliderHome = $('#sliderHome').gallery({
			duration: 500,
			autoRotation: 5000,
			nextBtn: '.link-next',
			prevBtn: '.link-prev',
			listOfSlides: 'div.gallery-content > ul > li',
                        after:function(){
                                $('#sliderHome .gallery-points li').removeClass('active');
                                $('#sliderHome .gallery-points li').eq(oSliderHome.active).addClass('active');
			}                        
		});
         var pointsString = '<li class="active" rel="0" >&#9679;</li>';
         for (i = 1; i <= oSliderHome.count;  i++) {             
             pointsString += ('<li rel="' + i + '">&#9679;</li>');
         }
	 $('#sliderHome .gallery-points').append(pointsString);
         $('#sliderHome .gallery-points li').click(function (){            
             oSliderHome.goTo($(this).attr('rel'));
         });
         
         
	$('div.G9').each(function(){
		$(this).gallery({
			duration: 500,
			autoRotation: false,
			nextBtn: '.link-next',
			prevBtn: '.link-prev',
			listOfSlides: 'div.gallery-content > ul > li'
		});
	});
	$('div.G10').each(function(){
		$(this).gallery({
			duration: 500,
			autoRotation: false,
			activeElement: Math.floor(Math.random()* $('div.G10 div.gallery-content > ul > li').length ),			
			listOfSlides: 'div.gallery-content > ul > li'
		});
	});
	
	
		
	gal3 = $('div.G3').gallery({
		duration: 500,
		autoRotation: 5000,
		listOfSlides: 'div.title-gallery-holder > ul > li',
		after:function(){
			$('div.G3').find('div.number').text((gal3.active/gal3.options.slideElement+1)+'/'+(gal3.count+1)/gal3.options.slideElement)
		}
	});
	

	
	
	
	if($('div.G3').length){
		$('div.G3').find('.number').html('1/' + $('div.G3 .title-gallery-holder > ul > li').length);
	}
	if(!$('div.slideshow').hasClass('video-slideshow') && !$('div.slideshow').hasClass('G4')){
		gal4 = $('div.slideshow').gallery({
			duration: 500,
			circle:false,
			disableBtn: 'invisible',
			nextBtn: '#next-slide',
			prevBtn: '#prev-slide',
			listOfSlides: 'div.slideshow-holder > ul > li',
			switcher:'div.slideshow-switcher > div.switcher-list ul > li',
			sw:function(){
				if(gal4.switcher.index(gal4.switcher.filter('.active')) == 10) gal5.prevBtn.trigger(gal5.options.event);
				if(gal4.switcher.index(gal4.switcher.filter('.active')) == 11) gal5.nextBtn.trigger(gal5.options.event);
			},
			heightSwitch: true,
			after:function(){
				$('div.slideshow').find('strong.slide-number').text((gal4.active/gal4.options.slideElement+1)+'/'+(gal4.count+1)/gal4.options.slideElement);
			}
		});
		if($('div.slideshow').length){
			$('div.slideshow').find('strong.slide-number').html('1/' + $('div.slideshow div.slideshow-holder > ul > li').length);
		}
		gal5 = $('div.slideshow-switcher:not(.header)').gallery({
			duration: 500,
			slideElement: 6,
			circle: false,
			disableBtn: 'invisible',
			nextBtn: 'a.arrow-next',
			prevBtn: 'a.arrow-prev',
			listOfSlides: 'div.switcher-list ul > li'
		});	
		gal55 = $('div.slideshow-switcher.header').gallery({
			duration: 500,
			slideElement: 1,
			circle: true,
			disableBtn: 'invisible',
			nextBtn: 'a.arrow-next',
			prevBtn: 'a.arrow-prev',
			listOfSlides: 'div.switcher-list ul > li'
		});
	}
	else if(!$('div.slideshow').hasClass('G4')){
		gal6 = $('div.video-slideshow').gallery({
			duration: 500,
			circle:false,
			disableBtn: 'invisible',
			listOfSlides: 'div.slideshow-holder > ul > li',
			switcher:'div.slideshow-switcher > div.switcher-list ul > li',
			sw:function(){
				if(gal4.switcher.index(gal7.switcher.filter('.active')) == 6) gal7.prevBtn.trigger(gal5.options.event);
				if(gal4.switcher.index(gal7.switcher.filter('.active')) == 7) gal7.nextBtn.trigger(gal5.options.event);
			},
			heightSwitch: true
		});
		gal7 = $('div.slideshow-switcher').gallery({
			duration: 500,
			slideElement: 6,
			circle: false,
			disableBtn: 'invisible',
			nextBtn: 'a.arrow-next',
			prevBtn: 'a.arrow-prev',
			listOfSlides: 'div.switcher-list ul > li'
		});	
	}
	else{
		gal8 = $('div.G4').gallery({
			duration: 500,
			autoRotation: 5000,
			nextBtn: '#next-slide',
			prevBtn: '#prev-slide',
			listOfSlides: 'div.slideshow-holder > ul > li',
			switcher:'div.slideshow-switcher > div.switcher-list ul > li',
			after:function(){
				$('div.G4').find('strong.slide-number').text((gal8.active/gal8.options.slideElement+1)+'/'+(gal8.count+1)/gal8.options.slideElement);
			},
			heightSwitch: true
		});
		if($('div.G4').length){
			$('div.G4').find('strong.slide-number').html('1/' + $('div.G4 div.slideshow-holder > ul > li').length);
		}
	}
	$('#wrapper').myPopup();
	gal9 = $('div.result-photos').gallery({
		duration: 500,
		autoRotation: 5000,
		listOfSlides: 'div.result-hold > ul > li'
	});	
});
(function($) {
	$.fn.gallery = function(options) { return new Gallery(this.get(0), options); };
	
	function Gallery(context, options) { this.init(context, options); };
	
	Gallery.prototype = {
		options:{},
		init: function (context, options){
			this.options = $.extend({
				duration: 700,
				slideElement: 1,
				autoRotation: false,
				effect: false,
				listOfSlides: 'ul > li',
				switcher: false,
				disableBtn: false,
				//nextBtn: 'a.link-next, a.btn-next, a.next',
				//prevBtn: 'a.link-prev, a.btn-prev, a.prev',
				nextBtn: 'a.btn-next, a.next',
				prevBtn: 'a.btn-prev, a.prev',
				circle: true,
				direction: false,
				event: 'click',
				IE: false,
				after:function(){},
				sw:function(){},
				heightSwitch:false
			}, options || {});
			var _el = $(context).find(this.options.listOfSlides);
			if (this.options.effect) this.list = _el;
			else this.list = _el.parent();
			this.switcher = $(context).find(this.options.switcher);
			this.nextBtn = $(context).find(this.options.nextBtn);
			this.prevBtn = $(context).find(this.options.prevBtn);
			this.count = _el.index(_el.filter(':last'));
			if (this.options.switcher) this.active = this.switcher.index(this.switcher.filter('.active:eq(0)'));
			else this.active = _el.index(_el.filter('.active:eq(0)'));
			if (! isNaN(this.options.activeElement )) this.active = this.options.activeElement;
			if (this.active < 0) this.active = 0;
			this.last = this.active;
			
			this.woh = _el.outerWidth(true);
			if (!this.options.direction) this.installDirections(this.list.parent().width());
			else {
				this.woh = _el.outerHeight(true);
				this.installDirections(this.list.parent().height());
			}
			
			if (!this.options.effect) {
				this.rew = this.count - this.wrapHolderW + 1;
				if (!this.options.direction) this.anim = '{marginLeft: -(this.woh * this.active)}';
				else this.anim = '{marginTop: -(this.woh * this.active)}';
				eval('this.list.css('+this.anim+')');
			}
			else {
				this.rew = this.count;
				this.list.css({opacity: 0}).removeClass('active').eq(this.active).addClass('active').css({opacity: 1}).css('opacity', 'auto');
				this.switcher.removeClass('active').eq(this.active).addClass('active');
			}
			
			this.initEvent(this, this.nextBtn, true);
			this.initEvent(this, this.prevBtn, false);
			if (this.options.disableBtn) this.initDisableBtn();
			if (this.options.autoRotation) this.runTimer(this);
			if (this.options.switcher) this.initEventSwitcher(this, this.switcher);
			if(this.options.heightSwitch){
				this.list.parent().height(this.list.children().eq(this.active).outerHeight(true));
			}
		},
		initDisableBtn: function(){
			this.prevBtn.removeClass(this.options.disableBtn);
			this.nextBtn.removeClass(this.options.disableBtn);
			if (this.active == 0 || this.count+1 == this.wrapHolderW) this.prevBtn.addClass(this.options.disableBtn);
			if (this.active == 0 && this.count == 1 || this.count+1 == this.wrapHolderW) this.nextBtn.addClass(this.options.disableBtn);
			if (this.active == this.rew) this.nextBtn.addClass(this.options.disableBtn);
		},
		installDirections: function(temp){
			this.wrapHolderW = Math.ceil(temp / this.woh);
			if (((this.wrapHolderW - 1) * this.woh + this.woh / 2) > temp) this.wrapHolderWwrapHolderW--;
		},
		fadeElement: function(){
			if ($.browser.msie && this.options.IE){
				this.list.eq(this.last).css({opacity:0});
				this.list.removeClass('active').eq(this.active).addClass('active').css({opacity:'auto'});
			}
			else{
				this.list.eq(this.last).animate({opacity:0}, {queue:false, duration: this.options.duration});
				this.list.removeClass('active').eq(this.active).addClass('active').animate({
					opacity:1
				}, {queue:false, duration: this.options.duration, complete: function(){
					$(this).css('opacity','auto');
				}});
			}
			if (this.options.switcher) this.switcher.removeClass('active').eq(this.active).addClass('active');
			this.last = this.active;
		},
		scrollElement: function(){
			eval('this.list.animate('+this.anim+', {queue:false, duration: this.options.duration});');
			if (this.options.heightSwitch) {
				this.list.parent().height(this.list.children().eq(this.active).outerHeight(true));
			}
			if (this.options.switcher) this.switcher.removeClass('active').eq(this.active / this.options.slideElement).addClass('active');
			this.options.after();
		},
		runTimer: function($this){
			if($this._t) clearTimeout($this._t);
			$this._t = setInterval(function(){
				$this.toPrepare($this, true);
			}, this.options.autoRotation);
		},
		initEventSwitcher: function($this, el){
			el.bind($this.options.event, function(){
				$this.active = $this.switcher.index($(this)) * $this.options.slideElement;
				if($this._t) clearTimeout($this._t);
				if ($this.options.disableBtn) $this.initDisableBtn();
				if (!$this.options.effect) $this.scrollElement();
				else $this.fadeElement();
				if ($this.options.autoRotation) $this.runTimer($this);
				return false;
			});
		},
		initEvent: function($this, addEventEl, dir){
			addEventEl.bind($this.options.event, function(){
				if($this._t) clearTimeout($this._t);
				$this.toPrepare($this, dir);
				if ($this.options.autoRotation) $this.runTimer($this);
				$this.options.sw();
				return false;
			});
		},
		toPrepare: function($this, side){
			if (($this.active == $this.rew) && $this.options.circle && side) $this.active = -$this.options.slideElement;
			if (($this.active == 0) && $this.options.circle && !side) $this.active = $this.rew + $this.options.slideElement;
			for (var i = 0; i < $this.options.slideElement; i++){
                            if (side) { if ($this.active + 1 <= $this.rew) $this.active++; }
			    else { if ($this.active - 1 >= 0) $this.active--; }                                                       
			};
                        
                        
			if (this.options.disableBtn) this.initDisableBtn();
			if (!$this.options.effect) $this.scrollElement();
			else $this.fadeElement();
		},
		stop: function(){
			if (this._t) clearTimeout(this._t);
		},
		play: function(){
			if (this._t) clearTimeout(this._t);
			if (this.options.autoRotation) this.runTimer(this);
		},
                goTo: function(pos) {
                    
                    if (pos <= this.count) {
                      
                       this.active =  parseInt(pos);
                       if (this.options.disableBtn) this.initDisableBtn();
                       if (!this.options.effect){ 
                           this.scrollElement();
                       } else {
                           this.fadeElement();
                       }
                       this.runTimer(this);
                       
                    }
                }
	};
	jQuery.fn.myPopup = function(_options){
		// defaults options	
		var _options = jQuery.extend({
			duration: 700,
			linkOpenName: '.link-popup',
			linkCloseName: 'a.close, a.btn-close',
			divFader: 'fader',
			wrapper: '#wrapper'
		},_options);
	
		return this.each(function(){
			var _hold = $(this);
			var _speed = _options.duration;
			var _IE = $.browser.msie;
			var links = _hold.find(_options.linkOpenName);
			var _fader = $('<div class="'+_options.divFader+'"></div>');
			var _select = $(_options.wrapper).find('select');
			var popup;
			$('body').append(_fader);
			_fader.css({
				position: 'absolute',
				top: '0px',
				left: '0px',
				zIndex: 999,
				background: 'black',
				opacity: 0.7
			});
			
			function init(_obj){
				popup = $(_obj);
				var btnClose = popup.find(_options.linkCloseName);
				var submitBtn = popup.find('.link-submit');
				
				if (_IE) _select.css({visibility: 'hidden'});
				var w = $('body').width();
				var _w = $(_options.wrapper).width();
				if (_w > w) w =_w;
				var h = $(window).height();
				var _offset = $(window).scrollTop();
				
				var ret = _offset+(h/2) - popup.outerHeight(true)/2;
				if (ret < 0) ret = 0;
				var te = $(_options.wrapper).height();
				if ($(window).height() > te) te = $(window).height();
				
				popup.css({
					top: ret,
					left: w/2 - popup.outerWidth(true)/2
				}).hide();
				_fader.css({
					width: w,
					height: te
				}).fadeIn(300, function(){
					popup.fadeIn(300);
				});
				$(window).resize(function(){
					w = $('body').width();
					_w = $(_options.wrapper).width();
					if (_w > w) w =_w;
					popup.animate({
						left: w/2 - popup.outerWidth(true)/2
					}, {queue:false, duration: 300});
					_fader.css({
						width: w
					});
				});
				function closedPopup(opt1){
					popup.fadeOut(300, function(){
						popup.css({left: '-9999px'}).show();
						if (_IE) _select.css({visibility: 'visible'});
						submitBtn.unbind('click');
						$(window).unbind('resize');
						if (opt1) _fader.hide();
						else {
							if (submitBtn.attr('href')) init(submitBtn.attr('href'));
							else init(submitBtn.attr('title'));
						}
					});
				}
				btnClose.click(function(){
					closedPopup(true);
					return false;
				});
				submitBtn.click(function(){
					closedPopup();
					return false;
				})
				_fader.click(function(){
					closedPopup(true);
					return false;
				});
			}
			links.click(function(){
				if ($(this).attr('href')) init($(this).attr('href'));
				else init($(this).attr('title'));
				return false;
			});
		});
	}
}(jQuery));

//BLOCKS

(function($){

    $.fn.insertBlock = function(block){
        var div = $(this);
		$.ajax({
            type: "GET",
            url: "/blocks/insert?block="+block,
            success: function(msg){
                div.html( msg );
            },
            error: function(msg){
                return;
            }
        });
        
    }
})(jQuery);



//----VOTES

function voteGalleryImageGlam( opinion , id , url){
	$.ajax({
		   type: "POST",
		   url: "/vote/gallery_image",
		   data: "id="+id+"&opinion="+opinion,
		   success: function(msg){
		    /* if (opinion == 1){
				$(".carousel-content ul li a.label-red").hide();
			}
			else{
				$(".carousel-content ul li a.label.yes").hide();
			}*/
			if (url != 'no')
				location.href = url;
			
		   },
		   error: function (){
		   
		   }
		 });

}


function getGalleryImageScoreDataGlam( box,  id ){
		$.ajax({
			   type: "POST",
			   url: "/vote/gallery_image/data",
			   data: "id="+id,
			   async: false,
			   success: function(data){
				   arrayRespuesta=eval('(' + data + ')');
					var total = arrayRespuesta["total"];
					var positivos = arrayRespuesta["positive"];
					var negativos = arrayRespuesta["negative"];
				  if (total == 0) total = 1;
				  var percentagePos = (positivos *100)/total;
				  percentagePos = Math.round(percentagePos);
					$("div.percent div.percent-box").css("height",percentagePos);
				  percentagePos = percentagePos+"%";
					$("div.percent strong").html(percentagePos);
				  var percentageNeg = (negativos *100)/total;
				  percentageNeg = Math.round(percentageNeg);
					$("div.percent div.percent-box.box-type-2").css("height",percentageNeg);	
				  percentageNeg = percentageNeg+"%";
					$("div.percent.percent-pas-glam strong").html(percentageNeg);
			   },
			   error: function (msg){
			   	
			   }
			 });
	}
	
	function getGalleryImageScoreDataDebat( box,  id ){
			$.ajax({
				   type: "POST",
				   url: "/vote/gallery_image/data",
				   data: "id="+id,
				   async: false,
				   success: function(data){
					   arrayRespuesta=eval('(' + data + ')');
						var total = arrayRespuesta["total"];
						var positivos = arrayRespuesta["positive"];
						var negativos = arrayRespuesta["negative"];
					  if (total == 0) total = 1;
					  var percentagePos = (positivos *100)/total;
					  percentagePos = Math.round(percentagePos);
						$("div.percent div.percent-box").css("height",percentagePos);
					  percentagePos = percentagePos;
						$("div.percent strong").html(percentagePos);
					  var percentageNeg = (negativos *100)/total;
					  percentageNeg = Math.round(percentageNeg);
						$("div.percent div.percent-box.box-type-4").css("height",percentageNeg);	
					  percentageNeg = percentageNeg;
						$("div.percent.percent-pas-glam strong").html(percentageNeg);
				   },
				   error: function (msg){

				   }
				 });
		}
	
	
	
	function voteArticle( opinion , id ){
			$.ajax({
				   type: "POST",
				   url: "/vote/article",
				   data: "id="+id+"&opinion="+opinion,
				   success: function(msg){
					 getArticleScore('votes',id)
				     return false;
				   },
				   error: function (){
				   	alert( "Not voted" );
				   }
				 });

		}



	function getArticleScore ( box,  id ){

			$.ajax({
				   type: "POST",
				   url: "/vote/article/score",
				   data: "id="+id,
				   success: function(msg){
					$('.'+box).html(msg);
					return false;

				   },
				   error: function (msg){
				   	$("#"+box).html(msg);
				   }
				 });
		}

function voteGallery( opinion , id ){
			$.ajax({
				   type: "POST",
				   url: "/vote/gallery",
				   data: "id="+id+"&opinion="+opinion,
				   success: function(msg){
					 getGalleryScore('votes',id)
				     return false;
				   },
				   error: function (){
				   	alert( "Not Voted" );
				   }
				 });

		}

function getGalleryScore ( box,  id ){

				$.ajax({
					   type: "POST",
					   url: "/vote/gallery/score",
					   data: "id="+id,
					   async: false,
					   success: function(msg){
						$('.'+box).html(msg);
						return false;
					   },
					   error: function (msg){
					   	$("#"+box).html(msg);
					   }
					 });
			}
					
					

function getRelated( tags , domain_id, limit){
		$.ajax({
			   type: "POST",
			   url: "/content/tags/search/",
			   data: "tags="+tags+"&domain_id="+domain_id+"&limit="+limit,
			   success: function(msg){
				 $(".news-box").html(msg);
			     return false;
			   },
			   error: function (){
				   return false;
			   }
			 });

	}
	
	
	/*------ COMMENTS FUNCTIONS ------------*/

	/* It returns the HTML with the comments & paginated */
	/* It needs, the model_id, object_id & page number   */
	/* It places the result in the div wich called it    */
	(function($){

	    $.fn.changePage = function(model_id, object_id, page ){
	        var div = $(this);
			$.ajax({
	            type: "POST",
	            url: "/coments/list",
	            data: "model_id="+model_id+"&object_id="+object_id+"&page="+page,
	            success: function(msg){
	                div.html( msg );
	            },
	            error: function(msg){
	                return;
	            }
	        });

	    }
	})(jQuery);

	/* It gets the total number of comments of an object */
	/* It needs, the model_id & object_id                */
	/* It places the result in the div wich called it    */
	(function($){

	    $.fn.getCount = function(model_id, object_id){
	        var div = $(this);
			$.ajax({
	            type: "POST",
	            url: "/coments/contador",
	            data: "model_id="+model_id+"&object_id="+object_id,
	            success: function(msg){
	                div.html( msg );
	            },
	            error: function(msg){
	                return;
	            }
	        });

	    }
	})(jQuery);
	
	function validar_mail(mail){
		if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail)))
			{
				//E-Mail incorrecto
				return false;
			}
			else{
				//E-Mail correcto
				return true;
			}
	}
	
	function IsNumeric(strString)
	   //  check for valid numeric strings	
	   {
	   var strValidChars = "0123456789";
	   var strChar;
	   var blnResult = true;

	   if (strString.length == 0) return false;

	   //  test strString consists of valid characters listed above
	   for (i = 0; i < strString.length && blnResult == true; i++)
	      {
	      strChar = strString.charAt(i);
	      if (strValidChars.indexOf(strChar) == -1)
	         {
	         blnResult = false;
	         }
	      }
	   return blnResult;
	   }
	
	
	
	
	function validate(form){
		var error = 0;
		
		var myTextField = document.getElementById('area1');
		
		if ((myTextField.value == "")){
			error = 1;
			alert("You must enter some text")
		}
		else{
			
		}
		
		var myTextField = document.getElementById('comment_destination');
		
		if ((myTextField.value == "")||(myTextField.value == "votre  amoureux/se")){
			error = 1;
			$("#comment_destination").css('border','1px solid red');
		}
		else{
			$("#comment_destination").css('border','1px solid #D0D0D0');
		}
		
		var myTextField = document.getElementById('txt3');
		
		if ((myTextField.value == "")||(myTextField.value == "votre speudo")){
			error = 1;
			$("#txt3").css('border','1px solid red');
		}
		else{
			$("#txt3").css('border','1px solid #D0D0D0');
		}
		
		var myTextField = document.getElementById('txt2');
		
		if (!(validar_mail(myTextField.value))){
			error = 1;
			$("#txt2").css('border','1px solid red');
		}
		else{

			$("#txt2").css('border','1px solid #D0D0D0');
		}
		
		
		var myTextField = document.getElementById('txt5');
		
		if (!(validar_mail(myTextField.value))){
			error = 1;
			$("#txt5").css('border','1px solid red');
		}
		else{

			$("#txt5").css('border','1px solid #D0D0D0');
		}
		
		var myTextField = document.getElementById('txt4');
		
		if (!(IsNumeric(myTextField.value))){
			error = 1;
			$("#txt4").css('border','1px solid red');
		}
		else{

			$("#txt4").css('border','1px solid #D0D0D0');
		}
		
		

		if (error == 0){

			$.ajax({
			type: "POST",
			url: $("form#comments").attr("action"),
			data: $("form#comments").serialize(),
			success: function(msg){
				location.href=msg;
			},
			error: function (msg){
				//alert(msg);

			}
			});
			return false;

		}
		else{
			return false;
		}
	}
	
	function initLightBox(){
		var _speed = 300;
		var _ieVersion = 7;
		var _opener = $('#jeVoteButton');
		var _lay = $('.fader').width('100%').appendTo($('body'));
			if (jQuery.browser.msie && jQuery.browser.version < _ieVersion){_lay.css({opacity:0.7}).hide();
			}else{_lay.css({opacity:0}).hide();	}
		
		_opener.click(function(){
			$('body > .popup-block').remove();
			var _src = $(this).siblings().find('li.active').attr('rel');
			var _light = $('.popup-block').css('zIndex',1000).appendTo($('body'));
			_light.find('.holder img').attr('src',_src);
			var _body = $('body').height(); 
			Position();
			if (jQuery.browser.msie && jQuery.browser.version < _ieVersion){
				_light.show();
				_lay.show();
			}else{

				_light.css({opacity:0}).show().animate({opacity:1}, {queue:false, duration:_speed});
				_lay.show().animate({opacity:0.7}, {queue:false, duration:_speed});
			}

			_lay.click(function(){	Close();return false;	});
			_light.find('.btn-close a').click(function(){	Close();return false;	});
			function Close(){
				if (jQuery.browser.msie && jQuery.browser.version < _ieVersion){
					_light.hide();
					_lay.hide();
				}else{	
					_light.animate({opacity:0}, {queue:false, duration:_speed, complete:function(){$(this).hide();}});
					_lay.animate({opacity:0}, {queue:false, duration:_speed, complete:function(){$(this).hide();}});
				}
			}

			$(window).resize(function(){	Position();	});
			$(window).scroll(function(){	Position();	});
			
			var _ws;
			function Position(){
				var _w = _light.outerWidth(true);
				var _h = _light.outerHeight(true);
				if (window.innerHeight){var _wx = window.innerWidth; var _wy = window.innerHeight;}
				else{_wx = document.documentElement.clientWidth; _wy = document.documentElement.clientHeight;};
				if (_body < _wy){	_lay.css({height:_wy})	}
				else{	_lay.css({height:_body});	};
				if(_h > _wy){
					if (_ws !== undefined){
						if (_wy < _h){
						//-down-
							if ($(document).scrollTop() > _ws){
								if (_top > _ws - _h + _wy){
									var _d = $(document).scrollTop() - _ws;
									var _top = $(document).scrollTop() - _d;
									$(document).scrollTop(_ws);
								}else{
									_top = $(document).scrollTop() - _h + _wy;
								}
						//-up-
							}else{
								if (_top < _ws){
									var _d = $(document).scrollTop() - _ws;
									var _top = $(document).scrollTop() - _d;
									$(document).scrollTop(_ws);
								}else{
									_top = $(document).scrollTop();
								}
							}
						}
					}else{
						var _top = $(document).scrollTop();
					}
					_ws = $(document).scrollTop();
				}else{
					_top = (_wy-_h)/2+$(document).scrollTop();
					if(_top + _h > _body) _top = _body - _h - 8;
					if(_top < 8) _top = 8;
				
				}
				_light.css({left:(_wx-_w)/2, top:_top});
			};
			return false;
		});
	};
	
	 function limitChars(textid, limit, infodiv) {
		 var text = $('#'+textid).val(); 
		 var textlength = text.length;
		 if (textlength > limit) {
			 $('#' + infodiv).html(limit+' caractères max');
			 $('#'+textid).val(text.substr(0,limit));
			 return false;
		 }
		 return true;	 	
	 }
	 
	function validateEmail(elementValue) {  
                var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
                return emailPattern.test(elementValue);  
        }   
        
        function validateDate(elementValue) {  
                var emailPattern = /^\d{1,2}\/\d{1,2}\/\d{2,4}$/;  
                return emailPattern.test(elementValue);  
        }   

	 /*
	  * FancyBox - jQuery Plugin
	  * Simple and fancy lightbox alternative
	  *
	  * Examples and documentation at: http://fancybox.net
	  * 
	  * Copyright (c) 2008 - 2010 Janis Skarnelis
	  * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
	  * 
	  * Version: 1.3.4 (11/11/2010)
	  * Requires: jQuery v1.3+
	  *
	  * Dual licensed under the MIT and GPL licenses:
	  *   http://www.opensource.org/licenses/mit-license.php
	  *   http://www.gnu.org/licenses/gpl.html
	  */

	 ;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("<div/>")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
	 F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)||
	 c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=
	 false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel",
	 function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("<img />").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+c+
	 '"></param>';P="";b.each(e.swf,function(x,H){C+='<param name="'+x+'" value="'+H+'"></param>';P+=" "+x+'="'+H+'"'});C+='<embed src="'+c+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+P+"></embed></object>";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win==
	 "function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('<div style="width:'+a+";height:"+c+
	 ";overflow: "+(e.scrolling=="auto"?"auto":e.scrolling=="yes"?"scroll":"hidden")+';position:relative;"></div>');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor,
	 opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length?
	 d.titlePosition=="float"?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+s+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+d.titlePosition+'">'+s+"</div>":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding});
	 y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height==
	 i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents());
	 f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode==
	 37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto");
	 s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(b.browser.msie?'allowtransparency="true""':"")+' scrolling="'+e.scrolling+'" src="'+d.href+'"></iframe>').appendTo(j);
	 f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c);
	 j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type==
	 "image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"),
	 10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)};
	 b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k=
	 0,C=a.length;k<C;k++)if(typeof a[k]=="object")b(a[k]).data("fancybox",b.extend({},g,a[k]));else a[k]=b({}).data("fancybox",b.extend({content:a[k]},g));o=jQuery.merge(o,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},g,a));else a=b({}).data("fancybox",b.extend({content:a},g));o.push(a)}if(q>o.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+
	 1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a<l.length){q=a;I()}else if(d.cyclic&&l.length>1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h=
	 true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1;
	 b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5-
	 d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),t=b('<div id="fancybox-loading"><div></div></div>'),u=b('<div id="fancybox-overlay"></div>'),f=b('<div id="fancybox-wrap"></div>'));D=b('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(f);
	 D.append(j=b('<div id="fancybox-content"></div>'),E=b('<a id="fancybox-close"></a>'),n=b('<div id="fancybox-title"></div>'),z=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),A=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()});
	 b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(D)}}};
	 b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",
	 easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery);


/*** GalleryScroll **/

jQuery.fn.scrollGallery=function(_options){var _options=jQuery.extend({sliderHolder:'>div',slider:'>ul',slides:'>li',pagerLinks:'div.pager a',btnPrev:'a.prev',btnNext:'a.next',activeClass:'active',disabledClass:'disabled',generatePagination:'div.pg-holder',curNum:'em.scur-num',allNum:'em.sall-num',circleSlide:true,pauseClass:'gallery-paused',pauseButton:'none',pauseOnHover:true,autoHeight:false,autoRotation:false,stopAfterClick:false,switchTime:5000,duration:650,easing:'swing',event:'click',splitCount:false,afterInit:false,vertical:false,step:false},_options);return this.each(function(){var _this=jQuery(this);var _sliderHolder=jQuery(_options.sliderHolder,_this);var _slider=jQuery(_options.slider,_sliderHolder);var _slides=jQuery(_options.slides,_slider);var _btnPrev=jQuery(_options.btnPrev,_this);var _btnNext=jQuery(_options.btnNext,_this);var _pagerLinks=jQuery(_options.pagerLinks,_this);var _generatePagination=jQuery(_options.generatePagination,_this);var _curNum=jQuery(_options.curNum,_this);var _allNum=jQuery(_options.allNum,_this);var _pauseButton=jQuery(_options.pauseButton,_this);var _pauseOnHover=_options.pauseOnHover;var _pauseClass=_options.pauseClass;var _autoHeight=_options.autoHeight;var _autoRotation=_options.autoRotation;var _activeClass=_options.activeClass;var _disabledClass=_options.disabledClass;var _easing=_options.easing;var _duration=_options.duration;var _switchTime=_options.switchTime;var _controlEvent=_options.event;var _step=_options.step;var _vertical=_options.vertical;var _circleSlide=_options.circleSlide;var _stopAfterClick=_options.stopAfterClick;var _afterInit=_options.afterInit;var _splitCount=_options.splitCount;if(!_slides.length)return;if(_splitCount){var curStep=0;var newSlide=jQuery('<slide>').addClass('split-slide');_slides.each(function(){newSlide.append(this);curStep++;if(curStep>_splitCount-1){curStep=0;_slider.append(newSlide);newSlide=jQuery('<slide>').addClass('split-slide');}});if(curStep)_slider.append(newSlide);_slides=_slider.children();}
var _currentStep=0;var _sumWidth=0;var _sumHeight=0;var _hover=false;var _stepWidth;var _stepHeight;var _stepCount;var _offset;var _timer;_slides.each(function(){_sumWidth+=jQuery(this).outerWidth(true);_sumHeight+=jQuery(this).outerHeight(true);});function recalcOffsets(){if(_vertical){if(_step){_stepHeight=_slides.eq(_currentStep).outerHeight(true);_stepCount=Math.ceil((_sumHeight-_sliderHolder.height())/_stepHeight)+1;_offset=-_stepHeight*_currentStep;}else{_stepHeight=_sliderHolder.height();_stepCount=Math.ceil(_sumHeight/_stepHeight);_offset=-_stepHeight*_currentStep;if(_offset<_stepHeight-_sumHeight)_offset=_stepHeight-_sumHeight;}}else{if(_step){_stepWidth=_slides.eq(_currentStep).outerWidth(true)*_step;_stepCount=Math.ceil((_sumWidth-_sliderHolder.width())/_stepWidth)+1;_offset=-_stepWidth*_currentStep;if(_offset<_sliderHolder.width()-_sumWidth)_offset=_sliderHolder.width()-_sumWidth;}else{_stepWidth=_sliderHolder.width();_stepCount=Math.ceil(_sumWidth/_stepWidth);_offset=-_stepWidth*_currentStep;if(_offset<_stepWidth-_sumWidth)_offset=_stepWidth-_sumWidth;}}}
if(_btnPrev.length){_btnPrev.bind(_controlEvent,function(){if(_stopAfterClick)stopAutoSlide();prevSlide();return false;});}
if(_btnNext.length){_btnNext.bind(_controlEvent,function(){if(_stopAfterClick)stopAutoSlide();nextSlide();return false;});}
if(_generatePagination.length){_generatePagination.empty();recalcOffsets();var _list=jQuery('<ul />');for(var i=0;i<_stepCount;i++)jQuery('<li><a href="#">'+(i+1)+'</a></li>').appendTo(_list);_list.appendTo(_generatePagination);_pagerLinks=_list.children();}
if(_pagerLinks.length){_pagerLinks.each(function(_ind){jQuery(this).bind(_controlEvent,function(){if(_currentStep!=_ind){if(_stopAfterClick)stopAutoSlide();_currentStep=_ind;switchSlide();}
return false;});});}
function prevSlide(){recalcOffsets();if(_currentStep>0)_currentStep--;else if(_circleSlide)_currentStep=_stepCount-1;switchSlide();}
function nextSlide(){recalcOffsets();if(_currentStep<_stepCount-1)_currentStep++;else if(_circleSlide)_currentStep=0;switchSlide();}
function refreshStatus(ind){if(_pagerLinks.length)_pagerLinks.removeClass(_activeClass).eq(_currentStep).addClass(_activeClass);if(!_circleSlide){_btnPrev.removeClass(_disabledClass);_btnNext.removeClass(_disabledClass);if(_currentStep==0)_btnPrev.addClass(_disabledClass);if(_currentStep==_stepCount-1)_btnNext.addClass(_disabledClass);}
if(_curNum.length)_curNum.text(_currentStep+1);if(_allNum.length)_allNum.text(_stepCount);var heightSlide;if(_autoHeight){heightSlide=_slides.eq(_currentStep).outerHeight();if(ind!=0){_slider.animate({height:heightSlide},{queue:false,duration:_duration});}else{_slider.css({height:heightSlide});}}}
function switchSlide(){recalcOffsets();if(_vertical)_slider.animate({marginTop:_offset},{duration:_duration,queue:false,easing:_easing});else _slider.animate({marginLeft:_offset},{duration:_duration,queue:false,easing:_easing});refreshStatus();autoSlide();}
function stopAutoSlide(){if(_timer)clearTimeout(_timer);_autoRotation=false;}
function autoSlide(){if(!_autoRotation||_hover)return;if(_timer)clearTimeout(_timer);_timer=setTimeout(nextSlide,_switchTime+_duration);}
if(_pauseOnHover){_this.hover(function(){_hover=true;if(_timer)clearTimeout(_timer);},function(){_hover=false;autoSlide();});}
recalcOffsets();refreshStatus(0);autoSlide();if(_pauseButton.length){_pauseButton.click(function(){if(_this.hasClass(_pauseClass)){_this.removeClass(_pauseClass);_autoRotation=true;autoSlide();}else{_this.addClass(_pauseClass);stopAutoSlide();}
return false;});}
if(_afterInit&&typeof _afterInit==='function')_afterInit(_this,_slides);});}
jQuery.fn.fadeGallery=function(_options){var _options=jQuery.extend({slideElements:'div.slideset > li',pagerLinks:'div.pager a',btnNext:'a.link-next',btnPrev:'a.link-prev',btnPlayPause:'a.play-pause',btnPlay:'a.play',btnPause:'a.pause',pausedClass:'paused',disabledClass:'disabled',playClass:'playing',activeClass:'active',loadingClass:'ajax-loading',loadedClass:'slide-loaded',dynamicImageLoad:false,dynamicImageLoadAttr:'alt',currentNum:false,allNum:false,startSlide:null,noCircle:false,pauseOnHover:true,autoRotation:false,autoHeight:false,onBeforeFade:false,onAfterFade:false,onChange:false,disableWhileAnimating:false,switchTime:1000,duration:650,event:'click'},_options);return this.each(function(){if(this.slideshowInit)return;else this.slideshowInit;var _this=jQuery(this);var _slides=jQuery(_options.slideElements,_this);var _pagerLinks=jQuery(_options.pagerLinks,_this);var _btnPrev=jQuery(_options.btnPrev,_this);var _btnNext=jQuery(_options.btnNext,_this);var _btnPlayPause=jQuery(_options.btnPlayPause,_this);var _btnPause=jQuery(_options.btnPause,_this);var _btnPlay=jQuery(_options.btnPlay,_this);var _pauseOnHover=_options.pauseOnHover;var _dynamicImageLoad=_options.dynamicImageLoad;var _dynamicImageLoadAttr=_options.dynamicImageLoadAttr;var _autoRotation=_options.autoRotation;var _activeClass=_options.activeClass;var _loadingClass=_options.loadingClass;var _loadedClass=_options.loadedClass;var _disabledClass=_options.disabledClass;var _pausedClass=_options.pausedClass;var _playClass=_options.playClass;var _autoHeight=_options.autoHeight;var _duration=_options.duration;var _switchTime=_options.switchTime;var _controlEvent=_options.event;var _currentNum=(_options.currentNum?jQuery(_options.currentNum,_this):false);var _allNum=(_options.allNum?jQuery(_options.allNum,_this):false);var _startSlide=_options.startSlide;var _noCycle=_options.noCircle;var _onChange=_options.onChange;var _onBeforeFade=_options.onBeforeFade;var _onAfterFade=_options.onAfterFade;var _disableWhileAnimating=_options.disableWhileAnimating;var _anim=false;var _hover=false;var _prevIndex=0;var _currentIndex=0;var _slideCount=_slides.length;var _timer;if(_slideCount<2)return;_prevIndex=_slides.index(_slides.filter('.'+_activeClass));if(_prevIndex<0)_prevIndex=_currentIndex=0;else _currentIndex=_prevIndex;if(_startSlide!=null){if(_startSlide=='random')_prevIndex=_currentIndex=Math.floor(Math.random()*_slideCount);else _prevIndex=_currentIndex=parseInt(_startSlide);}
_slides.hide().eq(_currentIndex).show();if(_autoRotation)_this.removeClass(_pausedClass).addClass(_playClass);else _this.removeClass(_playClass).addClass(_pausedClass);if(_btnPrev.length){_btnPrev.bind(_controlEvent,function(){prevSlide();return false;});}
if(_btnNext.length){_btnNext.bind(_controlEvent,function(){nextSlide();return false;});}
if(_pagerLinks.length){_pagerLinks.each(function(_ind){jQuery(this).bind(_controlEvent,function(){if(_currentIndex!=_ind){if(_disableWhileAnimating&&_anim)return;_prevIndex=_currentIndex;_currentIndex=_ind;switchSlide();}
return false;});});}
if(_btnPlayPause.length){_btnPlayPause.bind(_controlEvent,function(){if(_this.hasClass(_pausedClass)){_this.removeClass(_pausedClass).addClass(_playClass);_autoRotation=true;autoSlide();}else{_autoRotation=false;if(_timer)clearTimeout(_timer);_this.removeClass(_playClass).addClass(_pausedClass);}
return false;});}
if(_btnPlay.length){_btnPlay.bind(_controlEvent,function(){_this.removeClass(_pausedClass).addClass(_playClass);_autoRotation=true;autoSlide();return false;});}
if(_btnPause.length){_btnPause.bind(_controlEvent,function(){_autoRotation=false;if(_timer)clearTimeout(_timer);_this.removeClass(_playClass).addClass(_pausedClass);return false;});}
function loadSlide(slide){if(!slide.hasClass(_loadingClass)&&!slide.hasClass(_loadedClass)){var images=slide.find(_dynamicImageLoad)
var imagesCount=images.length;if(imagesCount){slide.addClass(_loadingClass);images.each(function(){var img=this;img.onload=function(){img.loaded=true;img.onload=null;setTimeout(reCalc,_duration);}
img.setAttribute('src',img.getAttribute(_dynamicImageLoadAttr));img.setAttribute(_dynamicImageLoadAttr,'');}).css({opacity:0});function reCalc(){var cnt=0;images.each(function(){if(this.loaded)cnt++;});if(cnt==imagesCount){slide.removeClass(_loadingClass);images.animate({opacity:1},{duration:_duration,complete:function(){if(jQuery.browser.msie&&jQuery.browser.version<9)jQuery(this).css({opacity:'auto'})}});slide.addClass(_loadedClass)}}}}}
function prevSlide(){if(_disableWhileAnimating&&_anim)return;_prevIndex=_currentIndex;if(_currentIndex>0)_currentIndex--;else{if(_noCycle)return;else _currentIndex=_slideCount-1;}
switchSlide();}
function nextSlide(){if(_disableWhileAnimating&&_anim)return;_prevIndex=_currentIndex;if(_currentIndex<_slideCount-1)_currentIndex++;else{if(_noCycle)return;else _currentIndex=0;}
switchSlide();}
function refreshStatus(){if(_dynamicImageLoad)loadSlide(_slides.eq(_currentIndex));if(_pagerLinks.length)_pagerLinks.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);if(_currentNum)_currentNum.text(_currentIndex+1);if(_allNum)_allNum.text(_slideCount);_slides.eq(_prevIndex).removeClass(_activeClass);_slides.eq(_currentIndex).addClass(_activeClass);if(_noCycle){if(_btnPrev.length){if(_currentIndex==0)_btnPrev.addClass(_disabledClass);else _btnPrev.removeClass(_disabledClass);}
if(_btnNext.length){if(_currentIndex==_slideCount-1)_btnNext.addClass(_disabledClass);else _btnNext.removeClass(_disabledClass);}}
if(typeof _onChange==='function'){_onChange(_this,_slides,_prevIndex,_currentIndex);}}
function switchSlide(){_anim=true;if(typeof _onBeforeFade==='function')_onBeforeFade(_this,_slides,_prevIndex,_currentIndex);_slides.eq(_prevIndex).stop().animate({opacity:0},{duration:_duration,complete:function(){_anim=false;_slides.eq(_prevIndex).hide();}});_slides.eq(_currentIndex).stop().show().css({opacity:0}).animate({opacity:1},{duration:_duration,complete:function(){_slides.eq(_currentIndex).css({opacity:''});if(typeof _onAfterFade==='function')_onAfterFade(_this,_slides,_prevIndex,_currentIndex);}});if(_autoHeight)_slides.eq(_currentIndex).parent().animate({height:_slides.eq(_currentIndex).outerHeight(true)},{duration:_duration,queue:false});refreshStatus();autoSlide();}
function autoSlide(){if(!_autoRotation||_hover)return;if(_timer)clearTimeout(_timer);_timer=setTimeout(nextSlide,_switchTime+_duration);}
if(_pauseOnHover){_this.hover(function(){_hover=true;if(_timer)clearTimeout(_timer);},function(){_hover=false;autoSlide();});}
refreshStatus();autoSlide();});}
