// JavaScript Document

// Infos bulles
function findPos(obj) {
// recupere les coordonnees x y absolues dans la page
    var curleft = obj.offsetLeft || 0;
    var curtop = obj.offsetTop || 0;
        while (obj = obj.offsetParent) {
		    curleft += obj.offsetLeft
            curtop += obj.offsetTop
             }
   return {x:curleft,y:curtop};
}
		
function infobulle(obj){
	pos=findPos(obj);
	var b=document.getElementById('bulle');
	document.getElementById('centre_centre').innerHTML=obj.parentNode.rel;
	var decalageY=b.offsetHeight;
	
	// affiche ou masque 
	(b.style.visibility=='visible') ? b.style.visibility='hidden' : b.style.visibility='visible';
	
	// position x et y plus largeur et hauteur de l'objet pour positionner en haut à droite
	posX=pos.x+(obj.offsetWidth/2);
	posY=pos.y-(decalageY*0.8);

	b.style.top=posY+"px";
	b.style.left=posX+"px";
}
//////////////////////////////////////////////////////////////////////



// Validation formulaire
var envoi=false;

function valider(formulaire){
var val=new Array();
var defaut=new Array();
var messageRetour = document.getElementById("messageRetour");

if(messageRetour)messageRetour.innerHTML="&gt; Traitement en cours ...";
with(formulaire){
	do {
		for(i=1;i<arguments.length;i++){
			val[i]=arguments[i].value;
			defaut[i]=arguments[i].defaultValue;
			val[i]=val[i].replace(/(^\s*)|(\s*$)/g,'');
			
			if ( val[i]=='' ){
			envoi=false;
				if(messageRetour)messageRetour.innerHTML="&gt; Merci de bien vouloir indiquer "+arguments[i].title;
				arguments[i].className='inputAlerte';
				arguments[i].focus();
				break;
			}
			arguments[i].className='';
			envoi=true;
			} 
		}
	while(false);
	}
	document.location.href="#validation";
}


//////////////////////////////////////////////////////////////////////


// fonctions pour le drag and drop
isDragging = false;

function getPositionCurseur(e){
 curX = (window.Event) ? e.pageX : event.clientX;
 curY = (window.Event) ? e.pageY : event.clientY;
}


function beginDrag(p_obj,e){
	isDragging = true;
	objectToDrag = p_obj;
	getPositionCurseur(e);
	ecartX = curX - parseInt(objectToDrag.style.left);
	ecartY = curY - parseInt(objectToDrag.style.top);		
	setFade(70);
}


function drag(e){
	var newPosX;
	var newPosY;
	if(isDragging == true){
	
	getPositionCurseur(e);
	newPosX = curX - ecartX;
	newPosY = curY - ecartY;
	
	objectToDrag.style.left = newPosX + 'px';
	objectToDrag.style.top = newPosY + 'px';
	}
}


function endDrag(){
	isDragging = false;
	setFade(100);
}


/// Affichage de la météo
// fonction de fade 

function fadeIn(amt) {
	if(amt <= 100) {
		setFade(amt);
		amt += 7;
		setTimeout("fadeIn("+amt+")", 1);
    } 
}


function fadeOut(amt) {
	if(amt >= 0) {
		setFade(amt);
		amt -= 7;
		setTimeout("fadeOut("+amt+")", 1);
    } else {
		elem.style.display='none' ;
	}
}

function setFade(amt) {
	amt = (amt == 100)?99.999:amt;
  
	elem.style.filter = "alpha(opacity:"+amt+")";
	elem.style.KHTMLOpacity = amt/100;
	elem.style.MozOpacity = amt/100;
	elem.style.opacity = amt/100;
}


var closeMeteo=null;
function meteo(commande){

//calque de fermeture
if(closeMeteo==null){ // si l'objet n'est pas cree on le cree
	closeMeteo = document.createElement("div");

	with(closeMeteo){
		style.position="absolute";
		style.top="0px";
		style.left="0px";
		style.width="100%";
		style.height="100%";
		}
	document.body.appendChild(closeMeteo);
	closeMeteo.onclick=function(){meteo(this);}


} else { // sinon on détruit le calque de fermeture
	document.body.removeChild(closeMeteo);
	closeMeteo=null;
}

//
	pos_c=findPos(commande);
	
	var objMeteo=document.getElementById('meteo');
	elem=objMeteo;
	
	var disLeft=pos_c.x-115+"px";
	var disTop=pos_c.y+commande.offsetHeight+5+"px";

	
	// Drag and drop
	objMeteo.onmousedown=function(event){beginDrag(this,event);};
	objMeteo.onmousemove=function(event){drag(event);};
	objMeteo.onmouseup=function(){endDrag();};
	
	if(objMeteo.style.display=='none'){
		
		objMeteo.style.left=disLeft;
		objMeteo.style.top=disTop;

		objMeteo.style.display='block';
		setFade(0);
		fadeIn(0);
	}else{
		setFade(100);
		fadeOut(100);
	}
}

//



// Affichage des cartes

var calque;
var srcImage;
var op=30;

var largeur=0;
var hauteur=0;
var disLeft;
var disTop;

var speed=1;
var vitesse=1;
var zoom;
var source;

function carte(source){
	calque=document.getElementById('calque');
	image=document.getElementById('srcImage');
	
	srcImage=new Image();
	srcImage.src=source;
	
	if(srcImage){
			var largeurImage=srcImage.width;
			var hauteurImage=srcImage.height;
			
			
			if (window.innerWidth && window.innerHeight){
				var largeurPage = (window.innerWidth);
				var hauteurPage = (window.innerHeight);
			} else{
				var largeurPage = (document.body.clientWidth);
				var hauteurPage = (document.body.clientHeight);
			}	
			
			disLeft=1*((largeurPage-largeur)/2)+"px";
			disTop=1*((hauteurPage-hauteur)/2)+"px";
			
			
			calque.style.display='block';
			image.style.display='block';
	
			if( largeur<=1*(largeurImage) || hauteur<=1*(hauteurImage) ) {
					image.style.left=disLeft;
					image.style.top=disTop;
					
	
				if(largeur<=1*(largeurImage-speed)) {			
					image.style.width=largeur+"px";
				} else {
					image.style.width=largeurImage+"px";
				}
				
				if(hauteur<=1*(hauteurImage-speed)){
					image.style.height=hauteur+"px";
				} else {
					image.style.height=hauteurImage+"px";
				}
			zoom=setTimeout('carte("'+source+'")',1);				
			speed=speed+10;				
			
			largeur=parseInt(image.style.width)+speed;
			hauteur=parseInt(image.style.height)+speed;
		} else {
			zoom=setTimeout('carte("'+source+'")',1);				
			speed=speed-10;				
		}
	
	}
}



function masquer(){
	calque=document.getElementById('calque');
	image=document.getElementById('srcImage');
	
	clearTimeout(zoom);
	calque.style.display='none';
	image.style.display='none';

	largeur=0;
	hauteur=0;
	speed=1;
}


function paginer(param,i){
        var url = "pagination.php?"+param;
		num=i;
		
		if(window.XMLHttpRequest) {
                req = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
                req = new ActiveXObject("Microsoft.XMLHTTP");
        }		
		
        req.open("GET", url, true);
        req.onreadystatechange = callback;
        req.send(null);
		
}


var numActif=null;

function callback() {        
        cible = document.getElementById("cible_pagination");
		
		var lien=document.getElementById('lien_'+num+'');
	
		var lienBas=document.getElementById('lienBas_'+num+'');

		if(req.readyState == 4) {
                if(req.status == 200) {
                        response = req.responseText;
                        cible.innerHTML = response;
						InitMenu();
				
				
						lien.setAttribute("class", "lienPagination");
						lien.setAttribute("className","lienPagination");
						lienBas.setAttribute("class", "lienPagination");
						lienBas.setAttribute("className","lienPagination");
				
				if(numActif!=null)	{	
				var lienActif=document.getElementById('lien_'+numActif+'');
				var lienActifBas=document.getElementById('lienBas_'+numActif+'');

						lienActif.setAttribute("class","");
						lienActif.setAttribute("className","");
						lienActifBas.setAttribute("class","");
						lienActifBas.setAttribute("className","");
				}
				
				numActif=num;
					
                } else {
                        alert("Problème pour récupérer les informations:\n" + req.statusText);
                }
        }
}
