//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Funktionen des Projekts (ausser Menue)
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

var undefined;


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// PopUp-Funktion
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

var popupSettings = {};

popupSettings['default'] = '';

popupSettings['Bildergalerie'] = 'width=725,height=459';

function openPopup(url,windowName,settingsID) {

  var settings;
  var newWindow;

  if (popupSettings[settingsID]) {
    settings = popupSettings[settingsID];
  } else {
    settings = popupSettings['default'];
  }

  newWindow = window.open(url,windowName,settings);
  newWindow.focus();

}
// Calendar

function openCalendarPopup(buttonID, cgiID, datetype){
  if (!ElementPopup.getInstance() || (ElementPopup.getInstance() && ElementPopup.getInstance().getTargetElementID() != buttonID)){
    if (datetype == 'datetime'){
      var callback = new Function("date", "setCalendarDateTime('" + cgiID + "', date)");
    } else {
      var callback = new Function("date", "setCalendarDate('" + cgiID + "', date)");
    }
    dialogContext = {callback : callback, multiple : false};
    var currentDate = false;
    if (!currentDate){
      currentDate = new Date();
    } else {
      currentDate = Util.getDateFromDateTime(currentDate);
    }
    var calendar = Calendar.createInstance();
    calendar.setDate(currentDate);
    calendar.setBundesland(10);

    var popupProperties = ElementProps.createElementProps(buttonID, '');
    var popup = new ElementPopup.createInstance();
    popup.setID("PopupContainer");
    popup.setTargetElementID(buttonID);
    popup.setX((popupProperties.positionTop()) + 'px');
    popup.setY((popupProperties.positionLeft()+23) + 'px');
    popup.setHTML(calendar.getHTML());
    popup.open();
  } else {
    ElementPopup.getInstance().close();
  }
}

function setCalendarDate(cgiID, date){
  if (document.getElementById(cgiID)){
    //document.getElementById(cgiID).value = formatDateToSystemDateFrontend(date);
    document.getElementById(cgiID).value = date;
  }
  if (document.getElementById(cgiID + '_')){
    document.getElementById(cgiID + '_').value = date;
  }
  ElementPopup.getInstance().close();
}

function setCalendarDateTime(cgiID, date){
  if (document.getElementById(cgiID)){
    document.getElementById(cgiID).value = formatDateToSystemDateFrontend(date) + ' 00:00:00.0';
  }
  if (document.getElementById(cgiID + '_')){
    document.getElementById(cgiID + '_').value = date;
  }
  ElementPopup.getInstance().close();
}

function submitEyecatcherCalenderDay(cgiID, date){
  if (document.getElementById('Form_' + cgiID)){
    if (document.getElementById('Document.Idx.Datum_' + cgiID)){
      document.getElementById('Document.Idx.Datum_' + cgiID).value = date;
    }
    document.getElementById('Form_' + cgiID).submit();
  }
}

function submitEyecatcherCalenderMonth(cgiID, dateFrom, dateTo){
  if (document.getElementById('Form_' + cgiID)){
    if (document.getElementById('Document.Idx.Datum-Von_' + cgiID)){
      document.getElementById('Document.Idx.Datum-Von_' + cgiID).value = dateFrom;
    }
    if (document.getElementById('Document.Idx.Datum-Bis_' + cgiID)){
      document.getElementById('Document.Idx.Datum-Bis_' + cgiID).value = dateTo;
    }
    document.getElementById('Form_' + cgiID).submit();
  }
}

function setDateInCMSField(cgiID, date){
  if (document.getElementById(cgiID)){
    if (date){
      document.getElementById(cgiID).value = formatDateToSystemDateFrontend(date);
    } else {
      document.getElementById(cgiID).value = '';
    }
  }
}

function formatDateToSystemDateFrontend(date){
  var str = '';
  if (date){
    var tempdate = date.split(/\./);
    for (var i=parseFloat(tempdate.length -1); i>=0; i--){
      if (tempdate[i].toString().length == 1){
        str += '0' + tempdate[i];
      } else {
        str += tempdate[i];
      }
      if (i >= 1){
        str += '-';
      }
    }
  }
  return str;
}

function submitSearchForm(elem){
  for (var i=0; i<elem.elements.length; i++){
    if (! elem.elements[i].value){
      var id = elem.elements[i].name.replace(/_$/,'');
      if (document.getElementById(id)){
        document.getElementById(id).value = '';
      }
    }
    if (Util.formatDate(elem.elements[i].value)){
      elem.elements[i].value = Util.formatDate(elem.elements[i].value);
    }
  }
  return true;
}


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Funktion zum Bildertausch
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

var zaehler = 1;

function tausche_bilder() {

	var richtung = tausche_bilder.arguments[0];
	var bildid = tausche_bilder.arguments[1];
	var pfadname = tausche_bilder.arguments[2];
	var maximum = tausche_bilder.arguments[3];
	var pfad = new String();

	if (richtung == 'vor') {

		zaehler += 1;

	} else {

		zaehler -= 1;

	}

	if (zaehler == 0) {

		zaehler = maximum;

	}

	if (zaehler > maximum) {

		zaehler = 1;

	}

	pfad = String(pfadname + zaehler + '.jpg');

	document.images[bildid].src = pfad;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// BLUR Funktion
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

function unsetFocusBorder() {
 var arr = document.getElementsByTagName('a');
 if (arr){
   for (var i=0; i<arr.length; i++) {
     arr[i].onfocus = arr[i].blur;
   }
 }
} 

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++

// layerDisplaySetzen

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++

function layerDisplaySetzen(id) {

  var element = document.getElementById(id);
  if (element.style.display) {
    if (element.style.display == 'block') {
      element.style.display = 'none';
      return element.style.display;
    }
  }
  element.style.display = 'block';
  return element.style.display;

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Zielgruppe
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

function Zielgruppe() {
}

Zielgruppe.addGroupList = function (hash) {
  if (! arguments.length) {
    return;
  }
  Zielgruppe.groupList.push(hash);
}

Zielgruppe.drawElement = undefined;
Zielgruppe.groupList = [];
Zielgruppe._time;
Zielgruppe._status = true;
Zielgruppe._idx = 0;
Zielgruppe._idx_last = Zielgruppe._idx;
Zielgruppe._delay = 5000;
Zielgruppe._opac_delay = 50;
Zielgruppe.mode = 'standard' // standard,auto;

Zielgruppe.setPoints = function () {
    var elem = document.getElementById('_zielgruppe-points_');
    if (! elem) {
      return;
    }
    var html = '<ul>';
    for (var i=0; i<Zielgruppe.groupList.length; i++) {
      var item = Zielgruppe.groupList[i];          
      if (! item['img'].length && !  item['url'].length) {
        continue;
      }
      html += '<li>';             
      if (item['img'] == '' && item['url']) {
        html += '<a href="'+ item['url'] +'">';   
      } else {
        html += '<a href="javascript: void(0);" onclick="Zielgruppe.changeGroupById('+ i +');">';   
      }
      var className = 'list_bg_item_'+ i;
      if (i ==0) {
        className += '_active';
      }
      html += '<img id="_list_bg_item_'+ i  +'" class="'+ className +'" src="/frontend/resource/grafik/trans.gif" alt="'+ item['zeile2'] +'" title="'+ item['zeile2'] +'" />';                                  
      html += '</a>';                                            
      html += '</li>';
    }
    html += '</ul>';
    elem.innerHTML = html;
}

Zielgruppe.setActivePoint = function (idx) {
    var elem = document.getElementById('_list_bg_item_' + idx);
    if (! elem) {
      return;
    }
    elem.className = 'list_bg_item_' + idx + '_active';
}

Zielgruppe.unsetActivePoint = function (idx) {
    var elem = document.getElementById('_list_bg_item_' + idx);
    if (! elem) {
      return;
    }
    elem.className = 'list_bg_item_' + idx;
}

Zielgruppe.setSelectList = function () {
    var elem = document.getElementById('select-zielgruppe');
    if (! elem) {
      return;
    }
    for (var i=0; i<Zielgruppe.groupList.length; i++) {
      var item = Zielgruppe.groupList[i];
      var opt = new Option(item['zeile2'], item['url'], false, false);
      elem.options[elem.options.length] = opt;
    }
}

Zielgruppe.gotoLocation = function (url) {
  if (! url.length) {
    return;
  }
  window.location = url;
}

Zielgruppe.changeGroupById = function (idx) {
  if (Zielgruppe._time) {
    window.clearTimeout(Zielgruppe._time);
  }
  if (! Zielgruppe.drawElement) {
    return;
  }
  if (! Zielgruppe._status) {
    return;
  }
  Zielgruppe.drawElement.style.zIndex = 100;
  Zielgruppe.drawElement.style.position = 'absolute';
  Zielgruppe.drawElement.style.opacity = 1;
  Zielgruppe._idx = idx;
  var item = Zielgruppe.groupList[Zielgruppe._idx];
  if (item['img'] == '') {
    return;
  }
  var tmpElem = Zielgruppe.createTmpElem(item);
  var parent = Zielgruppe.drawElement.parentNode;
  parent.insertBefore(tmpElem, Zielgruppe.drawElement);
  Zielgruppe.crossfadeGroup(Zielgruppe.drawElement, tmpElem);
  Zielgruppe.unsetActivePoint(Zielgruppe._idx_last);
  Zielgruppe.setActivePoint(Zielgruppe._idx);
}

Zielgruppe.changeGroup = function (direction) {
  if (Zielgruppe._time) {
    window.clearTimeout(Zielgruppe._time);
  }
  if (! Zielgruppe.drawElement) {
    return;
  }
  if (! Zielgruppe._status) {
    return;
  }
  Zielgruppe.drawElement.style.zIndex = 100;
  Zielgruppe.drawElement.style.position = 'absolute';
  Zielgruppe.drawElement.style.opacity = 1;
  if (direction == 'backward') {
    Zielgruppe._idx--;
    if (Zielgruppe._idx < 0) {
      Zielgruppe._idx = Zielgruppe.groupList.length -1;
    }
  } else {
    Zielgruppe._idx++;
    if (Zielgruppe._idx >= Zielgruppe.groupList.length) {
      Zielgruppe._idx = 0;
    }
  }
  var item = Zielgruppe.groupList[Zielgruppe._idx];
  if (item['img'] == '') {
    return Zielgruppe.changeGroup(direction);
  }
  var tmpElem = Zielgruppe.createTmpElem(item);
  var parent = Zielgruppe.drawElement.parentNode;
  parent.insertBefore(tmpElem, Zielgruppe.drawElement);
  Zielgruppe.crossfadeGroup(Zielgruppe.drawElement, tmpElem);
  Zielgruppe.unsetActivePoint(Zielgruppe._idx_last);
  Zielgruppe.setActivePoint(Zielgruppe._idx);
}

Zielgruppe.crossfadeGroup = function (elem1, elem2) {
  if (Zielgruppe._time) {
    window.clearTimeout(Zielgruppe._time);
  }
  if (arguments.length != 2) {
    return;
  }
  Zielgruppe._status = false;
  var opac = undefined; 
  if (elem1.filters != undefined){
    // IE
    opac = elem1.filters['Alpha']['opacity'];
  } else {
    // Other
    opac = elem1.style.opacity; 
  }
  if (opac <= 0) {
    Zielgruppe._status = true;
    var id = elem1.id;
    var parent = elem1.parentNode;
    parent.removeChild(elem1);
    elem2.id = id;
    Zielgruppe.drawElement = elem2;
    if (Zielgruppe.mode == 'auto') {
      var func = function () {
          Zielgruppe.changeGroup();
      }
      Zielgruppe._time = window.setTimeout(func, Zielgruppe._delay); 
    }
    Zielgruppe._idx_last  = Zielgruppe._idx; 
    return;
  }
  if (elem1.filters != undefined){
    // IE
    opac -= 5;
    elem1.filters['Alpha']['opacity'] = opac;
    elem1.filters['Alpha']['finishopacity'] = opac;
  } else {
    // Other
    opac -= 0.05;
    elem1.style.opacity = opac;
  }
  var func = function () {
    Zielgruppe.crossfadeGroup(elem1, elem2);
  }
  Zielgruppe._time = window.setTimeout(func, Zielgruppe._opac_delay); 
}

Zielgruppe.createTmpElem = function (hash) {
  if (! arguments.length) {
    return;
  }
  var html = '';
  html += '<div class="zielgruppe-text">\n';
  html += '<div class="zielgruppe-text-zeile-1">\n';
  html += hash['zeile1'] + '<br />\n';
  html += '</div>\n';
  html += '<div class="zielgruppe-text-zeile-2">\n';
  html += hash['zeile2'] +'<br />\n';
  html += '</div>\n';
  html += '<div class="zielgruppe-text-zeile-3">\n';
  html += '<a href="'+ hash['url'] + '" class="zielgruppe-link">weiterlesen...</a><br />\n';
  html += '</div>\n';
  html += '</div>\n';
  html += '<img src="'+ hash['img'] + '" alt="" title="" /><br />\n';
  var elem = document.createElement('div');
  elem.id = '__zielgruppe_item_clone__';
  elem.style.position = 'absolute';
  elem.style.zIndex = 99;
  elem.innerHTML = html;
  return elem;
}

function displayProfisearch(elem) {
  var pf = document.getElementById('profisuche');
  if ( !pf ) {
    return;
  }
  if (pf.style.display != 'block') {
    pf.style.display = 'block';
    if (elem) {
      elem.innerHTML = 'Die Profisuche schließen.'
    }
  } else {
    pf.style.display = 'none';
    if (elem) {
      elem.innerHTML = 'Die Profisuche öffnen.'
    }
  }
}








