function popup(url)
{
   newPopup = window.open(url, "", "width=700, height=500, top=50, left=50, location=yes, menubar=yes, toolbar=yes, status=yes, scrollbars=yes, resizable=yes");
}

/*
 * Diese Popup-Funktion erzeugt ein neues Fenster
 * mit definierter Groesse;
 */
function popupFirmSize(url, width, height)
{
   if ( null == width )
   {
      var width = 700;
   }
   if ( null == height )
   {
      var height = 500;
   }
   newPopup = window.open(url, "", "width=" + width + ", height="+ height +", top=50, left=50, location=no, menubar=no, toolbar=no, status=no, scrollbars=no, resizable=yes");
}


/*
 * Gibt die Breite zurueck, nach der die Angebotsboxen
 * von alleine umbrechen (weil "#content" eben nicht
 * breit genug ist fuer alle Angebotsboxen)
 */
function getOptimaleAngebotsContainerBreite()
{
   // Breite von 'content' abzueglich (padding-left + padding-right)
   var contentWidth = xWidth("content") - 0;
   // Breite einer Angebotsbox ( inclusive 'border-left' & 'border-right', 'padding-left' & 'padding-right' UND 'margin-left' & 'margin-right' einer Angebotsbox!)
   var angebotWidth = 184;
   // Wie oft passt eine Angebotsbox in '#content'
   var angebotCount =  parseInt(contentWidth/angebotWidth);
   // + evtl. 'border-left' bzw. 'border-right' des Angebotscontainers
   var optimaleBreite = angebotCount*angebotWidth;

   return optimaleBreite;
}


// -------------- dieses Script passt die Hoehe von "rechteSpalte" automatisch an ----------------
function adjustLayout()
{
   // --------------------------------------------------------------------------------------------
   // Die Anpassung (zB Höhe & Breite) von Objekten im Quelltext
   // muss VOR der Spaltenhöhenanpassung erfolgen!
   // ------------------------------------------------------------------------------------- (Ende)

   // Ermitteln der Hoehe von "linkeSpalte" und  "content"
   var linkeSpalteHeight = xHeight("linkeSpalte");
   var rechteSpalteHeight = xHeight("rechteSpalte");
   var contentHeight = xHeight("content") + xHeight("breadcrumbs");

   // Ermitteln der groessten Hoehe
   var maxHeight = Math.max(linkeSpalteHeight,rechteSpalteHeight,contentHeight);

   // Zuweisen der groessten Hoehe
   xHeight("linkeSpalte",maxHeight);
   xHeight("rechteSpalte",maxHeight);
   xHeight("content",maxHeight - xHeight("breadcrumbs"));
   
   // Footer positionieren
   var footerStartPos = maxHeight + 9;
   document.getElementById("footer").style.top = footerStartPos + "px";
}

window.onload = function ()
{
   xAddEventListener(window, "resize", adjustLayout, false );
   adjustLayout();
   
   // IE-Button-Hover (Anfang)
   // "buttons" ist ein Array aller im document befindlichen Buttons
   var buttons = document.getElementsByTagName("button");
   for(i = 0; i < buttons.length; i++)
   {
      buttons[i].onmouseover = function()
      {
         this.className += " hoverEffekt";
      }
      buttons[i].onmouseout = function()
      {
         this.className = this.className.replace(" hoverEffekt", "");
      }
   }

   // den INPUTs ebenfalls einen Hover-Effekt geben
   var inputs = document.getElementsByTagName("input");
   for(i = 0; i < inputs.length; i++)
   {
      if("button" == inputs[i].className || "button77" == inputs[i].className || "button160" == inputs[i].className || "button180" == inputs[i].className || "button220" == inputs[i].className)
      {
         inputs[i].onmouseover = function()
         {
            this.className += " hoverEffekt";
         }
         inputs[i].onmouseout = function()
         {
            this.className = this.className.replace(" hoverEffekt", "");
         }
      }
   }
   // IE-Button-Hover (Ende)

}

// dateCheck Funktion
// Diese Funktion generiert bei einer Datumseingabe per Select Box, die Select Box fuer die Tage, nach der Auswahl des Monates bzw Jahres automatisch
function dateCheck(tag_id, monat_id, jahr_id)
{
   var tag = tag_id.value;
   var monat = monat_id.value;
   var jahr = jahr_id.value;

   // Ausgewähltes Jahr ein Schaltjahr?
   var schaltjahr = false;
   var schaltjahr_string = new String(jahr / 4);
   if (-1 == schaltjahr_string.indexOf("."))
   {
      schaltjahr = true;
   }

   if(4 == monat || 6 == monat || 9 == monat || 11 == monat) // Monat mit 30 Tagen
   {
      // Loescht Tag 31 und fügt 29 und 30 neu ein
      tag_id.options[31] = null;
      tag_id.options[30] = new Option("30", "30", false, false);
      tag_id.options[29] = new Option("29", "29", false, false);
      if(tag <= 30 && tag >= 1) { tag_id.options[tag] = new Option(tag, tag, false, true); } // Selected einen vorher ausgewählten Tag innerhalb der neuen Tages"Range"
   }
   else if(02 == monat) // Februar mit 28 bzw 29 Tagen
   {
      // Je nach Schaltjahr 29 oder 28 Tage
      if( schaltjahr )
      {
         // Fuegt Tag 29 ein und loescht 30 und 31
         tag_id.options[31] = null;
         tag_id.options[30] = null;
         tag_id.options[29] = new Option("29", "29", false, false);
         if(tag <= 29 && tag >= 1) { tag_id.options[tag] = new Option(tag, tag, false, true); } // Selected einen vorher ausgewählten Tag innerhalb der neuen Tages"Range"
      }
      else
      {
         // Loescht Tag 29,30 und 31
         tag_id.options[31] = null;
         tag_id.options[30] = null;
         tag_id.options[29] = null;
         if(tag <= 28 && tag >= 1) { tag_id.options[tag] = new Option(tag, tag, false, true); } // Selected einen vorher ausgewählten Tag innerhalb der neuen Tages"Range"
      }
   }
   else  // Monat mit 31 Tagen
   {
      tag_id.options[31] = new Option("31", "31", false, false);
      tag_id.options[30] = new Option("30", "30", false, false);
      tag_id.options[29] = new Option("29", "29", false, false);
      if(tag <= 31 && tag >= 1) { tag_id.options[tag] = new Option(tag, tag, false, true); } // Selected einen vorher ausgewählten Tag innerhalb der neuen Tages"Range"
   }
}
