
var CSAg = window.navigator.userAgent;
var loaded=false;

if(!window.saveInnerWidth)
{
  //window.onresize = ctlWidth; // statt resize;
  window.saveInnerWidth  = window.innerWidth;
  window.saveInnerHeight = window.innerHeight;
}

/*** resize2reload ***/
function resize2reload()
{
  //if (window.saveInnerWidth  != window.innerWidth ||
  //    window.saveInnerHeight != window.innerHeight)
  //- geaedert,da das Problem auch auftritt wenn auf genau die
  //- alte Groesse geaendert wird!!!!
  if (window.saveInnerWidth && window.saveInnerHeight)
  { window.location.reload();
    //alert("should done!");
  }
  //alert("Peter unter N");
}


/*** layer2elem ***
js12.7.2002 ***/
function layer2elem(alayer)
{ var d=document;
  var e; // element

  if (d.getElementById)
    e=d.getElementById(alayer)
  else if (CSAg.indexOf("MSIE") > 0)
    e=d.all.tags('div')[alayer]
  else if (d.layers)
    e=d.layers[alayer]
  else
    e=d.getElementById(alayer)

  return e;
}


function hide(alayer)
{
  var e=layer2elem(alayer);

  if (!e) return; // der Layer wurde wahrscheinlich auskommentiert!!!

  if (e.style)  // IE, N6, ...
    e.style.visibility='hidden'
  else if (e.visibility) // NN4x
    e.visibility='hide'
  // else: i dont know
}

function show(alayer)
{
  var e=layer2elem(alayer);

  if (!e) return; // der Layer wurde wahrscheinlich auskommentiert!!!


  if (e.style)  // IE, N6, ...
    e.style.visibility='visible'
  else if (e.visibility) // NN4x
    e.visibility='show'
  // else: i dont know
}

//------------------------------------------------------------------------

/*** ourActualWidth *** von setWidth() verwendet ***/
function ourActualWidth()
{ var d=document, w, k;
  if (window.innerWidth)
  { w=window.innerWidth; k=1;
    if (window.scrollbars && window.scrollbars.visible) { w-=16; k=2; }
  } //NN
  else if (d.width)       { w=d.width; k=3; }
  else if (d.offsetWidth) { w=d.offsetWidth; k=4; }
  else if (d.body && d.body.clientWidth) { w=d.body.clientWidth; k=5; }//IE
  else if (d.all)         { w=d.all.tags("body")[0].offsetWidth; k=6; }
  //alert("Width: "+w+" ("+k+")");
  return w;
}

var width_per_js=false;
/*!!dank Peter doppelt hier und in main.js => refaktoring irgendwann!!*/

/*** setWidth *** js15.8.2001, js19.6.2002 ***/
function setWidth(f)
{ var d=document,
      w=ourActualWidth(),
      s, x,
      min=670, max=800;

  if (!width_per_js) return true; /* suppressed */

  if (screen.availWidth) s=screen.availWidth
  else s=screen.width-20;

  if (window.screenX) x=window.screenX; // N6 & N4.7, IE?

  /* Breite ver?ern */
  if (f=='fix' && s>max && w!=max) resizeBy(max-w,0)
  else if (s>min && w<min) resizeBy(min-w,0)
  else if (w>max) resizeBy(max-w,0);

  /* Position falls bekannt, korrigieren */
  /* TODO: verschieben wenn n? */
  if (x+w>s) moveBy(s-x-w,0);


  // window.screenX/Y unter N6
  //alert("X:"+window.screenX+" "+d.screenX+" "+d.left+
  //      " "+window.left+d.body.left);
  loaded=true; /* setWidth wird aus onLoad aufgerufen, deshalb hier */
  return true;
}

function ctlWidth()
{ if (!width_per_js) return true; /* suppressed */

  setWidth();
  if (document.layers &&      // NN
      document.layer1 &&      // auf Peters Seiten
      window.saveInnerWidth)  // bereits definiert
    resize2reload();          // NN Problem Behebung
  return true;
}


//function ourSize()
//{ var d=document, dd,
//      w=Math.max(innerWidth, d.width);
//  if (d.body && d.body.clientWidth)
//      w=Math.max(d.body.clientWidth, w);
//  if (d.all) dd=d.all; else dd=d;
//  alert("Width: "+w);
//
//  if (w>805) return "800";
//  return "100%";
//}
//function width_ctl(o) // onResize="width_ctl(this)"
//{ var d=document, dd,
//      w=Math.max(innerWidth, d.width);
//  if (d.body && d.body.clientWidth)
//      w=Math.max(d.body.clientWidth, w);
//  if (d.all) dd=d.all; else dd=d;
//  alert("Width: "+w);
//
//  if (w>805)
//  { o.witdh=800;
//    if (o.style && o.style.width) o.style.width=800;
//  }
//}


/*function printPage_delayed()
{ var d=document;
  setTimer
}*/


/*** printPage_ ***
 ***/
function printPage_()
{ var d=document, unter;

  if (!loaded) { alert("zu frueh"); }

  d.bgcolor="white";
  if (d.hellgelbeTabelle) unter=d.hellgelbeTabelle
  else if (d.M) unter=d.M
  else unter=d;
  with (unter)
  { if (bgcolor) bgcolor="white"
    else if (style) style.bgcolor="white";
  }

  if (!loaded) { alert("zu frueh"); }

  self.focus();
  if (!loaded) { alert("zu frueh"); }

  window.print(); // nur ab ns4 oder ie4n
}
//function PrintSetup()
//{
//  var is = new Is();
//
//  self.focus()
//  //Druck
//  if (is.ns4 || is.ie4n) {
//     window.print()
//  }
//}


//------------------------------------------------------------------------


function calculatePriority_NU(number)
{

  function color_(what, col)
  { if (what.style) what.style.color=col;
	  if (document.layers) what.color=col;
  }

  function elem_(name, number)
  { name=name+"_"+number;
    return document.forms[0].elements[name];
  }

  //- precond: Keine Spaces davor und innerhalb der Zahl,
  //- und falls nach der Zahl Text kommt, dann muss dieser
  //- durch mindestens ein Leerzeichen von der Zahl getrennt sein.
  function value_(elem)
  { var values=elem.value.split(" ", 1);
    return values[0];
  }

  //- number ist die nummer der jeweiligen radiobutton gruppe
  //- (pro massnahme vergeben)
  var elemG= elem_("G", number);
  var elemB= elem_("B", number);
  var into=  elem_("P", number);

  var result;

  //- durchlauf des radiobutton arrays einer methode
  //- sind gewichtung und bewertung selektiert
  //- dann wird die prioritaet ausgerechnet und in das form eingetragen
  for (i=0; i< elemG.length; i++)
  	if (elemG[i].checked)
  		for (j=0; j< elemB.length; j++)
  			if (elemB[j].checked)
  			{
  			  result=
  				  value_(elemG[i]) * value_(elemB[j]);
  				if (result>=30) color_(into, 'red')
  				else color_(into, 'black');

  				into.value=result;
  				return true;
  			}
  }

/* function switchInputWidthOff()
{ if (document.layers)
  { document.forms[0].
  }
} */


//------------------------------------------------------------------------

/*** MimeTypeList *** js25.7.2002 ***/
function MimeTypeList_asString()
{ var str='', m=navigator.mimeTypes;

  for(var i=0,e; i < m.length; ++i)
  { e=m[i];
    str += e.type +'{';
    for (var j in e)
    { str += j + ': ' + e[j] + ' ';
    }
    str += '}';
    if (i<m.length-1) str += ', ';
  }

  return str;
}

function tryToFakeMimeTypeList()
{ // ...
}

//------------------------------------------------------------------------

/*** openwin_focused ***
 working "giveFocus"
 params: URL ... zu oeffnendes Fenster
         name .. target name (optional)
         w,h ... new window width & height (optional)
 using: <a href="" onclick="return openwin_focused(this.href)">....</a>
 *** js19.8.2005 [:PILOT2:] ***/
function openwin_focused(URL,name,w,h)
{ var defaultname='messagewindow';
  if (typeof(name)=='undefined') name= defaultname; // '_blank';
  if (typeof(w)   =='undefined') w=600;
  if (typeof(h)   =='undefined') h=560;

  var openmode='resizable=yes,scrollbars=yes,status=yes,'+
               'width='+w+',height='+h;
  var win=window.open(URL, name, openmode);
	win.focus();
	return false; // important!!!
}

//------------------------------------------------------------------------
loaded=true;

