﻿//****************************************************************************************************************************************************************************************************
//                                    										SITE
//****************************************************************************************************************************************************************************************************
// preload image
function preloadImage(_image) {
	var image = new Image;
	image.src = _image;
}

// ajout au favoris
function add_bookmark()
{
	var ua=navigator.userAgent.toLowerCase();
	var konq=(ua.indexOf('konqueror')!=-1);
	var saf=(ua.indexOf('webkit')!=-1);
	var mac=(ua.indexOf('mac')!=-1);
	var ctrlKey=mac?'Command/Cmd':'CTRL';

	if(window.external && (!document.createTextNode ||(typeof(window.external.AddFavorite)=='unknown'))) {
		window.external.AddFavorite("http://www.leboncoin.fr/","Petites annonces gratuites d'occasion - leboncoin.fr");
	}
	else if(konq) {
		alert('Veuillez appuyer sur CTRL + B pour ajouter ce site à vos favoris.');
	} else if(window.opera) {
		void(0);
	} else if(window.home||saf) {
		alert('Veuillez appuyer sur '+ctrlKey+' + D pour ajouter ce site à vos favoris.');

	} else if(!window.print || mac) {
		alert('Veuillez appuyer sur Command/Cmd + D pour ajouter ce site à vos favoris.');    
	} else {
		alert('Votre navigateur internet n\'étant pas reconnu, vous devrez ajouter ce site manuellement à vos favoris.');
	}
}

//****************************************************************************************************************************************************************************************************
//                                    										DETECTION NAVIGATEUR
//****************************************************************************************************************************************************************************************************
function detectBrowser()
{
	if (navigator.appName=='Microsoft Internet Explorer')
		return "ie";
	else
		return "autre";
}


//****************************************************************************************************************************************************************************************************
//                                    										POPUP
//****************************************************************************************************************************************************************************************************
function ouvrirPopup(chemin,largeur,hauteur)
{
	window.open(chemin,'_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0, width='+largeur+', height='+hauteur);
}

//****************************************************************************************************************************************************************************************************
//                                    										ANIMATION
//****************************************************************************************************************************************************************************************************
 function affichDiv(name)
{
	document.getElementById(name).style.display = "block";
}

 function cachDiv(name)
{
	document.getElementById(name).style.display = "none";
}

function msg_defilant() {
	var vitesse_msg = 80; // rêgle la rapidité, diminue = plus rapide, augmente = plus lent
	// vérif. si position caractêre supérieur a la longueur de la chaine
	//if (pos_char >= notre_msg.length) {pos_char=0}
	mem_msg=mem_msg + notre_msg.substring(pos_char,pos_char+1);
  	//pos_char++;
	pos_char = (pos_char + 1) % notre_msg.length;
	// on limite la largueur en terme de carateres	
	var msg_tmpo=mem_msg; // variable temporaire
	mem_msg="";
	mem_msg=msg_tmpo.substring(msg_tmpo.length-80,msg_tmpo.length); // 48 caractêres
	msg_tmpo="";
	msg_tmpo = mem_msg.replace(/ /g, "&nbsp;"); // remplace les espaces par : "&nbsp;"
	// Ajout d'un décalage d'un espace a gauche entre le texte et l'image
	msg_tmpo="&nbsp;" + msg_tmpo; 
	// Insertion du texte
	var b_txt_deroulant=document.getElementById("txtDeroulant");
	b_txt_deroulant.innerHTML=msg_tmpo;
	window.setTimeout("msg_defilant()",vitesse_msg); // Re-lance la fonction
}

//****************************************************************************************************************************************************************************************************
//                                    										CHECKBOX
//****************************************************************************************************************************************************************************************************
// controler le nombre de checkbox cocher
function controleNbreCocher(id)
{
	var i, visiteur = 0;
	var oElement ;
	// permet de compter le nombre de checkbox qui ont été coché
	for ( i = 0 ; i < document.getElementById(id).elements.length ; i++ ) 
	{	
		oElement = document.getElementById(id).elements[i] ;
		if ( oElement.tagName.toLowerCase( ) == "input" ) 
		{
			if ( oElement.type.toLowerCase( ) == "checkbox" ) 
			{
				if ( oElement.checked == true ) 
					visiteur++ ;
			}
		}
	}
	if (visiteur == 0) 
	{
	  alert("Vous devez cocher au moins un élément.");
	  return false;
	}
	else
	{
		validForm(id)
		return true;
	}
}

// check toutes les checkbox
function checkAll(id,valeur)
{
	var checkboxes = document.getElementById(id).getElementsByTagName('input');

	for (var i=0;i<checkboxes.length;i++)
	{
	  if(checkboxes[i].type == 'checkbox')
		checkboxes[i].checked = valeur;
	}
	return true;
}

//****************************************************************************************************************************************************************************************************
//                                    										DONNEES DIVERS
//****************************************************************************************************************************************************************************************************
// vérifi l'adresse mail
function testMail(mail)
{
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]-{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');

	if(reg.test(mail))
		return(true);
	else
		return(false);
}

// vérifi le code postal
function testCP(cp)
{
	var reg = new RegExp("^([0-9]{5})$", 'i');

	if(reg.test(cp))
		return(true);
	else
		return(false);
}
  
//****************************************************************************************************************************************************
//             FORMULAIRE
//****************************************************************************************************************************************************
	function verifForm(id)
	{
		if(document.getElementById(id).titre.value=="")
		{
			alert("Vous devez saisir un titre.");
			document.getElementById(id).titre.focus();
		}
		else
		{
			validForm(id);
		}
		return;
	}
	
	function validForm(id)
	{
		document.getElementById(id).submit();
	}
	
	function validSuppression(chemin)
	{
		if(confirm('êtes-vous sûr de vouloir supprimer définitivement l\'élément ?'))
		{
			document.location.href=chemin;
		}
	}
	
	function validAnnuler(chemin)
	{
		if(confirm('êtes-vous sûr de vouloir annuler définitivement l\'élément ?'))
		{
			document.location.href=chemin;
		}
	}
	
	function validImportation(chemin)
	{
		if(confirm('êtes-vous sûr de vouloir importer les nouveaux éléments ?'))
		{
			document.location.href=chemin;
		}
	}
	
	function videInput(id)
	{
		document.getElementById(id).value="";
	}
	
//****************************************************************************************************************************************************
//             DATE
//****************************************************************************************************************************************************
// Enleve le '0' des nb < 10
function convNum(tabDeDate) {
for (i=0; i<tabDeDate.length; i++)
tabDeDate[i] = (tabDeDate[i].charAt(0)=='0')?tabDeDate[i].charAt(1):tabDeDate[i];
return tabDeDate;
}
// Retourne 1 si valeur_date1 < valeur_date2
// 0 si valeur_date1 = valeur_date2
// -1 si valeur_date1 > valeur_date2
function compareDates(valeur_date1, valeur_date2)
{
	var tabDate1 = valeur_date1.split('/');
	tabDate1 = convNum(tabDate1);
	var datTest_Date1 = new Date(parseInt(tabDate1[2]), parseInt(tabDate1[1])-1, parseInt(tabDate1[0]));
	var tabDate2 = valeur_date2.split('/');
	tabDate2 = convNum(tabDate2);
	var datTest_Date2 = new Date(parseInt(tabDate2[2]), parseInt(tabDate2[1])-1, parseInt(tabDate2[0]));
	return (datTest_Date2-datTest_Date1==0)?"0":(datTest_Date2-datTest_Date1<0)?"-1":"1";
}

// Vérifie le format d une date saisie
function verifDate(valeur_date)
{ 
	var tabDate = valeur_date.split('/');
	tabDate = convNum(tabDate);
	var datTest_Date = new Date(parseInt(tabDate[2]), parseInt(tabDate[1])-1, parseInt(tabDate[0]));
	if (valeur_date.length>10)
	{ 
		alert('Ne dois pas dépasser 10 caractêres.');
		return false;
	}
	for (i=0; i<valeur_date.length; i++)
	{ 
		if (valeur_date.charAt(i) == ' ')
		{ 
			alert("La date ne doit pas contenir d\'espaces.");
			return false;
		}
	}
	if (valeur_date.length > 0)
	{ 
		if ((parseInt(tabDate[0]) != datTest_Date.getDate()) || (parseInt(tabDate[1]) != parseInt(datTest_Date.getMonth())+1))
		{ 
			alert("Veuillez saisir la date au format 'J/M/SSAA' ou JJ/MM/SSAA.\n\nex : 6/6/2004 ou 06/06/2004");
			return false;
		}
		if ((tabDate[2].length != 4) || (parseInt(tabDate[2]) < 1980) || (parseInt(tabDate[2]) > 2099))
		{ 
			alert("Veuillez saisir l'année sur 4 chiffres.\n\nElle doit être comprise entre 1980 et 2099.");
			return false;
		}
	}
	return true;
}
