// Ustaw border na jaskrawoniebieski (na razie)
function set_calendar_border(id) {
	var str = new String(id);
	switch (str.length) {
		case 6: { // miesiac
			if (cal_range) {
				for (var i = 1; i <= 31; i++) {
					var day = format_number("00", i);
					var elem = getElement("cal_" + str + day);
					if (elem) {
						elem.className = elem.className + "-set";
					}
				}
			} else {
				var day = format_number("00", 1);
				var elem = getElement("cal_" + str + day);
				if (elem) {
					elem.className = elem.className + "-set";
				}
			}
		} break;
		case 8: { // dzien
			var elem = getElement("cal_" + str);
			if (elem) {
				elem.className = elem.className + "-set";
			}
		} break;
		case 16: { // zakres dni, w szczegolnosci z dwoch miesiecy
			if (cal_range) {
				var yr = parseInt(str.substr(0, 4), 10);
				var fm = parseInt(str.substr(4, 2), 10);
				var tm = parseInt(str.substr(12, 2), 10);
				var fd = parseInt(str.substr(6, 2), 10);
				var td = parseInt(str.substr(14, 2), 10);
				if (fm < tm) {
					for (var i = fd; i <= 31; i++) {
						var month = format_number("00", fm);
						var day = format_number("00", i);
						var elem = getElement("cal_" + yr + month + day);
						if (elem) {
							elem.className = elem.className + "-set";
						}
					}
					for (var i = 1; i <= td; i++) {
						var month = format_number("00", tm);
						var day = format_number("00", i);
						var elem = getElement("cal_" + yr + month + day);
						if (elem) {
							elem.className = elem.className + "-set";
						}
					}
				} else {
					for (var i = fd; i <= td; i++) {
						var month = format_number("00", fm);
						var day = format_number("00", i);
						var elem = getElement("cal_" + yr + month + day);
						if (elem) {
							elem.className = elem.className + "-set";
						}
					}
				}
			} else {
				var yr = parseInt(str.substr(0, 4), 10);
				var fm = parseInt(str.substr(4, 2), 10);
				var fd = parseInt(str.substr(6, 2), 10);
				var month = format_number("00", fm);
				var day = format_number("00", fd);
				var elem = getElement("cal_" + yr + month + day);
				if (elem) {
					elem.className = elem.className + "-set";
				}
			}
		} break;
		default: break;
	}
}

// Ustawienie szerokosci kalendarza, tzn. rozmiarow i polozenia warstw
function set_calendar_width(layer, body) {
    var width = Math.floor(parseInt(layer.width, 10) / 190);
	var max = width * 190 - 2280;
	var min = parseInt(cal_date.substr(4, 2), 10) - parseInt(cal_month.substr(4, 2), 10) + 1;
	var left = Math.max(max, (-1*cal_month.substr(4, 2)*190+190));
	if (width < min) left += (width - min) * 190;
	body.left = left;
	left /= -190; left++;
	cal_month = format_number_2("0000", "00", cal_month.substr(0, 4), left);
}

// Ustawienie kalendarza jak należy
function set_calendar() {
	var layer = getStyle(null, "pro-calendar-layer", null);
	if (layer) {
		layer.left = cal_x;
		layer.top  = cal_y;
	}
	var body = getStyle(null, "pro-calendar-body", null);
	if (body && layer) {
		set_calendar_width(layer, body);
	}
	set_calendar_border(cal_date);
}

// Przesuniecie kalendarza w wypadku resize-u
function reset_calendar(x_shift, min_shift) {
    var layer = getStyle(null, "pro-calendar-layer", null);
	var body = getStyle(null, "pro-calendar-body", null);
	if (body && layer) {
        if ((x_shift > 0) && (x_shift > min_shift)) {
            layer.left = x_shift;
		}
    	set_calendar_width(layer, body);
	}

    /*var layer = getStyle(null, "pro-calendar-layer", null);
	var body = getStyle(null, "pro-calendar-body", null);
	if (body && layer) {
		set_calendar_width(layer, body);
	}*/
}

set_calendar();
