/*	Code Javascript pour l'ascenseur
**			Par Grafikart : www.grafikart.fr
**************************************/
/*
Permet d'afficher un menu format accordeon.
@btn		Bouton qui d?clencheront les accordeon
@wrapper	Element  suivant le bouton ? cacher
*/
ascenseur = {
		// Initialisation des comportements
		/////////////////
		init : function(btn,acacher){			
			$(btn).next(acacher).hide();
			$(btn).click(function(){
				$(this).next(acacher).slideToggle(500);
				return false;
			});
		},
}
$(function(){
	ascenseur.init('.ascenseur','div');
});
/*
 Carrousel Flash
*/
carrousel = {
	init : function(){
		carrousel.menuheight =  $("#sous-head").height();
		carrousel.menucontent = $("#sous-head").html();
	},
	show : function(url_xml){
		$("#sous-head").empty();
		$("#sous-head").removeClass("menumode");
		$("#sous-head").append('<div id="replie"></div>');
		$("#replie").css("opacity","0.5");
		$("#sous-head").append('<div class="contenu"><div id="carrousel"></div></div>');
		$("#sous-head").hide();
		$("#sous-head").show(); // .slideDown(); L'animation trop relou
		var flashvars = {};
		var params = {};
		params.wmode = "transparent";
		flashvars.url_xml = url_xml;
		swfobject.embedSWF("/flash/carrousel.swf", "carrousel", "960", "276", "10.0.0", "/js/swfobject/expressInstall.swf",flashvars,params);
		$("#replie").click(function(){		carrousel.hide()	});
		$("#replie").mouseover(function(){	$("#replie").stop().fadeTo(500,1);	});
		$("#replie").mouseout(function(){	$("#replie").stop().fadeTo(500,0.5);	});	
	},
	hide : function(){
		$("#sous-head").empty();
		$("#sous-head").animate({height:carrousel.menuheight},500,function(){
			$("#sous-head").addClass("menumode");
			$("#sous-head").append(carrousel.menucontent);
			$("#sous-head .contenu").hide().fadeIn();
		});
	}
	
}

/*
	LOGIN AJAX
*/
$(function(){
	$("#sidebar .loginAjax").click(function(){
		$(this).parents(".conteneur").animate({marginLeft:-212},1000,"easeOutBack");
		return false;
	})
	$("#sidebar #bloclogin .close").click(function(){
		$(this).parents(".conteneur").animate({marginLeft:0},1000,"easeOutBack");
		return false;
	})
	$("#sidebar .formloginajax").submit(function(){
		form = $(this);
		form.parents(".bloc").append('<div class="loader"></div>');
		form.parents(".bloc").find(".loader").hide().fadeIn();
		url=$(this).attr("action");
		login = $(this).find("#UserLogin").val();
                remember = $('#UserRemember').attr('checked')
		pass =$(this).find("#UserPassword").val();
		$.post(url,{login:login,pass:pass,remember:remember},
		function(data){
			form.parents(".bloc").find(".loader").fadeOut();
			filtreErreur = /(notgood)/i
			if(filtreErreur.test(data)){
				form.parents(".bloc").find(".error-message").hide();
				form.before('<div class="error-message">Identifiants incorrects...</div>')
			}
			else{
				code = data;
				form.parents(".bloc").empty().append(code).hide().fadeIn(200);
			}
		});
		return false;
	});
});

/*
	Les infobulles des boites
*/
$(function(){
	$(".boite .infobulle").css("display","none").css("opacity",0).css("top",-45);
	$(".boite").mouseover(function(){
		info=$(this).find(".infobulle");
                info.css("display","block");
		info.stop().animate({top:-50,opacity:1},500);
	});
	$(".boite").mouseout(function(){
		info=$(this).find(".infobulle");
		info.stop().animate({top:-55,opacity:0},500,"linear",function(){
                                $(this).css("top",-45);
                                $(this).css("display","none");
                });
	});
});

/*
	LE MENU
*/
$(function(){
	menu.init();
});

menu = {
	init : function(){
		courant = null;
		menutimer= 0;
		$("#sous-head ul.menu > li").mouseover(function(){
			menu.menutimer = window.clearTimeout(menu.menutimer);
			if(courant == null || $(this).text()!=courant.text()){
				if(courant!=null){
					courant.find(".subnav").slideUp(200);
				}
				$(this).find(".subnav").hide().slideDown(200);
				courant = $(this);
			}
		});
		$("#sous-head ul.menu > li").mouseout(function(){
			menu.menutimer = window.setTimeout("menu.cacher()",150);
		});	
	},
	cacher : function(){
		$("#sous-head .subnav:visible").slideUp(200);
		courant=null;
		
	}
}


/*
	LE SCROLL
*/
$(document).ready(function(){
	$('a[href^=#]').click(function() {
		cible=$(this).attr('href');
		scrollTo(cible);
		return false;
	});
});


function scrollTo(cible){
	if($(cible).length>=1){
		hauteur=$(cible).offset().top;
	}
	else{
		hauteur=$("a[name="+cible.substr(1,cible.length-1)+"]").offset().top;
	}
	hauteur -= (windowH()-$(cible).height())/2;
	$('html,body').animate({scrollTop: hauteur}, 1000,'easeOutQuint');
	return false;
}

function  windowH(){
	if (window.innerHeight) return window.innerHeight  ;
	else{return $(window).height();}
}




/*
 PLUGIN UNIFORM
	http://pixelmatrixdesign.com/weblog/comments/announcing_uniform/
*/
(function($) {
  $.uniform = {
    options: {
      selectClass:   'selector',
			radioClass: 'radio',
			checkboxClass: 'checker',
			checkedClass: 'checked',
      focusClass: 'focus'
    }
  };

	if($.browser.msie && $.browser.version < 7){
		$.selectOpacity = false;
	}else{
		$.selectOpacity = true;
	}

  $.fn.uniform = function(options) {
    
		options = $.extend($.uniform.options, options);
	
		function doSelect(elem){
			
			var divTag = $('<div />'),
	  			spanTag = $('<span />');
		
			divTag.addClass(options.selectClass);
			
			spanTag.html(elem.children(":selected").text());
			
			elem.css('opacity', 0);
			elem.wrap(divTag);
			elem.before(spanTag);
			
			//redefine variables
			
			divTag = elem.parent("div");
			spanTag = elem.siblings("span");
			
			elem.change(function() {
       	spanTag.text(elem.children(":selected").text());
     	})
     	.focus(function() {
      	divTag.addClass(options.focusClass);
     	})
     	.blur(function() {
      	divTag.removeClass(options.focusClass);
     	});
		}
		
		function doCheckbox(elem){
			
			var divTag = $('<div />'),
	  			spanTag = $('<span />');
			
			divTag.addClass(options.checkboxClass);
			
			//wrap with the proper elements
			$(elem).wrap(divTag);
			$(elem).wrap(spanTag);
			
			//redefine variables
			
			spanTag = elem.parent();
			divTag = spanTag.parent();

			//hide normal input and add focus classes
			$(elem)
			.css("opacity", 0)
			.focus(function(){
				
				divTag.addClass(options.focusClass);
			})
			.blur(function(){
				
				divTag.removeClass(options.focusClass);
			})
			.click(function(){
				
				if(!$(elem).attr("checked")){	
					//box was just unchecked, uncheck span
					spanTag.removeClass(options.checkedClass);	
				}else{
					//box was just checked, check span
					spanTag.addClass(options.checkedClass);
				}
			});

			//handle defaults
			if($(elem).attr("checked")){
				//box is checked by default, check our box
				spanTag.addClass(options.checkedClass);	
			}
		}
		
		function doRadio(elem){
			
			var divTag = $('<div />'),
	  			spanTag = $('<span />');
			
			divTag.addClass(options.radioClass);
			
			//wrap with the proper elements
			$(elem).wrap(divTag);
			$(elem).wrap(spanTag);

			//redefine variables
			
			spanTag = elem.parent();
			divTag = spanTag.parent();

			//hide normal input and add focus classes
			$(elem)
			.css("opacity", 0)
			.focus(function(){
				divTag.addClass(options.focusClass);
			})
			.blur(function(){
				divTag.removeClass(options.focusClass);
			})
			.click(function(){
				if(!$(elem).attr("checked")){
					//box was just unchecked, uncheck span
					spanTag.removeClass(options.checkedClass);	
				}else{
					//box was just checked, check span
					$("."+options.radioClass+" span."+options.checkedClass).removeClass(options.checkedClass);
					spanTag.addClass(options.checkedClass);
				}
			});

			//handle defaults
			if($(elem).attr("checked")){
				//box is checked by default, check span
				spanTag.addClass(options.checkedClass);	
			}
		}
		
    return this.each(function() {
			if($.selectOpacity){
				var elem = $(this);

				if(elem.is("select")){
					//element is a select
					doSelect(elem);

				}else if(elem.is(":checkbox")){
					//element is a checkbox
					doCheckbox(elem);

				}else if(elem.is(":radio")){
					//element is a radio
					doRadio(elem);
				}
			}
    });
  };
})(jQuery);
$(document).ready(function(){
	$("#content select, :radio, :checkbox").uniform();
});
