window.addEvent('load', function(){
	if ($('annuaire_arbre')){
		$('annuaire_arbre').setStyle('display','block');
		var accordion = new Accordion('h3.annuaire_tronc', 'div.annuaire_tronc_element', {}, $('annuaire_arbre'));
	}
	if ($('choix_css')){
		$('choix_css').addEvent('change',function(){
			Cookie.set('horizons_css',css,{domain : 'horizons.free.fr',duration : 15});
			$('css').href = 'css/'+css+'.css';
		});
		var set_css = function(){
			var css = Cookie.get('horizons_css');
			if (css !== false){
				$('css').href = 'css/'+css+'.css';
			}
			else{
				$('css').href = 'css/base.css';
			}
		}
	}
	if ($('mot_cle'))
	{
		$('mot_cle').addEvent('focus',function(){
			if (this.value == 'Rechercher...')
			{
				this.value = '';
			}
		});
		$('mot_cle').addEvent('blur',function(){
			if (this.value == '')
			{
				this.value = 'Rechercher...';
			}
		});
	}
	//Sondage
	if ($('frm_sondage')){
		$('frm_sondage').action = 'requetes.php?action=voter_sondage';
		$('frm_sondage').addEvent('submit',function(e){
			new Event(e).stop();
			var chargeur = new Loader('frm_sondage').start();
			this.send({
				update: div_sondage,
				method : 'get',
				onComplete: function(){$(this.options.update).toggleClass('ajax-loading');}
				});
			});
	}
	chargeur = new Loader();
	Shadowbox.init();
	new Ajax('./chron_flux.php',{
		onComplete: function(){new Ajax('./chron_galerie.php').request();},
		onFailure: function(){new Ajax('./chron_galerie.php').request();}
	 }
	).request();
	setTips();
});
function setTips(){
	//var tips1 = new Tips($$('.champ'),$('choix_css'));
	var tips3 = new Tips($$('.link_tips'), {className: 'tool2'} );
}
function ajouter_produit(prod){
	//
	var chargeur = new Loader({cible : 'panier'}).start();
	new Ajax('requetes.php?action=ajouter_produit&prod='+prod , {
		method : 'get',
		update : $('panier'),
		onComplete: function(t) { $(this.options.update).toggleClass('ajax-loading'); Erreur('Le produit a été ajouté au panier'); },
		onFailure: function(t) { alert('Error ' + t.status + ' -- ' + t.statusText); }
	}
	).request();
	setTips();
}

function getCategories(type_id){
	var chargeur = new Loader({cible : 'liste_categories'}).start();
	new Ajax('requetes.php?action=lister_categories&type_id='+type_id,{
	method : 'get',
	update : $('liste_categories'),
	onComplete: function(t) { $(this.options.update).toggleClass('ajax-loading');},
	}
	).request();
}
function reponse_sondage(){
	var chargeur = new Loader('div_sondage').start();
	new Ajax('requetes.php?action=reponse_sondage',{
		method : 'get',
		update : $('div_sondage'),
		onComplete : function(t) { chargeur.stop(); }
	}).request();
}
function vider_panier(){
	//
	var chargeur = new Loader({cible : 'panier'}).start();
	new Ajax('requetes.php?action=vider_panier' , {
		method : 'get',
		update : $('panier'),
		onComplete: function(t) { $(this.options.update).toggleClass('ajax-loading'); Erreur('Le panier a bien été vidé'); },
		onFailure: function(t) { alert('Error ' + t.status + ' -- ' + t.statusText); }
	}
	).request();
}
function recalculer_panier(){
	//
	champs = $$('.champ'); url = '';
	expression = /^prod_.*/;
	for (i = 0; i < champs.length; i++){
		if (expression.test(champs[i].name)){
		url += '&' + champs[i].name + '=' + champs[i].value;
		}
		else if (champs[i].name == 'prod[]' && champs[i].checked == true){
		url += '&' + champs[i].name + '=' + champs[i].value;
		}
	}
	var chargeur = new Loader('form_panier').start();
	new Ajax('requetes.php?action=recalculer_panier', 
	{
		method : 'post',
		update : $('form_panier'),
		data : url,
		onComplete : function(t){
			$(this.options.update).toggleClass('ajax-loading');
			new Ajax('requetes.php?action=charger_panier',
			{
				method : 'get',
				update : $('panier')
			}
			).request();
		}
	}
	).request();
	setTips();
}
function enregistrer_commande(){
	//
	var chargeur = new Loader('etat_commande').start();
	new Ajax('requetes.php?action=enregistrer_commande', 
	{
		method : 'post',
		update : etat_commande,
		data: $('choix_paiement').toQueryString() ,
		onComplete : function(t){
			$(this.options.update).toggleClass('ajax-loading');
			//vider_panier();
			//window.location = './index2.php';
		}
	}
	).request();
}
function checker(elt){
	elt.checked = !elt.checked;
	return true;
}
function Erreur(texte){
	var popup = new Popup({'id':'erreur','className':'erreur','titre':'message','innerHTML':texte});
	( function(){ popup.remove();} ).delay(2000);
}
function ajouter_tutorial(){
	new Popup({titre: 'Nouveau tutorial', 'id': 'popup_tutorial'}
	).open('requetes.php?action=ajouter_tutorial');
}
function ajouter_serie(){
	new Popup({titre: 'Nouveau titre', 'id': 'popup_serie'}
	).open('requetes.php?action=ajouter_serie');
}
function enregistrer_tutorial(){
	tinyMCE.triggerSave();
	//Vérification du formulaire
	f = $('frm_nv_tutorial');
	if (f.nom.value == ''){
		Erreur('Vous devez entrer un intitulé ŕ ce tutorial');
		f.nom.focus();
	}
	else if (f.lien.value == ''){
		Erreur('Vous devez entrer l\'url!')
		f.lien.focus();
	}
	else if (f.valeur.value == ''){
		Erreur('Vous devez entrer une note');
		f.valeur.focus();
	}
	else {
		var frm_data = $('frm_nv_tutorial').toQueryString();
		var chargeur = new Loader({cible : 'popup_tutorial_contenu'}).start();
		new Ajax('requetes.php?action=ajouter_tutorial',
		{
			method : 'post',
			update : $('popup_tutorial_contenu'),
			data : frm_data,
			onComplete : function(t){
				new Ajax('requetes.php?action=charger_div_tutoriaux',
				{
					method : 'get',
					update : $('div_tutoriaux'),
					onComplete : function() {
						$(this.options.update).toggleClass('ajax-loading');
						new Ajax('requetes.php?action=actualiser_tutoriaux',
						{
							method : 'get',
							update : $('div_tutoriaux')
						}
						).request();
						$('popup_tutorial').remove();
					}
				}
				).request();
			}
		}
		).request();
	}
}
function enregistrer_vote(){
	tinyMCE.triggerSave();
	//Vérification du formulaire
	f = $('frm_vote_tutorial');
	if (f.commantaire.value == ''){
		Erreur('Vous devez entrer un commentaire!')
		f.commantaire.focus();
	}
	else {
		var frm_data = $('frm_vote_tutorial').toQueryString();
		var chargeur = new Loader({cible : 'popup_vote_tutorial_contenu'}).start();
		new Ajax('requetes.php?action=voter_tutorial',
		{
			method : 'post',
			update : $('popup_vote_tutorial_contenu'),
			data : frm_data,
			onComplete : function(t){
				new Ajax('requetes.php?action=charger_div_tutoriaux',
				{
					method : 'get',
					update : $('div_tutoriaux'),
					onComplete : function() {
						$(this.options.update).toggleClass('ajax-loading');
						new Ajax('requetes.php?action=actualiser_tutoriaux',
						{
							method : 'get',
							update : $('div_tutoriaux')
						}
						).request();
						$('popup_vote_tutorial').remove();
					}
				}
				).request();
			}
		}
		).request();
	}
}
function chercher_tutoriaux(){
	var nom = $('rech_nom').value;
	var type = $('rech_type').value;
	var page = $('rech_page')?$('rech_page').getText():'';
	chargeur = new Loader({cible : 'liste_tutoriaux'}).start();
	new Ajax('requetes.php?action=chercher_tutoriaux',{
		method : 'post',
		data : '&nom='+nom+'&type='+type+'&page='+page,
		evalScripts : true,
		update : $('liste_tutoriaux'),
		onComplete : function(t){
			$(this.options.update).toggleClass('ajax-loading');
		}
	}).request();
}
function chercher_annuaire(nom,type,categ,theme){
	new Loader({cible : 'liste_annuaire'}).start();
	new Ajax('requetes.php?action=chercher_annuaire',{
		method : 'post',
		data : '&nom='+nom+'&type='+type+'&categ='+categ+'&theme='+theme,
		evalScripts : true,
		update : $('liste_annuaire'),
		onComplete : function(t){
			$(this.options.update).toggleClass('ajax-loading');
		}
	}).request();
}
function selectionner_categories(type_id){
		new Ajax('requetes.php?action=selectionner_categories',{
			method : 'post',
			data : '&type=' + type_id,
			onComplete : function(t){
				if ($('categ_id')){ $('categ_id').remove(); }
				new Element('select',{
					'name':'categ_id',
					'id':'categ_id',
					'events':{
						'change': function(){selectionner_themes();}
						}
				}).inject($('classification')).setHTML(t);
			}
			,
			onFailure : function(t){alert('erreur');}
		}).request();
}
var Popup = new Class({
	
	options : {
		id : 'popup',
		//size : { width: 600 , height:400 },
		className : 'popup',
		title : '',
		innerHTML : ''
	},
	
	initialize : function(options){
		this.setOptions(options);
		this.container = new Element('div',{
			'id': this.options.id ,
			'class': this.options.className
			}
		).inject(document.body);
		this.barre = new Element('div',{
			'class' : 'popup_titre'
			}
		).inject(this.container).setHTML('<span style="float:left;display:block;margin-left:5px;">'+this.options.titre+'</span><span style="display:block;float:right;margin-right:5px;">X</span>');
		this.barre.getLast().addEvent('click', function(){
			this.getParent().getParent().remove();
		});
		this.contenu = new Element('div',{
			'id': this.options.id + '_contenu' ,
			'class':'popup_contenu'
			}
		).setHTML(this.options.innerHTML).inject(this.container);
		//
		new Drag.Move(this.container,{handle : this.barre});
		//taille de la popup
		//this.container.setStyle('width',this.options.size.width);
		//this.container.setStyle('height',this.options.size.height);
	},
	
	remove : function(){
		$(this.options.id).remove();
	},
	
	open : function(url, donnees){
		$(this.options.id).setStyle('height',$(this.options.id).getStyle('height'));
		$(this.options.id+'_contenu').empty().addClass('ajax-loading');
		new Ajax(url,{update: $(this.options.id+'_contenu') , method: 'get', evalScripts : true, data : donnees,
		onComplete: function(t) { $(this.options.update).toggleClass('ajax-loading');
		$(this.options.update).setStyle('height',''); },
		onFailure: function(t){alert(t);}}
		).request();
	}
});
//
Popup.implement(new Events, new Options);
/*
Met un loading pendant une requete ajax gardant la taille initiale du div
*/
var Loader = new Class({
	
	options : {
		class : 'ajax-loading',
		cible : '',
		styles : {
			'duration' : 200,
			'wait' : true
		}
	},
	
	initialize : function(options){
		this.setOptions(options);
	},
	
	start : function(){
		//$(this.options.cible).setStyle('height',$(this.options.cible).getStyle('height'));
		$(this.options.cible).empty().addClass(this.options.class);
	},
	
	stop : function(){
		$(this.options.cible).removeClass(this.options.class);
		$(this.options.cible).setStyle('height','');
	}
});
Loader.implement(new Events, new Options);

function verif(id_form){
	if ($(id_form)){
		var f = $(id_form);
		switch (id_form){
			case 'frm_type':
				tinyMCE.triggerSave();
				if (f.nom.value.trim() == ''){
					Erreur('Vous devez entrer un nom!');
					f.nom.focus();
					return false;
				}
				else if (f.description.value.trim() == ''){
					Erreur('Vous devez entrer une description');
					f.description.focus();
					return false;
				}
			break;
			default:
			return true;
		}
		return true;
	}
}
function ajouter(valeur){
	new Element('input',{
		'class':'champ',
		'name' :'point_'+valeur+'[]'
	}).inject($('pts_'+valeur));
}

function chercher_titre(valeur){
	if (valeur != 'Rechercher...' && valeur.trim() != ''){
		new Ajax('requetes.php?action=chercher_titre',{
			method : 'post',
			update : 'annuaire_resultats',
			data : '&mot_cle=' + valeur,
			onRequest : function(){ $('annuaire_resultats').addClass('loading1');},
			onComplete : function(){ $('annuaire_resultats').removeClass('loading1'); setTips();},
			onFailure : function(t){alert('erreur');$('annuaire_resultats').removeClass('loading1');}
		}).request();
	}
}
function enregistrer_auteur(){
	//
	var chargeur = new Loader({cible : 'liste_auteurs'}).start();
	new Ajax('requetes.php?action=enregistrer_auteur', 
	{
		method : 'post',
		data: $('nouveau_auteur').toQueryString() ,
		onComplete : function(t){
			$('popup').remove();
			charger_auteurs();
		}
	}
	).request();
}

function charger_auteurs()
{
	new Ajax('requetes.php?action=charger_auteurs',{
		method : 'post',
		update : $('liste_auteurs'),
		onRequest : function(){ $('liste_auteurs').addClass('loading1');},
		onComplete : function(){ $('liste_auteurs').removeClass('loading1'); setTips();},
	}).request();
}

function ajouter_auteur(){
	new Popup({titre: 'Ajouter un auteur', 'id': 'popup'}
	).open('requetes.php?action=ajouter_auteur');
}
function enregistrer_theme(){
	//
	var chargeur = new Loader({cible : 'liste_themes'}).start();
	new Ajax('requetes.php?action=enregistrer_theme', 
	{
		method : 'post',
		data: $('nouveau_theme').toQueryString() ,
		onComplete : function(t){
			$('popup').remove();
			charger_themes();
		}
	}
	).request();
}

function charger_themes()
{
	new Ajax('requetes.php?action=charger_themes',{
		method : 'post',
		update : $('liste_themes'),
		onRequest : function(){ $('liste_themes').addClass('loading1');},
		onComplete : function(){ $('liste_themes').removeClass('loading1'); setTips();},
	}).request();
}

function ajouter_theme(){
	new Popup({titre: 'Ajouter un theme', 'id': 'popup'}
	).open('requetes.php?action=ajouter_theme');
}
