﻿<!--

/**********
 * Outils *
 **********/

//
// function getScrollXY() --> [X,Y]
// Cette fonction renvoit le nombre de pixels qui ont étés scrollés horizontalement
// et verticalement.
//
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return new Array(scrOfX,scrOfY);
}

/******************
 * Page d'accueil *
 ******************/

//
// fonction pour afficher et effacer des elements HTML.
// elle prend en argument l'objet DOM de l'élément.
//
function afficheCalque(calque){
	calque.style.display='block';
}
function masqueCalque(calque){
	calque.style.display='none';
}

/*******************
 * Page Références *
 *******************/

function createModal(obj){
    //var layer = new Element('div');
    //layer.writeAttribute('id','lb1-layer');
    var layer = $('lb1-layer');
    layer.writeAttribute('class','lb1-layer');
    layer.writeAttribute('style',"display:block;");
    var fenetre = new Element('div');
    fenetre.writeAttribute('id','modal');
    fenetre.writeAttribute('style','top:50px;left:'+(document.getElementsByTagName('html')[0].offsetWidth-450)/2+'px;position:absolute;display:block;opacity:1;z-index:3000;width:450px;height:450px;margin-left:auto;margin-ritgh:auto;');
	fenetre.style.marginTop = getScrollXY()[1]+15+'px';
	fenetre.style.marginLeft = getScrollXY()[0]+15+'px';
	document.body.appendChild(layer);
    document.body.appendChild(fenetre);
    layer.style.width=document.getElementsByTagName('html')[0].offsetWidth+"px";
    layer.style.height=document.getElementsByTagName('body')[0].offsetHeight+'px';
	fenetre.innerHTML = '<div id="conteneurDetails" style="top:-50px;height:450px;">'+
	                    '   <div style="background-image:url(img/modaltop.png);height:25px;width:450px;">'+
                        '       <span id="nomref"></span>'+
	                    '       <span id="fleches">'+
	                    '           [<a href="#" onclick="destroyModal();return false;">fermer</a>]'+
	                    '       </span>'+
	                    '   </div>'+
                        '   <div id="wrapper" style="">'+
                        '   <div id="details-texte" style="top:0;height:100%;width:407px;">'+
                        '   <img src="img/refs/blank.gif"/><br />'+
                        '       </div>'+
                        '   </div>'+
                        '</div>';
    affDetails(obj);
    Event.observe(layer, 'mousewheel', function(event){Event.stop(event);}.bindAsEventListener(), true);
    Event.observe(layer, 'DOMMouseScroll', function(event){Event.stop(event);}.bindAsEventListener(), true);
    Event.observe(layer, 'click', destroyModal.bindAsEventListener(), true);
}

function destroyModal(){
    $('modal').remove();
    $('lb1-layer').hide();
}

//récupère les détails d'une référence et les affiche dans le cadre réservé
function affDetails(obj){
    cible = document.getElementById("conteneurDetails");
    hauteur = parseInt(document.getElementById('conteneurDetails').style.height);
    source = obj.parentNode.parentNode;
    // la description de la référence
    cible.getElementsByTagName("div")[1].getElementsByTagName("div")[0].innerHTML += source.getElementsByTagName("div")[1].innerHTML;
    //son logo
    cible.getElementsByTagName("img")[0].style.width = source.getElementsByTagName("img")[0].style.width;
    cible.getElementsByTagName("img")[0].style.height = source.getElementsByTagName("img")[0].style.height;
    cible.getElementsByTagName("img")[0].src = source.getElementsByTagName("img")[0].src;
    document.getElementById("wrapper").style.height = (hauteur-25)+'px';
    //le nom de la référence
    document.getElementById("nomref").innerHTML = source.getElementsByTagName('h3')[0].innerHTML;
    sb = new ScrollBox($('details-texte'), {auto_hide: true});

}


/********************
 * Page Partenaires *
 ********************/

//fonction pour générer le cadre qui affiche les partenaires d'un pays
function displayCountry(p){
	var cadre = document.getElementById('cadre_nom');
	cadre.innerHTML = '<strong>'+p+'</strong>';
	cadre.innerHTML += '<hr style="border:solid black 1px;height:1px;color:black;width:75%"/>';
	for (i=0; i<pays[p].length;  i++){
		cadre.innerHTML += '<a href="#'+pays[p][i].toLowerCase()+'"><img src="img/part/'+pays[p][i].toLowerCase()+'-tn.gif" alt="'+pays[p][i]+'" /></a><br />';
	}
	cadre.style.display = 'block';
}

/******************
 * Page Solutions *
 ******************/

var ItemOn = null;
var ItemTmp = null;

// Après la diminution du bloc d'image, met en valeur l'élément sur lequel se
// trouve la souris
function HighLight(id){
	if (id != ItemOn){
		new Effect.Opacity(ItemOn, {duration:0.2, to: 0.3});
		new Effect.Opacity(id, {duration:0.2, to: 1.0});
		ItemTmp = id;
	}
}
// opération inverse : atténue l'élément mis en valeur quand la souris n'est
// plus dessus
function UnHighLight(){
	if (ItemTmp!= null){
		new Effect.Opacity(ItemOn, {duration:0.2, to: 1.0});
		new Effect.Opacity(ItemTmp, {duration:0.2, to: 0.3});
		ItemTmp = null;
	}
}

function initProductMenu(active){
    ItemOn = active;
    for (i=0;i<liste.length;i++){
	    document.getElementById(liste[i]).onmouseover= function() { HighLight(this.id); }
	    document.getElementById(liste[i]).onmouseout= function() { UnHighLight(); }
	    new Effect.Opacity(liste[i], {duration:0.1, to: 0.3});
    }
    new Effect.Opacity(active, {duration:0.1, to: 1.0, queue: 'end'});
}


/***************
 * Page dl.php *
 ***************/


//vérification simpl(ist)e des champs obligatoires du formulaire de contact.
function verify(form){
    $$('span.error').each(function(el){$(el).remove()});
    var retour = true;
    var rMail = new RegExp("^[a-zA-Z][-0-9a-zA-Z\._]*@[-0-9a-zA-Z\._]*\.[a-zA-Z]{2,4}$");
    if(form.nom.value.length==0){
	$('nom').insert({'after': new Element('span', {'class': 'error', 'style':'display:none'}).insert('Vous devez entrer votre nom') });
	retour = false;
    }
    if(form.prenom.value.length==0){
	$('prenom').insert({'after': new Element('span', {'class': 'error', 'style':'display:none'}).insert('Vous devez entrer votre prénom') });
	retour = false;
    }
    if (rMail.test(form.email.value)==false){
	$('email').insert({'after': new Element('span', {'class': 'error', 'style':'display:none'}).insert('Vous devez entrer une adresse e-mail valide') });
	retour = false;
    }
    if (form.organisation.value.length==0){
	$('organisation').insert({'after': new Element('span', {'class': 'error', 'style':'display:none'}).insert('Vous devez entrer votre organisation') });
	retour = false;
    }
    $$('span.error').each(function(el){$(el).appear()});
    return retour;
}

function sendForm(){
	if (verify($('formInfo'))){
		$('loader').show();
		$('formInfo').request({
		  onComplete: function(transport){
		  	if (transport.status==200 && transport.responseText=='OK'){
		  		$('formInfo').remove();
		  		$$('div.contenu')[0].insert({
		  			bottom:new Element('span',
		  			   				   {id:'formSent',
		  								 style:"display:none;background-color:lightgreen;border:1px green solid;padding:2px;"
		  							   }
		  							  ).insert('Formulaire envoyé. Merci pour votre participation !')
		  		});
		  		$('formSent').appear();
		  		//setTimeout("$('formSent').fade()",5000);
			}else{
				$('loader').hide().insert({after:new Element('span',{id:'formFailed',style:"margin-left:10px;display:none;background-color:coral;border:1px red solid;padding:2px;"}).insert('l\'envoi du formulaire a échoué')});
				$('formFailed').appear();
				setTimeout("$('formFailed').fade()",5000);
			}
		  }
		});
	}
}

// -->
