// Ce fichier javascript sert a inclure des fonctions script va servir à ...
// relocalisation h1
// fontSizer
// scripts des outils de partage


addDOMLoadEvent=(function(){var e=[],t,s,n,i,o,d=document,w=window,r='readyState',c='onreadystatechange',x=function(){n=1;clearInterval(t);while(i=e.shift())i();if(s)s[c]=''};return function(f){if(n)return f();if(!e[0]){d.addEventListener&&d.addEventListener("DOMContentLoaded",x,false);/*@cc_on@*//*@if(@_win32)d.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");s=d.getElementById("__ie_onload");s[c]=function(){s[r]=="complete"&&x()};/*@end@*/if(/WebKit/i.test(navigator.userAgent))t=setInterval(function(){/loaded|complete/.test(d[r])&&x()},10);o=w.onload;w.onload=function(){x();o&&o()}}e.push(f)}})();

var minFS = 0.6;
var maxFS = 1.2;/*0.8*/

var fS={
  iFS:null,
  cFS:null,
  init: function (fC) {
    if (!document.getElementById || !document.createTextNode) { return; }
    if (UBCookie.read("fS")) {
      var sizes = UBCookie.read("fS").split(",");
      fS.iFS = sizes[0]*1; 
      fS.cFS = sizes[1]*1;
      fS.setBodySize();
    } else {
      var el = document.createElement('span');
      el.innerHTML = "&nbsp;";
      el.style.position = "absolute";
      el.style.left = "-9999px";
      el.style.lineHeight = "1em";
      document.body.insertBefore(el,document.body.firstChild);
      fS.iFS = el.offsetHeight/16;
      fS.cFS = fS.iFS;
      UBCookie.create("fS",fS.iFS+","+fS.cFS,30);
    }
   // fS.addJSLink(fC,fS.incFS,"A+","increaseSize");
   // fS.addJSLink(fC,fS.rFS,"R","resetSize");
   // fS.addJSLink(fC,fS.decFS,"A-","decreaseSize");
  },
  incFS: function () {
	  if (fS.cFS <= maxFS){
	  	
    	fS.cFS = Math.round((fS.cFS*1.1)*100)/100;
			//alert(fS.cFS + " em"); 
    	fS.setBodySize();
    	return false;
	  }
  },
  decFS: function () {
	  if (fS.cFS >= minFS){
			
		fS.cFS = Math.round((fS.cFS*0.91)*100)/100;
		//alert(fS.cFS + " em"); 
		fS.setBodySize();
		return false;
	  }
  },
  rFS: function () {
    fS.cFS = fS.iFS;
    fS.setBodySize();
    return false;
  },
  setBodySize: function() {
		document.body.style.fontSize = fS.cFS + 'em';
    UBCookie.create("fS",fS.iFS+","+fS.cFS,30);
  },
  addJSLink: function (elementId, onClickFunction, linkText, className) {
	var element = document.getElementById(elementId);
	var link = document.createElement("a");
	link.className = className;
	var linkText = document.createTextNode(linkText);
	link.appendChild(linkText);
	link.onclick = onClickFunction;
	link.href="#"+elementId;
	element.appendChild(link);
  }
}

var UBCookie={
  create: function (name,value,days) {
	if (days) {
	  var date = new Date();
	  date.setTime(date.getTime()+(days*24*60*60*1000));
	  var expires = "; expires="+date.toGMTString();
	} else { var expires = ""; }
	document.cookie = name+"="+value+expires+"; path=/";
  },
  read: function (name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
	  var c = ca[i];
	  while (c.charAt(0)==' ') c = c.substring(1,c.length);
	  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
  },
  erase: function(name) { createCookie(name,"",-1); }
}

addDOMLoadEvent(function() {fS.init("font_ctrl")});

// DÉBUT * Relocalisation H1
function onL_wrapup(imgSpacerDroite){
	
	
	//h1_reloc();
	//getElementHeight('h1Test');
	
	var imgSpacerDroite = imgSpacerDroite ;
	// On passe en paramètre une valeur selon le type de site
	// Toujours garder imgSpacerDroite comme dernier paramètre dans la fonction onL_wrapup
	// 0 = portail, 1 = arrondissement, 2 = site autonome
	
	
	relocContUtil(imgSpacerDroite);
}

// a délété, eventuellement
/*
function h1_reloc(){
	arrH1 = document.getElementsByTagName("H1");
	if(arrH1.length > 0){
	if(arrH1[0].className == "h1_nav_c"){
		div_reloc = document.getElementById("h1_princi_reloc");
		div_reloc.innerHTML = "<h1>" + arrH1[1].innerHTML + "</h1>";
		arrH1[2].innerHTML = "";
	}else{
		div_reloc = document.getElementById("h1_princi_reloc");
		div_reloc.innerHTML = "<h1>" + arrH1[0].innerHTML + "</h1>";
		arrH1[1].innerHTML = "";
	}
	}
}
*/
// FIN *** Relocalisation H1


// migrer dans scripts.js ???
function addElementAfter(node,tag,id,htm) {
	var ne = document.createElement(tag);
	if(id) ne.id = id;
	if(htm) ne.innerHTML = htm;
	node.parentNode.insertBefore(ne,node.nextSibling);
}


// fonction pour manip visuel Util de contenu et tweak de mise en page dhtml
function relocContUtil(imgSpacerDroite) {
	
	if (imgSpacerDroite == '') {
		var imgSpacerDroite = 0;
	}
	
	
	if (document.getElementById('util_contenu_ori_cont')) {
	var cont_util_storage = document.getElementById('util_contenu_ori_cont').innerHTML; // mettre les utilitaires partager et imprimer (c1) dans une variable en attendant de les transférer
	document.getElementById('util_contenu_ori_cont').style.display = 'none'; // s'assurer que leur conteneur n'apparaît plus au final non plus
	var h1Principal_id = 'h1_principal';
	arrH1 = document.getElementsByTagName("H1");
	// exécute le script seulement s'il y a h1 dans la page...
	// détection du h1 principal s'il y a plus d'un h1 - lui appliquer un identifiant unique qui permettra de le cibler facilement par la suite
	if(arrH1.length > 0){
		if(arrH1.length == 1) {
			arrH1[0].id = h1Principal_id;
		} else if(arrH1.length == 2) {
			arrH1[1].id = h1Principal_id;
		}
		addElementAfter(document.getElementById('h1_principal'),'div','test_id','<div id="util_contenu_cont">'+cont_util_storage+'</div>'); // relocalisation partage et impression sous le h1 principal
		document.getElementById('util_contenu').innerHTML = ''; // vider le div des utilitaires originals afin de ne les avoir qu'une fois dans le code de la page au final
		//alert (returnRealHeight('h1_principal'));
		// S'il y a un spacer d'ajustement des éléments de la colonne de droite...
		if(document.getElementById('c_drt_top_spacer')) {
			
			
			switch (imgSpacerDroite){
				/* 0 = portail */
				case 0 : 
				imgSpacerDroiteHeightVal = 70;
				break;
				/* 1 = arrondissement */
				case 1 : 
				imgSpacerDroiteHeightVal = 20;
				break;
				/* 2 = autonome */
				case 2 : 
				imgSpacerDroiteHeightVal = 20;
				break;
				
				/* 3 = mig dinamique : intégration dans le mig */
				case 3 : 
				imgSpacerDroiteHeightVal = 76;
				break;
				
				default: 
				imgSpacerDroiteHeightVal = 70;
			}
			/*if(imgSpacerDroite == 2) {
				imgSpacerDroiteHeightVal = 20;
			} else {
				imgSpacerDroiteHeightVal = 70;
			}*/
			
			document.getElementById('c_drt_top_spacer').height = (returnRealHeight('h1_principal'))+imgSpacerDroiteHeightVal; // ...l'ajuster pour que les bloc s'aligne avec le premier paragraphe
		}
	}
		
		/*
		if(arrH1.length > 0){
		
		if(arrH1[0].className == "h1_nav_c"){
			div_reloc = document.getElementById("h1_princi_reloc");
			div_reloc.innerHTML = "<h1>" + arrH1[1].innerHTML + "</h1>";
			arrH1[2].innerHTML = "";
		}else{
			div_reloc = document.getElementById("h1_princi_reloc");
			div_reloc.innerHTML = "<h1>" + arrH1[0].innerHTML + "</h1>";
			arrH1[1].innerHTML = "";
		}
		*/
	
	/*
	var divHeight;
	var obj = document.getElementById('h1Test');
	if(obj.offsetHeight) {
		divHeight=obj.offsetHeight;
	} else if(obj.style.pixelHeight) {
		divHeight=obj.style.pixelHeight;
	}
	alert(divHeight);
	*/
	}
}

// migrer dans scripts.js ???
function returnRealHeight(obj_id) {
	var obj = document.getElementById(obj_id);
	if(obj.offsetHeight) {
		realHeight=obj.offsetHeight;
	} else if(obj.style.pixelHeight) {
		realHeight=obj.style.pixelHeight;
	}
	// alert(divHeight);
	return realHeight;
}


// Cette fonction ajuste la hauteur d'un spacer placé dans toutes les pages de contenu
// Elle doit être appelé au niveau du MIG propres aux pages de contenu uniquement, idéalement
// Particularité du portail Oracle, imposé par la façon dont les pages sont découpées (plus particulièremnt l'insertion de la barre d'utilitaires entre le h1 et le contenu (le h1 peut-être sur deux lignes...)
function ajust_spacerH2() {
}


function load_sharingLinks() {
	// window.open("http://www.cnn.com/", "_blank");
}

// fonction  fournie par facebook pour le partage
function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;}

/* affectation d'une class supplémentaire pour la liste des elu, pour corriger l'affichage print en ie7, ie8*/
jQuery(document).ready(function(){
	jQuery("ul.listeMembres li").addClass("clearfix");
});
