var Products = {
	
	init: function(){
		
		//hover effect
//		$$('.product-item').each(function(element){
//		  var fx = new Fx.Style(element, 'border-color', { duration: 200, wait: false });
//			
//			element.addEvent('mouseenter', function(){
//			  fx.start('#EBEBEB','#B16F3C');
//			});
//			
//			element.addEvent('mouseleave', function(){
//			  fx.start('#B16F3C','#EBEBEB');
//			});
//			
//		});
		// plus and minus buttons
		$$('.count a').each(function(element){
		  if (element.getText() == '+') {
				element.onclick = function(event){
					event = new Event(event);
					event.preventDefault();
					var inputElem = element.getParent().getElement('input');
					var inputElemVal = inputElem.getProperty('value');
					inputElemVal = inputElemVal.replace(/ /,'');
					inputElemVal = inputElemVal.slice(0, inputElemVal.indexOf('k')).toInt();
					inputElemVal += 1;
					inputElem.setProperty('value', inputElemVal + ' ks');
				}
			} else {
				element.onclick = function(event){
					event = new Event(event);
					event.preventDefault();
					var inputElem = element.getParent().getElement('input');
					var inputElemVal = inputElem.getProperty('value');
					inputElemVal = inputElemVal.replace(/ /,'');
					inputElemVal = inputElemVal.slice(0, inputElemVal.indexOf('k')).toInt();
					if (inputElemVal > 1) {
						inputElemVal -= 1;
					  inputElem.setProperty('value', inputElemVal + ' ks');
					}
				}
			}
		});
	}
	
};

var Basket = {
	  init: function(){
			  
				// popup block
				var popupBlock = new Element('div',{ 'id' : 'basket-popup' });
				popupBlock.setHTML('<div id="basket-popup-content"><a href="#" id="button-close"><img src="/public/img/basker-popup-button-close.gif" width="11" height="22" alt="" /></a><h2>Přidáno do košíku</h2><p id="detail"><strong id="pcount">1 ks</strong> produktu <strong id="pdesc">PC Gamepad USB-3200 Elvish Pad</strong> bylo přidáno do košíku.</p><p class="buttons"><a href="#" id="btn-continue">Pokračovat v nákupu</a> <a href="/kosik/" id="btn-goto-basket">Nákupní košík</a></p></div>');
				popupBlock.injectInside('page-wrapper').setOpacity(0);
				
				// close button
				$('button-close').onclick = function(event){
					event = new Event(event);
					event.preventDefault();
					Basket.closePopup();
				}
				
				// continue shopping
				$('btn-continue').onclick = function(event){
					event = new Event(event).preventDefault();
					Basket.closePopup();
				}
				
				// forms 
				var forms = $$('.product-item, .product-detail form');
				
				forms.each(function(element){
					 var path = element.getProperty('action').replace(/pridej/,'add');
					 element.getElement('button').onclick = function(event){
						   event = new Event(event);
							 event.preventDefault();
							 
							 var count = element.getElement('input[name=count]').getProperty('value')
					     count = count.replace(/ /,'').slice(0, count.indexOf('k')).toInt();

               // odliseni formularu
							 var product;
							 if (element.hasClass('form-buy-big')) {
								 product = $$('body').getElement('h1').getText();
							 } else {
								 product = element.getElement('h3 a').getText();
							 }

							 new Ajax(path+count,{
									onSuccess: function(response){
										var info = new Array();
									      info = response.split(';');
												info[0] = info[0].toFloat().toFixed(2);
										$('header').getElement('.basket p').setHTML('<span>V košíku máte <strong>'+info[1]+' ks zboží</strong></span> <span>v ceně <strong class="price">'+info[0]+' Kč (vč. DPH)</strong></span>');
									}
							 }).request();

               var position = {
								 x: element.getPosition().x - $('page-wrapper').getPosition().x,
								 y: element.getPosition().y + 80
							 }
							 
							 // pozice dle typu formulare
							 if (element.hasClass('big-form')){
								 position.x += 130;
								 position.y -= 110;
							 }
							 Basket.openPopup(count, product, position);
					 }
			  });
				

		},
		
		// close popup
		closePopup: function(){
			$('basket-popup').effect('opacity', { duration: 200, wait: false }).start(0);
		},
		
		openPopup: function(count, product, position){
			var popup = $('basket-popup');
			popup.setStyles({
				 'left' : position.x,
				 'top' : position.y
			});
			$('pcount').setText(count+' ks');
			$('pdesc').setText(product);
			popup.effect('opacity', { duration: 200, wait: false }).start(1);
		}
};

var DodaciAdresa = {
	  init: function(){
			  $('dodaci-adresa-toggler').getElement('input').addEvent('click', function(){
			      ($('dodaci-adresa')) ? DodaciAdresa.fx(wrapperFx) : DodaciAdresa.toggle();
			  });
				$('dodaci-adresa-toggler').getElement('label').addEvent('click', function(event){
						var event = new Event(event);
						event.preventDefault();
						if (document.getElementById('ldodacicheck').checked){
							  document.getElementById('ldodacicheck').checked = false;
						} else {
							  document.getElementById('ldodacicheck').checked = true;
						}
				    ($('dodaci-adresa')) ? DodaciAdresa.fx(wrapperFx) : DodaciAdresa.toggle();
				});
				if ($('dodaci-adresa')) { 
				  var wrapperFx = new Fx.Slide('dodaci-adresa-wrapper', { duration: 500, wait: false, transition: Fx.Transitions.Quad.easeOut });
					wrapperFx.hide();
				  DodaciAdresa.fx(wrapperFx);
				} else {
					DodaciAdresa.toggle();
				}
		},
		
		toggle: function(){
			if (document.getElementById('ldodacicheck').checked){
				$$('.dodaci-adresa').toggleClass('disabled');
				$$('.dodaci-adresa input').each(function(element){
				    element.setProperty('disabled','disabled');
				});
			} else {
				$$('.dodaci-adresa').toggleClass('disabled');
				$$('.dodaci-adresa input').each(function(element){
				    element.removeProperty('disabled');
				});
			}
		},
		
		fx: function(wrapperFx){
			if (document.getElementById('ldodacicheck').checked){
				wrapperFx.slideOut();
				$$('#dodaci-adresa input').each(function(element){
				  element.setProperty('disabled', 'disabled');
				});
			} else {
				wrapperFx.slideIn();
				$$('#dodaci-adresa input').each(function(element){
				  element.removeProperty('disabled');
				});
			}
		}
};


var Steps = {
	  
		init: function(){
			 var step = $('steps').getParent().getProperty('id').slice(4).toInt();
			 
			 var steps = $$('#steps a');
			 
			 steps.each(function(element, index){
			     element.addEvent('click', function(event){
					     event = new Event(event);
							 event.preventDefault();
							 var currentStep = index + 1;
							 if (currentStep < step) {
								   $('form1').getElement('input[name=goback]').value = step - currentStep;
									 $('form1').submit();
							 }
					 });
			 });
			 
			 // #step1 dialog prevents deletion of product
			 var collection = $$('#step1 a.delete');
			 
			 collection.each(function(element){
					 element.onclick = function(event){
						 if (confirm('Opravdu chcete smazat produkt z košíku?')) { return true; }
						 return false;
					 }
			 });
			 
			 // doprava
//			 var o1 = $$('#form1 input[name=o1]');
//			 var o2 = $$('#form1 input[name=o2]');
//			 
//			 o1.each(function(element, index){
//					element.addEvent('click', function(){
//					  switch (index){
//							case 0: Steps.setActive(o2, [1, 2]);
//							break;
//							
//							case 4: Steps.setActive(o2, [0]);
//							break;
//							
//							default: Steps.setActive(o2, [0, 2]);
//						}
//					});
//			 });

		},
		
		setActive: function(radioList, onArray){
			radioList.each(function(element, index){
			  if (onArray.contains(index)){
					element.removeProperty('disabled');
					element.checked = true;
				} else {
					element.checked = false;
					element.setProperty('disabled','disabled');
				}
			});
		}
};

var SearchForm = {
	  init:  function(){
			  $('form-search').addEvent('submit', function(event){
				  var event = new Event(event);
					event.preventDefault();
					window.location = '/hledej/' + $('form-search').getElement('input[name=text]').value;
				});
		}
};

window.addEvent('domready', function(){
  
	if ($$('.product-item')) { Products.init(); }
	
	if ($$('.buy')) { Basket.init(); }
	
	//if ($('dodaci-adresa') || $$('.dodaci-adresa')) { DodaciAdresa.init(); }
	if ($('dodaci-adresa-toggler')) { DodaciAdresa.init(); }
	
	if ($('steps')) { Steps.init(); }
	
	var forms = $$('form.form-search, form.form-login');
	if (forms){
		 forms.each(function(element){
		   element.getElement('input[type=text]').onfocus = function(event){
				 if (this.value==this.defaultValue){this.value='';}
			 };
		   element.getElement('input[type=text]').onblur = function(event){
				 if (this.value==''){this.value=this.defaultValue;}
			 };
		 });
	}
	
	$('giant').getElement('img').setStyle('cursor', 'pointer').addEvent('click', function(){ window.open('http://www.kmkbilisim.com.tr'); });
	if ($('form-search')) SearchForm.init();
	
});
