var j = jQuery.noConflict();

var site = {
	load : j('<div class="loadWrapper"><img class="loadImg" src="img/loading.gif" /></div>'),
	slide : {
		actu : {
			pager : j('<div class="menu"><div class="pager"></div><div class="bouttons"><img class="previous" src="img/back-purple.png" alt="retour" /><img class="next" src="img/forward-purple.png" alt="avance" /></div></div>'),
			init : function(){
				site.slide.actu.obj = j('.slideshow');

				site.slide.actu.obj.children('.semio').after('<div class="scene"></div><div class="titre"></div>');
				site.slide.actu.scene = j('.scene', site.slide.actu.obj);
				site.slide.actu.titre = j('.titre', site.slide.actu.obj);
				
				site.slide.actu.film = j('.film', site.slide.actu.obj);

				site.slide.actu.film.css({
					'height':'158px',
					'max-height':'158px',
					'overflow':'hidden'
				});
				
				site.slide.actu.scene.append(site.load.clone());
				
				j('img', site.slide.actu.film).each(function(i){
					j(this).css({
						//'visibility':'hidden'
					});
					j(this).parent().prepend(site.load.clone());
					
					j(this).load(function(){
						j(this).parent().children('.loadWrapper').hide().next().css({
							//'visibility':'visible'
						})
						if(i == 0) {
							
							j(this).parent().parent().addClass('current');
							
							j('.loadWrapper', site.slide.actu.scene).hide();
							var slides = j('img[class!="loadImg"]', site.slide.actu.film);
							var count = slides.size();
							slides.each(function(){
								j(this).css({
									'z-index':count
								})
								count--;
							});
							site.slide.actu.scene.append(slides.clone().css({
								//'visibility':'visible'
							})).children('img:first').addClass('current').fadeIn(site.slide.actu.fadeSpeed);
							site.slide.actu.titre.html(j('.vignette:first .data p', site.slide.actu.film).html());
							
							j('.loadWrapper', site.slide.actu.scene).remove();
							
							site.slide.actu.pager.appendTo(site.slide.actu.obj);
							site.slide.actu.menu = j('.menu', site.slide.actu.obj);
							j('.pager', site.slide.actu.menu).html('1 sur '+slides.size());
							
							site.slide.actu.heart.init();
							
							var control = [
								j('.bouttons', site.slide.actu.menu),
								site.slide.actu.scene,
								site.slide.actu.titre,
								site.slide.actu.film
							];
							j.each(control, function(){
								j(this).mouseenter(function(){
									site.slide.actu.active = false;
								}).mouseleave(function(){
									site.slide.actu.active = true;
								});
							});
							j('.bouttons .next', site.slide.actu.menu).click(function(){
								site.slide.actu.next();
							});
							j('.bouttons .previous', site.slide.actu.menu).click(function(){
								site.slide.actu.previous();
							});
							
							//j('.vignette', site.slide.actu.film).mouseenter(function(){
							//	site.slide.actu.focus(j(this));
							//});
							// setting actions
							
						}
					});
				});
			},
			fadeSpeed : 1000,
			heart : {
				period : 5000,
				init : function(){
					
					site.slide.actu.heart.total = j('img[class!="loadImg"]', site.slide.actu.film).size();
					
					j('#primary-menu ul.menu li ul').css({
						'z-index':site.slide.actu.heart.total+10
					});
					
					site.slide.actu.heart.count = 1;
					
					j('.pager', site.slide.actu.menu).html(site.slide.actu.heart.count+' sur '+site.slide.actu.heart.total);
					
					site.slide.actu.active = true;
					site.slide.actu.heart.beat = setInterval('site.slide.actu.heart.pulse()', site.slide.actu.heart.period);
				},
				pulse : function(){
					if(site.slide.actu.active){
						
						var curImg = j('.current', site.slide.actu.scene);
						var nextImg = curImg.next();
						
						var cur = j('.vignette.current', site.slide.actu.film);
						var next = cur.next();
						
						if(nextImg.length == 1) {
							nextImg.show().addClass('current');
							curImg.removeClass('current').fadeOut(site.slide.actu.fadeSpeed);
							site.slide.actu.titre.html(j('.data p', next).html());
						} else {
							curImg.hide().removeClass('current');
							j('img:first', site.slide.actu.scene).addClass('current').fadeIn(site.slide.actu.fadeSpeed);
							site.slide.actu.titre.html(j('.vignette:first .data p', site.slide.actu.film).html());
						}
						
						if(next.length == 1) {
							
							var pos = next.position();
							
							if(pos.top > 0) {
								var fline = j('.vignette:lt(4)', site.slide.actu.film);
								fline.removeClass('current').appendTo(site.slide.actu.film);
								j('.vignette:first', site.slide.actu.film).addClass('current');
								j('.vignette.last', site.slide.actu.film).removeClass('last');
								j('.vignette:nth-child(4n)', site.slide.actu.film).addClass('last');
							} else {
								cur.removeClass('current');
								next.addClass('current');
							}
						} else {								
							cur.removeClass('current');
							j('.vignette:first', site.slide.actu.film).addClass('current');
						}
						
						site.slide.actu.heart.count++;
						if(site.slide.actu.heart.count > site.slide.actu.heart.total) {
							site.slide.actu.heart.count = 1;
						}
						j('.pager', site.slide.actu.menu).html(site.slide.actu.heart.count+' sur '+site.slide.actu.heart.total);
					}
				}
			},
			next : function(){
				var curImg = j('.current', site.slide.actu.scene);
				var nextImg = curImg.next();

				var cur = j('.current', site.slide.actu.film);
				var next = cur.next();

				if(nextImg.length == 1) {
					nextImg.show().addClass('current');
					curImg.removeClass('current').hide();
				} else {
					j('img:first', site.slide.actu.scene).addClass('current').show();
					curImg.hide().removeClass('current');
				}
				
				if(next.length == 1) {
					
					var pos = next.position();
					site.slide.actu.titre.html(j('.data p', next).html());
					
					if(pos.top > 0) {
						var fline = j('.vignette:lt(4)', site.slide.actu.film);
						fline.removeClass('current').appendTo(site.slide.actu.film);
						j('.vignette:first', site.slide.actu.film).addClass('current');
						j('.vignette.last', site.slide.actu.film).removeClass('last');
						j('.vignette:nth-child(4n)', site.slide.actu.film).addClass('last');
					} else {
						cur.removeClass('current');
						next.addClass('current');
					}
				} else {
					site.slide.actu.titre.html(j('.vignette:first .data p', site.slide.actu.film).html());
					cur.removeClass('current');
					j('.vignette:first', site.slide.actu.film).addClass('current');
				}
				
				site.slide.actu.heart.count++;
				if(site.slide.actu.heart.count > site.slide.actu.heart.total) {
					site.slide.actu.heart.count = 1;
				}
				j('.pager', site.slide.actu.menu).html(site.slide.actu.heart.count+' sur '+site.slide.actu.heart.total);
			},
			previous : function(){
				var curImg = j('.current', site.slide.actu.scene);
				var prevImg = curImg.prev();

				var cur = j('.current', site.slide.actu.film);
				var prev = cur.prev();

				if(prevImg.length == 1) {
					prevImg.show().addClass('current');
					curImg.removeClass('current').hide();
				} else {
					curImg.hide().removeClass('current');
					j('img:last', site.slide.actu.scene).addClass('current').show();
				}
				
				if(prev.length == 1) {
					cur.removeClass('current');
					prev.addClass('current');
					site.slide.actu.titre.html(j('.data p', prev).html());
				} else {
					site.slide.actu.titre.html(j('.vignette:last .data p', site.slide.actu.film).html());
					if(site.slide.actu.heart.total > 4) {
						cur.removeClass('current');
						j('.vignette:last', site.slide.actu.film).prependTo(site.slide.actu.film).addClass('current');
						j('.vignette.last', site.slide.actu.film).removeClass('last');
						j('.vignette:nth-child(4n)', site.slide.actu.film).addClass('last');
					} else {
						cur.removeClass('current');
						j('.vignette:last', site.slide.actu.film).addClass('current');
					}
				}
				
				site.slide.actu.heart.count--;
				if(site.slide.actu.heart.count < 1) {
					site.slide.actu.heart.count = 8;
				}
				j('.pager', site.slide.actu.menu).html(site.slide.actu.heart.count+' sur '+site.slide.actu.heart.total);
			},
			focus : function(slide){
				if(!slide.hasClass('current')) {
					j('.vignette.current', site.slide.actu.film).removeClass('current');
					slide.addClass('current');
					site.slide.actu.titre.html(j('.data p', slide).html());
					j('img.current', site.slide.actu.scene).removeClass('current').hide();
					j('img[src *= "'+j('img[class!="loadImg"]', slide).attr('src')+'"]').addClass('current').show();
				}
			}
		},
		sites : {
			pager : j('<img class="back" src="img/back-grey.png" alt="retour" /><img class="forward" src="img/forward-grey.png" alt="avance" />'),
			init : function(){
				site.slide.sites.obj = j('.sites');
				site.slide.sites.pager.prependTo(j('.terminal', site.slide.sites.obj));
			}
		}
	},
	ads : {
		init : function(){
			site.ads.obj = j('.ads');
			j('.job', site.ads.obj).after(j('.partenaire', site.ads.obj)).addClass('current').next().removeClass('current').next().next().hide();
			j('.job', site.ads.obj).click(function(){
				if(!j(this).hasClass('current')) {
					j(this).addClass('current').next().removeClass('current').next().show().next().hide();
				}
			})
			j('.partenaire', site.ads.obj).click(function(){
				if(!j(this).hasClass('current')) {
					j(this).addClass('current').prev().removeClass('current').next().next().hide().next().show();
				}
			})
		}
	},
	menu : {
		init : function(){
			
		}
	}
};

jQuery(document).ready(function(){
	site.slide.actu.init();
	site.ads.init();
	site.slide.sites.init();
})


