
function panelTabsInit()
{
	var tabs = $$('#panel-tabs li a'); 
	var tabCon = $('panel-content');
	
	tabs.each(function(el, id){
		el.addEvent('click', function(){
			if (!this.hasClass('active'))
			{
				tabs.removeClass('active');
				this.addClass('active');
				//tabCon.removeClass('active');
				
				Cookie.write('tab', this.id);
			}
			requestData( id );
		});
		if( 'tab-'+document.location.hash.replace('#', '') == el.id ){
			el.fireEvent('click');
		}
	});
	
	panelTabsListInit();
	
	panelTabsResize();
	window.addEvent('resize', function(){ panelTabsResize() });
}

function panelTabsResize(){

	var tabs = $('panel-tabs');
	var tabsLeft = $('panel-tabs-left');
	var tabsRight = $('panel-tabs-right');
	var spaceWidth = 80;
	
	var docWidth = window.getSize().x;
	
	if( tabsLeft.getSize().x + tabsRight.getSize().x + spaceWidth > tabs.getSize().x ){
		
		//tabsRight.getElement('ul li:last-child').inject( tabsRight.getElement('ol'), 'top' );		
		tabsRight.getElement('ul li:nth-child('+$$('#panel-tabs-right ul li').length+')').inject( tabsRight.getElement('ol'), 'top' );	
		//panelTabsResize();
	}
	else{
		//nextElem = tabsRight.getElement('ol li:first-child');
		nextElem = tabsRight.getElement('ol li:nth-child(1)');
		if( !nextElem || nextElem.getSize().x + tabsLeft.getSize().x + tabsRight.getSize().x + spaceWidth > tabs.getSize().x ) return;
		
		nextElem.inject( tabsRight.getElement('ul'), 'bottom' );
		//panelTabsResize();
	}
	
}


function panelTabsListInit(){

	var el = $('panel-tabs-right').getElement('dl');
	var langMenu = new Fx.Morph(el.getElement('dd'), { transition: 'cubic:in:out', duration: 250, link: 'cancel' });
	langMenu.set({
		'width': 0,
		'height': 0
	});
	
	el.addEvent('click', function(ev){
		if( !el.getElement('dd').getSize().y ){
			langMenu.start({
				'width': el.getElement('ol').getScrollSize().x,
				'height': el.getElement('ol').getScrollSize().y
			});	
			el.getElement('dt').addClass('active');
		}
		else{
			langMenu.start({
				'width': 0,
				'height': 0
			});	
			(function(){ el.getElement('dt').removeClass('active') }).delay(250);
		}
	});	
}

var panelElems = 3;
var panelMenu = new Array();
function panelInit( id ){

	$$('#'+id+' dl').each(function(el, id){
		panelMenu[id] = new Fx.Morph(el.getElement('dd'), { transition: 'cubic:in:out', duration: 250, link: 'cancel' });
		panelMenu[id].set({
			'height': 0,
			'opacity': 0
		});
		
		el.addEvent('mouseenter', function(ev){
			panelMenu[id].start({
				'height': this.getElement('ul').getSize().y,
				'opacity': 100
			});	
			el.addClass('active');
		});	
		el.addEvent('mouseleave', function(ev){
			panelMenu[id].start({
				'height': 0,
				'opacity': 0
			});		
			(function(){ el.removeClass('active') }).delay(250);
		});	
	});
	
	panelResize( id );
	window.addEvent('resize', function(){ panelResize( id ) });
}

function panelResize( id ){

	var docWidth = window.getSize().x;
	
	var elems = panelElems;
	if( docWidth > 1455 ) elems = 4;
	else if( docWidth > 1132) elems = 3;
	else elems = 2;
	
	//console.log( docWidth +' '+ panelElems +' '+ elems )
	if( panelElems == elems ) return;
	
	panelElems = elems;
	var panelWidth = parseInt(100/panelElems)-1;
	$$('#'+id+' dl').setStyle('width', panelWidth+'%');
}


//////////////////////
function productsSetHeight( id ) {
	//delay(100);
	
	// szukam boxa o największym height
	var heightMax = 1;
	
	$$('#'+id+' ul li').each(function(item, id){
		
		var arr = item.getElements('div');
		var img = item.getElements('img');
		
		var pic = 0;
		var temp;
		
		arr.each(function(item, id){
			if( item.hasClass('product-pic') ) {
				temp = 90; 									
				pic += (parseInt(temp)).floor();
			}
			else if( item.hasClass('product-desc') ) {
				temp = item.getStyle('height');
				pic += (parseInt(temp)).floor();
			}
		});
		
		if(pic > heightMax) {
			heightMax = pic;
		}
	});
	
	heightMax = parseInt(heightMax).floor();
	// ustawiam wysokość boxów
	$$('#'+id+' ul li').setStyle('height', heightMax+32+'px');
	
	
	$$('#'+id+' ul li').each(function(item, id) {
		var arr = item.getElements('div');
		var h4 = item.getElement('h4');
		
		var pic = 0;
		arr.each(function(item, id){
			if( item.hasClass('product-pic') ) {
				pic = item.getStyle('height');
				pic = (parseInt(pic)).floor();
				if(pic==0) pic = 17;
				else pic = 107;
			}
		});
		
		// wysokosc+32 - wysokosc pic - wysokosc cen
		h4.setStyle('height', heightMax-pic-42-17+'px');
		
	});
	
	/*
	$$('#'+id+' ul li').each(function(item, id){
		var arr = item.getElements('div');
		
		var pic = 0;
		arr.each(function(item, id){
			if(item.hasClass('product-price') || item.hasClass('product-price-sale') || item.hasClass('product-price-special')) {
				item.addClass('set-abs');	
				item.setStyle('bottom', '23px');	
			}
			else if( item.hasClass('product-price-gross') ) {
				item.addClass('set-abs');
				item.setStyle('bottom', '8px');
			}
			else if( item.hasClass('product-pic') ) {
				pic = item.getStyle('height');
				pic = (parseInt(pic)).floor();
			}
			else if( item.hasClass('product-desc') ) {
				$$('#'+id+' ul li div.product-desc').setStyle('height', (heightMax-18-pic).toString()+'px');
				$$('#'+id+' ul li div.product-desc').addClass('set-rel');
			}
		});
		
	});
	*/
}

function productsInit( id, scrollId, config ){
	productsSetHeight(id);
	$$('#'+id+' ul').setStyle('width', 5000+'px');
	productsResize( id, scrollId, config );
	window.addEvent('resize', function(){ productsResize( id, scrollId, config ); });
}

function productsResize( id, scrollId, config ){

//	var docWidth = window.getSize().x;
	
	// div widoczny w px
	var sspecWidth = $$('#'+id+' #scroll-'+scrollId).getStyle('width');
	var specWidth = parseInt(sspecWidth);
	
	if( isNaN(specWidth) ) return;
	
	var elems = config.productsElems;
	if( specWidth <= 583 ) elems = 3;
	else if( specWidth < 720 ) elems = 4;
	else if( specWidth < 890 ) elems = 5;
	else if( specWidth < 1111 ) elems = 6;
	else elems = 7;
	
	// tryb safe
	//if( productsElems == elems ) return;
	
	// ilosc elementow ktore dodamy/ujmiemy
	var addNumber = 0;
	// ilosc kropek ktora byc powinna
	var dots = (10 / elems).ceil();
	
	if( dots > config.dotsElems ) {
		addNumber = dots - config.dotsElems;
		var addIterator = 1;
		// dodaje
		while(addNumber > 0) {
			var scrollLink = new Element('a', { href: '#special', html: (config.dotsElems + addIterator++) });
			$$('#'+id+' #scroll-'+scrollId+'-pages').grab(scrollLink);
			addNumber--;
		}
		config.dotsElems = dots;
	}
	else if(dots < config.dotsElems ){
		
		// usuwam
		$$('#'+id+' #scroll-'+scrollId+'-pages a').destroy();
		
		config.dotsElems = dots;
		
		// dodaję
		addNumber = config.dotsElems;
		var addIterator = 1;
		
		while(addNumber > 0) {
			var scrollLink = new Element('a', { href: '#special', html: (addIterator++) });
			$$('#'+id+' #scroll-'+scrollId+'-pages').grab(scrollLink);
			addNumber--;
		}
		
		// PRZYWRACANIE PORZĄDKU
		
		// ustawiam pierwszy jako active
		$$('#'+id+' #scroll-'+scrollId+'-pages').getElement('a').addClass('active');
		
	}
	else {}
	
	config.productsElems = elems;
	
	var prodWidth = (specWidth / config.productsElems) - 17;
	$$('#'+id+' li').setStyle('width', prodWidth+'px');
	$$('#'+id+' li img').setStyle('width', (prodWidth-22)+'px');
	$$('#'+id+' li img').setStyle('height', (((prodWidth-22)*69)/100).floor() +'px'); // aby zachować proporcje
}

//////////////////
function initTabs( tabClass, contentClass )
{
	var tabs = $$(tabClass); 
	var tabCon = $$(contentClass);
	
	tabs.each(function(el, id){
		el.addEvent('click', function(){
			if (!tabs[id].hasClass('active'))
			{
				tabs.removeClass('active');
				tabs[id].addClass('active');
				
				
				
				/* --- commented 12-07-2011 --- */
				//tabCon.removeClass('active');
				//tabCon[id].addClass('active');
			}
		});
		/* --- commented 12-07-2011 ---
		console.log('news-list-'+document.location.hash.replace('#', '') + ' | ' + tabCon[id].id );
		if( 'news-list-'+document.location.hash.replace('#', '') == tabCon[id].id ){
			
			el.fireEvent('click');
		}*/
	});
}


function langInit(){

	var el = $('lang');
	
	var langMenu = new Fx.Morph(el.getElement('ul'), { transition: 'cubic:in:out', duration: 250, link: 'cancel' });
	langMenu.set({
		'height': 0
	});
	
	el.getElement('a').addEvent('click', function(ev){
			
		if( !el.getElement('ul').getSize().y ){
			langMenu.start({
				'height': el.getElement('ul').getScrollSize().y
			});	
			el.getElement('a').addClass('active');
		}
		else{
			langMenu.start({
				'height': 0
			});	
			(function(){ el.getElement('a').removeClass('active') }).delay(250);
		}
	});	
}

function sortMenuInit(){

	var el = $('sortMenu');
	if(el) {
	
		var sortMenu = new Fx.Morph(el.getElement('ul'), { transition: 'cubic:in:out', duration: 250, link: 'cancel' });
		sortMenu.set({
			'height': 0
		});
		
		el.getElement('a').addEvent('click', function(ev){
				
			if( !el.getElement('ul').getSize().y ){
				sortMenu.start({
					'height': el.getElement('ul').getScrollSize().y
				});	
				el.getElement('a').addClass('active');
			}
			else{
				sortMenu.start({
					'height': 0
				});	
				(function(){ el.getElement('a').removeClass('active') }).delay(250);
			}
		});	
	}
}

function slidePanelInit(){
	if ( typeof slidePanelInit.counter == 'undefined' ) {
        slidePanelInit.counter = 1;
    }
	
	var myFx = new Fx.Tween('slide', {
		duration: 'short',
		link: 'cancel',
		property: 'width'
	});
	
	$$('#toggle_panel').addEvent('click', function(event){
		if( parseInt(document.id('slide').getStyle('width')) == 47 ){
			event.stop();
			myFx.start(47, 277);
		}
		else if( parseInt(document.id('slide').getStyle('width')) == 277 ){
			event.stop();
			document.id('slide').setStyle('width', 47+'px');
		}
	});
	
	/*
	document.id('toggle_panel').addEvent('mouseenter', function(event){
		
		if(slidePanelInit.counter == 0) {
			// myFx.start(277, 47); 
			// slidePanelInit.counter = 1;
		}
		else if( parseInt(document.id('slide').getStyle('width')) == 47 ){
			event.stop();
			myFx.start(47, 277);
			slidePanelInit.counter = 0;
		}
		else if( parseInt(document.id('slide').getStyle('width')) == 277 ){
			event.stop();
			document.id('slide').setStyle('width', 47+'px')	
			slidePanelInit.counter = 1;
		}
	});
	
	document.id('slide').addEvent('mouseleave', function(event){
		event.stop();
		if(slidePanelInit.counter == 0) {
			
			document.id('slide').setStyle('width', 47+'px')	
			slidePanelInit.counter = 1;
		}
	});*/
}

function toolTipInit(){

	var tip = new Tips('.tooltip',{
		className: 'tool-tip',
		fixed: false,
		hideDelay: 50,
		showDelay: 50,
		windowPadding: {'x': 100, 'y': 100},
		offset: {'x': 100, 'y': -10}
	});
	
	var tip = new Tips('.tooltip-fixed',{
		className: 'tool-tip-fixed',
		fixed: true,
		hideDelay: 50,
		showDelay: 50, 
		offset: {x: 500, y: -50}
	});
	
}

/* zmienia rozmiary boxów z kategoriami */
function category_boxes_resize() {
	var boxWidth = $$('.categories').getStyle('width');
	boxWidth = parseInt(boxWidth);
	
	var boxesWidth = (boxWidth / 2) - 15;
	var boxes = $$('.categories-half').setStyle('width', boxesWidth+'px'); 
}

// funkcja przestawia class set-right set-left w kategoriach
// zeby równo wylistowac tresc
function category_boxes_switch() {
	category_boxes_resize();
	window.addEvent('resize', function(){ category_boxes_resize() });
	
	var boxes = $$('.categories-half'); 
	
	// licznik elementow
	var count = 1;
	// poprzednik
	var prev;
	// drugi poprzednik
	var prev_2;
	// ostatnio przechodzony element o set-left
	var last_left;
	// ostatnio przechodzony element o set-right
	var last_right;

	boxes.each(function(elem, id){
		// działam od 3 elementu, zeby porownywac dwa poprzednie
		if(count > 2) {
			// pozycje dolne elementow
			elem_pos = parseInt(elem.offsetTop) + parseInt(elem.getStyle('height'));
			prev_pos = parseInt(prev.offsetTop) + parseInt(prev.getStyle('height'));
			prev_2_pos = parseInt(prev_2.offsetTop) + parseInt(prev_2.getStyle('height'));
			last_left_pos = parseInt(last_left.offsetTop) + parseInt(last_left.getStyle('height'));
			last_right_pos = parseInt(last_right.offsetTop) + parseInt(last_right.getStyle('height'));
			// klasy elementów
			var elem_set = elem.get('class').replace('categories-half box ', '').replace('set-rel', '').replace(' ', '');
			var prev_set = prev.get('class').replace('categories-half box ', '').replace('set-rel', '').replace(' ', '');
			var prev_2_set = prev_2.get('class').replace('categories-half box ', '').replace('set-rel', '').replace(' ', '');
			var last_left_set = last_left.get('class').replace('categories-half box ', '').replace('set-rel', '').replace(' ', '');
			var last_right_set = last_right.get('class').replace('categories-half box ', '').replace('set-rel', '').replace(' ', '');
			
			if( (prev_2_set == 'set-left') && (prev_set == 'set-right') ) { // L R
				if( prev_2_pos < prev_pos ) { // L < R
					if(elem_set == 'set-right') reverse_box( elem, elem_set ); 
				}
				else { // L >= R
					if(elem_set == 'set-left') reverse_box( elem, elem_set ); 
				}
			}
			else if( (prev_2_set == 'set-right') && (prev_set == 'set-left') ) { // R L
				if( prev_2_pos < prev_pos ) { // R < L
					if(elem_set == 'set-left') reverse_box( elem, elem_set ); 
				}
				else { // R >= L
					if(elem_set == 'set-right') reverse_box( elem, elem_set ); 
				}
			}
			else if( (prev_2_set == 'set-left') && (prev_set == 'set-left') ) { // L L
				if( last_right < prev ) { // LastR < L
					if(elem_set == 'set-right') reverse_box( elem, elem_set ); 
				}
				else { // LastR >= L
					if(elem_set == 'set-left') reverse_box( elem, elem_set ); 
				}
			}
			else if( (prev_2_set == 'set-right') && (prev_set == 'set-right') ) { // R R
				if( last_left < prev ) { // LastL < R
					if(elem_set == 'set-left') reverse_box( elem, elem_set ); 
				}
				else { // LastL >= R
					if(elem_set == 'set-right') reverse_box( elem, elem_set ); 
				}
			}
			
			if(elem_set == 'set-right') last_right = elem;
			if(elem_set == 'set-left') last_left = elem;
			// przesuniecie poprzednikow o jeden wyzej
			prev_2 = prev;
			prev = elem;
		}
		else if(count == 2) {
			prev = elem;
			last_right = elem;
		}
		else {
			prev_2 = elem;
			last_left = elem;
		}
		
		count++;
	});
}

function reverse_box( elem, set ) {
	if( set == 'set-right' ) {
			elem.removeClass('set-right');
			elem.addClass('set-left');
	}
	else {
			elem.removeClass('set-left');
			elem.addClass('set-right');
	}
}

function requestData( id )
{	
	var host_url = 'http://' + window.location.hostname;
	var javaResponse = '';
	var respHTML = '';
	
	var preloader = '<div class="set-middle"><img src="/themes/base/new_lay/img/ajax-loader.gif" alt="loading" /></div>';
	
	$$('#panel-content').setStyle('text-align', 'center');
	$$('#panel-content').set('html', preloader);
	
	var req2 = new Request.HTML({
		method: 'get',
      	url: host_url + '/themes/base/new_lay/responseHtml.php',
		evalResponse: false,
		evalScripts: false,
		data: { 'left_menu' : id},
      	onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) { 
			$$('.menu span').setStyle('text-align', 'left');
			$$('.menu span').set('html', responseHTML);
		}
	});	
	
	var req = new Request.HTML({
		method: 'get',
		encoding: 'iso-8859-2',
      	url: host_url + '/themes/base/new_lay/responseHtml.php',
		evalResponse: false,
		evalScripts: false,
		data: { 'offer_id' : id },
      	onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) { 
			//req2.send();
			$$('#panel-content').setStyle('text-align', 'left');
			$$('#panel-content').set('html', responseHTML);
			panelInit('panel-content');
		}
	});	
	
	req.send();
	req2.send();
	
	$$('.menu span').setStyle('text-align', 'center');
	$$('.menu span').set('html', preloader);
	
	//(function(){req2.send()}).delay(500);
	
	//alert('odpowiedz: '+javaResponse+' '+respHTML);
}
