/**
 * Regles behaviours pour le site www.animation18.fr
 * Fonctions spécifiques
 *
 * Auteur : Pascal Menut <pascal@petitegraine.com>
 * En s'appuyant sur : prototype, scriptaculous, behaviour
 * 
**/

var filtreboxCentre = '';
var filtreboxAge = '';
var filtreboxHoraire = '';
var ongletactif = '';


function showOngletFootnav(idOnglet) {
	
	$A($('tools2').getElementsByClassName('actif')).each(function(elt) {
		if(elt.id == idOnglet) {
			// deja l'onglet actif.
		}
		else {
			elt.className = '';
			$A(elt.getElementsBySelector('img')).each(function(image) { image.src = "themes/images/footnote-" + elt.rel + ".png" });
			new Effect.Move (elt,{ x: -30, y: 0, duration: 0.3, mode: 'relative'});
		}});
	
	if(idOnglet == null) {
		ongletactif = '';
		$('footnote-box').style.display = 'none';
		$('footnote-title').src = 'themes/images/transparent.png';
	}
	else if(ongletactif == $(idOnglet).rel) {
		// rien ne se passe
	}
	else {
		
		ongletactif = $(idOnglet).rel;
		// affichage de la boiboite.
		new Effect.Opacity('footnote-box', {duration:0.1, from:0.0, to:0.0, afterFinish: function() { 
				$('footnote-box').style.display = 'block';
				$('footnote-title').src = 'themes/images/footnote_nav-' + $(idOnglet).rel + '.png';
				$('footnote-title').alt = $(idOnglet).rel;
				$(idOnglet).className = 'actif';
				new Effect.Move ($(idOnglet),{ x: 30, y: 0, duration: 0.3, mode: 'relative'});
			 }});
		
		new Effect.Parallel(
		    [ new Effect.Opacity('footnote-box', {sync: true, to: 1.0, from: 0.0 } ) ],
		    { duration: 0.8, 
		      afterFinish: function() { 
		      	 }
		    }
		  );
	}
}

function showNavEffect() {
	//if($('navActivite').visible()) {
		$('navActivite').show();
		
	//	new Effect.Appear('navActivite');
	//}
}

function showNav(typePage) {
	//lt_up('navActivite', 'package: ca18.navactivite, typePage:' + typePage, '$(\'navActivite\').show();');
	new Ajax.Updater('navActivite', '?io=get&elt=navActivite&jdata=package: ca18.navactivite, typePage:' + typePage, 
			{ 	method:'get', evalScripts:true, asynchronous: true, 
				onComplete: function (request) { 
							if($('navActivite').visible() != true) {
								new Effect.Appear('navActivite', {duration: 0.3});
							}
							Behaviour.apply();
						}});
}

function hideNav() {
	if(blocageNav) { 
		blocageNav=false;
		return;
	}
	$("navActivite").hide();
	// reinitialisation des filtres
	filtreboxCentre = '';
	filtreboxAge = '';
	filtreboxHoraire = '';
	lt_notify('package: ca18.navactivite, init: closing');
	
	$('filtrebox-centres-abbesses').className = '';
	$('filtrebox-centres-abbesses-img').src = 'themes/images/transparent.png';
	$('filtrebox-centres-binet').className = '';
	$('filtrebox-centres-binet-img').src = 'themes/images/transparent.png';
	$('filtrebox-centres-hebert').className = '';
	$('filtrebox-centres-hebert-img').src = 'themes/images/transparent.png';
	$('filtrebox-centres-chapelle').className = '';
	$('filtrebox-centres-chapelle-img').src = 'themes/images/transparent.png';
	
	$('filtrebox-ages-age1').className = '';
	$('filtrebox-ages-age1-img').src = 'themes/images/transparent.png';
	$('filtrebox-ages-age2').className = '';
	$('filtrebox-ages-age2-img').src = 'themes/images/transparent.png';
	$('filtrebox-ages-age3').className = '';
	$('filtrebox-ages-age3-img').src = 'themes/images/transparent.png';
	$('filtrebox-ages-age4').className = '';
	$('filtrebox-ages-age4-img').src = 'themes/images/transparent.png';
	$('filtrebox-ages-age5').className = '';
	$('filtrebox-ages-age5-img').src = 'themes/images/transparent.png';
	
	$('filtrebox-horaires-matin').className = '';
	$('filtrebox-horaires-matin-img').src = 'themes/images/transparent.png';
	$('filtrebox-horaires-am').className = '';
	$('filtrebox-horaires-am-img').src = 'themes/images/transparent.png';
	$('filtrebox-horaires-soiree').className = '';
	$('filtrebox-horaires-soiree-img').src = 'themes/images/transparent.png';
	
}
	
var ca18 = {
	'body': function(e) {
		e.onclick = function() {
			 
		}
	},
	'#footnote-close': function(e) {
		e.onclick = function() {
		new Effect.Parallel(
		    [ new Effect.Opacity('footnote-box', {sync: true, to: 0.0, from: 1.0 } ) ],
		    { duration: 0.8, 
		      afterFinish: function() { showOngletFootnav(null, null); } 
		    }
		  );
		  return false;
		}
	},
	
	'#prevActu' : function(element){
			element.onclick = function() {
				$('actus-top').src = 'themes/images/actus_top-loading.gif';
				new Effect.BlindUp('actus', {duration: 0.3, afterFinish: function() { 
					lt_up('actus', 'package: actualites.ca18, action: previous', 'new Effect.BlindDown(\'actus\', {duration: 0.3}); $(\'actus-top\').src = \'themes/images/actus_top.gif\';', false, false);
				}});
				return false;
			},
			element.onmouseover = function(){
				$('prevActu-img').src = 'themes/images/actus_btn_prec-on.gif';
				
				return false;
			},
			element.onmouseout = function(){
				$('prevActu-img').src = 'themes/images/actus_btn_prec.gif';
				return false;
			}
		},
		
	'#nextActu' : function(element) {
			element.onclick = function() {
				$('actus-top').src = 'themes/images/actus_top-loading.gif';
				new Effect.BlindUp('actus', {duration: 0.3, afterFinish: function() { 
					lt_up('actus', 'package: actualites.ca18, action: next', 'new Effect.BlindDown(\'actus\', {duration: 0.2}); $(\'actus-top\').src = \'themes/images/actus_top.gif\';', false, false);
					}});
				return false;
			},
			element.onmouseover = function(){
				$('nextActu-img').src = 'themes/images/actus_btn_suiv-on.gif';
				return false;
			},
			element.onmouseout = function(){
				$('nextActu-img').src = 'themes/images/actus_btn_suiv.gif';
				return false;
			}
		},
		
	'.io' : function(element) {
		element.onclick = function() {
			
			var params = 'package: ';
			//alert(this.toString());
			//alert(element.getAttributes("href"));
			// alert(params + ' dans ' + target);
			var url = this.toString();
			var url = url.substr((url.indexOf('n=') + 2));
			params = params + url;
			lt_up(this.target, params);
			return false;
		}
	},
	
	'#lanceModeAccessible' : function(element) {
			element.onclick = function() {
				/*if($('modeAccessible').style.display != 'block') {
					$('modeAccessible').style.display = 'block';
				}*/
				blocageNav = true;
				if($('iconeMalVoyants').className != 'actif') {
					new Effect.DropOut('filtre-horaires', {delay: 0.0, duration: 0.5});
					new Effect.DropOut('filtre-ages', {delay: 0.1, duration: 0.5});
					new Effect.DropOut('filtre-centres', {delay: 0.2, duration: 0.5});
					new Effect.Fade('filtrebox-titre', {delay: 0.1, duration: 0.8});
					new Effect.Appear('modeAccessible', {delay: 0.7, duration: 0.3});
					$('iconeMalVoyants').src = 'themes/images/ico_nonVoyant-on.png';
					$('iconeMalVoyants').className = 'actif';
				}
				else {
					new Effect.Fade('modeAccessible', {duration: 0.2});
					new Effect.Appear('filtrebox-titre', {duration: 0.2});
					new Effect.Appear('filtre-centres', {delay: 0.1, duration: 0.3});
					new Effect.Appear('filtre-ages', {delay: 0.3, duration: 0.3});
					new Effect.Appear('filtre-horaires', {delay: 0.5, duration: 0.3});
					$('iconeMalVoyants').src = 'themes/images/ico_nonVoyant.png';
					$('iconeMalVoyants').className = '';
				}
				return false;
			},
			element.onmouseover = function(){
				if($('iconeMalVoyants').className != 'actif') {
					$('iconeMalVoyants').src = 'themes/images/ico_nonVoyant-on.png';
				}
				return false;
			},
			element.onmouseout = function(){
				if($('iconeMalVoyants').className != 'actif') {
					$('iconeMalVoyants').src = 'themes/images/ico_nonVoyant.png';
				}
				return false;
			}
		},
	'#tools2 A': function(e) {
		e.onmouseover = function() {
			if($(e).className != 'actif') {
				$A(e.getElementsBySelector('img')).each(function(image) { image.src = "themes/images/footnote-" + e.rel + "-on.png" });
			}
		}
		e.onmouseout = function() {
			if($(e).className != 'actif') {
				$A(e.getElementsBySelector('img')).each(function(image) { image.src = "themes/images/footnote-" + e.rel + ".png" });
			}
		}
		e.onclick = function() {
			$A(e.getElementsBySelector('img')).each(function(image) { image.src = "themes/images/footnote-" + e.rel + "-on.png" });
			switch(e.rel) {
				case "infos":
					lt_up(e.target, 'package: activite');
					break;
				case "calculatrice":
					lt_up(e.target, 'package: ca18.calculTarif, etape:init');
					break;
				case "recherche":
					lt_up(e.target, 'package: tools.' + e.rel);
					break;
				case "newsletter":
					lt_up(e.target, 'package: tools.' + e.rel);
					break;
			}
			
			showOngletFootnav(e.id, e.rel);
			return false;
		}
	},
	'#filtre-centres A':function(e) {
		e.onclick = function() {
			if($(e).className == 'filtred') {
				// action d'annulation de ce filtre
				lt_notify('package: ca18.navactivite, groupe: filtre-centres');
				e.className = '';
				filtreboxCentre = '';
				$(e.id + '-img').src = 'themes/images/transparent.png';
			}
			else {
				// action de selection de ce filtre
				// 1. deselection de tous les filtres du même groupe
				lt_notify('package: ca18.navactivite, groupe: filtre-centres, filtreon: ' + e.rel);
				
				$('filtrebox-centres-binet').className = '';
				$('filtrebox-centres-binet-img').src = 'themes/images/transparent.png';
				$('filtrebox-centres-abbesses').className = '';
				$('filtrebox-centres-abbesses-img').src = 'themes/images/transparent.png';
				$('filtrebox-centres-hebert').className = '';
				$('filtrebox-centres-hebert-img').src = 'themes/images/transparent.png';
				$('filtrebox-centres-chapelle').className = '';
				$('filtrebox-centres-chapelle-img').src = 'themes/images/transparent.png';
				
				e.className = 'filtred';
				filtreboxCentre = e.title;
				$(e.id + '-img').src = 'themes/images/' + e.id + '.png';
			}
			return false;
		},
		e.onmouseover = function() {
			$(e.id + '-img').src = 'themes/images/' + e.id + '.png';
			$('filtrebox-centres-titre').innerHTML = e.title;
		},
		e.onmouseout = function() {
			if($(e).className != 'filtred') {
				$(e.id + '-img').src = 'themes/images/transparent.png';
				$('filtrebox-centres-titre').innerHTML = filtreboxCentre;
			}
		}
	},
	'#filtre-ages A':function(e) {
		e.onclick = function() {
			if($(e).className == 'filtred') {
				// action d'annulation de ce filtre
				lt_notify('package: ca18.navactivite, groupe: filtre-ages');
				e.className = '';
				filtreboxAge = '';
				$(e.id + '-img').src = 'themes/images/transparent.png';
			}
			else {
				// action de selection de ce filtre
				// 1. deselection de tous les filtres du même groupe
				lt_notify('package: ca18.navactivite, groupe: filtre-ages, filtreon: ' + e.rel);
				
				$('filtrebox-ages-age1').className = '';
				$('filtrebox-ages-age1-img').src = 'themes/images/transparent.png';
				$('filtrebox-ages-age2').className = '';
				$('filtrebox-ages-age2-img').src = 'themes/images/transparent.png';
				$('filtrebox-ages-age3').className = '';
				$('filtrebox-ages-age3-img').src = 'themes/images/transparent.png';
				$('filtrebox-ages-age4').className = '';
				$('filtrebox-ages-age4-img').src = 'themes/images/transparent.png';
				$('filtrebox-ages-age5').className = '';
				$('filtrebox-ages-age5-img').src = 'themes/images/transparent.png';
				
				e.className = 'filtred';
				filtreboxAge = e.title;
				$(e.id + '-img').src = 'themes/images/' + e.id + '.png';
			}
			return false;
		},
		e.onmouseover = function() {
			$(e.id + '-img').src = 'themes/images/' + e.id + '.png';
			$('filtrebox-ages-titre').innerHTML = e.title;
		},
		e.onmouseout = function() {
			if($(e).className != 'filtred') {
				$(e.id + '-img').src = 'themes/images/transparent.png';
				$('filtrebox-ages-titre').innerHTML = filtreboxAge;
			}
		}
	},
	'#filtre-horaires A':function(e) {
		e.onclick = function() {
			if($(e).className == 'filtred') {
				// action d'annulation de ce filtre
				lt_notify('package: ca18.navactivite, groupe: filtre-horaires');
				e.className = '';
				filtreboxHoraire = '';
				$(e.id + '-img').src = 'themes/images/transparent.png';
			}
			else {
				// action de selection de ce filtre
				// 1. deselection de tous les filtres du même groupe
				lt_notify('package: ca18.navactivite, groupe: filtre-horaires, filtreon: ' + e.rel);
				
				$('filtrebox-horaires-matin').className = '';
				$('filtrebox-horaires-matin-img').src = 'themes/images/transparent.png';
				$('filtrebox-horaires-am').className = '';
				$('filtrebox-horaires-am-img').src = 'themes/images/transparent.png';
				$('filtrebox-horaires-soiree').className = '';
				$('filtrebox-horaires-soiree-img').src = 'themes/images/transparent.png';
				
				e.className = 'filtred';
				filtreboxHoraire = e.title;
				$(e.id + '-img').src = 'themes/images/' + e.id + '.png';
			}
			return false;
		},
		e.onmouseover = function() {
			$(e.id + '-img').src = 'themes/images/' + e.id + '.png';
			$('filtrebox-horaires-titre').innerHTML = e.title;
		},
		e.onmouseout = function() {
			if($(e).className != 'filtred') {
				$(e.id + '-img').src = 'themes/images/transparent.png';
				$('filtrebox-horaires-titre').innerHTML = filtreboxHoraire;
			}
		}
	},
	'#mainnav A':function(e) {
		e.onclick = function() {
			if($(e).className == 'selectioned') {
				// action d'annulation de ce filtre
				
			}
			else {
				$('mainnav-activites').className = '';
				$('mainnav-vacances').className = '';
				$('mainnav-activites-img').src = 'themes/images/box-Activite-off.png';
				$('mainnav-vacances-img').src = 'themes/images/box-Vacance-off.png';
				
				e.className = 'selectioned';
				$(e.id + '-img').src = 'themes/images/box-' + e.rel + '-on.png';
				
			}
			showNav(e.rel);
			return false;
		},
		e.onmouseover = function() {
			if($(e).className != 'selectioned') {
				$(e.id + '-img').src = 'themes/images/box-' + e.rel + '-over.png';
			}
		},
		e.onmouseout = function() {
			if($(e).className != 'selectioned') {
				$(e.id + '-img').src = 'themes/images/box-' + e.rel + '-off.png';
			}
		}
	}
};

Behaviour.register(ca18);
