/*****************************************/
/*     (c) Kufer Software Konzeption     */
/*           Loisachstrasse 4		     */
/*           D-84453 Mühldorf			 */
/*****************************************/

//Kufer-Icon
Highlight1 = new Image();
Highlight1.src = 'images/kufer.gif';

//Details bei Tool 1
DetailsGray = new Image();
DetailsGray.src = 'images/kursdetailsg.gif';
Details = new Image();
Details.src = 'images/kursdetails.gif';

//Details bei Pfeilvor
VorGray = new Image();
VorGray.src = 'images/vorg.gif';
Vor = new Image();
Vor.src = 'images/vor.gif';

//Details bei Pfeilback
BackGray = new Image();
BackGray.src = 'images/backg.gif';
Back = new Image();
Back.src = 'images/back.gif';

//TN-Liste bei Tool1
ListeGray = new Image();
ListeGray.src = 'images/tnlisteg.gif';
Liste = new Image();
Liste.src = 'images/tnliste.gif';

//Kurstage bei Tool1
KurstageGray = new Image();
KurstageGray.src = 'images/kurstageg.gif';
Kurstage = new Image();
Kurstage.src = 'images/kurstage.gif';

//Details auf- bzw. zuklappen bei der WebÜbersicht
Close = new Image();
Close.src = 'images/close.gif';
Closeh = new Image();
Closeh.src = 'images/closeh.gif';

//Raumauslastung bei Tool3
RaumauslastungGray = new Image();
RaumauslastungGray.src = 'images/raumg.gif';
Raumauslastung = new Image();
Raumauslastung.src = 'images/raum.gif';

//BelegungsuebersichtGray bei Tool5
BelegungsuebersichtGray = new Image();
BelegungsuebersichtGray.src = 'images/raumg.gif';
Belegungsuebersicht = new Image();
Belegungsuebersicht.src = 'images/raum.gif';

//Drucker
DruckerGray = new Image();
DruckerGray.src = 'images/printg.gif';
Drucker = new Image();
Drucker.src = 'images/print.gif';

//mehrere TN zu 1 Kurs buchen
BuchenGray = new Image();
BuchenGray.src = 'images/bucheng.gif';
Buchen = new Image();
Buchen.src = 'images/buchen.gif';

//Kurs entbuchen
entBuchenGray = new Image();
entBuchenGray.src = 'images/entbucheng.gif';
entBuchen = new Image();
entBuchen.src = 'images/entbuchen.gif';

//1 TN zu mehreren Kursen buchen
WarenkorbGray = new Image();
WarenkorbGray.src = 'images/warenkorbg.gif';
Warenkorb = new Image();
Warenkorb.src = 'images/warenkorb.gif';

AnmFormGray = new Image();
AnmFormGray.src = 'images/anmformg.gif';
AnmForm = new Image();
AnmForm.src = 'images/anmform.gif';

DozHonGray = new Image();
DozHonGray.src = 'images/dozhong.gif';
DozHon = new Image();
DozHon.src = 'images/dozhon.gif';

CloseWinGray = new Image();
CloseWinGray.src = 'images/closewing.gif';
CloseWin = new Image();
CloseWin.src = 'images/closewin.gif';

DozAddGray = new Image();
DozAddGray.src = 'images/dozaddg.gif';
DozAdd = new Image();
DozAdd.src = 'images/dozadd.gif';

HelpGray = new Image();
HelpGray.src = 'images/helpg.gif';
Help = new Image();
Help.src = 'images/help.gif';

DeleteGray = new Image();
DeleteGray.src = 'images/deleteg.gif';
Delete = new Image();
Delete.src = 'images/delete.gif';

EditGray = new Image();
EditGray.src = 'images/editg.gif';
Edit = new Image();
Edit.src = 'images/edit.gif';

HausGray = new Image();
HausGray.src = 'images/hausg.gif';
Haus = new Image();
Haus.src = 'images/haus.gif';

BelegungGray = new Image();
BelegungGray.src = 'images/belegungg.gif';
Belegung = new Image();
Belegung.src = 'images/belegung.gif';

CopyGray = new Image();
CopyGray.src = 'images/copyg.gif';
Copy = new Image();
Copy.src = 'images/copy.gif';

OkayGray = new Image();
OkayGray.src = 'images/okayg.gif';
Okay = new Image();
Okay.src = 'images/okay.gif';

function confirmAction (pText, pLink)
{ var result=confirm(pText);
  if (result) window.location.href=pLink;
}

function confirmSubmit (pText, pFormname)
{ var result=confirm(pText);
  return result;
}

// MK 22.06.2005: Sucht von einem Element die dazugehörige Form und submittet diese
// @currentObject: Element, ab dem gesucht werden soll
// @return: true, wenn Form submitted werden konnte, ansonsten false
function submitParentForm(currentObject)
{ if (!currentObject) return false; // Falls das Objekt nich existiert, Rekursion verlassen
  // Falls das aktuelle Objekt eine Form ist, diese submitten.
  // Musste leider mit einem String-Vergleich gemacht werden,
  // da JavaScript keine gescheiten Typen-Operatoren hat!
  if (currentObject.nodeName.toLowerCase() == 'form')
  { currentObject.submit();
    return true;
  }
  else
  { // Aktuelles Objekt war keine Form, deshalb rufen wir die Funktion nochmal auf,
    // nur diesmal mit dem übergeordneten Element
  	submitParentForm(currentObject.parentNode);
  }
}

function ToUpperText(obj)
{ obj.value = obj.value.toUpperCase();
}

function isLeap(year) {
  if ((year%400==0)||((year%4==0)&&(year%100!=0))) 
    {return true;}
  else 
    {return false;}
}

function isDateValid(pDate)
{
  var ret = true;
  var datefields = pDate.split(".");
  if (datefields.length != 3) 
  {
    ret = false;
    return(ret);
  }
  else
  {
	  if (!pDate.match(/\d\d.\d\d.\d\d\d\d/)) ret = false;
	  switch (datefields[1])
	  {
	    default:
	      ret = false;
	      break;
	    case '01':
	      if (datefields[0] > 31) ret = false;
	      break;
	    case '02':
		  if (isLeap(datefields[2])) { if (datefields[0] > 29) ret = false; }
	      else                       { if (datefields[0] > 28) ret = false; }
	      break;
	    case '03':
	      if (datefields[0] > 31) ret = false;
	      break;
	    case '04':
	      if (datefields[0] > 30) ret = false;
	      break;
	    case '05':
	      if (datefields[0] > 31) ret = false;
	      break;
	    case '06':
	      if (datefields[0] > 30) ret = false;
	      break;
	    case '07':
	      if (datefields[0] > 31) ret = false;
	      break;
	    case '08':
	      if (datefields[0] > 31) ret = false;
	      break;
	    case '09':
	      if (datefields[0] > 30) ret = false;
	      break;
	    case '10':
	      if (datefields[0] > 31) ret = false;
	      break;
	    case '11':
	      if (datefields[0] > 30) ret = false;
	      break;
	    case '12':
	      if (datefields[0] > 31) ret = false;
	      break;
	  }
	  if (!pDate.match(/\d\d.\d\d.\d\d\d\d/)) ret = false;
	  if (pDate.length != 10) ret = false;
	  return(ret);
  }
}


function FormatDate(pDate)
{
  var day = pDate.getDate();
  if (day.length < 2)
  	day = "0" + day;
  	
  var month = pDate.getMonth() + 1;
  if (month.length < 2)
  	month = "0" + month;
  
  return day + "." + month + "." + pDate.getFullYear();
}

// Setzt den Text der Elemente auf ein bestimmtes Datum.
// pType kann folgende Werte annehmen:
// 0: Heute
// 1: Morgen
// 2: Diese Woche
// 3: Nächste Woche
// 4: Diesen Monat
// 5: Nächsten Monat
function getDate(pElement1, pElement2, pType)
{
  var jetzt = new Date();

  switch(pType)
  {
  	case 0: // Heute
  	{  	  
  	  pElement1.value = FormatDate(jetzt);
  	  pElement2.value = FormatDate(jetzt);
  	  break;
  	}
  }
}

function objExists(pObj)
{
  if (pObj) return(true);
  else      return(false);
}

function CheckUserInput(pToolSectionId)
{
  var datefield1ok = true;
  var datefield2ok = true;
  var alertmessage = 'Das eingegebene Datum ist ungültig! Bitte geben Sie das Datum im Format "TT.MM.JJJJ" an!';
  
  switch (pToolSectionId)
  {
    case 1: // Kursplanung für Dozenten - Kurs bearbeiten
      if (objExists(window.document.getElementsByName('Col_beginn_dat')[0]))
      {
		datefield1ok = isDateValid(window.document.getElementsByName('Col_beginn_dat')[0].value);
        if (window.document.getElementsByName('Col_beginn_dat')[0].value == '') datefield1ok = true;
      }
      if (objExists(window.document.getElementsByName('Col_ende_dat')[0]))
      {
	    datefield2ok = isDateValid(window.document.getElementsByName('Col_ende_dat')[0].value);
		if (window.document.getElementsByName('Col_ende_dat')[0].value == '') datefield2ok = true;      
	  }	
	  if(datefield1ok && datefield2ok) document.FormEditKurs.submit();
      else alert(alertmessage);
      break;

    case 2: // Kurplanung durch HPM - Kurstage hinzufügen
      if (objExists(window.document.getElementsByName('Col_datum')[0]))
      {
        datefield1ok = isDateValid(window.document.getElementsByName('Col_datum')[0].value);
        if (window.document.getElementsByName('Col_datum')[0].value == '') datefield1ok = true;
	  }
	  if(datefield1ok) document.FormAddNewKT.submit();
      else alert(alertmessage);
      break;

    case 3: // Kursplanung für Dozenten - Kursdetails bearbeiten
      if (objExists(window.document.getElementsByName('Col_beginn_dat')[0]))
      {
        datefield1ok = isDateValid(window.document.getElementsByName('Col_beginn_dat')[0].value);
        if (window.document.getElementsByName('Col_beginn_dat')[0].value == '') datefield1ok = true;
	  }
	  if (objExists(window.document.getElementsByName('Col_ende_dat')[0]))
      {
	    datefield2ok = isDateValid(window.document.getElementsByName('Col_ende_dat')[0].value);
        if (window.document.getElementsByName('Col_ende_dat')[0].value == '') datefield2ok = true;
	  }
	  if(datefield1ok && datefield2ok) document.Tool3Kursdetails.submit();
      else alert(alertmessage);
      break;

    case 4: // TN Anmeldung - Einen oder mehrere Teilnehmer zum Kurs buchen
      if (objExists(window.document.getElementsByName('w_Geburtsdatum')[0]))
      { if ((window.document.getElementsByName('w_Geburtsdatum')[0].value == "") || (window.document.getElementsByName('w_Geburtsdatum')[0].value == "..")) datefield1ok = true;
        else datefield1ok = isDateValid(window.document.getElementsByName('w_Geburtsdatum')[0].value); }
      if(datefield1ok) document.Tool6TnToKAnm.submit();
      else alert(alertmessage);
      break;

    case 5: // Kursplanung für HPM - Kurs bearbeiten
      if (objExists(window.document.getElementsByName('Col_beginn_dat')[0]))
      {
        datefield1ok = isDateValid(window.document.getElementsByName('Col_beginn_dat')[0].value);
        if (window.document.getElementsByName('Col_beginn_dat')[0].value == '') datefield1ok = true;
	  }
	  if (objExists(window.document.getElementsByName('Col_ende_dat')[0]))
      {
	    datefield2ok = isDateValid(window.document.getElementsByName('Col_ende_dat')[0].value);
        if (window.document.getElementsByName('Col_ende_dat')[0].value == '') datefield2ok = true;
	  }
	  if(datefield1ok && datefield2ok) document.FormEditKursHPM.submit();
      else alert(alertmessage);
      break;
      
    case 6: // Kursplanung für HPM - Kursdetails bearbeiten
      if (objExists(window.document.getElementsByName('Col_beginn_dat')[0]))
      {
        datefield1ok = isDateValid(window.document.getElementsByName('Col_beginn_dat')[0].value);
        if (window.document.getElementsByName('Col_beginn_dat')[0].value == '') datefield1ok = true;
	  }
	  if (objExists(window.document.getElementsByName('Col_ende_dat')[0]))
      {
	    datefield2ok = isDateValid(window.document.getElementsByName('Col_ende_dat')[0].value);
        if (window.document.getElementsByName('Col_ende_dat')[0].value == '') datefield2ok = true;
	  }
	  if(datefield1ok && datefield2ok) document.Tool8Kursdetails.submit();
      else alert(alertmessage);
      break;

    case 7: // Kursplanung für HPM - DozHonorar bearbeiten
      if (objExists(window.document.getElementsByName('Col_gebdat')[0]))
      { if ((window.document.getElementsByName('Col_gebdat')[0].value == "") || (window.document.getElementsByName('Col_gebdat')[0].value == "..")) datefield1ok = true;
        else datefield1ok = isDateValid(window.document.getElementsByName('Col_gebdat')[0].value); }
      if (objExists(window.document.getElementsByName('Col_dozentseit')[0]))
      { if ((window.document.getElementsByName('Col_dozentseit')[0].value == "") || (window.document.getElementsByName('Col_dozentseit')[0].value == "..")) datefield2ok = true;
        else datefield2ok = isDateValid(window.document.getElementsByName('Col_dozentseit')[0].value); }
      if(datefield1ok && datefield2ok) document.Tool8DozHon.submit();
      else alert(alertmessage);
      break;
      
    case 8: // TN Anmeldung - Einen oder mehrere Teilnehmer zum Kurs buchen
      if (objExists(window.document.getElementsByName('w_Geburtsdatum')[0]))
      { if ((window.document.getElementsByName('w_Geburtsdatum')[0].value == "") || (window.document.getElementsByName('w_Geburtsdatum')[0].value == "..")) datefield1ok = true;
        else datefield1ok = isDateValid(window.document.getElementsByName('w_Geburtsdatum')[0].value); }
      if(datefield1ok) return true; //document.Tool8NewDoz.submit();
      else alert(alertmessage); return false;
  }
}

// notwendig für einige Tools, um am Anfang zwischen Liste und Grafik zu entscheiden
function decideListOrGraphic(p_url,p_target)
{
  var a = true; var b = true; var c = ""; var d = "";

  a = isDateValid(document.getElementsByName("DatVon")[0].value);
  b = isDateValid(document.getElementsByName("DatBis")[0].value);
  if (a && b)
  {
    c = document.getElementsByName("DatVon")[0].value;
    d = document.getElementsByName("DatBis")[0].value;
    ts = "";//Startzeit, nur in Tool 5 - Terminübersicht vorhanden
    te = "";
    if ( document.getElementsByName("starttime")[0] )
      ts = "&starttime=" + document.getElementsByName("starttime")[0].value;
    if ( document.getElementsByName("endtime")[0] )
      te = "&endtime=" + document.getElementsByName("endtime")[0].value;
    if (p_target == "self") window.location.href = p_url + "&DatVon=" + c + "&DatBis=" + d +ts+te;
    else if (p_target == "new") window.open (p_url + "&DatVon=" + c + "&DatBis=" + d +ts+te,"");
  }
  else alert("Ungültiges Datumsformat. Bitte geben Sie das Datum in der Form TT.MM.JJJJ ein!");
}

// notwendig für Tool 5, damit morgen etc. analog Gebäudeübersicht funktioniert
function showPeriodGraphic(p_url,p_target)
{
    ts = "";//Startzeit, nur in Tool 5 - Terminübersicht vorhanden
    te = "";
    if ( document.getElementsByName("starttime")[0] )
      ts = "&starttime=" + document.getElementsByName("starttime")[0].value;
    if ( document.getElementsByName("endtime")[0] )
      te = "&endtime=" + document.getElementsByName("endtime")[0].value;
    if (p_target == "self") window.location.href = p_url + ts+te;
    else if (p_target == "new") window.open (p_url + ts+te,"");
}

// notwendig für Tool5 (ToolRaumUebersicht), um die Grafik für die Belegungen 
// für 1 Gebäude anzuzeigen
function showGraphicForGebaeude(p_url,p_target)
{
  var a = true; var b = "";
  a = isDateValid(document.getElementsByName("DatVon")[0].value);
  if (a)
  {ts = "";//Startzeit, nur in Tool 5 - Raumübersicht vorhanden
    te = "";
    if ( document.getElementsByName("starttime")[0] )
      ts = "&starttime=" + document.getElementsByName("starttime")[0].value;
    if ( document.getElementsByName("endtime")[0] )
      te = "&endtime=" + document.getElementsByName("endtime")[0].value;
    b = document.getElementsByName("DatVon")[0].value;
    if (p_target == "self") window.location.href = p_url + "&DatVon=" + b +ts+te;
    else if (p_target == "new") window.open (p_url + "&DatVon=" + b +ts+te,"");
  }
  else alert("Ungültiges Datumsformat. Bitte geben Sie das Datum in der Form TT.MM.JJJJ ein!");
}

function ChangeImg(Bild,Bildobjekt)
{
  // Ändert das bild in Bild durch das Bild in Bildobjekt
  Bild.src = Bildobjekt.src;
}

function setRowID(pRow, pID)
{
  // Diese Funktion sorgt dafür, dass die Spalte, über der der Mauszeiger gerade ist, gehighlightet wird
  var theCells = null;
  var c = null;
  var CellCnt = 0;
  var domDetect = false;

  theCells = pRow.cells;
  CellCnt = theCells.length;

  // Abfrage, ob ein DOM-Fähiger Browser verwendet wird
  if ((typeof(window.opera) == 'undefined') && (typeof(theCells[0].getAttribute) != 'undefined')) domDetect = true;
  else domDetect = false;

  for (c = 0; c < CellCnt; c++)
  {
    if (domDetect) theCells[c].setAttribute('id',pID,0);
    else theCells[c].style.backgroundColor = pID;
  }
}

function showToolSub(x, sightid)
{
// Funktion für die Auswahl mit der Kombobox bei den zentralen Einstellungen
   document.location.href = "hleinstell.php?sightid="+sightid+"&tool="+x+"&section=-1";
}

function showRightTable(user_id, sightid)
{
// Funktion für die Auswahl mit der Kombobox bei den Rechten
   if (user_id != -1) document.location.href = "hleinstell.php?sightid="+sightid+"&tool=1&section=5&userid="+user_id;
}

function getCalendarFor(formname, elementname)
{
  var newWindow;
  var urlstring = '../calendar/calendar.php';
  newWindow = window.open(urlstring+'?formname='+formname+'&elementname='+elementname,'','height=220,width=280,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no');
}






