/**
 * @author Ideatronic
 */

var GalleryZoom = new Class(
{
	initialize:function(imageHolder)
	{
		this.parHolder = imageHolder;
		this.holder = imageHolder.getParent().getElement('img.imgZoom');
		if(!this.holder)
			return;
		this.src = this.holder.src.replace('109x109','222x222');
		this.parHolder.addEvent('mousemove',(function(ev){
			var event = new Event(ev);
			this.showZoom(ev.client.x,(ev.client.y+window.getScrollXY()[1]-230),230,230,this.src);
		}).bind(this))
		this.parHolder.addEvent('mouseleave',(function(){
			this.hideZoom();
		}).bind(this))
		if(!$('lbCenter'))
		{
			var el = new Element('div',{
				'id':'lbCenter',
				'styles': {
        			'display': 'none'
    			}
			});
			$(document.body).grab(el)
			el.innerHTML = '<div id="lbImage"><div style="position: relative;"><a id="lbPrevLink" href="#"></a><a id="lbNextLink" href="#"></a></div></div>';
		}
			
			
		this.container = $('lbCenter');
		this.imageContainer = $('lbImage');
	},
	showZoom:function(x,y,w,h,src){
		this.container.setStyles({
			'display':'',
			'left':x+30,
			'top':y+h,
			'width':w+10,
			'height':h+10			
		});
		this.imageContainer.setStyles({
			'visibility': 'visible', 
			'opacity': 1,
			'width':222,
			'height':222
		})
		this.imageContainer.style.backgroundImage = 'url("'+src+'")'//setStyle('background-image',src);
	},
	hideZoom:function(){
		this.container.setStyles({
			'display':'none'	
		})
	}
});


window.addEvent('domready',function(){
	var collection = $$("div.frame_photo_prod");
	if(collection.length<=1)
		return
	collection.each(function(el){
	 	el.gal = new GalleryZoom(el);
	})
})


function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function fieldBlur(e)
{
	field = e.target;
	if(field.value==='')
	{
		field.value=field.example; 
		field.className+= 'active'; 
	}
}
function fieldFocus(e)
{
	field = e.target;
	if(field.value==field.example)
	{
		field.value=''; 
		field.className=field.className.replace(" over", ""); 
	}
} 
 
function fieldInit(field, defValue)
{
	field = $(field);
	checkBefSubit(field,defValue);
	field.example = defValue;
	if(field.value === '')
		field.value = field.example;
	field.addEvent('blur',fieldBlur);
	field.addEvent('focus',fieldFocus);
}

function checkBefSubit(field,def){
	var $field = field;
	form = field.form;
	form = $(form);
	form.addEvent('submit',function(e){
		var ev = new Event(e);
		ev.stop();
		if(field.value == field.example || field.value === '')
		{
			field.value = '';
		}
		this.submit();
	});
}


 var updateCart = new Class({
 	initialize:function(cartContainer,loader,cartToggler,fullContainer,confirm){
		var $this = this;
		this.fullContainer = $(fullContainer);
		this.cartContainer = $(cartContainer);
		this.loader = $(loader);
		this.confirm = $(confirm);
		this.cartToggler = $(cartToggler);
		this.cartContainer.slider = new Fx.Slide(this.cartContainer.id).hide();
		this.cartContent = this.cartContainer.getElements('.cartContent')[0];
		this.loader.setStyles({'display':'none','opacity':'0.9'});
		this.confirm.setStyles({'display':'none','opacity':'0.9'});
		this.cartToggler.addEvent('mouseover',function(){
			$this.cartContainer.slider.slideIn();
		})
		this.fullContainer.addEvent('mouseleave',function(){
			$this.cartContainer.slider.slideOut();
		})
		this.timer;
		$('cartToggler').innerHTML = $('togglerAjaxContent').innerHTML;
		$('togglerAjaxContent').dispose();
	},
	doRequest:function(url_add,param){
		var $this = this;
		this.showLoader();
			this.req = new Request({
			method: 'get',
			url: url_add,
			onSuccess: function(html){
				$this.updateCart(html);
			},
			onFailure: function(){
				alert('nie udane przesylanie danych')
			}
		}).send(param);
		
		try{
			pageTracker._trackPageview('/BuyNowButton');
		}
		catch(e)
		{} 
	},
	showLoader:function()
	{
		center = this.getCenterPage();
		this.confirm.setStyles({'display':'','left':center[0],'top':center[1]});
	},
	getCenterPage:function(){
		var center = [];
		var pageYOffset = getScrollXY()[1];
		center[0] = parseInt((window.getSize().x-110)/2)+'px';
		center[1] = parseInt((window.getSize().y-110)/2)+pageYOffset+'px';
		return center;			
	},
	showConfirm:function(){
		var $this = this;
		center = this.getCenterPage();
		this.confirm.setStyles({'display':'','left':center[0],'top':center[1]});
		this.confirm.setStyle('display','');
		(function(){$this.confirm.setStyle('display','none');$this.showCart()}).delay(1000);
	},
	hideLoader:function()
	{
		this.loader.setStyle('display','none');
	},
	showCart:function(){
		var $this = this;
		var myElement = $(document.body);
		var myFx = new Fx.Scroll(myElement).start(0, 0).chain(function(){
			$this.cartContainer.slider.slideIn()
		});
	},
	updateCart:function(html)
	{
		this.cartContent.innerHTML = html;
		this.hideLoader();
		this.showConfirm();
		$('cartToggler').innerHTML = $('togglerAjaxContent').innerHTML;
		$('togglerAjaxContent').dispose();
	}
 });
 
 var ImgGallery = new Class({
	initialize:function(galList,mainPhoto, options){
		this.setOptions(options);
		this.galleryList = $(galList);
		this.mainPhoto = $(mainPhoto);
		this.togglers = this.galleryList.getElements('a');
		this.genSlimboxTable();
		this.createEvents();
	},
	createEvents:function(){
		var $this = this;
		this.togglers.each(function(toggler,iter){
			toggler.setStyle('opacity','0.8');
			toggler.fx = new Fx.Tween(toggler,{duration:500});
			toggler.iter = iter;
			toggler.addEvents({
				'mouseenter':function(){
					this.fx.cancel();
					this.fx.start('opacity', this.getStyle('opacity'), 1);
				},
				'mouseleave':function(){
					this.fx.cancel();
					this.fx.start('opacity', this.getStyle('opacity'), 0.7);
				},
				'click':function(e){
					var ev = new Event(e);
					ev.stop();
					$this.updateImg(this.iter,this.href);
				}
			});
			if(iter===0){
				$this.updateImg(toggler.iter,toggler.href);
			}
		});
	},
	updateImg:function(index,url){
		var $this = this;
		this.mainPhoto.src = url;
		
		this.mainPhoto.addEvent('click',function(ev){
			var event = new Event(ev);
			
			//new GalleryZoom(event.target)
			Slimbox.open($this.slimImgTab,index);
		})
	},
	genSlimboxTable: function(){
		this.slimImgTab = new Array();
		for (var i=0; i<this.togglers.length;i++)
		{
			var realURL = (this.togglers[i].href).toString();
			var ru = realURL.replace('thumbs/222x222/','');
			this.slimImgTab[i] = [ru,''];
		}
	}
})
ImgGallery.implement(new Options);


function PoliczRate(koszyk, wariantSklepu) {
	window.open('https://www.eraty.pl/symulator/oblicz.php?numerSklepu=24430860&wariantSklepu='+wariantSklepu+'&typProduktu=0&wartoscTowarow='+koszyk, 'Policz_rate','width=630,height=500,directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no');
}

