var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;

var bylo = {};

var start = 0;

var start2 = 0;

var els, els2;

var obiekty = {
	'1' : 'film',
	'2' : 'osoba filmu',
	'10' : 'fanklub',
	'10.01' : 'blog',
	'10.01.01' : 'wpis na blogu',
	'10.02' : 'kalendarz',
	'10.02.01' : 'termin w kalendarzu',
	'10.03' : 'mapa',
	'10.03.01' : 'miejsce na mapie',
	'10.04' : 'pliki',
	'10.04.01' : 'zdjęcia',
	'10.04.02' : 'muzyka',
	'10.04.03' : 'video',
	'10.04.04' : 'plik',
	'10.05' : 'linki',
	'10.05.01' : 'link',
	'10.06' : 'cytaty',
	'10.06.01' : 'cytat',
	'10.07' : 'wikipedia',
	'10.07.01' : 'wpis z wikipedii',
	'10.08' : 'pytania',
	'10.09' : 'forum',
	'10.10' : 'ankiety',
	'10.11' : 'quizy',
	'11' : 'kategoria w tf',
	'11.01' : 'obiekt zainteresowań'
}

function statystyka(target) {
	var sUrl = "/ajax/Obiekt/";
	if (!bylo[target.id]) {
		bylo[target.id] = 1;
		var data = "id=" + target.id + "&akcja=stat&ulu=" + ulu[target.id]
				+ "&ref=" + encodeURIComponent(document.referrer)
				+ "&wyr=" + wyr[target.id] + "&obs=" + obs[target.id];
		var callback = {
			success : function(o) {
				var kon = target;// YAHOO.util.Dom.get("kontener");
				if (kon) {
					kon.innerHTML = o.responseText;
					var items4 = YAHOO.util.Dom.getElementsByClassName('www');
					YAHOO.util.Event.addListener(items4, 'click', setUlu);
				}
			}
		};
		YAHOO.util.Connect.asyncRequest("POST", sUrl, callback, data);
	}
}

function rysujObiektyPow() {
	var sMarkup = '';
	var end = start2 + 3;
	if (end > els2.length) {
		end = els2.length;
	}
	for ( var i = start2; i < end; i++) {
		sMarkup += '<div id="' + els2[i].typ + '_' + els2[i].id
				+ '_0" class="usun_powiazane">';
		sMarkup += '<div class="tytul">';
		if (els2[i].img) {
			sMarkup += '<div class="img">';
			sMarkup += '<img src="' + els2[i].img + '" />';
			sMarkup += '</div>';
		}
		sMarkup += els2[i].nazwa + '</div>';
		sMarkup += els2[i].opis;
		sMarkup += '</div>';
	}
	var div = YAHOO.util.Dom.get("obecne");
	div.innerHTML = sMarkup;
	var items4 = YAHOO.util.Dom.getElementsByClassName('usun_powiazane');
	YAHOO.util.Event.addListener(items4, 'click', setPowiazane);
}

function getObiektyPow(oRequest, oResponse, oPayload) {
	var sMarkup = "";
	els2 = oResponse.results;
	var div = YAHOO.util.Dom.get("navObecne");
	div.innerHTML = '';
	start2 = 0;
	if (els2.length > 3) {
		var div = YAHOO.util.Dom.get("navObecne");
		div.innerHTML = '<div class="pop"><a href="javascript:lewoPow()">poprzednie</a></div>';
		div.innerHTML += '<div class="nas"><a href="javascript:prawoPow()">następne</a></div>';
	}
	rysujObiektyPow();
}

function setPowiazane(e) {
	var target = YAHOO.util.Event.getTarget(e);
	var items4 = YAHOO.util.Dom.getElementsByClassName('powiazane');
	var sUrl = "/ajax/Obiekt/";
	var data = "id=" + items4[0].id + '_' + target.parentNode.id + "&akcja=pow";
	var myDataSourceId2 = new YAHOO.util.DataSource(sUrl);
	myDataSourceId2.responseType = YAHOO.util.DataSource.TYPE_TEXT;
	myDataSourceId2.connMethodPost = true;
	myDataSourceId2.responseSchema = {
		recordDelim : "\n",
		fieldDelim : "|",
		fields : [ "typ", "id", "nazwa", "opis", "img" ]
	};
	myDataSourceId2.sendRequest(data, {
		success : getObiektyPow
	});
}

function lewoPow() {
	start2 -= 3;
	if (start2 < 0) {
		start2 = 0;
	}
	rysujObiektyPow();
}

function prawoPow() {
	if (start2 < els2.length - 3) {
		start2 += 3;
	}
	rysujObiektyPow();
}

function lewo() {
	start -= 6;
	if (start < 0) {
		start = 0;
	}
	rysujObiekty();
}

function prawo() {
	if (start < els.length - 6) {
		start += 6;
	}
	rysujObiekty();
}

function rysujObiekty() {
	var sMarkup = '';
	var end = start + 6;
	if (end > els.length) {
		end = els.length;
	}

	for ( var i = start; i < end; i++) {
		sMarkup += '<div id="' + els[i].typ + '_' + els[i].id
				+ '_1" class="dodaj_obiekt">';
		sMarkup += '<div class="tytul">';
		if (els[i].img) {
			sMarkup += '<div class="img">';
			sMarkup += '<img src="' + els[i].img + '" />';
			sMarkup += '</div>';
		}
		sMarkup += els[i].nazwa + '</div>';
		sMarkup += els[i].opis;
		sMarkup += '</div>';
	}
	var div = YAHOO.util.Dom.get("dodaj");
	div.innerHTML = sMarkup;
	var items4 = YAHOO.util.Dom.getElementsByClassName('dodaj_obiekt');
	YAHOO.util.Event.addListener(items4, 'click', setPowiazane);
}

function getObiekty(oRequest, oResponse, oPayload) {
	var sMarkup = "";
	els = oResponse.results;
	start = 0;
	var div = YAHOO.util.Dom.get("navDodaj");
	div.innerHTML = '';
	if (els.length > 6) {
		var div = YAHOO.util.Dom.get("navDodaj");
		div.innerHTML = '<div class="pop"><a href="javascript:lewo()">poprzednie</a></div>';
		div.innerHTML += '<div class="nas"><a href="javascript:prawo()">następne</a></div>';
	}
	rysujObiekty();
}

function szukajObiekty(e) {
	var movie_search = YAHOO.util.Dom.get("q");
	var query = movie_search.value;
	imgV = '<img src="http://imga.pl/i/8-0.gif" />';
	var div = YAHOO.util.Dom.get("dodaj");
	var kat = YAHOO.util.Dom.get('typ');
	div.innerHTML = imgV;
	myDataSourceId.sendRequest("akcja=szukaj&q=" + encodeURIComponent(query)
			+ "&kat=" + kat.value + "&"
			+ new String(Math.random()).substring(2, 11), {
		success : getObiekty
	});
}

function dodajPowiazane(e) {
	dalej = new YAHOO.widget.SimpleDialog("dlg", {
		width : "980px",
		height : "450px",
		fixedcenter : true,
		modal : true,
		visible : true,
		draggable : false,
		zIndex : 10
	});
	dalej.setHeader("Zarządzaj powiązanymi");
	var tresc = '<div id="szukajForm">';
	tresc += '<div id="szukajFormW">';
	tresc += 'Szukaj: <input id="q" /> ';
	tresc += '<select id="typ">';
	tresc += '<option value="0">wszędzie</option>';
	for (i = 0; i < powiazane.length; i++) {
		tresc += '<option value="' + powiazane[i] + '">'
				+ obiekty[powiazane[i]] + '</option>';
	}
	tresc += '</select>';
	tresc += ' <input type="button" id="szukajbt" value="szukaj" onclick="szukajObiekty()"/>';
	tresc += '</div>';
	tresc += '<div id="navDodaj">&nbsp;</div>';
	tresc += '<div id="dodaj">&nbsp;</div>';
	tresc += '</div>';
	tresc += '<div id="tytObecne">Obecne</div>';
	tresc += '<div id="navObecne">&nbsp;</div>';
	tresc += '<div id="obecne"></div>';
	dalej.setBody(tresc);
	var handleDalej = function() {
		dalej.hide();
	}
	var myButtons = [ {
		text : "OK",
		handler : handleDalej,
		isDefault : true
	} ];
	dalej.cfg.queueProperty("buttons", myButtons);
	dalej.render(document.body);
	dalej.show();

	var sUrl = "/ajax/SzukajSphinx?";
	myDataSourceId = new YAHOO.util.DataSource(sUrl);
	myDataSourceId.responseType = YAHOO.util.DataSource.TYPE_TEXT;
	myDataSourceId.connMethodPost = true;
	myDataSourceId.responseSchema = {
		recordDelim : "\n",
		fieldDelim : "|",
		fields : [ "typ", "id", "nazwa", "opis", "img" ]
	};
	setPowiazane(e);
}

function dodajTag(e) {
	var target = YAHOO.util.Event.getTarget(e);
	dalej = new YAHOO.widget.SimpleDialog("dlg", {
		width : "200px",
		fixedcenter : true,
		modal : true,
		visible : true,
		draggable : false,
		zIndex : 10
	});
	dalej.setHeader("Dodaj tag");
	var tresc = '<div id="szukajForm">';
	tresc = '<input type="text" id="dodajTag" style="width: 180px" />';
	tresc += '</div>';
	dalej.setBody(tresc);
	dalej.tid = target.id.substr(11);
	var handleAnuluj = function() {
		dalej.hide();
	}
	var handleDalejTag = function() {
		var sUrl = "/ajax/Obiekt";
		var data = "akcja=dodajTag&id=" + this.tid + "&tag="
				+ YAHOO.util.Dom.get("dodajTag").value + '&admin=' + admin;
		var callback = {
			success : function(o) {
				YAHOO.util.Dom.get("dodajTag").value = '';
				YAHOO.util.Dom.get("tagi_" + o.argument.id).innerHTML = o.responseText;
				var items4 = YAHOO.util.Dom.getElementsByClassName('tagtag');
				YAHOO.util.Event.addListener(items4, 'click', usunTag);
			},
			argument : {
				'id' : this.tid
			}
		};
		var request = YAHOO.util.Connect.asyncRequest("POST", sUrl, callback,
				data);
		dalej.hide();
	}
	var myButtons = [ {
		text : "Dodaj",
		handler : handleDalejTag,
		isDefault : true
	}, {
		text : "Anuluj",
		handler : handleAnuluj
	} ];
	dalej.cfg.queueProperty("buttons", myButtons);
	dalej.render(document.body);
	dalej.show();

}

function setUlu(e) {
	var sUrl = "/ajax/Obiekt/";
	var target = YAHOO.util.Event.getTarget(e);
	var data = "id=" + target.id + "&akcja=ulu&ulu="
			+ ulu[target.parentNode.id] + "&wyr=" + wyr[target.parentNode.id]
			+ "&obs=" + obs[target.parentNode.id];
	var callback = {
		success : function(o) {
			var kon = target.parentNode;// .util.Dom.get("kontener");
			if (kon) {
				kon.innerHTML = o.responseText;
				var items4 = YAHOO.util.Dom.getElementsByClassName('www');
				YAHOO.util.Event.addListener(items4, 'click', setUlu);
			}
		}
	};
	var request = YAHOO.util.Connect.asyncRequest("POST", sUrl, callback, data);
	return false;
}

function usunTag(e) {
	var sUrl = "/ajax/Obiekt/";
	var target = YAHOO.util.Event.getTarget(e);
	var idd = target.id.split('_');
	var iddd = idd[2] + '_' + idd[3];
	var data = "id=" + target.id + "&akcja=usunTag&admin=" + admin;
	var callback = {
		success : function(o) {
			YAHOO.util.Dom.get("tagi_" + o.argument.id).innerHTML = o.responseText;
			var items4 = YAHOO.util.Dom.getElementsByClassName('tagtag');
			YAHOO.util.Event.addListener(items4, 'click', usunTag);
		},
		argument : {
			id : iddd
		}
	};
	var request = YAHOO.util.Connect.asyncRequest("POST", sUrl, callback, data);
	return false;
}

var loaderObiekt = new YAHOO.util.YUILoader( {
	require : [ 'connection', 'dom', 'utilities', 'button', 'container' ],
	base : 'http://imga.pl/yui/build/',
	onSuccess : function() {
		var items = YAHOO.util.Dom.getElementsByClassName('ocena');
		YAHOO.util.Dom.setStyle(items, 'visibility', 'visible');
		var i = 0;
		for (i = 0; i < items.length; i++) {
			items[i].innerHTML = '<div class="ocena"><div>Oceń: </div></div>'
					+ '<div class="nn"><div><u id="' + items[i].id
					+ '_1" class="ocenka">1</u></div></div>'
					+ '<div class="nn"><div><u id="' + items[i].id
					+ '_2" class="ocenka">2</u></div></div>'
					+ '<div class="nn"><div><u id="' + items[i].id
					+ '_3" class="ocenka">3</u></div></div>'
					+ '<div class="nn"><div><u id="' + items[i].id
					+ '_4" class="ocenka">4</u></div></div>'
					+ '<div class="nn"><div><u id="' + items[i].id
					+ '_5" class="ocenka">5</u></div></div>';
		}
		var items2 = YAHOO.util.Dom.getElementsByClassName('ocenka');
		YAHOO.util.Event.addListener(items2, 'click', function(e) {
			var info = YAHOO.util.Dom.get("loadingTekst");
			if (info) {
				info.innerHTML = "Trwa wysyłanie oceny";
				loadStatus = 1;
				YAHOO.util.Dom.setStyle(loadingDIV, 'visibility', 'visible');
			}
			var sUrl = "/ajax/Obiekt/";
			var target = YAHOO.util.Event.getTarget(e);
			var data = "id=" + target.id + "&akcja=ocena";
			var callback = {
				success : function(o) {
					loadStatus = 0;
				}
			};
			var request = YAHOO.util.Connect.asyncRequest("POST", sUrl,
					callback, data);
			return false;
		});
		var items2 = YAHOO.util.Dom.getElementsByClassName('ooo');
		YAHOO.util.Event.addListener(items2, 'click', function(e) {
			var sUrl = "/ajax/Obiekt/";
			var target = YAHOO.util.Event.getTarget(e);
			var data = "id=" + target.id + "&akcja=ocenka";
			var callback = {
				success : function(o) {

				}
			};
			var request = YAHOO.util.Connect.asyncRequest("POST", sUrl,
					callback, data);
			return false;
		});
		var items2 = YAHOO.util.Dom.getElementsByClassName('ooa');
		YAHOO.util.Event.addListener(items2, 'click', function(e) {
			var sUrl = "/ajax/Obiekt/";
			var target = YAHOO.util.Event.getTarget(e);
			var data = "id=" + target.id + "&akcja=admin";
			var callback = {
				success : function(o) {

				}
			};
			var request = YAHOO.util.Connect.asyncRequest("POST", sUrl,
					callback, data);
			return false;
		});
		var items4 = YAHOO.util.Dom.getElementsByClassName('dodajpowiazane');
		YAHOO.util.Event.addListener(items4, 'click', dodajPowiazane);
		var items4 = YAHOO.util.Dom.getElementsByClassName('dodajTagA');
		YAHOO.util.Event.addListener(items4, 'click', dodajTag);
		var items4 = YAHOO.util.Dom.getElementsByClassName('tagtag');
		YAHOO.util.Event.addListener(items4, 'click', usunTag);
		var items2 = YAHOO.util.Dom.getElementsByClassName('stat');
		for (i = 0; i < items2.length; i++) {
			statystyka(items2[i]);
		}
		var items2 = YAHOO.util.Dom.getElementsByClassName('submit');
		for (i = 0; i < items2.length; i++) {
			var _button = new YAHOO.widget.Button(items2[i]);
		}
	}
});
loaderObiekt.insert();
