var currentRubrique=null;
var currentArticle=null;

Ext.onReady(function() {
	
	// La fee te parle
	new Ext.ToolTip({
	    target: 'fee-div',
	    title: 'Appelez vite !',
	    html: 'N\'hésitez pas à nous téléphoner pour plus de renseignements',
	    trackMouse:false,
	    width:150,
	    animCollapse:true
	});
	
	// Apparition inexpliquee de la fee et du titre
	var fee = Ext.get("fee-div");
	fee.fadeIn({duration:3});
	var titre = Ext.get("titre");
	titre.fadeIn({duration:3});
	
	// Zoli effet fondu sur passage souris sur rubriques
	//  et chargement rubriques
	$$('div.rubrique').each(function(el){
		el.setStyle('opacity', '0.5');
		el.addEvents({
			mouseover: function(){
				var tmpfx = new Fx.Morph(el, {duration:300});
				tmpfx.start({'opacity':1});
			},
			mouseout: function(){
				if (currentRubrique != el.id) {
					var tmpfx = new Fx.Morph(el, {duration:300});
					tmpfx.start({'opacity':0.5});
				}
			},
			click: function(){
				if (currentRubrique != el.id) {
					loadRubrique(el.id);
					currentRubrique=el.id;
					$$('div.rubrique').each(function(eltoblur){
						if (currentRubrique != eltoblur.id) eltoblur.fireEvent('mouseout');
					});
				}
			}
		});
		
	});
	
	// Ajustement hauteur liste articles
	var tmpcontainer = $('articles-container');
	
	tmpcontainer.setStyle('height', getHeight()-tmpcontainer.getStyle('top').toInt()-10);
	
	// Chargement rubrique presentation
	$('rubrique-presentation').fireEvent('mouseover');
	$('rubrique-presentation').fireEvent('click');
});

function loadRubrique(rubrique) {
    var titrediv = Ext.get('rubrique-titre');
	titrediv.fadeOut({duration: 0.1});
	var soustitrediv = Ext.get('rubrique-soustitre');
	soustitrediv.fadeOut({duration: 0.1});
	var articlesdiv = Ext.get('articles-container');
	articlesdiv.fadeOut({duration: 0.1});
	var articlecentraldiv = Ext.get('article-central');
	articlecentraldiv.fadeOut({duration: 0.1});
	
	// Chargement titre de rubrique
	Ext.Ajax.request({
		url: 'rubriques/'+rubrique+'-titre.html',
		success: function(response){
			titrediv.update(response.responseText);
			titrediv.fadeIn({duration: 0.5});
		}
	});
	// Chargement sous-titre
	Ext.Ajax.request({
		url: 'rubriques/'+rubrique+'-soustitre.html',
		success: function(response){
			soustitrediv.update(response.responseText);
			soustitrediv.fadeIn({duration: 0.5});
		}
	});
	// on charge la liste d articles
	Ext.Ajax.request({
		url: 'rubriques/'+rubrique+'-articles.html',
		success: function(response){
		    currentArticle = null;
		    articlesdiv.update(response.responseText);
			articlesdiv.fadeIn({duration: 0.5});
			// Zoli effet fondu sur passage souris sur articles
			//  et chargement article central
			var listeArticles = $$('div.article');
			
			listeArticles.each(function(el){
				el.setStyle('opacity', '0.5');
				// Tip sur article
				var splitReg = new RegExp(' - ', 'g');
			    var tipContent = el.title.split(splitReg);
				new Ext.ToolTip({
				    target: el.id,
				    title: tipContent[0],
				    html: tipContent[1],
				    trackMouse:true,
				    showDelay: 100,
				    hideDelay: 50,
				    width:150,
				    animCollapse:true
				});
				el.title='';
				el.addEvents({
					mouseover: function(){
						var tmpfx = new Fx.Morph(el, {duration:300});
						tmpfx.start({'opacity':1});
					},
					mouseout: function(){
						if (currentArticle != el.id) {
							var tmpfx = new Fx.Morph(el, {duration:300});
							tmpfx.start({'opacity':0.5});
						}
					},
					click: function(){
						if (currentArticle != el.id) {
							loadArticle(el.id);
							currentArticle=el.id;
							$$('div.article').each(function(eltoblur){
								if (currentArticle != eltoblur.id) eltoblur.fireEvent('mouseout');
							});
						}
					}
				});

			});
			
			// On preselectionne un article
			if ($defined(listeArticles[0])) {
			    $$('div.article')[0].fireEvent("mouseover");
			    $$('div.article')[0].fireEvent("click");
			}
		}
	});
	if (rubrique == 'rubrique-presentation') {
		// on charge l article central
		Ext.Ajax.request({
			url: 'rubriques/articles/presentation.html',
			success: function(response){
				articlecentraldiv.update(response.responseText);
				articlecentraldiv.fadeIn({duration: 0.1});
			}
		});
	}
		
}

function loadArticle(article) {
    var articlecentraldiv = Ext.get('article-central');
	articlecentraldiv.fadeOut({duration: 0.2});
	
	// chargement de l article demande
	(function () {
	    Ext.Ajax.request({
        	url: 'rubriques/articles/'+article+'.html',
        	success: function(response){
        		articlecentraldiv.update(response.responseText);
        		articlecentraldiv.fadeIn({duration: 0.5});
        	}
        });
	}).delay(200);
}

function getHeight() {
    var height = self.innerHeight;
    var mode = document.compatMode;

    if ((mode || Ext.isIE) && !Ext.isOpera) {
        height = (mode == "CSS1Compat") ?
                 document.documentElement.clientHeight :
                 document.body.clientHeight;
    }

    return height;
}