/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


  function closeLayer() {
    new Effect.Fade($('layer'), { duration: 0.2});
    new Effect.Fade($('overlay'), { duration: 0.2, from: 0.9, to: 0.0 });
  }

function openLayer(lname,template,server) {

        var layer_width = 840;


	//an den anfang der Seite springen
	self.scrollTo(0,0);

	hgesamt = document.getElementById('page_all').offsetHeight;

	var arrayPageSize = document.viewport.getDimensions();
  	$('overlay').setStyle({ width: arrayPageSize.width + 'px', height: hgesamt + 'px' });


        new Effect.Appear($('overlay'), { duration: 0.2, from: 0.0, to: 0.9 });

        document.getElementById("layer_content").innerHTML = '<iframe src="http://'+server+'/'+template+'" width="800" height="490" scrolling="auto"></iframe>';

        $('layer').setStyle({

  	left: parseInt((document.viewport.getWidth()-layer_width)/2)+'px',
        top: parseInt(20)+'px'
        });
	new Effect.Appear($('layer'), { duration: 0.2 });


}

        function Fensterhoehe () {
          if (window.innerHeight) {
            return window.innerHeight;
          } else if (document.body && document.body.offsetHeight) {
            return document.body.offsetHeight;
          } else {
            return 0;
          }
        }

        function neuAufbau () {
          if (Hoehe != Fensterhoehe())


            location.href = location.href;
            if (Hoehe > '984') {
                document.getElementById("tisch").style.top = ((Hoehe-984)+422)+ "px";
            }
        }



 function getSWFmain(data_xml) {

 	var so = new SWFObject("/ressources/derGugl.swf", "derGugl", "100%", "100%", "8", "#ffffff");

                                so.addVariable("dataPrePath", "/ressources/");
                                so.addVariable("dataPath", "data/xml/"+data_xml);
                                so.addVariable("yShift", "179");
                                so.addParam("wmode", "transparent");
                                so.addParam("scale", "noscale");
                                so.addParam("quality", "best");
                                so.write("flashcontent");
 	}


 function getSWFwir() {

 	var so = new SWFObject("/ressources/derGugl.swf", "derGugl", "100%", "100%", "8", "#ffffff");

                                so.addVariable("dataPrePath", "/ressources/");
                                so.addVariable("dataPath", "data/xml/data_team.xml");
                                so.addVariable("yShift", "179");
                                so.addParam("wmode", "transparent");
                                so.addParam("scale", "noscale");
                                so.addParam("quality", "best");
                                so.write("flashcontent");
 	}

 function getSWFfinder(data_xml) {

      var so = new SWFObject("/ressources/derGuglLaster.swf", "derGugl", "100%", "250px", "8", "#ffffff");

                                so.addVariable("dataPrePath", "/ressources/");
                                so.addVariable("dataPath", "data/xml/"+data_xml);
                                so.addVariable("yShift", "0");
                                so.addParam("wmode", "transparent");
                                so.addParam("scale", "noscale");
                                so.addParam("quality", "best");
                                so.write("finder_laster_overlay");

 	}
 	
 
 
 
 function EingabePruefen() {

        var pflichtfelder=new Array('anrede','ansprechpartner','adresse','ort','plz','email','fax','tel','business');
		var no_error=true;

		pflichtfelder.each( function(feld) {
			Element.setStyle('l_'+feld,{color:'#7B8289'});
			if ($F('f_'+feld)=='' || $F('f_'+feld)=='-' || (feld=='email' && !checkEmailAdr($F('f_'+feld)))) {
				Element.setStyle('l_'+feld,{color:'red'});
				new Effect.Pulsate('l_'+feld);
				no_error=false;
			}
		} );

		return no_error;
    }
  
   function AboEingabePruefen() {

        var pflichtfelder=new Array('anrede','vorname','nachname','adresse','ort','plz','email','tel');
		var no_error=true;

		pflichtfelder.each( function(feld) {
			Element.setStyle('l_'+feld,{color:'#7B8289'});
			if ($F('f_'+feld)=='' || $F('f_'+feld)=='-' || (feld=='email' && !checkEmailAdr($F('f_'+feld)))) {
				Element.setStyle('l_'+feld,{color:'red'});
				new Effect.Pulsate('l_'+feld);
				no_error=false;
			}
		} );

		return no_error;
    }
  
    
  function EingabeLoginPruefen() {

        var pflichtfelder=new Array('user','pass');
		var no_error=true;

		pflichtfelder.each( function(feld) {
			Element.setStyle('l_'+feld,{color:'#7B8289'});
			if ($F('f_'+feld)=='' || $F('f_'+feld)=='-' || (feld=='user' && !checkEmailAdr($F('f_'+feld)))) {
				Element.setStyle('l_'+feld,{color:'red'});
				new Effect.Pulsate('l_'+feld);
				no_error=false;
			}
		} );

		return no_error;
    }
    
   function EingabeLPPruefen() {

        var pflichtfelder=new Array('email-address');
		var no_error=true;

		pflichtfelder.each( function(feld) {
			Element.setStyle('l_'+feld,{color:'#7B8289'});
			if ($F('f_'+feld)=='' || $F('f_'+feld)=='-' || (feld=='email-address' && !checkEmailAdr($F('f_'+feld)))) {
				Element.setStyle('l_'+feld,{color:'red'});
				new Effect.Pulsate('l_'+feld);
				no_error=false;
			}
		} );

		return no_error;
    }  
       

  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 ;

  }
