/**
 * @author SÅ‚awomir KokÅ‚owski {@link http://www.kurshtml.boo.pl}
 * @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
 */

function Galeria(id, zdjecia, css, ochrona, zaladuj)
{
    this.kolumny = 4;
    this.naStronie = 24;
    
    
    this.id = id;
    this.zdjecia = zdjecia;
    this.ochrona = typeof ochrona != 'undefined' ? ochrona : false;
    this.css = css;
    
    var okno = null;
    
    if (typeof zaladuj != 'undefined' && zaladuj)
    {
	for (var i = 0; i < this.zdjecia.length; i++)
	{
	    new Image().src = this.zdjecia[i][0];
	}
    }
    
    this.wyswietl = function(strona)
    {
	if (typeof strona == 'undefined') strona = 1;
	var html = '';
	
	for (var i = start_ = (strona - 1) * this.naStronie, stop_ = Math.min(start_ + this.naStronie, this.zdjecia.length); i < stop_; i++)
	{
	    if (i > start_ && !(i % this.kolumny)) html += '</tr><tr>';
	    html +=
		'<td>' +
		    '<a href="' + (this.ochrona ? 'javascript:void(0)' : this.zdjecia[i][1]) + '" onclick="return !' + this.id + '.pokaz(' + i + ')" onkeypress="return !' + this.id + '.pokaz(' + i + ')"><img src="' + this.zdjecia[i][0] + '" alt=""' + (this.ochrona ? ' onmousedown="return false" oncontextmenu="return false" onselectstart="return false" onselect="return false" oncopy="return false" ondragstart="return false" ondrag="return false" galleryimg="no"' : '') + ' /></a>' +
		    (typeof this.zdjecia[i][2] != 'undefined' ? '<div style="padding: 4px 0px; font-size: 10px; line-height: 9px;">' + this.zdjecia[i][2] + '</div>' : '') +
		'</td>';
	}
	if (html) html = '<table><tr>' + html + '</tr></table>';
	
	if (this.zdjecia.length > this.naStronie)
	{
	    html += '<div class="stronicowanie">';
	    if (strona > 1) html += '<a href="javascript:void(0)" onclick="' + this.id + '.wyswietl(' + (strona - 1) + '); return false" onkeypress="' + this.id + '.wyswietl(' + (strona - 1) + '); return false">&laquo;</a>';
	    for (var i = 1, stop_ = Math.ceil(this.zdjecia.length / this.naStronie); i <= stop_; i++)
	    {
		html += ' ' + (i == strona ? i : '<a href="javascript:void(0)" onclick="' + this.id + '.wyswietl(' + i + '); return false" onkeypress="' + this.id + '.wyswietl(' + i + '); return false">' + i + '</a>');
	    }
	    if (strona < stop_) html += ' <a href="javascript:void(0)" onclick="' + this.id + '.wyswietl(' + (strona + 1) + '); return false" onkeypress="' + this.id + '.wyswietl(' + (strona + 1) + '); return false">&raquo;</a>';
	    html += '</div>';
	}
	
	document.getElementById(this.id).innerHTML = '<div class="galeria">' + html + '</div>';
    }
    
    this._pokaz = function(i)
    {
	var numer = (i + 1) + '/' + this.zdjecia.length;
	if (this.zdjecia.length < 2) var stronicowanie = '';
	else
	{
	    var stronicowanie =
		'<div class="stronicowanie">' +
		    (i > 0 ? '<a href="javascript:void(0)" style="white-space: nowrap; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: left; font-weight: 500; line-height: 12px; color: #000000; text-decoration: none;" onclick="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i - 1) + ')); document.close(); document.close()\', 1); return false" onkeypress="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i - 1) + ')); document.close(); document.close()\', 1); return false">&laquo;&nbsp;Wstecz</a>&nbsp;&nbsp;&nbsp;' : '') +
		    numer +
		    (i < this.zdjecia.length - 1 ? '&nbsp;&nbsp;&nbsp;<a href="javascript:void(0)"   style="white-space: nowrap; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: left; font-weight: 500; line-height: 12px; color: #000000; text-decoration: none;  HOVER{text-decoration: underline;}" onclick="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i + 1) + ')); document.close()\', 1); return false" onkeypress="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i + 1) + ')); document.close()\', 1); return false">Dalej&nbsp;&raquo;</a>' : '') +
		'</div>';
	}
	
	var html =
	    '<html>' +
		'<head>' +
		    '<title>' + (typeof this.zdjecia[i][2] != 'undefined' ? this.zdjecia[i][2].replace(/<[^>]+>/g, '') + (numer ? ' (' + numer + ')' : '') : numer) + '</title>' +
		    (typeof this.css != 'undefined' && this.css ? '<link rel="Stylesheet" type="text/css" href="' + this.css + '" />' : '') +
		    '<'+'script type="text/javascript">' +
		    'function dopasuj() { window.resizeTo(Math.min(screen.availWidth, Math.max(document.getElementById(\'img\').width + 60, document.getElementById(\'body\').offsetWidth)), Math.min(screen.availHeight, document.getElementById(\'body\').offsetHeight + 90)); }' +
		    (this.ochrona ? 'window.onblur = function() { if (document.getElementById(\'body\')) document.getElementById(\'body\').style.visibility = \'hidden\'; try { clipboardData.clearData(); } catch (e) {} }; window.onfocus = function () { if (document.getElementById(\'body\')) document.getElementById(\'body\').style.visibility = \'visible\'; };'  : '') +
		    '<'+'/script>' +
		'</head>' +
		'<body style="margin: 0; padding: 0; background-color: #e5e5e5;" onload="dopasuj(); dopasuj()"' + (this.ochrona ? ' oncontextmenu="return false" onbeforeprint="document.getElementsByTagName(\'body\')[0].style.visibility = \'hidden\'; window.alert(\'Wydruk jest niedostêpny!\')" onafterprint="document.getElementsByTagName(\'body\')[0].style.visibility = \'visible\'"' : '') + '>' +
			'<div id="body" style="margin: 10; padding: 0;">' +
			'<div id="zdjecie">' +
			    (typeof this.zdjecia[i][2] != 'undefined' || numer ? '<p style="font-family: Arial, Helvetica, sans-serif; font-size: 24px; text-align: left; font-weight: 600; line-height: 24px;">' + (typeof this.zdjecia[i][2] != 'undefined' ? this.zdjecia[i][2] : numer) + '</p>' : '') +
			    '<div style="text-align: left;"><img id="img" style="border: 2px solid black; height: 400px;" src="' + this.zdjecia[i][1] + '" alt=""' + (this.ochrona ? ' onmousedown="return false" oncontextmenu="return false" onselectstart="return false" onselect="return false" oncopy="return false" ondragstart="return false" ondrag="return false" galleryimg="no"' : '') + ' /></div>' +
			    (typeof this.zdjecia[i][3] != 'undefined' ? '<div style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: left; font-weight: 600; line-height: 12px; padding: 10px 0px; height: 50px;">' + this.zdjecia[i][3] + '</div>' : '') +
			    stronicowanie +
			'</div>' +
			'</div>' +
		'</body>' +
	    '</html>';
	
	return html;
    }
    
    this.pokaz = function(i)
    {
	try { okno.close() } catch (e) {}
	okno = window.open('', this.id, 'menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,width=400,height=400');
	if (!okno) return false;
	
	okno.document.close();
	okno.document.write(this._pokaz(i));
	okno.document.close();
	okno.focus();
	
	return true;
    }
    
    document.write('<div id="' + this.id + '"></div>');
    this.wyswietl();
}
