function createXMLHttpRequest() {
   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
   try { return new XMLHttpRequest(); } catch(e) {}
   alert("XMLHttpRequest n'est pas supporté, mettez à jour votre navigateur, merci.");
   return null;
}

function setAndExecute(divId,innerHTML) {
	var div = document.getElementById(divId);
	div.innerHTML = innerHTML;
	var x = div.getElementsByTagName("script");
	for(var i=0;i<x.length;i++)   {
		eval(x[i].text);
	}
}

function deleteSharp(str) {
	var liLength = str.length
	if ( str.substring((liLength-1),liLength) == '#' ) {
		str = str.substring(0,(liLength-1))
	}
	return str;
}

//************************************************* Cochez checkbox avec notion parents enfants
var Itree=new Array(
					"news,news1,news2,news3,news4"
					);
// Itree représente un arbre. Cet arbre est représenté par un ensemble d'éléments.
// Ex:
// "check1,check2,check3" est un élément.
// "check3,check4,check5" est un autre élément.
//
// Chaque élement se structure ainsi: Les noeuds sont séparé par des virgules.
// 				      Le premier noeud correspond a un noeud quelconque de l'arbre.
//				      Les noeud suivants correspondent à ses fils directs.
// Exemple pour Itree:
// "check1,check2,check3" : signifie que check1 est le pére direct de check2,check3.
// "check3,check4,check5" : signifie que check3 est le pére direct de check4,check5.
//
// Les noms check1,check2 ... représente les ID des checkbox.
// Attention: il faut veiller à ne pas mettre de cycle !
//	     Exemple: ("check1,check2","check2,check1")
// Exemple: On peut représenter l'arbre :
//
//  -- check1
//     	  --- check3
//   	  --- check2
//               ------ check4
//               ------ check5
// Par
// ("check1,check2,check3","check2,check4,check5");

getElement = function( id )
{
    if ( document.getElementById )
    {
         return document.getElementById( id );
    }

    if ( document.layers )
    {
         return document.id;
    }

    return document.all.id;
}

function getDirectChilds( graph , node )
{
	var childs = new Array();
	for( i = 0; i<graph.length; i++)
	{
		var tabNodes = graph[i].split(",");
		if( node == tabNodes[0] )
		{
			for( j = 1; j<tabNodes.length; j++)
			{
				childs.push(tabNodes[j]);
			}
		}
	}

	return childs;
}

function getChilds ( graph , node )
{
	var childs = getDirectChilds( graph, node );
	var allChilds = new Array();
	if(childs.length>0)
	{
		for(var i = 0; i < childs.length; i++)
		{
			allChilds = allChilds.concat(getChilds( graph , childs[i] ));

		}
	}
	return childs.concat(allChilds);
}
function getDirectParent( graph , node )
{
	for( var i = 0; i <graph.length;i++)
	{
		var tabNodes = graph[i].split(",");
		for( var j = 1; j < tabNodes.length; j++)
		{
			if(tabNodes[j]==node) return tabNodes[0];
		}
	}
	return "";
}
function getParents( graph , node )
{
	var parent = new Array();
	var node  = getDirectParent(graph,node);
	if(node!="")
	{
		parent.push(node);
		parent = parent.concat(getParents(graph,node));
	}
	return parent;

}
function doCheckParent ( graph, nodeId)
{
	if(nodeId != "")
	{
		var childs = getDirectChilds( graph, nodeId );
		for(var i=0;i<childs.length;i++)
		{
			if(getElement(childs[i]).checked == false) return;
		}
		getElement(nodeId).checked=true;
		doCheckParent( graph, getDirectParent( graph , nodeId)) ;
	}
}
function doCheck( graph, nodeId )
{
	var childs = getChilds( graph, nodeId );
	var parent = getDirectParent ( graph , nodeId);
	for (var i = 0; i<childs.length; i++)
	{
		getElement(childs[i]).checked=true;
	}
	doCheckParent( graph , parent );
}

function doUncheck( graph, nodeId )
{
	var childs = getChilds( graph, nodeId );
	var parents = getParents( graph, nodeId );
	for (var i = 0; i<childs.length; i++)
	{
		getElement(childs[i]).checked=false;
	}
	for (var i = 0; i<parents.length; i++)
	{
		getElement(parents[i]).checked=false;
	}

}
function doEvent( graph , nodeId )
{
	node = getElement(nodeId);
	if(node != null)
	{
		if(node.checked) doCheck( graph, nodeId );
		else doUncheck( graph,  nodeId );
	}
}


//**************************************************Change combo
function jumpMenu(selObj, elem, elem2, elem3){
  var variable = eval("javascript:"+selObj.options[selObj.selectedIndex].value+"");
  if (variable == 0){
	document.getElementById(elem).style.display="none";
	document.getElementById(elem2).style.display="none";
	document.getElementById(elem3).style.display="none";
  }
  else if (variable == 1){
	document.getElementById(elem).style.display="";
	document.getElementById(elem2).style.display="none";
	document.getElementById(elem3).style.display="none";
  }
  else if (variable == 2){
	document.getElementById(elem).style.display="none";
	document.getElementById(elem2).style.display="";
	document.getElementById(elem3).style.display="none";
  }
  else if (variable == 3){
	document.getElementById(elem).style.display="none";
	document.getElementById(elem2).style.display="none";
	document.getElementById(elem3).style.display="";
  }
  else if (variable == 4){
	document.getElementById(elem).style.display="";
	document.getElementById(elem2).style.display="";
	document.getElementById(elem3).style.display="";
  }
}


//************************************************** Switcher les styles
function switchClass(element,id){
	var cellule = document.getElementById('onglets').getElementsByTagName('TD');

	for (i=0; i < cellule.length; i++) {
		cellule[i].className = 'Off';
		cellule[i].onmouseout = function onmouseout(event) {
									this.className = "Off";
								};
		if( i != id){
			document.getElementById('p'+i).style.display = 'none';
		}
	}
	element.onmouseout = this.className='On';
	element.className = 'On';
	Effect.Appear(document.getElementById('p'+id))
}

//************************************************** Open close Plan de site
function plan(id,img){
	new Effect.toggle(document.getElementById(id));


	if( document.getElementById(img).className == 'triUp'){
		document.getElementById(img).className = 'triDown';
		document.getElementById(img).title = 'Plier cette rubrique';
		document.getElementById(img).alt = 'Plier cette rubrique';
	}
	else{
		document.getElementById(img).className = 'triUp';
		document.getElementById(img).title = 'Déplier cette rubrique';
		document.getElementById(img).alt = 'Déplier cette rubrique';
	}
}


//************************************************** Masquer les SELECT
HideSelect = function()
{
	oSelects = document.getElementsByTagName('SELECT');
	if (oSelects.length > 0) {
		for (i = 0; i < oSelects.length; i++) {
			oSelects[i].style.visibility = 'hidden';
		}
	}
}
ShowSelect = function()
{
	oSelects = document.getElementsByTagName('SELECT');
	if (oSelects.length > 0) {
		for (i = 0; i < oSelects.length; i++) {
			oSelects[i].style.visibility = 'visible';
		}
	}
}

//************************************************** Désactiver les liens
function desactiveAHref() {
	var my_array = document.getElementsByTagName('a');
	var i;
	for (i=0;i<my_array.length;i++) {
		my_array[i].href = '#';
	}
}


//**************************************************Plier/Déplier
function SwitchS(conteneur,obj,type){
		var el = document.getElementById(obj);
		var ar = document.getElementById(conteneur).getElementsByTagName(type);

		for (var i=0; i<ar.length; i++){
			ar[i].style.display = "none";
		}
		el.style.display = "block";
}


//***************************************************AFFICHER INFO BULLE
function showMeV(portlet) {
		document.getElementById(portlet).style.visibility="";
}
function hideMeV(portlet) {
		document.getElementById(portlet).style.visibility="hidden";
}

function showMe(portlet) {
	if(document.getElementById(portlet)) {
		document.getElementById(portlet).style.display="";
	}
}
function hideMe(portlet) {
	if(document.getElementById(portlet)) {
		document.getElementById(portlet).style.display="none";
	}
}


//***************************************************Centrer une popup
function popup(mapage, nom, yesno, largeur, hauteur)
    {
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	var a;
	var no;
	var yes;
	if (yesno == 'yes')
		{
	  		a=window.open(mapage, nom, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,left='+ left +',top='+ top +',width=' + largeur + ',height=' + hauteur);
		}
	else if (yesno == 'no')
		{
			a=window.open(mapage, nom, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left='+ left +',top='+ top +',width=' + largeur + ',height=' + hauteur);
		}
    }

//***************************************************Redirection de page
function redirect(url)
{
	window.opener.location.href= url;
	self.close();
}


//***************************************************Ajouter aux favoris
nav = navigator.appName.substring(0,3);
ver = navigator.appVersion.substring(0,1)
function addFav()
	{
	if (nav == "Mic" && ver >= 4)
		{
		url_site="https://www.portail-franche-comte.fr";
		titre_site = "Portail Franche-Comté Santé";
		document.write('<A HREF="#" onClick="window.external.AddFavorite(url_site, titre_site);return(false);" title="Ajouter le site à mes favoris">Ajouter aux favoris</A>')
		}
	else
		{
		document.write('CRTL+D : favoris')
		}
	}

//**************************************************Plier et d&eacute;plier du contenu
function show(portlet) {
		document.getElementById("hide_" + portlet).style.display="none";
		document.getElementById("show_" + portlet).style.display="";
}
function hide(portlet) {
		document.getElementById("show_" + portlet).style.display="none";
		document.getElementById("hide_" + portlet).style.display="";
}


//**************************************************Afficher 1 et masquer 3 éléments
function show1hide4(selObj, elem1, elem2, elem3, elem4, elem5){
  var variable = eval("javascript:"+selObj.options[selObj.selectedIndex].value+"");
  if (variable == 1){
	document.getElementById(elem1).style.display="";
	document.getElementById(elem2).style.display="none";
	document.getElementById(elem3).style.display="none";
	document.getElementById(elem4).style.display="none";
	document.getElementById(elem5).style.display="none";
  }
  else if (variable == 2){
	document.getElementById(elem1).style.display="none";
	document.getElementById(elem2).style.display="";
	document.getElementById(elem3).style.display="none";
	document.getElementById(elem4).style.display="none";
	document.getElementById(elem5).style.display="none";
  }
  else if (variable == 3){
	document.getElementById(elem1).style.display="none";
	document.getElementById(elem2).style.display="none";
	document.getElementById(elem3).style.display="";
	document.getElementById(elem4).style.display="none";
	document.getElementById(elem5).style.display="none";
  }
  else if (variable == 4){
	document.getElementById(elem1).style.display="none";
	document.getElementById(elem2).style.display="none";
	document.getElementById(elem3).style.display="none";
	document.getElementById(elem4).style.display="";
	document.getElementById(elem5).style.display="none";
  }
  else if (variable == 5){
	document.getElementById(elem1).style.display="none";
	document.getElementById(elem2).style.display="none";
	document.getElementById(elem3).style.display="none";
	document.getElementById(elem4).style.display="none";
	document.getElementById(elem5).style.display="";
  }
}




//**************************************************Plier déplier Portlet Droit
function showItemPortlet(rep,id,picto){
		if (document.getElementById(id).style.display=="block"){
			document.getElementById(id).style.display="none";
			document.getElementById(picto).src="image/module/"+ rep +"/open_item.gif";
		}
		else if (document.getElementById(id).style.display=="none"){
			document.getElementById(id).style.display="block";
			document.getElementById(picto).src="image/module/"+ rep +"/close_item.gif";
		}
}



//*************************************************Show couleur de la priorité
function showColor(color){

	if (color == "normale") {
		document.getElementById('normale').style.display = 'block';
		document.getElementById('basse').style.display = 'none';
		document.getElementById('haute').style.display = 'none';
	}
	else if (color == "basse") {
		document.getElementById('normale').style.display = 'none';
		document.getElementById('basse').style.display = 'block';
		document.getElementById('haute').style.display = 'none';
	}
	else if (color == "haute") {
		document.getElementById('normale').style.display = 'none';
		document.getElementById('basse').style.display = 'none';
		document.getElementById('haute').style.display = 'block';
	}
}


//*************************************************AIDE A LA SAISIE
function SelObj(formname,selname,textname,str) {
this.formname = formname;
this.selname = selname;
this.textname = textname;
this.select_str = str || '';
this.selectArr = new Array();
this.initialize = initialize;
this.bldInitial = bldInitial;
this.bldUpdate = bldUpdate;
}

function initialize() {
if (this.select_str =='') {
for(var i=0;i<document.forms[this.formname][this.selname].options.length;i++) {
this.selectArr[i] = document.forms[this.formname][this.selname].options[i];
this.select_str += document.forms[this.formname][this.selname].options[i].value+":"+
document.forms[this.formname][this.selname].options[i].text+",";
}
}
else {
var tempArr = this.select_str.split(',');
for(var i=0;i<tempArr.length;i++) {
var prop = tempArr[i].split(':');
this.selectArr[i] = new Option(prop[1],prop[0]);
}
}
return;
}

function bldInitial() {
this.initialize();
for(var i=0;i<this.selectArr.length;i++)
document.forms[this.formname][this.selname].options[i] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = this.selectArr.length;
return;
}

function bldUpdate() {
var str = document.forms[this.formname][this.textname].value.replace('^\\s*','');
if(str == '') {this.bldInitial();return;}
this.initialize(); //lwf
var j = 0;
pattern1 = new RegExp("^"+str,"i");
for(var i=0;i<this.selectArr.length;i++)
if(pattern1.test(this.selectArr[i].text))
document.forms[this.formname][this.selname].options[j++] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = j;
if(j==1){
document.forms[this.formname][this.selname].options[0].selected = true;
}
}

function setUp1() {
obj1 = new SelObj('menuform','list1','entry1');
obj1.bldInitial();
}

function setUp2() {
obj2 = new SelObj('menuform','list2','entry2');
obj2.bldInitial();
}

function setUp3() {
obj3 = new SelObj('menuform','list3','entry3');
obj3.bldInitial();
}

function setUp4() {
obj4 = new SelObj('menuform','list4','entry4');
obj4.bldInitial();
}

//*************************************************FOND DES CHAMPS ACTIFS DE FORMULAIRE
var highlightcolor="#F1F7D8"

var ns6=document.getElementById&&!document.all
var previous=''
var eventobj

//Regular expression to highlight only form elements
//var intended=/INPUT|TEXTAREA|SELECT|OPTION/
var intended=/INPUT|TEXTAREA|OPTION/

//Function to check whether element clicked is form element
function checkel(which){
if (which.style&&intended.test(which.tagName)){
if (ns6&&eventobj.nodeType==3)
eventobj=eventobj.parentNode.parentNode
return true
}
else
return false
}

//Function to highlight form element
function highlight(e){
eventobj=ns6? e.target : event.srcElement
if (previous!=''){
if (checkel(previous))
previous.style.backgroundColor=''
previous=eventobj
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
}

else{
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
previous=eventobj
}
}

//************************************************** Tree Menu CSS
 function ExChgClsName(Obj,NameA,NameB){
  var Obj=document.getElementById(Obj)?document.getElementById(Obj):Obj;
  Obj.className=Obj.className==NameA?NameB:NameA;
 }
 function showMenu(iNo){
 ExChgClsName("Menu_"+iNo,"MenuBox","MenuBox2");
 }
 function hideAll(iNoAll){
	for (i=0;i<iNoAll;i++){
		document.getElementById("Menu_"+i).className="MenuBox2";
	}
 }

 //************************************************************Cliquer toutes les cases à cocher
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
  for (i = 0; i < field.length; i++) {
  field[i].checked = true;}
  checkflag = "true";
  return "Tout"; }
else {
  for (i = 0; i < field.length; i++) {
  field[i].checked = false; }
  checkflag = "false";
  return "Tout"; }
}

//************************************************************Déversoir entre 2 listes box
function hasOptions(obj) {
	if (obj!=null && obj.options!=null) { return true; }
	return false;
	}

function selectAllOptions(obj) {
	if (!hasOptions(obj)) { return; }
	for (var i=0; i<obj.options.length; i++) {
		obj.options[i].selected = true;
		}
	}

function moveSelectedOptions(from,to) {
	if (arguments.length>3) {
		var regex = arguments[3];
		if (regex != "") {
			unSelectMatchingOptions(from,regex);
			}
		}
	if (!hasOptions(from)) { return; }
	for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.selected) {
			if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
			to.options[index] = new Option( o.text, o.value, false, false);
			}
		}
	for (var i=(from.options.length-1); i>=0; i--) {
		var o = from.options[i];
		if (o.selected) {
			from.options[i] = null;
			}
		}
	if ((arguments.length<3) || (arguments[2]==true)) {
		sortSelect(from);
		sortSelect(to);
		}
	from.selectedIndex = -1;
	to.selectedIndex = -1;
	}

function moveAllOptions(from,to) {
	selectAllOptions(from);
	if (arguments.length==2) {
		moveSelectedOptions(from,to);
		}
	else if (arguments.length==3) {
		moveSelectedOptions(from,to,arguments[2]);
		}
	else if (arguments.length==4) {
		moveSelectedOptions(from,to,arguments[2],arguments[3]);
		}
	}

//**************************************************Plier et d&eacute;plier du AIDE EN LIGNE + FAQ
function SwitchFAQ(div,obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
		if(el.style.display == "none"){
			el.style.display = "block";
		}else{
			el.style.display = "none";
		}
	}
}

//*************************************************ZOOM SUR LE TEXTE

//Specify affected tags. Add or remove from list:
var tgs = new Array('p','td','span');

//Specify spectrum of different font sizes:
var szs = new Array('1em','1.2em','1.4em','1.6em');

var startSz = 0;

function tsResize( trgt,inc ) {
	if (!document.getElementById) return
	var d = document,cEl = null,sz = startSz,i,j,cTags;

	sz += inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 4 ) sz = 4;
	startSz = sz;

	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs[ sz ];

	for ( i = 0 ; i < tgs.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
	}
}

