function SymError()
{
  return true;
}

window.onerror = SymError;


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



/**
 * This array is used to remember mark status of rows in browse mode
 */
var marked_row = new Array;


/**
 * Sets/unsets the pointer and marker in browse mode
 *
 * @param   object    the table row
 * @param   interger  the row number
 * @param   string    the action calling this script (over, out or click)
 * @param   string    the default background color
 * @param   string    the color to use for mouseover
 * @param   string    the color to use for marking a row
 *
 * @return  boolean  whether pointer is set or not
 */
function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor)
{
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor              = thePointerColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
        if (theAction == 'out') {
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        if (theAction == 'click') {
            newColor              = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
            marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  ? true
                                  : null;
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
} // end of the 'setPointer()' function

/* Überprüfen ob das übergebene Element 00:00 Format hat */
function isTime(form,element)
{
	var chkT = 1;
	Objectives=eval("document."+form+"."+element);
	timeStr=Objectives.value;
	
	if(timeStr.length== 0)
	{
		chkT=-1;
	}
	//time must be in the 24:00 format
	if (timeStr.length < 4 || timeStr.length > 5) chkT=-1;
        if (timeStr.length == 4) { thetimeStr = '0'+timeStr }
	else { thetimeStr = timeStr }
	if(!/^[0-9]{2}\:[0-9]{2}$/.test(thetimeStr))
		chkT=-1
	else
	{
	   var strHour=thetimeStr.substring(0,2);
	   var strMin=thetimeStr.substring(3,5);
	   var strTime=strHour+strMin;
	   var delimiter=thetimeStr.substring(2,3);
	   /*
	   if (strHour>maxHours || strMin>60  || delimiter!=':' || strTime>2400){
		chkT=-1;
	   }
	   */
	}
  
  if(chkT == -1)
  {
    alert("Die Uhrzeit hat ein ungültiges Format.");
    Objectives.focus();
    return 99;
  }
}

/* Überprüfen ob das übergebene Element nur Zahlen enthält */
function CheckZahl(form,element, Fehlertext)
{
  var chkZ = 1;
  Objectives=eval("document."+form+"."+element);
  for(i=0;i<Objectives.value.length;++i)
  {
     if(Objectives.value.charAt(i) < "0"
     || Objectives.value.charAt(i) > "9")
     chkZ = -1;
  }
  
  if(chkZ == -1)
  {
    alert(Fehlertext);
    Objectives.focus();
    return 99;
  }
}

/* Überprüfen ob das übergebene Element eine Telefonnummer sein könnte */
function CheckTelefon(form,element)
{
  var chkT = 1;
  Objectives=eval("document."+form+"."+element);
  for(i=0;i<Objectives.value.length;++i)
  {
     c=Objectives.value.charAt(i);
     if((c > "0" && c < "9") || c=="/" || c=="-" || c==" " || c=="+")
     chkT = 1;
	 else chkT = -1;
  }
    
  if(chkT == -1)
  {
    alert("Telefonnummer hat unerlaubte Zeichen!");
    Objectives.focus();
    return 99;
  }
}

/* Überprüfen ob das übergebene Element leer ist */
function CheckEmpty(form,element,Fehlertext)
{ 
  Objectives=eval("document."+form+"."+element);
  if(Objectives.value == "")
  {
    alert(Fehlertext);
    Objectives.focus();
    return 99;
  }
}

/* Überprüfen ob richtige Form der Email-Adresse */
function CheckMail(form,element)
{
  Objectives=eval("document."+form+"."+element);
  if (Objectives.value.match(/^[-a-zA-Z0-9_.]+@[-a-zA-Z0-9.]+\.[a-zA-Z]{2,4}$/))
  { /*return true;*/
  }
  else
  {
    alert("Keine gültige Email-Adresse!");
    Objectives.focus();
    return 99; 
  }
}

/* Überprüfen ob richtige Form des Datums */
function CheckDateGer(form,element)
{
  Objectives=eval("document."+form+"."+element);
  if (Objectives.value.match(/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/)){}
  else
  {
    alert("Datum hat falsches Format!");
    Objectives.focus();
    return 99;
  }
}


function ShowImage( picture, width, height, comment)
{
	if(comment!="") { comment="<tr><td align='left'><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">" + comment + "</font></td></tr>"; }
	if(comment!="") { comment_height=20; } else { comment_height=0; }
    content = "<html><body style='background-color:white;padding:0;margin:0' onclick='self.close()'>"
            + "<table width='100%' height='100%'>"
            + "<tr><td align='center' valign='middle'>"
            + "<img src='" + picture + "' width='" + width + "' height='" + height + "'>"
            + "</td></tr>" + comment
            + "</table>"
            + "</body></html>";
    width=width+15;
    height=height+25+comment_height;
    params  = "width=" + width + ","
            + "height=" + height + ","
            + "left=50,top=50,"
            + "menubar=no,toolbar=no,status=no";

    win = open( "", "picture", params );
    win.document.open();
    win.document.write( content );
    win.document.close();
    win.focus();
}


function CheckContact()
{
  if(CheckEmpty("frmProbe","Name","Bitte einen Nachnamen eingeben!")==99) return false;
  
  /* PLZ überprüfen */
  if(document.frmProbe.PLZ.value != "")
  { if(CheckZahl("frmProbe","PLZ", "Die Postleitzahl ist keine Zahl!")==99) return false; }

  /* Mail oder Telefon muss da sein */
  if(document.frmProbe.Mail.value == "" && document.frmProbe.Telefon.value == "")
  {
    if(CheckEmpty("frmProbe","Telefon","Es muss mindestens die Telefonnummer oder eine Email-Adresse angegeben werden!")==99) return false;
  }

  /* email überprüfen */
  if(document.frmProbe.Mail.value != "")
  { if(CheckMail("frmProbe","Mail")==99) return false; } 
}

function CheckGift()
{
  if(CheckEmpty("frmGeschenk","Nachname","Bitte einen Nachnamen eingeben!")==99) return false;
  if(CheckEmpty("frmGeschenk","Anzahl","Bitte eine Anzahl eingeben!")==99) return false;
  if(CheckEmpty("frmGeschenk","Summe","Bitte eine Summe eingeben!")==99) return false;
  
  /* PLZ überprüfen */
  if(document.frmGeschenk.PLZ.value != "")
  { if(CheckZahl("frmGeschenk","PLZ", "Die Postleitzahl ist keine Zahl!")==99) return false; }

  /* Mail oder Telefon muss da sein */
  if(document.frmGeschenk.Mail.value == "" && document.frmProbe.Telefon.value == "")
  {
    if(CheckEmpty("frmGeschenk","Telefon","Es muss mindestens die Telefonnummer oder eine Email-Adresse angegeben werden!")==99) return false;
  }

  /* email überprüfen */
  if(document.frmGeschenk.Mail.value != "")
  { if(CheckMail("frmGeschenk","Mail")==99) return false; } 
}

function CheckSweepstake()
{
  if(CheckEmpty("frmGewinnspiel","Nachname","Bitte einen Nachnamen eingeben!")==99) return false;
  
  /* PLZ überprüfen */
  if(document.frmGewinnspiel.PLZ.value != "")
  { if(CheckZahl("frmGewinnspiel","PLZ", "Die Postleitzahl ist keine Zahl!")==99) return false; }

  /* Mail oder Telefon muss da sein */
  if(document.frmGewinnspiel.Mail.value == "" && document.frmGewinnspiel.Telefon.value == "")
  {
    if(CheckEmpty("frmGewinnspiel","Telefon","Es muss mindestens die Telefonnummer oder eine Email-Adresse angegeben werden!")==99) return false;
  }

  /* email überprüfen */
  if(document.frmGewinnspiel.Mail.value != "")
  { if(CheckMail("frmGewinnspiel","Mail")==99) return false; } 
  
  /*
  if(document.frmGewinnspiel.Ichbinecht.value != "Ich bin echt") 
  {
	alert("Überprüfungstext falsch!");
	document.frmGewinnspiel.Ichbinecht.focus();
    return false;
  }
  */
}
//Copyright © 2005-2007 by Frank Becker