/**
 * @autor:Toni Feistauer
 * Ironshark Entertainment
 */

var ProductSizes = Class.create();
ProductSizes.prototype = {
 	initialize: function()
	{		
		this.link = $$(".showSizesBox");
		this.obj = $$(".sizesBox");
		this.close = $$(".closeSizesBox");

		for(var i = 0; i<this.link.length; i++)
		{
			if(this.obj[i]) {
				this.obj[i].id = 'sizesBox'+i;
				this.close[i].id = 'closeSizesBox'+i;
				this.addListener(this.link[i],i);
			}
		}
 	},
	addListener: function(obj,id)
	{
		var self = this;
		$(obj).setStyle({cursor:'pointer'});
		
		obj.onmouseover = function()
		{
			obj.style.textDecoration = 'underline';
		}
		
		obj.onmouseout = function()
		{
			obj.style.textDecoration = 'none';
		}
		
 		obj.onclick = function()
		{
			self.showHide(id);
		}
		
		$("closeSizesBox"+id).onclick = function()
		{
			self.showHide(id);
		}
		
	},
	showHide: function(id)
	{
		if (document.getElementById('sizesBox' + id).style.display == 'none') {		
			for (var i = 0; i < this.obj.length; i++) 
			{
				if (i != id)
					Effect.Fade('sizesBox' + i, { duration: 0.2 });
			}
			Effect.Appear('sizesBox'+id, { duration: 0.2 });
		}
		else {
			Effect.Fade('sizesBox' + id, { duration: 0.2 });
		}
	}
 }

 function initFilterBar() {
	 var objects = ['switch_maincategory','switch_category','switch_subcategory','filter_color','filter_price','filter_size','filter_producer','sort','filter_description'];
	 for( k in objects) {
		 var el = 'shop_cat_'+objects[k];
		 if($(el)) {
			 $(el).observe('change',function(e) {
			     //if another main category is chosen, reset the producer
			     if("shop_cat_switch_maincategory"==this.id){
				$("shop_cat_filter_producer").options.selectedIndex = 0;
			     }
			    $('shop_cat_filter_form').submit();
			 });
		 }
	 }
 }

var DirectLink = Class.create();
DirectLink.prototype = {
 	initialize: function()
	{		
		if (!this.is_null($('view'))) 
		{
			if ($('view').value == "galleryView") {
				var links = document.getElementsByName("productPath");
				
				for (var i = 0; i < links.length; i++) {
					for (var j = 0; j < 4; j++) {
						var obj = $('productDirectLink' + i + j);
						if (obj!=null)
						{
								this.createLink(obj, links[i].value);
						}
					}
				}
				
				var items = document.getElementsByClassName("item");
				
				for (var k = 0; k < items.length; k++) {
					items[k].style.cursor = 'pointer';
				}
			}
		}
 	},
	createLink: function(obj,link)
	{
		obj.onclick = function(){
			window.location = link;
		}
	},
	is_null: function(input){
    	return input==null;
  	}
}

Event.observe(window,'load',function()
{
	var productSizes = new ProductSizes();
	var directLinks = new DirectLink();
	initFilterBar();
});

function updateArtAndPrice(id)
{
	var name = 'artNr_'+id;
	var nameBox = 'variationBox_'+id;
	var nameValue = '';
	if ($(nameBox).value != '')
	{
		nameValue = 'addArt_'+$(nameBox).value;
		$(name).innerHTML = $(nameValue).value;
		name = 'price_'+id;
		nameValue = 'price_'+$(nameBox).value;
		$(name).innerHTML = '€ '+$(nameValue).value;
		name = 'product_name_'+id;
		$(name).innerHTML = $(nameBox).options[$(nameBox).selectedIndex].text;
	}
}
