//################################################################################
//
// FICHIER: css.js
//
// MODULE:  RESERVIT
//
// OBJET:   CSS definition
//
// AUTEURS: (C) Copyright 2004 Interface Technologies, 
//
//###############################################################################
var currentStyleSheet;

function getElem(namefield) {
  var nava = (document.layers);
  var dom = (document.getElementById);
  var iex = (document.all);
  var myelem = null;

  if (nava) { myelem = document.namefield; }
  else if (dom) 
    { 
      myfield = document.getElementById(namefield);
      if (myfield != "null" && myfield!=null && typeof(myfield) != "undefined") myelem = myfield.style; 
    }
  else if (iex) 
    { 
      myfield = namefield;
      if (myfield != "null" && myfield!=null && typeof(myfield) != "undefined") myelem = myfield.style; 
    }
   return myelem;
}

function ShowCalc(namefield, type)
{
  var myelem = getElem(namefield);
  if (myelem != null && myelem != "null")
    {
      myelem.display = type;
    }
}

function ShowBlockDiv(namefield, type)
{
  var myelem = getElem(namefield);

  if (myelem != null && myelem != "null")
    {
      if (type == "table-row" && window.ActiveXObject) type = "block";

      if (type == "block")
	{
	  if (myelem.visibility == 'hidden')
	    {
	      myelem.visibility = 'visible';
	    }
	}
      else
	{
	  if (window.ActiveXObject) myelem.visibility = 'hidden';
	}
      myelem.display = type;
    }
}


function getParent(element, parentTagName) 
{
	if (!element)
	{
		return null;
	}
	else if ( element.nodeType == 1 && element.tagName.toLowerCase() == parentTagName.toLowerCase() )
	{
		return element;
	}
	else
	{
		return getParent(element.parentNode, parentTagName);
	}
}

function showOrHideElement(namefield)
{
	var myElem = document.getElementById(namefield);
	var myElemParent =  getParent(myElem, "td"); 
	var nbMyElemChild = myElemParent.getElementsByTagName("table");	
	for (var n=0; n<nbMyElemChild.length; n++)
	{
		var element = nbMyElemChild[n];	
		element.style.display = 'none';		
	}	
	myElem.style.display = 'block';	
}

function SwitchElem(namefield)
{
 var myelem = getElem(namefield);
 if (myelem != null && myelem != "null")
 {
  if (myelem.display == '' || myelem.display == 'block')
      myelem.display = 'none';
  else
      myelem.display = '';
 } 
}

function getStyleSheet(cssfilename)
{
  bFound = 0;

  for (idx=0; idx<document.styleSheets.length; idx++)
    {
      if (document.styleSheets[idx].href==cssfilename)
        {
	  currentStyleSheet = document.styleSheets[idx];
	  bFound = 1;
	}
    }
  return bFound;
}

function getStyle(cssstylename)
{
  idxRules = 0;
  if (typeof(currentStyleSheet) != "undefined")
    {
      if (currentStyleSheet.cssRules)
	{
	  elemRules = currentStyleSheet.cssRules;
	}
      else if (currentStyleSheet.rules)
	{
	  elemRules = currentStyleSheet.rules;
	}

      iIdxRules = 0;
      bStop = false;
      while (!bStop && iIdxRules<elemRules.length)
      {
	NameCSS = elemRules[iIdxRules].cssText;

	if (NameCSS.substring(0, cssstylename.length) == cssstylename)
	  {
	    bStop = true;
	  }
	else
	  {
	    iIdxRules++;
	  }
      }
    }

  return elemRules[idxRules];
}

// Change background-color on onmousover and onmouseout action
function ChangeClassBackGroundOld(elemName, nbrows, className)
{
  // Main object
  elem = document.getElementById(elemName);
  if (elem != null) elem.className=className;

  // Sub object
  for (idx=1; idx<nbrows; idx++)
    {
      elem = document.getElementById(elemName+"_"+idx);
      if (elem != null) elem.className=className;
    }
}

function ChangeClassBackGround(namefield, nbrows, className)
{
  var nava = (document.layers);
  var dom = (document.getElementById);
  var iex = (document.all);
  var myelem = null;

  if (nava) { myfield = document.namefield; }
  else if (dom) 
    { 
      myfield = document.getElementById(namefield);
    }
  else if (iex) 
    { 
      myfield = namefield;
    }

  if (myfield != "null" && myfield!=null && typeof(myfield) != "undefined")
    {
      myfield.className = className;
    }
}

function ChangeStyleValue(namefield, fieldname, value)
{
  var nava = (document.layers);
  var dom = (document.getElementById);
  var iex = (document.all);
  var myelem = null;

  if (nava) { myelem = document.namefield; }
  else if (dom) 
    { 
      myfield = document.getElementById(namefield);
      if (myfield != "null" && myfield!=null && typeof(myfield) != "undefined") myelem = myfield.style; 
    }
  else if (iex) 
    { 
      myfield = namefield;
      if (myfield != "null" && myfield!=null && typeof(myfield) != "undefined") myelem = myfield.style; 
    }

  if (myelem != null && myelem != "null")
    {
      mystyle = eval(myelem.fieldname);
      if (mystyle != "null" && mystyle!=null && typeof(mystyle) != "undefined") 
	{
	  mystyle.value = value;
	}
    }
}

function ChangeOngletsFonctionnalites(form, id)
{
  // Onglets
  if (document.getElementById("tab"+form.ongletid.value)) document.getElementById("tab"+form.ongletid.value).className = '';
  if (document.getElementById("tab"+id)) document.getElementById("tab"+id).className = 'active';

  // Contenus
  ShowCalc("list"+form.ongletid.value, 'none');
  ShowCalc("list"+id, 'block');

  form.ongletid.value=id;
}

function ChangeOnglets(form, id)
{
  // Onglets
  if (document.getElementById("tab"+form.ongletid.value)) document.getElementById("tab"+form.ongletid.value).className = '';
  if (document.getElementById("tab"+id)) document.getElementById("tab"+id).className = 'active';

  // Contenus
  ShowCalc(form.ongletid.value, 'none');
  ShowCalc(id, 'block');

  form.ongletid.value=id;
}

function SetOnglets(form, patternOnglet, patternContents, idonglet, showButton)
{
  // Onglets
  if (document.getElementById(patternOnglet+form.ongletid.value)) document.getElementById(patternOnglet+form.ongletid.value).className = '';
  if (document.getElementById(patternOnglet+idonglet)) document.getElementById(patternOnglet+idonglet).className = 'active';

  // Contenus
  ShowCalc(patternContents+form.ongletid.value, 'none');
  ShowCalc(patternContents+idonglet, 'block');

  //Button
  if(showButton == "false"){
	  ShowCalc("btnaction", 'none');
  }else{
	  ShowCalc("btnaction", 'block');
  }
  
  
  form.ongletid.value=idonglet;
}

function setActiveStyleSheet(title) {
   var i, a, main;
   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
     if(a.getAttribute("rel").indexOf("style") != -1
        && a.getAttribute("title")) {
       a.disabled = true;
       if(a.getAttribute("title") == title) a.disabled = false;
     }
   }
}

