addEvent(window, "load", init, false);

function init() {
  
  initWaitLinks();
  initWKBubble();
  initProductDetailsForm();
  initWKAnzahl();
  initWKDropdowns();
  initWKRadio();
  initKundendaten();
  secureDelLinks();
//  initImageRotate();
  initNeonColorSaver();
  initImageSelector();
  initPopups();
  reiter.init();
}


function initNeonColorSaver() {
  var neoncolor = document.getElementById("neoncolor");
  if (!neoncolor) return;
  addEvent(neoncolor, "change", rememberNeonColor, false);
}

function initImageSelector() {
  var iconshtml = document.getElementById("productpreview_icons");
  if (!iconshtml) return;
  var pictures = iconshtml.getElementsByTagName("a");
  if (!pictures) return;
  for(i = 0; i < pictures.length; i++) {
    addEvent(pictures[i], "click", showBig, false);
  }
}

function initImageRotate() {
  var previewpicture = document.getElementById("previewpicture");
  if (!previewpicture) return;
  previewIconsTimeout = setTimeout("rotatePreviewIcons()", 2000);
}

function initWaitLinks() {
  var inputs = document.getElementsByTagName("input");
  if (inputs)
    for(i=0; i < inputs.length; i++)
    {
      var current = inputs[i];
      if (current.className.indexOf("wait") > -1)
      {
        addEvent(current, "click", showLoading, false);
      }
    }
}

function initProductDetailsForm() {
  // Upload-Seite (Radio-Buttons)
  // für sofortiges Preis- und Vorschaubild-Update
  var productdetailsform = document.getElementById("productdetailsform");
  if (!productdetailsform) return;

  var inputs = productdetailsform.getElementsByTagName("input");
  for(i=0; i < inputs.length; i++)
  {
    var current = inputs[i];
    if (current.type == "radio")
    {
      addEvent(current, "click", updatePrice, false);
      //addEvent(current, "click", updatePreview, false);
    }

    if (current.id == "anzahl")
    {
      // für rot/schwarz-Färbung des Anzahl-Inputs
      addEvent(current, "keyup", anzahlFarbe, false);
      // für sofortiges Preisupdate auf der Upload-Seite (Anzahl-Textfeld)
      addEvent(current, "keyup", updatePrice, false);
    }
  }
  var selects = productdetailsform.getElementsByTagName("select");
  
  for(i=0; i < selects.length; i++)
  {
    var current = selects[i];
    if (current.id == "anzahl")
    {
      // für rot/schwarz-Färbung des Anzahl-Inputs
      addEvent(current, "change", anzahlFarbe, false);
      // für sofortiges Preisupdate auf der Upload-Seite (Anzahl-Textfeld)
      addEvent(current, "change", updatePrice, false);
    }
  }
}

function initWKBubble() {
  var bubblecloselink = document.getElementById("bubblecloselink");
  if (bubblecloselink)
  {
    addEvent(bubblecloselink, "mouseup", switchBubble, false);
  }
  
  var bubblepopups = getElementsByClassName("bubblepopup");
  if (bubblepopups) {
    for(i = 0; i < bubblepopups.length; i++) {
      addEvent(bubblepopups[i], "click", switchBubble, false);
    }
  }
  
}

function initWKAnzahl() {
  // für sofortiges Preisupdate auf der Warenkorb-Seite (Anzahl-Textfeld)
  var inputs = document.getElementsByTagName("input");
  if (inputs)
    for(i=0; i < inputs.length; i++)
    {
      var current = inputs[i];
      if (current.name.indexOf("wkanzahl") > -1)
      {
        addEvent(current, "keyup", updateWK, false);
      }
    }

  // für sofortiges Preisupdate auf der Warenkorb-Seite (Anzahl-Dropdown)
  var inputs = document.getElementsByTagName("select");
  if (inputs)
    for(i=0; i < inputs.length; i++)
    {
      var current = inputs[i];
      if (current.name.indexOf("wkanzahl") > -1)
      {
        addEvent(current, "change", updateWK, false);
      }
    }

}


function initWKDropdowns() {
  // für sofortiges Preisupdate auf der Warenkorb-Seite (Selects)
  var selects = document.getElementsByTagName("select");
  if (selects)
    for(i=0; i < selects.length; i++)
    {
      var current = selects[i];
      if (current.name.indexOf("product-") > -1
        || current.name.indexOf("category-") > -1
        || current.name.indexOf("merkmal-") > -1)
      {
        addEvent(current, "change", updateWKSelects, false);
      }
    }
}

function initWKRadio() {
  // für sofortiges Preisupdate auf der Warenkorb-Seite (Radio-Buttons für Versand)
  // nur, wenn wir uns auf der Warenkorb-Seite befinden
  var inputs = document.getElementsByTagName("input");
  if (inputs && document.getElementById("versandTabelle"))
    for(i=0; i < inputs.length; i++)
    {
      var current = inputs[i];
      if (current.type=="radio" || current.type=="checkbox")
      {
        addEvent(current, "click", updateRadios, false);
      }
    }
}

function initKundendaten() {
  // alternative Lieferadresse deaktivieren, wenn sie nicht benutzt wird
  var altaktiv = document.getElementById("altaktiv");
  if (altaktiv) addEvent(altaktiv, "change", switchAltLieferadresse, false);
  switchAltLieferadresse();
  anzahlFarbe();

  var blz = document.getElementById("blz");
  if (blz)
  {
    addEvent(blz, "keyup", checkBLZ, false);
    addEvent(blz, "change", checkBLZ, false);
  }

}

function secureDelLinks()
{
	var l = document.getElementsByTagName('a');
	for (var i = 0; i<l.length; i++)
	{
		if (l[i].className.indexOf("confirm") > -1) {
			addEvent(l[i],'click',checkDelete, false);

		}
	}
}
