var myBackgroundColor;
var myLinkColor;
var myTextColor;
var myTableLineColor;
var myTableHeaderColor;
var myTableRowEvenColor;
var myTableRowUnevenColor;

function loadLayout() {
  setAnimationForAll();

  var parmColors = "S0000AABX999999a3a3a3";
  if (parmColors!=null) {
      var pos=0;
      var lengthLeft = parmColors.length;
      var colorList = new Array(7);
      var c=0;
      while(lengthLeft>0) {
            var firstChar = parmColors.substring(pos,pos+1);
            var specialChars = "BWGRYSPTONMLFAgU";
            var specialColors = new Array("black", "white", "green", "red", "yellow", "silver", "purple", 
              "teal", "olive", "navy", "maroon", "lime", "fuchsia", "aqua", "gray", "blue");

            var p = specialChars.indexOf(firstChar);
            if (p!=-1) {   
                colorList[c] = specialColors[p]; c++; pos++; lengthLeft--;
            } else {
              
              if (firstChar=='X') { colorList[c] = 'X'; c++; pos++; lengthLeft--; }
              else if (firstChar=='_') { colorList[c] = null; c++; pos++; lengthLeft--; }
              else {
                colorList[c] = parmColors.substring(pos,pos+6);
                c++; pos=pos+6; lengthLeft=lengthLeft-6;
              }
            }
      }
      myBackgroundColor = colorList[0];
      myLinkColor = colorList[1];
      myTextColor = colorList[2];
      myTableLineColor = colorList[3];
      myTableHeaderColor = colorList[4];
      if (c>=6) myTableRowEvenColor = colorList[5];
      else myTableRowEvenColor = myTableHeaderColor;
      if (c>=7) myTableRowUnevenColor = colorList[6]; 
      else myTableRowUnevenColor = myTableRowEvenColor;
      setColors();
  }

  var inputs = document.getElementsByTagName("input");
  for(var i=0; i<inputs.length; i++) {
      if (inputs[i].type=="text") {
          inputs[i].style.color = myTextColor;
          inputs[i].style.border = "1px solid  "+myTextColor;
      }
  }
}

///////////////////

function setTableColors(tableName, myTableLineColor, colorRow1, colorRow2, colorRowEven, colorRowUneven) {
  var table = 
    document.all ? 
      document.all[tableName] : 
      document.getElementById ? 
        document.getElementById(tableName) : 
        null; 
  setRowColors(table, myTableLineColor, colorRow1, colorRow2, colorRowEven, colorRowUneven);
}

function setRowColors(table, myTableLineColor, colorRow1, colorRow2, colorRowEven, colorRowUneven) {
  var rowColor1 = colorRowEven;
  var rowColor2 = colorRowUneven;
  var tmp;
  var spanLeft = 0;
  for(var rowNr=0; rowNr<table.rows.length; rowNr++) {
      
      if (rowNr==0) table.rows[rowNr].style.backgroundColor = colorRow1;
      else if (rowNr==1) table.rows[rowNr].style.backgroundColor = colorRow2;
      else {
          if (rowNr%2 == 0)
               table.rows[rowNr].style.backgroundColor = rowColor1;
          else table.rows[rowNr].style.backgroundColor = rowColor2;

          if (spanLeft>0) {
              spanLeft--;
              tmp = rowColor1;
              rowColor1 = rowColor2;
              rowColor2 = tmp;
          }
          if (table.rows[rowNr].cells[0].rowSpan>1) {
              tmp = rowColor1;
              rowColor1 = rowColor2;
              rowColor2 = tmp;
              spanLeft = table.rows[rowNr].cells[0].rowSpan-2;
          }
      }
  }
  table.bgColor = null;
  table.border="0";
}

/////////////////////

function setTableColors2(tableName, myTableLineColor, colorHeader, nrHeaderRows, colorRowEven, colorRowUneven) {
  var table = 
    document.all ? 
      document.all[tableName] : 
      document.getElementById ? 
        document.getElementById(tableName) : 
        null; 
  setRowColors2(table, myTableLineColor, colorHeader, nrHeaderRows, colorRowEven, colorRowUneven);
}

function setRowColors2(table, myTableLineColor, colorHeader, nrHeaderRows, colorRowEven, colorRowUneven) {
  var rowColor1 = colorRowEven;
  var rowColor2 = colorRowUneven;
  var tmp;
  var spanLeft = 0;
  for(var rowNr=0; rowNr<table.rows.length; rowNr++) {
      
      if (rowNr+1<=nrHeaderRows) table.rows[rowNr].style.backgroundColor = colorHeader;
      else {
          if ((rowNr-nrHeaderRows)%2 == 0)
               table.rows[rowNr].style.backgroundColor = rowColor1;
          else table.rows[rowNr].style.backgroundColor = rowColor2;

          if (spanLeft>0) {
              spanLeft--;
              tmp = rowColor1;
              rowColor1 = rowColor2;
              rowColor2 = tmp;
          }
          if (table.rows[rowNr].cells[0].rowSpan>1) {
              tmp = rowColor1;
              rowColor1 = rowColor2;
              rowColor2 = tmp;
              spanLeft = table.rows[rowNr].cells[0].rowSpan-2;
          }
      }
  }
  if (myTableLineColor=='X') {
      table.bgColor = null;
      table.border="0";
  }
}


///////////////////////////////////

var imgAll;
var gif0 = "_anim0.gif";
var gif1 = "_anim1.gif";
var onOffOn=false;

function setAnimationForAll() {
  var imgs = document.getElementsByTagName('img');
  for(i=0; i<imgs.length; i++) {
      if (isStrIn2(imgs[i].src, gif0, gif1)) {  
          imgs[i].onmouseover = function() { this.src = replaceStr(this.src, gif0, gif1); };     
          imgs[i].onmouseout  = function() { this.src = replaceStr(this.src, gif1, gif0); };     
      }
  }
}


///////////////////////////////////


function isStrIn2(str, in1,in2) {
  if (str.indexOf(in1)!=-1 || str.indexOf(in2)!=-1) return true;
  return false;
}

function replaceStr(strOriginal, strOld, strNew) {
  var result = strOriginal;
  var i=strOriginal.indexOf(strOld);
  if (i!=-1) {
      result = strOriginal.substring(0,i) + strNew;
      var l = strOriginal.length-i-strOld.length;
      if (l>0) result = result + strOriginal.substring(j+1,l); 
  }
  return result;
} 



///////////////////////////////////

