
//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;
function getNaturalHeight(img)
{	
	if(typeof img.naturalHeight == "undefined") 
	{		
		var temp_image = new Image();		
		temp_image.src = img.src;		
		return temp_image.height;	
	} 
	else 
	{		
		return img.naturalHeight;	
	}
}

function getNaturalWidth(img) 
{	
	if(typeof img.naturalWidth == "undefined") 
	{		
		var temp_image = new Image();		
		temp_image.src = img.src;		
		return temp_image.width;	
	} 
	else 
	{		
		return img.naturalWidth;	
	}
}
//loading popup with jQuery magic!
function loadPopup()
{
	//loads popup only if it is disabled
	if(popupStatus==0)
	{
		$("#backgroundPopup").css({
		"opacity": "0.7"
		});
		$("#backgroundPopup").fadeIn("slow");
		$("#popupContact").fadeIn("slow");
		popupStatus = 1;
	}
}	
//disabling popup with jQuery magic!
function disablePopup()
{
	//disables popup only if it is enabled
	if(popupStatus==1)
	{
		$("#backgroundPopup").fadeOut("slow");
		$("#popupContact").fadeOut("slow");
		popupStatus = 0;
	}
}
//centering popup
function centerPopup(hauteur, himage, limage)
{
	//request data for centering
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight = hauteur;
	var popupHeight = himage;
	var popupWidth = limage;
	//centering
	$("#popupContact").css({
	"position": "absolute",
	"top": windowHeight-popupHeight/2,  
	"left": windowWidth/2-popupWidth/2,
	"height" : himage+80+"px",
	"width" : limage+20+"px"
	});
	//only need force for IE6

	$("#backgroundPopup").css({
	"height": document.documentElement.clientHeight
	});
}
$(function(){
//formulaire d'inscription
	var nouv=$('#nouv').val();
	$("input").bind({
		focus: function(){
			$(this).css('background-color','#ECEEEC');
		},
		blur : function(){
			$(this).css('background-color','#FFF');
		}
	});
	$("input[name=nom]").bind({
		blur: function(){
			noms = trim($(this).val());
			$(this).val(noms);
			if (((noms.indexOf(' '))=='-1')||((noms.indexOf(' '))==noms.length-1))
			{
				$(".erreurnom").html("Veuillez saisir vos prénom <strong>ET</strong> nom");
				$(".erreurnom").css("color", "#F00");
				$("#erreur").css("border-color",'#F00');
			}
			else
			{
				$(".erreurnom").html("Nom et prénom correct");
				$(".erreurnom").css("color", "#000");
				$("#erreur").css("border-color",'#0F0');
			}
		}
	});
	if (nouv)
	$("input[name=pseudo]").bind({
		blur: function(){
			var pseudonyme=trim($(this).val());
			$(this).val(pseudonyme);
			if (pseudonyme.length>3)
			{
				$.post("fonctions/verif-pseudo.php5",{
					pseudo : pseudonyme},
					function (msg){
						if(msg!=0)
						{
							$(".erreurpseudo").html("Cet identifiant est déjà utilisé");
							$(".erreurpseudo").css("color", "#F00");
							$("#erreur").css("border-color",'#F00');
						}
						else
						{
							$(".erreurpseudo").html("Identifiant correct");
							$(".erreurpseudo").css("color", "#000");
							$("#erreur").css("border-color",'#0F0');
						}
					}
				);
			}
			else
			{
				$(".erreurpseudo").html("Cet identifiant est trop court");
				$(".erreurpseudo").css("color", "#F00");
				$("#erreur").css("border-color",'#F00');
			}
		}
	});
	$("input[name=mdp1]").passwordStrength();
	$("input[name=mdp2]").bind({
		blur: function(){
	if (nouv||($(this).val()!=''))
			if($(this).val()!=$("input[name=mdp1]").val())
			{
				$(".erreurmdp").html("Force du mot de passe");
				$("input[name=mdp2]").css("background-color", "#F00");
				$("#erreur").css("border-color",'#F00');
			}
			else
			{
				$(".erreurmdp").html("Mot de passe correct");
				$(".erreurmdp").css("color", "#000");
				$("input[name=mdp2]").css("background-color", "#FFF");
				$("#erreur").css("border-color",'#0F0');
			}
		}
	});
	$("input[name=email]").bind({
			blur: function(){
				var email=trim($(this).val());
				$(this).val(email);
				var verif = RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,4}$");
				if (verif.exec(email) == null)
				{
					$(".erreurmail").html("Adresse incorrecte");
					$(".erreurmail").css("color", "#F00");
					$("#erreur").css("border-color",'#F00');
				}
				else
				{
					$(".erreurmail").html("Adresse correcte");
					$(".erreurmail").css("color", "#000");
					$("#erreur").css("border-color",'#0F0');
				} 
			}
	});
//formulaire de création ou modification d'article	
	$("#sections").bind({
			change : function(){
				$.post("fonctions/change-categorie.php5",{
				id_section : $(this).val()},
				function (msg){
					$("#categories").html(msg);
					}
				);
			}
	});
	$("#categories").bind({
			change : function(){
				$.post("fonctions/change-ordre.php5",{
				ordre : $(this).val(),
				lien : $("input[name=lien]").val()},
				function (msg){
					$("#ordre").html(msg);
					}
				);
			}
	});
});
$(document).ready(  
function()
{
	var chrono = 500;
	var fermer = 0;
	var sumenu = 0;
	function MenuD_open()
	{  
		MenuD_canceltimer();
		MenuD_close();
		sumenu = $(this).find('ul').css('visibility', 'visible');
	}
	function MenuD_close()
	{  
		if(sumenu) sumenu.css('visibility', 'hidden');
	}
	function MenuD_timer()
	{  
		fermer = window.setTimeout(MenuD_close, chrono);
	}
	function MenuD_canceltimer()
	{  
		if(fermer)
		{  
			window.clearTimeout(fermer);
			fermer = null;
		}
	}
	$(document).ready(
		function()
		{  
			$('#MenuD > li').bind('mouseover', MenuD_open)
			$('#MenuD > li').bind('mouseout',  MenuD_timer)
		}
	);
	document.onclick = MenuD_close;

//-------------------ouverture du cadre-----------------------------
 
	
	//LOADING POPUP
	//Click the button event!
	$("img").click(function(e){ 
		//centering with css
		var imag = new Image();
		imag.src = $(this).attr("src");
		hautimage = getNaturalHeight(imag);
		largimage = getNaturalWidth(imag);
		
		centerPopup(e.pageY, hautimage, largimage);
		//load popup
		loadPopup();
		//on charge le contenu en question
		$("#popupContact").html("Cliquez pour fermer<br><img src='"+$(this).attr("src")+"' style='width:"+largimage+"; height:"+hautimage+"; margin:10px;'><br>"+$(this).attr("alt"));
	});
				
	//CLOSING POPUP
	//Click the x event!
	$("#popupContact").click(function(){
		disablePopup();
	});
	//Click out event!
	$("#backgroundPopup").click(function(){
		disablePopup();
	});
	//Press Escape event!
	$(document).keypress(function(e){
		if(e.keyCode==27 && popupStatus==1){
			disablePopup();
		}
	});
});

//fonctions externes
$.fn.passwordStrength = function( options ){
	return this.each(function(){
		var that = this;that.opts = {};
		that.opts = $.extend({}, $.fn.passwordStrength.defaults, options);
		
		that.div = $(that.opts.targetDiv);
		that.defaultClass = that.div.attr('class');
		
		that.percents = (that.opts.classes.length) ? 100 / that.opts.classes.length : 100;

		 v = $(this)
		.keyup(function(){
			if( typeof el == "undefined" )
				this.el = $(this);
			var s = getPasswordStrength (this.value);
			var p = this.percents;
			var t = Math.floor( s / p );
			
			if( 100 <= s )
				t = this.opts.classes.length - 1;
				
			this.div
				.removeAttr('class')
				.addClass( this.defaultClass )
				.addClass( this.opts.classes[ t ] );
				
		})
		.next()
	});

	function getPasswordStrength(H){
		var D=(H.length);
		if(D>5){
			D=5
		}
		var F=H.replace(/[0-9]/g,"");
		var G=(H.length-F.length);
		if(G>3){G=3}
		var A=H.replace(/\W/g,"");
		var C=(H.length-A.length);
		if(C>3){C=3}
		var B=H.replace(/[A-Z]/g,"");
		var I=(H.length-B.length);
		if(I>3){I=3}
		var E=((D*10)-20)+(G*10)+(C*15)+(I*10);
		if(E<0){E=0}
		if(E>100){E=100}
		return E
	}
};
function trim (myString)
{
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
} 	
$.fn.passwordStrength.defaults = {
	classes : Array('is10','is20','is30','is40','is50','is60','is70','is80','is90','is100'),
	targetDiv : '#passwordStrengthDiv',
	cache : {}
}
