
if(typeof(Ext) != 'undefined'){
	Ext.BLANK_IMAGE_URL = './js/extjs/resources/images/default/s.gif';
	Ext.onReady(function(){
		if(Ext.get('export_MI')){
			Ext.get('export_MI').dom.style.display = 'block';
		}
		//Changement de la manière  dont spip ouvre les liens (ouvre un nouvel onglet)
		changerLien(getElementsByClass('spip_out'));
		changerLien(getElementsByClass('spip_documents'));
		
		if(Ext.get('menuAccueilSelect')){
			//on appelle la fonction qui ajoute un écouteur onchange sur le select pour rediriger dans le site
			chargerEcouteurSelect('menuAccueilSelect');
		}
		if(Ext.get('carteNav_edsp')){
			chargerEcouteurLiensCarte();
		}
		/*if(Ext.get('accueil_clubSDIS14')){
			Ext.get('accueil_clubSDIS14').dom.style.display = 'block';
		}*/
		
		
		if(Ext.get('liste_abc')){
			if(!Ext.get('liste_abc').isVisible()){
				Ext.get('liste_abc').toggle();
			}
			var tab_lienABC = getElementsByClass('club_sdis14', document.getElementById('liste_abc'), 'a');
			//pour chaque lien du tableau on ajoute un listener
			for(var i = 0; i <= tab_lienABC.length -1; i++){
				var indexCorrect = i + 1;
				//ajout de l'écouteur on click
				Ext.get(tab_lienABC[i].id).dom.onclick = function(){
					//récupération de l'identifiant qui va permettre l'ouverture ou la fermeture du bloc situé en dessous
					var id = this.id.split('_');
					var element = Ext.get('enfant_' + id[1]);
					if(element.isVisible()){
						slideText('up', element);
					}else{
						slideText('down', element);
					}
					return false; 
				};
			}
		}
		//simple function to slide text up and down and optionally hide..  
		var slideText = function(direction,element){
			var slideMe = Ext.get(element);
			switch(direction){  
				//determine the direction of travel  
				case 'up' :  
					//lets check to see if this is visible and if not then its already hidden :)  
					if(slideMe.isVisible()){  
						//if we get here then the element is visible  
						slideMe.slideOut('t', {  
							easing: 'easeOut',  
							duration: .5,  
							remove: false,  
							useDisplay: true  
						});  
					}  
				break;  
				case 'down' :  
					//lets check to see if this is visible and if it is then we do nothing :)  
					if (!slideMe.isVisible()) {  
						//if we get here then the element is visible  
						slideMe.slideIn('t', {  
							easing: 'easeOut',  
							duration: .5  
						});  
					}         
				break;  
				default :  
					//the default action is simply to toggle the element  
					slideMe.toggle();
				break;
			}
			//ends the slider function    
		}
		//on essaye d'attraper le lien club sdis14
		/*if(Ext.get('accueil_clubSDIS14')){
			Ext.get('accueil_clubSDIS14').dom.href = '#';
			Ext.get('accueil_clubSDIS14').dom.onclick = function(){
				var form = new Ext.form.FormPanel({
					id: 'pannel_login',				//id de la fen?tre
					frame: true, 				//pour que tous les items soient dans la m?me frame
					autoWidth:true,
					autoHeight:true,
					labelWidth:  90, 			//largeur des labels des champs
					labelAlign: 'left',			//les labels s'aligneront a droite		
					bodyCfg: {tag:'center', cls:'x-panel-body'},		//on aligne tous les champs au milieu de la fen?tre
					items: [{
						xtype: 'textfield',	
						fieldLabel: 'Identifiant ',
						name: 'login', 
						anchor: '85%',  // anchor width by percentage
						allowBlank: false,				//champ obligatoire pour poster le formulaire
						blankText:"Veuillez saisir votre login.",	//message si le champ n'est pas rempli
						id: 'input_login'
					},{
						xtype: 'textfield',	
						fieldLabel: 'Mot de passe ',
						name: 'mdp',
						anchor: '85%',  // anchor width by percentage
						allowBlank: false, 
						inputType: 'password',
						blankText:"Veuillez saisir votre mot de passe.",
						id: 'input_mdp'
					}]
				});

				///////////////////
				var htmlForm = '';
				//on tente de récupérer le formulaire de connexion
				var conn = new Ext.data.Connection();
				conn.request({
					url: './js/index.php?a=connexion',
					method: 'POST',
					success: function(e) {
						htmlForm = e.responseText;
						
						var window = new Ext.Window({
							id: 'formClubSDIS14',
							animateTarget: 'accueil_clubSDIS14',
							width: 272,
							height: 164,
							buttonAlign:'right',
							resizable: false,
							closable: false,
							draggable: false,
							modal: true, 
							html: htmlForm
						});
						window.show();
						var arr_mask = getElementsByClass('ext-el-mask');
						arr_mask[0].onclick = function(){
							window.close();
						}
					}
				});
				
				var window = new Ext.Window({
					id: 'formClubSDIS14',
					animateTarget: 'accueil_clubSDIS14',
					width: 272,
					height: 164,
					buttonAlign:'right',
					resizable: false,
					closable: false,
					draggable: false,
					modal: true*/
					/*items: form,
					buttons: [{
						id: 'form_login_valider',
						text: 'Valider',
						tooltip: 'Accéder à mon espace personnel',
						handler: function(){
							 document.location.href = 'squelettes/nouvellepage.html'; 
						}
					}]*/
				/*});
				window.show();
				var arr_mask = getElementsByClass('ext-el-mask');
				arr_mask[0].onclick = function(){
					window.close();
				}
				return false;
			};
		}*/
	});
}

function chargerEcouteurLiensCarte(){
	Ext.select('#carteNav_edsp .lien_batiment').each(function(){
		this.addClassOnOver('rollOver');
		
		this.on('mouseover', function(event, target){
			infobulleNomBatiment(Ext.get(target));
		});
		
		this.on('mouseout', function(event, target){
			Ext.get('infobulle_edsp').toggle();
		});
	});
	
}

function infobulleNomBatiment(ob_batiment){
	
	var arr_baseID = ob_batiment.dom.id.split('_');
	var baseID = arr_baseID[1];
	var ob_infos = Ext.get('b_' + baseID);
	
	if(ob_infos){
		var coordonnees = ob_infos.down('span.coordonnees').dom.innerHTML;
		var arr_coordonnees = coordonnees.split(',');
		var titre = ob_infos.down('span.titre').dom.innerHTML;
		Ext.get('infobulle_edsp').toggle();
		Ext.get('infobulle_edsp').dom.innerHTML = titre;
		
		
		Ext.get('infobulle_edsp').setLeftTop(arr_coordonnees[0], arr_coordonnees[1]);
		
		
	}
}

function chargerEcouteurSelect(id){
	Ext.get(id).on('change', function(event, target){
		window.location = this.dom.value;
	});
}
//cacher un objet html
function cache(id){
	if(document.getElementById(id)){
		document.getElementById(id).style.visibility  = "hidden";
	}
}
//afficher un objet html
function affiche(id){
	if(document.getElementById(id)){
		document.getElementById(id).style.visibility  = "visible";
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			classElements[j]['id'] = els[i].id;
			j++;
		}
	}
	return classElements;
}
function changerLien(tab){
	//on calcule la taille du tableau
	var countTab = tab.length;
	//pour chaque élément du tableau
	for(var i=0; i < countTab; i++){
		//chaine de type 6_58_96_
		//on vérifie que ce soit bien un lien
		if(tab[i].tagName == 'A'){
			tab[i].onclick = function(){
				window.open(this.href);
				return false;
			};
		}//sinon on ne fait rien
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null)
			node = document;
	if (tag == null)
			tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var j = 0;
	for (i = 0; i < elsLen; i++) {
			if (pattern.test(els[i].className) ) {
					classElements[j] = els[i];
					j++;
			}
	}
	return classElements;
}


