
// Sliding Panel

var SlidingPanel = {

	timeout: false,
	status: 'open',
		
	init: function(){
	
		$(document).ready(function() {
	
			SlidingPanel.$panel = $("#panel");
			SlidingPanel.$contactBtn = $("#contact-btn");
			
			SlidingPanel.$panel.css("marginTop" , "-65px");
			SlidingPanel.status = 'close';
		
			SlidingPanel.toggleBtn();
			
			SlidingPanel.$contactBtn.hover(function(){ 
				if(SlidingPanel.status == 'close'){ SlidingPanel.status = 'animation'; SlidingPanel.open();} });
			SlidingPanel.$contactBtn.click(function(){ 
				if(SlidingPanel.status == 'open'){ SlidingPanel.status = 'animation'; SlidingPanel.close(); return false; } });
		
		});
		
	},
	toggleBtn: function(){
	
		SlidingPanel.$contactBtn.toggleClass("close").toggleClass("hover");
		
	},
	open: function() {
		
		SlidingPanel.toggleBtn();
		SlidingPanel.$panel.animate({ marginTop: "0px" }, 800 , 'easeOutBounce', function(){ SlidingPanel.status = 'open'; });
		SlidingPanel.timeout = window.setTimeout(SlidingPanel.close, 30000);
		
	},
	close: function() {
		
		SlidingPanel.$contactBtn.toggleClass("close");
		if(SlidingPanel.timeout) { clearTimeout(SlidingPanel.timeout); SlidingPanel.timeout = false; }
		SlidingPanel.$panel.animate({ marginTop: "-65px" }, 800, 'swing', function(){ 
			 SlidingPanel.$contactBtn.toggleClass("hover");
			 SlidingPanel.status = 'close';
		});

	}

};

SlidingPanel.init();

// Menu

var Menu = {

	widthOdd: '180px',
	widthEven: '170px',
	
	init: function(withIntro){
	
		withIntro = (typeof withIntro == 'undefined') ? false : true;
		
		$(document).ready(function() {
			
			$("#nav li").addClass("js");
			
			Menu.$navOdd = $("#nav a.odd");
			Menu.$navEven = $("#nav a.even");
			
			Menu.$navOdd.hover(function() {
				$(this).stop().animate({ width: "200px" }, 200); } , function() { 
				$(this).stop().animate({ width: Menu.widthOdd }, 1200, 'easeOutBounce');
			});		
			Menu.$navEven.hover(function() {
				$(this).stop().animate({ width: "200px" }, 200); } , function() { 
				$(this).stop().animate({ width: Menu.widthEven }, 1200, 'easeOutBounce');
			});
			
		});
		
		if(withIntro){ Menu.intro();}
	
	},
	intro: function(){
		$(document).ready(function() {
			Menu.$navOdd.hide();
			Menu.$navEven.hide();
			
		});
		$(window).load(function () {		

				Menu.$navOdd.show('drop',{ direction: "right" },'slow');
				Menu.$navEven.show('drop',{ direction: "right" },'slow');
				
		});
	}

};

Menu.init();

	
// Page Accueil

var Accueil = {

	init:function(){
		$(document).ready(function() {
		
			$('#accueil-slideshow').panelGallery({
				sections: 4,
				imageTransitionDelay: 2000,
				enablePause: 0
			});
		
			$("#charte-info-wrap").accordion({
				autoHeight: false,
				collapsible: true,
				active: false
			});
		
		});
	}
};


// Page Philippe Letertre

var Philippe = {

	init:function(){
		$(document).ready(function() {
		
			$("#phiContent").tabs({ 
				selected: 0,
				fx: {  opacity: 'toggle',  duration: 'fast' }
			});
		
		});
	}
};


// Page chirurgie-esthetique

var ChiEsthetique = {

	$nav: [],

	init: function(col1,col2,withSlider){
		$(document).ready(function() {
		
			col1 = (typeof col1 == 'undefined') ? -1 : col1;
			
			var col2value = [];
			
			col2value[0] = -1;
			col2value[1] = -1;
			col2value[2] = -1;
			
			col2value[col1] = (typeof col2 == 'undefined') ? -1 : col2;
			
			ChiEsthetique.$navPanel = $("#chiNav");
			
			if(withSlider) {
				ChiEsthetique.$navPanel.removeClass("nojs").hide();
				var $chiNavBtn = $("#chiNav-btn");
				$chiNavBtn.click(function(){ ChiEsthetique.$navPanel.stop().slideToggle("slow"); return false; });
				$("#chiNav-bottom").show();
			}

			ChiEsthetique.$nav[0] = ChiEsthetique.$navPanel.tabs({ 
				selected: col1,
				fx: {  width: 'show', opacity: 'toggle',  duration: 'normal' }
			});
			ChiEsthetique.$nav['corps-nav'] = $("#corps-nav",ChiEsthetique.$navPanel).tabs({ 
				selected: col2value[0],
				fx: {  width: 'show', opacity: 'toggle',  duration: 'normal' }
			});
			ChiEsthetique.$nav['visage-nav'] = $("#visage-nav",ChiEsthetique.$navPanel).tabs({ 
				selected: col2value[1],
				fx: {  width: 'show', opacity: 'toggle',  duration: 'normal' }
			});
			ChiEsthetique.$nav['cheveux-nav'] = $("#cheveux-nav",ChiEsthetique.$navPanel).tabs({ 
				selected: col2value[2],
				fx: {  width: 'show', opacity: 'toggle',  duration: 'normal' }
			});
			$("#chi-nav li a",ChiEsthetique.$navPanel).bind("click", function(e){ 
					var id = e.currentTarget.hash.substr(1); ChiEsthetique.$nav[id].tabs( 'select' , 0 );  
			});
		
		});
	},
	mannequins:{
		
		init:function(){
			
			$(document).ready(function() {
			
				$("#middle").removeClass("flexible").addClass("fixed grand");
			
			
				ChiEsthetique.mannequins.$H = $('#mannequin-h');
				ChiEsthetique.mannequins.$Fdos = $('#mannequin-f-dos');
				ChiEsthetique.mannequins.$Fface = $('#mannequin-f-face');
		
				ChiEsthetique.mannequins.$BtnCorps = $("#chiBtn-corps");
				ChiEsthetique.mannequins.$BtnVisage = $("#chiBtn-visage");
				ChiEsthetique.mannequins.$BtnCheveux = $("#chiBtn-cheveux");
		
				ChiEsthetique.mannequins.$Texte = $('#chirurgie-texte-conteneur');
				
				ChiEsthetique.mannequins.$H.css("left", "-200px");
				ChiEsthetique.mannequins.$Fdos.css("top", "584px");
				ChiEsthetique.mannequins.$Fface.css({ left: "660px", top: "584px" });

				ChiEsthetique.mannequins.$BtnCorps.click(function() { ChiEsthetique.mannequins.show('corps'); });
				ChiEsthetique.mannequins.$BtnVisage.click(function() { ChiEsthetique.mannequins.show('visage'); });
				ChiEsthetique.mannequins.$BtnCheveux.click(function() { ChiEsthetique.mannequins.show('cheveux'); });
				
				ChiEsthetique.mannequins.$Texte.css({ display:"block", top : "584px", opacity : "0" });
				
				$('#chirurgie-texte-wrap').codaSlider({
					codaNav: "#chi-nav"
				});
			
			});
			$(window).load(function () {
		
				ChiEsthetique.mannequins.$H.show().animate({ left: "0" }, 800);
				ChiEsthetique.mannequins.$Fdos.show().animate({ top: "332px" }, 1500);
				ChiEsthetique.mannequins.$Fface.show().animate({ left: "510px", top: "276px" }, 1200);
			
			});
			
		},
		show:function(ToShow){
		
			if(ToShow != "visage"){ ChiEsthetique.mannequins.$H.stop().animate({ left: "-200px" }, 800);}
			if(ToShow != "corps"){ ChiEsthetique.mannequins.$Fdos.stop().animate({ top: "584px", left: "140px"}, 1500);}
			if(ToShow != "cheveux"){ ChiEsthetique.mannequins.$Fface.stop().animate({ left: "660px", top: "584px" }, 1200);}

			if(ToShow == "visage") {
				ChiEsthetique.mannequins.$H.stop().animate({ left: "0" }, 800);
				ChiEsthetique.mannequins.$Texte.stop().animate({ top: "324px", left: "210px" }, 800).animate({ opacity: 1 },"slow");
			}
			if(ToShow == "corps") {
				ChiEsthetique.mannequins.$Fdos.stop().animate({ top: "292px", left: "20px" }, 1500);
				ChiEsthetique.mannequins.$Texte.stop().animate({ top: "324px", left: "210px" }, 800).animate({ opacity: 1 },"slow");
			}
			if(ToShow == "cheveux") {
				ChiEsthetique.mannequins.$Fface.stop().animate({ left: "510px", top: "274px" }, 1200);
				ChiEsthetique.mannequins.$Texte.stop().animate({ top: "324px", left: "50px" }, 800).animate({ opacity: 1 },"slow");
			}
		
		}
	
	}

};

// Page Medecine Esthétique

var MedEsthetique = {

	init:function(navSelected, withSlider){
	
		$(document).ready(function() {
		
			MedEsthetique.$navPanel = $("#medNav");
			
			navSelected = (typeof navSelected == 'undefined') ? 1 : navSelected + 1;
			
			var prevConteneur = $('#prev-conteneur');
			var pourEnSavoirPlus = $("#pour-en-savoir-plus");
			
			pourEnSavoirPlus.fadeOut();
			
			prevConteneur.show().codaSlider({
					codaNav: "#med-nav",
					codaNavElement: "li",
					onEvent: "mouseover",
					firstPanelToLoad: navSelected,
					slideEaseDuration: 600,
					slideEaseFunction: "easeInSine",
					slideHorizontal: false
			});
			
			if(withSlider) {
			
				var sliderStatus = "close";
			
				MedEsthetique.$navPanel.hide();
				var $medNavBtn = $("#medNav-btn");
				$medNavBtn.click(function(){ MedEsthetique.$navPanel.stop().slideToggle("slow",function(){
					
					if(sliderStatus == "close"){ sliderStatus = 'open';}
					else{ sliderStatus = "close";}
					
					if(sliderStatus == "close"){ pourEnSavoirPlus.hide().fadeOut();}
					else{ pourEnSavoirPlus.delay(3000).fadeIn().effect("highlight", {}, 3000);}
					
				}); return false; });
				$("#medNav-bottom").show();
			}
			
		});	
	
	}

};

// Page Chirurgie Réparatrice

var ChiReparatrice = {

	init:function(navSelected, withSlider){
	
		$(document).ready(function() {
		
			ChiReparatrice.$navPanel = $("#repNav");
			
			navSelected = (typeof navSelected == 'undefined') ? 1 : navSelected + 1;
			
			var prevConteneur = $('#prev-conteneur');
			var pourEnSavoirPlus = $("#pour-en-savoir-plus");
			
			pourEnSavoirPlus.fadeOut();
			
			prevConteneur.show().codaSlider({
					codaNav: "#rep-nav",
					codaNavElement: "li",
					onEvent: "mouseover",
					firstPanelToLoad: navSelected,
					slideEaseDuration: 600,
					slideEaseFunction: "easeInSine",
					slideHorizontal: false
			});
			
			if(withSlider) {
			
				var sliderStatus = "close";
			
				ChiReparatrice.$navPanel.hide();
				var $repNavBtn = $("#repNav-btn");
				$repNavBtn.click(function(){ ChiReparatrice.$navPanel.stop().slideToggle("slow",function(){
					
					if(sliderStatus == "close"){ sliderStatus = 'open';}
					else{ sliderStatus = "close";}
					
					if(sliderStatus == "close"){ pourEnSavoirPlus.hide().fadeOut();}
					else{ pourEnSavoirPlus.delay(3000).fadeIn().effect("highlight", {}, 3000);}
					
				}); return false; });
				$("#repNav-bottom").show();
			}
			
		});	
	
	}

};

// Pages Contact

var Contact = {

	formulaire:function(){
	
		var Msgs			= arguments[0],
			nameReq			= Msgs.nameReq,
			nameLength		= Msgs.nameLength,
			telReq			= Msgs.telReq,
			telCond			= Msgs.telCond,
			telLength		= Msgs.telLength,
			emailReq		= Msgs.emailReq,
			emailCond		= Msgs.emailCond,
			messageReq		= Msgs.messageReq,
			messageLength	= Msgs.messageLength;  
	
		$(document).ready(function() {

			// form validation
			
			var statusContainer = $("#formulaire-status");
			
			statusContainer.addClass('status-js').append('<ul></ul>');
			
			$("#form").validate({
				
				errorContainer: statusContainer,
				errorLabelContainer: $("ul", statusContainer),
				wrapper: 'li',
				debug: true,
				rules: {
					name: {
						required:true,
						minlength: 2
					},
					tel: {
						required: function() { return $("#cemail").is(':blank') || $("#ccallback").is(':checked') },
						number: true,
						minlength: 10
					},
					email: {
						required: "#cname:blank",
						email: true
					},
					message: {
						required: "#cemail:filled",
						minlength: 2
					}
				},
				messages: {
					name: {
						required: nameReq,
						minlength: jQuery.format(nameLength)
					},
					tel: {
						required: telReq,
						number: telCond,
						minlength: jQuery.format(telLength)
					},
					email: {
						required: emailReq,
						email: emailCond
					},
					message: {
						required: messageReq,
						minlength: jQuery.format(messageLength)
					}
				},
				highlight: function(element) {
					$(element).addClass("error_input");
					$("fieldset").find("label[for=" + element.id + "]").addClass("error_label");
				},
				unhighlight: function(element) {
					$(element).removeClass("error_input");
					$(element.form).find("label[for=" + element.id + "]").removeClass("error_label");
				},
				submitHandler: function(form) {
				
					$(form).ajaxSubmit({
					
						beforeSubmit: function() {
						
							statusContainer.html('<img src="i/loading.gif" width="26" height="26" alt="loading..." />').show();
						},
						dataType:  'json',
	        			success: function(data) {	
	        				if(data.status == 1) { 
	        					
	        					statusContainer.html('<div class="success">'+data.message+'</div>').show();
	        					$("#frm").slideUp();
	        				
	        				} else {
	        					
	        					statusContainer.html('<div class="error">'+data.message+'</div>').show();
	        				}
	        			
	        			}
					});
				}
			});
			
		});
	
	},
	plan:function(){
		$(document).ready(function() {

			var latlng = new google.maps.LatLng(43.702195, 7.261555);
		    var myOptions = {
		      zoom: 16,
		      center: latlng,
		      mapTypeId: google.maps.MapTypeId.ROADMAP
		    };
		    
		    Contact.plan.map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
			
		    
		    var contentString = '<div id="map-info">'+
								'<img src="i/logo-small.jpg" width="200" height="38" />'+
								'- ouvrir dans une nouvelle fenètre -'+
								'</div>';
	
			Contact.plan.infowindow = new google.maps.InfoWindow({
				content: contentString
			});
			
			Contact.plan.marker = new google.maps.Marker({
			    position: latlng,
			    map: Contact.plan.map,
			    title:"Docteur Philippe Letertre"
			});
			
			google.maps.event.addListener(Contact.plan.marker, 'click', function() {
				Contact.plan.infowindow.open(Contact.plan.map,Contact.plan.marker);
			});

		});
		
		$(window).load(function(){
			
			Contact.plan.infowindow.open(Contact.plan.map,Contact.plan.marker);
		
		});
	}
};

var Code = {

	init:function(){
	
		$(document).ready(function() {
		
			// form validation
			
			var statusContainer = $("#code-status");
				
			statusContainer.addClass('status-js').append('<ul></ul>');
			
			$("#form").validate({
				
				errorContainer: statusContainer,
				errorLabelContainer: $("ul", statusContainer),
				wrapper: 'li', debug:true,
				
				rules: {
				
					email: { required:true, email: true }
				},
				messages: {
				
					email: { required: 'Veuillez rentrer votre email', email: 'Veuillez vérifier votre email' }
				},
				highlight: function(element) {
					$(element).addClass("error_input");
					$(element.form).find("label[for=" + element.id + "]").addClass("error_label");
				},
				unhighlight: function(element) {
					$(element).removeClass("error_input");
					$(element.form).find("label[for=" + element.id + "]").removeClass("error_label");
				},
				submitHandler: function(form) {
					$(form).ajaxSubmit({
				
						beforeSubmit: function() {
						
							statusContainer.html('<div class="success">Votre message a été envoyé. Merci !</div>').show();
							$(".row", "#form").slideUp();
						},
						dataType:  'json',
	        			success: function(data) {	
	        				if(data.status == 1) { 
	        					
	        					statusContainer.html('<div class="success">'+data.message+'</div>').show();
	        				
	        				} else {
	        					
	        					statusContainer.html('<div class="error">'+data.message+'</div>').show();
	        				}
	        			
	        			}
					});
				}
				
			});
			
			// email
				
			$emailCheckbox = $("#code-email").addClass("checkbox");
			$emailCheckbox.nextAll().toggle();
			$emailCheckbox.click(function(){$(this).toggleClass('selected').nextAll().toggle().next('input').focus(); });
			$("#form").submit(function() { if(!$emailCheckbox.hasClass('selected')){ $("#q-email").val('');} });
		
		});
	
	
	}

}


var FAQ = {

	init:function(){
		FAQ.poser.init();
		FAQ.categories.init();
	},
	poser:{
		init:function(){
		
			$(document).ready(function() {
	
				// form validation
				
				var statusContainer = $("#faq-status");
				
				statusContainer.addClass('status-js').append('<ul></ul>');
				
				$("#form").validate({
					
					errorContainer: statusContainer,
					errorLabelContainer: $("ul", statusContainer),
					wrapper: 'li', debug:true,
					
					rules: {
						question: { required: true, minlength: 10 },
						email: { required: true, email: true }
					},
					messages: {
						question: {
							required: 'Veuillez entrer votre question',
							minlength: 'Votre question doit contenir plus de 10 charactères'
						},
						email: {
							required: 'Veuillez entrer votre email',
							email: 'Veuillez vérifier votre email'
						}
					},
					highlight: function(element) {
						$(element).addClass("error_input");
						$(element.form).find("label[for=" + element.id + "]").addClass("error_label");
					},
					unhighlight: function(element) {
						$(element).removeClass("error_input");
						$(element.form).find("label[for=" + element.id + "]").removeClass("error_label");
					},
					submitHandler: function(form) {
						$(form).ajaxSubmit({
					
							beforeSubmit: function() {
							
								statusContainer.html('<img src="i/loading.gif" width="20" height="20" alt="loading..." />').show();
							},
							dataType:  'json',
		        			success: function(data) {	
		        				if(data.status == 1) { 
		        					
		        					statusContainer.html('<div class="success">'+data.message+'</div>').show();
		        					$("#frm").slideUp();
									$("#suivre").slideDown();
		        				
		        				} else {
		        					
		        					statusContainer.html('<div class="error">'+data.message+'</div>').show();
		        				}
		        			
		        			}
						});
					}
				});
				
				// email
				
				FAQ.$emailCheckbox = $("#email-checkbox").addClass("checkbox");
				FAQ.$emailCheckbox.nextAll().toggle();
				FAQ.$emailCheckbox.click(function(){$(this).toggleClass('selected').nextAll().toggle().next('input').focus(); });
				$("#form").submit(function() { if(!FAQ.$emailCheckbox.hasClass('selected')){ $("#q-email").val('');} });
				
			});
		},
		checkbox:function(){ $(document).ready(function() { FAQ.$emailCheckbox.toggleClass('selected').nextAll().toggle(); }); }
	},
	categories:{
		
		init:function() {
			$(document).ready(function() {
		
				FAQ.categories.$container = $("#categories");
				
				FAQ.categories.$all = $('li.level-1 div.header-level-1', FAQ.categories.$container);
				
				$('ul.level-2', FAQ.categories.$container).hide().parent().children('div.header-level-1').toggleClass('js');
				
				$(FAQ.categories.$all).live('click', function() {
				
					var details = $(this).toggleClass('header-open').parent();
					details.children('ul.level-2').toggle();
					return false;
				});
			
			});
		},
		openall:function(){
			$(document).ready(function() {
				FAQ.categories.$all.not('.header-open').toggleClass('header-open').nextAll().show();
				return true;
			});
		},
		closeall:function(){
			FAQ.categories.$all.hasClass('header-open').toggleClass('header-open').nextAll().hide();
		}
	}
};

var erreur = {

	sitemap:function(){
		$(document).ready(function() {
		
			var $sitemap = $("#sitemap");
			var $sitemapBtn = $("#sitemap-btn");
			
			$sitemap.hide();
			$sitemapBtn.click(function(){ $(this).toggleClass('on-it'); $sitemap.slideToggle(); return false; });
		});
	}

};









