var nrOfTabs = 0;
var nrOfSubTabs = 0;

function upcWindowOnload(funcName)
{
   if(window.attachEvent)
   {
      window.attachEvent('onload',funcName);
   }
   else
   {
      window.addEventListener('load',funcName,false);
   }
}

upcWindowOnload(hideAnswers);

function getObj(name) {
    if (document.getElementById) {
        this.obj = document.getElementById(name);
        this.style = document.getElementById(name).style;
    } else if (document.all) {
        this.obj = document.all[name];
        this.style = document.all[name].style;
    } else if (document.layers) {
        this.obj = document.layers[name];
        this.style = document.layers[name];
    }
}

function showBlock(id) {
	var layer1;
    if(document.layers)	{
		layer1 = document.layers[id]
		layer1.visibility = "show";
	} else if (document.all) {
		layer1 = document.all[id]
		layer1.style.display="block"
	} else if(document.getElementById) {
        layer1 = document.getElementById(id)
		layer1.style.display="block"
		layer1.style.visibility = "visible";
	}
}

function hideBlock(id) {
    var layer1;
	if (document.layers) {
		layer1 = document.layers[id]
		layer1.visibility = "hide";
	} else if (document.all) {
		layer1 = document.all[id]
		layer1.style.display="none"
	} else if(document.getElementById) {
		layer1 = document.getElementById(id)
		layer1.style.display="none"
		layer1.style.visibility = "hidden"
	}
}

function collapseAllTabs() {
    if (nrOfTabs == 0) return;
    for (nr=1; nr<=nrOfTabs; nr++) {
        hideBlock("tabblad" + nr);
        var element = new getObj("tab" + nr);
        element.obj.className = "tab";
    }
}

function openTab(nr) {
    collapseAllTabs();
    showBlock("tabblad" + nr);
    var element = new getObj("tab" + nr);
    element.obj.className = "tabselected";
    return false;
}

function openTabRadio(nr) {
    collapseAllTabsRadio();
    showBlock("tabblad" + nr);
    return false;
}

function collapseAllTabsRadio() {
    if (nrOfTabs == 0) return;
    for (nr=1; nr<=nrOfTabs; nr++) {
        hideBlock("tabblad" + nr);
    }
}


function hideAnswers() {
// hide the answers
	if (document.getElementById) {
		/* Test for getElementById, because it will be used 
			in the toggle function. */
		var parentId = document.getElementById('content');
		if (parentId != null) {
			var faqItems = parentId.getElementsByTagName('div');
			var max = faqItems.length;
	
			for (i=0; i<max; i++) {
				if (faqItems.item(i).className == 'answer') {
					// hide answers
					faqItems.item(i).style.display = 'none';
				}
				if (faqItems.item(i).className == 'question') {
					// attach an event handler to display a mouse hand on mouseover
					faqItems.item(i).onmouseover = setMouseHand;
					if (faqItems.item(i).captureEvents) { 
						faqItems.item(i).captureEvents(Event.MOUSEOVER);
					}
				}
			} 
			
			if (window.location.hash.length > 0) {
				var e = document.getElementById('a-' + window.location.hash.substring(1))
				e.style.display = "block"
			}
		}
	}
}

// toggle an answer
function toggleAnswer(a) {
	if (document.getElementById) {
		b = document.getElementById(a);
		if (b.style.display == 'none') {
			b.style.display = 'block';
		} else {
			b.style.display = 'none';
		}
	}
}

function setMouseHand() {
	// display a mouse hand
	// called from an event set in hideAnswers()
	this.style.cursor = 'pointer';
	// this.style.backgroundColor = 'fff';
}

function openSubTab(nr) {
    collapseAllSubTabs();
    showBlock("sub_tab" + nr);
    var tabArrowName = 'subtabarrow' + nr;
    if (document.getElementById) {
    	var tabArrow = document.getElementById(tabArrowName);
    	if (tabArrow != null) {
    		tabArrow.src = 'images/upc/pijl_down.gif';
                tabArrow.style.cursor = '';
        }
    }
    return false;
}

function collapseAllSubTabs() {
    if (nrOfSubTabs == 0) return;
    for (nr=1; nr<=nrOfSubTabs; nr++) {
			var tabArrowName = 'subtabarrow' + nr;
	    if (document.getElementById) {
    		var tabArrow = document.getElementById(tabArrowName);
    		if (tabArrow != null) {
    			tabArrow.src = 'images/upc/pijl_up.gif';
                        tabArrow.style.cursor = 'pointer';

				}
			}
      hideBlock("sub_tab" + nr);
    }
}

function popUp(url, title, width) {
	var params = '';
	if (width > 0) {
		params += 'width=' + width + ',';
	}
	params += 'scrollbars=yes,status=yes,resizable=yes';
	var newWindow = window.open(url,title,params); 
	if (window.focus) {
		newwindow.focus();
	}
	return false;
}


// external links

var upcWindow = null, upcExternLink;

upcWindowOnload(upcPopUpInit);

function upcPopUpInit()
{
   var externals = document.links, i;
   if(i = externals.length)
   {
      while(i--)
      {
         if('external' == externals[i].className)
         {
            externals[i].onclick = upcPopUpHandler;
         }
      }
   }
}

function upcPopUpHandler()
{
   if(null == upcWindow || upcWindow.closed)
   {
      upcWindow = window.open(this.href,'Offsite');
   }
   else
   {
      upcWindow.focus();
      if(upcExternLink != this.href)
      {
         upcWindow.location = this.href;   
      }
   }
   upcExternLink = this.href;
   return false;
}

function setPrintClass(el) {
	var printDivs = getElementsByClassName("printthis")
	for (var i=0; i<printDivs.length; i++) {
		printDivs[i].className = "faqitem"
	}
	var printDiv = el.parentNode.parentNode
	printDiv.className = "printthis"
}

function getElementsByClassName(className, tag, elm) {
    var testClass = new RegExp("(^.*|\s)" + className + "(\s|.*$)");
    var tag = tag || "*";
    var elm = elm || document;
    var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
    var returnElements = [];
    var current;
    var length = elements.length;
    for(var i=0; i<length; i++){
        current = elements[i];
        if(testClass.test(current.className)){
            returnElements.push(current);
        }
    }
    return returnElements;
}
