﻿//***********************************************************************************************************
// Form Handling
//***********************************************************************************************************
//Gedrückte Tasten überwachen
if (document.attachEvent)
	document.attachEvent("onkeydown",keyDownEvents);
else if (document.addEventListener)
	document.addEventListener("keydown",keyDownEvents,false);

//Wenn die Seite in einem Frame/iframe geladen wird, ausbrechen
if (window.location != window.parent.location)
{
  window.parent.location  = window.location;
}

//Gedrückte Tasten an Funktionen zuordnen
function keyDownEvents(e)
{
  if (window.event)
    var keynum = window.event.keyCode;
  else if (e.which)
    var keynum = e.which;
  
  //ENTER Taste
  if (keynum == 13)
  {
	if (document.getElementById('btnSubmit'))
	{
	  var onclick = String(document.getElementById('btnSubmit').onclick);
	  onclick = onclick.replace('function onclick(event) {','');
	  onclick = onclick.replace('function onclick()','');
	  onclick = onclick.replace('function anonymous()','');
	  onclick = onclick.replace('function (event)','');
	  onclick = onclick.replace('}','');
	  onclick = onclick.replace('{','');
	  eval(onclick);
	}
  }
}

//Suche abschicken
function submitSuchen(e)
{
  if (window.event)
    var keynum = window.event.keyCode;
  else if (e.which)
    var keynum = e.which;

  if (keynum == 13)
    suchen();
}



//***********************************************************************************************************
// Layout
//***********************************************************************************************************
//Blendet den Optionen Bereich aus und vergrössert den Content Bereich auf 100% Breite
function setFullLayout()
{
  document.getElementById('divContent').style.width = '100%';
  document.getElementById('divBereichLinks').style.display = 'none';
}

//Suche mit Filter
function getSucheMitFilter()
{
  getHTTPContent('/_suchen_mit_filter.asp','divOptionen','');	
}

//Suche mit Filter
function getSucheOhneFilter(thema,id)
{
  document.getElementById('divOptionen').style.backgroundColor = '#fff';
  document.getElementById('divOptionen').style.borderColor = '#fff';
  getHTTPContent('/_suchen_ohne_filter.asp?Thema=' + thema + '&ID=' + id,'divOptionen','');	
}

//Kontakt-Formular anzeigen
function openKontaktForm()
{
  showDetailsDialog('');
  getHTTPContent('/kontakt.asp','frmDialogForm','');	
}



//***********************************************************************************************************
// Banner
//***********************************************************************************************************
//Banner Bild holen
function getBannerContent(hauptKategorieID,seite,bannerText)
{
  getHTTPContent('/_get_banner_content.asp?HauptKategorieID=' + hauptKategorieID + '&Seite=' + seite + '&BannerText=' + bannerText,'divBanner','');	
}

//Banner Video hoeln
function playVideo(spracheAbk)
{    
  //divVideo mit Effekt einblenden
  document.getElementById('divVideo').style.backgroundImage = 'url(/videos/welcome/video_platzhalter_full.jpg)';
  $('#divVideo').slideDown(1000);
  
  //Cookie für Video angesehen setzen
  setCookie('VideoAngesehen',true);

  setTimeout("document.getElementById('divVideo').style.borderBottom = '5px solid #ececec'",1000);
  setTimeout("getHTTPContent('/_play_video.asp','divVideo','')",2000);	
}

//Banner Video hoeln
function hideVideo()
{
  //divVideo mit Effekt einblenden
  $('#flaVideo').toggle();
  document.getElementById('divVideo').style.borderBottom = '0px none';
  $('#divVideo').slideUp(1000);
  setTimeout("document.getElementById('divVideo').innerHTML = ''",1100);
}


//***********************************************************************************************************
// Haupt-Kategorie Selector
//***********************************************************************************************************
//Blendet den Haupt-Kategorie Selector ein
function showHauptKategorieSelector(hauptkategorieID)
{
  showDetailsDialog('');
  getHTTPContent('/hauptkategorie_selector.asp?HauptKategorieID=' + hauptkategorieID,'frmDialogForm','');	
}



//***********************************************************************************************************
// Shop Auflistung
//***********************************************************************************************************
//Haupt-Kategorie Infos laden
function getHauptkategorie(url)
{
  window.location.href = url;
}


//Ermittelt alle Kategorien der aktuellen Hauptkategorie
function getHauptkategorieKategorien(hauptkategorieID,kategorieID)
{
  //Liste dynamisch hinzufügen
  attachNode('divBereichLinks','ul','lstShopKategorien','standard',0,0);
  
  //Inhalt laden
  showLoader('lstShopKategorien','');
  getHTTPContent('/_get_hauptkategorie_kategorien.asp?HauptKategorieID=' + hauptkategorieID + '&KategorieID=' + kategorieID,'lstShopKategorien','');	
}


//Ermittelt alle Kategorien die zur aktuellen Marke passen
function getMarkeKategorien(markeID)
{
  //Liste dynamisch hinzufügen
  attachNode('divBereichLinks','ul','lstShopKategorien','standard',0,0);
  
  //Inhalt laden
  getHTTPContent('/_get_marke_kategorien.asp?MarkeID=' + markeID,'lstShopKategorien','');	
  
  //Anzeigen
  document.getElementById('lstShopKategorien').style.marginTop = '13em';
  document.getElementById('lstShopKategorien').style.display = 'block';  
}


//Shop Auflistung anzeigen
function getShopAuflistung(hauptkategorieID,kategorieID,markeID)
{
  //Den derzeit aktiven Kategorie-Link ermitteln und zurücksetzen
  if (document.getElementById('lstShopKategorien'))
  {
	var kategorieListe = document.getElementById('lstShopKategorien');
	var nl = kategorieListe.getElementsByTagName("li");
	for (i=0; i<nl.length; i++)
	{
	  if (nl[i].className == 'active')
		nl[i].className = '';		
	}
  }
  
  //Filter Button anpassen
  if (document.getElementById('btnFilter'))
    document.getElementById('btnFilter').onclick = new Function("getShopAuflistung(" + hauptkategorieID + "," + kategorieID + "," + markeID + ",'')");

  //Filter oder Suchen Einstellungen speichern
  if (document.getElementById('frmListeFilter').innerHTML != '')
	saveFilterEinstellungen();

  //Suchparameter von Cookie übernehmen
  var suchenFilter = getCookie('Suchen');
  if (suchenFilter)
  {
	suchenFilter = suchenFilter.split('$');
	var suchbegriff = suchenFilter[0]; //wird hier nicht benötigt
	var lieferland = suchenFilter[1];
	var zahlungsart = suchenFilter[2];
	var zertifikat = suchenFilter[3];
	var shop_aktion = suchenFilter[4];
	var shop_gutschein = suchenFilter[5];
	var shop_pruefung = suchenFilter[6];
	var shop_laden = suchenFilter[7];
	var sortierung = suchenFilter[8];
  }

  //Ausgewählte Kategorie-Link als Aktiv markieren
  if (document.getElementById('Kategorie' + kategorieID))
	document.getElementById('Kategorie' + kategorieID).className = 'active';
  
  //Inhalte laden
  showLoader('divShopListe','');
  getHTTPContent('/shops_auflistung.asp?HauptKategorieID=' + hauptkategorieID + '&KategorieID=' + kategorieID + '&MarkeID=' + markeID + '&Lieferland=' + lieferland + '&Zahlungsart=' + zahlungsart + '&Zertifikat=' + zertifikat + '&ShopAktion=' + shop_aktion + '&ShopGutschein=' + shop_gutschein + '&ShopPruefung=' + shop_pruefung + '&ShopLaden=' + shop_laden + '&Sortierung=' + sortierung,'divShopListe','');
}


//Holt die Filter für die Shop Auflistung
function getShopAuflistungFilter(hauptkategorieID,kategorieID,markeID)
{
  getHTTPContent('/_shop_auflistung_filter.asp?HauptkategorieID=' + hauptkategorieID + '&KategorieID=' + kategorieID + '&MarkeID=' + markeID,'frmListeFilter','');	
}



//***********************************************************************************************************
// Dialog Funktionen
//***********************************************************************************************************
//Dialog und Blackscreen ausblenden
function hideDetailsDialog(dialogName)
{
  if (dialogName == '')
    dialogName = 'divDialog';
  
  //Dialog entfernen sofern vorhanden
  if (document.getElementById(dialogName))
    removeNode(dialogName);
  
  if (document.getElementById('divBlackscreen'))
  {
	$("#divBlackscreen").fadeOut(500);
	
	//Wenn IE6...
	if (navigator.appVersion.indexOf("MSIE 6.0") >= 0)
	{
	  //Alle Select Elemente ausblenden
	  var selects = document.getElementsByTagName('select');
	  for (i=0; i<selects.length; i++)
		selects[i].style.display = 'block';
	}
  }
}

//Dialog und Blackscreen anzeigen
function showDetailsDialog(dialogName)
{  
  if (dialogName == '')
    dialogName = 'divDialog';
  
  //Falls Dialog noch vorhanden zuerst entfernen
  if (document.getElementById(dialogName))
    removeNode(dialogName);
	
  //Details Form dynamisch erstellen
  attachNode('body','div',dialogName,'standard',0,0);
  
  //Details Form in der Mitte plazieren
  if (navigator.appVersion.indexOf("MSIE 6.0") == -1)
	document.getElementById(dialogName).style.top = (document.body.offsetHeight-500)/2 + 'px';
  else
	document.getElementById(dialogName).style.marginTop = document.documentElement.scrollTop-0 + 'px';  
  
  document.getElementById(dialogName).className = 'detail-dialog';
  document.getElementById(dialogName).style.width = '730px';
  document.getElementById(dialogName).style.left = (document.body.offsetWidth-730)/2 + 'px';
  
  //Form innerhalb des Dialogs erstellen
  attachNode(dialogName,'form','frmDialogForm','standard',0,0);
  document.getElementById('frmDialogForm').onsubmit = new Function('return false');
  document.getElementById('frmDialogForm').setAttribute('action','');
  document.getElementById('frmDialogForm').style.display = 'block';
  
  //Loader
  showLoader('frmDialogForm');

  //Schliessen Grafik einbinden
  attachNode(dialogName,'img','imgDialogClose','standard',0,0);
  document.getElementById('imgDialogClose').src = '/images/dialog/dialog-close.png';
  document.getElementById('imgDialogClose').onclick = new Function("hideDetailsDialog('')");
  document.getElementById('imgDialogClose').style.display = 'block';
  
  //Anzeigen
  $("#" + dialogName).fadeIn(300);
    
  //Blackscreen dynamisch erstellen (sofern nicht vorhanden)
  if (!document.getElementById('divBlackscreen'))
    attachNode('body','div','divBlackscreen','standard',0,0);
  
  document.getElementById('divBlackscreen').style.height = document.getElementById('divLayout').offsetHeight + 'px';
  document.getElementById('divBlackscreen').style.width = document.body.offsetWidth + 'px';
  $("#divBlackscreen").fadeIn(500);
  
  //Wenn IE6...
  if (navigator.appVersion.indexOf("MSIE 6.0") >= 0)
  {
    //Alle Select Elemente ausblenden
	var selects = document.getElementsByTagName('select');
	for (i=0; i<selects.length; i++)
	  selects[i].style.display = 'none';
  }
}

//Detail Dialog mittig auf dem Bildschirm plazieren
function positionDetailsDialog(dialogName)
{
  if (dialogName == '')
    dialogName = 'divDialog';

  if (document.getElementById(dialogName))
  {
	var dialogWidth = document.getElementById(dialogName).offsetWidth;
	var dialogHeight = document.getElementById(dialogName).offsetHeight;
	
	document.getElementById(dialogName).style.left = (document.body.offsetWidth-dialogWidth)/2 + 'px';
	document.getElementById(dialogName).style.top = (document.body.offsetHeight-dialogHeight)/2 + 'px';
  }
}



//***********************************************************************************************************
// Dropdown Funktionen
//***********************************************************************************************************
function showDropdown(dropdownID)
{
  $('#' + dropdownID +' ul').fadeIn('slow');
}

function hideDropdown(dropdownID)
{
  $('#' + dropdownID +' ul').fadeOut('slow');
}



//***********************************************************************************************************
// Suche / Filter
//***********************************************************************************************************
function suchen()
{ 
  //Suchbegriff übernehmen
  var suchenNach = document.getElementById('tbxSuchen').value;
  var suchenTyp = document.getElementById('hdnSuchenTyp').value;
  var fehlerText = document.getElementById('hdnFehlerText').value;
  
  //Suche nur starten wenn min 2 Zeichen eingegeben wurden
  if (suchenNach.length > 1)
  {
	//Suchen Einstellungen speichern
	saveSuchenEinstellungen();
    
	var suchenFilter = getCookie('Suchen');
	if (suchenFilter)
	{
	  suchenFilter = suchenFilter.split('$');
      var lieferland = suchenFilter[1];
	  var zahlungsart = suchenFilter[2];
	  var zertifikat = suchenFilter[3];
	  var shop_aktion = suchenFilter[4];
	  var shop_laden = suchenFilter[5];
	}
	
    //Suchergebnis anzeigen
    window.location.href = '/suchen_ergebnisse.asp?Suchen=' + encodeURIComponent(suchenNach) + '&SuchenTyp=' + suchenTyp + '&Lieferland=' + lieferland + '&Zahlungsart=' + zahlungsart + '&Zertifikat=' + zertifikat + '&ShopAktion=' + shop_aktion + '&ShopLaden=' + shop_laden;
  }
  else
  {
	if (suchenNach != '')
      alert(fehlerText);
	document.getElementById('tbxSuchen').focus();
  }
}


//Suchen Text ändern
function changeSearchText(suchenText)
{
  if (document.getElementById('tbxSuchen'))
  {
	document.getElementById('tbxSuchen').value = suchenText;
	saveSuchenEinstellungen();
  }
}


//Speichert die Filter Einstellungen in einem Cookie
function saveFilterEinstellungen()
{
  //Werte übernehmen
  var suchbegriff = '';
  var lieferland = document.getElementById('ddlFilter_Lieferlaender').value;
  var zahlungsart = document.getElementById('ddlFilter_Zahlungsarten').value;
  var zertifikat = document.getElementById('ddlFilter_Zertifikate').value;
  var shop_aktion = document.getElementById('cbxFilter_ShopAktion').checked;
  var shop_gutschein = document.getElementById('cbxFilter_ShopGutschein').checked;
  var shop_pruefung = document.getElementById('cbxFilter_ShopPruefung').checked;
  var shop_laden = document.getElementById('cbxFilter_ShopLaden').checked;
  var sortieren = document.getElementById('ddlFilter_Sortieren').value;

  //Als Cookie speichern
  setCookie('Suchen',suchbegriff + '$' + lieferland + '$' + zahlungsart + '$' + zertifikat + '$' + shop_aktion + '$' + shop_gutschein + '$' + shop_pruefung + '$' + shop_laden + '$' + sortieren);
}


//Speichert die Suchen Einstellungen in einem Cookie
function saveSuchenEinstellungen()
{
  //Werte übernehmen
  var suchbegriff = document.getElementById('tbxSuchen').value;
  var lieferland = document.getElementById('ddlSuchen_Lieferlaender').value;
  var zahlungsart = document.getElementById('ddlSuchen_Zahlungsarten').value;
  var zertifikat = document.getElementById('ddlSuchen_Zertifikate').value;
  var shop_aktion = document.getElementById('cbxSuchen_ShopAktion').checked;
  var shop_gutschein = false;
  var shop_pruefung = false;
  var shop_laden = document.getElementById('cbxSuchen_ShopLaden').checked;
  var sortieren = 'Standard';

  //Als Cookie speichern
  setCookie('Suchen',suchbegriff + '$' + lieferland + '$' + zahlungsart + '$' + zertifikat + '$' + shop_aktion + '$' + shop_gutschein + '$' + shop_pruefung + '$' + shop_laden + '$' + sortieren);
}


//Suchen Vorschläge während der Eingabe
function getSuchenVorschlag(suchenText)
{
  if (navigator.appVersion.indexOf("MSIE 6.0") == -1 && navigator.appVersion.indexOf("MSIE 7.0") == -1)
  {
	if (suchenText.length > 1)
	  getHTTPContent('/_suchen_vorschlaege.asp?SuchenText=' + encodeURIComponent(suchenText),'divSuchenVorschlaege','');
	else
	  hideSuchenVorschlag();
  }
}


//Suchen Vorschlag auswählen
function selectSuchenVorschlag(suchenText,suchenTyp)
{
  setCookie('Suchen',suchenText);
  document.getElementById('tbxSuchen').value = suchenText;
  document.getElementById('hdnSuchenTyp').value = suchenTyp;
  hideSuchenVorschlag();
  suchen();
}


//Suchen Vorschlagsfenster ausblenden
function hideSuchenVorschlag()
{
  document.getElementById('divSuchenVorschlaege').style.display = 'none';
  document.getElementById('divSuchenVorschlaege').innerHTML = '';
}



//***********************************************************************************************************
// Shop Details Funktionen
//***********************************************************************************************************
//Anzeige der grossen Shop-Standort Karte
function showShopStandorteKarte(shopID)
{
  $('#divKarte').fadeIn(1000);
}

function hideShopStandorteKarte()
{
  $('#divKarte').fadeOut(500);
}



//***********************************************************************************************************
// Shop Favoriten
//***********************************************************************************************************
//Shop Favorit hinzufügen/entfernen
function addRemoveShopFavorit(shopID)
{
  getHTTPContent('/admin/mein/_add_remove_shop_favorit.asp?ShopID=' + shopID,'divTemp','');	
}



//***********************************************************************************************************
// Shop Aktionen
//***********************************************************************************************************
//Alle Shop-Aktionen innerhalb einer Hauptkategorie auflisten
function getHauptkategorieAktionen(hauptKategorieID,anzahlAktionen)
{
  if (anzahlAktionen == 0)
    document.getElementById('aWeitereAktionen' + hauptKategorieID).style.display = 'none'
	
  getHTTPContent('/_get_hauptkategorie_aktionen.asp?HauptKategorieID=' + hauptKategorieID + '&AnzahlAktionen=' + anzahlAktionen,'dlHauptkategorie' + hauptKategorieID,'');	
}



//***********************************************************************************************************
// Shop Gutscheine
//***********************************************************************************************************
//Alle Shop-Gutscheine innerhalb einer Hauptkategorie auflisten
function getHauptkategorieGutscheine(hauptKategorieID,anzahlGutscheine)
{
  if (anzahlGutscheine == 0)
    document.getElementById('aWeitereGutscheine' + hauptKategorieID).style.display = 'none'
	
  getHTTPContent('/_get_hauptkategorie_gutscheine.asp?HauptKategorieID=' + hauptKategorieID + '&AnzahlGutscheine=' + anzahlGutscheine,'dlHauptkategorie' + hauptKategorieID,'');	
}



//***********************************************************************************************************
// Login
//***********************************************************************************************************
//Login anzeigen
function getLoginForm(errorID)
{
  var aufloesung = screen.width + 'x' + screen.height;
  showDetailsDialog('');
  getHTTPContent('/admin/login.asp?ErrorID=' + errorID + '&Aufloesung=' + aufloesung,'frmDialogForm','');
}

//Login Status anzeigen
function getLoginStatus()
{
  var aufloesung = screen.width + 'x' + screen.height;
  getHTTPContent('/admin/_login_status.asp?Aufloesung=' + aufloesung,'divLoginStatus','');
}



//***********************************************************************************************************
// Diverse Funktionen
//***********************************************************************************************************
//Emailadresse prüfen
function checkBenutzerEmail(emailadresse,userID)
{
  getHTTPContent('/_checkEmailadresse.asp?Emailadresse=' + emailadresse + '&UserID=' + userID,'divTemp','');
}

function switchSlide(currentSlide)
{	
  //Aktueller Slide ausblenden
  if (activeSlide != 0)
    $('#slide'+ activeSlide).fadeOut(1000);
  
  //Slide einblenden
  $('#slide'+ currentSlide).delay(1000).fadeIn(1000);
  activeSlide = currentSlide;
  
  //Zähler um 1 erhöhen sofern noch nicht maximum erreicht
  if (currentSlide == totalSlides)
	currentSlide = 1;
  else
	currentSlide = currentSlide+1;
  
  //Verzögert die Funktion erneut aufrufen
  setTimeout("switchSlide(" + currentSlide + ")",7000);
}