//----------------------------------------------------------------------------//
// AstroSERV API                                                              //
// -------------------------------                                            //
// asvStdC = new asvStandardClass()                                           //
// -------------------------------                                            //
// Author: G. Happel                                                          //
// Copyright © by AstroSERV.com                                               //
//----------------------------------------------------------------------------//
/*
asvStdC.el( vsId )
asvStdC.createEl( vsName )
asvStdC.appendEl( vDest , vNew )
asvStdC.creappEl( vDest , vsName )
asvStdC.creappTn( vDest , vsText )
asvStdC.centerInBrowser( vElement , viOffsetY )
asvStdC.trim( vsText )
asvStdC.strReplace( vsSearch , vsReplace , vsSubject )
asvStdC.viewElement( vID )
asvStdC.hideElement( vID )
asvStdC.dispElementBlock( vID )
asvStdC.dispElementInline( vID )
asvStdC.dispElementNone( vID )
asvStdC.elementSetReadonly( vID )
asvStdC.elementUnsetReadonly( vID )
asvStdC.elementDisable( vID )
asvStdC.elementEnable( vID )
asvStdC.domTreeDelete( voRoot )
asvStdC.getWindowWidth()
asvStdC.getWindowHeight()
asvStdC.getElementPos( vElement )
asvStdC.getBrowserDim()
asvStdC.requestInit()
asvStdC.checkAjax()
asvStdC.doHTTPRequest( vsParameter , vsPHPRequestFile , vsRequestMethod , vbAsynchron , vsOnReadyStateFunc )
asvStdC.delEventFromEventList( vsEvent )
asvStdC.addEventToEventList( vsEvent )
asvStdC.checkKeyEvent( voEreignis )
asvStdC.getCookieList()
asvStdC.getCookieString( vsName )
asvStdC.setCookie( vsName , vsValue , viDays )
asvStdC.deleteCookie( vsName )
asvStdC.getQueryList()
asvStdC.getQueryString( vsName )
asvStdC.getQueryStringUC( vsName )
asvStdC.getQueryStringLC( vsName )
asvStdC.setOpacity( vElement , viOpac )
asvStdC.setBlendEl( varrElementBlendList , vStep , vTime , vsBlendEndFunc )
asvStdC.blendEl()
asvStdC.desktopCreate( vDest , vsMainId , vsBodyId , vsHeadlineId , vsFootlineId , vbHidden , viWidth , vsPosition , viZIndex , voDesign )
asvStdC.getIMGLoaderImageURL()
asvStdC.getSILoaderImageURL()
asvStdC.isIE()
asvStdC.isDOM()
asvStdC.checkInput( vsInput , vsCheckMode )
*/
//----------------------------------------------------------------------------//
function $( vsId )
{
  if ( "string" != typeof( vsId ) )
    return false;
  if ( 0 == vsId.length )
    return false;
  if ( null != document.getElementById( vsId ) )
    return document.getElementById( vsId );
  if ( null != document.getElementsByTagName( vsId )[0] )
    return document.getElementsByTagName( vsId );
  if ( null != document.getElementsByName( vsId )[0] )
    return document.getElementsByName( vsId );
  return false;
}

varrAsvKeyEventList           = new Array();

function asvStandardClass()
{
  // Loader-Images
  this.vsSILoaderImageURL     = "http://astroserv.com/images/loader-small-red.gif";
  this.vsIMGLoaderImageURL    = "http://astroserv.com/images/loader-small-red.gif";
  // Liste für Query-Strings
  this.voQuery                = false;
  // Liste für Cookies
  this.voCookie               = false;
  // Liste für Blend-Objekte
  this.voBlendList            = false;
  this.c_BlendUp              = 1;
  this.c_BlendDown            = 2;
  // Browserweiche
  this.vbIE                   = ( "undefined" != typeof( document.all ) ) && ( "undefined" == typeof( window.opera ) );
  this.vbDOM                  = ( "undefined" != typeof( document.getElementById ) ) && ( false === this.vbIE );
  // Tastaturcode-Konstanten
  this.c_T_ESC                = 27;
  this.c_T_RETURN             = 13;
  this.c_T_SPACE              = 32;
  this.c_T_BSPACE             = 8;
  this.c_T_TAB                = 9;
  this.c_T_RIGHT              = 39;
  this.c_T_LEFT               = 37;
  this.c_T_UP                 = 38;
  this.c_T_DOWN               = 40;
  // Input-Check-Konstanten
  this.cs_ICM_EMail           = 1;
  this.cs_ICM_Vorname         = 2;
  this.cs_ICM_Nachname        = 3;
  this.cs_ICM_Strasse         = 4;
  this.cs_ICM_Hausnummer      = 5;
  this.cs_ICM_Ort             = 6;
  // Direkt auf ein Element mit id zugreifen
  this.el = function( vsId )
  {
    if ( "string" != typeof( vsId ) )
    return false;
    if ( 0 == vsId.length )
    return false;
    if ( null != document.getElementById( vsId ) )
    return document.getElementById( vsId );
    if ( null != document.getElementsByTagName( vsId )[0] )
    return document.getElementsByTagName( vsId );
    if ( null != document.getElementsByName( vsId )[0] )
    return document.getElementsByName( vsId );
    return false;
  }
  // Element erzeugen
  this.createEl = function( vsName )
  {
    if ( "string" != typeof( vsName ) )
    return false;
    var vNew = document.createElement( vsName );
    return vNew;
  }
  // Element in DOM-Baum einfügen
  this.appendEl = function( vDest , vNew )
  {
    vDest.appendChild( vNew );
    return vNew;
  }
  // Element erzeugen und sofort in DOM-Baum einfügen
  this.creappEl = function( vDest , vsName )
  {
    if ( "string" != typeof( vsName ) )
    return false;
    var vNew = document.createElement( vsName );
    vDest.appendChild( vNew );
    return vNew;
  }
  // Text-Knoten erzeugen und sofort in DOM-Baum einfügen
  this.creappTn = function( vDest , vsText )
  {
    if ( "string" != typeof( vsText ) )
    return false;
    var vNew = document.createTextNode( vsText );
    vDest.appendChild( vNew );
    return vNew;
  }
  // Absolut positioniertes Element in der Browsermitte positionieren
  this.centerInBrowser = function( vElement , viOffsetY )
  {
    var voBody = this.el( "body" )[0];
    if ( "string" == typeof( vElement ) )
      var voElement = this.el( vElement );
    else
      var voElement = vElement;
    var dim     = this.getBrowserDim();
    var centerX = ( dim.width  / 2 );
    var centerY = ( dim.height / 2 );
    var viScrollPositionLeft = voBody.scrollLeft;
    var viScrollPositionTop  = voBody.scrollTop;
    var posX    = Math.round( viScrollPositionLeft + centerX - ( voElement.offsetWidth  / 2 ));
    var posY    = Math.round( viScrollPositionTop  + centerY - ( voElement.offsetHeight / 2 ));
    if ( null != viOffsetY )
    posY = posY - viOffsetY;
    voElement.style.left = posX + "px";
    voElement.style.top  = posY + "px";
  }
  // Leerzeichen am Anfang und am Ende eines String entfernen
  this.trim = function( vsText )
  {
    if ( vsText.length > 0 )
    {
      while ( ( 32 == vsText.charCodeAt( 0 ) )
      ||      ( 10 == vsText.charCodeAt( 0 ) )
      ||      ( 13 == vsText.charCodeAt( 0 ) ) )
      vsText = vsText.substring( 1 , vsText.length );
      while ( ( 32 == vsText.charCodeAt( vsText.length - 1 ) )
      ||      ( 10 == vsText.charCodeAt( vsText.length - 1 ) )
      ||      ( 13 == vsText.charCodeAt( vsText.length - 1 ) ) )
      vsText = vsText.substring( 0 , vsText.length - 1 );
    }
    return vsText;
  }
  // String-Replace
  this.strReplace = function( vsSearch , vsReplace , vsSubject )
  {
    return vsSubject.split( vsSearch ).join( vsReplace );
  }
  // Element anzeigen
  this.viewElement = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           ) )
    {
      vID.style.visibility = "visible";
      return true;
    }
    return false;
  }
  // Element verbergen
  this.hideElement = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           ) )
    {
      vID.style.visibility = "hidden";
      return true;
    }
    return false;
  }
  // Element als Block anzeigen
  this.dispElementBlock = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           ) )
    {
      vID.style.display = "block";
      return true;
    }
    return false;
  }
  // Element als Inline anzeigen
  this.dispElementInline = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           ) )
    {
      vID.style.display = "inline";
      return true;
    }
    return false;
  }
  // Element verbergen
  this.dispElementNone = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           ) )
    {
      vID.style.display = "none";
      return true;
    }
    return false;
  }
  // Formular-Element readonly setzen
  this.elementSetReadonly = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           )
    &&   ( ( "INPUT" === vID.nodeName  ) || ( "SELECT" === vID.nodeName  ) || ( "TEXTAREA" === vID.nodeName  ) ) )
    {
      vID.readonly = true;
      return true;
    }
    return false;
  }
  // Formular-Element readwrite setzen
  this.elementUnsetReadonly = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           )
    &&   ( ( "INPUT" === vID.nodeName  ) || ( "SELECT" === vID.nodeName  ) || ( "TEXTAREA" === vID.nodeName  ) ) )
    {
      vID.readonly = false;
      return true;
    }
    return false;
  }
  // Formular-Element disabeln
  this.elementDisable = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           )
    &&   ( ( "INPUT" === vID.nodeName  ) || ( "SELECT" === vID.nodeName  ) || ( "TEXTAREA" === vID.nodeName  ) ) )
    {
      vID.disabled = true;
      return true;
    }
    return false;
  }
  // Formular-Element enabeln
  this.elementEnable = function( vID )
  {
    if ( "string" == typeof( vID ) )
    vID = this.el( vID );
    if ( ( "undefined" !=  typeof( vID ) )
    &&   ( false       !== vID           )
    &&   ( ( "INPUT" === vID.nodeName  ) || ( "SELECT" === vID.nodeName  ) || ( "TEXTAREA" === vID.nodeName  ) ) )
    {
      vID.disabled = false;
      return true;
    }
    return false;
  }
  // Dom-Baum (innerhalb voRoot) löschen
  this.domTreeDelete = function( voRoot )
  {
    for ( var i = ( voRoot.childNodes.length - 1 ) ; i >= 0 ; i-- )
    {
      if ( true === voRoot.childNodes[i].hasChildNodes() )
      this.domTreeDelete( voRoot.childNodes[i] );
      voRoot.removeChild( voRoot.childNodes[i] );
    }
  }
  // Breite des Anzeigebereiches auslesen
  this.getWindowWidth = function()
  {
    if ( window.innerWidth )
    return window.innerWidth;
    if ( ( document.body             )
    &&   ( document.body.offsetWidth ) )
    return document.body.offsetWidth;
    return 0;
  }
  // Höhe des Anzeigebereiches auslesen
  this.getWindowHeight = function()
  {
    if ( window.innerHeight )
    return window.innerHeight;
    if ( ( document.body )
    &&   ( document.body.offsetHeight ) )
    return document.body.offsetHeight;
    return 0;
  }
  // Position eine Elementes relativ zum Body ermitteln
  this.getElementPos = function( vElement )
  {
    if ( "string" == typeof( vElement ) )
      var voElement = this.el( vElement );
    else
      var voElement = vElement;
    var voElementPos = new Object( { left:0 , top:0 } );
    if ( ( "undefined" ==  typeof( voElement ) )
    ||   ( false       === voElement           ) )
    return voElementPos;
    if ( "undefined" != typeof( voElement.offsetLeft ) )
    {
      while ( voElement )
      {
        voElementPos.left += voElement.offsetLeft;
        voElementPos.top  += voElement.offsetTop;
        voElement          = voElement.offsetParent;
      }
    }
    else
    {
      voElementPos.left = voElement.left;
      voElementPos.top  = voElement.top;
    }
    return voElementPos;
  }
  // Dimension des Anzeigebereiches auslesen
  this.getBrowserDim = function()
  {
    var voBrowserDim = new Object( { width:0 , height:0 } );
    // alle ausser Explorer
    if ( window.innerHeight )
    {
      voBrowserDim.width  = window.innerWidth;
      voBrowserDim.height = window.innerHeight;
    }
    else
    {
      // Explorer 6 Strict Mode
      if ( ( document.documentElement              )
      &&   ( document.documentElement.clientHeight ) )
      {
        voBrowserDim.width  = document.documentElement.clientWidth;
        voBrowserDim.height = document.documentElement.clientHeight;
      }
      else
      {
        // andere IE
        if ( document.body )
        {
          voBrowserDim.width  = document.body.clientWidth;
          voBrowserDim.height = document.body.clientHeight;
        }
      }
    }
    return voBrowserDim;
  }
  // Request initialisieren
  this.requestInit = function()
  {
    var iRequest = null;
    if ( "undefined" != typeof( XMLHttpRequest ) )
    {
      iRequest = new XMLHttpRequest();
      if ( ( null != iRequest                  )
      &&   ( null != iRequest.overrideMimeType ) )
      iRequest.overrideMimeType( "text/xml" );
    }
    if ( null == iRequest )
    {
      // Internet Explorer 6 und älter
      try
      {
        iRequest = new ActiveXObject( "Msxml2.XmlHTTP" );
      }
      catch(e)
      {
        try
        {
          iRequest  = new ActiveXObject( "Microsoft.XmlHTTP" );
        }
        catch(e)
        {
        }
      }
    }
    if ( null == iRequest )
    return false;
    return iRequest;
  }
  // Testen, ob Ajax-Funktionalität vorhanden
  this.checkAjax = function()
  {
    if ( false === this.requestInit() )
      return false;
    else
      return true;
  }
  // Request senden
  this.doHTTPRequest = function( vsParameter , vsPHPRequestFile , vsRequestMethod , vbAsynchron , vsOnReadyStateFunc )
  {
    var voRequest = this.requestInit();
    if ( false === voRequest )
      return false;
    if ( ( "string" == typeof( vsOnReadyStateFunc ) )
    &&   ( 0        <  vsOnReadyStateFunc.length ) )
      voRequest.onreadystatechange = new Function( vsOnReadyStateFunc );
    // Request eröffnen
    voRequest.open( vsRequestMethod , vsPHPRequestFile , vbAsynchron );
    // Request-Header setzen
    voRequest.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded;charset=utf-8" );
    // Request senden
    voRequest.send( vsParameter );
    // Request-Status O.K.?
    if ( ( "string" == typeof( vsOnReadyStateFunc ) )
    &&   ( 0        <  vsOnReadyStateFunc.length ) )
    {
      return voRequest;
    }
    else
    {
      if ( ( voRequest.readyState != 4 )
      ||   ( voRequest.status     != 200 ) )
        return false;
      var voResponse     = new Object();
      voResponse["XML"]  = voRequest.responseXML;
      voResponse["Text"] = voRequest.responseText;
      return voResponse;
    }
  }
  // Event aus Event-Liste entfernen
  this.delEventFromEventList = function( vsEvent )
  {
    var varrNew = new Array();
    for ( var i = 0 ; i < varrAsvKeyEventList.length ; i++ )
    {
      if ( vsEvent != varrAsvKeyEventList[i] )
      varrNew.push( varrAsvKeyEventList[i] );
    }
    varrAsvKeyEventList = varrNew;
  }
  // Event zu Event-Liste hinzufügen
  this.addEventToEventList = function( vsEvent )
  {
    for ( var i = 0 ; i < varrAsvKeyEventList.length ; i++ )
    {
      if ( vsEvent == varrAsvKeyEventList[i] )
      return false;
    }
    varrAsvKeyEventList.push( vsEvent );
  }
  // Event bei Tastatureingabe
  this.checkKeyEvent = function( voEreignis )
  {
    var viKeyCode = 0;
    if ( !voEreignis )
    voEreignis = window.event;
    if ( voEreignis.which )
      viKeyCode = voEreignis.which;
    else
    if ( voEreignis.keyCode )
      viKeyCode = voEreignis.keyCode;
    else
      return false;
    if ( "number" != typeof( viKeyCode ) )
    return false;
    for ( var i = 0 ; i < varrAsvKeyEventList.length ; i++ )
    eval( varrAsvKeyEventList[i] + "( viKeyCode )" );
  }
  // Cookies auslesen
  this.getCookieList = function()
  {
    if ( false !== this.voCookie )
      return this.voCookie;
    this.voCookie = new Object();
    if ( "string" != typeof( document.cookie ) )
      return false;
    var vsCookie = document.cookie;
    if ( 0 < vsCookie.length )
    {
      var varrSplit = vsCookie.split( ";" );
      for ( var i = 0 ; i < varrSplit.length ; i++ )
      {
        varrSplit[i] = varrSplit[i].strTrim();
        if ( 0 < varrSplit[i].length )
        {
          var vsName         = "";
          var vsWert         = "";
          var viSearchResult = varrSplit[i].search( "=" );
          if ( -1 == viSearchResult )
          {
            vsName = varrSplit[i];
          }
          else
          {
            vsName = varrSplit[i].substr( 0 , viSearchResult );
            vsWert = varrSplit[i].substr( viSearchResult + 1 );
          }
          this.voCookie[vsName] = vsWert;
        }
      }
      return this.voCookie;
    }
  }
  // Cookie-String holen
  this.getCookieString = function( vsName )
  {
    if ( "string" != typeof( vsName ) )
    return false;
    if ( "undefined" == typeof( this.voCookie[vsName] ) )
    return false;
    return this.voCookie[vsName];
  }
  // Cookie setzen
  this.setCookie = function( vsName , vsValue , viDays )
  {
    if ( ( "string" == typeof( vsName  ) )
    &&   ( "string" == typeof( vsValue ) ) )
    {
      var vsExpires = "";
      if ( "number" == typeof( viDays ) )
      {
        var voDate = new Date();
        voDate.setTime( voDate.getTime() + ( viDays * 24 * 60 * 60 * 1000 ) );
        vsExpires = "; expires=" + voDate.toGMTString();
      }
      document.cookie = vsName + "=" + vsValue + vsExpires + "; path=/";
    }
  }
  // Cookie löschen
  this.deleteCookie = function( vsName )
  {
    if ( ( "string" == typeof( vsName ) )
    &&   ( 0        <  vsName.length    ) )
    this.setCookie( vsName , "" , -1 );
  }
  // Query-String auslesen
  this.getQueryList = function()
  {
    if ( false !== this.voQuery )
    return this.voQuery;
    this.voQuery           = new Object();
    this.voQuery.lowerCase = new Object();
    this.voQuery.upperCase = new Object();
    var vsGET = document.location.search.substr( 1 , document.location.search.length );
    if ( "" != vsGET )
    {
      var varrSplit1 = vsGET.split( "&" );
      for ( var i = 0 ; i < varrSplit1.length ; i++ )
      {
        if ( 0 < varrSplit1[i].length )
        {
          var vsName         = "";
          var vsWert         = "";
          var viSearchResult = varrSplit1[i].search( "=" );
          if ( -1 == viSearchResult )
            vsName = varrSplit1[i];
          else
          {
            vsName              = varrSplit1[i].substr( 0 , viSearchResult );
            vsWert              = varrSplit1[i].substr( viSearchResult + 1 );
          }
          this.voQuery[vsName]                         = vsWert;
          this.voQuery.lowerCase[vsName.toLowerCase()] = vsWert;
          this.voQuery.upperCase[vsName.toUpperCase()] = vsWert;
        }
      }
    }
    return this.voQuery;
  }
  // Query-String holen
  this.getQueryString = function( vsName )
  {
    if ( ( null     == this.voQuery     )
    ||   ( "string" != typeof( vsName ) )
    ||   ( 0        == vsName.length    ) )
    return false;
    if ( "string" != typeof( this.voQuery[vsName] ) )
    return false;
    return this.voQuery[vsName];
  }
  // Query-String holen ( UpperCase )
  this.getQueryStringUC = function( vsName )
  {
    if ( ( null     == this.voQuery     )
    ||   ( "string" != typeof( vsName ) )
    ||   ( 0        == vsName.length    ) )
    return false;
    if ( ( "object" != typeof( this.voQuery.upperCase         ) )
    ||   ( "string" != typeof( this.voQuery.upperCase[vsName] ) ) )
    return false;
    return this.voQuery.upperCase[vsName];
  }
  // Query-String holen ( LowerCase )
  this.getQueryStringLC = function( vsName )
  {
    if ( ( null     == this.voQuery     )
    ||   ( "string" != typeof( vsName ) )
    ||   ( 0        == vsName.length    ) )
    return false;
    if ( ( "object" != typeof( this.voQuery.lowerCase         ) )
    ||   ( "string" != typeof( this.voQuery.lowerCase[vsName] ) ) )
    return false;
    return this.voQuery.lowerCase[vsName];
  }
  // Transparenz für Element setzen
  this.setOpacity = function( vElement , viOpac )
  {
    if ( "undefined" == typeof( vElement ) )
    return false;
    if ( "string" == typeof( vElement ) )
    vElement = this.el( vElement );
    var viOpacity               = viOpac / 100;
    vElement.style.opacity      = viOpacity;
    vElement.style.filter       = "Alpha(opacity=" + viOpac + ")";
    vElement.style.filter       = "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + viOpac + ")";
    vElement.style.MozOpacity   = viOpacity;
    vElement.style.KhtmlOpacity = viOpacity;
  }
  // Element zur Blend-Liste hinzufügen
  this.setBlendEl = function( varrElementBlendList , vStep , vTime , vsBlendEndFunc )
  {
    if ( "undefined" == typeof( varrElementBlendList ) )
    return false;
    if ( false === this.voBlendList )
    this.voBlendList = new Object();
    this.voBlendList.vCurrentValue        = 0;
    this.voBlendList.varrElementBlendList = varrElementBlendList;
    if ( "undefined" == typeof( vStep ) )
      this.voBlendList.vStepValue = 2;
    else
      this.voBlendList.vStepValue = vStep;
    if ( "undefined" == typeof( vTime ) )
      this.voBlendList.vTimeValue = 50;
    else
      this.voBlendList.vTimeValue = vTime;
    if ( "string" != typeof( vsBlendEndFunc ) )
      this.voBlendList.vsBlendEndFunc = false;
    else
      this.voBlendList.vsBlendEndFunc = vsBlendEndFunc;
    return true;
  }
  // Element ein- bzw. ausblenden
  this.blendEl = function()
  {
    if ( false === this.voBlendList )
    return false;
    for ( var i = 0 ; i < this.voBlendList.varrElementBlendList.length ; i++ )
    {
      var vElement = this.voBlendList.varrElementBlendList[i].vElement;
      if ( null != vElement )
      {
        var vDirection    = this.voBlendList.varrElementBlendList[i].vDirection;
        var vCurrentValue = this.voBlendList.vCurrentValue;
        if ( this.c_BlendDown == vDirection )
          vCurrentValue = ( 100 - vCurrentValue );
        this.setOpacity( vElement , vCurrentValue );
      }
    }
    this.voBlendList.vCurrentValue = this.voBlendList.vCurrentValue + this.voBlendList.vStepValue;
    if ( 100 < this.voBlendList.vCurrentValue )
    {
      var vsBlendEndFunc = this.voBlendList.vsBlendEndFunc;
      this.voBlendList = false;
      if ( false !== vsBlendEndFunc )
      eval( vsBlendEndFunc );
      return false;
    }
    setTimeout( "asvStdC.blendEl()" , this.voBlendList.vTimeValue );
    return true;
  }
  // Desktop erzeugen
  this.desktopCreate = function( vDest , vsMainId , vsBodyId , vsHeadlineId , vsFootlineId , vbHidden , viWidth , vsPosition , viZIndex , voDesign )
  {
    if ( "string" == typeof( vDest ) )
    vDest = this.el( vDest );
    if ( false === vDest )
    return false;
    if ( "object" != typeof( vDest ) )
    return false;
    var voNewDesk = this.createEl( "div" );
    if ( ( "boolean" ==  typeof( vbHidden ) )
    &&   ( true      === vbHidden           ) )
    voNewDesk.style.visibility = "hidden";
    if ( "number" == typeof( viWidth ) )
    voNewDesk.style.width = viWidth + "px";
    if ( "string" ==  typeof( vsPosition ) )
    voNewDesk.style.position = vsPosition;
    if ( "number" ==  typeof( viZIndex ))
    voNewDesk.style.zIndex = viZIndex;
    if ( "string" == typeof( vsMainId ) )
    voNewDesk.id = vsMainId;
    this.appendEl( vDest , voNewDesk );
    var voTopLeft                   = this.createEl( "div" );
    voTopLeft.style.background      = "url(" + voDesign.TopLeft + ") no-repeat left";
    this.appendEl( voNewDesk , voTopLeft );
    var voTopRight                  = this.createEl( "div" );
    voTopRight.style.background     = "url(" + voDesign.TopRight + ") no-repeat right";
    this.appendEl( voTopLeft , voTopRight );
    var voTopCenter                 = this.createEl( "div" );
    voTopCenter.style.background    = "url(" + voDesign.TopCenter + ") repeat-x";
    voTopCenter.style.margin        = "0 14px";
    voTopCenter.style.height        = "14px";
    this.appendEl( voTopRight , voTopCenter );
    if ( "string" == typeof( vsHeadlineId ) )
    {
      var voHeadlineLeft                  = this.createEl( "div" );
      voHeadlineLeft.style.background     = "url(" + voDesign.HeadlineLeft + ") repeat-y left";
      this.appendEl( voNewDesk , voHeadlineLeft );
      var voHeadlineRight                 = this.createEl( "div" );
      voHeadlineRight.style.background    = "url(" + voDesign.HeadlineRight + ") repeat-y right";
      this.appendEl( voHeadlineLeft , voHeadlineRight );
      var voHeadlineCenter                = this.createEl( "div" );
      voHeadlineCenter.style.background   = "url(" + voDesign.HeadlineCenter + ")";
      voHeadlineCenter.style.margin       = "0 14px";
      voHeadlineCenter.id                 = vsHeadlineId;
      this.appendEl( voHeadlineRight , voHeadlineCenter );
    }
    var voCenterLeft                = this.createEl( "div" );
    voCenterLeft.style.background   = "url(" + voDesign.CenterLeft + ") repeat-y left";
    this.appendEl( voNewDesk , voCenterLeft );
    var voCenterRight               = this.createEl( "div" );
    voCenterRight.style.background  = "url(" + voDesign.CenterRight + ") repeat-y right";
    this.appendEl( voCenterLeft , voCenterRight );
    var voCenterCenter              = this.createEl( "div" );
    voCenterCenter.style.background = "url(" + voDesign.CenterCenter + ")";
    voCenterCenter.style.margin     = "0 14px";
    this.appendEl( voCenterRight , voCenterCenter );
    var voDeskBody                  = this.createEl( "div" );
    if ( "string" == typeof( vsBodyId ) )
    voDeskBody.id = vsBodyId;
    this.appendEl( voCenterCenter , voDeskBody );
    if ( "string" == typeof( vsFootlineId ) )
    {
      var voFootlineLeft                  = this.createEl( "div" );
      voFootlineLeft.style.background     = "url(" + voDesign.FootlineLeft + ") repeat-y left";
      this.appendEl( voNewDesk , voFootlineLeft );
      var voFootlineRight                 = this.createEl( "div" );
      voFootlineRight.style.background    = "url(" + voDesign.FootlineRight + ") repeat-y right";
      this.appendEl( voFootlineLeft , voFootlineRight );
      var voFootlineCenter                = this.createEl( "div" );
      voFootlineCenter.style.background   = "url(" + voDesign.FootlineCenter + ")";
      voFootlineCenter.style.margin       = "0 14px";
      voFootlineCenter.id                 = vsFootlineId;
      this.appendEl( voFootlineRight , voFootlineCenter );
    }
    var voBottomLeft                = this.createEl( "div" );
    voBottomLeft.style.background   = "url(" + voDesign.BottomLeft + ") no-repeat left";
    this.appendEl( voNewDesk , voBottomLeft );
    var voBottomRight               = this.createEl( "div" );
    voBottomRight.style.background  = "url(" + voDesign.BottomRight + ") no-repeat right";
    this.appendEl( voBottomLeft , voBottomRight );
    var voBottomCenter              = this.createEl( "div" );
    voBottomCenter.style.background = "url(" + voDesign.BottomCenter + ") repeat-x";
    voBottomCenter.style.margin     = "0 14px";
    voBottomCenter.style.height     = "14px";
    this.appendEl( voBottomRight , voBottomCenter );
  }
  this.getIMGLoaderImageURL = function()
  {
    return this.vsIMGLoaderImageURL;
  }
  this.getSILoaderImageURL = function()
  {
    return this.vsSILoaderImageURL;
  }
  // Browser = IE?
  this.isIE = function()
  {
    return this.vbIE;
  }
  // Browser <> IE?
  this.isDOM = function()
  {
    return this.vbDOM;
  }
  // Email-Adresse testen
  this.checkInput = function( vsInput , vsCheckMode )
  {
    switch ( vsCheckMode )
    {
      case this.cs_ICM_EMail:
      {
        var a        = false;
        var vsResult = false;
        if ( "function" == typeof( RegExp ) )
        {
          var b = new RegExp( "abc" );
          if ( true == b.test( "abc" ) )
          a = true;
        }
        if ( true == a )
        {
          var reg = new RegExp( "^([a-zA-Z0-9\\-\\.\\_]+)" +
                                "(\\@)"                    +
                                "([a-zA-Z0-9\\-\\.]+)"     +
                                "(\\.)"                    +
                                "([a-zA-Z]{2,4})$" );
          vsResult = ( reg.test( vsInput ) );
        }
        else
        {
          vsResult = ( ( 1 <= vsInput.search( "@" ) )                           &&
                       ( vsInput.lastIndexOf( "." ) >  vsInput.search( "@" )  ) &&
                       ( vsInput.lastIndexOf( "." ) >= ( vsInput.length - 5 ) ) )
        }
        return vsResult;
      } break;
      case this.cs_ICM_Vorname:
      case this.cs_ICM_Nachname:
      case this.cs_ICM_Strasse:
      case this.cs_ICM_Hausnummer:
      case this.cs_ICM_Ort:
      {
        var varrResult = vsInput.match( /[0-9a-zA-ZÀÁÃÄÂÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜàáâãäèéêëìíîïñòóôõöùúûüžŽß._\-\ ]/g );
        if ( null == varrResult )
        return vsInput;
        var vsResult = "";
        for ( var i = 0 ; i < varrResult.length ; i++ )
        {
          vsResult += varrResult[i];
        }
        return vsResult;
      } break;
      default:
      {
        return vsInput;
      } break;
    }
  }
}
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
// String-Element um trim-Funktion erweitern
String.prototype.strTrim = function()
{
  var s = this;
  if ( s.length > 0 )
  {
    while ( ( 32 == s.charCodeAt( 0 ) )
    ||      ( 10 == s.charCodeAt( 0 ) )
    ||      ( 13 == s.charCodeAt( 0 ) ) )
    s = s.substring( 1 , s.length );
    while ( ( 32 == s.charCodeAt( s.length - 1 ) )
    ||      ( 10 == s.charCodeAt( s.length - 1 ) )
    ||      ( 13 == s.charCodeAt( s.length - 1 ) ) )
    s = s.substring( 0 , s.length - 1 );
  }
  return s;
}

// String-Element um strReplace-Funktion erweitern
String.prototype.strReplace = function( vsSearch , vsReplace )
{
  var s = this;
  return s.split( vsSearch ).join( vsReplace );
}

// erstes Array-Element liefern
Array.prototype.getFirstElement = function()
{
  if ( 0 == this.length )
  return false;
  return this[0];
}

// letztes Array-Element liefern
Array.prototype.getLastElement = function()
{
  if ( 0 == this.length )
  return false;
  return this[this.length - 1];
}

// Array-Element um foreach-Schleife erweitern
Array.prototype.forEach = function( callback )
{
  for( var k = 0 ; k < this.length ; k++ )
  callback( k , this[k] );
}

var asvStdC = new asvStandardClass();

asvStdC.getQueryList();

asvStdC.getCookieList();

document.onkeypress = asvStdC.checkKeyEvent;
