if (!secimg) var secimg = [];if ((typeof citysam) != "object") {var citysam = {}}citysam.cal = (function() {var n_cal_id = 1;var m_days = [31,0,31,30,31,30,31,31,30,31,30,31];var cdate=new Date();var cmon=cdate.getMonth();var cyear=cdate.getFullYear();var m=cmon;var y=cyear;if (m<0) m=11;var ya=(m<=1)?0:1;var month = [];for(var i=0;i<13;i++) {var md=m_days[m];if (!md) {md = ((((y+ya) % 100 != 0) && ((y+ya) % 4 == 0)) || ((y+ya) % 400 == 0)) ? 29 : 28;}month[y+"-"+m]=md;if (++m>11) {m=0;y++;}}m_days[1] = (((cdate.getFullYear() % 100 != 0) && (cdate.getFullYear() % 4 == 0)) || (cdate.getFullYear() % 400 == 0)) ? 29 : 28;return {getInstance : function(ft, vfg, f1, f2, f3, f4) {var _this = {};var _thisCal;var _visible=false;var _ftype = ft?ft:"d-my";var _dates = [];var _weeks = [];var _vweeks= [];var _marked = [];var _nav = {p:false,n:false};var _i05 = {min:0,max:0};var _cPos = {x:0,y:0,s:false};var _selM;switch(_ftype) {case "d-my":var _arrival = {d : document.getElementById(f1),my : document.getElementById(f2),i2005 : 0};var _departure = {d : document.getElementById(f3),my : document.getElementById(f4),i2005 : 0};break;}var vo;if (vfg && (vo=document.getElementById(vfg))) {var _vfg = {u : true,o : vo}} else {var _vfg = {u : false}}var _lcd=true;var _unmto=false;var _days2005int = function(y,m,d) {var t=new Date(y,m,d);return Math.round((t.getTime()-1104534000000)/86400000);};var _days2005date = function(i05) {if (!i05) return false;return new Date(i05*86400000+1104534000000+7200000);};var _weeks2005int = function(i05) {return Math.floor((i05-2)/7);};var _tday=new Date();var _tday2005=_days2005int(_tday.getFullYear(),_tday.getMonth(),_tday.getDate());var _create = function() {var d = document.createElement("td");d.className="d6a8e";var t=document.createElement("div");t.className="d6r8e";t.innerHTML=navi.kal_desc;_selM=document.createElement("select");_selM.style.cssText="font-size:7pt;width:60px;";var i;for(i in month) {var e=i.split("-");if (e[0]==cyear&&e[1]>=cmon||e[0]>cyear&&e[1]!=cmon) {var o=document.createElement("option");o.value=i;o.innerHTML=monatsnamen_kurz[e[1]]+" "+e[0].toString().substr(2);_selM.appendChild(o);}}citysam.DOM.bindEvent("onchange",_selM,function(){_this.showMonths(this.value);});
				d.appendChild(t);var d2= document.createElement("div");d2.className="d6v8e";var m=document.createElement("table");var mb=document.createElement("tbody");m.appendChild(mb);
				var r=document.createElement("tr");
				var c=document.createElement("td");
				c.appendChild(_selM);
				r.appendChild(c);
				
				c=document.createElement("td");
				c.colSpan=7;
				c.innerHTML=navi.kal_zu;
				c.className="d6d8e";
				c.style.height="27px";
				citysam.DOM.bindEvent("onclick",c,_this.hide);
				r.appendChild(c);
				mb.appendChild(r);
				var f=true;var t=0;for(i in month) {_weeks[i]=[];if (f) {var e=i.split("-");var tt=new Date(e[0], e[1], 1);var dfw=tt.getDay()-1;if (dfw<0) dfw=6;f05=_days2005int(e[0], e[1], 1);var dm=e[1];var dy=e[0];f=false;}t+=month[i];}r=document.createElement("tr");c=document.createElement("td");_nav.p=document.createElement("img");_nav.p.src="/cb1a/f8y7c.gif";_nav.p.style.height="25px";c.appendChild(_nav.p);r.appendChild(c);for(var i=0;i<7;i++) {c=document.createElement("td");c.innerHTML=wochentagsnamen[i];c.className="d6s8e";r.appendChild(c);}mb.appendChild(r);var wk=0;var dd=0;var om=-1;var wkm=0;_i05.min=_tday2005;_i05.max=_i05.min+360;for(i=f05-dfw;i<f05+t;i++) {if (i<f05) {enbld=false;} else {enbld=true;}if (enbld) {if (++dd>month[dy+"-"+dm]) {dd=1;if (++dm>11) {dm=0;dy++;}}}if (++wk==1) {r=document.createElement("tr");r.style.display="none";r.week=_weeks2005int(i);_weeks[dy+"-"+dm][r.week]=r;if (om!=dm) {om=dm;if (oc) oc.rowSpan=wkm;wkm=0;var oc=document.createElement("td");oc.rowSpan=Math.ceil((month[dy+"-"+dm]-dd+1) / 7);oc.className=(dm%2==0)?"d638e":"d6c8e";oc.innerHTML=monatsnamen_kurz[dm]+" "+dy.toString().substr(2);if (dy==cyear&&dm>=cmon||dy>cyear&&dm!=cmon) {citysam.DOM.bindEvent("onclick",oc,(function() {var m=dm;var y=dy;return function() {_this.showMonths(y+"-"+m);}})());} else {oc.style.cursor="default";}r.appendChild(oc);}wkm++;}var c=document.createElement("td");if (enbld) {c.innerHTML=dd;c.cal_d=dd;c.cal_m=dm;c.cal_y=dy;c.cal_i=i;c.is_w=wk==6 || wk==7;c.wk=wk;_dates[i]=c;if (i<_tday2005 || i>_tday2005+360) {c.className="d6l8e";} else {citysam.DOM.bindEvent("onmouseover",c,_this.markDate);citysam.DOM.bindEvent("onclick",c,_this.setDate);if (c.is_w) {c.className=(dm%2==0)?"d648e":"d6u8e";} else {c.className=(dm%2==0)?"d6y8e":"d6n8e";}c.cN=c.className;citysam.DOM.bindEvent("onmouseover",c,function() {if (_unmto) window.clearTimeout(_unmto);});}} else {c.className="d6l8e";}r.appendChild(c);if (wk==7) {wk=0;mb.appendChild(r);}}if (oc && wkm!=0) oc.rowSpan=wkm-1;r=document.createElement("tr");c=document.createElement("td");_nav.n=document.createElement("img");_nav.n.src="/cb1a/f8r7c.gif";_nav.n.style.height="25px";c.appendChild(_nav.n);r.appendChild(c);c=document.createElement("td");c.colSpan=7;c.innerHTML = navi.kal_zu;c.className="d6d8e";citysam.DOM.bindEvent("onclick",c,_this.hide);r.appendChild(c);mb.appendChild(r);citysam.DOM.bindEvent("onmouseout",m,function() {if (_unmto) window.clearTimeout(_unmto);_unmto=window.setTimeout(_this.unmarkDates, 10);});d2.appendChild(m);d.appendChild(d2);var sh=document.createElement("table");var tb=document.createElement("tbody");sh.appendChild(tb);r=document.createElement("tr");tb.appendChild(r);r.appendChild(d);c=document.createElement("td");r.appendChild(c);c.className="dhv8x";c.style.backgroundImage=secimg[4] ? secimg[4] : "url(/cb1a/f6b7c.png)";c.style.width="6px";r=document.createElement("tr");tb.appendChild(r);c=document.createElement("td");r.appendChild(c);c.colSpan="2";c.className="dhv8x";c.style.backgroundImage=secimg[5] ? secimg[5] : "url(/cb1a/f8u7c.png)";c.style.height="6px";_thisCal=sh;_thisCal.className="d6g8e";_thisCal.style.zIndex="99999";_arrival.d.parentNode.appendChild(_thisCal);_this.getSelectedDate();_this.showMonths();_regSoC();};var _regSoC = function() {var ev = [];switch(_ftype) {case "d-my":ev=[_arrival.d,_arrival.my,_departure.d,_departure.my];break;}for(i in ev) {citysam.DOM.bindEvent("onchange",ev[i],_this.getSelectedDate);}};_this.id = n_cal_id++;_this.showMonths = function(m) {if (!m) {if (!_arrival.i2005 && !_departure.i2005) {var m=cyear+"-"+cmon;} else {var i=(_arrival.i2005) ? _arrival.i2005 : _departure.i2005;var t=_days2005date(i);var m=t.getFullYear()+"-"+t.getMonth();}}var s=m.split("-");if (s[0]==cyear && s[1]==cmon) {s[1]++;if (s[1]>11) {s[0]++;s[1]=0;}m=s[0]+"-"+s[1];}var lm=s[1]-1;var ly=s[0];if (lm<0) {lm=11;--ly;}var nm=parseInt(s[1])+1;var ny=s[0];if (nm>11) {nm=0;++ny;}for(var i in _vweeks) {_vweeks[i].style.display="none";delete(_vweeks[i]);}_this.displayMonth(ly+"-"+lm);_this.displayMonth(m);_this.displayMonth(ny+"-"+nm);citysam.DOM.deleteEvents("onclick", _nav.p);citysam.DOM.deleteEvents("onclick", _nav.n);citysam.DOM.deleteEvents("ondblclick", _nav.p);citysam.DOM.deleteEvents("ondblclick", _nav.n);if (ly==cyear&&lm>cmon||ly>cyear&&lm!=cmon) {citysam.DOM.bindEvent("onclick",_nav.p,(function() {var m=ly+"-"+lm;return function() {_this.showMonths(m);}})());citysam.DOM.bindEvent("ondblclick",_nav.p,(function() {var m=ly+"-"+lm;return function() {_this.showMonths(m);}})());_nav.p.src=secimg[0] ? secimg[0] : "/cb1a/f8y7c.gif";} else {_nav.p.src=secimg[1] ? secimg[1] : "/cb1a/f8w7c.gif";}if (ny==cyear&&nm>=cmon||ny>cyear&&nm!=cmon) {citysam.DOM.bindEvent("onclick",_nav.n,(function() {var m=ny+"-"+nm;return function() {_this.showMonths(m);}})());citysam.DOM.bindEvent("ondblclick",_nav.n,(function() {var m=ny+"-"+nm;return function() {_this.showMonths(m);}})());_nav.n.src=secimg[2] ? secimg[2] : "/cb1a/f8r7c.gif";} else {_nav.n.src=secimg[3] ? secimg[3] : "/cb1a/f8l7c.gif";}if (++nm>11) {nm=0;++ny;}_this.displayMonth(ny+"-"+nm);_selM.value=m;};_this.displayMonth = function(m) {if (!_weeks[m]) return;for(var i in _weeks[m]) {_weeks[m][i].style.display="";_vweeks[i]=_weeks[m][i];}};_this.getSelectedDate = function() {switch(_ftype) {case "d-my":var ad=_arrival.d.value;var amy=_arrival.my.value;if (ad && amy) {var s=amy.split("-");_arrival.i2005=_days2005int(s[0],s[1]-1,ad);if (_arrival.i2005<_i05.min) _arrival.i2005=_i05.min;if (_arrival.i2005>_i05.max) _arrival.i2005=_i05.max;}var dd=_departure.d.value;var dmy=_departure.my.value;if (dd && dmy) {var s=dmy.split("-");_departure.i2005=_days2005int(s[0],s[1]-1,dd);if (_departure.i2005<_i05.min) _departure.i2005=_i05.min;if (_departure.i2005>_i05.max) _departure.i2005=_i05.max;}break;}_this.markDatesFT(0,0);};_this.setSelectedDate = function() {var at=_days2005date(_arrival.i2005);var dt=_days2005date(_departure.i2005);switch(_ftype) {case "d-my":if (at) {_arrival.d.value=at.getDate();_arrival.my.value=at.getFullYear()+"-"+(at.getMonth()+1);}if (dt) {_departure.d.value=dt.getDate();_departure.my.value=dt.getFullYear()+"-"+(dt.getMonth()+1);}break;}if (_vfg.u) _vfg.o.checked=true;};_this.setDate = function(e,o) {if (!o) var o=this;var i=o.cal_i;if (_arrival.i2005 || _departure.i2005) {if (!_arrival.i2005) {_arrival.i2005=i;_lcd=false;} else if (!_departure.i2005) {_departure.i2005=i;_lcd=true;} else if (i < _arrival.i2005 || (i <= _departure.i2005 && _lcd)) {_arrival.i2005=i;_lcd=false;} else {_departure.i2005=i;_lcd=true;}} else {_arrival.i2005=o.cal_i;_lcd=false;}_this.markDatesFT(_arrival.i2005,_departure.i2005);_this.setSelectedDate();};_this.markDate = function(e,o) {if (!o) var o=this;var i=o.cal_i;if (_arrival.i2005 || _departure.i2005) {if (!_arrival.i2005 || !_departure.i2005) {var d=_arrival.i2005+_departure.i2005;if (i<d) {var f=i;var t=d;} else {var f=d;var t=i;}} else if (i < _arrival.i2005 || (i <= _departure.i2005 && _lcd)) {var f=i;var t=_departure.i2005;} else {var f=_arrival.i2005;var t=i;}_this.markDatesFT(f,t);} else {_this.markDatesFT(i,i);}};_this.markDatesFT = function(f,t) {for(var i in _marked) {if (_marked[i].cal_i<f||_marked[i].cal_i>t) {_marked[i].className=_marked[i].cN;delete(_marked[i]);}}for(var i=f;i<=t;i++) {if (!_dates[i]) continue;_dates[i].className="d6h8e";_marked[i]=_dates[i];}if (_arrival.i2005 && _departure.i2005) {for(i=_arrival.i2005;i<=_departure.i2005;i++) {if ((i>=f && i<=t) || (f==0 && t==0)) {var cn="d6j8e";} else {var cn="d668e";}_marked[i]=_dates[i];_dates[i].className=cn;}}};_this.unmarkDates = function() {_this.markDatesFT(0,0);};_this.hide = function() {citysam.gui.showSel("cal"+_this.id);_thisCal.style.display="none";_visible=false;};_this.show = function() {_thisCal.style.display="block";if (!_cPos.s) _this.posByObj(_arrival.d);citysam.gui.hideSelP("cal"+_this.id,_thisCal);_selM.focus();_visible=true;};_this.swV = function() {_visible?_this.hide():_this.show();};_this.posByObj = function(o) {if (!o || _cPos.s) return false;var p=citysam.DOM.getElementPos(o);var w=_thisCal.offsetWidth;var x=p.x-w-20;if (x<20) x=p.x+o.offsetWidth+100;_this.setPos(x,p.y-40);};_this.setPos = function(x,y) {_cPos.x=x;_cPos.y=y;_cPos.s=true;_thisCal.style.left=x+"px";_thisCal.style.top=y+"px";};_create();return _this;}}})();