// Diese Routinen sind urheberrechtlich geschuetzt !
// Copyright (c) 1999 Marcus Walther, Daniel Kyak 

// Fremde Verwendung nur zulaessig, wenn dieser Hinweis nicht entfernt wird ! 
// Dies gilt auch bei minimalen Aenderungen am Programmcode !

// Selbst programmieren macht gluecklich ! Eine gute Hilfe ist dabei die SelfHTML Dokumentation von Stefan Muenz !
// Abruf unter http://www.teamone.de/selfhtml/

if(top.frames.length > 0)
    top.location.href=self.location;

var netscape = (( navigator.appName == "Netscape" ) && ( parseInt ( navigator.appVersion.substring(0,1) ) >= 3 ));
var iexplorer = (( navigator.appName == "Microsoft Internet Explorer") && ( parseInt ( navigator.appVersion ) >= 4 ) );

var scriptok = (netscape || iexplorer);

function Go(x)
{
  if(x == "nichts")
  {
    document.forms[0].reset();
    document.forms[0].elements[0].blur();
    return;
  }
  else
  {
    document.location.href = x;
    document.forms[0].reset();
    document.forms[0].elements[0].blur();
  }
}

function TestHost()
{
/*  if  (window.location.hostname.toLowerCase().search(/doebelnerlebe/) != -1)
  {
    window.location.replace("doebeln.html");
    return;
  }*/

  if  (window.location.hostname.toLowerCase().search(/in-mittelsachsen.de/) != -1)
  {
    window.location.replace("http://www.inmittelsachsen.de/");
    return;
  }

  if  (window.location.hostname.toLowerCase().search(/faustmannswelt.de/) != -1)
  {
    window.location.replace("faustmann/");
    return;
  }

  if  (window.location.hostname.toLowerCase().search(/jeanswelt.de/) != -1)
  {
    window.location.replace("shop/");
    return;
  }

  if  (window.location.hostname.toLowerCase().search(/jackewiehose.de/) != -1)
  {
    window.location.replace("shop/");
    return;
  }

  //window.location.replace("index0.html");
  return;
}

function NewsFenster(url, name)
{
  Nachricht = window.open(url, "Fenster" , "width=350,height=480,scrollbars");
}

function FensterAuf(name, url, breite, hoehe)
{
  name = window.open(url, name , "width="+breite+",height="+hoehe+",scrollbars");
}

function FormularTest()
{
	if(document.AnzeigenAufgabe.titel.value == "") 
	{ 
		alert("Bitte einen Anzeigentitel angeben !"); 
		document.AnzeigenAufgabe.titel.focus(); 
		return false; 
	} 
	if(document.AnzeigenAufgabe.text.value == "") 
	{ 
		alert("Sie muessen schon einen Anzeigentext eingeben !"); 
		document.AnzeigenAufgabe.text.focus(); 
		return false; 
	} 
	if(document.AnzeigenAufgabe.vorname.value == "") 
	{ 
		alert("Bitte geben Sie Ihren Vornamen an !"); 
		document.AnzeigenAufgabe.vorname.focus(); 
		return false; 
	} 
	if(document.AnzeigenAufgabe.name.value == "") 
	{ 
		alert("Bitte geben Sie Ihren Namen an !"); 
		document.AnzeigenAufgabe.name.focus(); 
		return false; 
	} 
	if(document.AnzeigenAufgabe.email.value == "") 
	{ 
		alert("Bitte geben Sie Ihre Emailadresse an !"); 
		document.AnzeigenAufgabe.email.focus(); 
		return false; 
	} 
	if (!checkEmail(document.AnzeigenAufgabe.email.value, false))
	{
		alert("Bitte geben Sie eine gueltige Emailadresse an !"); 
		document.AnzeigenAufgabe.email.focus(); 
		return false; 
	}
	//FensterAuf('anzeige','',640,400);
	//document.AnzeigenAufgabe.host.value = 'JS TEST OK';
	return true;
}

/*
  Copyright Lutz Eymers <ixtab@polzin.com>, 1997
  Polzin GmbH, Duesseldorf
*/

function isDigit( ch )
{
  if ( (ch >= '0') && (ch <= '9') )
    return true;
  else
    return false;
}

function isAlpha( ch )
{
  if ( ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) )
    return true;
  else
    return false;
}

function isAlnum( ch )
{
  if ( isAlpha( ch ) || isDigit( ch ) )
    return true;
  else
    return false;
}

function notIn( str1, str2 )
{
  var i = 0;
  var j = str2.length; 
  for( ; i<j; i++ )
  {
    var str3 =  str2.charAt(i);
    if( str1.indexOf( str3 ) != -1 )
      return false;
  }
  return true;
}
  
function checkUsername( username, mustBeQuoted )
{
  var i = 0;
  var j = username.length;
  if ( username.charAt(0) != '"' )
  {
    if ( (username.charAt(0) <  ' ') || (username.charAt(0) >  '~')
          || !notIn( mustBeQuoted, username.charAt(0) ) )
      return false;
    for( i=1; i<j; i++ )
    {
      if ( ( (username.charAt(i) < ' ') || (username.charAt(i) >  '~')
            || !notIn ( mustBeQuoted, username.charAt(i) ) )
           && ( username.charAt(i-1) != '\\' ) )
        return false;
    }  
  }
  else
  {
    if ( username.charAt( j-1 ) != '"' )
      return false;
    for( i=1; i<j-1; i++ )
    {
      if ( ( (username.charAt(i) == '\n') || (username.charAt(i) == '\r')
            || (username.charAt(i) == '\"') )
          && (username.charAt(i-1) != '\\') )
        return false;
    }  
  }
  return true;
}
  
function checkNr ( nr )
{
  var i=0;
  var j=nr.length;

  if( j < 1 )
    return false;

  for( ; i<j; i++ )
    if( ( nr.charAt(i) < '0' ) || ( nr.charAt(i) > '9' ) )
      return false;

  return true;
}

function checkIpnr( ipnr )
{
  var iL=0;
  var iC=0;
  var i=0;
  var sNr = "";

  for( ; i< ipnr.length; i++ )
  {
    if ( ipnr.charAt(i) == '.' )
    {
      if ( !iL || (iL> 3) || parseInt( sNr,10 ) > 255 )
        return false;
      iC++;
      iL = 0; 
      sNr = "";
      continue;
    }
    if ( isDigit ( ipnr.charAt(i) ) )
    {
      iL++;
      sNr = sNr + ipnr.charAt(i);
      continue;
    }
    return false;
  }

  if ( parseInt( sNr,10 ) > 255 )
    return false;
  if ( ( (iC==3) && (iL>=1) && (iL<=3) ) || ( (iC==4) && (!iL) )  )
    return true;
  else
    return false;
}

function checkFqdn( fqdn )
{
  var iL=0;
  var iC=0;
  var i=fqdn.length-1;

  if ( (fqdn.charAt(0) == '.') || (fqdn.charAt(0) == '-') )
    return false;
  if ( fqdn.charAt(i) == '.' )
    i=i-1;

  for( ; i>=0; i-- )
  {
    if ( fqdn.charAt(i) == '.' )
    {
      if ( iL < 2 && iC < 2 ) 
        return false;
      if ( fqdn.charAt(i-1) == '-' )
        return false;
      iC++;
      iL = 0; 
      continue;
    }
    if ( isAlnum ( fqdn.charAt(i) ) )
    {
      iL++;
      continue;
    }
    if ( fqdn.charAt(i) == '-' )
    {
      if ( !iL )
        return false; 
      iL++;
      continue;
    }
    return false;
  }

  if ( !iC || ( iL == 1 && iC < 2 ) || ( !iL && iC==1 ) ) {
    return false;
  }

  return true;
}
  
  
function checkHostname( hostname )
{
  if ( hostname.charAt(0) == '[' )
  {
    if ( hostname.charAt(hostname.length-1) != ']' )
      return false;
    var ipnr = hostname.substring( 1, hostname.length -1 );
      return checkIpnr( ipnr );
  }

  if ( hostname.charAt(0) == '#' )
  {
    var nr = hostname.substring( 1, hostname.length );
      return checkNr( nr );
  }

  return checkFqdn( hostname );
}

function checkEmailAdr( address )
{
  var status = true;
  var username = "";
  var hostname = "";

  if ( address.length < 8 )
    return false;

  var seperate = address.lastIndexOf("@");
  if ( seperate == -1 ) 
    return false;

  username = address.substring(0, seperate );
  if ( ! checkUsername( username, "<>()[],;:@\" " ) )
    return false;

  hostname = address.substring(seperate+1, address.length ); 
  if ( ! checkHostname( hostname ) )
    return false;
  
  return true;
}

function checkEmail( email, allowFullname )
{
  var existFullname = false;
  var status = true;
  var fullname = "";
  var adress = "";
  if ( email.length < 8 )
    return false;
  var emailBegin = email.indexOf("<");
  var emailEnd = email.lastIndexOf(">");
  
  if ( (emailBegin == -1) && (emailEnd == -1) )
    return checkEmailAdr( email );

  if ( ( (emailBegin == -1) && (emailEnd != -1) ) 
      || ( (emailBegin != -1) && (emailEnd == -1) ) )
    return false;
 
  adress = email.substring( emailBegin+1, emailEnd );

  if ( ! checkEmailAdr( adress ) )
    return false;
    
  if ( email.length == adress.length + 2 )
    return true;  
  else
    if ( ! allowFullname )
      return false;

  if ( emailEnd == email.length - 1 )
  {
    if ( emailBegin == 0 )
      return true;
    if ( email.charAt( emailBegin -1 ) != ' ' )
      return false;
    fullname = email.substring( 0, emailBegin-1 );
    return checkUsername ( fullname, "<>()[],;:@\"" );
  }

  return false ;

}

