var Showcase;
var ShowcaseTimer;
var StoppedEvent;
var Player;
var PlayerTop;
var PlayerLeft;
var dozwolone=['0','1','2','3','4','5','6','7','8','9','enter','up','down','tab','left','right']
var cena;
var BoxAnim;
var MenuAnim;
var Scrolling;
var Running;
var UserPresent=true;
var Price;

var addthis_config = { data_use_flash: false,ui_click: true }
window.addEvent('domready', function() { 
	Running=true;
	
	if(Browser.Engine.trident4)
	{
		 alert('Twoja przeglądarka Internet Explorer 6 ma ponad 10 lat i nie jest wspierana w naszym serwisie. koniecznie zaktualizuj swoją przeglądarkę')
		 return false;
	}
	
	$('fb_like').setStyle('margin-left',-410);
	
	$('fb_like').addEvents({
		mouseenter : function(){
			$('fb_like').tween('margin-left',0);
		}
		,mouseleave : function(){
			$('fb_like').tween('margin-left',-410);
		}
		
	})
	
	if($('main_page') || $('shop_page'))
	{
		$$('img.scroll_up').addEvent('click',function(){
			if(Scrolling) return false;
			scroll_container_size=this.getNext().getSize().y.toInt()
			scroller=this.getNext().getChildren()[0]
			mt=scroller.getStyle('margin-top').toInt()
			docel=mt+scroll_container_size;
			if(docel >= 0) docel=0;
			BoxAnim=new Fx.Morph(scroller, {duration: 400, transition: Fx.Transitions.Expo.easeOut,onComplete: function(){Scrolling=false}})
			BoxAnim.start({ 'margin-top': [mt, docel] });
			Scrolling=true;
		})
		
		$$('img.scroll_down').addEvent('click',function(){
			if(Scrolling) return false;
			scroll_container_size=this.getPrevious().getSize().y.toInt()
			scroller=this.getPrevious().getChildren()[0]
			mt=scroller.getStyle('margin-top').toInt()
			ysize=scroller.getSize().y.toInt()
			max_size=ysize-scroll_container_size+5;
			docel=mt-scroll_container_size;			
			if(docel <= -max_size) docel=-max_size;
			BoxAnim=new Fx.Morph(scroller, {duration: 400, transition: Fx.Transitions.Expo.easeOut,onComplete: function(){Scrolling=false}})
			BoxAnim.start({ 'margin-top': [mt, docel] });
			Scrolling=true;
		})
	}
		
	if($('przeczytaj_image'))
	{
		$$('#przeczytaj a').addEvents({
			mouseenter: function(){
				$('przeczytaj_image').set('src',this.get('img'))
			}
			
		})
	}
		
	if($('mp3_list')) setInterval(function(){$('mp3_list').load(document.location.href)},6000);

	if($('player'))
	{
		Player=new Swiff('http://media.skylark.com.pl/plaja.swf',{
			width: 220,
			height: 330,
			container: $('player'),
			id: 'skylarkplayer',
			params : {allowScriptAccess : 'always'},
			properties : {name : 'skylarkplaya',type: 'application/x-shockwave-flash'}
		}).toElement()	
		
		if($('szpalta_3'))
		{
			PlayerTop=$('szpalta_3').getCoordinates().top
			PlayerLeft=$('szpalta_3').getCoordinates().left	
		}
	}
	
	if($('showcase_content'))
	{
		Fx.Elements.implement({
			active_element : 0
			,flip : function(el_id)
			{
				if(this.running) return false;			
				if(el_id == this.active_element) return false;			
				if(el_id > this.elements.length-1) return false;	
				wymiar=this.elements[this.active_element].getSize().x;
				a={};
				a[this.active_element]={'width': [wymiar, 0]};
				a[el_id]={'width': [0, wymiar]};
				this.toel=el_id;
				if(this.right_click && !this.left_click) loc='after';
				if(this.left_click && !this.right_click) loc='before';
				if(!this.left_click && !this.right_click) loc=this.active_element > el_id ? 'before' : 'after';			
				this.elements[el_id].grab(this.elements[this.active_element],loc);
				this.start(a);
				this.running=true; 
			}
			,show_next : function()
			{
				this.right_click=true;
				this.flip(this.active_element+1 == this.elements.length ? next=0 : this.active_element+1);	
			}
			,show_prev : function()
			{
				this.left_click=true;
				this.flip(this.active_element==0?this.elements.length-1 : this.active_element-1);
			},
			switchElement: function()
			{
				$('showcase_button_'+this.active_element).removeClass('active');
				$('showcase_button_'+this.toel).addClass('active');
				this.active_element=this.toel;
				this.right_click=false;
				this.left_click=false;
			}
		});
		
		Showcase=new Fx.Elements($$('.showcase_box'),{duration: 600,transition: Fx.Transitions.Expo.easeIn,onComplete: function(){this.running=false;this.switchElement();}});
		Showcase.active_element=0;	
		Showcase.running=false;	
		
		$$('.showcase_button').each(function(el){el.addEvent('click',function(){$clear(ShowcaseTimer); b_id=parseInt(this.get('id').replace('showcase_button_','')); Showcase.flip(b_id);})})
		
		
		$$('.showcase_box').addEvents({
			'mouseenter' : function(){
				$clear(ShowcaseTimer);
				new Fx.Tween(this.getElement('div.extra_element'),{duration : 250}).start('top',0,-60)
			}
			,'mouseleave' : function(){
				ShowcaseTimer = setInterval("Showcase.show_next();",6000);
				new Fx.Tween(this.getElement('div.extra_element'),{duration : 400}).start('top',-60,0)
			}
		})
		
		UserPresent.addEvents({
			'user_present' : function(){
				if (Showcase.user_not_present) {
					Showcase.show_next();
					ShowcaseTimer = setInterval("Showcase.show_next();", 6000);
				}
				Showcase.user_not_present=false;
			}
			,'user_not_present' : function(){
				Showcase.user_not_present=true;
				$clear(ShowcaseTimer);
			} 
		})
		
		ShowcaseTimer = setInterval("Showcase.show_next();",6000);
	}
  	if($('lista_tow_check') || $('produkt')){
	  	$$('.lista_towaru .wrapper').each(function(el){
	  		size=el.getParent().getSize().y;
	  		el.setStyle('height',size);
	  		ctg=el.getChildren('p.tags')
	  		if(ctg.length > 0) size-=ctg[0].getSize().y+5;
	  		
	  		el.getChildren('div').each(function(kid){
	  			if(!kid.hasClass('admin_features') && !kid.hasClass('clear')) kid.setStyle('height',size)
	  		});
	  	});
		
		
		$$('.basket_add').each(function(item){
			item.store('tip:title', item.title);
	 		item.store('tip:text', '');
	 		item.addClass('tipsy');
	 		
	 		if(item.hasClass('disabled'))
	 		{
	 			item.addEvent('click',function(event){
					e=new Event(event);
					e.stop();
				});
	 		}
	 		else
	 		{
				item.addEvent('click',function(event){
					e=new Event(event);
					e.stop();

					new Request({
					url: item.get('href'),
					onRequest: function() {ShowAction('dodawanie do koszyka');},
					onSuccess: function(responseText, responseXML){$('kosz').load('/el/kosz_inside'); HideSpinner(); ChangeActionInfo(responseText); HideAction.delay(1000);},
					onFailure: function(obj){HideSpinner(); ChangeActionInfo(obj.responseText); HideAction.delay(2000) }
					}).send();
					
					pageTracker = _gat._getTracker(TrackerId);
					pageTracker._trackPageview('/DodajDoKoszyka');
				});
	 		}
		});
		
		$$('.add_track_link').each(function(item){ 	
			item.store('tip:title', item.title);
	 		item.store('tip:text', '');
			item.addEvent('click',function(event){
				e=new Event(event);
				e.stop();
				
				new Request({
				url: item.get('href'),
				onRequest: function() {ShowAction('dodawanie do koszyka');},
				onSuccess: function(responseText, responseXML){$('kosz').load('/el/kosz_inside'); HideSpinner(); ChangeActionInfo(responseText); HideAction.delay(1000); $('koszyk').load('/elementy/koszyk')},
				onFailure: function(obj){HideSpinner(); ChangeActionInfo(obj.responseText); HideAction.delay(2000) }
				}).send();
				
				pageTracker = _gat._getTracker(TrackerId);
				pageTracker._trackPageview('/DodajDoKoszyka');
				
			});
		});
		
		$$('.ulubione_dodaj').each(function(item){
			item.addEvent('click',function(event){
				e=new Event(event);
				e.stop();
				
				new Request({
					url: item.get('href'),
					onRequest: function() {ShowAction('dodawanie do ulubionych');},
					onSuccess: function(responseText, responseXML){HideSpinner(); ChangeActionInfo(responseText); HideAction.delay(1000); },
					onFailure: function(obj){HideSpinner(); ChangeActionInfo(obj.responseText); HideAction.delay(2000) }
				}).send();
				
				pageTracker = _gat._getTracker(TrackerId);
				pageTracker._trackPageview(item.get('href'));
				
			});
		});
		
		$$('.powiadomienie_dodaj').each(function(item){
			item.addEvent('click',function(event){
				e=new Event(event);
				e.stop();
				
				new Request({
					url: item.get('href'),
					onRequest: function() {ShowAction('dodawanie do powiadomień');},
					onSuccess: function(responseText, responseXML){HideSpinner(); ChangeActionInfo(responseText); HideAction.delay(1000); },
					onFailure: function(obj){HideSpinner(); ChangeActionInfo(obj.responseText); HideAction.delay(2000) }
				}).send();
				
				pageTracker = _gat._getTracker(TrackerId);
				pageTracker._trackPageview(item.get('href'));
			});
		});
		
		$$('.product_toolbar a').each(function(item){
			item.store('tip:title', item.title);
	 		item.store('tip:text', '');
		});
		
		$$('.product_toolbar a.play_release').each(function(item){
			//get id
			item.addEvent('click',function(event){
				new Event(event).stop();
				release_id=this.get('id').split('_')[2];
				release_artist=$('tra_'+release_id).get('html');
				release_label=$('trl_'+release_id).get('html');
				tracki=$('trk_'+release_id).getElements('a.play_track');
				
				first_tid=tracki[0].get('id').split('_')[2];
				
				tracki.each(function(item){
					track_id=item.get('id').split('_')[2];
					Player.addTrack(track_id,item.getElement('span.trackname').get('html'),release_artist,release_label,release_id);
				});
				
				Player.playTrackId(first_tid);
			})
		});
		
		$$('a.play_track_link').each(function(item){
			item.store('tip:title', item.title);
	 		item.store('tip:text', '');
			item.addEvent('click',function(event){
				item_id=this.get('id');
				new Event(event).stop();
				$('play_t_'+item_id).fireEvent('click',event);
			})
		})
		
		$$('a.play_track').each(function(item){
			//get id
			item.addEvent('click',function(event){
				new Event(event).stop();
				release_id=item.getParent().get('id').split('_')[1];
				release_artist=$('tra_'+release_id).get('html');
				release_label=$('trl_'+release_id).get('html');
				track_id=item.get('id').split('_')[2];
				Player.addTrack(track_id,item.getElement('span.trackname').get('html'),release_artist,release_label,release_id);
				Player.playTrackId(track_id);
			})
	});
		
  	}
	if($('website_login'))
	{
		$('website_login').set('send', {
			
			onRequest: function(){
				ShowAction('logowanie do sklepu');
			},
			onSuccess: function(responseText){
				HideSpinner(); ChangeActionInfo(responseText); 	
							
				if(document.location.pathname=="/konto/logout/")
					document.location.href='/';
				else document.location.reload();
			},
			onFailure: function(obj){
				HideSpinner(); ChangeActionInfo(obj.responseText);
			}
		});
		
		$('website_login').addEvent( 'submit', function(e){
		new Event(e).stop();
		this.send();
		});
	}
	
	if($('checkout_pd'))
	{
		digital_mode=$('digi_mode').get('value');
		if(digital_mode=="false")
		{
			$$('.metoda_dostawy').each(function(item){
				item.fade('hide');
				item.setStyle('display','none');
				item.addEvent('click',function(){
					$('checkout_dane').getElements('input[type=submit]').fade('in');
				});
			})
			
			var md_item=$('metoda_do_he');
			
			md_item.set('tmp',md_item.get('html'));
			md_item.set('html','Wybór metody dostawy po określeniu typu płatności.');
			
			$$('div.bb-grey').fade('hide');
			
			$('checkout_dane').getElements('input[type=submit]').fade('hide');
			
			$$('input[name=metoda_platnosci]').each(function(item){
				item.addEvent('change',function(){
					
					$$('.metoda_dostawy').each(function(item){
						item.fade('hide');
						item.setStyle('display','none');
						$('checkout_dane').getElements('input[type=submit]').fade('hide');
					})
					
					$$('.metoda_dostawy input[type=radio]').each(function(item){
						item.set('checked',false);
					});
					
					item.get('cmp_md').split(',').each(function(id){
						if($('wrap_md_'+id))
						{
							$('wrap_md_'+id).setStyle('display','block');
							$('wrap_md_'+id).fade('in');
						}
					});
					
					var md_item=$('metoda_do_he');
					md_item.set('html',md_item.get('tmp'));
					
					$$('div.bb-grey').fade('show');
					
					new Fx.Scroll(window).toBottom().chain(function(){
						
						new Fx.Tween('metoda_do_he',{duration : 1000}).start('background-color', '#ff4444', '#ffffff');
					})
				});
			});	
		}
		else
		{
			$$('input[name=metoda_platnosci]').addEvent('change',function(item){
				new Fx.Scroll(window).toBottom().chain(function(){
						new Fx.Tween('continue',{duration : 1000}).start('background-color', '#44ff44', '#ffffff');
					})
			})
			
		}
		
	}
	
	if($('id_faktura'))
	{
		$('id_faktura').addEvent('click',function(){
			
			if($('id_faktura').get('checked'))
			{
				$$('.dane_firmy').each(function(item){
					item.fade('hide');
					item.setStyle('display','block');
					item.setStyle('visibility','visible');
					item.fade('in');
				})
				
			}
			else
			{
				$$('.dane_firmy').each(function(item){
					item.fade('hide');
					item.setStyle('display','none');
					$('id_nazwa').set('value',null);
					$('id_nip').set('value',null);
				})
			}
		});
		if($('id_faktura').get('checked'))
		{
			$$('.dane_firmy').each(function(item){
				item.fade('hide');
				item.setStyle('display','block');
				item.fade('in');
			})
		}
	}
	
	$$('tblank').set('target','_blank')
	
	if($('prod_select'))
	{
		$('prod_select').addEvent('change',function(){
			document.location.href='/producent/'+this.value+'/'
		});
	}

	if($('zobacz_takze'))
	{
		ZTbox=$('zobacz_takze').getElement('div.oh');
		ZTbox.scrollClass=new ScrollableBox(ZTbox,ZTbox.getElement('div.box_content_white'),'zt_up','zt_down','zt_pause');
	}
	
	if($('zmiana_strony'))
	{
		$$('#zmiana_strony a').addEvent('click',function(event){
			e=new Event(event);
			e.stop();
			
			elm=$('tresc_opisu');
			clicker=this;
			href=clicker.get('href');
			
			elm.set('load',{onSuccess : function(){
						elm.anim.start(0,1);
					}});
			
			elm.anim=new Fx.Tween($('tresc_opisu'), {property: 'opacity',link: 'chain',duration: 700})
			elm.anim.start(1,0).chain(
				function(){
					elm.load(href);
				}
			);
			
			pageTracker = _gat._getTracker(TrackerId);
			pageTracker._trackPageview(href);
			
		})
	}
	
	if($('produkt_oblicz_rate'))
	{
		$('produkt_oblicz_rate').addEvent('click',function(event){event.preventDefault();new LukasRaty(this);});
	}
	
	if($('koszyk_oblicz_rate'))
	{
		$('koszyk_oblicz_rate').addEvent('click',function(event){event.preventDefault();new LukasRaty(this);});
	}
	
	if($('procedura_ratalna'))
	{
		$('procedura_ratalna').addEvent('click',function(event){event.preventDefault();new LukasRaty(this);});
	}
	
	if($('procedura_ratalna_2'))
	{
		$('procedura_ratalna_2').addEvent('click',function(event){event.preventDefault();new LukasRaty(this);});
	}
	
	if($('lukas_warunki_checkout'))
	{
		$$('a.lukas_warunki_checkout').addEvent('click',function(event){event.preventDefault();new LukasRaty(this);});
	}
	
	if($('kup_teraz_suma_total'))
	{
		
	}
	
	if($('messages'))
	{
		$('messages').highlight('#eb5868');
	}
	
	if($('lista_zdjec_hw')){
		Milk=new MyMilk($('lista_zdjec_hw'));
		
		$$('.extra_img').addEvent('click',function(){
			Milk.startGal(parseInt(this.get('id')));
		})
		
		$('product_main_image').addEvent('click',function(){
			Milk.startGal(0);
		})
	}
	
	new Tips('.show_tips',{className : 'tipsy'});
	
	Running=false;	
	setInterval(deferred_checker,1000);
});  

var PermaFlash;
var PermaId;

function idUser(id)
{
	PermaId=id;
	alert();
}

var PermaCookie=new Class({
	initialize:function()
	{
		this.cnt=new Element('div')
		this.cnt.inject(document.body)
		
		this.cnt2=new Element('div')
		this.cnt2.inject(document.body)
		
		this.frame=this.iframe = new IFrame({
			src: '#'
			,scrolling : false 
			,frameborder : 0
			,name: 'trackframe'
			,styles: {
				width: 1
				,height: 1
			}
		});
		
		this.frame.inject(this.cnt2)
		
		PermaFlash=new Swiff('https://media.skylark.com.pl/permacookie.swf',{
			width : 1,
			height : 1,
			params : {menu : false, allowScriptAccess : 'always', wMode : 'window'},
			vars : {'url' : '/set_cookie/'},
			container : this.cnt,
			id : 'permacookie',
			allowScriptAccess : 'always',
			wMode : "window"
		}).toElement();
	}
});


var Milk;
var MilkDebug=false;
var MyMilk=new Class({
	Implements: Events
	,initialize: function(container)
	{
		this.list=container.getElements('a');
		this.list.addEvent('click',this.click.bind(this))
		this.imageLoaded=false;
		this.active=false;
		this.imgLoader=new Element('div',{
			styles : {
				position: 'fixed'
				,width: 1
				,height: 1
				,bottom: 0
				,right: 0
				,backgroundColor: '#000'
				,zIndex: 1
				,overflow: 'hidden'
			}
		});
		this.imgLoader.inject(document.body);
	}
	,determineSize: function(){
		var wsize=window.getSize();
		this.hMax=wsize.y-100;
		if(this.hMax > 690) this.hMax=690;  		
	}
	,windowKeyDown: function(event)
	{
		if(MilkDebug) console.log('windowKeyDown',this,event);
		
		if(!this.active) return true;
		else event.preventDefault();
		
		switch(event.key)
		{
			case "space":
				this.nextClick();
			break;
			
			case "right":
				this.nextClick();
			break;
			
			case "left":
				this.prevClick();
			break;
			
			case "backspace":
				this.prevClick();
			break;
			
			case "esc":
				this.overlay.fireEvent('closeOverlay');
			break;
		}
	}
	,closeAction: function()
	{
		if(UserPresent) UserPresent.forcePresent();
		
		if(MilkDebug) console.log('closeAction',this);
		this.imageLoaded=false;
		this.active=false;
	}
	,init: function(ael){
		if(UserPresent) UserPresent.forceNotPresent();
		
		this.determineSize();
		
		if(MilkDebug) console.log('init.pre',this,ael);
		this.active=true;
		this.overlay=new PageOverlay(this.hMax,this.hMax,true,0.8);
		this.overlay.content_holder.setStyles({
			textAlign: 'center'
			,lineHeight: this.hMax
			,backgroundColor: '#fff'
			,'-moz-border-radius' : '20px'
			,'-webkit-border-radius': '20px'
			,'border-radius' : '20px'
			,cursor: 'pointer'
		});
		
		this.overlay.content_holder.addEvent('click',this.nextClick.bind(this))
		this.overlay.addEvent('nextClick',this.nextClick.bind(this))
		this.overlay.addEvent('prevClick',this.prevClick.bind(this))
		this.overlay.addEvent('close',this.closeAction.bind(this))
		
		window.addEvent('keydown',this.windowKeyDown.bind(this));	
				
		this.clickAction(ael);
		
		if(MilkDebug) console.log('init.post',this);
		
	}
	,click: function(event)
	{
		if(MilkDebug) console.log('click.pre',this,event);
		
		event.preventDefault();
		var target=$(event.target);
		var ael=target.getParent();
		this.init(ael);
		
		if(MilkDebug) console.log('click.post',this,event);
	}
	,startGal: function(id)
	{
		if(MilkDebug) console.log('startGal',this,id);
		this.init(this.list[id]);
	}
	,clickAction: function(ael)
	{
		if(MilkDebug) console.log('clickAction',this,ael);
		
		if(!this.overlay.state)
		{
			this.overlay.addEvent('holderAnimComplete',this.imgLoad.bind(this))
			this.overlay.open();
		}
		
		if(this.imageLoaded) this.img.fade('out');
		
		var imgSrc=ael.get('href');	
		this.loadImage(imgSrc);
		this.determineNextPrev(ael);
	}
	,determineNextPrev: function(ael)
	{
		var idx=this.list.indexOf(ael),len=this.list.length;
		
		if(len == 1)
		{
			this.next=ael;
			this.prev=ael;
			return true;
		}
		
		if(idx == 0)
		{
			this.prev=this.list[len-1]
			this.next=this.list[1]
			return true;
		}
		
		if(idx == len-1)
		{
			this.prev=this.list[len-2]
			this.next=this.list[0]
			return true;
		}

		this.prev=this.list[idx-1]
		this.next=this.list[idx+1]
		
	}
	,loadImage: function(src)
	{
		if(MilkDebug) console.log('loadImage',this,src);
		this.img_tmp=new Element('img',{styles: {verticalAlign: 'middle',cursor: 'pointer'}});
		this.img_tmp.addEvent('load',this.imgLoad.bind(this))
		this.img_tmp.inject(this.imgLoader);
		this.img_tmp.set('src',src);	
	}
	,nextClick: function()
	{
		this.clickAction(this.next)
	}
	,prevClick: function()
	{
		this.clickAction(this.prev)
	}
	,imgLoad: function()
	{
		if(this.overlay.state)
		{
			this.img=this.img_tmp;
			this.img.addEvent('click',this.nextClick.bind(this));
			this.overlay.content_holder.set('html','&nbsp;');
			this.img.inject(this.overlay.content_holder);
			this.imageLoaded=true;
			this.setImgSize();
		}
	}
	,setImgSize:function(){
		var s=this.img.getSize();
		//poziome
		if(s.x > s.y){
			if(s.x < this.hMax-50) this.img.setStyles({width: s.x});
			else this.img.setStyles({width: this.hMax-50});
		}
		//pionowe
		if(s.y > s.x){
			if(s.y < this.hMax-50) this.img.setStyles({height: s.y});
			else this.img.setStyles({height: this.hMax-50});
		}			
		//kwadrat
		if(s.x == s.y){
			if(s.y < this.hMax-50) this.img.setStyles({height: s.y,width: s.x});
			this.img.setStyles({height: this.hMax-50,width: this.hMax-50});
		}
	} 
});

var PageOverlay=new Class({
	Implements: Events
	,initialize: function(sizeX,sizeY,navi,opacity){
		
		this.sizeX=sizeX;
		this.sizeY=sizeY;
		this.navi=navi;
		this.opacity=opacity;
		this.state=false;
		
		this.blur=new Element('div',{
			styles : {
				position: 'fixed'
				,width: '100%'
				,height: '100%'
				,top: 0
				,left: 0
				,backgroundColor: '#000'
				,zIndex: 10000
				,opacity: 0
			}
		});	
		
		this.content_holder=new Element('div',{
			styles : {
				position: 'fixed'
				,width: '1'
				,height: '1'
				,top: '50%'
				,left: '50%'
				,display: 'none'
				,backgroundColor: '#fff'
				,zIndex: 10001
			}
		});
		
		this.closeButtonPostitionX=(this.sizeX/2)+10
		this.closeButtonPostitionY=-(this.sizeY/2)
		
		this.close_button=new Element('img',{
			src : 'https://media.skylark.com.pl/close.png'
			,styles : {
				position: 'fixed'
				,top: '50%'
				,left: '50%'
				,marginTop: this.closeButtonPostitionY
				,marginLeft: this.closeButtonPostitionX
				,opacity: 0
				,zIndex: 10002
				,cursor: 'pointer'
			}
		});
		
		if(this.navi)
		{
			this.prev_button=new Element('div',{
			styles : {left: 50,opacity: 0}
			});	
			this.prev_button.set('html','&lt;')	
			this.prev_button.inject(document.body);
			
			this.next_button=new Element('div',{
			styles : {right: 50,opacity: 0}
			});	
			this.next_button.set('html','&gt;')	
			this.next_button.inject(document.body);
			
			this.next_button.addClass('milk_navi_button');
			this.prev_button.addClass('milk_navi_button');
				
			this.next_button.addEvent('click',this.nextClick.bind(this))
			this.prev_button.addEvent('click',this.prevClick.bind(this))
		}
		
		this.close_button.inject(document.body);
		this.content_holder.inject(document.body);
		this.content_holder.set('html','Trwa ładowanie, proszę czekac ...')
		
		this.blur.inject(document.body);
		this.blur.addEvent('click',this.blurClick.bind(this))
		this.close_button.addEvent('click',this.blurClick.bind(this))
		
		this.holder_anim=new Fx.Morph(this.content_holder,{duration : 600,transition: Fx.Transitions.Bounce.easeOut});
		this.holder_anim.addEvent('complete',this.holderAnimComplete.bind(this))

		this.blur_anim=new Fx.Tween(this.blur,{duration : 600});
		this.blur_anim.addEvent('complete',this.blurAnimComplete.bind(this))
		
		this.addEvent('closeOverlay',this.blurClick.bind(this))
		
	}
	,nextClick: function(event)
	{
		this.fireEvent('nextClick');
		return false;
	}
	,prevClick: function(event)
	{
		this.fireEvent('prevClick');
		return false;
	}
	,open: function()
	{
		this.blur_anim.start('opacity',0,this.opacity);
	}
	,blurClick: function()
	{
		this.blur.destroy();
		this.content_holder.destroy();
		this.close_button.destroy();
		if(this.navi)
		{
			this.next_button.destroy();
			this.prev_button.destroy();
		}
		
		this.fireEvent('close');
		
	}
	,resize: function(x,y)
	{
		this.holder_anim.start({
			'width' : x
			,'height' : y
			,'marginTop': -(y/2)
			,'marginLeft': -(x/2)
		});
	}
	,blurAnimComplete: function()
	{
		this.fireEvent('blurAnimComplete',this);
		this.content_holder.setStyles({display: 'block'});
		this.resize(this.sizeX,this.sizeY);
	}
	,holderAnimComplete: function()
	{		
		this.state=true;
		this.close_button.fade('in');
		this.fireEvent('holderAnimComplete',this.content_holder,this)
		if(this.navi)
		{
			this.next_button.fade('in')
			this.prev_button.fade('in')
		}
	}
});

var LukasRaty=new Class({
	initialize: function(link){
		UserPresent.forceNotPresent();
		
		this.iframe = new IFrame({
			src: link.get('href')
			,scrolling : false 
			,frameborder : 0
			,styles: {
				width: 1
				,height: 1
				,opacity: 0
				,border: 'none'
				,display: 'none'
			}
		});
		
		this.blur=new Element('div',{
			styles : {
				position: 'fixed'
				,width: '100%'
				,height: '100%'
				,top: 0
				,left: 0
				,backgroundColor: '#000'
				,zIndex: 10000
				,opacity: 0
			}
		});	
		
		this.iframe_holder=new Element('div',{
			styles : {
				position: 'fixed'
				,width: '1'
				,height: '1'
				,top: '50%'
				,left: '50%'
				,display: 'none'
				,backgroundColor: '#fff'
				,zIndex: 10001
			}
		});
		
		this.close_button=new Element('img',{
			src : 'https://media.skylark.com.pl/img/close.png'
			,styles : {
				position: 'fixed'
				,top: '50%'
				,left: '50%'
				,marginTop: '-350px'
				,marginLeft: '430px'
				,opacity: 0
				,zIndex: 10002
				,cursor: 'pointer'
			}
		});
		
		this.info_content='<div id="raty_przez_internet"><h2>Aby kupić produkt na raty przez internet, należy:</h2><p class="one">Dodać produkt do koszyka</p><div class="">»</div><p>Złożyć zamówienie, metoda płatności Lukas Raty</p><div class="">»</div><p class="one">Wypełnić formularz ratalny</p><div class="">»</div><p>Oczekiwać na sfinalizowanie umowy z Lukas Bank 1,2 dni</p><div class="clear">&nbsp;</div></div>'
		this.info_wrapper=new Element('div',{
			styles : {
				position: 'fixed'
				,top: '50%'
				,left: '50%'
				,marginTop: '210px'
				,marginLeft: '-410px'
				,opacity: 0
				,zIndex: 10003
				,width: 820
				,height: 50
			}
		})
		
		this.info_wrapper.set('html',this.info_content)
		
		this.close_button.inject(document.body);
		this.iframe.inject(this.iframe_holder);
		this.iframe_holder.inject(document.body);
		this.info_wrapper.inject(document.body);
		
		this.blur.inject(document.body);
		this.blur.addEvent('click',this.blurClick.bind(this))
		this.close_button.addEvent('click',this.blurClick.bind(this))
		
		this.holder_anim=new Fx.Morph(this.iframe_holder,{duration : 1000,transition: Fx.Transitions.Bounce.easeOut});
		this.holder_anim.addEvent('complete',this.holderAnimComplete.bind(this))

		this.blur_anim=new Fx.Tween(this.blur,{duration : 1000});
		this.blur_anim.addEvent('complete',this.blurAnimComplete.bind(this))
		
		this.blur_anim.start('opacity',0,0.8);
	}
	,blurClick: function()
	{
		this.blur.destroy();
		this.iframe_holder.destroy();
		this.iframe.destroy();
		this.info_wrapper.destroy();
		this.close_button.destroy();
		UserPresent.forcePresent();
	}
	,blurAnimComplete: function()
	{
		this.iframe_holder.setStyles({display: 'block'});	
		this.holder_anim.start({
			'width' : 820
			,'height' : 590
			,'marginTop': -350
			,'marginLeft': -410
		});
	}
	,holderAnimComplete: function()
	{
		this.iframe.setStyles({width: 820,height: 590,display: 'block'});
		this.iframe.fade('in');
		this.close_button.fade('in');
		this.info_wrapper.fade('in');
	}
})

var ScrollableBox=new Class({
	initialize: function(elm,elm_content,up_ctl_id,down_ctl_id,pause_ctl_id){
		
		this.time_per_item=6000;
		this.pause_mode=false;
		this.mouse_over_mode=false;
		this.speedup_mode=false;
		this.user_not_present_mode=false;
		
		this.elm=elm;
		this.elm_content=elm_content;
		this.up_ctl=$(up_ctl_id);
		this.down_ctl=$(down_ctl_id);
		this.pause_ctl=$(pause_ctl_id);
		this.child_count=this.elm_content.getChildren().length;
		this.child_size=this.elm_content.getChildren()[0].getSize().y.toInt();
		this.elm_size=this.elm_content.getSize().y.toInt()-this.child_size;
				
		this.elm.addEvents({
			'mouseenter' : this.mouseOverElm.bind(this)
			,'mouseleave' : this.mouseOutElm.bind(this)
		});
		this.pause_ctl.addEvent('click',this.pauseClick.bind(this));
		this.up_ctl.addEvent('mousedown',this.upMouseDown.bind(this));
		this.down_ctl.addEvent('mousedown',this.downMouseDown.bind(this));
		this.up_ctl.addEvent('mouseup',this.MouseUp.bind(this));
		this.down_ctl.addEvent('mouseup',this.MouseUp.bind(this));
		this.up_ctl.addEvent('mouseleave',this.MouseUp.bind(this));
		this.down_ctl.addEvent('mouseleave',this.MouseUp.bind(this));
		this.startAnim('down');
		
		UserPresent.addEvent('user_present',this.userPresent.bind(this));
		UserPresent.addEvent('user_not_present',this.userNotPresent.bind(this));
    }
	,userPresent: function(){
		if(this.user_not_present_mode)
		{
			if(this.curr_motion == 'pause' || this.curr_motion == '') return false;
			this.elm.anim.resume();
			this.user_not_present_mode=false;
		}
	}
	,userNotPresent: function(){
		this.user_not_present_mode=true;
		if(this.curr_motion == 'pause' || this.curr_motion == '') return false;
		this.elm.anim.pause();
	}
	,getCurrentPos: function(){
		return this.elm.getScroll().y;
	}
	,computeDuration: function(direction){
		var movement_left=direction == 'up' ? this.getCurrentPos() : this.elm_size-this.getCurrentPos();
		var ratio=movement_left/this.elm_size;
		return (this.time_per_item*this.child_count)*ratio;
	}
	,startAnim: function(direction){
		if(this.elm.anim) this.elm.anim.cancel();		
		this.elm.anim=new Fx.Scroll(this.elm,{transition: Fx.Transitions.linear,duration: this.computeDuration(direction),onComplete: this.onComplete.bind(this)});	
		if(direction == 'up') this.elm.anim.start(0,0);
		if(direction == 'down') this.elm.anim.start(0, this.elm_size);		
		this.curr_motion=direction;
		this.cleanButtonStatus();
		this.setButtonStatus();
	}
	,onComplete: function(){
		if(this.speedup_mode) {
			this.curr_motion='';
			this.cleanButtonStatus();
		}
		else this.startAnim(this.curr_motion == 'down' ? 'up' : 'down');
	}
	,upMouseDown: function(){
		if(this.curr_motion == 'up'){
			this.speedup_mode=true;
			this.time_per_item=1000;			
		}
		else{
			this.mouse_down_mode=false;
			if(this.curr_motion == 'pause') this.mouse_down_mode=true;	
		}
		this.startAnim('up');		
	}
	,downMouseDown: function(){
		if(this.curr_motion == 'down'){
			this.speedup_mode=true;
			this.time_per_item=1000;			
		}
		else{
			this.mouse_down_mode=false;
			if(this.curr_motion == 'pause') this.mouse_down_mode=true;	
		}	
		this.startAnim('down');
	}
	,MouseUp: function(){
		if (this.speedup_mode) {
			this.speedup_mode = false;
			this.time_per_item = 6000;
			this.startAnim(this.curr_motion);
		}
		
		if(this.mouse_down_mode){
			this.pauseClick();
			this.mouse_down_mode=false;
		}
		return false;
	}
	,cleanButtonStatus: function()
	{
		this.down_ctl.removeClass('active');
		this.up_ctl.removeClass('active');
		this.pause_ctl.removeClass('active');
	}
	,setButtonStatus: function()
	{
		if(this.curr_motion == 'down') this.down_ctl.addClass('active');
		if(this.curr_motion == 'up') this.up_ctl.addClass('active');
		if(this.curr_motion == 'pause') this.pause_ctl.addClass('active');
	}
	,mouseOverElm: function()
	{
		if(this.curr_motion == '') return false;
		
		this.mouse_over_mode=true;
		this.mouse_over_pause_mode=false;
		
		if (this.curr_motion == 'down' || this.curr_motion == 'up') {
			this.pauseClick()
		}
		else {
			this.mouse_over_pause_mode=true;
		}
	}
	,mouseOutElm: function()
	{
		if (this.curr_motion == '') return false;
		
		if(!this.mouse_over_pause_mode) {
			this.mouse_over_mode=false;		
			this.pauseClick();
		}		
	}
	,pauseClick: function(){
		if (this.curr_motion == 'down' || this.curr_motion == 'up') {
			this.cleanButtonStatus();
			this.prev_motion = this.curr_motion;
			this.elm.anim.cancel();
			this.curr_motion = 'pause';
			this.setButtonStatus();
			this.pause_mode=true;
			this.time_per_item=2000;
		}
		else {
			this.curr_motion = this.prev_motion;
			this.pause_mode=false;
			this.time_per_item=6000;
			this.startAnim(this.curr_motion);
		}
	}
});

var UserPresent=new Class({
	Implements: Events,
	initialize: function(user_timeout){
		this.user_present=true;
		this.force_not_present=false;
		this.timeout=setTimeout(this.moveTimeout,10000);
		window.addEvent('mousemove',this.mouseMoved.bind(this));
	}
	,mouseMoved: function()
	{
		if(!this.force_not_present)
		{
			this.user_present=true;
			clearTimeout(this.timeout);
			this.timeout=setTimeout('UserPresent.moveTimeout();',10000);
			this.fireEvent('user_present',[this])	
		}		
	}
	,moveTimeout: function()
	{
		this.user_present=false;
		this.fireEvent('user_not_present',[this])
	}
	,forceNotPresent: function()
	{
		this.force_not_present=true;
		this.moveTimeout();		
	}
	,forcePresent: function()
	{
		this.force_not_present=false;
		this.mouseMoved();
	}
});
UserPresent=new UserPresent();

var HideAction=function(){$('info_box').fade('out');}

function HideSpinner()
{
	if($('info_box_spinner')) $('info_box_spinner').fade('hide');
}

oblicz_rate=function przelicz_rate(){
	
	cena=parseInt($('cena_produktu').get('html'));
	pw=parseInt($('pierwsza_wplata').get('value'));
	ir=parseInt($('ilosc_rat').get('value'));
	rata=((cena-pw)*(1+ir/100))/ir;
	rata=rata.toFixed(2);
	if(isNaN(rata))
	{
		$('wysokosc_raty').set('value','???');	
	}
	else
	{
		$('wysokosc_raty').set('value',rata+' PLN');	
	}	
}

function ChangeActionInfo(message)
{
	if($('info_box_text'))
	{
		$('info_box_text').set('html',message);
		$('info_box').fade('in');
	}	
}

function bagTrack(track_id)
{
	new Request({
		url: '/kosz/dodaj_track/'+track_id+'/2',
		onRequest: function() {ShowAction('dodawanie do koszyka');},
		onSuccess: function(responseText, responseXML){$('kosz').load('/el/kosz_inside'); HideSpinner(); ChangeActionInfo(responseText); HideAction.delay(1000); $('koszyk').load('/elementy/koszyk')},
		onFailure: function(obj){HideSpinner(); ChangeActionInfo(obj.responseText); HideAction.delay(2000) }
		}).send();
}

function addFav(release_id)
{
	new Request({
		url: '/ulubione/dodaj/'+release_id,
		onRequest: function() {ShowAction('dodawanie do ulubionych');},
		onSuccess: function(responseText, responseXML){$('kosz').load('/el/kosz_inside'); HideSpinner(); ChangeActionInfo(responseText); HideAction.delay(1000); $('koszyk').load('/elementy/koszyk')},
		onFailure: function(obj){HideSpinner(); ChangeActionInfo(obj.responseText); HideAction.delay(2000) }
		}).send();
}

function addNot(release_id)
{
	new Request({
		url: '/powiadomienie/dodaj/'+release_id,
		onRequest: function() {ShowAction('dodawanie do powiadomien');},
		onSuccess: function(responseText, responseXML){$('kosz').load('/el/kosz_inside'); HideSpinner(); ChangeActionInfo(responseText); HideAction.delay(1000); $('koszyk').load('/elementy/koszyk')},
		onFailure: function(obj){HideSpinner(); ChangeActionInfo(obj.responseText); HideAction.delay(2000) }
		}).send();
}

var MovingAnim;
var LastScrollPos;

function deferred_checker()
{
	window_scroll=$(window).getScroll().y;
	window_height=parseInt($(window).getHeight());
	viewport_bottom=window_scroll+window_height;
	
	szp3=$('szpalta_3');
	if(szp3)
	{

		if(!szp3.hasClass('flowing')) return false;
		
		am=parseInt(szp3.getStyle('margin-top'));
		
		if(window_scroll > PlayerTop)
		{
			if(MovingAnim) MovingAnim.cancel();	
			MovingAnim = new Fx.Morph('szpalta_3', {duration: 500, transition: Fx.Transitions.Sine.easeOut});
			MovingAnim.start({ 'margin-top': [am, window_scroll-PlayerTop+10] });
		}
		else
		{
			if(MovingAnim) MovingAnim.cancel();
			MovingAnim = new Fx.Morph('szpalta_3', {duration: 500, transition: Fx.Transitions.Sine.easeOut});
			MovingAnim.start({ 'margin-top': [am, 0] });
		}
		
	}
}

function ShowAction(message)
{
	if($('info_box_text'))
	{
		if($('info_box_spinner')) $('info_box_spinner').fade('show');
		$('info_box_text').set('html',message);
		$('info_box').fade('in');
	}	
	else
	{
		ib=new Element('div',{'id' : 'info_box'});
		ib.inject(document.body);
		ib.fade('hide');
		 
		text=new Element('div',{'id' : 'info_box_text','html' : message});
		text.inject(ib);
		ib.fade('in');
		ib.addEvent('click', function(){this.fade('out')});
	}
}

