function reach(id,f){
	id=id||'';
	var y=(id!='')?$('#'+id).offset().top:0;
	$("html,body").animate({scrollTop:y},"slow",function(){window.location.href='#'+id;if(f){f();} });
	return false;
}

function reachTop(){
	reach();
	return false;
}

//-------------------------------------------------------Mentions Manager----------------------------------------------------------------//

var mentionsManager={
	toggle:function(){
		var jqElt = $('#mentions_legales');
		jqElt.stop().animate({height:((jqElt.height()==0)?$('#mentions_legales .content').outerHeight():'0')+'px'},400);
		return false;
	},
	init:function(){
		$('#mentionsButton, #close_mentions_button').click(mentionsManager.toggle);
	}
}

//-------------------------------------------------------Contact Manager----------------------------------------------------------------//

var contactManager = {
	state:false,
	
	toggle:function(subject){
		if(!contactManager.state){
 			contactManager.show(subject);
		}else{
			contactManager.hide();
		}
		return false;
	},
	
	s:function(){
		$('#contact').css('visibility','visible');
		$('#contact .content').stop().animate({marginTop:0},400);
	},

	hide:function(){
		contactManager.state = false;
		$('#contact .content').stop().animate({marginTop:-$('#contact .content').outerHeight()},400,function(){$('#contact').css('visibility','hidden');})
	},

	show:function(subject){
		contactManager.state = true;
		if(subject){
			$('#contactSubject').attr('value',subject);
 		}
		var y = $('#contact_button').offset().top;
		if($("html,body").scrollTop()>y){
			$("html,body").animate({scrollTop:y},400,contactManager.s);
		}else{
			y = $('#contact_button').offset().top+$('#contact .content').outerHeight()-$(window).height()+$('#contact_button').outerHeight()+10;
			if(y>$("html,body").scrollTop()){
				$("html,body").animate({scrollTop:y},400,contactManager.s);
			}else{
				contactManager.s();
			}
		}
	},

	init:function(){
		$('#contact .content').css('margin-top',-$('#contact .content').outerHeight());
		$('#newsletterLink').click(function(){contactManager.toggle($('#newsletterLink').attr('rel'));return false;});
		$('#close_contact_button, #contact_button').click(function(){contactManager.toggle();return false;});
		$('#left-column a[href=/contact/]').click(function(e){contactManager.show($(e.target).attr('rel')); return false;});
	}

}

//-------------------------------------------------------ContactFormManager----------------------------------------------------------------//

var contactFormManager={

	isSendingMail:false,

	showMailAnswer:function(data){
		$('#contact_message').removeClass().addClass(data.code).css('display','block').html(data.message);
		if(data.code=='ok'){
			$('#contact input[type=text], #contact textarea').val('');
		}
		contactFormManager.isSendingMail = false;
	},
	
	submit:function(){
		if(!contactFormManager.isSendingMail){
			contactFormManager.isSendingMail = true;
			var data={firstname:$('#contactFirstname').val(),
					lastname:$('#contactLastname').val(),
					email:$('#contactEmail').val(),
					company:$('#contactCompany').val(),
					position:$('#contactPosition').val(),
					message:$('#contactMessage').val(),
					subject:$('#contactSubject').val(),
					ajax:'true'
			}
			$.post("/mailsender.php", data, contactFormManager.showMailAnswer, 'json' );
			$('#contact_message').removeClass().addClass('sending').css('display','block').html('Envoi du message en cours...')
		}
		return(false);
	},
	
	init:function(){
		$('#submit_button').click(contactFormManager.submit);
	}

}

//-------------------------------------------------------Quotes Manager----------------------------------------------------------------//

var quotesManager = {
	currentTopic:0,
	oldTopic:null,
	timerCall:null,
	isMoving:false,	
	
	showTopic:function(num){
		if(!quotesManager.isMoving){
			quotesManager.oldTopic = quotesManager.currentTopic;
			quotesManager.currentTopic = Number(num);
			quotesManager.showCurrentTopic();
		}
	},

	nextTopic:function(){
		if(!quotesManager.isMoving){
			quotesManager.oldTopic = quotesManager.currentTopic;
			quotesManager.currentTopic = (quotesManager.currentTopic==$('#testimonials .topic').length-1)?0:quotesManager.currentTopic+1;
			quotesManager.showCurrentTopic();
		}
	},

	prevTopic:function(){
		if(!quotesManager.isMoving){
			quotesManager.oldTopic = quotesManager.currentTopic;
			quotesManager.currentTopic = (quotesManager.currentTopic==0)?$('#testimonials .topic').length-1:quotesManager.currentTopic-1;
      	quotesManager.showCurrentTopic();
		}
	},

	showCurrentTopic:function(){
		$("#testimonials .radio[value='"+quotesManager.oldTopic+"']").removeClass('on');
		$("#testimonials .radio[value='"+quotesManager.currentTopic+"']").addClass('on');
		clearTimeout(quotesManager.timerCall)
		var oldElt = $('#testimonials .topic:nth-child('+(quotesManager.oldTopic+1)+')');
		var newElt = $('#testimonials .topic:nth-child('+(quotesManager.currentTopic+1)+')');
		quotesManager.isMoving = true;
		oldElt.fadeOut(300,function(){newElt.fadeIn(300,function(){quotesManager.isMoving = false; quotesManager.timerCall = setTimeout(quotesManager.nextTopic,8000)});});
	},

	init:function(){
		var h=0;
		for(i=0; i<$('#testimonials .topic').length; i++){
			h=Math.max(h,(parseInt($('#testimonials .topic:nth-child('+(i+1)+')').outerHeight())));
			$('#testimonials .radios').append('<span class="radio'+(i==($('#testimonials .topic').length-1)?' on':'')+'" value="'+($('#testimonials .topic').length-1-i)+'"></span>');
		}	
		$('#testimonials .footer img').css('visibility','visible');
		$('#testimonials .content').css('height',h);
		$('#testimonials .prev').click(quotesManager.prevTopic);
		$('#testimonials .next').click(quotesManager.nextTopic);
		$('#testimonials .radio').click(function(e){quotesManager.showTopic($(e.target).attr('value'));});
	}

}

//-------------------------------------------------------PageMenuManager----------------------------------------------------------------//

pageMenuManager={
	init:function(){
		var list =  $('h2[class=section]','#left-column');
		if(list.length>0){
			var sectionsMenu='<ul id="shortcutsMenu">';
			for(var i=0; i<list.length; i++){
				var elt = $(list.get(i));
				var id = elt.attr('id');
				var f = "return reach('"+id+"')";
				sectionsMenu +='<li><a href="#'+id+'" onclick="'+f+'">'+elt.html()+'</a></li>';
			}
			sectionsMenu +='</ul>';
			elt = $('#page_content #subMenuFooter');
			elt = elt.length==0?$('#page_content h1'):elt;
			elt.after(sectionsMenu);
			list.append("&nbsp;<a href='#' onclick='reachTop(); return false;' title='haut de page' class='upButton' ><img src='/wp-content/themes/linkfluence_classic/images/upButton.png' alt='haut de page'/></a>");
		}
	}
}

//-------------------------------------------------------Initialisation----------------------------------------------------------------//

$(document).ready(function(){
	pageMenuManager.init();
	quotesManager.init();
	contactManager.init();
	mentionsManager.init();
	contactFormManager.init();
	$('#upButton').click(reachTop);
});	

