var busy = false;
var big = 0;

function makeSmall(elm) {
	var myFx = new Fx.Tween(elm);
	myFx.start('width', '200px', '85px');
}

function makeBig(elm) {
	var myFx = new Fx.Tween(elm);
	myFx.start('width', '85px', '200px');
}

function slide(elm, distance) {
	var myFx = new Fx.Tween(elm, {
		onComplete: function() {
			busy = false;
		}
	});
	myFx.start('marginLeft', elm.getStyle('marginLeft').replace('px', '') - distance+"px");
}

function getBig(elm) {
	elm.getFirst().getElements('.im').each(function(im, index) {
		if(im.getSize().x > 100) {
			big = index;
			return;
		}
	});
}


function swap() {
	var src = this.getProperty('src');
	this.setProperty('src', this.getProperty('rel'));
	this.setProperty('rel', src);
}

function trap() {
	$$("img").each(function(elm) {
		elm.addEvent('contextmenu', function(e){
			var e = new Event(e).stop();
			// do nothing or whatever you wish to happen on the rightclick
		});
		elm.addEvent('mouseup', function(event) { 
			if (event.rightClick) {
				return false;
			} 
		}.bindWithEvent(elm));
	});
}



window.addEvent('domready', function() {
	
	if ($('product_scroller')) {
		$('product_scroller').getElements('.im').each(function(im, index) {
			if(im.getSize().x > 100) {
				big = index;
				slide($('product_scroller'), (index-1) * 90);
				return;
			}
		});
	}
			
	trap();
   if ($('nieuws_brief_form')) {
		$('nieuws_brief_form').addEvent('submit', function(e) {
   			$('nieuws_brief').set('load', { method: 'post', data: $('nieuws_brief_form') }).load('ajax.php');
   		});
   	}
   
	dialog_manager = new Dialog({ dialogClose: '.close', dialogClass: 'dialog' });
  	$$('.zoom').each(function(elm) {
		elm.addEvents({
	   	 	'click': function(e) {
				var dialoge_options = elm.rel.split("*");
				
				dialog_manager.show('site/dialoge/zoom.php?url='+elm.href, { width: dialoge_options[0], height: dialoge_options[1] } );
			}
		});	
   });
   
   if($('algemene_voorwaarden')){
   		$('algemene_voorwaarden').addEvents({
	   	 	'click': function(e) {
				dialog_manager.show('ajax.php?page=site/dialoge/algemene_voorwaarden.php', { width: 500, height: 400 } );
			}
		});	
   }
   
    formcheck = new FormCheck('formular_input');
	formcheck2 = new FormCheck('nieuws_brief_form');
	new SlideShow('gallery', { 
			duration: 4000,
			page: 'ajax.php',
			get_vars: '&page=site/save/img_to_session.php'
		 });

    Element.implement({  
        //implement show  
        show: function() {  
            this.setStyle('display','');  
        },  
        //implement hide  
        hide: function() {  
            this.setStyle('display','none');  
        }  
    });
	

	
	$$('.goright').addEvents({
		'mouseover': function(){
			var img = this.src;
			img = img.replace('arrow_right.png', 'arrow_right_hover.png');
			this.src = img;
		},
		
		'mouseleave': function(){
			var img = this.src;
			img = img.replace('arrow_right_hover.png', 'arrow_right.png');
			this.src = img;
		},
		
		'click': function() {
			if(busy) return;
			busy = true;
			getBig(this.getPrevious());
			var elms = this.getPrevious().getFirst().getElements('.im').length;
			if((big+1) >= elms) {
				busy = false;
				return;
			}
			var scroller = "";
			this.getPrevious().getFirst().getElements('.im').each(function(elm, index) {
				if(index == big) {
					makeSmall(elm);
				} else if(index == big + 1) {
					makeBig(elm);
					if($('largeim') != null) $('largeim').setProperty('src', elm.getProperty('rel'));
					if($$('.productinfo').length != 0) {
						$$('.productinfo').hide();
						$(elm.getProperty('rel')).show();
					}
				}
			});
			slide(this.getPrevious().getFirst(), 90);
		}
	});
	
	$$('.goleft').addEvents({
		'mouseover': function(){
			var img = this.src;
			img = img.replace('arrow_left.png', 'arrow_left_hover.png');
			this.src = img;
		},
		
		'mouseleave': function(){
			var img = this.src;
			img = img.replace('arrow_left_hover.png', 'arrow_left.png');
			this.src = img;
		},
		
		'click': function() {
			if(busy) return;
			busy = true;
			getBig(this.getNext());
			var count = 0;
			var elms = this.getNext().getFirst().getElements('.im').length;
			if((big) == 0) {
				busy = false;
				return;
			}
			var scroller = "";
			this.getNext().getFirst().getElements('.im').each(function(elm, index) {
				if(index == big) {
					makeSmall(elm);
				} else if(index == big - 1) {
					makeBig(elm);
					if($('largeim') != null) $('largeim').setProperty('src', elm.getProperty('rel'));
					if($$('.productinfo').length != 0) {
						$$('.productinfo').hide();
						$(elm.getProperty('rel')).show();
					}
				}
			});
			slide(this.getNext().getFirst(), -90);
		}
	});
	$$('.im').addEvents({
		'click': function(e) {
			if(busy) return;
			busy = true;
			//e.stop();
			
			getBig(this.getParent().getParent().getParent());
			if($('largeim') != null) $('largeim').setProperty('src', this.getProperty('rel'));
			if($$('.productinfo').length != 0) {
				$$('.productinfo').hide();
				$(this.getProperty('rel')).show();
			}
			var im = this;
			var dis = 0;
			this.getParent().getParent().getElements('.im').each(function(elm, index) {
				if(elm == im) {
					dis = index;
					if(dis != big) makeBig(elm);
				}
				if(index == big && (elm != im)) makeSmall(elm);
			});
			slide(this.getParent().getParent(), (dis - big) * 90);
		}
	});
	$$('.hover').addEvents({
		'mouseenter': swap,
		'mouseleave': swap
	});

	$$('.gofirst').addEvents({
		'click': function() {
			var first = $$('.im')[0];
			if(busy) return;
			busy = true;
			
			getBig(first.getParent().getParent().getParent());
			if($('largeim') != null) $('largeim').setProperty('src', first.getProperty('rel'));
			if($$('.productinfo').length != 0) {
				$$('.productinfo').hide();
				$(first.getProperty('rel')).show();
			}
			var im = first;
			var dis = 0;
			first.getParent().getParent().getElements('.im').each(function(elm, index) {
				if(elm == im) {
					dis = index;
					if(dis != big) makeBig(elm);
				}
				if(index == big && (elm != im)) makeSmall(elm);
			});
			slide(first.getParent().getParent(), (dis - big) * 90);
		}
	});
	
	$$('.golast').addEvents({
		'click': function() {
			var first = $$('.im')[$$('.im').length - 1];
			if(busy) return;
			busy = true;
			
			getBig(first.getParent().getParent().getParent());
			if($('largeim') != null) $('largeim').setProperty('src', first.getProperty('rel'));
			if($$('.productinfo').length != 0) {
				$$('.productinfo').hide();
				$(first.getProperty('rel')).show();
			}
			var im = first;
			var dis = 0;
			first.getParent().getParent().getElements('.im').each(function(elm, index) {
				if(elm == im) {
					dis = index;
					if(dis != big) makeBig(elm);
				}
				if(index == big && (elm != im)) makeSmall(elm);
			});
			slide(first.getParent().getParent(), (dis - big) * 90);
		}
	});


	$$('.goright2').addEvents({
		'mouseover': function(){
			var img = this.src;
			img = img.replace('arrow_right.png', 'arrow_right_hover.png');
			this.src = img;
		},
		
		'mouseleave': function(){
			var img = this.src;
			img = img.replace('arrow_right_hover.png', 'arrow_right.png');
			this.src = img;
		},
		'click': function() {
			var dis = $$('.goright')[0];
			if(busy) return;
			busy = true;
			getBig(dis.getPrevious());
			var elms = dis.getPrevious().getFirst().getElements('.im').length;
			if((big+1) >= elms) {
				busy = false;
				return;
			}
			var scroller = "";
			dis.getPrevious().getFirst().getElements('.im').each(function(elm, index) {
				if(index == big) {
					makeSmall(elm);
				} else if(index == big + 1) {
					makeBig(elm);
					if($('largeim') != null) $('largeim').setProperty('src', elm.getProperty('rel'));
					if($$('.productinfo').length != 0) {
						$$('.productinfo').hide();
						$(elm.getProperty('rel')).show();
					}
				}
			});
			slide(dis.getPrevious().getFirst(), 90);
		}
	});
	$$('.goleft2').addEvents({
		'mouseover': function(){
			var img = this.src;
			img = img.replace('arrow_left.png', 'arrow_left_hover.png');
			this.src = img;
		},
		
		'mouseleave': function(){
			var img = this.src;
			img = img.replace('arrow_left_hover.png', 'arrow_left.png');
			this.src = img;
		},
		'click': function() {
			var dis = $$('.goleft')[0];
			if(busy) return;
			busy = true;
			getBig(dis.getNext());
			var count = 0;
			var elms = dis.getNext().getFirst().getElements('.im').length;
			if((big) == 0) {
				busy = false;
				return;
			}
			var scroller = "";
			dis.getNext().getFirst().getElements('.im').each(function(elm, index) {
				if(index == big) {
					makeSmall(elm);
				} else if(index == big - 1) {
					makeBig(elm);
					if($('largeim') != null) $('largeim').setProperty('src', elm.getProperty('rel'));
					if($$('.productinfo').length != 0) {
						$$('.productinfo').hide();
						$(elm.getProperty('rel')).show();
					}
				}
			});
			slide(dis.getNext().getFirst(), -90);
		}
	});	
});
