var $interval	=	null;

var Hemmers = new Class(
{
  Implements : [Events,Options],
  
  options    : {},
  
  initialize : function(options) {
    this.setOptions(options);
  }
});

Hemmers.values = function() {
	$$('input.no-value').set('value','');
};

Hemmers.external = function() {
	$$('a.external').set('target','_blank');
};

Hemmers.login = function() {
  var $btn = $('login-btn');
  
  if($btn == null || $btn == undefined) {
    return false;
  }
  
  var $pos = $btn.getPosition();
  var $is  = false;
  
  $btn.addEvents({
    'click' 	: function() {
      if($is === false) {
	    $is = true;
		
		var $x = ($pos.x-143);
		var $y = ($pos.y+20);
		var $d = 'block';
		var $o = 0;
	  } else {
	    $is = false;
		
	    var $x = (-500);
		var $y = (-500);
		var $d = 'none';
		var $o = 0;
	  }
	  
	  $('login-popup').setStyles({
      'top'			: $y+'px',
	    'left'		: $x+'px',
			'display'	: $d
	  });
	  
	  var $fx = new Fx.Morph($('login-popup'),{
	    'duration'   : 200,
	    'transition' : Fx.Transitions.Sine.easeOut
	  });
	
	  $fx.start({'top' : ($pos.y+14)+'px'});
	}.bind($btn),
	
	'mouseover' : function() {
	  this.set('class','active');
	}.bind($btn),
	
	'mouseout'  : function() {
	  if($is === false) {
	    this.set('class','regular');
	  }
	}.bind($btn)
  });
  
  return true;
};

Hemmers.wishlist = function() {
  var $chb = $('ckall');
  
  if($chb != undefined) {
    $chb.addEvent('click',function() {
      var $docheck = this.get('checked');
	
	  $$('.wlchb').each(function(el) { el.set('checked',$docheck); });
    }.bind($chb));
  }
};


/*Hemmers.shoppingcart = function() {
  var $chb = $('ckall');
  
  $chb.addEvent('click',function() {
		var $docheck = this.get('checked');
		
		$$('.wlchb').each(function(el) { el.set('checked',$docheck); });
  }.bind($chb));
};*/

Hemmers.shoppingcart = function() {
  $$('.trashcan').each(function(el) {
		el.addEvent('click',function() {
			var $id				= this.get('id').split('trashcan').join('');
			var $chb			= 'wlchb'+$id;
			var $confirm	=	'confirm'+$id;
			
			
			$($confirm).setStyle('display','block');
			
			$('yes'+$id).addEvent('click',function() {
				$($chb).set('checked',true);
				$('cart_quantity').submit();
			});
			
			$('no'+$id).addEvent('click',function() {
				$($confirm).setStyle('display','none');
				
				$('yes'+$id).removeEvent('click');
				$('no'+$id).removeEvent('click');
			});
		});
	});
	
	var $chb 	= $('ckall');
	var $keys	= new Array(48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,190,188);
  
  $chb.addEvent('click',function() {
		var $docheck	= this.get('checked');
		var $this			= this;
		
		$('confirmckall').setStyle('display','block');
		
		$('yesckall').addEvent('click',function() {
			$($chb).set('checked',true);
			
			$$('.wlchb').each(function(el) { 
				el.set('checked',$docheck); 
			});
			
			if($docheck == true) {
				$('cart_quantity').submit();
			}
		});
		
		$('nockall').addEvent('click',function() {
			$('confirmckall').setStyle('display','none');
			
			$('yesckall').removeEvent('click');
			$('nockall').removeEvent('click');
			
			$this.set('checked',false);
		});
  }.bind($chb));
	
	
	$$('.inputQty').each(function(el) {
		el.addEvent('change',function() {
			$('cart_quantity').submit();
		});
		
		el.addEvent('keyup',function(event) {
			if($interval && $interval !== null) {
				clearInterval($interval);
			}
			
			$interval = (function() {
				if($keys.contains(event.code)) {
					$('cart_quantity').submit();
				}
			}).periodical(1500);
		});
	});
};

Hemmers.cart = function() {
  var $content	= $('cart-content');
  
  $content.setStyles({
		'opacity'     : 0,
		'display' 	  : 'block'
  });
  
	$content.p = cartsizes.periodical(500);
};

function cartsizes() {
	$clear($('cart-content').p);
	
  var $cart			= $('shopping-cart');
  var $content	= $('cart-content');
  var $center		= $('cart-content-center');
	var $bottom		= $('cart-content-bottom');
	
	$bottom.setStyles({
		'width'				: $content.getSize().x+'px',
		'left'				: (($cart.getSize().x/2)-($content.getSize().x/2)).round()+'px'
	});
	
	$content.setStyle('margin-left',((($cart.getSize().x)/2)-(($content.getSize().x)/2)-5)+'px'); 
	$content.fade('in');
}

Hemmers.asn = function() {
	window.addEvent('domready', function(){
		var $tip = new Tips('.asn.link',{
			'className' : 'products-tip'
		});
  });
}

Hemmers.additional = function() {
	window.addEvent('domready', function(){
		$$('.image.regular img').each(function(item) {
			item.setStyle('opacity',0);
		
			item.setStyles({
				'margin-left' : (60-(item.getSize().x*.5))+'px',
				'margin-top'	: (60-(item.getSize().y*.5))+'px'
			});
		
			item.fade('in');
		});
	
		$$('.image.full img').each(function(item) {
			if(item.getSize().x < 550) {
				item.setStyles({
					'float'				: 'left',
					'margin-left'	: (279-(item.getSize().x*.5))+'px'
				});
			}
		});
	});
}

Hemmers.productimage = function($img,$u,$v,$w) {
	
	var $this 		= this;
	var $c 				= $$('.product-image-inner')[0];
	var $images		= new Array($img);
	
	$$('.product-image')[0].setStyles({
		'opacity'	: 0
	});
	
	var loader = new Asset.images($images,{
		onProgress: function(counter,index) {},
		
		onComplete: function() {
			$images.each(function(im) {
				var $el	= new Element('img',{src:im,id:'small_product_image'}).inject($c);
				
				var $i = (function() {
					$clear($i);
					
					var $s	= $el.getSize();
					var $w 	= 175;
					var $h	= 131;
					
					if($s.x > $) {
						$el.setStyles({
							'width'	: $w
						});
						
						$s.x = $w;
					}
					
					if($s.x < $w) {
						$$('.product-image')[0].setStyles({
							'width' 			: ($s.x+2)+'px',
							'margin-left'	: ((177*.5)-($s.x*.5))+'px'
						});
					}
					
					if($s.y < $h || $s.y > $h) {
						$$('.product-image')[0].setStyle('height',($s.y+2)+'px');
						$$('.product-image-inner')[0].setStyle('height',($s.y)+'px');
					}
					
					$$('.product-image')[0].fade('in');
					
					var $_zoom = new Zoom('small_product_image',$u,$v,$w);
				}).periodical(500);
			});
		}
	});
}	


Hemmers.products = function($c) {
	var $this 		= this;
	var $products = $$('.products-entry a.product-tip');
	var $images		= new Array();
	
	for($i=0; $i<$products.length; $i++) {
		$images.push($products[$i].getChildren('span.image-path').get('html'));
	}
	
	var loader = new Asset.images($images,{
		onProgress: function(counter,index) {},
		
		onComplete: function() {
			$count = 0;
			
			$images.each(function(im) {
				var $product = $products[$count];
				var $el			 = new Element('img',{src:im}).inject($product);
				var $s			 = $el.getSize();
				
				$el.setStyles({
					'opacity'			: 0,
					'position'		: 'absolute',
					'top'					: '50%',
					'left'				: '50%',
					'margin-left'	: '-'+($s.x*.5).round()+'px',
					'margin-top'	: '-'+($s.y*.5).round()+'px'
				});
				$el.fade('in');
				
				$count++;
			});
		}
	});
}.bind(Hemmers);

Hemmers.trace = function(value) {
  if($('trace') && $('trace') != undefined) {
    if($('trace').getStyle('display') == 'none') {
	  $('trace').setStyle('display','block');
	}
	
	$('trace').set('html',($('trace').get('html')+('<span class="trace-entry">'+value+'</span>')))
  }
}

window.addEvent('domready', function(){
	$('search-input').addEvent('focus',function() {
		if($('search-input').value === 'Suchbegriff eingeben ...') {
			$('search-input').value = '';
		}
  });
  
  $('search-input').addEvent('blur',function() {
		if($('search-input').value === '') {
			$('search-input').value = 'Suchbegriff eingeben ...';
		} else {
			$('search-input').value = $('search-input').value .split('Suchbegriff eingeben ...').join('');
		}
  });
	
	$('search-input').addEvent('keydown',function() {
		if($('search-input').value !== 'Suchbegriff eingeben ...') {
			$('search-input').value = $('search-input').value .split('Suchbegriff eingeben ...').join('');
		}
	});
});

var selected;

function selectRowEffect(object, buttonSelect) {
  if (!selected) {
    if (document.getElementById) {
      selected = document.getElementById('defaultSelected');
    } else {
      selected = document.all['defaultSelected'];
    }
  }

  if (selected) selected.className = 'moduleRow';
  
  object.className = 'moduleRowSelected';
  selected 		   = object;
  
  $checkout = document.getElementsByTagName('form')['checkout_address'];
  
  if ($checkout.address[0]) {
    $checkout.address[buttonSelect].checked=true;
  } else {
    $checkout.address.checked=true;
  }
}

function selectRowEffectPayment(object, buttonSelect) {
  if (!selected) {
    if (document.getElementById) {
      selected = document.getElementById('defaultSelected');
    } else {
      selected = document.all['defaultSelected'];
    }
  }

  if (selected) selected.className = 'moduleRow';
  
  object.className = 'moduleRowSelected';
  selected 		   = object;

  $checkout = document.getElementsByTagName('form')['checkout_address'];
  
  if ($checkout.payment[0]) {
    $checkout.payment[buttonSelect].checked=true;
  } else {
    $checkout.payment.checked=true;
  }
}

function rowOverEffect(object) {
  if (object.className == 'moduleRow') object.className = 'moduleRowOver';
}

function rowOutEffect(object) {
  if (object.className == 'moduleRowOver') object.className = 'moduleRow';
}

function check_form_optional(form_name) {
  var form 			 = form_name;

  var lastname 		 = form.elements['lastname'].value;
  var firstname 	 = form.elements['firstname'].value;
  var street_address = form.elements['street_address'].value;

  if (firstname == '' && lastname == '' && street_address == '') {
    return true;
  } else {
    return check_form(form_name);
  }
}

function popupWindow(url) {
  window.open('popup_image2.php?pic='+url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}

function sbDo(was) {
  sburl	  = encodeURIComponent(location.href);
  sbtitle = encodeURIComponent(document.title);
	
  switch(was) {		
	case 'delicious':
	window.open('http://del.icio.us/post?url='+sburl+'&title='+sbtitle);
	break;
	
	case 'wong':
	window.open('http://www.mister-wong.de/index.php?action=addurl&bm_url='+sburl+'&bm_description='+sbtitle);
	break;
	
	case 'blinkList':
	window.open('http://www.blinklist.com/index.php?Action=Blink/addblink.php&Description=&Url='+sburl+'&Title='+sbtitle);
	break;

	case 'yahoo':
	window.open('http://myweb2.search.yahoo.com/myresults/bookmarklet?u='+sburl+'&t='+sbtitle);
	break;

	case 'yigg':
	window.open('http://yigg.de/neu?exturl='+sburl+'&exttitle='+sbtitle);
	break;	

	case 'furl':
	window.open('http://www.furl.net/storeIt.jsp?u='+sburl+'&t='+sbtitle);
	break;

	case 'oneview':
	window.open('http://beta.oneview.de:80/quickadd/neu/addBookmark.jsf?URL='+sburl+'&title='+sbtitle);			
	break;

	case 'folkd':
	window.open('http://www.folkd.com/submit/page/'+sburl);
	break;

	case 'linkarena':	
	window.open('http://linkarena.com/bookmarks/addlink/?url='+sburl+'&title='+sbtitle+'&desc=&tags=');
	break;

	case 'google': 		
	window.open('http://www.google.com/bookmarks/mark?op=add&hl=de&bkmk='+sburl+'&title='+sbtitle);
	break;

	case 'webnews': 		
	window.open('http://www.webnews.de/einstellen?url='+sburl+'&title='+sbtitle);
	break;
  }
}

function musterbestellung(id) {
  var $cq = $('cart_quantity');
	  $cq.products_id.value = id;
      $cq.quantity.value    = 1;
  
  $cq.submit();
}

function addToWishlist() {
  var button = document.getElementsByTagName('input')['wishlist'];
      button.click();
}
