function addEvent(obj,evt,fnc){
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,true);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
	else{
		MyAttachEvent(obj,evt,fnc);
		obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
	}
} 

//The following are for browsers like NS4 or IE5Mac which don't support either
//attachEvent or addEventListener
function MyAttachEvent(obj,evt,fnc){
	if (!obj.myEvents) obj.myEvents={};
	if (!obj.myEvents[evt]) obj.myEvents[evt]=[];
	var evts = obj.myEvents[evt];
	evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt){
	if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
	var evts = obj.myEvents[evt];
	for (var i=0,len=evts.length;i<len;i++) evts[i]();
}
			
			
//fonction permettant d'afficher l'element passé en paramètre
function afficher(thingId) 
{
	var targetElement;
	targetElement = document.getElementById(thingId) ;
		if (targetElement.style.display == "none") 
		{
			targetElement.style.display = "" ;
		}
		if (targetElement.style.visibility == "hidden" )
		{
			targetElement.style.visibility = "";
		}
}


//fonction permettant de masquer l'element passé en paramètre
function masquer(thingId) 
{
	var targetElement;
	targetElement = document.getElementById(thingId) ;
		if (targetElement.style.display != "none") 
		{
			targetElement.style.display = "none" ;
		}
		if (targetElement.style.visibility != "hidden" )
		{
			targetElement.style.visibility = "hidden";
		}
}




function afficherMasquer(thingId) 
{
	var targetElement;
	targetElement = document.getElementById(thingId) ;
		if (targetElement.style.display == "none") 
		{
			targetElement.style.display = "" ;
		}
		else if (targetElement.style.display != "none") 
		{
			targetElement.style.display = "none" ;
		}
}


function isEmail (email)
{
	return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

// Fonction de vérification des informations avant le traitement (ex:insertion dans la base de données)
function verificationCompte()
{
	if(document.formulaire.mdp.value!='' && document.formulaire.mdp2.value=='')
	{
		document.getElementById('erreur_mdp2').innerHTML = "<span class='erreur_compte'>Veuillez remplir ce champ si vous souhaitez changer de mot de passe.</span>";
		return false;
	}
	else
	{
		document.getElementById('erreur_mdp2').innerHTML = "";
	}
	
	if(document.formulaire.mdp.value=='' && document.formulaire.mdp2.value!='')
	{
		document.getElementById('erreur_mdp').innerHTML = "<span class='erreur_compte'>Veuillez remplir ce champ si vous souhaitez changer de mot de passe.</span>";
		return false;
	}
	else
	{
		document.getElementById('erreur_mdp').innerHTML = "";
	}
	
	if(document.formulaire.mdp.value!='' && document.formulaire.mdp2.value!='')
	{
		if(document.formulaire.mdp.value.length < 4 ||  document.formulaire.mdp2.value.length < 4)
		{
			document.getElementById('erreur_mdp').innerHTML = "<span class='erreur_compte'>Le mot de passe saisi est trop court. (4 caractères minimum)</span>";
			return false;
		}
		if(document.formulaire.mdp.value != document.formulaire.mdp2.value)
		{
			document.getElementById('erreur_mdp').innerHTML = "<span class='erreur_compte'>Les deux mots de passe ne correspondent pas.</span>";
			return false;
		}
		else
		{
			document.getElementById('erreur_mdp').innerHTML = "";
		}
	}
	
	if(document.formulaire.email.value=='')
	{
		document.getElementById('erreur_email').innerHTML = "<span class='erreur_compte'>Veuillez renseigner votre adresse e-mail.</span>";
		return false;
	}
	else
	{
		if(!isEmail(document.formulaire.email.value))
		{
			document.getElementById('erreur_email').innerHTML = "<span class='erreur_compte'>L'adresse e-mail saisie n'est pas valide.</span>";
			return false;
		}
		else
		{
			document.getElementById('erreur_email').innerHTML = "";			
		}
	}
	
	actionCompte('?mdp='+document.formulaire.mdp.value+'&email='+document.formulaire.email.value);

}


var http; // Notre objet XMLHttpRequest
var httpEnligne; // Notre objet XMLHttpRequest

function creerObjetRequete()
{
    var http;
    if(window.XMLHttpRequest)
    { // Mozilla, Safari, ...
        http = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    { // Internet Explorer
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return http;
	
}



// Fonction destinée à interagir : envoyer un flash, visite de la fiche d'un membre, etc. 
function action(action,idM,flash_idM,out)
{
	var action = action;
	var idM = idM;
	var flash_idM = flash_idM;
	var out = out;
	if(action!="visite")
	{
    	//document.getElementById(action+flash_idM).innerHTML = '<em>En cours...</em>';
	}
    http = creerObjetRequete();
    http.open('get', '/actions/act_'+action+'.php?m='+idM+'&f='+flash_idM+'&out='+out, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				//document.getElementById(action+flash_idM).innerHTML = http.responseText;
				tooltip.show(http.responseText,500);
			}
			else
			{
				document.getElementById(action+flash_idM).innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);
}


// Fonction permettant de répondre à un message
// La zone de discussion est mise à jour si l'envoi du message a réussi
function repondre(expediteur,destinataire,idSite)
{
	var objet = document.getElementById('objet').value;
	var message = document.getElementById('reponse').value;
	
    document.getElementById('reponse_att').innerHTML = '<center><img src="/designSpecifique/'+idSite+'/chargement_mini.gif"/></center>';
	document.getElementById('reponse_att').style.visibility = "visible";
	
    httpEnligne = creerObjetRequete();
    httpEnligne.open('post', '/actions/act_repondre.php?exp='+expediteur+'&dest='+destinataire+'&obj='+objet+'&mess='+message);
	
    httpEnligne.onreadystatechange = function() {	
		if(httpEnligne.readyState == 4)
		{
			if(httpEnligne.status == 200)
			{
				document.getElementById('reponse_att').innerHTML = httpEnligne.responseText;
				document.getElementById('reponse').value = "";
				setTimeout(function() {document.getElementById('reponse_att').style.visibility = "hidden"},3000);
			}
			else
			{
				document.getElementById('reponse_att').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    httpEnligne.send(null);
}



// Fonction permettant de supprimer un message
function supprimer(idMembre, idMessage, idSite)
{
    document.getElementById(idMessage).innerHTML = '<center><img src="/designSpecifique/'+idSite+'/chargement_mini.gif"/></center>';
	
    http = creerObjetRequete();
    http.open('get', '/actions/act_message_supprimer.php?exp='+idMembre+'&idMessage='+idMessage, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById(idMessage).style.display = 
				document.getElementById(idMessage+"Bas").style.display = "none";
				/*document.getElementById(idMessage).style.backgroundColor = "#DDDDBB";
    			document.getElementById(idMessage).innerHTML = '<center>Message supprimé</center>';*/
   				//setTimeout(function() {document.getElementById(idMessage).style.display = "none"},2000);
				//document.getElementById(idMessage).innerHTML = http.responseText;
			}
			else
			{
				document.getElementById(idMessage).innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);
}

// Fonction permettant d'envoyer la requete de mise à jour des informations liées au compte (adresse e-mail, mot de passe, etc)
function actionCompte(requete)
{
	var requete = requete;
    document.getElementById('modifCompte').innerHTML = '<em>Veuillez patienter quelques instants...</em>';
    http = creerObjetRequete();
    http.open('get', '/actions/act_compte.php'+requete, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('modifCompte').innerHTML = http.responseText;
			}
			else
			{
				document.getElementById('modifCompte').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);
}


// Fonction qui permet d'enregistrer un commentaire pour un profil se trouvant dans nos favoris
function enregistrerCommentaire(membreCo,idMembre)
{
	var membreCo = membreCo;
	var idMembre = idMembre;
	var comm = document.getElementById('comm'+idMembre).value;
    document.getElementById('comm'+idMembre+'att').innerHTML = '<center>En cours...</center>';
    http = creerObjetRequete();
    http.open('get', '/actions/act_commentaire.php?id='+idMembre+'&mc='+membreCo+'&comm='+comm, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('comm'+idMembre+'att').innerHTML = http.responseText;
			}
			else
			{
				document.getElementById('comm'+idMembre+'att').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);
}


// Fonction qui rend invisible le div passé en paramètre
function initOpacity(idDiv)
{
	document.getElementById(idDiv).style.opacity = 0;
	document.getElementById(idDiv).style.filter ='alpha(opacity=0)';
}

// Fonction qui rend progressivement visible le div passé en paramètre
function setOpacity(idDiv, value) {
	var testObj = document.getElementById(idDiv);
	testObj.style.opacity = value/10;
	testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}

// Fonction qui envoi une requete pour connaître les membres connectés 
// L'affichage varie selon le mode ou la page sur laquelle on se trouve
// Si le filtre est activé on parcours les champs concernés pour en exclure les informations
function enligne(idDiv,aff,page,filtre,idSite)
{
	if(filtre==1)
	{
		var aMin = document.getElementById('ageMin');
		var ageMin = aMin.options[aMin.selectedIndex].text;
		
		var aMax = document.getElementById('ageMax');
		var ageMax = aMax.options[aMax.selectedIndex].text;
		
		var np = document.getElementById('recent').checked;
		var photo = document.getElementById('photo').checked;
	}
    if(aff==4)
	{
    	document.getElementById(idDiv).innerHTML = '<center style="margin-top:20px;"><img src="/designSpecifique/'+idSite+'/chargement.gif"></img></center>';
	}
	
    var http = creerObjetRequete();
    http.open('get', '/actions/act_enligne.php?aff='+aff+'&page='+page+'&ageMin='+ageMin+'&ageMax='+ageMax+'&np='+np+'&photo='+photo, true);
	
    http.onreadystatechange = function() 
	{	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				initOpacity(idDiv);
				document.getElementById(idDiv).innerHTML = http.responseText;	
				for(var i=0;i<11;i++)
				{
					setTimeout("setOpacity('"+idDiv+"',"+i+")",50*i);
				}
			}
			/*else
			{
				document.getElementById(idDiv).innerHTML = "<strong>N/A</strong>";
			}*/
		}
	}
    http.send(null);
}


// Fonction de recherche, qui recolte toutes les informations à partir des champs avant de les envoyer au fichier qui lance la recherche
function recherche(idDiv,aff,page,requete,ageMin,ageMax,tailleMin,tailleMax, poidsMin, poidsMax, mariage, vitAvec, religion, pratiquant, silhouette, styleVestimentaire, enfants, niveauEtudes, langues, fumeur, photo, enligne,derConn, inscritRecent, pseudo,idPays, idRegion, idDep, idVille)
{
	//document.getElementById(idDiv).innerHTML = '<center><img src="/designCommun/chargement.gif"/></center>';
    http = creerObjetRequete();
	if(requete=='')
	{
		http.open('get', '/actions/act_'+idDiv+'.php?aff='+aff+'&page='+page+'&ageMin='+ageMin+'&ageMax='+ageMax+'&tailleMin='+tailleMin+'&tailleMax='+tailleMax+'&poidsMin='+poidsMin+'&poidsMax='+poidsMax+'&mariage='+mariage+'&vitAvec='+vitAvec+'&religion='+religion+'&pratiquant='+pratiquant+'&silhouette='+silhouette+'&styleVestimentaire='+styleVestimentaire+'&enfants='+enfants+'&niveauEtudes='+niveauEtudes+'&langues='+langues+'&fumeur='+fumeur+'&photo='+photo+'&enligne='+enligne+'&derConn='+derConn+'&inscritRecent='+inscritRecent+'&pseudo='+pseudo+'&idPays='+idPays+'&idRegion='+idRegion+'&idDep='+idDep+'&idVille='+idVille, true);
	}
	else
	{
    	http.open('get', '/actions/act_'+idDiv+'.php?aff='+aff+'&page='+page+requete.substr(requete.indexOf('&ageMin')), true);
	}
	
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				initOpacity(idDiv);
				document.getElementById(idDiv).innerHTML = http.responseText;	
				for(var i=0;i<11;i++)
				{
					setTimeout("setOpacity('"+idDiv+"',"+i+")",50*i);
				}
			}
			/*else
			{
				document.getElementById(idDiv).innerHTML = "<strong>N/A</strong>";
			}*/
		}
	}
    http.send(null);
}


// Fonction qui actualise le champ dateDerConnexion de la base de données afin de detecter par la suite si la personne est en ligne
function derConnexion(idMembre)
{
    http = creerObjetRequete();
    http.open('get', '/actions/act_derconnexion.php?id='+idMembre, true);
    http.send(null);
}


// Fonction de traitement des onglets, qui deselectionne tous les onglets de la liste, puis selectionne la rubrique concernée
function gestionOnglet(rubrique, liste)
{
	for(var i=0;i<liste.length;i++)
	{
		document.getElementById(liste[i]).className = "onglet";
	}
	document.getElementById(rubrique).className = "onglet selected";	
}



/*
function messages(onglet,idMembre,page)
{
	var liste = new Array("messages_envoyes","messages_recus");
	gestionOnglet(onglet, liste);
	
    http = creerObjetRequete();
    http.open('get', '/actions/act_'+onglet+'.php?id='+idMembre+'&page='+page, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('messages').innerHTML = http.responseText;
				masquer('chargementPage');
			}
			else
			{
				document.getElementById('messages').innerHTML = "<strong>N/A</strong>";
				masquer('chargementPage');
			}
		}
	}
    http.send(null);
}
*/


// Fonctions qui permet de passer d'une rubrique à l'autre sans recharger la page
// on affiche l'onglet detail passé en paramètre
function mesdetails(detail,aff,page)
{
	var liste = new Array("mes_visites","mes_flashs","mes_favoris","mes_blacklistes");
	gestionOnglet(detail, liste);
	
    http = creerObjetRequete();
    http.open('get', '/actions/act_'+detail+'.php?aff='+aff+'&page='+page, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				initOpacity('mesdetails');
				document.getElementById('mesdetails').innerHTML = http.responseText;	
				for(var i=0;i<11;i++)
				{
					setTimeout("setOpacity('mesdetails',"+i+")",50*i);
				}
				masquer('chargementPage');
			}
			else
			{
				document.getElementById('mesdetails').innerHTML = "<strong>N/A</strong>";
				masquer('chargementPage');
			}
		}
	}
    http.send(null);
}


// Fonctions qui permet de passer d'une rubrique à l'autre sans recharger la fiche du membre
// on affiche l'onglet rubrique passé en paramètre
function profilInfo(idMembre,rubrique,idSite)
{
	var liste = new Array("profil","recherche");
	gestionOnglet(rubrique, liste);
		
    document.getElementById('profil_info').innerHTML = '<center><img src="/designSpecifique/'+idSite+'/chargement.gif"/></center>';
    http = creerObjetRequete();
    http.open('get', '/actions/act_membre_'+rubrique+'.php?id='+idMembre, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('profil_info').innerHTML = http.responseText;
			}
			else
			{
				document.getElementById('profil_info').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);
}

// Fonction qui permet le chargement de la discussion au chargement de la page
// Puis à la réactualisation lors de l'envoi d'un message
function chargerDiscussion(idMembre)
{
    http = creerObjetRequete();
    http.open('get', '/actions/act_discussion.php?idMembre='+idMembre, true);
	if(window.navigator.appName == "Microsoft Internet Explorer")
	{
		http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	}
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('discussion').innerHTML = http.responseText;
				document.getElementById('discussion').scrollTop = document.getElementById('discussion').scrollHeight;
			}
			else
			{
				document.getElementById('discussion').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);
}

// Fonction qui envoi la requete pour trouver les lieux selon l'element parent
// Pays >> Region >> Departement >> Ville
function chargerGeo(lieu,id, idSite)
{
	if(lieu=="region")
	{
    	document.getElementById('selectregion').innerHTML = '<img src="/designSpecifique/'+idSite+'/chargement_mini.gif"/>';
		if(id==0)
		{
			document.getElementById('selectregion').innerText = "";	
			document.getElementById('selectregion').style.display = "none";			
		}
		else
		{
			document.getElementById('selectregion').style.display = "";			
		}
		document.getElementById('selectdepartement').innerText = "";	
		document.getElementById('selectville').innerText = "";		
	}
	if(lieu=="departement")
	{
    	document.getElementById('selectdepartement').innerHTML = '<img src="/designSpecifique/'+idSite+'/chargement_mini.gif"/>';
		if(id==0)
		{
			document.getElementById('selectdepartement').innerText = "";
			document.getElementById('selectdepartement').style.display = "none";		
		}
		else
		{
			document.getElementById('selectdepartement').style.display = "";			
		}
		document.getElementById('selectville').innerText = "";		
	}
	if(lieu=="ville")
	{
    	document.getElementById('selectville').innerHTML = '<img src="/designSpecifique/'+idSite+'/chargement_mini.gif"/>';
		if(id==0)
		{
			document.getElementById('selectville').innerText = "";	
			document.getElementById('selectville').style.display = "none";	
		}
		else
		{
			document.getElementById('selectville').style.display = "";			
		}	
	}
	
    http = creerObjetRequete();
    http.open('get', '/actions/act_charger_'+lieu+'.php?id='+id, true);
	
    http.onreadystatechange = function() {	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('select'+lieu).innerHTML = http.responseText;
			}
			else
			{
				document.getElementById('select'+lieu).innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);
}

// Fonction destinée à afficher la photo souhaitée en grand
function rechargerPhoto(urlPhoto,idPhoto,nonFiche,sexe)
{
	document.getElementById('imgBig').innerHTML = '<strong><span id="photo'+urlPhoto+'"><img src="/photos/'+urlPhoto+'.jpg"></img></span></strong>';
	if(nonFiche==true)
	{
		document.getElementById('supprimerPhoto').innerHTML = '<a href="#" id="'+urlPhoto+'" class="envoyer" onclick="if(confirm(\'Êtes-vous sûr de vouloir supprimer cette photo ?\')==true) { supprimerPhoto(\''+urlPhoto+'\',\''+sexe+'\');} return(false);">Supprimer</a>';
		document.getElementById('changerPhoto').innerHTML = '<a href="#" class="envoyer" onclick="changerPhoto(\''+urlPhoto+'\'); return(false);">Mettre cette image en photo de profil</a>';
	}
}

// Fonction destinée à changer de photo de profil

function changerPhoto(nouvelle)
{
	
    http = creerObjetRequete();
    http.open('get', '/actions/act_photo_changer.php?nouvelle='+nouvelle, true);
	
    http.onreadystatechange = function() 
	{	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				if(http.responseText.indexOf("<span class='message'>")!=-1)
				{
					for(var i = 0; i<document.getElementById('mesPhotos').getElementsByTagName('li').length; ++i)
					{
						document.getElementById('mesPhotos').getElementsByTagName('li').item(i).className='';
					}
				document.getElementById('photo'+nouvelle+'micro').className = 'profil';
				}
				document.getElementById('echo').innerHTML = http.responseText;
			}
			else
			{
				document.getElementById('echo').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);	
}

// Fonction pour supprimer la photo souhaitée
function supprimerPhoto(urlPhoto,sexe)
{	
	
    http = creerObjetRequete();
    http.open('get', '/actions/act_photo_supprimer.php?idPhoto='+urlPhoto, true);
	
    http.onreadystatechange = function() 
	{	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('photo'+urlPhoto).innerHTML = "<a href='' onclick='telecharger();'><img src='../../designCommun/bg-"+sexe+".png' style='display:block'/></a>";
				document.getElementById('photo'+urlPhoto+'micro').innerHTML = "<a href='' onclick='telecharger();'><img src='/designCommun/bg-"+sexe+"-micro.png' style='display:block'/></a>";
				document.getElementById('echo').innerHTML = http.responseText;
				document.getElementById('changerPhoto').innerHTML = '';
				document.getElementById('supprimerPhoto').innerHTML = '';
			}
			else
			{
				document.getElementById('echo').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);	
}

// Fonction pour supprimer la photo souhaitée
function moderationSupprimerPhoto(idMembre, idPhoto,nomPhoto)
{	
	
    http = creerObjetRequete();
    http.open('get', '/actions/act_mod_photo_supprimer.php?nomPhoto='+nomPhoto+'&idMembre='+idMembre+'&idPhoto='+idPhoto, true);
	
    http.onreadystatechange = function() 
	{	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.location.reload();
			}
			else
			{
				document.getElementById('echo').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);	
}

// Fonction pour recadrer la photo souhaitée
function recadrerPhoto(photo,pseudo,idMembre, sx,sy,ex,ey)
{	
    http = creerObjetRequete();
	document.getElementById('env').innerHTML = "<strong>En cours...</strong>";
    http.open('get', '/actions/act_recadrer.php?photo='+photo+'&ps='+pseudo+'&idMembre='+idMembre+'&sx='+sx+'&sy='+sy+'&ex='+ex+'&ey='+ey, true);
	
    http.onreadystatechange = function() 
	{	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.location.reload();
			}
			else
			{
				document.getElementById('env').innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);	
}

// Fonction pour valider les descriptions
function validerDescription(idMembre, val)
{	
    http = creerObjetRequete();
	document.getElementById('ligne'+idMembre).innerHTML = "<strong>En cours...</strong>";
    http.open('get', '/actions/act_valider_description.php?id='+idMembre+'&val='+val, true);
	
    http.onreadystatechange = function() 
	{	
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
				document.getElementById('ligne'+idMembre).innerHTML = http.responseText;
			}
			else
			{
				document.getElementById('ligne'+idMembre).innerHTML = "<strong>N/A</strong>";
			}
		}
	}
    http.send(null);	
}

// Fonction qui ajoute les smileys dans les messages
function smiley(code)
{
	var element = document.getElementById('reponse');
	if(!element)
	{
		element = document.getElementById('description');		
		document.getElementById('moderation').value = 1;
	}
	if(element.innerHTML == "Tapez votre message ici")
	{
		element.innerHTML = "";
	}
	if(element.value.length <=300)
	{
		element.value = element.value+code;
	}
	//document.selection.createRange().text;
}

// Fonction qui modifie les CSS selon si le div FBConnect est affiché ou non
function fbstyle()
{
	elem =  document.getElementById('colone');
	if(elem.style.padding =='0px')
	{
		 elem.style.padding = '0 25px 0 25px';
		 elem.style.width = '325px';
	}
	else
	{
		 elem.style.padding = '0';
		 elem.style.width = '375px';
	}
}

function selectionAbo(choix)
{
	document.forms['abon'].elements['os0'].item(choix).checked = true;
	var li = document.getElementById('abo').getElementsByTagName('li');
	for(var i=0; i<li.length; ++i)
	{
		if(i==choix)
		{
			li.item(i).className = 'select';			
		}
		else
		{
			li.item(i).className = '';			
		}
	}
}

function verifCGU()
{
	var aboAlerte = document.getElementById('aboAlerte');
	if(document.getElementById('cgu').checked==false) 
	{
		aboAlerte.innerText = 'Veuillez accepter les CGU';
		aboAlerte.style.visibility = 'visible';
		return(false);
	}
	else
	{
		aboAlerte.style.visibility = 'hidden';
		return(true);
	}
}

function telecharger()
{
	var f = document.getElementById('fichier_choisi');
	f.focus();
	f.click();
}

function verifReligion(opt)
{
	if(opt.options[opt.selectedIndex].text=='Autre' || opt.options[opt.selectedIndex].text=='Athé')
	{
		document.getElementById('cache').style.display = 'none';
		return "none";
	}
	else
	{
		document.getElementById('cache').style.display = '';
		return "";
	}
}



// ********************************************************
// Fonctions de recadrage des photos
// ********************************************************
// ********************************************************
// ********************************************************


var name = navigator.appName
if (name == "Microsoft Internet Explorer")
	var ie = true;
else
	var ie = false;

var X_OTHER	= 1;
var X_LEFT	= 2;
var X_RIGHT = 3;

var Y_OTHER	= 1;
var Y_UP		= 2;
var Y_DOWN	= 3;

var vgCurrentElement = null;
var vgCurrentPositionX = X_OTHER;
var vgCurrentPositionY = Y_OTHER;
	
var vgCurrentX 				= 0;
var vgCurrentY 				= 0;
var vgCurrentWidth 		= 0;
var vgCurrentHeight 	= 0;
var vgConteneurX			= 0;
var vgConteneurY			= 0;
var vgConteneurWidth	= 0;
var vgConteneurHeight	= 0;

var TailleBorder			= 1;

if(ie) {
	var vgConteneurSizeBorder			= 1 * TailleBorder;
	var vgConteneurSizeWidth			= vgConteneurSizeBorder * 2;
	var vgCurrentSizeWidth				= 0;
}
else {
	var vgConteneurSizeBorder			= 1 * TailleBorder;
	var vgConteneurSizeWidth			= 0;
	var vgCurrentSizeWidth				= 1 * TailleBorder;
}

var vgMouseX 			= 0;
var vgMouseY 			= 0;
var vgMouseDiffX 	= 0;
var vgMouseDiffY 	= 0;
var vgMouseDown 	= false;

var vgTimerMouse;
var vgTimerTime = 20;

var ratio = 0;


//----------------------------//
function position(e)
{
	vgMouseX = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
	vgMouseY = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
	
	PositionX = document.getElementById('bloc_recadre').offsetLeft;
	PositionY = document.getElementById('bloc_recadre').offsetTop;
	TailleX = document.getElementById('bloc_recadre').offsetWidth;
	TailleY = document.getElementById('bloc_recadre').offsetHeight;
	
	if(vgMouseX >= PositionX && vgMouseX <= PositionX + 10 && vgMouseY >= PositionY && vgMouseY <= PositionY + (TailleY / 2))
		document.getElementById('bloc_recadre').style.cursor = "nw-resize";
	else if(vgMouseX >= PositionX && vgMouseX <= PositionX + 10 && vgMouseY >= PositionY + (TailleY / 2) && vgMouseY <= PositionY + TailleY)
		document.getElementById('bloc_recadre').style.cursor = "sw-resize";
	else if(vgMouseX >= PositionX + TailleX - 10 && vgMouseX <= PositionX + TailleX && vgMouseY >= PositionY && vgMouseY <= PositionY + (TailleY / 2))
		document.getElementById('bloc_recadre').style.cursor = "ne-resize";
	else if(vgMouseX >= PositionX + TailleX - 10 && vgMouseX <= PositionX + TailleX && vgMouseY >= PositionY + (TailleY / 2) && vgMouseY <= PositionY + TailleY)
		document.getElementById('bloc_recadre').style.cursor = "se-resize";
	else
		document.getElementById('bloc_recadre').style.cursor = "move";
}

//----------------------------//
function fnResizeDiv()
{
	if(vgCurrentElement!=null && vgCurrentElement!=undefined && (vgCurrentWidth <= vgConteneurWidth && vgCurrentHeight <= vgConteneurHeight))
	{
		if(vgCurrentX <= vgConteneurX)
			document.getElementById(vgCurrentElement).style.left = vgConteneurX;
		else if((vgCurrentX + vgCurrentWidth) >= (vgConteneurX + vgConteneurWidth))
			document.getElementById(vgCurrentElement).style.left = vgConteneurX + vgConteneurWidth - vgCurrentWidth;
		else if(vgCurrentX > vgConteneurX)
			document.getElementById(vgCurrentElement).style.left = vgCurrentX;
		
		if(vgCurrentY <= vgConteneurY)
			document.getElementById(vgCurrentElement).style.top = vgConteneurY;
		else if((vgCurrentY + vgCurrentHeight) >= (vgConteneurY + vgConteneurHeight))
			document.getElementById(vgCurrentElement).style.top = vgConteneurY + vgConteneurHeight - vgCurrentHeight;
		else if(vgCurrentY > vgConteneurY)
			document.getElementById(vgCurrentElement).style.top = vgCurrentY;
	}
	
	if(vgCurrentWidth <= vgConteneurWidth && vgCurrentWidth * ratio <= vgConteneurHeight + 1 && vgCurrentWidth > 49 && vgCurrentWidth * ratio > 49 * ratio) {
		document.getElementById(vgCurrentElement).style.width = vgCurrentWidth;
		document.getElementById(vgCurrentElement).style.height = vgCurrentWidth * ratio;
	}
	
	checkForm();
}

//----------------------------//
function fnOnMouseDown()
{
	vgMouseDown = true;
	
	if(vgCurrentElement!=null && vgCurrentElement!=undefined)
	{
		//Init of size
		vgCurrentX 					= document.getElementById(vgCurrentElement).offsetLeft;
		vgCurrentY 					= document.getElementById(vgCurrentElement).offsetTop;
		vgCurrentWidth 			= document.getElementById(vgCurrentElement).offsetWidth - (vgCurrentSizeWidth * 2);
		vgCurrentHeight 		= document.getElementById(vgCurrentElement).offsetHeight - (vgCurrentSizeWidth * 2);
		vgConteneurX				= document.getElementById(var_conteneur).offsetLeft - vgConteneurSizeBorder;
		vgConteneurY				= document.getElementById(var_conteneur).offsetTop - vgConteneurSizeBorder;
		vgConteneurWidth 		= document.getElementById(var_conteneur).offsetWidth + vgConteneurSizeWidth;
		vgConteneurHeight 	= document.getElementById(var_conteneur).offsetHeight + vgConteneurSizeWidth;
		ratio								= vgCurrentHeight / vgCurrentWidth;
		
		//Init of distance
		vgMouseDiffX = vgMouseX-vgCurrentX;
		vgMouseDiffY = vgMouseY-vgCurrentY;
		
		//Init of position
		if(vgMouseDiffX < 10 || (vgCurrentWidth-vgMouseDiffX) < 10)
		{
			if(vgMouseDiffX < vgCurrentWidth/2)
				vgCurrentPositionX = X_LEFT;
			else
				vgCurrentPositionX = X_RIGHT;
		}
		else
			vgCurrentPositionX = X_OTHER;
			
		
		if(vgMouseDiffY < 10 || (vgCurrentHeight-vgMouseDiffY) < 10)
		{
			if(vgMouseDiffY > vgCurrentHeight/2)
				vgCurrentPositionY = Y_DOWN;
			else
				vgCurrentPositionY = Y_UP;
		}
		else
			vgCurrentPositionY = Y_OTHER;
			
		
		vgTimerMouse = setInterval("fnOnMouseMove();", vgTimerTime);
	}
}

function fnOnMouseUp()
{
	vgMouseDown = false;
	clearInterval(vgTimerMouse);
}

function fnOnMouseMove()
{
	if(vgMouseDown && vgCurrentElement!=null && vgCurrentElement!=undefined)
	{
		switch(vgCurrentPositionX)
		{
			case X_LEFT:	vgCurrentWidth += vgCurrentX-vgMouseX;
										if(vgCurrentWidth<0)
											vgCurrentWidth = 0;
										else
											vgCurrentX = vgMouseX;
										break;
			case X_RIGHT:	vgCurrentWidth = vgMouseX-vgCurrentX;
										if(vgCurrentWidth<0)
											vgCurrentWidth = 0;
										break;
			default: break;
		}
		switch(vgCurrentPositionY)
		{
			case Y_UP:		vgCurrentHeight += vgCurrentY-vgMouseY;
										if(vgCurrentHeight<0)
											vgCurrentHeight = 0;
										else
											vgCurrentY = vgMouseY;
										break;
			case Y_DOWN:	vgCurrentHeight = vgMouseY-vgCurrentY;
										if(vgCurrentHeight<0)
											vgCurrentHeight = 0;
										break;
			default: break;
		}
									
		if(vgCurrentPositionX==X_OTHER && vgCurrentPositionY==Y_OTHER)
		{
			vgCurrentX = vgMouseX-vgMouseDiffX;
			vgCurrentY = vgMouseY-vgMouseDiffY;
		}
		
		
		
		fnResizeDiv();
	}
}

function fnOnMouseOver(sSelectedElementName, sSelectedElementName2)
{
	document.getElementById('bloc_recadre').style.cursor = "move";
	if(!vgMouseDown)
	{
		if(sSelectedElementName==null && sSelectedElementName!="undefined")
		{
			vgCurrentElement = null;
			var_conteneur = null;
		}
		else
		{
			vgCurrentElement = sSelectedElementName;
			var_conteneur = sSelectedElementName2;
		}
	}
}


//----------------------------//
function fnOnLoad()
{
	if(navigator.appName.substring(0,3) == "Net")
		document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = position;
}

function checkForm() {
	value_sx = document.getElementById(vgCurrentElement).style.left;
	value_sy = document.getElementById(vgCurrentElement).style.top;
	value_ex = document.getElementById(vgCurrentElement).style.width;
	value_ey = document.getElementById(vgCurrentElement).style.height;
	
	document.getElementById('sx').value = value_sx.slice(0, -2) - vgConteneurX;
	document.getElementById('sy').value = value_sy.slice(0, -2) - vgConteneurY;
	document.getElementById('ex').value = value_ex.slice(0, -2) - vgConteneurSizeWidth;
	document.getElementById('ey').value = value_ey.slice(0, -2) - vgConteneurSizeWidth;
	return false;
}



/********************************/
/********* Infobulle ************/
var tooltip=function(){
 var id = 'tt';
 var top = 3;
 var left = 3;
 var maxw = 300;
 var speed = 10;
 var timer = 20;
 var endalpha = 95;
 var alpha = 0;
 var tt,t,c,b,h;
 var ie = document.all ? true : false;
 return{
  show:function(v,w){
   if(tt == null){
    tt = document.createElement('div');
    tt.setAttribute('id',id);
    t = document.createElement('div');
    t.setAttribute('id',id + 'top');
    c = document.createElement('div');
    c.setAttribute('id',id + 'cont');
    b = document.createElement('div');
    b.setAttribute('id',id + 'bot');
    tt.appendChild(t);
    tt.appendChild(c);
    tt.appendChild(b);
    document.body.appendChild(tt);
    tt.style.opacity = 0;
    tt.style.filter = 'alpha(opacity=0)';
    document.onmousemove = this.pos;
   }
   tt.style.display = 'block';
   c.innerHTML = v;
   tt.style.width = w ? w + 'px' : 'auto';
   if(!w && ie){
    t.style.display = 'none';
    b.style.display = 'none';
    tt.style.width = tt.offsetWidth;
    t.style.display = 'block';
    b.style.display = 'block';
   }
  if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
  h = parseInt(tt.offsetHeight) + top;
  clearInterval(tt.timer);
  tt.timer = setInterval(function(){tooltip.fade(1)},timer);
  },
  pos:function(e){
   var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
   var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
   tt.style.top = (u - h) + 'px';
   tt.style.left = (l + left) + 'px';
  },
  fade:function(d){
   var a = alpha;
   if((a != endalpha && d == 1) || (a != 0 && d == -1)){
    var i = speed;
   if(endalpha - a < speed && d == 1){
    i = endalpha - a;
   }else if(alpha < speed && d == -1){
     i = a;
   }
   alpha = a + (i * d);
   tt.style.opacity = alpha * .01;
   tt.style.filter = 'alpha(opacity=' + alpha + ')';
  }else{
    clearInterval(tt.timer);
     if(d == -1){tt.style.display = 'none'}
  }
 },
 hide:function(){
  if(tt != null){
  clearInterval(tt.timer);
   tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
  }
 }
 };
}();
