var panel;
var overlay3;
var resize;
var Dom, Event;
var oButtonGroup1;

function pokazGatunki(e) {
	YAHOO.util.Dom.setStyle('gatunki', 'display', 'block');
	var items = YAHOO.util.Dom.getElementsByClassName('gatunek');
	YAHOO.util.Event.addListener(items, 'click', wybierzGatunek);
}

function wybierzGatunek(e) {
	var target = YAHOO.util.Event.getTarget(e);
	YAHOO.util.Dom.setStyle('gatunki', 'display', 'none');
	var el = YAHOO.util.Dom.get('gatunek');
	el.innerHTML = target.innerHTML;
	filmyWyp();
}

function pokazUzytkownicy(e) {
	YAHOO.util.Dom.setStyle('znajomiW', 'display', 'block');
	var items = YAHOO.util.Dom.getElementsByClassName('znajomiWW');
	YAHOO.util.Event.addListener(items, 'click', wybierzUzytkownicy);
}

function wybierzDostepnosc(e) {
	var target = YAHOO.util.Event.getTarget(e);
	YAHOO.util.Dom.setStyle('ldostepnosc', 'display', 'none');
	var el = YAHOO.util.Dom.get('dostepnosc');
	el.innerHTML = target.innerHTML;
	filmyWyp();
}

function pokazDostepnosc(e) {
	YAHOO.util.Dom.setStyle('ldostepnosc', 'display', 'block');
	var items = YAHOO.util.Dom.getElementsByClassName('dostepne');
	YAHOO.util.Event.addListener(items, 'click', wybierzDostepnosc);
}

function wybierzUzytkownicy(e) {
	var target = YAHOO.util.Event.getTarget(e);
	YAHOO.util.Dom.setStyle('znajomiW', 'display', 'none');
	var el = YAHOO.util.Dom.get('uzytkownicy');
	el.innerHTML = target.innerHTML;
	filmyWyp();
}

function zapiszOpcjeProsby(e) {
	YAHOO.util.Connect.setForm('opForm', true);
	var cObj = YAHOO.util.Connect.asyncRequest('POST',
			'/ajax/W2OWypozyczalnia?akcja=wyslijOpcje', {
				upload : function(o) {
					var callback = {
						success : function(o) {
							var el = YAHOO.util.Dom.get('prosbyDO');
							el.innerHTML = o.responseText;
							var items = YAHOO.util.Dom
									.getElementsByClassName('opcjeW');
							YAHOO.util.Event.addListener(items, 'click',
									opcjeProsby);
						}
					};
					var request = YAHOO.util.Connect.asyncRequest("POST",
							'/ajax/W2OWypozyczalnia?akcja=prosbyDoMnie',
							callback);
				}
			});
	YAHOO.util.Event.preventDefault(e);
	var target = YAHOO.util.Event.getTarget(e);
	YAHOO.util.Dom.setStyle('c' + target.id.substr(2), 'display', 'none');
}

function anulujOpcjeProsby(e) {
	YAHOO.util.Event.preventDefault(e);
	var target = YAHOO.util.Event.getTarget(e);
	el = Dom.get('stan' + target.id.substr(1));
	el.value = 2;
	YAHOO.util.Connect.setForm('opForm', true);
	var cObj = YAHOO.util.Connect.asyncRequest('POST',
			'/ajax/W2OWypozyczalnia?akcja=wyslijOpcje', {
				upload : function(o) {
					var callback = {
						success : function(o) {
							var el = YAHOO.util.Dom.get('prosbyDO');
							el.innerHTML = o.responseText;
							var items = YAHOO.util.Dom
									.getElementsByClassName('opcjeW');
							YAHOO.util.Event.addListener(items, 'click',
									opcjeProsby);
						}
					};
					var request = YAHOO.util.Connect.asyncRequest("POST",
							'/ajax/W2OWypozyczalnia?akcja=prosbyDoMnie',
							callback);
				}
			});
	YAHOO.util.Dom.setStyle('c' + target.id.substr(2), 'display', 'none');
}

function opcjeProsby(e) {
	var target = YAHOO.util.Event.getTarget(e);

	var el = Dom.get('c' + target.id.substr(1));
	YAHOO.util.Dom.setStyle(el, 'display', 'block');
	var tr = '<form id="opForm" name="opForm"><textarea name="f[kom]"></textarea>'
			+ '<div>'
			+ '<input type="hidden" name="f[stan]" value="1" id="stan'
			+ target.id
			+ '" />'
			+ '<input type="hidden" name="f[id]" value="'
			+ target.id.substr(2)
			+ '" />'
			+ '<input type="checkbox" name="f[status]" value="1" /> zmień status<br><input type="checkbox" name="f[dodaj]" value="1" /> dodaj informacje o pożyczeniu'
			+ '</div>'
			+ '<div id="a'
			+ target.id
			+ '" class="but">akceptuj</div>'
			+ ' <div class="but" id="o'
			+ target.id + '">odrzuć</div></form>';
	el.innerHTML = tr;

	YAHOO.util.Event.addListener('a' + target.id, 'click', zapiszOpcjeProsby);
	YAHOO.util.Event.addListener('o' + target.id, 'click', anulujOpcjeProsby);
}

function zapiszOpis(e) {
	var target = YAHOO.util.Event.getTarget(e);
	var data = 'fid=' + fid + '&id=' + target.id.substr(1, 4) + '&opis='
			+ Dom.get('o' + target.id.substr(1, 4)).value;
	var callback = {
		success : function(o) {
			var el = Dom.get(o.argument.id);
			el.innerHTML = o.responseText;
			YAHOO.util.Event.addListener(el, 'click', edytujOpis);
		},
		argument : {
			id : target.id.substr(1, 4)
		}
	};
	var request = YAHOO.util.Connect.asyncRequest("POST",
			'/ajax/W2OWypozyczalnia?akcja=zmienOpis', callback, data);

}

function anulujOpis(e) {
	var target = YAHOO.util.Event.getTarget(e);
	var data = 'fid=' + fid + '&id=' + target.id.substr(1, 4) + '&anuluj=1&opis='
			+ Dom.get('o' + target.id.substr(1, 4)).value;
	var callback = {
		success : function(o) {
			var el = Dom.get(o.argument.id);
			el.innerHTML = o.responseText;
			YAHOO.util.Event.addListener(el, 'click', edytujOpis);
		},
		argument : {
			id : target.id.substr(1, 4)
		}
	};
	var request = YAHOO.util.Connect.asyncRequest("POST",
			'/ajax/W2OWypozyczalnia?akcja=zmienOpis', callback, data);

}

function edytujOpis(e) {
	var target = YAHOO.util.Event.getTarget(e);
	if (target.id.substr(0, 1) != 'z') {
		var el = Dom.get(target.id);
		var tr = '<textarea id="o' + target.id + '">' + el.innerHTML
				+ '</textarea><button id="z' + target.id + '">zapisz</button> <button id="q' + target.id + '">anuluj</button>';
		el.innerHTML = tr;
		YAHOO.util.Event.removeListener(el, 'click', edytujOpis);
		var oButton = new YAHOO.widget.Button('z' + target.id);
		oButton.on('click', zapiszOpis);
		var oButton1 = new YAHOO.widget.Button('q' + target.id);
		oButton1.on('click', anulujOpis);
	}
}

function zapiszProsbe(e) {
	var target = YAHOO.util.Event.getTarget(e);
	var data = 'fid=' + fid + '&id=' + target.id + '&opis='
			+ Dom.get('p' + target.id.substr(1)).value;
	var callback = {

	};
	var request = YAHOO.util.Connect.asyncRequest("POST",
			'/ajax/W2OWypozyczalnia?akcja=wyslijProsbe', callback, data);
	overlay3.destroy();
}

function anulujProsbe(e) {
	overlay3.destroy();
}

function wyslijProsbe(e) {
	var target = YAHOO.util.Event.getTarget(e);
	overlay3 = new YAHOO.widget.Overlay("overlay3", {
		context : [ target.id, "tr", "br", [ "beforeShow", "windowResize" ] ],
		visible : true,
		width : "325px"
	});
	overlay3.setBody("");
	overlay3.body.id = 'prosba';
	overlay3.renderEvent.subscribe(function() {
		var el = Dom.get(overlay3.body.id);
		var tr = 'Dodatkowa wiadomość:<br /><textarea id="p' + target.id
				+ '"></textarea><button id="y' + target.id
				+ '">wyślij</button> <button id="q' + target.id
				+ '">anuluj</button>';
		el.innerHTML = tr;
		YAHOO.util.Event.addListener('y' + target.id, 'click', zapiszProsbe);
		YAHOO.util.Event.addListener('q' + target.id, 'click', anulujProsbe);
	});
	overlay3.render('gl');
}

function przyciskData(e) {
	var target = YAHOO.util.Event.getTarget(e);
	overlay3 = new YAHOO.widget.Overlay("overlay3", {
		context : [ target.id, "tl", "bl", [ "beforeShow", "windowResize" ] ],
		visible : true,
		width : "200px"
	});
	overlay3.setBody("");
	overlay3.body.id = 'miejsceNaKalendarz';
	overlay3.renderEvent
			.subscribe(function() {
				var oCalendar = new YAHOO.widget.Calendar("buttoncalendar1",
						overlay3.body.id);
				oCalendar.render();
				oCalendar.selectEvent
						.subscribe(function(p_sType, p_aArgs) {
							var aDate, nMonth, nDay, nYear;
							if (p_aArgs) {
								aDate = p_aArgs[0][0];
								nMonth = aDate[1];
								nDay = aDate[2];
								nYear = aDate[0];
								var data = 'fid=' + fid + '&id=' + target.id
										+ '&data='
										+ (nYear + "-" + nMonth + '-' + nDay);
								var callback = {
									success : function(o) {
										pobierzWypozyczenie();
									}
								};
								var request = YAHOO.util.Connect
										.asyncRequest(
												"POST",
												'/ajax/W2OWypozyczalnia?akcja=zmienWypozyczenie',
												callback, data);
								overlay3.destroy();

								// wyslij
							}
							oCalendarMenu.hide();
						});

				var focusDay = function() {
					var oCalendarTBody = Dom.get("buttoncalendar1").tBodies[0], aElements = oCalendarTBody
							.getElementsByTagName("a"), oAnchor;
					if (aElements.length > 0) {
						Dom.batch(aElements, function(element) {
							if (Dom.hasClass(element.parentNode, "today")) {
								oAnchor = element;
							}
						});
						if (!oAnchor) {
							oAnchor = aElements[0];
						}
						YAHOO.lang.later(0, oAnchor, function() {
							try {
								oAnchor.focus();
							} catch (e) {
							}
						});
					}
				};
			});
	overlay3.render('gl');
}

function dodajWypozyczenie(e) {
	var id = 1;
	var tel;
	YAHOO.util.Dom.setStyle('Dwypozyczenie', 'display', 'none');
	if (Dom.get('p_0')) {
		YAHOO.util.Dom.setStyle('p_0', 'display', 'block');
	} else {
		var nowy = document.createElement('div');
		nowy.setAttribute('id', 'p_0');
		nowy.className = 'pozyczenie';
		var kontener = document.getElementById('pozyczenia');
		kontener.appendChild(nowy);
		nowy.innerHTML = '<div class="field" id="data1">'
				+ '<label for="month1">Wybierz date pożyczenia: </label>'
				+ '<input type="text" id="year1" name="year1" value="">'
				+ '</div>'
				+ '<div class="osoby"><div class="labOsoba">Wybierz osobę, której pożyczasz:</div>'
				+ '<div class="valOsoba"><input type="text" id="usr" name="usr" value=""><div id="listUsr"></div></div></div>'
				+ '<div class="przyciski"><div id="butAnuluj"></div><div id="butDodaj"></div></div></div>';
		var oCalendarMenu;
		var onButtonClick = function() {
			var oCalendar = new YAHOO.widget.Calendar("buttoncalendar1",
					oCalendarMenu.body.id);
			oCalendar.render();
			oCalendar.selectEvent
					.subscribe(function(p_sType, p_aArgs) {
						var aDate, nMonth, nDay, nYear;
						if (p_aArgs) {
							aDate = p_aArgs[0][0];
							nMonth = aDate[1];
							nDay = aDate[2];
							nYear = aDate[0];
							oButton.set("label",
									(nYear + "-" + nMonth + '-' + nDay));
							Dom.get("year1").value = (nYear + "-" + nMonth
									+ '-' + nDay);
						}
						oCalendarMenu.hide();
					});

			var focusDay = function() {
				var oCalendarTBody = Dom.get("buttoncalendar1").tBodies[0], aElements = oCalendarTBody
						.getElementsByTagName("a"), oAnchor;
				if (aElements.length > 0) {
					Dom.batch(aElements, function(element) {
						if (Dom.hasClass(element.parentNode, "today")) {
							oAnchor = element;
						}
					});
					if (!oAnchor) {
						oAnchor = aElements[0];
					}
					YAHOO.lang.later(0, oAnchor, function() {
						try {
							oAnchor.focus();
						} catch (e) {
						}
					});
				}
			};

			oCalendarMenu.subscribe("show", focusDay);
			oCalendar.renderEvent.subscribe(focusDay, oCalendar, true);
			focusDay.call(oCalendar);
			oCalendarMenu.align();
			this.unsubscribe("click", onButtonClick);
		};

		var oDateFields = Dom.get("data1");
		oYearField = Dom.get("year1");
		oYearField.style.display = "none";
		oCalendarMenu = new YAHOO.widget.Overlay("calendarmenu1", {
			visible : false
		});
		var oButton = new YAHOO.widget.Button( {
			type : "menu",
			id : "calendarpicker",
			label : "Wybierz date",
			menu : oCalendarMenu,
			container : "data1"
		});
		oButton.on("appendTo", function() {
			oCalendarMenu.setBody("&#32;");
			oCalendarMenu.body.id = "calendarcontainer1";
		});
		oButton.on("click", onButtonClick);
		var oDS1 = new YAHOO.util.XHRDataSource("/ajax/W2ODostep");
		oDS1.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
		oDS1.responseSchema = {
			recordDelim : "\n",
			fieldDelim : "\t",
			fields : [ "name" ]
		};

		var oAC1 = new YAHOO.widget.AutoComplete("usr", "listUsr", oDS1);
		oAC1.queryDelay = .5;
		oAC1.generateRequest = function(sQuery) {
			return "?akcja=osoba&q=" + sQuery;
		};
		var oButton1 = new YAHOO.widget.Button( {
			id : "butDodaj1",
			container : "butDodaj",
			label : "Zapisz"
		});
		oButton1.on("click", wyslijWypozyczenie);
		var oButton2 = new YAHOO.widget.Button( {
			id : "butAnuluj1",
			container : "butAnuluj",
			label : "Anuluj"
		});
		oButton2.on("click", anulujWypozyczenie);
	}
}

function anulujWypozyczenie(e) {
	YAHOO.util.Dom.setStyle('Dwypozyczenie', 'display', 'block');
	YAHOO.util.Dom.setStyle('p_0', 'display', 'none');
}

function wyslijWypozyczenie(e) {
	YAHOO.util.Dom.setStyle('Dwypozyczenie', 'display', 'block');
	YAHOO.util.Dom.setStyle('p_0', 'display', 'none');
	var data = 'fid=' + fid + '&usr=' + Dom.get("usr").value + '&data='
			+ Dom.get("year1").value;
	var callback = {
		success : function(o) {
			pobierzWypozyczenie();
		}
	};
	var request = YAHOO.util.Connect.asyncRequest("POST",
			'/ajax/W2OWypozyczalnia?akcja=dodajWypozyczenie', callback, data);

}

function zmienStatus(e) {
	var val1 = oButtonGroup1._buttons[0].get("checked");
	var val2 = oButtonGroup1._buttons[1].get("checked");
	var val3 = oButtonGroup1._buttons[2].get("checked");
	var data = 'fid=' + fid + '&data=' + val1 + ',' + val2 + ',' + val3;
	var callback = {
		success : function(o) {
			pobierzWypozyczenie();
		}
	};
	var request = YAHOO.util.Connect.asyncRequest("POST",
			'/ajax/W2OWypozyczalnia?akcja=zmienStatus', callback, data);

}

function pobierzWypozyczenie() {
	if (YAHOO.util.Dom.get('pozyczenia')) {
		oButtonGroup1 = new YAHOO.widget.ButtonGroup("status");
		YAHOO.util.Event.addListener('stat1', 'click', zmienStatus);
		YAHOO.util.Event.addListener('stat2', 'click', zmienStatus);
		YAHOO.util.Event.addListener('stat3', 'click', zmienStatus);
		var data = 'fid=' + fid;
		var callback = {
			success : function(o) {
				var el = YAHOO.util.Dom.get('pozyczenia');
				el.innerHTML = o.responseText;
				var items = YAHOO.util.Dom.getElementsByClassName('butdata');
				YAHOO.util.Event.removeListener(items, 'click', przyciskData);
				YAHOO.util.Event.addListener(items, 'click', przyciskData);
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST",
				'/ajax/W2OWypozyczalnia?akcja=pobierz', callback, data);
	}
}

function pobierzProsby1() {
	if (YAHOO.util.Dom.get('prosbyOD')) {
		var data = '';
		var callback = {
			success : function(o) {
				var el = YAHOO.util.Dom.get('prosbyOD');
				el.innerHTML = o.responseText;
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST",
				'/ajax/W2OWypozyczalnia?akcja=prosbyMoje', callback, data);
	}
}


function pobierzProsby2() {
	if (YAHOO.util.Dom.get('prosbyDO')) {
		var data = '';
		var callback = {
			success : function(o) {
				var el = YAHOO.util.Dom.get('prosbyDO');
				el.innerHTML = o.responseText;
				var items = YAHOO.util.Dom.getElementsByClassName('opcjeW');
				YAHOO.util.Event.addListener(items, 'click', opcjeProsby);
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST",
				'/ajax/W2OWypozyczalnia?akcja=prosbyDoMnie', callback, data);
	}
}

function filmyWyp(e) {
	if (e) {
		var target = YAHOO.util.Event.getTarget(e);
		if (target.id) {
			pg = target.id.substr(3);
		} else {
			pg = 0;
		}
	} else {
		pg = 0;
	}
	if (YAHOO.util.Dom.get('filmyWyp')) {
		var gt = YAHOO.util.Dom.get('gatunek');
		var us = YAHOO.util.Dom.get('uzytkownicy');
		var dos = YAHOO.util.Dom.get('dostepnosc');
		var el = YAHOO.util.Dom.get('filmyWyp');
		el.innerHTML = '<div class="ladowanie2">Trwa ładowanie...</div>';
		var data = '';
		var callback = {
			success : function(o) {
				var el = YAHOO.util.Dom.get('filmyWyp');
				el.innerHTML = o.responseText;
				var items = YAHOO.util.Dom.getElementsByClassName('navn');
				YAHOO.util.Event.addListener(items, 'click', filmyWyp);
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST",
				'/ajax/W2OWypozyczalnia?akcja=filmy&pg=' + pg + '&do='
						+ dos.innerHTML + '&gt=' + gt.innerHTML + '&us='
						+ us.innerHTML, callback, data);
	}
}

function pobierzNieoddane1() {
	if (YAHOO.util.Dom.get('nieoddaneMi')) {
		var data = '';
		var callback = {
			success : function(o) {
				var el = YAHOO.util.Dom.get('nieoddaneMi');
				el.innerHTML = o.responseText;
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST",
				'/ajax/W2OWypozyczalnia?akcja=pobierzNieoddaneMi', callback,
				data);
	}
}

function pobierzNieoddane2() {
	if (YAHOO.util.Dom.get('nieoddaneMnie')) {
		var data = '';
		var callback = {
			success : function(o) {
				var el = YAHOO.util.Dom.get('nieoddaneMnie');
				el.innerHTML = o.responseText;
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST",
				'/ajax/W2OWypozyczalnia?akcja=pobierzNieoddaneMnie', callback,
				data);
	}
}

function pobierzNieoddane3() {
	if (YAHOO.util.Dom.get('nieoddaneFilmy')) {
		var data = '';
		var callback = {
			success : function(o) {
				var el = YAHOO.util.Dom.get('nieoddaneFilmy');
				el.innerHTML = o.responseText;
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST",
				'/ajax/W2OWypozyczalnia?akcja=pobierzNieoddaneFilmy', callback,
				data);
	}
}

var loaderFanFanTekst = new YAHOO.util.YUILoader( {
	require : [ 'button', 'connection', 'container', 'resize', 'datasource',
			'dragdrop', 'animation', 'event', 'autocomplete', 'json',
			'calendar' ],
	base : 'http://imga.pl/yui/build/',
	onFailure : function(o) {
		alert("error: " + YAHOO.lang.dump(o));
	},
	onSuccess : function() {
		Event = YAHOO.util.Event;
		Dom = YAHOO.util.Dom;

		YAHOO.util.Event.addListener('Dwypozyczenie', 'click',
				dodajWypozyczenie);
		pobierzWypozyczenie();
		pobierzProsby1();
		pobierzProsby2();
		pobierzNieoddane1();
		pobierzNieoddane2();
		pobierzNieoddane3();
		filmyWyp();
		var items = YAHOO.util.Dom.getElementsByClassName('kom');
		YAHOO.util.Event.addListener(items, 'click', edytujOpis);
		var items = YAHOO.util.Dom.getElementsByClassName('prosba');
		YAHOO.util.Event.addListener(items, 'click', wyslijProsbe);
		YAHOO.util.Event.addListener('gatunek', 'click', pokazGatunki);
		YAHOO.util.Event.addListener('uzytkownicy', 'click', pokazUzytkownicy);
		YAHOO.util.Event.addListener('dostepnosc', 'click', pokazDostepnosc);
		loadStatus = 0;
	}
});

loaderFanFanTekst.insert();