// netscape 4 resize bug handler
// use one or the other

//if(document.layers){origWidth=innerWidth;origHeight=innerHeight;onresize=function(){if(innerWidth!=origWidth||innerHeight!=origHeight)location.reload()}}


if(!window.saveInnerWidth) {
  window.onresize = resizeIt;
  window.saveInnerWidth = window.innerWidth;
  window.saveInnerHeight = window.innerHeight;
}

function resizeIt() {
    if (saveInnerWidth < window.innerWidth || 
        saveInnerWidth > window.innerWidth || 
        saveInnerHeight > window.innerHeight || 
        saveInnerHeight < window.innerHeight ) 
    {
        window.history.go(0);
    }
}

// end of netscape 4 resize bug handler




// style swapper for css form buttons
function pviiClassNew(obj, new_style) {
    obj.className = new_style;
}
// end of style swapper



//// help layer ////
var interfacewidth = 760;

// browser detection
var ns4=document.layers;//netscape 4
var ns6=document.getElementById&&!document.all;//netscape 6
var ie4=document.all;//internet explorer 4+
if (navigator.appName == 'Opera') {var ope=1;};//opera
if (navigator.appName == 'Konqueror') {var kq=1;};//konqueror

//drag drop function for NS 4////
/////////////////////////////////

var dragswitch=0
var nsx
var nsy
var nstemp

function drag_dropns(name){
if (!ns4)
return
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=gons
temp.onmousemove=dragns
temp.onmouseup=stopns
}

function gons(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function dragns(e){
if (dragswitch==1){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}
}

function stopns(){
temp.releaseEvents(Event.MOUSEMOVE)
}

//drag drop function for ie4+ and NS6////
/////////////////////////////////


function drag_drop(e){
if (ie4&&dragapproved){
crossobj.style.left=tempx+event.clientX-offsetx
crossobj.style.top=tempy+event.clientY-offsety
return false
}
else if (ns6&&dragapproved){
crossobj.style.left=tempx+e.clientX-offsetx
crossobj.style.top=tempy+e.clientY-offsety
return false
}
}

function initializedrag(e){
crossobj=ns6? document.getElementById("helpsection") : document.all.helpsection

var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "HTML" : "BODY"

while (firedobj.tagName!=topelement&&firedobj.id!="dragbar"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}

if (firedobj.id=="dragbar"){
offsetx=ie4? event.clientX : e.clientX
offsety=ie4? event.clientY : e.clientY

tempx=parseInt(crossobj.style.left)
tempy=parseInt(crossobj.style.top)

dragapproved=true
document.onmousemove=drag_drop
}
}
document.onmousedown=initializedrag
document.onmouseup=new Function("dragapproved=false")

////drag drop functions end here//////


////function to determine location of an id tag////
// results are stored in: offsets.left offsets.top offsets.width offsets.height

function getOffsets(e)
{
   var o = {
     height: e.offsetHeight,
     width: e.offsetWidth
   };

   var x = e.offsetLeft;
   var y = e.offsetTop;
   var p = e.offsetParent;

   while(p && (p.nodeType != 9))
   {
     x += p.offsetLeft;
     y += p.offsetTop;
     p = p.offsetParent;
   }
   o.left = x;
   o.top = y;
   return o;
}
////end of id tag location function////


///activating/deactivating layer visibility

function hidebox(){
if (ie4||ns6)
crossobj.style.visibility="hidden"
else if (ns4)
document.helpsection.visibility="hide"
}



function showbox(){

// repositioning layer *after* the page has completely loaded //

// netscape's window width varies depending on the presence of
// scrollbars or not - therefore repositioning the layer *after*
// the page has loaded is a sure way to get true/accurate size &
// location values

// get location of id tag

if (ns6 || ie4) {var elem = document.getElementById("helpanchor");var offsets = getOffsets(elem);}


if ( ie4 || ns6 || ope ){
	crossobj.style.left = offsets.left;
	crossobj.style.top = offsets.top;
	crossobj.style.visibility="visible";
	}

if ( ns4 || kq ) {
	document.helpsection.x = document.anchors.helpanchor.x;
	document.helpsection.y = document.anchors.helpanchor.y;
	document.helpsection.visibility="show";
	}


//end of help layer

}




//// tree menu ////

var head="display:''"
img1=new Image()
img1.src="graphics/arrowsright_icon.gif"
img2=new Image()
img2.src="graphics/arrowsdown_icon.gif"

//var ns6=document.getElementById&&!document.all&&navigator.userAgent.indexOf("Opera")==-1
//var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

var ns4=document.layers;//netscape 4
var ns6=document.getElementById&&!document.all;//netscape 6
var ie4=document.all;//internet explorer 4+
if (navigator.appName == 'Opera') {var ope=1;};//opera
if (navigator.appName == 'Konqueror') {var kq=1;};//konqueror


function checkcontained(e){
	var iscontained=0
	cur=ns6? e.target : event.srcElement
	i=0
	if (cur.id=="foldheader")
		iscontained=1
	else
		while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
			if (cur.id=="foldheader"||cur.id=="foldinglist"){
				iscontained=(cur.id=="foldheader")? 1 : 0
				break
				}
		cur=ns6? cur.parentNode : cur.parentElement
		}

	if (iscontained){
		var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
		if (foldercontent.style.display=="none"){
			foldercontent.style.display=""
			cur.style.listStyleImage="url(graphics/arrowsdown_icon.gif)"
			}
			else{
				foldercontent.style.display="none"
				cur.style.listStyleImage="url(graphics/arrowsright_icon.gif)"
				}
		}
	}

if (ie4 || ns6 && !kq && !ope)
document.onclick=checkcontained

//end of Tree Menu


