

// var max_dlugosc_opisu_ksiazki = 600;
var max_dlugosc_opisu_ksiazki = 520;
var max_dopuszalne_roznica_zakresu_dlugosci_opisu = 0.16;
var opisyKsiazek = Array();

function BuildMore() {
	var books = document.getElementById('pw_listaksiazek');	
	
	if (books!=null) {		
		var divs = books.getElementsByTagName('DIV');
		var opisy = Array();
		var descr = null;	
		for (i in divs) {
			if ((divs[i].className=='description') || (divs[i].className=='t_description')) {
				opisy[opisy.length] = divs[i];
				descr =  divs[i].innerHTML;				
				divs[i].innerHTML = PrzytnijOPisKsiazkiNaBialymZnaku(descr);			
			}
		}	
	}
}

function PrzytnijOPisKsiazkiNaBialymZnaku(tresc) {	
	if (tresc.length<=(max_dlugosc_opisu_ksiazki*(1+max_dopuszalne_roznica_zakresu_dlugosci_opisu))) { return tresc; }	
	// sprzawdzamy czy jest znacznik <more>
	var jestmore_napozycji = tresc.indexOf('<more>');
	if (jestmore_napozycji<=0) { jestmore_napozycji = tresc.indexOf('<MORE>'); }
	if (jestmore_napozycji<=0) { jestmore_napozycji = tresc.indexOf('<more/>'); }
	if (jestmore_napozycji<=0) { jestmore_napozycji = tresc.indexOf('<MORE/>'); }
	var opisNr = null;
	var nowatresc = tresc;
	opisNr = opisyKsiazek.length;
	opisyKsiazek[opisNr] = tresc+'<br/><span class="opis_ksiazek_zwin" onClick="javascript:CalyOpis(this,'+opisNr+',0);"> &laquo; zwiń </span>';
	if (jestmore_napozycji>0) { // jest to przycinamy w tym miejscu				
		nowatresc = tresc.substring(0,jestmore_napozycji);
		//nowatresc = '<br/>'+nowatresc+'<br/><span class="opis_ksiazek_wiecej" onClick="CalyOpis('+opisNr+',1);"> więcej &raquo; </span>';
	} else {
		if (tresc.length>max_dlugosc_opisu_ksiazki*(1+max_dopuszalne_roznica_zakresu_dlugosci_opisu)) {
			// przycinamy -> wyszukujemy htmlowego tagu zamykajacego 
			var re = new RegExp();
			// var wyrazenie = "^.{"+Math.round(max_dlugosc_opisu_ksiazki*(1-max_dopuszalne_roznica_zakresu_dlugosci_opisu))+"}.*?\\B";
			var wyrazenie = "^.{"+Math.round(max_dlugosc_opisu_ksiazki*(1-max_dopuszalne_roznica_zakresu_dlugosci_opisu))+"}.*?\.\\s";			
			// var wyrazenie = "^.{"+Math.round(max_dlugosc_opisu_ksiazki*(1-max_dopuszalne_roznica_zakresu_dlugosci_opisu))+"}";
			// alert(wyrazenie);
			re.compile(wyrazenie,"gi");
			// alert(tresc);			
			var match = re.exec(tresc);
			if (match==null) {
				pos = tresc.indexOf(' ',Math.round(max_dlugosc_opisu_ksiazki*(1-max_dopuszalne_roznica_zakresu_dlugosci_opisu)));
				nowatresc = tresc.substring(0,pos);
			} else {
			// js_dump(match);
				nowatresc = match[0].substring(0,match[0].length-1);
			}
			// alert(nowatresc);
			// js_dump(match);
		} else { // nie ma potrzeby przycinac tresci
			
		}
	}	
	nowatresc = nowatresc+' (...) <br/><span class="opis_ksiazek_wiecej" onClick="javascript:CalyOpis(this,'+opisNr+',1);"> więcej &raquo; </span>';
	return nowatresc;
	// sprawdzamy dlugosc
}

function CalyOpis(item,numer,pokaz) {
	if (typeof(opisyKsiazek[numer])=='undefined') { return; }
	var tmp = opisyKsiazek[numer];
	opisyKsiazek[numer] = item.parentNode.innerHTML;
	item.parentNode.innerHTML = tmp;
}


function ShowBigPicture(image) {
	// trzeba zmienic sciezke na ciut inna i wyswietlic :)	
	/*
	var bigImage = document.createElement('img');	
	bigImage.src='img/books/b/'+image+'.jpg';
	bigImage.style.position='absolute';
	bigImage.style.top = 10;
	bigImage.style.left = 10;
	// bigImage.style.border = '1px solid red';
	document.body.appendChild(bigImage);
	*/
	window.open('img/books/b/'+image+'.jpg','okladka','toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,width=450,height=660,left=20,top=20');
}


var test=0;
function ShowAuthorInfo(item,event) {	
	// var info = item.childNodes[1];
	var info = item.parentNode.childNodes[1];
	if (info==item) { info = item.parentNode.childNodes[3]; }
	
	info.style.display='block';
	info.style.top=event.y;
	info.style.left='75px';		
		
}

window.onload = BuildMore;
