function projectorHelp(f,opTime,clTime){
	if(typeof(f)=='string')this.frame=$(f);
	else this.frame=f;
	this.frame.style.display='none';
	this.dictionary=[
		{'title':'ZOOM', 'content': 'Zwykle istnieją trzy poziomy powiększenia strony. Aktualny poziom wskazuje ikonka<br /> <img src="public/img/helper/helperZoomIcon.jpg" alt="zoom" />.<br /> '+
									'Możesz powiększać i pomniejszać stronę ulotki wybierając jedną z trzech kropek na tej ikonce. '+
									'Przybliżyć wybrany fragment strony, możesz również ' +
									'ustawiając kursor nad interesującym Cię fragmentem i klikając podwójnie lewy przycisk myszy.'},
		{'title':'MAPA', 'content':	'Klikając w <img src="public/img/helper/helperMapButton.jpg" alt="rozwiń mapę" /> zobaczysz miniaturkę całej strony z ' +
									'zaznaczonym niebieską ramką jej aktualnym obszarem. Niebieska ramka pojawi '+
									'się tylko wówczas jeśli powiększyłeś ulotkę. Możesz z poziomu mapy ' +
									'przemieszczać wyświetlany obszar strony ulotki. Kliknij i przytrzymaj lewy ' +
									'przycisk myszy gdy kursor jest wewnątrz niebieskiej ramki i przesuń kursor w '+
									'odpowiednią stronę - wyświetlany obszar również zmieni swoją pozycję.'},
		{'title':'PRZEMIESZCZANIE', 'content':	'Powiększając stronę nie będziesz widział całego jej ' +
												'obszaru. Ustaw kursor nad stroną ulotki, kliknij i przytrzymaj lewy przycisk ' +
												'myszy. Z wciśniętym przyciskiem, poruszając kursorem - przemieścisz widoczny ' +
												'fragment strony ulotki. Jeśli masz rozwiniętą mapę strony <img src="public/img/helper/helperMapButton.jpg" alt="rozwiń mapę" />, ' + 
												'aktywny, widoczny fragment strony zaznaczony jest niebieską ' +
												'ramką. Możesz przemieszczać obszar również z poziomu tej mapy. Kliknij i ' +
												'przytrzymaj lewy przycisk myszy gdy kursor jest wewnątrz niebieskiej ramki i ' +
												'przesuń kursor w odpowiednią stronę.'},
		{'title':'SLIDER', 'content':	'<br /><img src="public/img/helper/sliderBg.gif" alt="zoom" /><br /> służy do szybkiej zmiany aktywnej strony ulotki. ' +
										'Kliknij i przytrzymaj lewy przycisk myszy nad przycisk <img src="public/img/helper/sliderHandler.gif" alt="zoom" /> i ' +
										'przesuń kursor w prawo lub lewo. Slider porusza się wraz z nim, poruszają ' +
										'się również miniaturki stron ulotki. Pojawi się również żółty dymek <img src="public/img/helper/sliderDisplay.gif" alt="numeracja stron" />' +
										'<br /> - wyświetlona w nim liczba to numer strony ulotki, która po ' +
										'puszczeniu przycisku myszy wyświetli się w projektorze.'},
		{'title':'SPIS TREŚCI', 'content':	'Spis treści zawiera spis i miniaturki wszystkich stron danej ulotki. Co ' +
											'bardzo ważne i wygodne - możesz zobaczyć strony ulotki należące do danej ' +
											'kategorii, strony pogrupowane według marek występujących w danej ulotce. ' + 
											'Dzięki temu jeśli w ulotce znajdują się informacje z wielu kategorii a ' +
											'interesuje Cię jedna, łatwo odnajdziesz tylko te, które Cię interesują. W ' + 
											'spisie treści znajdziesz też dane firmy, która udostępniła ulotkę oraz link ' +
											'do wszystkich katalogów tej firmy. W ten sposób łatwo i szybko zapoznasz się ' +
											'z pozostałą ofertą danej firmy.'},
		{'title':'FILTR', 'content':	'Nie wszystkie strony w ulotce dotyczą kategorii produktów w której ' +
										'się poruszasz. Żeby ułatwić Ci przeglądanie ulotki i pokazywać tylko takie, ' +
										'które spełniają kryteria (tj. są w danej kategorii lub spełniają warunki ' +
										'wyszukiwania) wyróżniamy miniaturki takich stron. Mają one żywsze kolory - ' +
										'nie są przygaszone. Miniaturki stron, które są przygaszone należą do danej ' +
										'ulotki, ale nie spełniają warunków wyszukiwania czy też nie dotyczą ' +
										'kategorii produktów, którą przeglądasz. Wybierz "na szukany temat" by ' +
										'wyświetlić tylko strony dotyczące danej kategorii produktów lub spełniające ' +
										'warunki wyszukiwania. Jeśli wybierzesz "wszystkie bez filtra" - wszystkie ' +
										'strony zostaną podświetlone, również te niespełniające warunków wyszukiwania ' +
										'lub nie należące do aktualnej kategorii produktów. Możesz również wybrać ' +
										'"wszystkie z filtrem" - wówczas oczywiście pokażemy wszystkie strony danej ' +
										'ulotki i przygasimy te miniaturki stron, które nie spełniają warunków ' +
										'wyszukiwania lub nie należą do aktualnie przeglądanej kategorii.'}, 
		{'title':'ULUBIONE', 'content':	'Przeglądając ulotkę w projektorze może zainteresować Cię wybrana ' +
										'strona, którą warto zapamiętać by np. wrócić do niej później. Jeśli jesteś ' +
										'zalogowany, kliknij w ikonkę gwiazdki i dodaj stronę do ulubionych. Do ' +
										'ulubionych możesz dodać również cały katalog. Jeśli nie jesteś w projektorze ' +
										'wyświetlającym konkretną ulotkę a w liście ulotek, klikając w "do ' +
										'ulubionych" dodasz cały katalog. Jeśli ikonka "Ulubione" jest wypełniona ' +
										'kolorem żółtym, oznacza to, że strona, którą aktualnie przeglądasz została ' +
										'uprzednio dodana do "Ulubionych"'}
	]
	this.switchInterval=this.closeInterval=this.delayInterval=this.switchLock=this.switchType=this.status=this.opacity=0;
	this.opacityStep=20;
	this.delayTime=2000;
	this.intervalLength=parseInt(opTime/this.opacityStep);
	this.timeToClose=clTime;
	this.cookie=new cookieManager();
	this.cookie.lifeTime=30;
	this.centerFrame(this.frame.up(0));
	this.iterLimit=0;
	if($('pHFcloseBtn')) Event.observe($('pHFcloseBtn'),'click',this.closeFrame.bindAsEventListener(this));
}
projectorHelp.prototype={
	show:function(v){
		if(v<this.dictionary.length&&this.iterLimit<1)
			if(this.cookie.getCookie('pHelper_'+v)!=1){
				if(this.switchLock==0 && this.status==0){
					this.iterLimit++;
					this.cookie.setCookie('pHelper_'+v,1);
					this.switchLock=1;
					this.delayIntrval=setTimeout(this.delayShow.bindAsEventListener(this, v),this.delayTime); }
			}
	},
	delayShow:function(e,v){
		this.changeContent(v);
		this.showFrame();
		clearTimeout(this.delayIntrval);
		this.closeInterval=setTimeout(this.hideFrame.bindAsEventListener(this),this.timeToClose);
	},
	showFrame:function(){
		this.switchType=1;
		this.setOpacity(0);
		this.openFrame();
		this.centerFrame(this.frame.up(0));
		this.switchInterval=setInterval(this.switchFrame.bindAsEventListener(this),this.intervalLength); 
	},
	hideFrame:function(){
		clearTimeout(this.closeInterval);
		this.switchType=-1;
		this.setOpacity(100);
		this.centerFrame(this.frame.up(0));
		this.switchInterval=setInterval(this.switchFrame.bindAsEventListener(this),this.intervalLength); 
	},
	closeFrame:function(){this.hideFrame(); clearTimeout(this.closeInterval);},
	openFrame:function(){this.frame.style.display='block';},
	switchFrame:function(){
		var step=this.opacity+this.opacityStep*this.switchType;
		if(this.switchType>0){
			if(step>=100){ step=100; clearInterval(this.switchInterval); this.status=1; this.switchLock=0; this.switchType=0;}
		}else if(step<=0){ step=0; clearInterval(this.switchInterval); this.status=0; this.switchLock=0; this.switchType=0; this.frame.style.display='none';}
		this.setOpacity(step);
	},
	changeContent:function(v){
		this.frame.select('#pHFconTitle')[0].update(this.dictionary[v]['title']);
		this.frame.select('#pHFconContent')[0].update(this.dictionary[v]['content']);
	},
	centerFrame:function(obj){ if(typeof(obj)=='object'){this.frame.setStyle({'left':parseInt(obj.offsetWidth/2-this.frame.offsetWidth/2)+'px', 'top':parseInt(obj.offsetHeight/2-this.frame.offsetHeight/2)+'px'}); } },
	setOpacity:function(v){ var moz=hround(v/100,1); this.frame.setStyle({'opacity':moz,'-moz-opacity':moz,'filter':'alpha(opacity='+v+')'});this.opacity=v; }
}
