var regexLettre 	= new RegExp(/^[a-zA-Z]+$/);
var regexChiffre 	= new RegExp(/^[0-9]+$/);
var regexEmail 		= new RegExp(/^[a-zA-Z0-9][a-zA-Z0-9-._]+@[a-zA-Z0-9-._]{2,}[.][a-zA-Z]{2,5}$/);
var regexCharOk		= new RegExp(/^[a-zA-Z0-9]+$/);

function goTo(url){window.location.replace(url);}
function trim(chaine){return chaine.replace(/^\s*|\s*$/g, "");}
function confirmation(message,url){	if(confirm(message))goTo(url);}

function displayErreur(tabErreur,message)
{
	if(tabErreur.length>0)
	{
		for(i=0; i<tabErreur.length; i++)
		{message+=" - "+tabErreur[i]+"\n";}
		alert(message);
		return(false);
	}
	return(true)
}

function changeEtatBloc(id)
{
	if(document.getElementById(id).style.display=="none")
		document.getElementById(id).style.display="block";
	else
		document.getElementById(id).style.display="none";
}

function verifAddQuestionPrecise()
{
	var erreur = new Array();
	if(trim(document.formulaireDemandePrecise.nom.value)=="")
		erreur.push('Le nom est vide');
	if(trim(document.formulaireDemandePrecise.prenom.value)=="")
		erreur.push('Le prénom est vide');
	if(trim(document.formulaireDemandePrecise.adresse.value)=="")
		erreur.push('L\'adresse est vide');
	if(trim(document.formulaireDemandePrecise.cp.value)=="")
		erreur.push('le code postal est vide');
	if(trim(document.formulaireDemandePrecise.ville.value)=="")
		erreur.push('La ville est vide');
	if(trim(document.formulaireDemandePrecise.telephone.value)=="")
		erreur.push('Le numéro de téléphone est vide');
	if(trim(document.formulaireDemandePrecise.email.value)=="")
		erreur.push('L\'adresse e-mail est vide');
	else if(!regexEmail.test(trim(document.formulaireDemandePrecise.email.value)))
		erreur.push('L\'adresse e-mail semble invalide');
	if(trim(document.formulaireDemandePrecise.prixEnvisage.value)!="" && !regexChiffre.test(trim(document.formulaireDemandePrecise.prixEnvisage.value)))
		erreur.push('Le prix envisagé doit être un entier, c\'est à dire uniquement composé de chiffres');
	
	return displayErreur(erreur,'Enregistrement de la demande impossible:\n');
}

function verifAddInscriptionInternet()
{
	var erreur = new Array();
	if(trim(document.forumlaireInscription.nom.value)=="")
		erreur.push('Le nom est vide');
	if(trim(document.forumlaireInscription.prenom.value)=="")
		erreur.push('Le prénom est vide');
	if(trim(document.forumlaireInscription.adresse.value)=="")
		erreur.push('L\'adresse est vide');
	if(trim(document.forumlaireInscription.cp.value)=="")
		erreur.push('le code postal est vide');
	if(trim(document.forumlaireInscription.ville.value)=="")
		erreur.push('La ville est vide');
	if(trim(document.forumlaireInscription.email.value)=="")
		erreur.push('L\'adresse e-mail est vide');
	else if(!regexEmail.test(trim(document.forumlaireInscription.email.value)))
		erreur.push('L\'adresse e-mail semble invalide');
	
	var password = trim(document.forumlaireInscription.password.value);
	if(password=="")
		erreur.push('Le mot de passe est vide');
	else if(!regexCharOk.test(password))
		erreur.push('Seul les lettres et les chiffres sont autorisés pour le mote de passe');
	else if(password.length<4 || password.length>10)
		erreur.push('Longueur du mot de passe incorrecte,il doit faire de 4 à 10 caractères');
	return displayErreur(erreur,'Enregistrement de votre profil impossible:\n');
}


var Mouse_X;
var Mouse_Y;
var decalage_left=20;
var decalage_top=20;
var apercu_width=400;
var apercu_height=300;
var is_apercu=false;
var min_width=null;
var max_width=null;
var min_height=null;
var max_height=null;
var apercu_heigth_reel=null;
var marge_erreur=5;


function WhereMouse( e )
{
	var DocRef;
	if(e)
	{
		Mouse_X = e.pageX;
		Mouse_Y = e.pageY;
	}
	else
	{
		Mouse_X = event.clientX;
		Mouse_Y = event.clientY;

		if( document.documentElement && document.documentElement.clientWidth) 
			DocRef = document.documentElement;
		else
			DocRef = document.body;

		Mouse_X += DocRef.scrollLeft;
		Mouse_Y += DocRef.scrollTop;
	}

if(Mouse_X>=(min_width-marge_erreur) && Mouse_X<=(max_width+marge_erreur) && Mouse_Y>=(min_height-marge_erreur) && Mouse_Y<=(max_height+marge_erreur) && is_apercu===true)
		deplacerImage();
	else if(is_apercu===true)
		destroyImage();

}

function whereIs(myNode)
{
	originalNode = myNode;
	x = 0;
	y = 0;
	while (myNode.tagName != 'BODY')
	{
		x += myNode.offsetLeft;
		y += myNode.offsetTop;
		myNode = myNode.offsetParent;
	}
	originalNode.magicPositionX = x;
	originalNode.magicPositionY = y;
}

function createImage(image)
{
	if(is_apercu!==false)
		return false;
	
	whereIs(image);
	min_width=image.magicPositionX;
	min_height=image.magicPositionY;
	
	max_width=image.clientWidth+min_width;
	max_height=image.clientHeight+min_height;
	
	var coeff=image.clientWidth/image.clientHeight;
	if(image.clientWidth>image.clientHeight)
	{
		var newWidth=apercu_width;
		apercu_heigth_reel=newWidth/coeff;
	}
	else
	{
		apercu_heigth_reel=apercu_height;
		var newWidth=apercu_heigth_reel*coeff;
	}
	
	var image_apercu = document.createElement("img");
	image_apercu.src=image.src;
	image_apercu.style.position='absolute';
	image_apercu.style.left=Mouse_X+decalage_left;
	image_apercu.style.top=Mouse_Y+decalage_top;
	image_apercu.width=newWidth;
	image_apercu.height=apercu_heigth_reel;
	image_apercu.id='image_apercu';
	image_apercu.style.border='solid 1px #f48057';
	document.body.appendChild(image_apercu);
	
	is_apercu=true;
}


function destroyImage()
{
	document.body.removeChild(document.getElementById('image_apercu'));
	is_apercu=false;
}

function deplacerImage()
{
		document.getElementById('image_apercu').style.left=Mouse_X+decalage_left;
		
		if( document.documentElement && document.documentElement.clientWidth) 
				DocRef = document.documentElement;
		else
			DocRef = document.body;
			
		if((Mouse_Y+decalage_top+apercu_heigth_reel)<(document.body.clientHeight+(document.body.scrollTop-marge_erreur)))
			document.getElementById('image_apercu').style.top=Mouse_Y+decalage_top;
		else{
			document.getElementById('image_apercu').style.top=(document.body.clientHeight+(document.body.scrollTop-marge_erreur))-apercu_heigth_reel;
		}
		//alert(Mouse_Y+decalage_top+apercu_heigth_reel+'-'+document.body.clientHeight)

}

function generer_password_vendeur(id_bloc_reponse)
{	
	var chaine = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var lgMdp = 6;
	
	var mdp = "";
	maxi=chaine.length-1;
	mini=0;
	for (var i= 0; i<lgMdp; i++) 
	{
		nbHasard=Math.floor(Math.random()*(maxi-mini))+mini;
		mdp +=chaine.charAt(nbHasard);
	}
	document.getElementById(id_bloc_reponse).value=mdp;
}