/**************************************

	PARALLAX - jQuery plugin
	By Gabriel Mobilia
	Version 2011/11/01

**************************************/




/***************************************
	
INIT FUNCTIONS / INTERACTIONS
	
***************************************/
function initIntro(){

	if( !jQuery.browser.msie ){
		// HEADER - ANIMATIOMN
		jQuery('#header .story .bloc').fadeIn(5000);
		jQuery('#header .story .bloc a').click(function(){startVisit();return false;});
		jQuery('#header .story').animate({backgroundPosition: '1250px 1px'}, 10000);
		// END
	}else{
		// IE HACK
		jQuery('#header .story .bloc').css("display", "block");
		jQuery('#header .story').css("background-position", "1250px 0px");	
	}
	
}

function startVisit(){
	
	jQuery('#header .story').stop();
	parent.show();
	
	// ACTIVE SCROLLBAR + NAV
	//jQuery("body").css("overflow-y", "auto");
	jQuery("#nav").fadeIn();
	
	// SHOW SECTION
	jQuery('.section').show();
	
	return false;
	
}

function initScroll(){
	
	jQuery("#nav").fadeOut();
	jQuery('html,body').animate({scrollTop: 0}, 500, function(){jQuery('.section').hide();});
	closeLayer();
	
}





/***************************************
	
IMAGE PRELOADER / By MG
	
***************************************/



var preloader = {

	queue:[],
	preloading:0,
	delay:100,
	ended:false,
	tmp:[],
	
	preloadImages:function(jSON){
		//alert("start preload")
		
		preloader.ended = false;
		preloader.preloading = 0;
		var preload = jQuery.parseJSON(jSON);
		
		jQuery("body #header .loading div").append("<div id='preload'></div>");
		jQuery("body #header #preload").append("<div id='preloader'><div class='bar'></div></div>");
		
		for(var i=0 ; i<preload.length ; i++ ){
			if( preload[i] != "" && preload[i] != "undefined" ){
				
				
				var img = new Image();
  				jQuery(img).load(function () { preloader.addMe(this.src, true); }).error(function () { preloader.addMe(this.src, false); }).attr('src', preload[i]);
				
				
				preloader.queue.push(preload[i]);
				$('<div style="position:relative"><a href="#diapo'+i+'" class="RMMY_picto"><img id="picto'+i+'" style="margin:5px" class="pictoOf pngfix" src=http://www.lacotedesmontres.com/cartouche/push_of.png width=9 height=16 border=0><img class="pictoOn pngfix" id="pictoOn'+i+'" style="position:absolute;top:0;margin:5px;opacity:0" class="pngfix" src=http://www.lacotedesmontres.com/cartouche/push_on.png width=9 height=16 border=0></a></div>').appendTo('#navDiapo');
				var hautNav = ($(window).height() - $("#navDiapo").height()) / 2;
				$("#navDiapo").animate({"top":hautNav+"px"},100);	
			}
		}
		
	},
	
	addMe:function(img, success){
		
		$check = false;
		for(var i=0 ; i<this.tmp.length ; i++){
			if( this.tmp[i] == img ){
				$check = true;	
			}	
		}
		
		if( !$check ){
			//console.log(preloader.preloading+" >= "+preloader.queue.length+" --> "+img+" Success: "+success);
			preloader.preloading+=1;
			jQuery("#preloader .bar").css("width", (preloader.preloading/preloader.queue.length)*100+"%");
			this.tmp.push(img);
		}else{
			//console.log(preloader.preloading+" >= "+preloader.queue.length+" --> "+img+" !!! DOUBLON !!!");	
		}
		
		preloader.check();
		
	},
	
	end:function(){
		
		
		if( !preloader.ended ){
			//console.log("END !!!!! "+preloader.preloading+" >= "+preloader.queue.length);
			jQuery("#preloader .bar").css("width", (preloader.preloading/preloader.queue.length)*100+"%");
			jQuery("body #header .bloc.loading").fadeOut(250, function(){ jQuery(this).remove();initIntro(); });
			preloader.ended = true;
		}
		
	},
	
	check:function(){
		
		//alert("Image "+preloader.preloading+" chargée...")
		
		if( preloader.preloading >= preloader.queue.length){
			// TERMINE
			preloader.end();
		}
		
	}

};

/***************************************
	
LAYER/WINDOW
	
***************************************/
function openLayer(popID, popWidth, popHeight){
	

	var obj = jQuery('#' + popID);

	if( parent.$desktopBrowser ){
		obj.fadeIn().css({ 'width': Number( popWidth ), 'height': Number( popHeight ) }).prepend('<a href="#" class="close" onclick="closeLayer();return false;"></a>');
	}else{
		obj.show().css({ 'width': Number( popWidth ), 'height': Number( popHeight ) }).prepend('<a href="#" class="close" onclick="closeLayer();return false;"></a>');
	}
	
	var popMargTop = (obj.height() + 80) / 2;
	var popMargLeft = (obj.width() + 80) / 2;
	
	if( parent.$desktopBrowser ){
		
		obj.css({ 
			'margin-top' : -popMargTop,
			'margin-left' : -popMargLeft
		});
	
	}else{
		
		var scrolltop = (parent.document.documentElement.scrollTop ? parent.document.documentElement.scrollTop : parent.document.body.scrollTop);
		
		obj.css({ 
			'margin-left' : -popMargLeft,
			'position':'absolute',
			'top':(scrolltop+250)+"px"
		});	
		
	}
	
	jQuery('body').append('<div id="fade"></div>');
	
	if( parent.$desktopBrowser ){
		jQuery('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn();
	}else{
		jQuery('#fade').css({'filter' : 'alpha(opacity=80)'}).show();
	}
	
}				

function closeLayer(){
	
	if( parent.$desktopBrowser ){
		jQuery('#fade , .popup_block').fadeOut(function() {
			jQuery('#fade, a.close').remove();  
		});
	}else{
		jQuery('#fade, .popup_block').hide();  
	}
	
	
	return false;	
}



/***************************************
	
DIAPORAMA COMPONENT / By MG
> Used with Layer
	
***************************************/
var diaporama = {
	
	index:0,
	indexMax:0,
	
	init:function(){
		
		this.index = -1;
		this.indexMax = 0;
		
		jQuery('#photos .container').html("");
		
	},
	
	show:function( jsonID ){
		
			this.init();
			
			this.showLoader();
		
			//jQuery('#photos .container').append("chargement de la galerie n° "+jsonID);
			openLayer('photos', 700, 500);
			
			
			jQuery('#photos .container').append("<div class='diaporama'></div>");
			
			jQuery('#photos .container .diaporama').append("<a href='#' class='next'></a>");
			jQuery('#photos .container .diaporama').append("<a href='#' class='previous'></a>");
			
			jQuery('#photos .container .diaporama').css({
												'width':jQuery('#photos').width(),
												'height':jQuery('#photos').height(),
												'border':'0px solid red'
												});
												
												
			jQuery('#photos .container .diaporama .next').click(function(){diaporama.next();return false;});
			jQuery('#photos .container .diaporama .previous').click(function(){diaporama.previous();return false;});
			
			
			$ar = ["http://www.01men.com/diaporamas/images/2711_montre-inde_3.jpg","http://www.01men.com/diaporamas/images/2711_montre-inde_8.jpg","http://fondecran.biz/gt/porsche/porsche_carrera_gt_01.jpg"];
			
			for( var i=0 ; i<$ar.length ; i++ ){
				this.indexMax++;
				jQuery('#photos .container .diaporama').append('<img src="'+$ar[i]+'" class="diapo" id="'+i+'" />');
			}
			
			
			jQuery('#photos .container .diaporama .diapo').load(function(){
				var ratio = 0;
				if( jQuery(this).width() > jQuery('#photos .diaporama').width() ){
					ratio = jQuery(this).width()/jQuery('#photos .diaporama').width();
				}
				if( jQuery(this).height() > jQuery('#photos .diaporama').height() ){
					if (ratio > jQuery(this).height()/jQuery('#photos .diaporama').height() ){}else{
						ratio = jQuery(this).height()/jQuery('#photos .diaporama').height();
					}
				}
				if( ratio > 0 ){
					jQuery(this).width( (jQuery(this).width()/ratio) );	
				}
				jQuery(this).css({
					'top':((jQuery('#photos .diaporama').height()/2)-(jQuery(this).height()/2))+"px",
					'left':((jQuery('#photos .diaporama').width()/2)-(jQuery(this).width()/2))+"px",
					'visibility':'visible',
					'display':'none'
					});
			});
			
			this.hideLoader();
			this.next();
		
		},
		
	next:function(){
		
			diaporama.index = ((diaporama.index+1)>=diaporama.indexMax)?0:(diaporama.index+1);
			
			jQuery('#photos .container .diaporama .diapo').hide();
			jQuery('#photos .container .diaporama #'+diaporama.index).fadeIn();
			
			return false;
		
		},
	previous:function(){
			
			diaporama.index = ((this.index-1)<0)?(diaporama.indexMax-1):(diaporama.index-1);
			
			jQuery('#photos .container .diaporama .diapo').hide();
			jQuery('#photos .container .diaporama .diapo#'+diaporama.index).fadeIn();
			
			return false;
		
		},
		
	showLoader:function(){
		
			this.init();
		
			jQuery('#photos .container').append('<div class="loader"></div>');
			jQuery('#photos .container .loader').css({'top':200+"px", 'margin-left':-33});
			
			if( parent.$desktopBrowser ){
				jQuery('#photos .container .loader').fadeIn();
			}else{
				jQuery('#photos .container .loader').remove();
			}
		
		},
		
	hideLoader:function(){
		
			if( parent.$desktopBrowser ){
				jQuery('#photos .container .loader').fadeOut(500, function(){
					jQuery('#photos .container .diaporama #'+diaporama.index).fadeIn();
				});
			}else{
				jQuery('#photos .container .loader').remove();
				jQuery('#photos .container .diaporama #'+diaporama.index).hide();
			}
		
			
		
		}
	
	};
	
	


/***************************************
	
IFRAME COMPONENT / By MG
> Used with Layer
	
***************************************/
var iframe = {
	
	init:function(){
		
		this.index = -1;
		this.indexMax = 0;
		
		jQuery('#iframe .container').html("");
		
	},
	
	show:function( url ){
		
			this.init();
			
			this.showLoader();
		
			openLayer('iframe', 700, 320);
			
			jQuery('#iframe .container').append("<iframe name='coucou' src='"+url+"' width='100%' height='100%' onLoad='iframe.hideLoader();' frameborder='0' allowtransparency='true' scrolling='no' horizontalscrolling='no' verticalscrolling='no'></iframe>");
		
		
		},
		
	showLoader:function(){
		
			this.init();
		
			jQuery('#iframe .container').append('<div class="loader"></div>');
			jQuery('#iframe .container .loader').css({'top':130+"px", 'margin-left':-33}); 
			if( parent.$desktopBrowser ){
			jQuery('#iframe .container .loader').fadeIn();
			}else{
			jQuery('#iframe .container .loader').show();	
			}
		
		},
		
	hideLoader:function(){
		
			
			if( parent.$desktopBrowser ){
			jQuery('#iframe .container .loader').fadeOut(500);
			}else{
			jQuery('#iframe .container .loader').hide();	
			}
		
		}
	
	};


jQuery(document).ready(function(){


	if( parent.$desktopBrowser ){
		jQuery('#nav, .story').localScroll();
	}
	
	
	/***************************************
	
	INTERACTION ON ALL BUTTONS
	
	***************************************/
	jQuery('.bloc .button').each(function(){
		
		if( parent.$desktopBrowser ){
			
			jQuery(this).hover(function(){
				$parent = jQuery(this).parent().parent().parent().parent().parent().parent().parent().parent();
				if( !jQuery.browser.msie ){
					$parent.find('.layer img.mask').fadeOut();
					$parent.find('.layer img.mask#'+jQuery(this).attr("rel")).fadeIn();
				}else{
					$parent.find('.layer img.mask').hide();
					$parent.find('.layer img.mask#'+jQuery(this).attr("rel")).show();
				}
			},function(){
				$parent = jQuery(this).parent().parent().parent().parent().parent().parent().parent().parent();
				if( !jQuery.browser.msie ){
					$parent.find('.layer img.mask').fadeOut();
				}else{
					$parent.find('.layer img.mask').hide();
				}
			});
			
		}
		
	});		
	
	
				   
	/***************************************
	
	INTERACTION WITH POPUP
	
	***************************************/						   
	jQuery('a.poplight[href^=#]').click(function() {
		var popID = jQuery(this).attr('rel');
		var popURL = jQuery(this).attr('href');
				
		var query= popURL.split('?');
		var dim= query[1].split('&');
		var popWidth = dim[0].split('=')[1];
		var popHeight = dim[1].split('=')[1];
		
		openLayer(popID, popWidth, popHeight)

		return false;
	});
	
	
	jQuery('a.close, #fade, .cancel').live('click', function() {
	  closeLayer()
	});
	
});

