var dateReminder2 = new Array();

//vyvolani calendare
function clndr(title, leg, divId) {
    var data = document.getElementById('calendarTMPvalue');
    var callBack = encodeURIComponentFull('clndr_back('+leg+');');
    data.value = depDateValue[leg].getVal();
    
    if (leg == 0) { //departure
        calendarRun('calendarTMPvalue', divId, title, depDateResFrom[leg], depDateResTo[leg], '', '', callBack);
    } else if (leg == 1) { //return
        var from;
        if (depDateValue[0] > depDateResFrom[leg]) from = depDateValue[0];
        else from = depDateResFrom[leg];
        calendarRun('calendarTMPvalue', divId, title, from, depDateResTo[leg], '', '', callBack);
    }
    
}
//spracovani calendare
function clndr_back(leg, form) {
    if (!form && typeof formNameItinerary != 'undefined') form = getFormByName(formNameItinerary);
    if (!form && typeof formName != 'undefined') form = getFormByName(formName);
    var data = document.getElementById('calendarTMPvalue');
    if (leg == 0) { //departure
        depDateValue[leg].setVal(data.value);
        setCalValue(leg, depDateValue[leg], form);
        if (depDateValue[leg] > depDateValue[1]) {
            if (depDateValue[leg] < depDateResTo[1]) {
                depDateValue[1] = depDateValue[leg];
            } else {
                depDateValue[1] = depDateResTo[1];
            }
            setCalValue(1, depDateValue[1], form);
        }
    } else if (leg == 1) { //return
        depDateValue[leg].setVal(data.value);
        setCalValue(leg, depDateValue[leg], form);
    }
    
    clndr_read(leg, form); // presetovani druheho kalendare
}
//spracovani rucniho zadani
function clndr_read(leg, form) {
    if (!form && typeof formNameItinerary != 'undefined') form = getFormByName(formNameItinerary);
    if (!form && typeof formName != 'undefined') form = getFormByName(formName);
    if (leg == 0) { //departure
        depDateValue[leg] = getCalValue(leg, form);
        if (depDateValue[leg] > depDateValue[1]) {
            if (depDateValue[leg] < depDateResTo[1]) {
                depDateValue[1] = depDateValue[leg];
            } else {
                depDateValue[1] = depDateResTo[1];
            }
            setCalValue(1, depDateValue[1], form);
        }
    } else if (leg == 1) { //return
        depDateValue[leg] = getCalValue(leg, form);
    }
    
    dateReminder2[leg] = depDateValue[leg].getVal().substr(0,10);
    generateNumberOfNights2();
}

//vraci hodnotu data z makroelementu (den + comboSmesicemArokem)
function getCalValue(leg, form) { 
    if (!form && typeof formNameItinerary != 'undefined') form = getFormByName(formNameItinerary);
    if (!form && typeof formName != 'undefined') form = getFormByName(formName);
    var day = getElement(form, depDayName[leg]);
    var month = getElement(form, depMonthSelName[leg]);
    var group = depMonthNameOptions[leg][month.options[month.selectedIndex].value];
    if (!day.value || !group) return false;
    group = group.split('-');
    var myDT = new Date();

	//omezeni nejvyssiho dne v mesici	
	if (group[1] == 4 || group[1] == 6 || group[1] == 9 || group[1] == 11) {  
		maxDay = 30;
	} else if (group[1] == 2 && group[0] == 2012 && group[0] == 2016 && group[0] == 2020) {
		maxDay = 29;	
	} else if (group[1] == 2) {
		maxDay = 28;	
	} else {
		maxDay = 31;
	}
    if (day.value > maxDay) {
    	day.value = maxDay;
    } else if (day.value < 1) {
    	day.value = 1;
    }
	myDT.setVal(group[0]+'-'+group[1]+'-'+day.value+' 12:00:00', 'Y-m-d H:i:s');
    return myDT;
}

//nastavi hodnotu data v makroelementu (den + comboSmesicemArokem)
function setCalValue(leg, myDT, form) { 
    var x, i;
    if (!form && typeof formNameItinerary != 'undefined') form = getFormByName(formNameItinerary);
    if (!form && typeof formName != 'undefined') form = getFormByName(formName);
    var day = getElement(form, depDayName[leg]);
    var month = getElement(form, depMonthSelName[leg]);
    var group = myDT.getVal('Y-m');
    day.value = myDT.getVal('j');
    
    dateReminder2[leg] = myDT.getVal().substr(0,10);
    generateNumberOfNights2();
    
    for (x in depMonthNameOptions[leg]) {
		if (depMonthNameOptions[leg][x] == group) break;
	}
	for (i=0;i<month.options.length;i++) {
		if (month.options[i].value == x) {
			month.selectedIndex = i;
			return true;
		}
	}
	return false;
}

function calendar_init(leg) {
    var datum;
    
    dateReminder2[leg] = depDateValue[leg].substr(0,10);
    generateNumberOfNights2();
    
    datum = new Date();
    datum.setVal(depDateValue[leg], 'Y-m-d H:i:s,w');
    depDateValue[leg] = datum;
    if (datum = getCalValue(leg)) depDateValue[leg] = datum;
    datum = new Date();
    datum.setVal(depDateResFrom[leg], 'Y-m-d H:i:s,w');
    depDateResFrom[leg] = datum;
    datum = new Date();
    datum.setVal(depDateResTo[leg], 'Y-m-d H:i:s,w');
    depDateResTo[leg] = datum;
}


// ___calendar__________________________________________________________________________________start
function classDate_parse(textDT, format) { //datum, format
    var pole, i, x, y;
    var cas = new Array(this.getFullYear(), this.getMonth(), this.getDate(), this.getHours(), this.getMinutes(), this.getSeconds());
    if (!format) format = 'Y-m-d H:i:s';
    var p = new RegExp('[^a-zA-Z]+', 'g');
    format = format.replace(p, '');
    p = new RegExp('[^0-9a-zA-Z]+');
    pole = textDT.split(p);
    for (i=0;((i<format.length) && (i<pole.length));i++) {
        x = format.substr(i,1);
        if (!isNaN(pole[i])) { //ciselne hodnoty
            if (x == 'd') cas[2] = pole[i];
            else if (x == 'j') cas[2] = pole[i];
            else if (x == 'm') cas[1] = pole[i]-1;
            else if (x == 'n') cas[1] = pole[i]-1;
            else if (x == 'Y') cas[0] = pole[i];
            else if (x == 'H') cas[3] = pole[i];
            else if (x == 'G') cas[3] = pole[i];
            else if (x == 'i') cas[4] = pole[i];
            else if (x == 's') cas[5] = pole[i];
            else if (x == 'g') cas[3] = pole[i];
            else if (x == 'h') cas[3] = pole[i];
            else if (x == 'w') {}
            else return(false);
        } else {               //textove hodnoty
            if (x == 'F') {
                for (y=0;y<12;y++) if (this.mnames[y] == pole[i]) cas[1] = y;
            }
            else if (x == 'M') {
                for (y=0;y<12;y++) if (this.msnames[y] == pole[i]) cas[1] = y;
            }
            
            else if (x == 'a') {
                if ((pole[i] == 'pm') && (cas[3] < 12)) cas[3] += 12;
                else if ((pole[i] == 'am') && (cas[3] >= 12)) cas[3] -= 12;
            }
            else if (x == 'A') {
                if ((pole[i] == 'PM') && (cas[3] < 12)) cas[3] += 12;
                else if ((pole[i] == 'AM') && (cas[3] >= 12)) cas[3] -= 12;
            }
            else return(false);
        }
    }
    var xx = this.checkDate(cas);
    if (xx == false) return(false);
    this.setTime(xx);
    return(true);
}
function classDate_checkDate(pole) {
    if (!pole || !(pole instanceof Array)) return(false);
    if ((pole[5] < 0) || (pole[5] > 59)) return(false);
    if ((pole[4] < 0) || (pole[4] > 59)) return(false);
    if ((pole[3] < 0) || (pole[3] > 23)) return(false);
    var xx = new Date(pole[0], pole[1], pole[2], pole[3], pole[4], pole[5]);
    if (xx.getFullYear() != pole[0]) return(false);
    if (xx.getMonth() != pole[1]) return(false);
    if (xx.getDate() != pole[2]) return(false);
    return(xx.getTime());
}
function classDate_isLeapYear() { // zjistuje prestupnost aktualniho roku
	if (0 == this.getFullYear()%4 && ((this.getFullYear()%100 != 0) || (this.getFullYear()%400 == 0))) return(true);
	return(false);
}
function classDate_getDaysOfMonths() { // zjistuje pocet dnu v kazdem mesici aktualniho roku - vraci pole
	var daysOfMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if (this.isLeap()) daysOfMonth[1] = 29;
	return(daysOfMonth);
}
function classDate_getDaysOfMonth() { // zjistuje pocet dnu v aktualni mesici aktualniho roku - integer
	var daysOfMonths = this.getDaysOfMonths();
	return(daysOfMonths[this.getMonth()]);
}
function classDate_addDay(num) { // pricte x dni
	if (!num) num = 1; 
	var newDay = this.getTime() + (num * 24 * 60 * 60 * 1000);
	this.setTime(newDay);
}
function classDate_subDay(num) { // odecte x dni
	if (!num) num = 1;
	var newDay = this.getTime() - (num * 24 * 60 * 60 * 1000);
	this.setTime(newDay);
}

function classDate_format(format) {
    var i, x, y;
    var out = new String();
	if (!format) format = 'Y-m-d H:i:s';
	
	for (i=0;i<format.length;i++) {
        x = format.substr(i,1);
        if (x == 'a') {
            if (this.getHours() > 11) out += 'pm';
	        else out += 'am';
	    } 
	    else if (x == 'A') {
            if (this.getHours() > 11) out += 'PM';
	        else out += 'AM';
	    } 
	    else if (x == 'c') { }
	    else if (x == 'd') { 
	        if (this.getDate() < 10) out += '0';
	        out += this.getDate();
	    } 
	    else if (x == 'D') out += this.wsnames[this.getDay()];
	    else if (x == 'F') out += this.mnames[this.getMonth()];
        else if (x == 'g') { 
	        if (this.getHours() > 12) out += (this.getHours() - 12);
	        else if (this.getHours() == 0) out += '12';
	        else out += this.getHours();
	    } 
        else if (x == 'G') out += this.getHours();
        else if (x == 'h') { 
	        if (this.getHours() > 21) out += (this.getHours() - 12);
	        else if (this.getHours() > 12) out += '0' + (this.getHours() - 12);
	        else if (this.getHours() == 0) out += '12';
	        else if (this.getHours() < 10) out += '0' + this.getHours();
	        else out += this.getHours();
	    }
	    else if (x == 'H') { 
	        if (this.getHours() < 10) out += '0';
	        out += this.getHours();
	    } 
        else if (x == 'i') { 
	        if (this.getMinutes() < 10) out += '0';
	        out += this.getMinutes();
	    }
        else if (x == 'I') { }
        else if (x == 'j') out += this.getDate();
        else if (x == 'l') out += this.wnames[this.getDay()];
        else if (x == 'L') {
            if (this.isLeap()) out += '1';
            else out += '0';
        }
        else if (x == 'm') { 
	        if (this.getMonth() < 9) out += '0';
	        out += (this.getMonth() + 1);
	    }
	    else if (x == 'M') out += this.msnames[this.getMonth()];
        else if (x == 'n') out += (this.getMonth() + 1);
        else if (x == 'O') { }
        else if (x == 'r') out += this.getVal('D, d M Y H:i:s O');
        else if (x == 's') { 
	        if (this.getSeconds() < 10) out += '0';
	        out += this.getSeconds();
	    }
	    else if (x == 't') out += this.daysOfMonth();
	    else if (x == 'T') { }
        else if (x == 'w') out += this.getDay();
        else if (x == 'W') { }
        else if (x == 'Y') out += this.getFullYear();
        else if (x == 'y') {
            y = new String('aa00' + this.getFullYear());
            out += y.substr(y.length - 2, 2);
        }
        else if (x == 'z') { }
        else if (x == 'Z') { }
        else out += x;
    }
    return(out);
}
function classDate_formatPresentation(format) {
    var i, x;
    var out = new String();
	if (!format) format = 'Y-m-d H:i:s';
	
	for (i=0;i<format.length;i++) {
        x = format.substr(i,1);
        if (x == 'a') out += 'am/pm';
	    else if (x == 'A') out += 'AM/PM';
	    else if (x == 'd') out += 'DD';
        else if (x == 'j') out += 'DD';
        else if (x == 'm') out += 'MM';
        else if (x == 'n') out += 'MM';
        else if (x == 'Y') out += 'YYYY';
        else if (x == 'H') out += 'hh';
        else if (x == 'G') out += 'hh';
        else if (x == 'i') out += 'mm';
        else if (x == 's') out += 'ss';
        else if (x == 'g') out += 'hh';
        else if (x == 'h') out += 'hh';
        else if (x == 'F') out += 'MMMM';
        else if (x == 'M') out += 'MMM';
        else out += x;
    }
    return(out);
}

function calendarRun(id, divId, title, mindate, maxdate, holidays, styles, callBack) {    
    var r;
    //calendar_close();
    //calendar_window = window.open('about:blank','calendar_window',"location=no, menubar=no, resizable=no, scrollbars=no, status=no, directories=no, toolbar=no, width=186,height=146,left="+Math.floor((screen.width-196)/2)+",top="+Math.floor((screen.height-175)/2));
    //openedCalendar = calendar_window; //okno s kalendarem

    calendar_DT = new Date(); //datum kalendare
    
    //projde pole vsech 'holidays' a odstrani tecky na koncich => calendar_holidays
    calendar_holidays = new Array();
    if (!holidays) holidays = new Array();
    for (i=0;i<holidays.length;i++) {
        if (holidays[i].charAt(holidays[i].length-1) == ".") calendar_holidays[i] = holidays[i].substring(0,holidays[i].length-1);
	    else calendar_holidays[i] = holidays[i];
	}

    if (mindate instanceof Date) {
        calendar_mindate = mindate;
    } else {
        calendar_mindate = new Date();
        calendar_mindate.setVal(mindate+' 00:00:00');
    }
    if (maxdate instanceof Date) {
        calendar_maxdate = maxdate;
    } else {
        calendar_maxdate = new Date();
        calendar_maxdate.setVal(maxdate+' 23:59:59');
    }

    //title - bezpecna cestina
    if (!title) calendar_title = encodeURIComponentFull('Kalendář');
    else calendar_title = title;
    calendar_id = id;

    if (callBack) calendar_callback = callBack;
    else calendar_callback = '';

    //if (!styles) calendar_styles = "<link href=\"css/calendar.css\" rel=\"stylesheet\" type=\"text/css\"/>\n";
    //else calendar_styles = decodeURIComponent(styles);
    
    if ((r = document.getElementById(id)) && (r.value != '')) calendar_DT.setVal(r.value);
    //window.onfocus=calendar_close;
    calendar_Runtime(divId);
    jQ("#"+divId).show();
    
}

function calendar_Runtime(divId) {
    var i,pd,bm,yr,ho, row;
    var mnames = new Array('Leden','Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec');
    var wnames = new Array('Po','Út','St','Čt','Pá','So','Ne');
    //var cal_document = calendar_window.document; //calendar dokument
    var Larrow = '&#x00ab;';
    var Rarrow = '&#x00bb;';
    //var Larrow = '&lt;&lt;';
    //var Rarrow = '&gt;&gt;';
    //cal_document.open();
    var calendarContainer = "#"+divId;
    var content = "";
    
    jQ(calendarContainer).empty();
    
    //jQ(calendarContainer).text("<html>\n<head>\n");
    //if (document.all) jQ(calendarContainer).text("<meta http-equiv=\"Content-Type\" content=\"text/html; charset="+document.charset+"\">\n");
    //jQ(calendarContainer).text("<title>"+decodeURIComponent(calendar_title)+"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>");
    //jQ(calendarContainer).text("\n"+calendar_styles+"\n");
    content += '<scr'+'ipt language="javascript">';
    content += "function ff(v) { var id='"+calendar_id+"'; var cb='"+calendar_callback+"'; calendar_finishDate('"+divId+"',v,id,cb); }";
    content += "function set_month(v) {calendar_DT.setMonth(v); calendar_Runtime('"+divId+"'); }";
    content += "function set_year(v) { calendar_DT.setFullYear(v); calendar_Runtime('"+divId+"'); }";
    content += '</scr'+'ipt>';
    //jQ(calendarContainer).text("</head>\n<body topmargin=\"3\" leftmargin=\"3\" marginheight=\"3\" marginwidth=\"3\">");
    content += '<div class=\"cal_top\"></div><div class=\"cal_middle\"><table class="calendar_container"><tr><td class="border"><table class="selector"><tr><th class="lar">';
    if ((calendar_DT.getFullYear() > calendar_mindate.getFullYear()) || ((calendar_DT.getMonth() != 0) && (calendar_DT.getFullYear() == calendar_mindate.getFullYear()))) content += '<a href="javascript:set_month('+(calendar_DT.getMonth()-1)+');"><b>'+Larrow+'</b></a>';
    else content += "<b>"+Larrow+"</b>";
	content += '</th><th><form><select class="month" name="m" onchange="set_month(this[this.selectedIndex].value);">';
	for (i=0;i<12;i++) {
	    content += '<option value="'+i+'"';
	    if (i == (calendar_DT.getMonth())) { content += ' selected="selected"'; }
	    content += ">"+mnames[i]+"</option>";
	}
	content += '</select><select class="year" name="r" onchange="set_year(this[this.selectedIndex].value);">';
	if ((calendar_DT.getFullYear() < calendar_mindate.getFullYear()) || (calendar_DT.getFullYear() > calendar_maxdate.getFullYear())) content += '<option value="'+calendar_DT.getFullYear()+'" selected="selected">'+calendar_DT.getFullYear()+'</option>';
	for (i=calendar_mindate.getFullYear();i<(calendar_maxdate.getFullYear()+1);i++) {
	    content += '<option value="'+i+'"';
	    if (i == calendar_DT.getFullYear()) content += ' selected="selected"';
	    content += ">"+i+"</option>";
	}
	content += '</select></form></th><th  class="rar">';
    if ((calendar_DT.getFullYear() < calendar_maxdate.getFullYear()) || ((calendar_DT.getMonth() != 11) && (calendar_DT.getFullYear() == calendar_maxdate.getFullYear()))) content += '<a href="javascript:set_month('+(calendar_DT.getMonth()+1)+');"><b>'+Rarrow+'</b></a>';
    else content += "<b>"+Rarrow+"</b>";
    content += '</th><th class="calendar_close"><span class="calendar_close" onclick="jQ(\''+calendarContainer+'\').hide();"></span></th></tr></table><table class="calendar"><tr>';
    for (i=0;i<6;i++) content += '<th>'+wnames[i]+'</th>';
    content += '<th><span>'+wnames[6]+'</span></th></tr>';
    
    calendar_DT.setDate(1);
    pd = calendar_DT.getDay()-1;
    row = 0;
    if (pd == -1) pd = 6; //nedele
	bm = calendar_DT.getMonth();
	yr = calendar_DT.getFullYear();
	if (bm == 0) { // kdyz je leden, nastavi se prosinec predchoziho roku
	    calendar_DT.setMonth(11);
	    calendar_DT.setFullYear(yr-1);
	} else calendar_DT.setMonth(bm-1); //jinak se nastavi predchozi mesic
	for (i=calendar_DT.getDaysOfMonth()-pd+1;i<=calendar_DT.getDaysOfMonth();i++) {
	    calendar_DT.setDate(i);
 	    if (calendar_DT.getDay() == 0) ho = 'class="vacation"'; //zvyrazneni nedele
	    else ho = "";
	    content += '<td>&nbsp</td>';
	}
	
	calendar_DT.setDate(1);
	calendar_DT.setMonth(bm);
	calendar_DT.setFullYear(yr);
	for(i=0;i<calendar_DT.getDaysOfMonth();i++) {
	    calendar_DT.setDate(i+1);
	    if ((calendar_DT.getDay() == 1) && (calendar_DT.getDate() != 1)) {
	 	    content += '</tr><tr>';
	 	    row++;
	    } else if ((calendar_DT.getDay() == 1) && (calendar_DT.getDate() == 1)) content += '<tr>';
	    if (calendar_DT.getDay() == 0) ho= 'class="vacation"';
	    else ho = "";
 	    for (j=0;j<calendar_holidays.length;j++) if ((calendar_holidays[j].substring(0,calendar_holidays[j].indexOf(".")) == calendar_DT.getDate()) && (calendar_holidays[j].substring(calendar_holidays[j].indexOf(".")+1,calendar_holidays[j].length) == (calendar_DT.getMonth()+1))) ho = 'class="vacation"';
	    if ((calendar_DT.getTime() > calendar_maxdate.getTime()) || (calendar_DT.getTime() < calendar_mindate.getTime())) content += '<td '+ho+'><span class="unavailable">'+calendar_DT.getDate()+'</span></td>';
	    else if (ho == "") content += '<td><a href="javascript:ff(\''+calendar_DT.getVal('Y-m-d')+'\');">'+calendar_DT.getDate()+'</a></td>';
	    else content += '<td><a href="javascript:ff(\''+calendar_DT.getVal('Y-m-d')+'\');"><span class="vacation">'+calendar_DT.getDate()+'</span></a></td>';
	}
	
	calendar_DT.setDate(1);
	calendar_DT.setMonth(bm+1);
	pd = calendar_DT.getDay()-1;
	if (pd == 0) pd = 20;
	if (pd == -1) pd = 6;
	for (i=1;i<=(7-pd);i++) {
	    content += '<td>&nbsp</td>';
	    calendar_DT.setDate(i);
	    if (calendar_DT.getDay()==0) ho='class="vacation"';
	    else ho = "";
	}
	
	calendar_DT.setDate(1);
	calendar_DT.setMonth(bm);
	calendar_DT.setFullYear(yr);
    //if (row < 5) content += '</tr><tr><td colspan="7">&nbsp;</td>';
    content += "</tr></table></td></tr></table></div><div class=\"cal_bottom\"></div>"; //</body></html>
    
    jQ(calendarContainer).append(content);
    //cal_document.close();
    //window.calendar_window.focus();
}
function calendar_close() {
    if (openedCalendar && !window.openedCalendar.closed) {
	    window.openedCalendar.close();
	    window.openedCalendar = null;
	}
	window.onfocus=null;
}
//vola se na konci kalendare, po vybrani datumu / callBack = zaencodovany JS prikaz
function calendar_finishDate(divId, datum, id, callBack) {
    var el1, el2, ele;
    var myDT = new Date();
    if (ele = document.getElementById(id)) {
        if (ele.value != '') myDT.setVal(ele.value); //vcetne casu
        myDT.setVal(datum, 'Y-m-d'); //jen datum (cas se zachova)
        ele.value = myDT.getVal('Y-m-d H:i:s');
    }
    //window.calendar_window.close();
    jQ("#"+divId).hide();
    openedCalendar = false;
    if ((el1 = document.getElementById(id+'_format')) && (el2 = document.getElementById(id+'_show'))) {
        el2.value = myDT.getVal(el1.value);
    }
    if (callBack) {
        callBack = decodeURIComponent(callBack);
        eval(callBack);
    }
}
function calendar_checkUsrDate(id) {
    var el1, el2, ele;
    var old = '';
    var myDT = new Date();
    if ((ele = document.getElementById(id)) && (el1 = document.getElementById(id+'_format'))) {
        if (ele.value != '') {
            myDT.setVal(ele.value); //vcetne casu
            old = myDT.getVal(el1.value);
        }
        if (el2 = document.getElementById(id+'_show')) {
            if (el2.value == '') { //uzivatel to smazal
                ele.value = ''; //vycisti se VALUE objektu
            } else if (!myDT.setVal(el2.value, el1.value)) { //parsne se uzivatelem zadane data
                alert('Chybné datum'+' '+el2.value+' - '+'použijte formát'+': '+myDT.formatPresentation(el1.value));
                el2.value = old;
            } else {
                el2.value = myDT.getVal(el1.value); //zpatky se zobrazi v koreknim formatu
                ele.value = myDT.getVal('Y-m-d H:i:s'); //ulozi se VALUE objektu
            }
        }
    }
}
function dummy(){}

var openedCalendar = null; // aktualne otevrene kalendarove okno
Date.prototype.mnames = new Array('Leden','Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec');
Date.prototype.msnames = new Array('Led','Úno','Bře','Dub','Kvě','Čvn','Čvc','Srp','Zář','Říj','Lis','Pro');
Date.prototype.wnames = new Array('Neděle','Pondělí','Úterý','Středa','Čtvrtek','Pátek','Sobota','Neděle');
Date.prototype.wsnames = new Array('Ned','Pon','Úte','Stř','Čtv','Pát','Sob','Ned');
Date.prototype.checkDate = classDate_checkDate;
Date.prototype.setVal = classDate_parse;
Date.prototype.isLeap = classDate_isLeapYear;
Date.prototype.getDaysOfMonths = classDate_getDaysOfMonths;
Date.prototype.getDaysOfMonth = classDate_getDaysOfMonth;
Date.prototype.getVal = classDate_format;
Date.prototype.formatPresentation = classDate_formatPresentation;
Date.prototype.addDay = classDate_addDay;
Date.prototype.subDay = classDate_subDay;
/*
function calendar_init(id) {
    var r, el1, el2;
    var myDT = new Date();
    if ((el1 = document.getElementById(id+'_format')) && (el2 = document.getElementById(id+'_show'))) {
        if ((r = document.getElementById(id)) && (r.value != '')) {
            myDT.setVal(r.value);
            el2.value = myDT.getVal(el1.value);
        }
        el2.title = myDT.formatPresentation(el1.value);
    }
}
*/
// ___calendar__________________________________________________________________________________end

function generateNumberOfNights2(){
	if( jQ("#numberOfNightsBox").size() && typeof dateReminder2 == 'object') {
		if(dateReminder2.length != 2 || dateReminder2[0] == '' || dateReminder2[1] == '') return;
		
		var one_day=1000*60*60*24; 
		
		var time0=dateReminder2[0].split("-");     
        var time1=dateReminder2[1].split("-");
	
		var date0=new Date(time0[0],(time0[1]-1),time0[2]);
        var date1=new Date(time1[0],(time1[1]-1),time1[2]);
       
		var diff = Math.round((date1.getTime()-date0.getTime())/(one_day));
				
		if(diff < 0) diff = 0;
		jQ("#numberOfNightsBox").text( diff );
	}
}
