/**
* Cette variable permet d'viter les conflit de nommage entre jQuery et le reste du monde.
*/
var $jQ = jQuery;

/**
* La dtermination automatique des hauteurs de l'en-tte et du composant flash ne fonctionne pas...
* Aussi on passe par des constantes.
*/
var cHauteurEntete = 100; // 90 +10
var cHauteurFlash  = 275;
var cHauteurMenuBas  = 10;

/* JS Document */

function preinit(){ 
	if(navigator.appName.indexOf("Microsoft") == -1){
		resize_iframe();
	}
	else{
		resize_iframe_ie();
	}
 // new Accordian('basic-accordian',5,'header_highlight');
  
}

function reinit(){
	resize_iframe();
  //new Accordian('basic-accordian',5,'header_highlight');
}

window.onload = preinit;
window.onresize = null;	

function modifierCSS () {
	//alert('modifierCSS');

	////console.group("modifierCSS");	// FireBug
	//
	// Positionnement du contenu insr dans l'lment <object>
	//
	
	// Hauteur supplementaire du div .space
	var hauteurSuppSpace = 20;	// Le tip top c'est 20px
  
	//
	// Rcupration de la hauteur des lments  hauteur variable
	//
	// HACK : la valeur de 186 c'est pour la page d'accueil !
	var hauteurMax = 186;
	
	// Menus		
	hauteurMenu = Math.max($jQ('#bf7').outerHeight(),$jQ('#bf12').outerHeight());
	hauteurMenu = Math.max(hauteurMenu ,$jQ('#bf35').outerHeight());
	hauteurMenu = Math.max(hauteurMenu ,getDivHeight('bf12'));  
	hauteurMenu = Math.max(hauteurMenu ,getDivHeight('bf7'));
	hauteurMenu = Math.max(hauteurMenu ,getDivHeight('bf35'));  
	hauteurMenu = Math.max(hauteurMenu ,getDivHeight('bf516'));  // finance
	hauteurMenu = Math.max(hauteurMenu ,getDivHeight('bf510'));
	hauteurMenu = Math.max(hauteurMenu ,(getDivHeight('ze261')+getDivTop('ze261'))); 
	hauteurMenu = Math.max(hauteurMenu ,(getDivHeight('ze174')+getDivTop('ze174'))); // news
	hauteurMenu = Math.max(hauteurMenu ,(getDivHeight('ze607')+getDivTop('ze607'))); // agenda
	//hauteurMenu = Math.max(hauteurMenu ,(getDivHeight('ze15')+getDivTop('ze15'))); 
	hauteurMenu = Math.max(hauteurMenu ,getDivHeight_ie('finance_communique')+getDivTop('finance_communique'));
	hauteurMenu = Math.max(hauteurMenu ,getDivHeight_ie('content'));
	
	 
	hauteurMax = Math.max(hauteurMax ,hauteurMenu ); 
	// Zones ditables
	$jQ("div[id*='ze']").each(function (n){
		hauteurMax = Math.max(hauteurMax,$jQ('#'+this.id).outerHeight());
		//this.style.height='auto';
	});

	
	var hauteurSpace = hauteurMax+hauteurSuppSpace;	
	
  
	// $jQ('.space').height(hauteurSpace);
	
	// Ajustement de la hauteur du parent
	if (parent.document.getElementById('iframediv') != undefined){
		parent.document.getElementById('iframediv').style.height = hauteurSpace+"px";
		parent.document.getElementById('awsiframe').style.height = hauteurSpace+"px";
	}
	//$jQ('body.home.space').height(hauteurSpace);

	return hauteurSpace;
	
}



function getDivHeight_ie(id){
	var H_;
	var tempH_;
	var islexique;
	islexique = 0;
	if (eval(document.getElementById(id)) != null){ 
	
		/*if (id = "content") h = 0;
		else  h = document.getElementById(id).offsetHeight;*/
		h = document.getElementById(id).offsetHeight;
		//alert("len = "+document.getElementById(id).childNodes.length); 
		for (i=0;i<=document.getElementById(id).childNodes.length;i++){
			//alert("i ="+i);
			if (eval(document.getElementById(id).childNodes[i]) != null) {
				//offset = offset +document.getElementById(id).childNodes[i].offsetTop;
				tempH = document.getElementById(id).childNodes[i].offsetHeight+document.getElementById(id).childNodes[i].offsetTop;
				
				//alert (" offset "+offset);
				//tempH = document.getElementById(id).childNodes[i].offsetHeight;
				tempId = document.getElementById(id).childNodes[i].id;
				//alert("a "+document.getElementById(id).childNodes[i].id+ " "+document.getElementById(id).childNodes[i].offsetHeight+ " " +document.getElementById(id).childNodes[i].offsetTop);
				if (document.getElementById(id).childNodes[i].id == "ze261") {
					//islexique = 1;
					//alert ("islewique");
				}
				if (eval(document.getElementById(tempId)) != null){ 
	
					h_ = document.getElementById(tempId).offsetHeight;
					//alert("len = "+document.getElementById(id).childNodes.length);
					for (j=0;j<=document.getElementById(tempId).childNodes.length;j++){
						//alert("i ="+i);
						if (eval(document.getElementById(tempId).childNodes[j]) != null) {
							tempH_ = document.getElementById(tempId).childNodes[j].offsetHeight + document.getElementById(tempId).childNodes[j].offsetTop;
							 //alert("b "+document.getElementById(tempId).childNodes[j].id+ " "+document.getElementById(tempId).childNodes[j].offsetHeight+ " " +document.getElementById(tempId).childNodes[j].offsetTop);
				
							//alert(tempH);
							if (tempH_ > h_){
								h_ = tempH_	
							}
						}
					} 
				}
				else{
					h_ = 0;	
				}
				
				if (h_ > tempH){
					tempH = h_;
				}
				
				//alert(tempH);
				if (tempH > h){
					h = tempH;	
				}
			}
		} 
		if (islexique == 1) h =250;
		return h;
	}
	else{
		return 0;	
	}
}

function getDivTop(id){
 
	if (eval(document.getElementById(id)) != null){ 
	
		h = document.getElementById(id).offsetTop; 
		return h;
	}
	else{
		return 0;	
	}
}
function parseUrl1(data) {
    //var e=/^((http|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+\.[^#?\s]+)(#[\w\-]+)?$/;
	var e=/^((http|ftp):\/)?\/?([^:\/\s]+)(\/#([\w\-]+))?$/;

    if (data.match(e)) {
        return  {url: RegExp['$&'],
                protocol: RegExp.$2,
                host:RegExp.$3,
                path:RegExp.$4,
				  path2:RegExp.$5,
                file:RegExp.$6,
                hash:RegExp.$7};
    }
    else {
        return  {url:"", protocol:"",host:"",path:"",file:"",hash:""};
    }
}

// Add thao 24.02.10
// ancre
function test_ancre() {
}


function resize_iframe(){
	 
	 
	/**
	* Modifications  appliquer aux CSS
	*/

  // Il y a une iframe dans le document lui-mme !
	
  // Récupération du nom du fichier
  // Page principale : index.php
  // Objet           :  home.php
  	 
	var fileName = document.URL.replace(/(.*\/)([^\/]+)/, "$2");
	var folderName = document.URL.replace(/(.*\/)([^\/]+)\/([^\/]+)/, "$2");
	
	var casObject = "";
	
	// Add thao 24.02.10
	// test la redirection vers l'ancre
	// file /backoffice/cms/js/ancre.js.php 
	var URL_ancre = test_ancre();  
	 
	if (URL_ancre != undefined) { 
		casObject = "redirectContext";
	} 
	
	
	
	
	
	else if (String(document.getElementById("awsiframe")) == "[object HTMLObjectElement]"){
			//alert("moz " + document.location.href);
			casObject = "mainPage";
	}
	else if (String(window.parent.document.getElementById("awsiframe")) == "[object HTMLObjectElement]"){
			//alert("moz ob " + window.parent.document.location.href);
			casObject = "inContext";
	}
	else if (window.top.document.getElementById(String("awsiframe")) != null){
		casObject = "inContext"; // IE
	}
	else{
		// IE et MOz ohors context
		oTag = document.getElementById(String("awsiframe"));		
		if (oTag == null){
			var sUrl = String(window.top.document.location.href);
			if((sUrl.indexOf("ifile") > 0)||(sUrl.indexOf("ilink") > 0)||(sUrl.indexOf("group-fr/index.php?") > 0)||(sUrl.indexOf("group-fr/?") > 0)){
				//alert("in the object - in context");
				casObject = "inContext";
			}
			else if (fileName == "home.php"){
				//alert("in the object - in context - home");	
				casObject = "inContext";
			}
			else{		
				//alert("in the object - out of context : " + fileName);		
				casObject = "outContext";
			}
		}
		else{
			//alert("in the main page");
			casObject = "mainPage";
		}
	}  
	if (casObject == "mainPage"){
	  var hauteurEntete = cHauteurEntete;

	  // Hauteur du flash
	  //var hauteurFlash = $jQ('#bf37').height();
	  var hauteurFlash= cHauteurFlash;

	  // Hauteur de l'objet embarqu
	  var hauteurObjet = $jQ('#iframediv').outerHeight();
	  
	  var hauteurTotale = hauteurEntete + hauteurFlash + hauteurObjet + cHauteurMenuBas;
	  
	  //document.getElementById('div.space').height(hauteurTotale);
	  //$jQ('div.content').css('position','static');
	  $jQ('div#bf25').css('top','auto');
	  $jQ('div#bf25').css('bottom','5px');
	
  } 
  else if (casObject == "inContext"){ // Le parent du document contient une iFrame : on est dans l'lment Object
	  if(navigator.appName.indexOf("Microsoft") == -1){
	 var hauteurObjet = modifierCSS ();
	 	 
	 }
	 else{
		hauteurObjet = (parent.document.getElementById('awsiframe').document.getElementById('content').clientHeight);
	 }
	 
	// $jQ('.space').height(hauteur);
	document.getElementById('space').style.height = hauteurObjet+'px';
	 document.getElementById('content').style.height = hauteurObjet+'px';


	 // Hauteur de l'entte
	 //var hauteurEntete = parent.document.getElementById('bf3').style.height;
	 var hauteurEntete = cHauteurEntete;

	 // Hauteur du flash
	 //var hauteurFlash = parent.document.getElementById('bf37').style.height;
	 var hauteurFlash = cHauteurFlash;
	 
	 //$jQ('div.space').height(hauteur);

	var hauteurTotale = hauteurEntete + hauteurFlash + hauteurObjet +cHauteurMenuBas;
	
	if ( window.parent.document.getElementById('iframediv') != null) {
		parent.document.getElementById('awsiframe').style.height = hauteurObjet+'px';
		parent.document.getElementById('iframediv').style.height = hauteurObjet+'px';
		parent.document.getElementById('space').style.height = hauteurTotale+'px';
		parent.document.getElementById('content').style.height = hauteurTotale+'px';
	}
	
	
  }
  else if (casObject == "outContext"){// Sinon on est dans la page HTML seule que l'on va rediriger
	  var baseURL = '/content/group-fr/index.php?ifile=/';
	  
	  var hauteur = modifierCSS ();
	  $jQ('.space').height(hauteur);
	  
	  //console.info("resize_iframe");	// FireBug
	  //console.log("getAccessPath() : ", getAccessPath());	// FireBug
	  var urlRedirection = getRedirURL(baseURL, getAccessPath());
	  if ((window.top.document.location.href.indexOf("ifile") == -1)&&(window.top.document.location.href.indexOf("ilink") == -1)){
		  document.location.href = urlRedirection;
	  }
	 
  }
  
  	// Add thao 24.02.10
	// test la redirection vers l'ancre
	// file /backoffice/cms/js/ancre.js.php 
   else if (casObject == "redirectContext"  && URL_ancre != false){//  
		this.document.location.href = URL_ancre
 
		if(navigator.appName.indexOf("Microsoft") == -1){
			var hauteurObjet = modifierCSS(); 
		}
		else{
			hauteurObjet = (parent.document.getElementById('awsiframe').document.getElementById('content').clientHeight);
		}
		
		// $jQ('.space').height(hauteur);
		document.getElementById('space').style.height = hauteurObjet+'px';
		
		document.getElementById('content').style.height = hauteurObjet+'px'; 
		
		 
		$jQ('div#bf25').css('top','auto');
  		$jQ('div#bf25').css('bottom','5px');
  } 
  
 
   
}

function resize_iframe_ie(){
	/**
	* Modifications  appliquer aux CSS
	*/

  // Il y a une iframe dans le document lui-mme !
	
  // Récupération du nom du fichier
  // Page principale : index.php
  // Objet           :  home.php 
	var fileName = document.URL.replace(/(.*\/)([^\/]+)/, "$2");
	var folderName = document.URL.replace(/(.*\/)([^\/]+)\/([^\/]+)/, "$2");

	var casObject = "";
	
	// Add thao 24.02.10
	// test la redirection vers l'ancre
	// file /backoffice/cms/js/ancre.js.php 
	var URL_ancre = test_ancre();  
	//alert( "URL_ancre" + URL_ancre) 
	if (URL_ancre != undefined) { 
		casObject = "redirectContext";
	} 
	 
  
	
	else if (String(document.getElementById("awsiframe")) == "[object HTMLObjectElement]"){
			//alert("moz " + document.location.href);
			casObject = "mainPage";
	}
	else if (String(window.parent.document.getElementById("awsiframe")) == "[object HTMLObjectElement]"){
			//alert("moz ob " + window.parent.document.location.href);
			casObject = "inContext";
	}
	else if (window.top.document.getElementById(String("awsiframe")) != null){
		if (window.top.document.URL == window.document.URL ){
			casObject = "mainPage";
		}
		else{
			casObject = "inContext"; // IE
		}	
	}
	else{
		// IE et MOz ohors context
		oTag = document.getElementById(String("awsiframe"));		
		if (oTag == null){
			var sUrl = String(window.top.document.location.href);
			if((sUrl.indexOf("ifile") > 0)||(sUrl.indexOf("ilink") > 0)){
				//alert("in the object - in context");
				casObject = "inContext";
			}
			else if (fileName == "home.php"){
				//alert("in the object - in context - home");	
				casObject = "inContext";
			}
			else{		
				//alert("in the object - out of context : " + fileName);		
				casObject = "outContext";
			}
		}
		else{
			//alert("in the main page");
			casObject = "mainPage";
		}
	}
	

	if (casObject == "mainPage"){	 
		//alert("Page principale");
		  var hauteurEntete = cHauteurEntete;
	
		  // Hauteur du flash
		  //var hauteurFlash = $jQ('#bf37').height();
		  var hauteurFlash= cHauteurFlash;
	
		  // Hauteur de l'objet embarqu
		  var hauteurObjet = $jQ('#iframediv').outerHeight();
		  
		  var hauteurTotale = hauteurEntete + hauteurFlash + hauteurObjet + cHauteurMenuBas;
		  
		  //document.getElementById('div.space').height(hauteurTotale);
		  //$jQ('div.content').css('position','static');
		 /* $jQ('div#bf25').css('top','auto');
		  var topbf25 = hauteurTotale +15;
		//  alert(topbf25);
		  $jQ('div#bf25').css('bottom','270');*/
		  $jQ('div#bf25').css('top','auto');
		  $jQ('div#bf25').css('bottom','-15px');
		
	} 
  else if (casObject == "inContext"){ // Le parent du document contient une iFrame : on est dans l'lment Object
	//alert("L'objet in context : "+document.URL);	
	  if(navigator.appName.indexOf("Microsoft") == -1){
	 var hauteurObjet = modifierCSS ();
	 	 
	 }
	 else{
		//hauteurObjet = (document.getElementById('content').offsetHeight);
		hauteurObjet = getDivHeight_ie("content");
	 }
	 
	// $jQ('.space').height(hauteur);
	//document.getElementById('space').style.height = hauteurObjet+'px';
	// document.getElementById('content').style.height = hauteurObjet+'px';


	 // Hauteur de l'entte
	// var hauteurEntete = parent.document.getElementById('awsiframe').document.getElementById('bf3').clientHeight;
	 var hauteurEntete = cHauteurEntete;

	 // Hauteur du flash
	// var hauteurFlash = parent.document.getElementById('awsiframe').document.getElementById('bf37').clientHeight;
	 var hauteurFlash = cHauteurFlash;
	 
	 
	 //$jQ('div.space').height(hauteur);

	var hauteurTotale = hauteurEntete + hauteurFlash + hauteurObjet +cHauteurMenuBas+25;
	//alert("hauteurObjet "+hauteurObjet+" hauteurTotale "+hauteurTotale);
	if ( window.parent.document.getElementById('iframediv') != null) {
		parent.document.getElementById('awsiframe').style.height = (hauteurObjet)+'px';
		parent.document.getElementById('iframediv').style.height = (hauteurObjet)+'px';
		parent.document.getElementById('space').style.height = hauteurTotale+'px';
	//	parent.document.getElementById('space').style.background = 'repeat-y';
		parent.document.getElementById('content').style.height = hauteurTotale+'px'; 
		/*alert (hauteurTotale+" "+hauteurObjet);
		alert(document.getElementsByTagName('BODY')[0].height);*/
	} 
//alert ("hauteurTotale "+hauteurTotale + "hauteurObjet "+hauteurObjet);
  }
  else if (casObject == "outContext"){// Sinon on est dans la page HTML seule que l'on va rediriger
//else if (fileName!='home.php' &&fileName!='index.php' ) {
		//alert("hors context");
	  //parent.document.getElementById('iframediv').style.height = getDivHeight('content')+"px";	  
	  var baseURL = '/content/group-fr/index.php?ifile=/';
	  
	  //var hauteur = modifierCSS ();
	  //$jQ('.space').height(hauteur);
	  
	  //console.info("resize_iframe");	// FireBug
	  //console.log("getAccessPath() : ", getAccessPath());	// FireBug
	  var urlRedirection = getRedirURL(baseURL, getAccessPath());
	  //console.log("CHEMIN : ", urlRedirection);	// FireBug
	  //window.top.document.location.href = urlRedirection;
		//alert(window.top.document.location.href);
	  if ((window.top.document.location.href.indexOf("ifile") == -1)&&(window.top.document.location.href.indexOf("ilink") == -1)){
		 document.location.href = urlRedirection;
	  }
	 
  }
	// Add thao 24.02.10
	// test la redirection vers l'ancre
	// file /backoffice/cms/js/ancre.js.php    
   	else if (casObject == "redirectContext"  && URL_ancre != false){// Sinon on est dans la page HTML seule que l'on va rediriger
   		
		this.document.location.href = URL_ancre
  		if(navigator.appName.indexOf("Microsoft") == -1){
			 var hauteurObjet = modifierCSS ();
	 	 
		}
		else{ 			
			hauteurObjet = getDivHeight_ie("content");
		}
	  
		var hauteurEntete = cHauteurEntete; 
		var hauteurFlash = cHauteurFlash; 
		var hauteurTotale = hauteurEntete + hauteurFlash + hauteurObjet +cHauteurMenuBas+25;
	 
		if ( window.parent.document.getElementById('iframediv') != null) {
			parent.document.getElementById('awsiframe').style.height = (hauteurObjet)+'px';
			parent.document.getElementById('iframediv').style.height = (hauteurObjet)+'px';
			parent.document.getElementById('space').style.height = hauteurTotale+'px'; 
			parent.document.getElementById('content').style.height = hauteurTotale+'px';  
		}  
		$jQ('div#bf25').css('top','auto');
  		$jQ('div#bf25').css('bottom','-15px');
	} 
   
}

	 
/**
* Changement de style programm
*
* @author Dominique Vial
*/
function programmedStyleChanges () {
		// Dtermination de l'heure actuelle (du navigateur)
		var maintenant = new Date();
		var laHeure = maintenant.getHours ();

		// Programmation 
		var Programmation = new Array();
		
		// HEURE -> nom de la classe CSS associe			
		Programmation[0] = 'nuit';
		Programmation[1] = 'nuit';
		Programmation[2] = 'nuit';
		Programmation[3] = 'nuit';
		Programmation[4] = 'nuit';
		Programmation[5] = 'nuit';
		Programmation[6] = 'matin';
		Programmation[7] = 'matin';
		Programmation[8] = 'matin';
		Programmation[9] = 'matin';
		Programmation[10] = 'journee';
		Programmation[11] = 'journee';
		Programmation[12] = 'journee';
		Programmation[13] = 'journee';
		Programmation[14] = 'journee';
		Programmation[15] = 'journee';
		Programmation[16] = 'journee';
		Programmation[17] = 'journee';
		Programmation[18] = 'soir';
		Programmation[19] = 'soir';
		Programmation[20] = 'soir';
		Programmation[21] = 'nuit';
		Programmation[22] = 'nuit';
		Programmation[23] = 'nuit';
		
		// La classe est applique au corps principal (home) seulement.
		$jQ('body.home').addClass(Programmation[laHeure]);
}

// Placer ici le code javascript qui doit tre excuter une fois la page totalement charge.
 //code pour le glossaire finance 
     jQuery(document).ready(function() {

		programmedStyleChanges ();
		
		$jQ('#action').hide();
		$jQ('#amf').hide();
		$jQ('#analyste').hide();
		$jQ('#ag').hide();
		$jQ('#autocontrole').hide();
		$jQ('#avoir').hide();
		$jQ('#bna').hide();
		$jQ('#cac').hide();
		$jQ('#capitalisation').hide();
		$jQ('#consolidation').hide();
		$jQ('#cote').hide();
		$jQ('#cours').hide();
		$jQ('#dilution').hide();
		$jQ('#dividende').hide();
		$jQ('#vote').hide();
		$jQ('#euronext').hide();
		$jQ('#flottant').hide();
		$jQ('#indice_boursier').hide();
		$jQ('#indice_paris').hide();
		$jQ('#indice_etranger').hide();
		$jQ('#investisseur').hide();
		$jQ('#mba').hide();
		$jQ('#pacte').hide();
		$jQ('#value').hide();
		$jQ('#quorum').hide();
		$jQ('#rendement').hide();
		$jQ('#sbf120').hide();
		$jQ('#sbf250').hide();
		$jQ('#srd').hide();
		$jQ('#taux').hide();
		$jQ('#valeur_mobiliere').hide();
		$jQ('#valeur_nominale').hide();
		$jQ('#thechoices').change(function(){
			$jQ("#" + this.value).show().siblings().hide();
			//ajout de cette ligne pour eviter la disparition du select
			$jQ('#thechoices').show();
		});
		//$jQ('#thechoices').change();
			
     });
