function email_enc(name) {   // damit im Quelltext keine lesbare Mailadressse steht
var domain = "rheinenergie.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(name + '@' + domain + '</a>');
}

function inputEmail(s) {	// prüft auf gültige E-Mail-Adresse
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }

 if(a == true)
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
 }
 return(res);
}

function Go(to) {			// springt zur Seite 'to', verwendet in "Schnellsuche"
      location.href = to;
}

/*

Aufruf mit:
Datumspruefung(document.forms["Formular"].elements["Eingabe"].value,document.forms["Formular"].elements["Eingabe"].name,document.forms["Formular"].name)
	'Formular' ist mit dem Formularnamen zu ersetzen
	'Eingabe'  ist mit dem Feldnamen zu ersetzen
Parameter-1 = zu überprüfender Wert
Parameter-2 = Feldname
Parameter-3 = Formularname

oder als direkte Prüfung aus dem Feld heraus mit:
<input type="text" name="Eingabe" size="25" onBlur="return Datumspruefung(this.value,this.name,form.name)">

*/


function Datumspruefung(Datum, Feldname, Formularname)
{
  if (Datum == "")
  {
    alert("Geben Sie einen Wert in das Feld \""+Feldname+"\" ein.");
    document.forms[Formularname].elements[Feldname].focus();
    return (false);
  }

  if (Datum.length < 6)
  {
    alert("Geben Sie mindestens 6 Zeichen in das Feld \""+Feldname+"\" ein.");
    document.forms[Formularname].elements[Feldname].focus();
    document.forms[Formularname].elements[Feldname].select();
    return (false);
  }

  var checkStr = Datum;
  var Sonderzeichen = 0;
  var Ausgabedatum = ""
  for (i = 0;  i < checkStr.length;  i++)
    {
    ch = checkStr.charAt(i);
    if (ch < "0" || ch > "9")	  
       {
       Ausgabedatum = Ausgabedatum + ".";
       Sonderzeichen = Sonderzeichen + 1;
       }
    else {
       Ausgabedatum = Ausgabedatum + checkStr.charAt(i);
       }
    }

  switch(Sonderzeichen)
  {
  case 0:
	if (Ausgabedatum.length == 6 || Ausgabedatum.length == 8)
		{
		Tag = Ausgabedatum.substring(0,2);
		Monat = Ausgabedatum.substring(2,4);
		Jahr = Ausgabedatum.substring(4,Ausgabedatum.length);
		}
	else	{
		alert ("falsches Datumsformat");
		document.forms[Formularname].elements[Feldname].focus();
		document.forms[Formularname].elements[Feldname].select();
		return (false);
		}
	break;
  case 2:
	Tag = Ausgabedatum.substring(0,Ausgabedatum.indexOf("."))
	Tag = Normalisiere(Tag);		
	Monat = Ausgabedatum.substring(Ausgabedatum.indexOf(".")+1,Ausgabedatum.length);
	Jahr = Monat.substring(Monat.indexOf(".")+1,Monat.length);
	Monat = Monat.substring(0,Monat.indexOf("."));
	Monat = Normalisiere(Monat);
	break;
  default:
	alert("Falsche Eingabe");
	document.forms[Formularname].elements[Feldname].focus();
	document.forms[Formularname].elements[Feldname].select();
	return (false);
	break;
  } 


  switch (Jahr.length)
  {
  case 2:
	if (Jahr < 30)
		{
		Jahr = 20 + Jahr;
		}
	else	{
		Jahr = 19 + Jahr;
		}
	break;
  case 4:
	break;
  default:
	alert ("Jahr falsch");
	document.forms[Formularname].elements[Feldname].focus();
	document.forms[Formularname].elements[Feldname].select();
	return (false);
	break;
  }

  
  if (Monat < 1 || Monat > 12)
	{
	alert ("Monat falsch!");
	document.forms[Formularname].elements[Feldname].focus();
	document.forms[Formularname].elements[Feldname].select();
	return (false);
	}
  else	{
	Maxtage = TageImMonat(Monat,Jahr)
	}
  if (Tag < 1 || Tag > Maxtage)
	{
	document.forms[Formularname].elements[Feldname].focus();
	document.forms[Formularname].elements[Feldname].select();
	alert ("Tag falsch");
	return (false);
	}

	Ausgabe = Tag + Monat + Jahr
//	alert ("Datum: "+Tag+"."+Monat+"."+Jahr);
	document.forms[Formularname].elements[Feldname].value=Tag+"."+Monat+"."+Jahr;
	return (true);
}

function TabelleTageImMonat(Schaltjahr)
{
	this[0]  = 31;
	this[1]  = 28;
	if (Schaltjahr)
	  this[1]  = 29;
	this[2]  = 31;
	this[3]  = 30;
	this[4]  = 31;
	this[5]  = 30;
	this[6]  = 31;
	this[7]  = 31;
	this[8]  = 30;
	this[9]  = 31;
	this[10] = 30;
	this[11] = 31;
}

function TageImMonat(Monat, Jahr)
{
	var Schaltjahr = (((eval(Jahr) % 4 == 0) && (eval(Jahr) % 100 != 0)) || (eval(Jahr) % 400 == 0));
	var Monatstage = new TabelleTageImMonat(Schaltjahr);
	return Monatstage[eval(Monat)-1];
}

function Normalisiere(TagMonat)
{
	switch (TagMonat.length)
	{
	case 1:
		TagMonat = 0 + TagMonat;
		break;	
	case 2:
		break;
	default:
		alert ("Tag oder Monat ist falsch!");
		return (false)
	}
	return (TagMonat);
}

function ShowHidePoint(fArg,Hide)
{
/************************************************************************************
Funktion zum auf- und zuklappen eines DIVs mit der ID "swap*". * steht hier für ein beliebiges Zeichen.
Diese Zeichen wird bei Aufruf der Prozedur im Parameter 
fArg
mitgegeben. Der 2. Parameter 
Hide
bewirkt, dass alle offenen bzw. übrigen DIVs mit den prefixidentischen (also auch "swap") IDs zugeklappt werden. 
Dann sollte der Wert true mitgegeben werden. Er ist optional.
Beispiel für den Aufruf:
<a href="javascript:void(0)" onClick="ShowHidePoint(1,true);">text</a>
<DIV id="swap1">erweiterter Text</DIV>

Voraussetzung ist natürlich auch, dass die DIVs am Anfang nicht sichtbar sind, also z.B. die Klasse "divpoint"
<style>
.divpoint {text-align:left; visibility:hidden; display:none;}
</style>

*/

    if (Hide)            // erst mal alle DIVs zuklappen
	 {
	   for(var i = 0; i < document.getElementsByTagName("div").length; i++) {
		  if ((document.getElementsByTagName("div")[i].id) && (document.getElementsByTagName("div")[i].id.substr(0,4) == "swap"))
		  {
		    document.getElementsByTagName("div")[i].style.visibility = "hidden";
			document.getElementsByTagName("div")[i].style.display = "none";
		  }
       }
	 }

	var tooltipOBJ = (document.getElementById) ? document.getElementById('swap' + fArg) : eval("document.all['swap" + fArg + "']");
	if (tooltipOBJ != null) {
		if (tooltipOBJ.style.visibility == "visible")
		{
		tooltipOBJ.style.visibility = "hidden";
		tooltipOBJ.style.display = "none";
        }
		else
		{
		tooltipOBJ.style.visibility = "visible";
		tooltipOBJ.style.display = "block";
		}
	}
}
//Functions für Reitertechnik
var reiternr = 1;
function init(textid){
   textidneu = textid + "1"; // erster Reiter
   var layer_x = document.getElementById(textidneu).style.left;
   var layer_y = document.getElementById(textidneu).style.top;
   for (i=2;i<=10;i++) // alle anderen Reiter max. 10
   {
   		textidneu = textid + i;
		if (document.getElementById(textidneu))
		{
   			document.getElementById(textidneu).style.left = layer_x;
   			document.getElementById(textidneu).style.top = layer_y;
   			document.getElementById(textidneu).style.visibility = "hidden";
   			document.getElementById(textidneu).style.display = "none";   
		}
   }
}
function tausch(textid,textnr)
{
   for (var i=1; i<=10; i++){
      var visi = (i==textnr) ? "visible" : "hidden";
	  if (document.getElementById(textid+i))
		{
			document.getElementById(textid+i).style.visibility = visi;
		}
	  if (visi == "visible") 
	  {
	  	reiternr = i;  //für Rechner, um den aktiven Reiter festzuhalten
	  }
   }
   for (var i=1; i<=10; i++){
      var disp = (i!=textnr) ? "none" : "block";
		if (document.getElementById(textid+i))
		{
			document.getElementById(textid+i).style.display = disp;
		}
   }
}

function guck(textid)
{
//welcher von den Reitern ist angeklickt? Für energreen Sonderlocke, da gibt's keine Reiter
textid = textid+reiternr;   //reiternr ist eine globale Variable, die gesetzt wird, wenn der Abschnitt sichtbar wird
var energreen = false;
var duo = false;
var produkte = new Array("AllgStrom","Allgemeinstrom","GemStrom","Gemeinschaftsstrom","stromFair","fairRegio strom","stromTrade","tradeRegio strom", "stromHT","Allgemeiner Haushaltstarif","stromGEW","Allgemeiner Gewerbetarif");
if (document.rechner.kunde)
{
	energreen = true;
	if (document.rechner.kunde[0].checked)
	{
		prod = "fairRegio strom";
	}
	else
	{
		prod = "tradeRegio strom";
	}
}
if (document.rechner.gebiet) //Erdgas
{
	var produkte = new Array("gasDuo","fairRegio duo","gasFair","fairRegio erdgas","gasTrade","tradeRegio erdgas", "gasHT","Erdgastarif Privatkunden","gasGEW","Erdgastarif Geschäftskunden");
	if (document.rechner.stromver)
	{
		duo = true;
		prod = "fairRegio duo";
	}
}
if (!energreen && !duo)
{
if (document.getElementById(textid).childNodes[0].nodeType == 1)
{
	einstieg = document.getElementById(textid).childNodes[0];
}
else //für Firefox
{
if (document.getElementById(textid).childNodes[1].nodeType == 1)
{
	einstieg = document.getElementById(textid).childNodes[1];
}
}
for(j=0;j<einstieg.childNodes.length;j++)
{
	var reiter=einstieg.childNodes[j];
	if (reiter.id == "reiter")
	{
		for(i=0;i<reiter.childNodes.length;i++)
		{
			var prod=reiter.childNodes[i].innerHTML;
		}
	}
}
}
document.rechner.produkt.value = prod;

if (prod && prod != "")
{
	for(i=0;i<produkte.length;i++)
	{
		if (produkte[i] == prod)
		{
			prod = produkte[i-1];
		}
	}
}

document.rechner.prod.value = prod;
if (document.rechner.stromver)
{
	var x = document.rechner.stromver.value;
	var test = x.match(/[^0-9,\.]/gi);
	if (test!=null)
	{
		alert("Bitte geben Sie nur ganzzahlige Werte ein (ohne Nachkommastellen und Punkte)!");	
		return false;
	}
}
if (document.rechner.gasver && document.rechner.gasverkubik)
{
	var x = document.rechner.gasver.value;
	var test = x.match(/[^0-9,\.]/gi);
	if (test!=null)
	{
		alert("Bitte geben Sie nur ganzzahlige Werte ein (ohne Nachkommastellen und Punkte)!");	
		return false;
	}
	var x = document.rechner.gasverkubik.value;
	var test = x.match(/[^0-9,\.]/gi);
	if (test!=null)
	{
		alert("Bitte geben Sie nur ganzzahlige Werte ein (ohne Nachkommastellen und Punkte)!");	
		return false;
	}
}
return true;
}

function drucken()
{
	    if (window.print) 
		{
		window.print(self);
		} 
	    else if (document.all) 
		{
		self.focus();
	    var OLECMDID_PRINT = 6;
	    var OLECMDEXECOPT_DONTPROMPTUSER = 2;
	    var OLECMDEXECOPT_PROMPTUSER = 1;
	    var WebBrowser = "<OBJECT ID=\"WebBrowser1\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
	    document.body.insertAdjacentHTML("beforeEnd", WebBrowser);
	    WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER);
	    WebBrowser1.outerHTML = "";
		
	}
}
