/*
 * Copyright (c) 2006 A&B FACE2NET GmbH
 *
 * author JDE
 * version $Revision: 1.2 $
 *
 * various additional javascripts
 */

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* global basics */


/**
* executes functions when the page loads.
* @param func_name name of function
*/
function addLoadEvent(func_name) {
  var lastonload = window.onload;
  if (typeof window.onload != 'function')
    { window.onload = func_name; }
  else {  window.onload = function() {
            lastonload(); func_name(); }
    }
}

/**
* sets an attribute to a node.
* @param elem name of node
* @param attr kind of attribute
* @param value attribute value
*/
function set_attr(elem, attr, value) {
  var myNode = elem; myNode.setAttribute(attr, value ); }
/**
* sets an URL to a node.
* @param elem name of node
* @param url url
*/
function set_href(elem, url) {
  var myNode = elem; myNode.setAttribute("href",url );  }
/**
* sets a title to a node.
* @param elem name of node
* @param title node title
*/
function set_title(elem, title) {
  var myNode = elem; myNode.setAttribute("title", title ); }
/**
* sets a textnode to a parent node.
* @param par name of parent
* @param text value of title
*/
function set_textNode(par, text) {
  if (!document.createTextNode) return false;
  var myNode = par; myNode = document.createTextNode(text); }
/**
* creates a link with link text, title and url.
* @param txt link text
* @param ltitle link title
* @param url  link destination
* @return link element (a);
*/
function create_link(txt, ltitle, url ) {
  if (!document.createElement || !document.createTextNode) return false;
  var myNode = document.createElement("a");
  var myNode_text = document.createTextNode(txt);
  myNode.appendChild(myNode_text);
  set_title(myNode, ltitle);
  set_href(myNode, url) ;
  return myNode;}
/**
* creates a print link using create_link(txt, ltitle, url ) and set_attr(elem, attr, value)
*/
function create_printLink() {
  var printlink = create_link("Drucken", "Diese Seite drucken", "javascript:window.print();" );
  set_attr(printlink, "onclick", "window.print();return false;");
  /*do not use onkeypress otherwise in FF the tab will get stuck in the printlink */ }
/**
* creates a list item.
* @param listid id of parent ul or ol
* @return list item (li);
*/
function create_ListItem(listId) {
  if (!document.getElementById) return false;
  var myList = document.getElementById(listId);
  if(myList){
    var myItem = document.createElement("li");
    myList.appendChild(myItem);
    return myItem;
  } else{
  return false;}
 }

/**
* creates a list item with a print link.
*/
function create_printLinkItem() {
  var printlink = create_link("Drucken", "Diese Seite drucken", "javascript:window.print();" );
  if(document.getElementById("navService")) {
    create_ListItem("navService").appendChild(printlink);
    set_attr(printlink, "onclick", "window.print();return false;");
    /*do not use onkeypress otherwise in FF the tab will get stuck in the printlink */
  }
}

addLoadEvent(create_printLinkItem);
