autoload("comunicate.js");

autoload("http.js");


calendar = {

	o_calc : null,

	o_back : null,

	o_input : null,

	s_url : null,
	
	b_opened : false,
	

	open : function (o_input, s_url) {
	//alert("opening");
		chowaj_selecty();
		if(this.b_opened) return false;
		this.b_opened = true;
		this.s_url = s_url;
		o_input.blur();
		this.o_input = o_input;
		this.makeBody();
		this.ascDomain(s_url);
		this.refresh();
	},

	ascDomain : function (s_url) {
		oReq = new HttpRequest();
		oReq.setURL(s_url);
		for(i=0; i < this.o_input.form.elements.length; i++){
			o_element = this.o_input.form.elements[i];
			tmp_name = o_element.name;
			oReq.addParam(tmp_name, o_element.value);
		}
		oReq.get(function (s_calc) { calendar.setCalc(s_calc);} );
	},

	setCalc : function (calc){
		//this.o_calc.innerHTML = "dupa";
		this.o_calc.innerHTML = calc;
		this.refresh();
	},

	setDate : function (date) {
		this.o_input.value = date;
		if(typeof this.o_input.onchange != "undefined")this.o_input.onchange();
		this.close();
		
	},

	changeCalc : function (new_date){
		this.o_input.value = new_date;
		this.close();
		//this.open(this.o_input, this.s_url);
		this.o_input.focus();
	},

	refresh : function () {
		this.o_calc.style.left = parseInt(document.body.clientWidth/2) - parseInt(cal.clientWidth/2)+ document.body.scrollLeft;

		if(parseInt(document.body.clientWidth/2) - parseInt(cal.clientWidth/2) < 0) this.o_calc.style.left = 10 + document.body.scrollLeft;


		this.o_calc.style.top = parseInt(document.body.clientHeight/2) - parseInt(cal.clientHeight/2)+ document.body.scrollTop;

		if(parseInt(document.body.clientHeight/2) - parseInt(cal.clientHeight/2) < 0)	this.o_calc.style.top = 10+ document.body.scrollTop;
	},

	close : function () {
		document.body.removeChild(this.o_back);
		document.body.removeChild(this.o_calc);
		this.b_opened = false;
		pokaz_selecty();
	},

	makeBody : function () {

		blackBack = document.createElement("div");
		blackBack.style.opacity = 0.7;
		blackBack.style.filter = "alpha(opacity = 50)";
		blackBack.style.backgroundColor = "black";
		blackBack.style.position = "absolute";
		blackBack.style.left = 0;
		blackBack.style.top = 0;
		blackBack.style.width = document.body.offsetWidth;
		blackBack.style.height = document.body.offsetHeight;
		blackBack.id = "blackBack";
		blackBack.onclick = function () {
			calendar.close();
		};

		document.body.appendChild(blackBack);



		cal = document.createElement("div");
		cal.appendChild(document.createTextNode(":]"));
		//cal.style.backgroundColor = "white";
		cal.innerHTML = "<font color=white size=5>Ładuję...</font>";
		cal.style.position = "absolute";
		cal.id = "cal";
		document.body.appendChild(cal);


		this.o_back = blackBack;
		this.o_calc = cal;
	}

};
