function findElement (name)
  {
  var el = null;
  if (document.getElementById)
    el = document.getElementById(name);
  else
     el = document[name];
  return el;
  }

function isArray(obj) 
  {
  if (obj && obj != "undefined")
    return (typeof(obj.length)!="undefined" && typeof(obj.type)=="undefined");
  else
    return false;
  }

function firstInput (name, fname)
  {
  var frm;
  if (fname)
    frm = document.forms[fname];
  else
    frm = getEhypForm();
  var el = frm.elements[name];
  if (isArray(el))
    el = el[0];
  return el;
  }

function isEmptyField(el)
  {
  if (el.type.substring(0,1) == "s")
    return (el.selectedIndex == 0 && el.value == "");
  else if (el.type.substring(0,1) == "c")
    return (!el.checked);
  else
    return (el.value == "");
  }
  
function getUrlParam (key)
  {
  var query = document.location.search;
  return getUrlParamFrom (query, key);
  }

function getUrlParamsAfter (key)
  {
  var query = document.location.search;
  return getUrlParamsAfterFrom (query, key);
  }

function getUrlParamFrom (query, key)
  {
  if (!query)
    return null;
  var arr = query.substr (1, query.length-1).split("&");
  for (var i = 0; i < arr.length; i ++)
    if (arr[i].split("=")[0] == key)
      return arr[i].split("=")[1];
  return null;
  }

function getUrlParamsAfterFrom (query, key)
  {
  if (!query)
    return null;
  var arr = query.substr (1, query.length-1).split("&");
  for (var i = 0; i < arr.length; i ++)
    if (arr[i].split("=")[0] == key)
      {
      if (i == arr.length - 1)
        return null;
      arr.splice (0, i);
      return arr.join("&");
      }
  return null;
  }

function getTopic()
  {
  return getUrlParam("topic");
  }
   
function appendQuery (url)
  {
  return url;
  }

function showConditional (key, on)
  {
  if (useConditionals)
    setConditional (key, on);
  else
    {
    for (var i = 1; i < 999; i ++)
      if (!setVisibility(key + i, on))
        return false;
    }
  }

function selectba()
  {
  var fld = firstInput ("ba", "ba");
  var ba = fld.value;
  var el = findElement ("ba60");
  el.style.display = (ba == "60") ? ((window.netscape) ? "table-row" : "block") : "none";
  el = findElement ("ba80");
  el.style.display = (ba == "80") ? ((window.netscape) ? "table-row" : "block") : "none";
  el = findElement ("ba100");
  el.style.display = (ba == "100") ? ((window.netscape) ? "table-row" : "block") : "none";
  el = findElement ("ba111");
  if (el)
    el.style.display = (ba == "111") ? ((window.netscape) ? "table-row" : "block") : "none";
  el = findElement ("ba120");
  if (el)
    el.style.display = (ba == "120") ? ((window.netscape) ? "table-row" : "block") : "none";
  el = findElement ("ba130");
  if (el)
    el.style.display = (ba == "130") ? ((window.netscape) ? "table-row" : "block") : "none";
  }

function popup (url, name, w, h, opt)
  {
  if (!opt)
    opt = "toolbar=0,scrollbars=1,location=0,status=0,menubar=0,resizable=0";
  var w = window.open (url, name, opt + ",width="+w+",height="+h);
  if (w && w != "undefined")
    w.focus();
  }

function popnav (cat, url, w, h)
  {
  var opt;
  if (cat == "anfrage")
    opt = "toolbar=no,menubar=yes,locationbar=no,scrollbars=yes,resizable=yes,status=yes";
  else
    opt = "toolbar=0,scrollbars=1,location=0,status=1,menubar=0,resizable=1";

  popup (appendQuery(url), cat, w, h, opt);
  }
/*-------------------------------------------------------------------------------------
 * sets the visibility of the element with the id name according to the boolean on flag
 * if the element is a TR and it is displayed in the IE then all child-TDs visibility
 * is set too
 */
function setVisibility(name, on)
  {
  if (document.getElementById)
    el = document.getElementById(name);
  else
    el = document[name];
  if (!el)
    return false;
  if (on)
    el.style.display = (window.netscape) ? "table-row" : "block";
  else
    el.style.display = "none";
  if(document.all && el.tagName == "TR")
    {
    var cells = el.cells;
    for (var  i = 0; el.cells[i]; i++)
      {
      if (on)
        el.cells[i].style.display = (window.netscape) ? "table-row" : "block";
      else
        el.cells[i].style.display = "none";
      }
    }      
  return true;
  }

function keywordsearch (cmd)
  {
  var query = document.forms.search.query.value;
  if (!query || query == "")
    return;
  var url = cmd + "&STYLE=b2cClosed&query=" + query;
  popnav('rechner', url ,650,550);
  }
  
function searchOnEnter (e, cmd)
  {
  var keycode;
  if (window.event) 
    keycode = window.event.keyCode;
  else if (e) 
    keycode = e.which;
  else 
    return true;
  if (keycode == 13)
    {
    keywordsearch (cmd);
    return false;
    }
  return true;
  }

function submitenter (e, func)
  {
  var keycode;
  if (window.event) 
    keycode = window.event.keyCode;
  else if (e) 
    keycode = e.which;
  else 
    return true;
  if (keycode == 13)
    {
    eval(func);
    return false;
    }
  return true;
  }

function checkUserCookie()
  {
  if (!document.cookie || document.cookie.indexOf("userID=") == -1)
    document.cookie = "userID=" + ("" + Math.random()).substr(2,99) + "; expires=" + (new Date(365*24*60*60*1000 + (new Date()).getTime())).toGMTString();
  }
  
function checkChannelCookie(url)
  {
  if (document.cookie && document.cookie.indexOf("adChannel=") != -1)
    return;
  var channel = getUrlParam ("adChannel");
  if (channel != null)
    {
    var campaign = getUrlParam ("adCampaign");
    var tool = getUrlParam ("adTool");
    var keyword = getUrlParam ("adKeyword");
    setChannelCookie (url, channel, campaign, tool, keyword);
    }
  else if (document.referrer && document.referrer != "")
    {
    if (document.referrer.indexOf ("http://www.google.de/search") == 0 || document.referrer.indexOf ("http://localhost/test.html") == 0)
      setGoogleSearchCookie (url);
    else
      setGeneralReferrerCookie (url);
    }
  else
    setNoReferrerCookie (url);
  }

function setChannelCookie(url, channel, campaign, tool, keyword)
  {
  var expires = "; expires=" + (new Date(30*24*60*60*1000 + (new Date()).getTime())).toGMTString(); //30 days
  document.cookie = "adChannel=" + channel + expires;
  url += "&cth.channel=" + channel;
  if (campaign != null)
    {
    document.cookie = "adCampaign=" + campaign + expires;
    url += "&cth.campaign=" + campaign;
    }
  if (tool != null)
    {
    document.cookie = "adTool=" + tool + expires;
    url += "&cth.tool=" + tool;
    }
  if (keyword != null)
    {
    keyword = keyword.toLowerCase();
    document.cookie = "adKeyword=" + keyword + expires;
    url += "&cth.keyword=" + keyword;
    }
  var pos = document.cookie.indexOf ("userID=");
  if (pos != -1)
    {
    var user = document.cookie.substr(pos+7,99);
    pos = user.indexOf(";");
    if (pos != -1)
      user = user.substring(0,pos);
    url += "&cth.userid=" + user;
    document.writeln("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + url + "\">");
    }
  }

function getQueryFrom (adr)
  {
  var pos = adr.indexOf("?");
  if (pos == -1)
    return null;
  return adr.substring (pos+1);
  }
  
function setGoogleSearchCookie(url)
  {
  var keyword = getUrlParamFrom (getQueryFrom(document.referrer), "q");
  if (keyword && keyword != "")
    setChannelCookie (url, "gSearch", null, null, decodeURIComponent(keyword));  
  }

function setGeneralReferrerCookie(url)
  {
  var adr = document.referrer.toLowerCase();
  adr = stripPrefix (adr, "://");
  adr = stripPostfix (adr, "/");
  adr = stripPostfix (adr, ";");
  adr = stripPostfix (adr, "?");
  adr = stripPrefix (adr, "www.");
  adr = stripPostfix (adr, ".de");
  setChannelCookie (url, "referrer", adr, null, null);  
  }

function stripPrefix (txt, fix)
  {
  if (txt == null)
    return null;
  var pos = txt.indexOf (fix);
  if (pos == -1)
    return txt;
  return txt.substring (pos + fix.length);
  }

function stripPostfix (txt, fix)
  {
  if (txt == null)
    return null;
  var pos = txt.indexOf (fix);
  if (pos == -1)
    return txt;
  return txt.substring (0, pos);
  }
    
function setNoReferrerCookie(url)
  {
  setChannelCookie (url, "direct", null, null, null);  
  }

function getEhypForm()
  {
  if (document.forms.length <= 1)
    return document.forms[0];
  if ((typeof myEhypForm != "undefined") && myEhypForm)
    return document.forms[myEhypForm];
  if (document.forms["ehyp"])
    return document.forms["ehyp"];
  if (document.forms["quickCheckForm"])
    return document.forms["quickCheckForm"];
  if (document.forms["appform"])
    return document.forms["appform"];
  return document.forms[1];
  }
  
function showlink()
{
document.getElementById('newsletterlink').style.display="none";
document.getElementById('newsletterlogo').style.top="15px";
}

function validateToRegexp(name, frmt)
  {
  var el = firstInput(name);
  var val = el.value;
  if(window.RegExp && val != "" && frmt.substring(0,2) == "^r")
    {
    // Browser knows regular expressions - if not: do nothing
    var regexp = new RegExp(frmt.substring(2, frmt.length), "g");
    var a = regexp.exec(val);
    if(a && a != "undefined")
      {
      el.value=a[0];
      return true;
      }
    else
      return false;
    }
    return true;
  }

function checkForwardingPagesForm() {
  if (alreadySent)
    return;
  if (isEmptyField(document.getElementById("nameOfRecipient")))
    {
    alert("Bitte geben Sie den Namen des Empfängers ein!");
    document.getElementById("nameOfRecipient").focus();
    return ;
    }
  if (isEmptyField(document.getElementById("emailOfRecipient")))
    {
    alert("Bitte geben Sie die Email des Empfängers ein!");
    document.getElementById("emailOfRecipient").focus();
    return ;
    }
  if (isEmptyField(document.getElementById("nameOfInitiator")))
    {
    alert("Bitte geben Sie Ihren Namen ein!");
    document.getElementById("nameOfInitiator").focus();
    return ;
    }
  if (isEmptyField(document.getElementById("emailOfInitiator")))
    {
    alert("Bitte geben Sie Ihre Email ein!");
    document.getElementById("emailOfInitiator").focus();
    return ;
    }
  if (!validateToRegexp("emailOfRecipient", "^r^[a-zA-Z0-9_][a-zA-Z0-9\-\._\+\&]*@([a-zA-Z0-9][a-zA-Z0-9\-_\+\&]*)+\.([a-zA-Z0-9][a-zA-Z0-9\-_\+\&]*\.)*[a-zA-Z]{2,5}$")) {
    alert('Bitte geben Sie eine gültige E-Mail-Adresse des Empfängers ein!');
    document.getElementById("emailOfRecipient").focus();
    return; }
  if (!validateToRegexp("emailOfInitiator", "^r^[a-zA-Z0-9_][a-zA-Z0-9\-\._\+\&]*@([a-zA-Z0-9][a-zA-Z0-9\-_\+\&]*)+\.([a-zA-Z0-9][a-zA-Z0-9\-_\+\&]*\.)*[a-zA-Z]{2,5}$")) {
    alert('Bitte geben Sie eine gültige E-Mail-Adresse ein!');
    document.getElementById("emailOfInitiator").focus();
    return; }
  var alreadySent = true;
  document.forwardingPagesForm.submit();
  var remarks = "";
  if (document.getElementById("remarks").value != "") {
    remarks = "mit Ihrer Nachricht</p>"
            + "<p>"
        + document.getElementById("remarks").value
        + "</p>"
        + "<p>"; }
  var confirmationPopup = window.open("", "", "width=500, height=400");
  var confirmationText = "<html>"
                       + "<head>"
             + "  <title>Die Artikel-Empfehlung wurde verschickt</title>"
             + "  <link rel='stylesheet' type='text/css' href='style.css'>"
             + "  <link rel='stylesheet' type='text/css' href='/styles/b2c.css'>"
             + "</head>"
             + "<body class='popup'>"
             + "<div style='position:relative;height:60px;background-color:#F0732D;'>"
             + "<div class='robots-nocontent' style='position:absolute;top:15px;right:0px;'>"
             + "<img src='../images/logo_interhyp_baufinanzierung.gif' title='Interhyp AG' alt='Interhyp AG' name='Interhyp AG' border='0'></div></div>"
             + "<div style='position:relative;background-image:url(/images/shadow_bottom.gif);background-repeat:no-repeat'>&nbsp;</div>"
             + "<table width='100%'><tr><td style='width:25'></td><td>"
             + "<h2>Die Artikel-Empfehlung wurde versandt</h2>"
                       + "  <p>Der von Ihnen empfohlene Artikel</p>"
             + "  <p><b>"
             + document.getElementById("pageHeadline").value
             + "      </b><br>"
             + document.getElementById("pageUrlWOAdchannel").value
             + "    </p>"
             + "    <p>wurde "
             + remarks 
             + "an die E-Mail-Adresse "
             + document.getElementById("emailOfRecipient").value
             + "      von "
             + document.getElementById("nameOfRecipient").value
             + "      geschickt.</p>"
             + "    <p align='center'>"
             + "      <a href='javascript:self.close();'>Fenster schlie&szlig;en</a>"
             + "    </p>"
             + "  </td></tr></table>"
             + "</body>"
             + "</html>";
  confirmationPopup.document.writeln(confirmationText);
}

function spotlight(which){
for (i=0;i<5;i++)
	{
		s = "spotlight"+i;
		document.getElementById(s).style.display = "none";
	}
document.getElementById(which).style.display = "inline";
}

function hllex (pgname, on)
  {
	var el = findElement ("nav_" + pgname);
  if (!el)
    return;
  el.style.backgroundColor = on ? "#f8f8f8" : "#ffffff";
  }