
var mouseOver = function (object, mo_extension){
	object.addEvent('onFocus', function(){
		this.blur();
	});
	var image = object.getElement('img');
	var src = image.getProperty('src');
	var extension = src.substring(src.lastIndexOf('.'),src.length); 
	var preloadimage = new Element('img', { 'src' : src.replace(extension,mo_extension + extension) });
	object.addEvent('mouseenter', function(){
		image.set('src',src.replace(extension,mo_extension + extension));
	});
	
	object.addEvent('mouseleave', function(){
		image.set('src',src);
	});
}

var initSlideInfoBox = function(object, slideBox){
	var infoBoxVerticalSlide = new Fx.Slide(slideBox, {
		duration: 'long',
		transition: 'quint:out'
	});
	var slideIcon = object.getElement('img');
	var src = slideIcon.getProperty('src');
	var file = src.substring(src.lastIndexOf('/'),src.length);
	infoBoxVerticalSlide.hide();
	object.addEvent('click', function(){
		if(infoBoxVerticalSlide.open){
			slideIcon.set('src',src);
		}else{
			slideIcon.set('src',src.replace(file,'/minus.gif' ));
		}
		infoBoxVerticalSlide.toggle();
	});
}

var createChain = function(object, image, image_gallery){
	var fakeDiv = $('mt_image_container');
	var myDiv = $('bigpic_container');
	var morph = new Fx.Morph('bigpic_container', {link: 'chain'}, {duration: 2000, transition: Fx.Transitions.Sine.easeOut});
	var morphBorder = new Fx.Morph('bigpic_box', {link: 'chain'}, {duration: 2000, transition: Fx.Transitions.Sine.easeOut});
	object.addEvent('click', function(){
		image_gallery.getElements('div').removeClass('active');
		object.getParent().addClass('active');
		myDiv.getParent().setStyle('background', '#fff url(templates/ruxrs/img/loading.gif) center center no-repeat');
		morph.start({'opacity': 0}).chain(function(){
			var myImage = new Asset.images(image, {
				onProgress: function() {
				},
				onComplete: function(){
					myDiv.getParent().setStyle('background', '#fff');
					myDiv.empty();
					myImage.inject(fakeDiv);
					var imageSize = fakeDiv.getElement('img').getSize();
					fakeDiv.empty();
					morphBorder.start({'height': imageSize.y, 'width' : imageSize.x }).chain(function(){
						myDiv.setStyle('background', 'url(' + myImage.getProperty('src') + ') center center no-repeat');
						morph.start({'opacity': 1});
					});
				}
			});
		});
	});
}

var createItemOptions = function(object){
	var deleteCheckBox = object.getElement('.deletebox').getElement('input');
	var qtyBox = deleteCheckBox.getNext('input');
	var qtyNumbers = object.getElement('.amount');
	var shoppingForm = $('shopping_cart').getElement('form');
	
	var deleteButton = object.getElement('div[class=delete]');
	
	deleteButton.addEvent('click', function(){
		deleteCheckBox.setProperty('checked', 'true');
		shoppingForm.submit();
	});
	
	if(qtyBox.value > 3){
		qtyNumbers.getLast('span').innerHTML = qtyBox.value;
	}
	
	if(qtyBox.value > 1){
		var priceCalc = new Element('span', {'class': 'pricecalc'});
		priceCalc.innerHTML = qtyBox.value + 'x ' + deleteCheckBox.getNext('h2').innerHTML + ' = ';
		priceCalc.inject(object.getElement('span[class=price]'), 'top');
	}else{
		if(object.getElement('div[class=pricecalc]')){
			object.getElement('div[class=pricecalc]').destroy();
		}
	}
	
	$$(qtyNumbers.getElements('span')).each(function(el){
		el.removeClass('active');
		if(qtyBox.value == el.innerHTML){
			el.addClass('active');
		}else{
			el.addEvent('click', function(){
				qtyBox.value = el.innerHTML;
				shoppingForm.submit();
			});
		}
	});
}

window.addEvent('domready', function() {
		
	if($('payment_block')){
		$$($('payment_block').getElements('span')).each(function(object){
			if(object.hasClass('clickable')){
				initSlideInfoBox(object, object.getParent('table').getNext('table'));
			}
		});
	}
	
	if($('image_gallery')){
		$$($('image_gallery').getElements('div[class=image_container]')).each(function(thumbnail) {
			var image = thumbnail.getElement('a').getProperty('href');
			thumbnail.getElement('a').removeProperty('href');
			createChain(thumbnail, image, $('image_gallery'));
		});
		$('image_gallery').getElement('div[class=image_container]').fireEvent('click');
	}
	
	if($('shopping_cart')){
		$$($('shopping_cart').getElements('.shopitem')).each(function(item) {
			createItemOptions(item);
		});
	}
	
});

