/***************************************************************/ /* Urlaubsrechner - Konfiguration */ /***************************************************************/ /***************************************************************/ /***************************************************************/ /* Hier kann die Preisberechnung veraendert werden ... */ /***************************************************************/ var URMAXPERS = 6; // Maximale Anzahl Personen var URGRUNDP = 54; // Grundpreis var URGRDPERS = 2; // Anzahl Personen Grundpreis var URMEHRP = 14; // Mehrpreis pro zusaetzl. Person var URKINDK1 = 11; // Preis fuer Kinder Kategorie 1 (z.B. 18 Jahren) var URKINDK2 = 9; // Preis fuer Kinder Kategorie 2 (z.B. 12 Jahren) var URKINDK3 = 7; // Preis fuer Kinder Kategorie 3 (z.B. 6 Jahren) var URWAEHRUNG = " €"; // Angez.Waehrung, z.B. auch " Euro" var URUSEKINDK1 = 1; // Abfrage von Kindern Kategorie 1 (1 = AN / 0 = AUS) var URUSEKINDK2 = 1; // Abfrage von Kindern Kategorie 2 (1 = AN / 0 = AUS) var URUSEKINDK3 = 1; // Abfrage von Kindern Kategorie 3 (1 = AN / 0 = AUS) var URUSEZAUFSCHL = 1; var URZAUFSCHL = // Aufschlag im Zeitraum auf Grundpreis, Mehrpreis, KindK1, KindK2, KindK3 new Array ( // new Array("01.01-15.01", 0, +3, 0, 0, 0, 0), // vom 01.01 - 15.01 0 Euro. // new Array("16.01-19.04", 1, 0, 0, 0, 0, 0), // auf1, auf2 und auf3 sind // new Array("20.04-20.09", 0, +3, 0, 0, 0, 0), // versch. CSS-Formate in der zug. CSS-Datei // new Array("21.09-14.12", 2, 0, 0, 0, 0, 0), // fuer die Anzeige der Tage (Farben). // new Array("15.12-31.12", 0, +3, 0, 0, 0, 0) // danach Aufschlag GP, MehrP, KindK1, KindK2 new Array("01.01-05.01", 2, +4, 0, 0, 0, 0), new Array("06.01-20.04", 0, 0, 0, 0, 0, 0), new Array("21.04-20.09", 2, +4, 0, 0, 0, 0), new Array("21.09-20.12", 0, 0, 0, 0, 0, 0), new Array("21.12-31.12", 2, +4, 0, 0, 0, 0, 0) ); /*new Array("01.01-14.01", 1, 0, 0, 0, 0, 0), new Array("15.01-20.03", 0, -5, 0, 0, 0, 0), new Array("21.03-20.04", 1, 0, 0, 0, 0, 0), new Array("21.04-20.09", 2, +4, 0, 0, 0, 0), new Array("21.09-30.09", 1, 0, 0, 0, 0, 0), new Array("01.10-30.11", 0, -5, 0, 0, 0, 0), new Array("31.11-31.12", 1, 0, 0, 0, 0, 0)*/ // Preise 2024 // Saison A: 06.01. - 20.04 // Saison B: 21.04. - 20.09 // Saison A: 21.09. - 20.10 // Saison A: 21.12. - 05.01 var URUSEKAUFSCHL = 2; var URKAUFSCHL = // Aufschlag wegen Kurzfristig. auf Gesamtpreis new Array ( 11, 11, 11, 11, 7, 3, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 // fuer einen, zwei, drei, vier, ... Tage // 80, 80, 80, 80, 55, 30 // fuer einen, zwei, drei, vier, ... Tage // 92, 92, 92, 92, 70, 48 // fuer einen, zwei, drei, vier, ... Tage ); /***************************************************************/ /* Hier koennen verschiedene Einstellungen gemacht werden ... */ /***************************************************************/ var URUSEBUTTONS = 1; var URUSEMINFO = 1; var URUSECOUNTER = 1; var URCOUNTINFO = 1; var URNOSTARTDAY = 1; var URANIMSTATUS = 0; var URANIMCOLOR = 1; var URANIMRUNTXT = 1; var URUSENUMSEL = 1; var URUSESTVALS = 1; var URSTARTVALS = new Array ( "--", "--", "----", "--", "--", "0", "0", "0" ); /***************************************************************/ /* Hier kann ein Counter definiert werden ... */ /***************************************************************/ var URCOUNTER = new Object(); URCOUNTER["_URL_"] = "http://www.fewo-graf.de/js/counter.php"; URCOUNTER["_PC1_"] = "NOOUT=1&CLICK=5" URCOUNTER["_PC2_"] = "NOOUT=1&CLICK=6"; URCOUNTER["_PNC_"] = "NOOUT=1"; URCOUNTER["index.html"] = "NOOUT=1&CLICK=1"; URCOUNTER["home.html"] = "NOOUT=1&CLICK=1"; URCOUNTER["ferienwohnung.html"] = "NOOUT=1&CLICK=2"; URCOUNTER["freizeit.html"] = "NOOUT=1&CLICK=3"; URCOUNTER["preise.html"] = "NOOUT=1&CLICK=4"; /***************************************************************/ /* Hier koennen Texte und Auswahlwerte veraendert werden ... */ /***************************************************************/ var URTTIPSD = new Array ( "Pauschalzeiten", "Zwischensaison", "Hauptsaison" ); var URSTYLES = new Array ( "auf1", "auf2", "auf3" ); var URTTIPSS = new Array ( "Monat zurück", "Monat vor", "Monat und Jahr auswählen", "Belegt" ); var URLEGEND = new Array ( new Array ("auf1", "günstige Pauschalzeiten"), new Array ("auf2", "Zwischensaison"), new Array ("auf3", "Hauptsaison"), new Array ("belegt", "bereits belegte Tage"), new Array ("aktbel", "ausgewählte belegte Tage"), new Array ("akt", "ausgewählte freie Tage") ); var URWDAYS = new Array ( "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So" ); var URMNAMES = new Array ( "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" ); var URTEXT = new Array ( "Urlaubsrechner mit Belegungsplan", "Zeitraum (An-/Abreisetag)", "Personen ingesamt (max. 6):", "Gesamtpreis:", "Preis pro Tag und Person:", "U16", "U8" ); var URMINFO = /* ""+ "
    "+ "
  1. Bitte zuerst im Kalender den geplanten Urlaubsmonat auswählen. (»)
  2. "+ "
  3. Dann den gewünschten Tag für ihren Urlaubsbeginn im Kalender anklicken.
  4. "+ "
  5. Nun die Anzahl der Urlaubstage und der Personen auswählen.
  6. "+ "
"+ */ "
"+ "Unsere Preise sind saisonabhänig und personenbezogen, und
"+ "ergeben sich pro Tag aus einem Grundpreis ab "+URGRUNDP+URWAEHRUNG+" für 2 Personen,
"+ "für jede weitere Person "+URMEHRP+URWAEHRUNG+", Kinder je nach Alter von "+URKINDK3+URWAEHRUNG+" bis "+URKINDK1+URWAEHRUNG+".
"+ "Aufenthalte unter 7 Tagen sind möglich, jedoch nur auf Preisanfrage."+ "
"+ /* "Als familienfreundliches Feriendomizil haben wir ganzjährig die gleichen Preise.
" + "Ausserhalb der Ferienzeiten bieten wir aber auch verbilligte Pauschalen an.
" + "Der Preis für einen Urlaub bei uns ist also u.U. abhängig von ihrem Urlaubszeitraum.
" + "Deshalb dient der Kalender unten nicht nur zur Ansicht der Belegungssituation,
" + "man kann dort auch den unten angegebenen Urlaubszeitraum verändern.

" + */ "
"+ "Sie können im Urlaubsrechner beruhigt beliebige Eingaben machen,
" + "dies führt zu keiner Buchung oder Buchungsanfrage bei uns." + "
"+ ""; var URHILFE = new Array ( "Bitte unten oder im Kalender links den gew%FCnschten Anreisetag ausw%E4hlen.

"+ "Sie k%F6nnen dazu auch auf einen anderen Monat umschalten,
"+ "indem sie die Buttons '%AB' und '%BB' im Kalender verwenden.", "Bitte geben sie die Anzahl der von ihnen geplanten %DCbernachtungen
"+ "im zweiten Auswahlfeld unten ein.", "Bitte geben sie die Anzahl der erwachsenen Personen
"+ "im dritten Auswahlfeld unten ein.", "Um den Urlaubszeitraum zu %E4ndern, einfach unten oder im Kalender
"+ "einen anderen Tag f%FCr ihren Urlaubsbeginn ausw%E4hlen oder
"+ "unten die Anzahl der Urlaubstage ver%E4ndern.

"+ "Um auf einen anderen Monat zu schalten, k%F6nnen sie die
"+ "Buttons '%AB' und '%BB' im Kalender verwenden." ); var URZSTAT = new Array ( new Array ( "urdzstatE", unescape("Bitte Anreisetag eingeben"), "#B00000", "#FFFF00"), new Array ( "urdzstatE", unescape("Bitte Anzahl der Übernachtungen eingeben"), "#B00000", "#FFFF00"), new Array ( "urdzstatE", unescape("Bitte Anzahl der Personen angeben"), "#B00000", "#FFFF00"), new Array ( "urdzstatE", unescape("Zeitraum ist leider nicht mehr frei !!"), "#B00000", "#FFFF00"), new Array ( "urdzstatW", unescape("Zeitraum ist nicht komplett frei !!"), "#B00000", "#FFFF00"), new Array ( "urdzstatOK", unescape("Zeitraum ist noch frei"), "#00C000", "#FFFF00") ); var URQUEST = new Array ( new Array ( "Anreisetag eingeben (oder im Kalender anklicken):"), new Array ( "Anzahl der geplanten Übernachtungen eingeben:", 7, 28 ), new Array ( "Anzahl der erwachsenen Personen angeben:", 2, 6 ), new Array ( "Kinder unter 18 Jahren (bei Urlaubsantritt):", 0, 4 ), new Array ( "Kinder unter 12 Jahren (bei Urlaubsantritt):", 0, 4 ), new Array ( "Kinder unter 6 Jahren (bei Urlaubsantritt):", 0, 4 ) ); var URBELEGT = new Array ( "26.12.2021-03.01.2022", "12.01.2022-26.01.2022", "30.04.2022-14.05.2022", "21.05.2022-29.05.2022", "01.06.2022-09.06.2022", "10.06.2022-17.06.2022", "09.07.2022-16.07.2022", "16.07.2022-31.07.2022", "31.07.2022-06.08.2022", "06.08.2022-20.08.2022", "22.08.2022-31.08.2022", "15.09.2022-23.09.2022", "26.12.2022-04.01.2023", "01.03.2023-08.03.2023", "17.05.2023-24.05.2023", "25.05.2023-08.06.2023", "10.06.2023-17.06.2023", "18.06.2023-02.07.2023", "15.07.2023-29.07.2023", "04.08.2023-13.08.2023", "13.08.2023-26.08.2023", "26.08.2023-02.09.2023", "02.09.2023-10.09.2023", "21.10.2023-28.10.2023", "28.12.2023-04.01.2024", "29.05.2024-05.06.2024", "07.06.2024-15.06.2024", "21.06.2024-30.06.2024", "13.07.2024-20.07.2024", "20.07.2024-03.08.2024", "03.08.2024-13.08.2024", "17.08.2024-24.08.2024", "01.09.2024-07.09.2024", "11.09.2024-28.09.2024" ); /***************************************************************/ /* Urlaubsrechner */ /***************************************************************/ /* (C) 2008, Dipl. Inf. Wolfram Graf (E-Mail: er@dawoife.de) */ /***************************************************************/ /***************************************************************/ /* Lokale Variablen */ /***************************************************************/ var CLICKED1 = 0; var CLICKED2 = 0; var ANIMMODE = 0; var TOP = 0; var LEFT = 0; var Unselectable = { enable : function(e) { var e = e ? e : window.event; if (e.button != 1) { if (e.target) { var targer = e.target; } else if (e.srcElement) { var targer = e.srcElement; } var targetTag = targer.tagName.toLowerCase(); if ((targetTag != "option") && (targetTag != "input") && (targetTag != "textarea")) { return false; } } }, disable : function () { return true; } } /***************************************************************/ /* Lokale Hilfs-Funktionen */ /***************************************************************/ function leadZeroS(num, len) { var numStr = ""+num; while (numStr.length < len) numStr = "0"+numStr; return numStr; } function getMonthDays(year, month) { return new Date(year, month+1, 0).getDate() } function getDay(date) { return date.getDate(); } function getMonth(date) { return date.getMonth(); } function getYear(date) { var year = date.getYear(); if (year < 1000) year += 1900; return year; } function addDays(date, days) { return new Date(getYear(date), getMonth(date), getDay(date)+days); } function date2String(date) { var month = getMonth(date)+1; var year = getYear(date); var day = getDay(date); return leadZeroS(day,2)+"."+leadZeroS(month,2)+"."+year; } /***************************************************************/ function getQuestValue(name) { var obj = document.getElementById(name); if (!obj) return 0; var value = 0; if ((obj.nodeName == "DIV") || (obj.nodeName == "SPAN")) { if (isNaN(obj.innerHTML)) value = 0; else value = parseInt(obj.innerHTML, 10); } else if (isNaN(obj.value)) value = 0; else value = parseInt(obj.value, 10); if (value < 0) return 0; return value; } function setQuestValue(name, value) { var obj = document.getElementById(name); if (!obj) return 0; if ((obj.nodeName == "DIV") || (obj.nodeName == "SPAN")) obj.innerHTML = value; else obj.value = value; return 1; } /***************************************************************/ function setObjHTML(obj, html) { if (typeof obj == "string") obj = document.getElementById(obj); if (!obj) return 0; if (obj.innerHTML != html) obj.innerHTML = html; return 1; } function getObjPos(obj, left, top) { LEFT = left; TOP = top; while (obj) { var style = obj.currentStyle; if (typeof style == "undefined") style = document.defaultView.getComputedStyle(obj, null); if (typeof style != "undefined") if (style.position == "relative") { obj = obj.offsetParent; continue; } LEFT += obj.offsetLeft; TOP += obj.offsetTop; obj = obj.offsetParent; } } /***************************************************************/ function setObjAttr(name, attr, value) { document.getElementById(name)[attr] = value; } function getObjAttr(name, attr) { return document.getElementById(name)[attr]; } /***************************************************************/ function hex2byte(h) { if (h.length != 2) return 0; return parseInt(h, 16); } function byte2hex(b) { var hex_alpha = "0123456789ABCDEF"; if (b >= 256) b = 255; return hex_alpha.charAt(b/16) + hex_alpha.charAt(b%16); } /***************************************************************/ function getStringCharsHTML(s) { var a = new Array(); var sz = false; for (i = 0, li = 0, idx = 0; i < s.length; i++) { if (s.charAt(i) == '&') sz = true; if (s.charAt(i) == ';' && sz) sz = false; if (!sz) { a[idx] = s.substring(li, i+1); if (a[idx] == " ") a[idx] = " "; idx++; li = i+1; } } return a; } /***************************************************************/ function doSend(url, params) { var http_request = false; if (window.XMLHttpRequest) { http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml; charset= iso-8859-1'); } } else if (window.ActiveXObject) { try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) return; if (params != "") url = url + "?" + params; try { http_request.open('GET', url, true); http_request.send(null); } catch (e) { /* alert(e); */ } /* alert("Send: " + url); */ } function doCount(click, info) { var params = ""; if (!URUSECOUNTER) return; if (typeof URCOUNTER == "undefined") return; if (typeof URCOUNTER["_PC1_"] == "undefined") return; if (typeof URCOUNTER["_PC2_"] == "undefined") return; if (typeof URCOUNTER["_PNC_"] == "undefined") return; if (!URCOUNTINFO) info = ""; if (click == 1 && CLICKED1 == 1 && info == "") return; if (click == 2 && CLICKED2 == 1 && info == "") return; if (click == 1) CLICKED1 = 1; if (click == 2) CLICKED2 = 1; switch (click) { case 1: params = URCOUNTER["_PC1_"]; break; case 2: params = URCOUNTER["_PC2_"]; break; default: params = URCOUNTER["_PNC_"]; break; } if (info != "") params = params + "&INFO=\""+info+"\""; doSend(URCOUNTER["_URL_"], params); } /***************************************************************/ function setAnimatedObj(obj, text, scol, ecol) { if (obj["animatedInfo"] != "undefined") if (obj["animatedInfo"] == text+":"+scol+":"+ecol) return; else obj["animatedInfo"] = text+":"+scol+":"+ecol; obj["animatedText"] = getStringCharsHTML(text); if (obj["animatedTOut"] != "undefined") window.clearTimeout(obj["animatedTOut"]); if (!URANIMSTATUS) { setObjHTML(obj, "("+text+")"); return; } obj.style.width = 0; if (URANIMCOLOR) { ANIMMODE = 1; setupColorAnim(obj, text, scol, ecol); } if (URANIMRUNTXT) { ANIMMODE = 2; setupRunTxtAnim(obj); } obj["animatedTOut"] = setTimeout(function(){doAnimateObj(obj)}, 100); } function setupColorAnim(obj, text, scol, ecol) { obj["animatedCols"] = new Array(); obj["animatedCIdx"] = 0; if (scol.charAt(0) == "#") scol = scol.substring(1,7); if (ecol.charAt(0) == "#") ecol = ecol.substring(1,7); SR = hex2byte(scol.substring(0,2)); SG = hex2byte(scol.substring(2,4)); SB = hex2byte(scol.substring(4,6)); ER = hex2byte(ecol.substring(0,2)); EG = hex2byte(ecol.substring(2,4)); EB = hex2byte(ecol.substring(4,6)); len = obj["animatedText"].length; cols = Math.max(len, 40); idx = 0; while (idx < len) obj["animatedCols"][idx++] = "#"+scol; for (i = 0; i < cols; i++) { obj["animatedCols"][idx] = "#"; obj["animatedCols"][idx] += byte2hex(SR-i*(SR-ER)/(cols-1)); obj["animatedCols"][idx] += byte2hex(SG-i*(SG-EG)/(cols-1)); obj["animatedCols"][idx] += byte2hex(SB-i*(SB-EB)/(cols-1)); idx++; } idxn = idx; for (i = 0; i < cols; i++) obj["animatedCols"][idx++] = obj["animatedCols"][idxn-1-i]; } function setupRunTxtAnim(obj) { obj["animatedRIdx"] = 0; } function doAnimateObj(obj) { len = obj["animatedText"].length; text = ""; msec = 0; newm = false; switch (ANIMMODE) { case 1: case 2: if (obj.style.textAlign != "center") obj.style.textAlign = "center"; break; case 3: if (obj.style.textAlign != "left") obj.style.textAlign = "left"; break; case 4: if (obj.style.textAlign != "right") obj.style.textAlign = "right"; break; } if (URANIMCOLOR && ANIMMODE == 1) { cols = obj["animatedCols"].length; idx = (cols-obj["animatedCIdx"])%cols; lci = 0; for (i = 0; i < len; i++) { ci = (idx+i)%cols; if (obj["animatedCols"][ci] != obj["animatedCols"][lci] || i == 0) { if (i != 0) text = text + ""; text = text + ""; } text = text + obj["animatedText"][i]; lci = ci; } text = text + ""; obj["animatedCIdx"] = (obj["animatedCIdx"] >= cols-2) ? 0 : (obj["animatedCIdx"]+2); if (obj["animatedCIdx"] == 0) newm = true; msec = 50; } if (URANIMRUNTXT && ANIMMODE != 1) { switch (ANIMMODE) { case 2: case 4: default: for (i = 0; i < obj["animatedRIdx"]; i++) text = text + obj["animatedText"][i]; break; case 3: for (i = obj["animatedRIdx"]; i < len; i++) text = text + obj["animatedText"][i]; obj.style.textAlign = "left"; break; } obj["animatedRIdx"] = (obj["animatedRIdx"] >= len) ? 0 : (obj["animatedRIdx"]+1); if (obj["animatedRIdx"] > 0 && obj["animatedRIdx"] < len-1) obj["animatedRIdx"] = obj["animatedRIdx"]+1; if (obj["animatedRIdx"] == 0) newm = true; if (ANIMMODE == 2) msec = 30; else msec = 80; } if (text == "") text = " "; setObjHTML(obj, text); if (newm) switch (ANIMMODE) { case 1: msec = 3000; ANIMMODE = 3; obj.style.width = obj.offsetWidth; break; case 2: msec = 1000; ANIMMODE = 1; obj.style.width = obj.offsetWidth; break; case 3: msec = 80; ANIMMODE = 4; break; case 4: msec = 1000; ANIMMODE = 1; obj.style.width = obj.offsetWidth; break; } if (msec > 0) obj["animatedTOut"] = setTimeout(function(){doAnimateObj(obj)}, msec); } function Buchungsanfrage() { var days = getQuestValue("questdays"); var pers = getQuestValue("questpers"); var chk1 = getQuestValue("questchk1"); var chk2 = getQuestValue("questchk2"); var chk3 = getQuestValue("questchk3"); var type = ""; if (chk1 > 0) type = type + chk1 + " x " + URTEXT[5]; if (chk2 > 0) { if (type != "") type = type + " , "; type = type + chk2 + " x " + URTEXT[6]; } if ((!startTag) || (days == 0) || (pers == 0)) window.location.href = "anfrage.html"; else window.location.href = "/js/anfrage.php?" + "SDAY="+date2String(startTag)+"&" + "EDAY="+date2String(addDays(startTag, days))+"&" + "PERS="+(pers)+"&" + "CHLDS="+(chk1+chk2)+"&" + "CTYPE=\""+type+"\""; } /***************************************************************/ /* Lokale Variablen */ /***************************************************************/ var jetzt = new Date(); var anzJahr = getYear(jetzt); var anzMonat = getMonth(jetzt); var heute = new Date(anzJahr, anzMonat, getDay(jetzt)); var startTag = null; var cinfo = new Array(); var menutmo = null; var helptmo = null; var nseltmo = null; var nselobj = null; /***************************************************************/ /* Lokale Funktionen */ /***************************************************************/ function getAufschlagIdx(date) { for (j = 0; j < URZAUFSCHL.length; j++) { if (URZAUFSCHL[j][0].length != 11) continue; if (URZAUFSCHL[j][0].charAt(2) != '.') continue; if (URZAUFSCHL[j][0].charAt(5) != '-') continue; if (URZAUFSCHL[j][0].charAt(8) != '.') continue; var von = new Date(getYear(date), URZAUFSCHL[j][0].substr(3,2)-1, URZAUFSCHL[j][0].substr(0,2)); var bis = new Date(getYear(date), URZAUFSCHL[j][0].substr(9,2)-1, URZAUFSCHL[j][0].substr(6,2)); if (date >= von && date <= bis) return j; } return -1; } function isTagBelegt(day) { if (typeof URBELEGT == "undefined") return 0; for (k = 0; k < URBELEGT.length; k++) { if (URBELEGT[k].length != 21) continue; if (URBELEGT[k].charAt( 2) != '.') continue; if (URBELEGT[k].charAt( 5) != '.') continue; if (URBELEGT[k].charAt(10) != '-') continue; if (URBELEGT[k].charAt(13) != '.') continue; if (URBELEGT[k].charAt(16) != '.') continue; var von = new Date(URBELEGT[k].substr( 6,4), URBELEGT[k].substr( 3,2)-1, URBELEGT[k].substr( 0,2)); var bis = new Date(URBELEGT[k].substr(17,4), URBELEGT[k].substr(14,2)-1, URBELEGT[k].substr(11,2)); if (day >= von && day <= bis) return 1; } return 0; } /***************************************************************/ /* Lokale Callback-Funktionen */ /***************************************************************/ function KalenderRefresh() { var days = getQuestValue("questdays"); var pers = getQuestValue("questpers"); setObjHTML("urdtitle", URMNAMES[anzMonat]+" "+anzJahr); for (i = 1; i <= 42; i++) { var obj = document.getElementById("C"+i); var cla = KalenderZellenKlasse(i, "off"); setObjHTML(obj, KalenderZellenText(i)); obj.className = cla; obj.title = KalenderZellenToolTip(i); /* if (cla == "belegt") { obj.style.backgroundImage="url(js/ckbg.php?W="+obj.offsetWidth+"&H="+obj.offsetHeight+"&B=32CD32&F=B22222&M=1)"; } else { obj.style.backgroundImage=="url(js/ckbg.php?W="+obj.offsetWidth+"&H="+obj.offsetHeight+"&F=000000&M=0)";; } */ if (i == 29) if (obj.innerHTML == "") document.getElementById("R5").style.display = "none"; else document.getElementById("R5").style.display = ""; if (i == 36) if (obj.innerHTML == "") document.getElementById("R6").style.display = "none"; else document.getElementById("R6").style.display = ""; } var von = "xx.xx.xxxx"; var bis = "xx.xx.xxxx"; if (startTag) von = date2String(startTag); if (days > 0 && startTag) bis = date2String(addDays(startTag, days)); setObjHTML("urdzraum", von+" - "+bis); obj = document.getElementById("questchk1"); obj["bdisabled"] = (pers == 0); obj.className = (pers == 0) ? "bdisabled" : "bup"; obj = document.getElementById("questchk2"); obj["bdisabled"] = (pers == 0); obj.className = (pers == 0) ? "bdisabled" : "bup"; obj = document.getElementById("questchk3"); obj["bdisabled"] = (pers == 0); obj.className = (pers == 0) ? "bdisabled" : "bup"; if (pers == 0) { if (getQuestValue("questchk1") > 0) setQuestValue("questchk1", 0); if (getQuestValue("questchk2") > 0) setQuestValue("questchk2", 0); if (getQuestValue("questchk3") > 0) setQuestValue("questchk3", 0); } obj = document.getElementById("urdzstat"); if (!startTag) { obj.className = URZSTAT[0][0]; setAnimatedObj(obj, URZSTAT[0][1], URZSTAT[0][2], URZSTAT[0][3]); return; } if (days <= 0) { obj.className = URZSTAT[1][0]; setAnimatedObj(obj, URZSTAT[1][1], URZSTAT[1][2], URZSTAT[1][3]); return; } if (pers <= 0) { obj.className = URZSTAT[2][0]; setAnimatedObj(obj, URZSTAT[2][1], URZSTAT[2][2], URZSTAT[2][3]); return; } var bel = 0 ; for (l = 0; l <= days; l++) { var day = new Date(addDays(startTag,l)); if (isTagBelegt(day)) bel++; } if (bel > 0 && bel == days+1) { obj.className = URZSTAT[3][0]; setAnimatedObj(obj, URZSTAT[3][1], URZSTAT[3][2], URZSTAT[3][3]); } else if (bel > 0) { obj.className = URZSTAT[4][0]; setAnimatedObj(obj, URZSTAT[4][1], URZSTAT[4][2], URZSTAT[4][3]); } else { obj.className = URZSTAT[5][0]; setAnimatedObj(obj, URZSTAT[5][1], URZSTAT[5][2], URZSTAT[5][3]); } } /***************************************************************/ function KalenderTag(cid) { var adate = new Date(anzJahr, anzMonat, 1); var tagW = adate.getDay(); if (tagW == 0) tagW = 6; else tagW -= 1; var days = getMonthDays(anzJahr, anzMonat); var minc = days+tagW; if (minc%7 != 0) minc += (7-minc%7); if (cid <= tagW) return -1; if (cid-tagW > days) if (cid <= minc) return -2; else return -3; return (cid-tagW); } /***************************************************************/ function KalenderTagBelegt(cid) { var tag = KalenderTag(cid); if (tag < 0) return 0; var day = new Date(anzJahr, anzMonat, tag); return isTagBelegt(day); } /***************************************************************/ function KalenderZellenKlasse(cid, norm) { var tag = KalenderTag(cid); if (tag < 0) return ""; if (norm == "on") return norm; var day = new Date(anzJahr, anzMonat, tag); var bel = KalenderTagBelegt(cid); if (startTag) { var days = getQuestValue("questdays"); /* if (days == 0) days = 1; */ var von = startTag; var bis = addDays(startTag, days); if (day >= von && day <= bis) if (bel) return "aktbel"; else return "akt"; } if (bel) return "belegt"; if (URUSEZAUFSCHL) { var idx = getAufschlagIdx(new Date(anzJahr, anzMonat, tag)); if (idx != -1) { idx = URZAUFSCHL[idx][1]; if (idx >= 0 && idx < URSTYLES.length) return URSTYLES[idx]; else return norm; } else return norm; } return norm; } function KalenderZellenText(cid) { var tag = KalenderTag(cid); if (tag == -1) return "
"; if (tag == -2) return "
"; if (tag == -3) return ""; return (tag); } function KalenderZellenToolTip(cid) { var tag = KalenderTag(cid); if (tag < 0) return ""; if (KalenderTagBelegt(cid)) return URTTIPSS[3]; if (URUSEZAUFSCHL) { var idx = getAufschlagIdx(new Date(anzJahr, anzMonat, tag)); if (idx != -1) { idx = URZAUFSCHL[idx][1]; if (idx >= 0 && idx < URSTYLES.length) return URTTIPSD[idx]; else return ""; } else return ""; } return ""; } /***************************************************************/ function KalenderSetMenuSel() { var msel = document.getElementById("urcmenusel"); var year = getYear(jetzt); var month = getMonth(jetzt); for (i = 0; i < 25; i++) { if (year == anzJahr && month == anzMonat) { msel.options[i].selected = true; break; } month += 1; if (month == 12) { month = 0; year += 1; } } } /***************************************************************/ function KalenderSetHelpPos() { var help = document.getElementById("urdhelp"); var elem = document.getElementById("urdmain"); getObjPos(elem, elem.offsetWidth - help.offsetWidth - 4, 4); help.style.position = "absolute"; help.style.top = TOP +'px'; help.style.left = LEFT+'px'; help.style.visibility = "visible"; } function KalenderShowMenu() { var elem = (URUSEBUTTONS) ? document.getElementById("BR") : document.getElementById("urdtitle"); var menu = document.getElementById("urpopmenu"); getObjPos(elem, elem.offsetWidth, 0); /* KalenderSetMenuSel(); */ menu.style.position = "absolute"; menu.style.top = TOP +'px'; menu.style.left = LEFT+'px'; menu.style.visibility = "visible"; if (menutmo != null) window.clearTimeout(menutmo); } function KalenderShowHelp(text) { var elem = document.getElementById("urdmain"); var help = document.getElementById("urpophelp"); var htxt = document.getElementById("urhelptext"); setObjHTML(htxt, text); getObjPos(elem, (elem.offsetWidth - help.offsetWidth) / 2, 10); help.style.position = "absolute"; help.style.top = TOP +'px'; help.style.left = LEFT+'px'; help.style.visibility = "visible"; if (helptmo != null) window.clearTimeout(helptmo); } function KalenderOnChangeNSel(name, lzeros) { var val = getQuestValue(name+"sel"); setQuestValue(name, val); setObjHTML(name, leadZeroS(val, lzeros)); if (name.match("^queststart")) KalenderSTSetzen(); preiseBerechnen(); } function KalenderShowNSel(name, min, max, lzeros, setup) { var elem = document.getElementById(name); var nsel = document.getElementById("urpopnsel"); if (setup) { var amin = getObjAttr(name, "_MINSV_"); var amax = getObjAttr(name, "_MAXSV_"); if (typeof amin != "undefined") min = amin; if (typeof amax != "undefined") max = amax; var val = getQuestValue(name); var size = max-min+1; if (size > 5) size = 5; var html = ""; setObjHTML(nsel, html); } getObjPos(elem, (-1)*(nsel.offsetWidth), 0); nsel.style.position = "absolute"; nsel.style.top = TOP +'px'; nsel.style.left = LEFT+'px'; nsel.style.visibility = "visible"; nselobj = name; if (nseltmo != null) window.clearTimeout(nseltmo); } /***************************************************************/ function KalenderHidePopup(popup) { var elem = document.getElementById(popup); elem.style.visibility = 'hidden'; var obj = null; if (popup == "urpopmenu") { obj = document.getElementById("BL"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("BR"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (popup == "urpophelp") { obj = document.getElementById("urdhelp"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (popup == "urpopnsel") { obj = document.getElementById("queststart_day"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("queststart_month"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("queststart_year"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("questdays"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("questpers"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("questchk1"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("questchk2"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; obj = document.getElementById("questchk3"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } } function KalenderHideMenu() { menutmo = setTimeout("KalenderHidePopup('urpopmenu')", 300); } function KalenderHideHelp() { helptmo = setTimeout("KalenderHidePopup('urpophelp')", 300); } function KalenderHideNSel(name) { if (nselobj != null) if (nselobj != name) return; nseltmo = setTimeout("KalenderHidePopup('urpopnsel')", 300); } /***************************************************************/ function KalenderLinksClick() { if (anzJahr == getYear(jetzt) && anzMonat == getMonth(jetzt)) return; anzMonat -= 1; if (anzMonat == -1) { anzMonat = 11; anzJahr -= 1; } KalenderSetMenuSel(); KalenderRefresh(); doCount(1, ""); } function KalenderRechtsClick() { if (anzJahr == getYear(jetzt)+2 && anzMonat == getMonth(jetzt)) return; anzMonat += 1; if (anzMonat == 12) { anzMonat = 0; anzJahr += 1; } KalenderSetMenuSel(); KalenderRefresh(); doCount(1, ""); } function KalenderMonatSetzen() { var val = getQuestValue("urcmenusel"); anzJahr = getYear(jetzt); anzMonat = getMonth(jetzt); for (i = 0; i < val; i++) { anzMonat += 1; if (anzMonat == 12) { anzMonat = 0; anzJahr += 1; } } KalenderSetMenuSel(); KalenderRefresh(); doCount(1, ""); } function KalenderSTUpdate() { if (!startTag) return; var year = getYear(startTag); var month = getMonth(startTag)+1; var day = getDay(startTag); setQuestValue("queststart_year", leadZeroS(year,4)); setQuestValue("queststart_month", leadZeroS(month,2)); setQuestValue("queststart_day", leadZeroS(day,2)); setObjAttr("queststart_day", "_MAXSV_", getMonthDays(year, month-1)); if (year == getYear(jetzt)) setObjAttr("queststart_month", "_MINSV_", getMonth(jetzt)+1); else setObjAttr("queststart_month", "_MINSV_", 1); if (year == getYear(jetzt)+2) setObjAttr("queststart_month", "_MAXSV_", getMonth(jetzt)+1); else setObjAttr("queststart_month", "_MAXSV_", 12); } function KalenderSTSetzen() { var year = getQuestValue("queststart_year"); var month = getQuestValue("queststart_month")-1; var day = getQuestValue("queststart_day"); if (year == getYear(jetzt)) if (month < getMonth(jetzt)) month = getMonth(jetzt); if (year == getYear(jetzt)+2) if (month > getMonth(jetzt)) month = getMonth(jetzt); if ((day == 0) || (month == -1) || (year == 0)) return; var days = getMonthDays(year, month); if (day > days) day = days; anzJahr = year; anzMonat = month; startTag = new Date(year, month, day); KalenderSTUpdate(); KalenderSetMenuSel(); } /***************************************************************/ function KalenderMOverDay(cid) { var obj = document.getElementById("C"+cid); obj.className = KalenderZellenKlasse(cid, "on"); /* obj.style.backgroundImage = "url(bilder/fewo-top.jpg)" obj.style.backgroundImage="url(js/ckbg.php?W="+obj.offsetWidth+"&H="+obj.offsetHeight+"&F=000000&M=0)"; */ } function KalenderMOutDay(cid) { var obj = document.getElementById("C"+cid); obj.className = KalenderZellenKlasse(cid, "off"); } function KalenderMClickDay(cid) { /* if (KalenderTagBelegt(cid)) return; */ var tag = KalenderTag(cid); if (tag < 0) { return; } startTag = new Date(anzJahr, anzMonat, tag); KalenderSTUpdate(); preiseBerechnen(); } /***************************************************************/ function KalenderMOverButton(bid) { if (bid != "BR") { var obj = document.getElementById("BR"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (bid != "BL") { var obj = document.getElementById("BL"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } var obj = document.getElementById(bid); obj.className = "bdown"; KalenderShowMenu(); } function KalenderMOutButton(bid) { KalenderHideMenu(); } /***************************************************************/ function KalenderMOverNSel(name, min, max, lzeros, setup) { if (name != "queststart_day") { obj = document.getElementById("queststart_day"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (name != "queststart_month") { obj = document.getElementById("queststart_month"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (name != "queststart_year") { obj = document.getElementById("queststart_year"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (name != "questdays") { obj = document.getElementById("questdays"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (name != "questpers") { obj = document.getElementById("questpers"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (name != "questchk1") { obj = document.getElementById("questchk1"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (name != "questchk2") { obj = document.getElementById("questchk2"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } if (name != "questchk3") { obj = document.getElementById("questchk3"); obj.className = obj["bdisabled"] ? "bdisabled" : "bup"; } var obj = document.getElementById(name); if (obj["bdisabled"]) return; obj.className = "bdown"; KalenderShowNSel(name, min, max, lzeros, setup); } function KalenderMOutNSel(name) { KalenderHideNSel(name); } /***************************************************************/ function KalenderMOverHelp() { var obj = document.getElementById("urdhelp"); obj.className = "bdown"; KalenderHilfe(); } function KalenderMOutHelp() { KalenderHideHelp(); } /***************************************************************/ function KalenderHilfe() { /* var obj = document.getElementById("urdhelp"); obj.className = "bup"; */ doCount(2, ""); if (startTag == null) { KalenderShowHelp(unescape(URHILFE[0])); return; } if (getQuestValue("questdays") == 0) { KalenderShowHelp(unescape(URHILFE[1])); return; } if (getQuestValue("questpers") == 0) { KalenderShowHelp(unescape(URHILFE[2])); return; } KalenderShowHelp(unescape(URHILFE[3])); } /***************************************************************/ function preiseBerechnen() { if (URUSEZAUFSCHL) KalenderRefresh(); var days = getQuestValue("questdays"); var pers = getQuestValue("questpers"); var chk1 = getQuestValue("questchk1"); var chk2 = getQuestValue("questchk2"); var chk3 = getQuestValue("questchk3"); if (days == 0 || pers == 0 || (!startTag && URUSEZAUFSCHLAG)) { resultLeer(); return; } var respersn = pers + chk1 + chk2 + chk3; if (respersn > URMAXPERS) { resultLeer(); setObjHTML("respersn", respersn + " !!"); return; } var tagespreis = URGRUNDP; var respreis = 0; if (pers > URGRDPERS) tagespreis += (pers-URGRDPERS)*URMEHRP; if (chk1 > 0) tagespreis += chk1*URKINDK1; if (chk2 > 0) tagespreis += chk2*URKINDK2; if (chk3 > 0) tagespreis += chk3*URKINDK3; if (URUSEZAUFSCHL && startTag && (URUSEKAUFSCHL != 1)) { for (i = 0; i < days; i++) { var day = addDays(startTag, i); var idx = getAufschlagIdx(day); var aufpreis = 0; if (idx >= 0) { aufpreis += URZAUFSCHL[idx][2]; if (pers > URGRDPERS) aufpreis += (pers-URGRDPERS)*URZAUFSCHL[idx][3]; aufpreis += chk1*URZAUFSCHL[idx][4]; aufpreis += chk2*URZAUFSCHL[idx][5]; aufpreis += chk3*URZAUFSCHL[idx][6]; } respreis += tagespreis + aufpreis; } } else respreis = tagespreis * days; if (URUSEKAUFSCHL) if (days >= 1 && days <= URKAUFSCHL.length) respreis = respreis + (days * URKAUFSCHL[days-1]); var resprspt = respreis / (respersn * days); respreis = respreis.toFixed(2); resprspt = resprspt.toFixed(2); setObjHTML("respersn", respersn); setObjHTML("respreis", respreis + URWAEHRUNG); setObjHTML("resprspt", resprspt + URWAEHRUNG); if (!URCOUNTINFO) return; if (!startTag || days <= 0 || respersn <= 0) return; var von = date2String(startTag); /* var bis = date2String(addDays(startTag, days)); */ var inf = von + ":" + days + ":" + respersn; for (i = 0; i < cinfo.length; i++) if (inf == cinfo[i]) return; cinfo.push(inf); doCount(0, inf); } function SetupConfig() { if (navigator.cookieEnabled) { infs = document.cookie.split(";"); for (i = 0; i < infs.length; i++) if (infs[i] == "urcmod=off") URUSECOUNTER = 0; } } function OnLoadSetup() { KalenderSetHelpPos(); KalenderSTUpdate(); if (URUSESTVALS) preiseBerechnen(); else doCount(0, ""); KalenderRefresh(); } /***************************************************************/ /* Lokale Funktionen */ /***************************************************************/ function KalenderErzeugen() { document.write(""); if (URUSEBUTTONS) { document.write(""); } document.write(""); if (URUSEBUTTONS) { document.write(""); } document.write(""); document.write(""); for (i = 0; i < 7; i++) document.write(""); document.write(""); for (row = 0; row < 6; row++) { document.write(""); for (col = 1; col <= 7; col++) { document.write(""); } document.write(""); } document.write("
«"+URMNAMES[anzMonat]+" "+anzJahr+"»
"+URWDAYS[i]+"
"); document.write(KalenderZellenText(row*7+col)+"
"); } function KalenderInfoErzeugen() { document.write("
Hilfe
"); document.write("
Kalenderlegende
"); document.write(""); for (i = 0; i < URLEGEND.length; i++) document.write(""); document.write("
   "+URLEGEND[i][1]+"
"); document.write("
"+URTEXT[1]+"
"); document.write("
xx.xx.xxxx - xx.xx.xxxx
"); document.write("
"); if (!URANIMSTATUS) document.write("("+URZSTAT[0][1]+")
"); else document.write(URZSTAT[0][1]+""); } function TitelZeileErzeugen(titel) { document.write(""+titel+""); } function DatumsFrageZeileErzeugen(name, frage, svday, svmonth, svyear) { document.write(""+frage+""); document.write(""); document.write(""); document.write(svyear); document.write(""); /* document.write("."); */ document.write(""); document.write(svmonth); document.write(""); /* document.write("."); */ document.write(""); document.write(svday); document.write(""); document.write(""); } function FrageZeileErzeugenNSel(name, frage, antwort_min, antwort_max, startval, needed) { document.write(""+frage+""); document.write(""); document.write("
"); document.write(startval); document.write("
"); } function FrageZeileErzeugenNSelInp(name, frage, antwort_min, antwort_max, startval, needed) { document.write(""+frage+""); document.write(""); document.write(""); } function FrageZeileErzeugen(name, frage, antwort_min, antwort_max, startval, needed) { if (URUSENUMSEL) { FrageZeileErzeugenNSel(name, frage, antwort_min, antwort_max, startval, needed); return; } document.write(""+frage+""); /* document.write(""); if (needed) document.write("