/*


	 Skrypt jest darmowy, poki ten komentarz w nim pozostaje.


	 Released under Creative Commons License


	 http://creativecommons.org/licenses/by/2.0/





	 Original author: Kornel Lesinski


	 http://pornel.net/pups/


*/





/* sposob uzycia tego wszystkiego znajdziesz na koncu pliku */











/** to taki smieszny sposob definiowania funkcji, nie przejmuj sie */


var pornpups =


{


	/** uaktywnia wszystkie linki w podanym elemencie. z pewnoscia chcesz to wywolac (patrz koniec tego pliku) */


	init: function(element)


	{


		/** wymagany jest element i obsluga DOM */


		if (!element || !element.getElementsByTagName) {return false;}





		var as = element.getElementsByTagName('a');


		for(var i=0;i<as.length;i++)


		{


			/* dzieki ponizszej linijce upopupiane sa tylko linki do obrazkow. zakomentuj ja i bedzie dzialalo na wszystkie. mozesz tez zmienic warunek zeby dzialalo np. tylko na linki z okreslona klasa (tip: .className) */


			if ((as[i].href+'').match(/\.(jpe?g|png|gif)/i))


				as[i].onclick = this.click;


		}





		return true;


	},





	/** tworzenie dokumentu, ktory jest w nowootwartym oknie. zmien HTML wg gustu */


	writedoc: function(win,href,title,alt,h)


	{


		var doc = win.document;


		doc.open('text/html;charset=ISO-8859-2');


		doc.write(


		'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' +


		'<html id="popup">' +


		'<head><title>' + alt + '</title>' +


		'<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">' +


		'<meta http-equiv="imagetoolbar" content="false">' +


		'<link rel="stylesheet" href="popup.css">' +


		(h?'<style type="text/css">.obrazek {min-height: ' + h + 'px} #iesux#popup .obrazek {height: ' + h + 'px;}</style>':'') +


		/* w FF1.5 klik nie zawsze zamykaÅ? przy body.onmouseup */


		'</head><body onclick="window.close();">' +


		(title?'<p class="tytul">'+title+'</p>':'') +


		'<p class="obrazek"><img src="'+href+'" alt="'+alt+'"></p>' +


			'</body></html>'


		);


		doc.close();


	},





	/** funkcja ma za zadanie wydobyc wymiary z podanego ciagu (tytulu linku)


		zwraca tablice zawierajaca ladnie sformatowany tytul oraz


		wymiary pobrane z podanego ciagu w formacie dla window.open





		zmien ta funkcje, jesli chcesz zapisywac wymiary w inny sposob


	*/


	title2size: function(str)


	{


		if (str)


		{


			/* wyrazenie regularne szuka czegos na wzor "(111x222)" */


			var out = str.match(/\(([0-9]+)x([0-9]+)\)/);





			/* po czym usuwa znaleziony fragment */


			if (out) return new Array(str.replace(/\(([0-9]+)x([0-9]+)\)/g,''),parseInt(out[1]),parseInt(out[2]));


		}


		/* w przypadku problemow - podaje wartosci domyslne (zmien na takie, jakie ci pasuja) */


		return new Array(str,550,420);


	},





	/** obsluga klikniecia */


	click: function()


	{


		/* jesli okno tej miniatury jest otwarte - zamknij (bÄ?dzie otworzone jeszcze raz, jakby uÅ¼ytkownik zgubiÅ? poprzednie...) */


		try {


			if (this.pp_win && this.pp_win.close && !this.pp_win.closed) {this.pp_win.close(); this.pp_win=false;}


		}


		/* explorer ma z tym dziwne problemy, ktore na szczescie mozna olac */


		catch(e){}





		try {


			/* znajdz obrazek, jego alt i title */


			var imgs = this.getElementsByTagName('img');


			var title = imgs[0].getAttribute('title')?imgs[0].getAttribute('title'):this.getAttribute('title');


			var alt = imgs[0].getAttribute('alt');





			/* parametry okna, z wymiarami (tu wymiary sa powiekszane, aby bylo troche miejsca wokol obrazka) */


			var titleandsize = pornpups.title2size(title);


			var winopts = "dependent=yes,toolbar=no,resizable=yes,width=" + (titleandsize[1]+10) + ',height=' + (titleandsize[2]+10);





			/* do the boogie! */


			var win = window.open(this.href,'_blank',winopts);


			if (win && win.opener)


			{


				this.pp_win = win;


				pornpups.writedoc(win,this.href,titleandsize[0],alt,titleandsize[2]);


				return false;


			}


		}


		/* siatka bezpieczenstwa, jakby ktoras funkcja nawalila */


		catch(e){}





		/* jesli nie udalo sie otworzyc okna - zwraca true, co otwiera obrazek w tym samym oknie */


		return true;


	},





	initNow: function()


	{


		this.init(document.body);


	},





	initLoad: function()


	{


		var oldOnload = window.onload;


		var that = this;


		window.onload = function()


		{


			if (oldOnload) try{oldOnload();}catch(e){/*explorer dziwne rzeczy plecie*/}


			that.initNow();


		}


	}


};





/** wystarczy wywolac jedno z ponizszych */





/** inicjalizacja przy onload (po zaladowaniu wszsystkich miniatur) */


pornpups.initLoad();





/** inicjalizacja natychmiastowa. MUSI byc wykonana w body ZA wszystkimi linkami, na ktore ma dzialac */


pornpups.initNow();


