var t_bat_hor;
var barSpeed;
var barLoop;
var barMinX;
var barMaxX;
var barmX;
var Inter;
var barLimit;
var barLock;
var pages;
var thumbStatus;
var pH;
var pTS;
var thumbsPercentPosition;
var cfc;
var cppc;

function createThumbs(firstTime){
	
	href = 'projector/thumbs/catalog/' + cid + '/';
	try{href+='filtr/'+filtr+'/';}catch(e){}
	
	thumbStatus=thumbsPercentPosition=1;
	new Ajax.Request(href, {
		method: 'get',
		onSuccess: function(transport) {
			pages = transport.responseText.evalJSON(true);
			clearLoaderBackground('projectorContainer', 2);
			$('projectorContainer').setStyle({'height':'auto'});
			$('projectorContainer').update(pages['html']);
			t_bar_hor = $('projector_thumbs_hor_bar');
			if(typeof(pH)!='object') pH=new projectorHelp('projectorHelperFrame',1000,45000);
			$$('.projectorZoomBtn').each(function(s){Event.observe(s,'mouseover',function(e){pH.show(0)});});
			if($('map_scroll')) Event.observe($('map_scroll'),'mouseover',function(e){pH.show(1);});
			if($('map')) Event.observe($('map'),'mouseover',function(e){pH.show(1);});
			if($('projector_info')) Event.observe($('projector_info'),'mouseover',function(e){pH.show(4);});
			if($('projector_bookmarkaddpage'))  Event.observe($('projector_bookmarkaddpage'),'mouseover',function(e){pH.show(6);});
	
			if(typeof(pTS)=='object'){
				pTS.destroy();
			};
			
			if(pages['success']==0){
				closeProjector(); 
				closeThumbs(); 
				pTS=new projectorSlider('sliderMain','sliderHandler','sliderDisplay','vertical',0,0); 
				return false; 
			} 
			else {
				openProjector(); 
				openThumbs();
			};
			
			cfc=new class_filtrController($('projector'), 'prcfc', pages['params'], pages['filtr']);
			document.observe('filtr_controller:change', function(ev){ 
				thumbsUpdatePagesArray(ev.memo.values, ev.memo.filtr_mode); 
			});
			document.observe('filtr_controller:change_switcher', function(ev){ thumbsSetFiltr(ev.memo.filtr_mode); });

			if(typeof(pid)=='number') page=pid;
			else page=pages['currentPage'];
			displayPage(page);
			
			if(pages['thumbs'].length>5){		
				pTS=new projectorSlider('sliderMain','sliderHandler','sliderDisplay','vertical',pages['thumbs'].length,1);
				document.observe('projector_slider:stop_drag', thumbsDisplayPage);
				document.observe('projector_slider:change', moveThumbs);
			}else pTS=new projectorSlider('sliderMain','sliderHandler','sliderDisplay','vertical',pages['thumbs'].length,0);
			
			cppc = new class_projectorProductController();
			
			var div, divn, divp;
			var current=0;
			var barWidth=0;
			for(var a=0; a<pages['thumbs'].length; a++){
				pages['thumbs'][a]['href'] = pages['href_prefix'] + pages['thumbs'][a]['href'] + pages['href_postfix'];
				pages['thumbs'][a]['path'] = pages['path_prefix'] + pages['thumbs'][a]['path'] + pages['path_postfix'];
				div = Element.extend(document.createElement('div'));
				div.addClassName('projectorThumbCont');
				t_bar_hor.appendChild(div);
				divp = Element.extend(document.createElement('div'));
				divp = Element.extend(document.createElement('div'));
				if(pages['thumbs'][a].selected==0) divp.addClassName(unSelectClass);
				divp.addClassName('projectorThumb');
				divp.addClassName('thumb1');
				divp.setAttribute('id', 'page_' + (a+1));
				//divp.setAttribute('title',  pages['thumbs'][a].descr);
				divp.setStyle({'background':'#ccc url(' + pages['thumbs'][a].path + ') 50% 50% no-repeat'});
				barWidth+=thumb_width;
				div.appendChild(divp);
				divn = Element.extend(document.createElement('div'));
				divn.addClassName('projector_thumb_number');
				divn.update(a+1);
				div.appendChild(divn);
			}
			barWidth+=4; //IE6
			if(firstTime) { t_bar_hor.setStyle({'width':barWidth+'px'}); relocationThumbs(); }
			else t_bar_hor.setStyle({'width':barWidth+'px','left':'0px'});
			$$('.thumb1').each( function(s){
				s.observe('click', function(e){changePage(e);});
				s.observe('mouseover', function(e){pH.show(3);});
			});
		}
	});
}
function thumbsDisplayPage(v){
	if(thumbStatus==2) {
		for(var a=0;a<pages['thumbs'].length;a++) if(pages['thumbs'][a]['selectedNo']==v.memo) break; 
		p=a+1;
	}
	else var p=v.memo;
	displayPage(p);
	relocationThumbs(v.memo);
}
function moveThumbs(v){t_bar_hor.setStyle({'left':Math.round(t_bar_hor.offsetWidth-t_bar_hor_con.offsetWidth)*v.memo.percent/(-1)+'px'});}
function relocationThumbs(){
	updateThumbsRestrictions();
	if(thumbStatus==2){
		barLimit=(Math.floor((pages['thumbs'][page-1].selectedNo-1)/5)*thumb_width*5)*(-1)+2;
		if(t_bar_hor.offsetWidth-thumb_width!=0){ var p=(thumb_width/(t_bar_hor.offsetWidth-thumb_width))*(pages['thumbs'][page-1]['selectedNo']-1); }
		else{ var p=0; }
		thumbsPercentPosition=hround(p,3);
	}
	else{
		barLimit=(page-3)*thumb_width*(-1);
		if(t_bar_hor.offsetWidth-thumb_width!=0){ var p=(thumb_width/(t_bar_hor.offsetWidth-thumb_width))*(page-1); }
		else{ var p=0; }
		thumbsPercentPosition=hround(p,3);
	}
	if(barMinX>barLimit) barLimit=barMinX;
	if(barMaxX<barLimit) barLimit=barMaxX;
	t_bar_hor.setStyle({'left':barLimit+ 'px'});
	pTS.setPosition(page, thumbsPercentPosition);
}
function openThumbs(){ t_bar_hor_con.setStyle({'width':'232px'}); }
function closeThumbs(){ clearLoaderBackground(t_bar_hor_con); }
function changeThumbsFiltr(iD,arr){
	s=false;
	switch(arr[0]){
		case 'a': var u=0;var t='Kategorie na stronie: '; var h='Kategoria: '; break;
		case 'b': var u=1;var t='Marki na stronie: '; var h='Marka: '; break;
		case 'e':
				for(var a in pages['thumbs']){ pages['thumbs'][a].selected=1; pages['thumbs'][a].selectedNo=(a+1); pages['thumbs'][a].descr='';}; 
				pages['selectedCount']=pages.length; filtrSetDescr('Brak');
				return;
			break;
	}
	for(var a in iD.object[u]){
		if(iD.object[u][a][1]['id']==arr[1]) {t+=a; filtrSetDescr(h+' <b>'+a+'</b>'); var r=iD.object[u][a][0]; var s=true; break;}
	}
	if(s){
		var sNo=0;
		for(var a in pages['thumbs']){ pages['thumbs'][a].selected=0; pages['thumbs'][a].selectedNo=0; pages['thumbs'][a].descr='';};
		r.each(function(e){pages['thumbs'][e-1].selected=1; pages['thumbs'][e-1].selectedNo=++sNo; pages['thumbs'][e-1].descr=t;});
		pages['selectedCount']=sNo;
	}
	
}
function thumbsUpdatePagesArray(nums,sw){
	for(var a=0;a<pages['thumbs'].length;a++){pages['thumbs'][a]['selectedNo']=pages['thumbs'][a].selected=0;}
	if(nums.length>0){
		for(var a=0;a<nums.length;a++){
			pages['thumbs'][nums[a]-1].selected=1;
			pages['thumbs'][nums[a]-1]['selectedNo']=(a+1);
		}
	}
	pages['selectedCount']=nums.length;
	thumbsSetFiltr(sw);
}
function thumbsSetFiltr(i){
	if(barLock==0){
		switch(parseInt(i)){
			case 1: 
				thumbStatus=1;
				for(var a=0;a<pages['thumbs'].length;a++){
					$('page_'+(a+1)).up(0).setStyle({'display':'block'});
					$('page_'+(a+1)).up(0).select('.projector_thumb_number')[0].update(a+1);
					if(pages['thumbs'][a].selected==0) $('page_'+(a+1)).addClassName('projectorThumbNonActive'); 
					else $('page_'+(a+1)).removeClassName('projectorThumbNonActive');
					$('page_'+(a+1)).title=pages['thumbs'][a].descr;
				}
				t_bar_hor.setStyle({'width':pages['thumbs'].length*thumb_width+'px'});
				relocationThumbs();
				if(pages['thumbs'].length>5){ pTS.switchOn(); pTS.length=pages['thumbs'].length;}
				pTS.setPosition(page, thumbsPercentPosition);
			break;
			case 2: 
				thumbStatus=2;
				var i=thumbSearchFirstSelected();
				if(pages['selectedCount']>5){
					if(pages['thumbs'][i-1]['selectedNo']<3) var left=0;
					else if((pages['thumbs'][i-1]['selectedNo']+3)>pages['selectedCount']) var left=(pages['selectedCount']-5)*thumb_width*(-1);
					else var left=(pages['thumbs'][i-1]['selectedNo']-3)*thumb_width*(-1);
					$(t_bar_hor).setStyle({'left':left+'px'});
					pTS.switchOn();
				}
				else{pTS.switchOff(); $(t_bar_hor).setStyle({'left':'1px'});}
				for(var a=1;a<=pages['thumbs'].length;a++){
					var p1=$('page_'+a);
					var p2=p1.up(0);
					p1.removeClassName('projectorThumbNonActive');
					p2.setStyle({'display':'block'});
					p2.select('.projector_thumb_number')[0].update(a);
				}
				for(var a=0;a<pages['thumbs'].length;a++){
					if(pages['thumbs'][a].selected==0){ $('page_'+(a+1)).up(0).setStyle({'display':'none'}); }
					else{$('page_'+(a+1)).up(0).select('.projector_thumb_number')[0].update(pages['thumbs'][a]['selectedNo']); }
				}
				t_bar_hor.setStyle({'width':pages['selectedCount']*thumb_width+'px'});
				if(page!=i){page=i; displayPage(page);}
				pTS.length=pages['selectedCount'];
				pTS.setPosition(page, thumbsPercentPosition);
				relocationThumbs();
			break;
			case 3: 
				thumbStatus=3;
				for(var a=0;a<pages['thumbs'].length;a++){
					$('page_'+(a+1)).up(0).setStyle({'display':'block'}); 
					$('page_'+(a+1)).up(0).select('.projector_thumb_number')[0].update(a+1);
					$('page_'+(a+1)).removeClassName('projectorThumbNonActive');}
				t_bar_hor.setStyle({'width':pages['thumbs'].length*thumb_width+'px'});
				relocationThumbs();
				if(pages['thumbs'].length>5){ pTS.switchOn(); pTS.length=pages['thumbs'].length;}
				pTS.setPosition(page, thumbsPercentPosition);
			break;
		}
		refreshPageButtons();	
	}
}
function updateThumbsRestrictions(){ barMaxX=0; barMinX=(parseInt(t_bar_hor.offsetWidth)-t_bar_hor_con.offsetWidth)*(-1); }
function markCurrentThumb(){ 
	$$('.projectorThumbSelected').each( function(s){ s.removeClassName('projectorThumbSelected'); if(pages['thumbs'][parseInt(s.id.split("_")[1]-1)].selected==1) s.addClassName('projectorThumbActive'); });
	$$('.thumb1')[page-1].addClassName('projectorThumbSelected'); 
}
function thumbSearchFirstSelected(){
	if(pages['thumbs'][page-1].selected==1) return page;
	if(pages['thumbs'].length>0)
		for(var a=1; a<pages['thumbs'].length ; a++){
			if((page+a)<pages['thumbs'].length) if(pages['thumbs'][(page+a)].selected==1) return (page+a+1);
			if((page-a)>0) if(pages['thumbs'][(page-a)].selected==1) return (page-a+1);
		}
	return page;
}
function clearThumbs(){
	thumbStatus = 1;
	t_bar_hor.update('');
	t_bar_hor.setStyle({'left':'0px'});
}
