ie = (document.getElementById && document.all && document.styleSheets) ? 1:0;
nn = (document.getElementById && !document.all) ? 1:0;

function ScrollPos(kind)
{
  if(ie)
  {
    var scrollPos;
    if (typeof window.pageYOffset != 'undefined')
    {
      scrollPos = window.pageYOffset;
    }
    else
    {
      if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
      {
        scrollPos = document.documentElement.scrollTop;
      }
      else
      {
        if (typeof document.body != 'undefined')
        {
          scrollPos = document.body.scrollTop;
        }
      }
    }
    xPos = document.body.scrollLeft;
    yPos = scrollPos;
  }
  else
  {
      xPos = window.pageXOffset;
      yPos = window.pageYOffset;
  }

  if (kind == 'x') return xPos;
  if (kind == 'y') return yPos;
}

function scrollhight()
{
  if(ie)
  {
    var scrollPos;
    if (typeof window.pageYOffset != 'undefined')
    {
      scrollPos = window.pageYOffset;
    }
    else
    {
      if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
      {
        scrollPos = document.documentElement.scrollTop;
      }
      else
      {
        if (typeof document.body != 'undefined')
        {
          scrollPos = document.body.scrollTop;
        }
      }
    }
    if(event.clientX > width)
    {
      xPos = event.clientX - width + document.body.scrollLeft;
    }
    else
    {
      xPos = event.clientX + document.body.scrollLeft;
    }
    if(event.clientY > height)
    {
      yPos = event.clientY - height + scrollPos;
    }
    else
    {
      yPos = event.clientY + scrollPos;
    }
  }
  else
  {
    if(e.pageX > width + window.pageXOffset)
      xPos = e.pageX - width;
    else
      xPos = e.pageX;
    if(e.pageY > height + window.pageYOffset)
      yPos = e.pageY - height;
    else
      yPos = e.pageY;
  }
return xPos;
}

function Fensterhoehe()
{
  if (window.innerHeight)
  {
    return window.innerHeight;
  }
  else
  if (document.body && document.body.offsetHeight)
  {
    return document.body.offsetHeight;
  }
  else
  {
    return 0;
  }
}

function show(id)
{
  var obj = document.getElementById(id);
  obj.className ='shown';
}

function hide(id)
{
  var obj = document.getElementById(id);
  obj.className ='hidden';
}

function showhide(id)
{
  var obj = document.getElementById(id);
  if (obj.className =='shown')
  {
    obj.className ='hidden';
  }
  else
  {
    obj.className ='shown';
  }
}

function toggle_check_by_ID(ID)
{
  var obj = document.getElementById(ID);
  if (obj.checked)
    obj.checked='';
  else
    obj.checked='true';
}

function kaufm(x)
 {
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
v
 };

function kaufm_opt(x)
 {
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.-' : '00';
  return k.substring(0, k.indexOf('.')) + ','+ k.substring(k.indexOf('.') + 1, k.indexOf('.') + 3);
 };

function ganzzahl(x)
 {
  var k = (Math.round(x * 1) / 1).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
 };

function calc_credits()
{
  summe1 = document.getElementById('anz_berechnungen').value / 200;
  summe2 = document.getElementById('anz_abschluesse').value;
  if (summe1 > summe2)
  {
    summe3 = summe1;
    document.getElementById('workflow_left').style.visibility = 'visible';
    document.getElementById('workflow_center').style.visibility = 'hidden';
    document.getElementById('workflow_right').style.visibility = 'hidden';
  }
  else
  {
    summe3 = summe2;
    document.getElementById('workflow_left').style.visibility = 'hidden';
    document.getElementById('workflow_center').style.visibility = 'hidden';
    document.getElementById('workflow_right').style.visibility = 'visible';
  }

  if (5 >= summe3)
  {
    document.getElementById('workflow_left').style.visibility = 'hidden';
    document.getElementById('workflow_center').style.visibility = 'visible';
    document.getElementById('workflow_right').style.visibility = 'hidden';
    summe3 = 5;
  }

  summe3 =   	 Math.ceil(summe3);

  document.getElementById('anz_credits').value = summe3;
  document.getElementById('C50').value = kaufm(summe3 * 3);
  document.getElementById('C200').value = kaufm(summe3 * 2);
  document.getElementById('C500').value = kaufm(summe3 * 1.8);
  document.getElementById('C1000').value = kaufm(summe3 * 1.5);
}

function SetCook(Cookiename,Value)
{
  geturl = 'AJAX_Set_Cookie.php?Cookie=' + Cookiename + '&Value='+Value;
  var req = new initXMLHttpClient();
  req.open('GET', geturl, false);
  req.send(null);
}

function Anfrage_Registernummer(regnr)
{
  geturl = 'functions.php?action=AJAX&AJAXServer=Registernummer&nr=' + escape(regnr);
  var req = new initXMLHttpClient();
  req.open('GET', geturl, false);
  req.send(null);
  if(req.status == 200)
  {
    dynText = req.responseText;
    return dynText;
  }
  else
  {
    alert('Fehler: keine Antwort vom Server\n\nBitte Versuchen Sie es später noch einmal.\n\nDanke!')
  }
}

function Anfrage_Courtageliste(Name,Email,Tel)
{
  if (Email)
  {
    if (Tel)
    {
      geturl = 'AJAX_Sende_Anfrage.php?Name=' + escape(Name) + '&Email=' + escape(Email) + '&Tel=' + escape(Tel);
      var req = new initXMLHttpClient();
      req.open('GET', geturl, false);
      req.send(null);

      if(req.status == 200)
      {
        dynText = req.responseText;
        if (dynText == '1')
        {
          hide('Courtageanfrage');
          alert('Anfrage wurde erfolgreich verschickt.');
        }
        else
        {
          hide('Courtageanfrage');
          alert('Fehler: E-Mail konnte nicht verschickt werden.\n\nBitte Versuchen Sie es später noch einmal.\n\nDanke!');
        }
      }
      else
      {
        alert('Fehler: keine Antwort vom Server\n\nBitte Versuchen Sie es später noch einmal.\n\nDanke!')
      }
    }
    else
    {
      alert('Bitte tragen Sie Ihre Telefon-Nummer ein.')
    }
  }
  else
  {
    alert('Vor dem Abschicken bitte E-Mail-Adresse angeben!\n\nWohin sollen wir sonst die Courtageliste schicken?')
  }
}

function Anfrage_CBS(Name,Firma,Strasse,PLZ,Ort,Email,Tel,Produkte,Zustimmung)
{
  poststring = 'Name=' + escape(Name) + '&Firma=' + escape(Firma) + '&Strasse=' + escape(Strasse) + '&PLZ=' + escape(PLZ) + '&Ort=' + escape(Ort) + '&Email=' + escape(Email) + '&Tel=' + escape(Tel) + '&Produkte=' + escape(Produkte) + '&Zustimmung_Informationsweitergabe=' + escape(Zustimmung);
  var req = new initXMLHttpClient();
  req.open('POST', '/Portal/AJAX_CBS.php', false);
  req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  req.setRequestHeader("Content-length", poststring.length);
  req.setRequestHeader("Connection", "close");
  req.send(poststring);
  if(req.status == 200)
  {
    dynText = req.responseText;
    if (dynText == '1')
    {
      alert('Anfrage wurde erfolgreich verschickt.');
    }
    else
    {
alert(dynText);
//      alert('Fehler: Anfrage konnte nicht verschickt werden.\n\nBitte Versuchen Sie es später noch einmal.\n\nDanke!');
    }
  }
  else
  {
    alert('Fehler: keine Antwort vom Server\n\nBitte Versuchen Sie es später noch einmal.\n\nDanke!')
  }
}

// function to create an XMLHttpClient in a cross-browser manner
function initXMLHttpClient()
 {
  var xmlhttp;
  try
   {
    // Mozilla / Safari / IE7
    xmlhttp = new XMLHttpRequest();
   }
  catch (e)
   {
     // IE
     var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0',
                                 'MSXML2.XMLHTTP.4.0',
                                 'MSXML2.XMLHTTP.3.0',
                                 'MSXML2.XMLHTTP',
                                 'Microsoft.XMLHTTP');
    var success = false;
    for (var i=0;i < XMLHTTP_IDS.length && !success; i++)
     {
      try
       {
        xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
                      success = true;
       }
      catch (e)
       {}
     }
    if (!success)
     {
      throw new Error('Unable to create XMLHttpRequest.');
     }
   }
  return xmlhttp;
 }

function Anfrage_Domaincheck(URL)
{
  if (URL)
  {
    geturl = '/AJAX_Serv_001.php?URL=' + escape(URL);
    var req = new initXMLHttpClient();
    req.open('GET', geturl, false);
    req.send(null);

    if(req.status == 200)
    {
      dynText = req.responseText;
      document.getElementById('Response_domaincheck').innerHTML = dynText;
    }
    else
    {
      alert('Fehler: keine Antwort vom Server\n\nBitte Versuchen Sie es später noch einmal.\n\nDanke!')
    }
  }
  else
  {
    document.getElementById('Response_domaincheck').innerHTML = 'Bitte Domain w&auml;hlen!';
  }
}

function toggle_check_by_ID(ID)
{
  var obj = document.getElementById(ID);
  if (obj.checked)
    obj.checked='';
  else
    obj.checked='true';
}

function umhaken(id)
{
  var noaction = 0;
  if (document.getElementById('Haken_' + id + '_an') && document.getElementById('Haken_' + id + '_aus'))
  {
    if (document.getElementById('Haken_' + id + '_an').className =='shown')
    {
      if(document.getElementById('Haken_Paket_an') && document.getElementById('Haken_Paket_aus'))
      {
        if (id == 'Rechner' && document.getElementById('Haken_Paket_aus').className =='shown')
        {
          alert('Die Online-Vergleichsrechner sind das Herz unseres Systemes, deswegen können Sie unsere übrigen Produkte nur in Verbindung mit den Online-Rechnern buchen.\n\nDas Abwählen der kostenpflichtigen Rechner ist nur dann möglich, wenn Sie das Komplettpaket am Ende der Seite angewählt haben.');
          noaction = 1;
        }
        if (id == 'Paket' && document.getElementById('Haken_Rechner_aus').className =='shown')
        {
          alert('Die Online-Vergleichsrechner sind das Herz unseres Systemes, deswegen können Sie unsere übrigen Produkte nur in Verbindung mit den Online-Rechnern buchen.\n\nDas Abwählen des kostenlosen Komplettpaketes ist nur dann möglich, wenn Sie die kostenpflichtigen Vergleichsrechner am Anfang der Seite angewählt haben.');
          noaction = 1;
        }
      }
      else
      {
        if (id == 'Rechner' && !document.getElementById('Vorgabe_Rechner_optional'))
        {
          alert('Die Online-Vergleichsrechner sind das Herz unseres Systemes, deswegen können Sie unsere übrigen Produkte nur in Verbindung mit den Online-Rechnern buchen.\n\nAbwählen der Rechner ist nicht möglich.');
          noaction = 1;
        }
      }
      if(noaction == 0)
      {
        hide('Haken_' + id + '_an');
        show('Haken_' + id + '_aus');
        document.getElementById('Buchung_' + id).value = '';
      }
    }
    else
    {
      show('Haken_' + id + '_an');
      hide('Haken_' + id + '_aus');
      document.getElementById('Buchung_' + id).value = '1';
    }
  }
  check_selection()
}

function check_selection()
{
  Preis = 0;

  if(document.getElementById('Credits_Faktor_Vorgabe').value > 0)
  {
    document.getElementById('Credits_Faktor').value = document.getElementById('Credits_Faktor_Vorgabe').value;
  }
  else
  {
		if(document.getElementById('Einzahlung_150'))
		{
			if(document.getElementById('Einzahlung_150').checked) document.getElementById('Credits_Faktor').value = 3;
			if(document.getElementById('Einzahlung_400').checked) document.getElementById('Credits_Faktor').value = 2;
			if(document.getElementById('Einzahlung_900').checked) document.getElementById('Credits_Faktor').value = 1.8;
			if(document.getElementById('Einzahlung_1500').checked) document.getElementById('Credits_Faktor').value = 1.5;
		}
  }

  if(document.getElementById('Preis_Rechner')) Preis_Rechner = 1 * document.getElementById('Preis_Rechner').value;
  if(document.getElementById('Preis_Homepage')) Preis_Homepage = 1 * document.getElementById('Preis_Homepage').value;
  if(document.getElementById('Preis_Verwaltung')) Preis_Verwaltung = 1 * document.getElementById('Preis_Verwaltung').value;
  if(document.getElementById('Preis_BUpro')) Preis_BUpro = 1 * document.getElementById('Preis_BUpro').value;
  if(document.getElementById('Preis_Anbindung')) Preis_Anbindung = 1 * document.getElementById('Preis_Anbindung').value;
  if(document.getElementById('Preis_Paket')) Preis_Anbindung = 1 * document.getElementById('Preis_Paket').value;

  Preis += Kastenzelle('Rechner');
  Preis += Kastenzelle('Homepage');
  Preis += Kastenzelle('Verwaltung');
  Preis += Kastenzelle('BUpro');
  Preis += Kastenzelle('Anbindung');
  Preis += Kastenzelle('Paket');

  Submitbutton = '<div style="padding-top: 6px; text-align: center;"><input type=submit name=submit value="jetzt anmelden"></div>';

  document.getElementById('Kasten_Anmeldung').innerHTML = 'Gesamt: <div id=\'Gesamtpreis\'" style="font-size:2em;">' + kaufm_opt(Preis) + ' &euro;</div><div style="font-size: 0.8em;">pro Monat*<div style="font-weight:normal;">Alle Preise zzgl. MwSt!</div></div>' + Submitbutton;
}

function Kastenzelle(Produkt)
{
  Wahlpreis = 0;
	if(document.getElementById('Preis_' + Produkt)) Preis_Produkt = 1 * document.getElementById('Preis_' + Produkt).value * document.getElementById('Credits_Faktor').value;

  if(document.getElementsByName('Einzahlung'))
	{
		var Label_x = 'Preis_' + Produkt + '_' + radioWert(document.getElementsByName('Einzahlung'));
		if(document.getElementById(Label_x))
		{
			var Preis_Produkt = 1 * document.getElementById('Preis_' + Produkt + '_' + radioWert(document.getElementsByName('Einzahlung'))).value;
		}
	}

  Label_Produkt = Produkt;
  if(document.getElementById('Label_' + Produkt)) Label_Produkt = document.getElementById('Label_' + Produkt).value;
  if (document.getElementById('Buchung_' + Produkt))
  {
    HTML = '<table style="width: 100%;"><tr>';
    if (document.getElementById('Buchung_' + Produkt).value)
    {
      Wahlpreis = Preis_Produkt;
      HTML += '<td rowspan=2 style="width: 32px;"><img src=Images/Knopf_gruen.gif alt="gew&auml;hlt"></td>';
      HTML += '<td>' + Label_Produkt + '</td>';
      HTML += '</tr><tr>';
      if (Preis_Produkt)
      {
        HTML += '<td style="font-size: 0.8em;">(' + kaufm_opt(Preis_Produkt) + ' &euro;)</td>';
      }
      else
      {
        HTML += '<td style="font-size: 0.8em;">(kostenlos)</td>';
      }
      if(Produkt != 'Rechner')
      {
        show('Haken_' + Produkt +  '_an');
        hide('Haken_' + Produkt +  '_aus');
      }
    }
    else
    {
      HTML += '<td rowspan=2 style="width: 32px;"><img src=Images/Knopf_rot.gif alt="nicht gew&auml;hlt"></td>';
      HTML += '<td>' + Label_Produkt + '</td>';
      HTML += '</tr><tr>';
      if (Preis_Produkt)
      {
        HTML += '<td style="font-size: 0.8em;">(0,- &euro;)</td>';
      }
      else
      {
        HTML += '<td style="font-size: 0.8em;">(kostenlos)</td>';
      }

      if(Produkt != 'Rechner')
      {
        hide('Haken_' + Produkt +  '_an');
        show('Haken_' + Produkt +  '_aus');
      }
    }
    HTML += '</tr></table>';
    document.getElementById('Kasten_' + Produkt).innerHTML = HTML;
  }
  return Wahlpreis;
}

function pos_Kasten()
{
  stepsize = 8;
  waittime = 12;
  versatz = 42;
  actops = (1 * document.getElementById('Kasten').style.top.slice(0,-2)) - versatz;
  newpos = actops;
  if (actops >= ScrollPos('y') + stepsize)
  {
    newpos = actops - stepsize;
  }
  if (actops <= ScrollPos('y') - stepsize)
  {
    newpos = actops + stepsize;
  }
  document.getElementById('Kasten').style.top = (newpos + versatz) + 'px';
  window.setTimeout('pos_Kasten()', waittime);
}

function radioWert(rObj)
{
  for (var i=0; i<rObj.length; i++)
	{
		if (rObj[i].checked) return rObj[i].value;
	}
  return false;
}
