
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Funktionen des Projekts (ausser Menue)
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Allgemeine Funktionen
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// den undefinierten Wert deklarieren

var undefined;

function switchBoxOpen(){
  var arg = switchBoxOpen.arguments;
  for (var i=0; i<arg.length; i++){
   if (document.getElementById(arg[i])){
    document.getElementById(arg[i]).style.display = 'block';
   }
  }
}

function switchBoxClose(){
  var arg = switchBoxClose.arguments;
  for (var i=0; i<arg.length; i++){
   if (document.getElementById(arg[i])){
    document.getElementById(arg[i]).style.display = 'none';
   }
  }
}


function switchFormContentBox(id, idButton){
  if (id){
    if (document.getElementById(id)){
      if (document.getElementById(id).style.display == 'none'){
        document.getElementById(id).style.display = 'block';
        if (document.getElementById(idButton)){
          document.getElementById(idButton).className = 'serviceBoxSwitchButtonON';
        }
      } else {
        document.getElementById(id).style.display = 'none';
        if (document.getElementById(idButton)){
          document.getElementById(idButton).className = 'serviceBoxSwitchButtonOFF';
        }
      }
    }
  }
}

function switchFormContentBoxAP(id, idButton){
  if (id){
    if (document.getElementById(id)){
      if (document.getElementById(id).style.display == 'none'){
        document.getElementById(id).style.display = 'block';
        if (document.getElementById(idButton)){
          document.getElementById(idButton).className = 'serviceBoxSwitchButtonAPON';
        }
      } else {
        document.getElementById(id).style.display = 'none';
        if (document.getElementById(idButton)){
          document.getElementById(idButton).className = 'serviceBoxSwitchButtonAPOFF';
        }
      }
    }
  }
}

function switchArtikelSerie(index, anzahl){
  if (anzahl){
    for (var i=0; i<=anzahl; i++){
      if (document.getElementById('artikelSerie' + i)){
        document.getElementById('artikelSerie' + i).style.display = 'none';
      }
    }  
  }
  if (index){
    if (document.getElementById('artikelSerie' + index)){
      document.getElementById('artikelSerie' + index).style.display = 'block';
    }
  }
}

var defaultFontSize = 0.75;
function setFontSize(command){
  if (command){
    if (command == 'down'){
      defaultFontSize -= 0.25;
    } else if (command == 'up'){
      defaultFontSize += 0.25;
    }
    document.body.style.fontSize = defaultFontSize + 'em';
  }
}
        
        
// Calendar       

function openCalendarPopup(buttonID, cgiID){
  if (!ElementPopup.getInstance() || (ElementPopup.getInstance() && ElementPopup.getInstance().getTargetElementID() != buttonID)){
    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);
  }
  if (document.getElementById(cgiID + '_')){
    document.getElementById(cgiID + '_').value = date; 
  }
  ElementPopup.getInstance().close();
}      

function openCalendarPopupKW(buttonID, cgiID, cgiIDYear){
  if (!ElementPopup.getInstance() || (ElementPopup.getInstance() && ElementPopup.getInstance().getTargetElementID() != buttonID)){
    var callback = new Function("date", "setCalendarDateKW('" + cgiID + "', date,'" + cgiIDYear + "')");
    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 setCalendarDateKW(cgiID, date, cgiIDYear){
  // Achtung Sonderfall wegen Kirchenwoche die mit Sonntag startet
  if (document.getElementById(cgiID)){
    date = formatDateToSystemDateFrontend(date);
    date = Util.createDateFromDateTime(formatDateToSystemDateFrontend(date));
    if (date.getDay() == 0){
      date.setTime(date.getTime() + 86400000);
    }
    var don = DateProperties.getThursday(date);
    var week = DateProperties.getKalenderWoche(don);
    var year = don.getFullYear();
    document.getElementById(cgiID).value = week;
    if (document.getElementById(cgiIDYear)){
      document.getElementById(cgiIDYear).value = year;
    }
  }
  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;
}
