/*
	konfiguracja skryptu
*/
iipic_cfg = {
	idbg: "iipicbg",
	idframe: "iipicframe",
	classname: "iipic",
	margin: 50};

var	iipic_list = new Array();
var	c = true;
var	iipic_curr = -1;
var	iipic_lp = 0 ;
var	iipic_currurl = '';
var	iipic_frame = false;
var	iipic_bg = false;
var	iipic_img = false;
var	iipic_desc = false;
var	iipic_loader = false;
var	iipic_action = false;
	
/*
	inicjacja po wczytaniu dokumentu
*/
function	iipic_onload() {
	$("a."+iipic_cfg.classname).each(function(i) {
		$(this).click(iipic_onclick);
		$(window).resize(iipic_onresize);
		$(window).scroll(iipic_onresize);
	});
}

/*
	klikniecie w miniature
*/
function	iipic_onclick(e) {

	iipic_list = new Array();
	iipic_curr = -1;
	iipic_lp = 0;
	iipic_currurl = this.href;
	iipic_first = true;
	
	//	szukamy a z klasa i ew. rel
	var	sel = '.' + iipic_cfg.classname;
	if(this.rel && this.rel!='' && this.rel!==null) {
		sel += '[rel=' + this.rel +']';
	}
	
	var	item, img;
	//	szukamy A z klasa
	$(sel).each(function(index, element) {
		try {
			img = element.getElementsByTagName("IMG")[0];
		} catch(e) {
			img = false;
		}
		if(!img) {
			return;
		}

		item = new Object();
		item.big = element.href;
		item.thumb = img.src;
		item.alt = img.alt && img.alt!==null ? img.alt : '';
		item.title = img.title && img.title!==null  ? img.title : '';
		item.photo = element.title && element.title!==null  ? element.title : '';
		
		iipic_list.push(item);
		
		if(item.big==iipic_currurl) {
			iipic_curr = iipic_lp;
		}
		iipic_lp+=1;
	});
	
	if(iipic_list.length<=0)
		return iipic_onclose();
	
	//	przyciemnione tlo
	$("body").append($('<div id="'+ iipic_cfg.idbg +'"></div>'));
	iipic_bg = $("#"+ iipic_cfg.idbg);
	if(!iipic_bg.length)
		return false;
	$(iipic_bg).css("opacity", 0);
	
	//	jasna ramka
	$("body").append($('<div id="'+ iipic_cfg.idframe +'"><a href="javascript:void(0);" id="iipicclose"><img src="gfx/ico-iipic-close.gif" alt="Zamknij" title="Zamknij" /></a>'+ (iipic_list.length>1 ? '<p id="iipicnav"><a href="javascript:void(0);" id="iipicprev"><img src="gfx/ico-iipic-prev.gif" alt="Poprzednie" title="Poprzednie" /></a> <a href="javascript:void(0);" id="iipicnext"><img src="gfx/ico-iipic-next.gif" alt="Następne" title="Następne" /></a></p>' : '') + '<img src="javascript:void(0);" alt="tst" title="" id="iipicimg" /><div id="iipicdesc"></div></div>'));
	iipic_frame = $("#"+ iipic_cfg.idframe);
	$(iipic_frame).css("opacity", 0);
	$(iipic_frame).css("width", "360px");
	
	iipic_img = $("#iipicimg");
	$(iipic_img).css("opacity", 0);
	$(iipic_img).css("width", "320px");
	$(iipic_img).css("height", "180px");

	iipic_desc = $("#iipicdesc");
	$(iipic_desc).css("opacity", 0);

	iipic_onresize();
	
	iipic_bg.click(iipic_onclose);
	$("#iipicprev").click(iipic_onprev);
	$("#iipicnext").click(iipic_onnext);
	$("#iipicclose").click(iipic_onclose);

	$(iipic_bg).fadeTo(300, 0.75, function() {
		iipic_load(iipic_curr);
	});
	$(this).blur();
	return false;
}

/*
	przesuwanie okna
*/
function	iipic_onscroll() {
	iipic_onresize(true);
}

/*
	zmiana rozmiaru okna
*/
function	iipic_onresize(scroll) {
	if(!iipic_bg.length)
		return;
	$(iipic_bg).css("left", $(window).scrollLeft() + "px");
	$(iipic_bg).css("top", $(window).scrollTop() + "px");
	$(iipic_bg).css("width", $(window).width() + "px");
	$(iipic_bg).css("height", $(window).height() + "px");
	
	if(!iipic_frame.length || scroll)
		return;
	var	w = Math.max($(iipic_img).width(), 320), h = Math.max($(iipic_img).height(), 180);
	$(iipic_frame).css("left", ($(window).width()-w)/2 + "px");
	$(iipic_frame).css("top", $(window).scrollTop() + iipic_cfg.margin + "px");
	$(iipic_frame).css("width", w + "px");
	$(iipic_frame).css("height", (h + Math.max($('#iipicnav').outerHeight(true), $('#iipicclose').outerHeight(true)) + $('#iipicdesc').outerHeight(true)) + "px");
}

/*
	klikniecie poza lub zamkniecie
*/
function	iipic_onclose(e) {
	if(!iipic_bg.length)
		return false;
	
	iipic_bg.fadeOut(300, function() {
		$("#"+ iipic_cfg.idbg).remove();
	});

	if(!iipic_frame.length)
		return false;
	iipic_frame.fadeOut(250, function() {
		$("#"+ iipic_cfg.idframe).remove();
	});
}

/*
	klikniecie w poprzednie
*/
function	iipic_onprev() {
	iipic_load(iipic_curr-1);
}

/*
	klikniecie w nastepne
*/
function	iipic_onnext() {
	iipic_load(iipic_curr+1);
}

/*
	akcja po wczytaniu obrazka
*/
function	iipic_onimgload() {
	var	w = iipic_loader.width, h = iipic_loader.height;
	var	desc = '';

	$(iipic_desc).css("opacity", 0);

	if(iipic_list[iipic_curr].alt)
		desc += "<p><b>" +iipic_list[iipic_curr].alt+  "</b></p>";
	if(iipic_list[iipic_curr].title)
		desc += "<p>" +iipic_list[iipic_curr].title+  "</p>";
	if(iipic_list[iipic_curr].photo)
		desc += "<p>" +iipic_list[iipic_curr].photo+  "</p>";
	$(iipic_desc).html(desc);

	$(iipic_frame).animate({width: w + 'px', height: (h + Math.max($('#iipicnav').outerHeight(true), $('#iipicclose').outerHeight(true)) + $('#iipicdesc').outerHeight(true)) + 'px', left: ($(window).width() - w)/2 + 'px'}, 300, function() {
		$(iipic_img).attr("src", iipic_list[iipic_curr].big);
		$(iipic_img).attr("alt", iipic_list[iipic_curr].alt);
		$(iipic_img).attr("title", iipic_list[iipic_curr].title);
		$(iipic_img).css("width", w + 'px');
		$(iipic_img).css("height", h + 'px');
		$(iipic_img).fadeTo(300, 1.0);
		$(iipic_desc).fadeTo(300, 1.0);
	});
	iipic_action = false;
}

/*
	wczytanie obrazka
*/
function	iipic_load(idx) {
	if(iipic_action)
		return;
	if(idx<0)
		idx = 0;
	if(idx>=iipic_list.length)
		idx = iipic_list.length-1;
	
	if(idx==iipic_curr && !iipic_first)
		return;
		
	iipic_curr = idx;
	
	if(iipic_list.length>1) {
		$("#iipicprev > img").attr("src", idx>0 ? 'gfx/ico-iipic-prev.gif' : 'gfx/ico-iipic-prev2.gif');
		$("#iipicnext > img").attr("src", idx<iipic_list.length-1 ? 'gfx/ico-iipic-next.gif' : 'gfx/ico-iipic-next2.gif');
	}
	
	iipic_first = false;
	iipic_action = true;

	$(iipic_img).fadeTo(300, 0.0);
	$(iipic_frame).fadeTo(300, 1.0);

	iipic_loader = new Image();
	$(iipic_loader).bind("load", iipic_onimgload);
	iipic_loader.src = iipic_list[iipic_curr].big;
}