/***************************************************************/
/* Urlaubsrechner - Konfiguration */
/***************************************************************/
/***************************************************************/
/***************************************************************/
/* Hier kann die Preisberechnung veraendert werden ... */
/***************************************************************/
var URMAXPERS = 6; // Maximale Anzahl Personen
var URGRUNDP = 45; // Grundpreis
var URGRDPERS = 2; // Anzahl Personen Grundpreis
var URMEHRP = 10; // Mehrpreis pro zusaetzl. Person
var URKINDK1 = 7; // Preis fuer Kinder Kategorie 1 (z.B. 16 Jahren)
var URKINDK2 = 5; // Preis fuer Kinder Kategorie 2 (z.B. 8 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 URUSEZAUFSCHL = 1;
var URZAUFSCHL = // Aufschlag im Zeitraum auf Grundpreis, Mehrpreis, KindK1 und KindK2
new Array (
// new Array("01.01-15.01", 0, +3, 0, 0, 0), // vom 01.01 - 15.01 0 Euro.
// new Array("16.01-19.04", 1, 0, 0, 0, 0), // auf1, auf2 und auf3 sind
// new Array("20.04-20.09", 0, +3, 0, 0, 0), // versch. CSS-Formate in der zug. CSS-Datei
// new Array("21.09-14.12", 2, 0, 0, 0, 0), // fuer die Anzeige der Tage (Farben).
// new Array("15.12-31.12", 0, +3, 0, 0, 0) // danach Aufschlag GP, MehrP, KindK1, KindK2
new Array("01.01-20.04", 0, 0, 0, 0, 0),
new Array("21.04-20.09", 1, +3, 0, 0, 0),
new Array("21.09-31.12", 0, 0, 0, 0, 0)
);
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, -3,
-3, -3, -3, -3, -3, -3, -3,
-3, -3, -3, -3, -3, -3, -3 // 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" );
/***************************************************************/
/* 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 (
"Saison A", "Saison B"
);
var URSTYLES =
new Array (
"auf2", "auf1"
);
var URTTIPSS =
new Array (
"Monat zurück", "Monat vor", "Monat und Jahr auswählen", "Belegt"
);
var URLEGEND =
new Array (
new Array ("auf2", "Saison A"),
new Array ("auf1", "Saison B"),
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 =
/* ""+
"
"+
"
Bitte zuerst im Kalender den geplanten Urlaubsmonat auswählen. (»)
"+
"
Dann den gewünschten Tag für ihren Urlaubsbeginn im Kalender anklicken.
"+
"
Nun die Anzahl der Urlaubstage und der Personen auswählen.
"+
"
"+
*/
"
"+
"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 "+URKINDK1+URWAEHRUNG+" bzw. "+URKINDK2+URWAEHRUNG+". "+
"Bei Kurzaufenthalten (bis zu 6 Tagen) erhöht sich der Grundpreis."+
"
"+
/*
"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:", 4, 28 ),
new Array ( "Anzahl der erwachsenen Personen angeben:", 2, 6 ),
new Array ( "Kinder unter 16 Jahren (bei Urlaubsantritt):", 0, 4 ),
new Array ( "Kinder unter 8 Jahren (bei Urlaubsantritt):", 0, 4 )
);
var URBELEGT = new Array (
"30.07.2011-13.08.2011",
"12.02.2011-26.02.2011",
"17.08.2011-27.08.2011",
"12.06.2011-24.06.2011",
"10.09.2011-24.09.2011",
"31.12.2010-07.01.2011",
"23.07.2011-29.07.2011",
"12.07.2011-22.07.2011",
"27.03.2011-02.04.2011",
"28.08.2011-04.09.2011",
"11.02.2012-25.02.2012",
"01.05.2011-10.05.2011",
"14.04.2011-19.04.2011",
"01.07.2011-04.07.2011",
"15.10.2011-22.10.2011",
"21.07.2012-04.08.2012",
"26.08.2012-08.09.2012",
"25.09.2011-01.10.2011",
"29.10.2011-05.11.2011",
"28.12.2011-03.01.2012",
"05.08.2012-19.08.2012",
"09.09.2012-23.09.2012",
"29.06.2012-20.07.2012",
"10.06.2012-24.06.2012",
"02.06.2012-09.06.2012",
"29.02.2012-04.03.2012",
"17.05.2012-20.05.2012"
);
/***************************************************************/
/* 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 != "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 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";
if (pers == 0)
{
if (getQuestValue("questchk1") > 0) setQuestValue("questchk1", 0);
if (getQuestValue("questchk2") > 0) setQuestValue("questchk2", 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";
}
}
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";
}
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");
if (days == 0 || pers == 0 || (!startTag && URUSEZAUFSCHLAG))
{
resultLeer();
return;
}
var respersn = pers + chk1 + chk2;
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 (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];
}
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("