var preloaded_images = [
												"/media/img/menu/menu-active-bullet-bg.png",
												"/media/img/sidebar/online-test-active.png",
												"/media/img/sidebar/online-form-active.png",
												"/media/img/widgets/search_button_active.png",
												"/media/img/header/contact-button-active.png",

												"/media/img/sidebar/online-form-active.png",
												"/media/img/sidebar/online-test-active.png",

												"/media/img/content/en_savoir_plus_sur-active.png",
												"/media/img/content/nos_autres_formations-active.png"

												]
var ass = new Asset.images(preloaded_images);

function remove_billes() {
		$('billes-bottom').remove();
		$('billes-top').remove();
}

function deobfuscate(a) {
  href = a.href;
  new_href = href.replace(/.*\/contact\/([a-z0-9._%-]+)\+([a-z0-9._%-]+)/i, "mailto:$1@$2");
  if (href != new_href) {
     a.setAttribute("href", new_href);
     a.innerHTML = a.innerHTML.replace("..", "@");
  }
}

function photo_gallery_hide(pane, a) {
		a.removeClass("active");
		pane.remove();
}

function photo_gallery_show(pane, a) {
		pane.empty();
		var button = new Element("a", {'class':'close-button'}).injectInside(pane);
		button.addEvent("click", function () { photo_gallery_hide(pane, a); });
		var image = new Element("img", {'src':a.getProperty('href')});
		image.injectInside(pane);
		pane.current_image = a;
		a.addClass("active");
}

function photo_gallery_handler(ev) {
		ev = new Event(ev);
		ev.stop();
		var a = this;
		var pane = $("gallery-pane");

		if (!pane) { // opening image 
				pane = new Element("div", {'id':'gallery-pane'});
				pane.injectInside($("content"));
				photo_gallery_show(pane, a);
		} else if (pane.current_image == a) { // closing image
				photo_gallery_hide(pane, a);
		} else { // opening another
				if (pane.current_image) pane.current_image.removeClass("active");
				photo_gallery_show(pane, a);
		}
		
		return false;
}

function install_photo_gallery () {
		var gallery = $("photo-gallery");
		if (!gallery) return;
		var anchors = gallery.getElementsByTagName("A");
		for (var i=0; i<anchors.length; i++) {
				a = anchors[i];
				a.addEvent("click", photo_gallery_handler);
		}
}


POPUPS = {
		'online-test':"width=600, height=445, status=1, toolbar=0",
		'online-form':"width=800, status=1, toolbar=0, scrollbars=1"
}

function popup_handler(ev) {
		ev = new Event(ev);
		ev.stop();
		if (POPUPS[this.id])
				options = POPUPS[this.id];
		else
				options = null;
		window.open(this.href, "_blank", options);
}


function init_openables() {
		function _init_openables(div) {
				var open_buttons = div.getElements(".open_button");
				var close_buttons = div.getElements(".close_button");
				var open_close_buttons = div.getElements(".open_close_button");
				var more_buttons = div.getElements(".more_button");
				var less_buttons = div.getElements(".less_button");
				open_buttons.each(function (b) { 
								b.addEvent("click", 
													 function (ev) { 
															 new Event(ev).stop(); 
															 div.addClass("open"); });
						});
				close_buttons.each(function (b) { 
								b.addEvent("click", 
													 function (ev) { 
															 new Event(ev).stop(); 
															 div.removeClass("open"); });
						});
				open_close_buttons.each(function (b) {
								b.addEvent("click", 
													 function (ev) { 
															 new Event(ev).stop(); 
															 div.toggleClass("open"); });
						});
				more_buttons.each(function (b) {
								b.addEvent("click", 
													 function (ev) { 
															 new Event(ev).stop(); 
															 div.addClass("show_more"); });
						});
				less_buttons.each(function (b) {
								b.addEvent("click", 
													 function (ev) { 
															 new Event(ev).stop(); 
															 div.removeClass("show_more"); });
						});
		}
		$$(".openable_container").each(_init_openables);
}


function init_nos_sites() {
		function _find_map_link_after(el) {
				while (el) {
						if (el.childNodes) {
								var children = el.childNodes;
								for (var i=0; i<children.length; i++) {
										var a = children[i];
										//console.log(a.href);
										if (a.href && (""+a.href).match(/http:..maps.google/))
												return a;
								}
						}
						el = el.nextSibling;
				}
		}
		var titles = $$("#page-7 #content h2");
		titles.each(function (h) {
						var site_name = h.id;
						var img = new Element("img", {
										'src':"/media/img/sites/nos-sites-"+site_name+".jpg"});
						h.banner = img;
						var map_link = _find_map_link_after(h);
						h.map_link = map_link;
						function _add_map() {
								var map = new Element("div", {'class':'sidemap'} );
								var map_img = new Element("img", {
														'src':"/media/img/sites/carte_"+site_name+".png"
										});
								var map_link = new Element("a", {
														'href':this.map_link.href,
														'target':'_blank'
										});
								if (this.map_link) {
										var map_txt = new Element("a", {
														'href':this.map_link.href,
														'class':'title',
														'target':'_blank'
												});
										map_txt.innerHTML = "&gt; Plan du site de "+this.innerHTML;
										map_txt.injectInside(map);
								}
								map_img.injectInside(map_link);
								map_link.injectInside(map);
								var coords = this.banner.getCoordinates();
								map.setStyles({
												'position':'absolute',
														'left':coords.left + coords.width + 20,
														'top':coords.top + coords.height - 20
														});
								map.injectInside(document.body);
						}
						function _delayed_add_map() {
								_add_map.delay(1000, h);
						}
						img.addEvent("load", _delayed_add_map);
						img.injectAfter(h);
						
				});
}

function init_home_logos_animation() {
        var logos = ['afdas.jpg', 'anfh.jpg', /* 'fafiec.jpg', 'forthac.jpg', */ 'uniformation.jpg', 'agecif.jpg', 'dif.jpg', 'fongecif.jpg', 'mediafor.jpg', 'cma.gif'];
		var base_url = "/media/img/logos/";
		var infobox = $('infobox-content');
		if (!infobox) return;
		var title = infobox.getElement("h2");
		if (title.innerHTML!="Nos agréments") return;
		//var strong = infobox.getElement("strong");
		var logo_container = new Element("p", {'class':'logo-animation-container'});
		var imgs = [];
		for (var i=0; i<logos.length; i++) {
				var img = new Element("img", {'src':base_url+logos[i]});
				img.setOpacity(0);
				img.injectInside(logo_container);
				imgs.push(img);
		}
		var img_index = 0;
		function _refresh() {
				var from_img = $(imgs[img_index]);
				img_index = (img_index + 1) % imgs.length;
				var to_img = $(imgs[img_index]);
				//console.log(from_img, to_img);
				(new Fx.Styles(from_img)).start({"opacity": 0});
				(new Fx.Styles(to_img)).start({"opacity": 1});
		}
		$(imgs[0]).setOpacity(1);
		_refresh.periodical(2000);		
		logo_container.injectAfter(title);
}

window.addEvent("domready", function() {
 $$('A').each(deobfuscate);
 install_photo_gallery();
 if (window.ie6) remove_billes(); // bogus transparency
 if ($('online-test')) $('online-test').addEvent("click", popup_handler);
 if ($('online-form')) $('online-form').addEvent("click", popup_handler);
 init_openables();
 init_nos_sites();
 init_home_logos_animation();
});

