/*
 * Copyright (c) 2006 A&B FACE2NET GmbH
 *
 * author JDE
 * version $Revision: 1.10 $
 *
 * various additional javascripts
 */

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* global basics */

/**
* preload of background-images
*/
var a = new Array("bg_body.jpg", "skip.gif", "navigation/sub_aactive_1.gif", "navigation/sub_aactive_1single.gif", "navigation/sub_active_1.gif", "navigation/sub_aactive_2.gif", "navigation/sub_aactive_2single.gif", "navigation/sub_active_2.gif", "navigation/sub_active_3.gif", "navigation/sub_aactive_3.gif",
"bg_boxsection.gif", "bg_ulList.gif", "bg_ulList_links.gif", "materialien/icons_pdf_s.gif", "materialien/icons_link_s.gif", "bg_ulList_links.gif", "button_a-z.gif", "button_liste.gif", "materialien/icon_pdf.gif", "materialien/icon_audio.gif", "materialien/icon_picture.gif", "materialien/icon_video.gif", "materialien/icon_externalLink.gif", "bg_teasersection.gif", "bg_date_shadow.gif", "bg_modules_ul.jpg", "bg_module_list.gif", "bg_c_modules.gif", "bg_sendButton.gif", "bg_more_radios.gif", "bg_less_radios.gif","bg_noscript_radios.gif");
  var b = new Array();
  var i;
  for (i = 0; i < a.length; i++) {
    b[i] = new Image();
    b[i].src = '/prj-spd06007/images/style/'+a[i];
  }
/**
* 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 */
  }
}

/**
* change styling of all input fields and textareas when the focus is on them
*/
function changeBackgroundColor() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    reset_fields(thisform);
  }
}

/**
* reset styling of all input fields and textareas when the focus is on them
*/
function reset_fields(myform) {
  var defaultValue = "- Suchbegriff -";
  for (var i=0; i<myform.elements.length; i++) {
    var element = myform.elements[i];
    if (element.type == "text" || element.type == "textarea" ) {
    //alert(element.type);
    element.onfocus = function() {
      this.style.background="#d0e2f5";
    if (check_defaultValue(this, defaultValue)){ this.value = ""; }
    }
      element.onblur = function() {
      this.style.background="#fff";
    if (check_defaultValue(this, defaultValue) && this.value == ""){ this.value = defaultValue; }
    }
  } else { continue;
  }
  }
}

/**
* checks defaultvalue of the element
*/
function check_defaultValue(element, defaultValue){
  var headerinputId = 'q';
  var headerinput = document.getElementById(headerinputId);

  if(element==headerinput){
    var myID = element.getAttribute("id");
  //alert(myID);
    if (element.value == defaultValue) return true;
  else if (element.value == "") return true;
  else return false;

  }else return false;
}

addLoadEvent(changeBackgroundColor);
//addLoadEvent(create_printLinkItem);

