function showhelp2(i)
{
  document.getElementById("help" + i).style.display = "block";
}


function hidehelp(i)
{
  document.getElementById("help" + i).style.display = "none";
}


function setPos(Hndl)
{
  if(document.all)
  {
    x1 = window.event.x + document.documentElement.scrollLeft + 15;
    y1 = window.event.y + document.documentElement.scrollTop + 15;
  }
  else
  {
    x1 = Hndl.pageX + 15;
    y1 = Hndl.pageY + 15;
  }
  
  for(i = 1; i <= 3; i++)
  {
    if(document.getElementById("help" + i).style.display != "block")
    {
      document.getElementById("help" + i).style.top = y1 + "px";
      document.getElementById("help" + i).style.left = x1 + "px";
    }
  }
}


function setHandler()
{
  document.onmousemove = setPos;
}



function POPUp(URL,XWidth,YHeight,Scrollbar,LEFT,TOP)
{
  day = new Date();
  id = day.getTime();

  eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars="+Scrollbar+",location=0,statusbar=0,menubar=0,resizable=0,width="+XWidth+",height="+YHeight+",left = "+LEFT+",top = "+TOP+"');");
} // JS-Function: PoPUp




function shownumber2()
{
  document.getElementById("loadbar").style.display = "none";
  document.getElementById("no1").style.display = "block";
  document.getElementById("no2").style.display = "block";
}
function shownumber1()
{
  setInterval('shownumber2()', 1500);
}




function showFAQ(divid)
{
  document.getElementById("faqcontent").innerHTML = document.getElementById("faqanswer" + divid).innerHTML;
}



var req = null;

function getFAQ(uri)
{
  document.getElementById("faqcontent").style.display = "none";
  document.getElementById("loadbar").style.display = "block";
  
  
  if(req != null && req.readyState != 0 && req.readyState != 4)  
    req.abort(); 
  
  try 
  { 
    req = new XMLHttpRequest(); 
  } 
  catch(error) 
  { 
    try 
    { 
      req = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (error) 
    { 
      req = null; 
  
      return false; 
    } 
  }
   
  
  req.onreadystatechange = handleFAQ; 
  
  req.open("GET", uri); 
  req.send(null); 
}

function handleFAQ() 
{ 
  if(req.readyState == 4)
  {
    if (req.status == 200)
    {
      var res = req.responseText;
      document.getElementById("faqcontent").innerHTML = res;
      
      document.getElementById("loadbar").style.display = "none";
      document.getElementById("faqcontent").style.display = "block";
    }
    else
    {
      alert("Der gewuenschte FAQ-Artikel konnte leider nicht geladen werden.");
      document.getElementById("loadbar").style.display = "none";
      
      document.getElementById("faqcontent").innerHTML = "";
      document.getElementById("faqcontent").style.display = "block";
    }
  }
  
  return true; 
}


function regNumber(rnumber)
{
  document.getElementById("formArea").style.display = "none";
  document.getElementById("loadbarArea").style.display = "block";
  
  document.getElementById("formValid").style.border = "1px solid #70c6ff";
  document.getElementById("formForward").style.border = "1px solid #70c6ff";
  document.getElementById("formAgbText").style.fontWeight = "normal";
  document.getElementById("formAgbText").style.color = "white";
  
  var agbChecked = (document.getElementById("formAgb").checked == 1) ? ("true") : ("false");
  var post = "sTemplate=NumberSendAjax&number=" + encodeURI(rnumber) +
             "&valid=" + encodeURI(document.getElementById("formValid").value) +
             "&forward=" + encodeURI(document.getElementById("formForward").value) +
             "&agb=" + agbChecked;
  
  
  if(req != null && req.readyState != 0 && req.readyState != 4)  
    req.abort(); 
  
  try 
  { 
    req = new XMLHttpRequest(); 
  } 
  catch(error) 
  { 
    try 
    { 
      req = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (error) 
    { 
      req = null; 
  
      return false; 
    } 
  }
   
  
  req.onreadystatechange = handleReg; 
  
  req.open("POST", "/index.php");
  req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  req.setRequestHeader("Connection", "close");
  req.setRequestHeader("Content-length", post.length);
  req.send(post);
   
  req.send(null); 
  
  return false;
}



function handleReg() 
{ 
  if(req.readyState == 4)
  {
    if (req.status == 200)
    {
      var res = req.responseText;
      
      // ### Rueckgabe verarbeiten
      var posStatus = res.indexOf("STATUS");
      
      document.getElementById("loadbarArea").style.display = "none";
      
      if(posStatus == -1)
      {
        document.getElementById("formArea").style.display = "block";
        alert("Die Wergwerfnummer konnte leider nicht geschaltet werden. Bitte versuchen Sie es erneut.");
      }
      else
      {
        // ### Statuswert
        var statusCode = res.substr(posStatus + 6, 2);
        // ### Nachricht
        var messText = res.substr(posStatus + 8, res.length - 8);
        
        // ### Statuswert auswerten
        if(statusCode == "01" || statusCode == "03")
        {
          // ### OK oder ausfuehrliche Fehlermeldung: Box mit Meldung anzeigen
          document.getElementById("messText").innerHTML = messText;
          document.getElementById("messArea").style.display = "block";
        }
        else if(statusCode == "02")
        {
          // ### Eingaben unvollstaendig. Hervorheben und Fehler anzeigen.
          // ### Fehler-IDs extrahieren:
          var errorids = messText.substring(0, messText.indexOf("0"));
          //var messText2 = messText.substr(messText.indexOf("0") + 1, messText.length - errorids.length);
          
          // ### Formularfelder hervorheben:
          var i = 0;
          for(i = 0; i < errorids.length; i++)
          {
            if(errorids.charAt(i) == "1")
            {
              document.getElementById("formValid").style.border = "2px solid red";
            }
            else if(errorids.charAt(i) == "2")
            {
              document.getElementById("formForward").style.border = "2px solid red";
            }
            else if(errorids.charAt(i) == "3")
            {
              document.getElementById("formAgbText").style.fontWeight = "bold";
              document.getElementById("formAgbText").style.color = "red";
            }
          }
          
          document.getElementById("formArea").style.display = "block";
          document.getElementById("errorText").innerHTML = messText.substr(messText.indexOf("0") + 1, messText.length - errorids.length);
          document.getElementById("formValid").style.visibility = "hidden";
          document.getElementById("errorArea").style.display = "block";
          document.getElementById("errorOverlay").style.display = "block";
        }
        else
        {
          // ### Kein brauchbarer Statuscode zurueckgeliefert:
          document.getElementById("formArea").style.display = "block";
          alert("Die Wergwerfnummer konnte leider nicht geschaltet werden. Bitte versuchen Sie es erneut.");
        }
      }
    }
    else
    {
      document.getElementById("formArea").style.display = "block";
      alert("Die Wergwerfnummer konnte leider nicht geschaltet werden. Bitte versuchen Sie es erneut.");
    }
  }
  
  return false; 
}



function hideError()
{
  document.getElementById("errorOverlay").style.display = "none";
  document.getElementById("errorArea").style.display = "none";
  document.getElementById("formValid").style.visibility = "visible";
}







// JavaScript Document
// Funktionen, um verschluesselte mailtos zu entschlüsseln
function UnCryptMailto(s)
{
	var n=0;
	var r="";
	for(var i=0;i<s.length;i++)
	{
		n=s.charCodeAt(i);

		if (n>=8364) {n = 128;}
		r += String.fromCharCode(n-(3));
	}
	return r;
}
function linkTo_UnCryptMailto(s)
{
	location.href=UnCryptMailto(s);
}
