window.addEvent('domready', function() {

// var base_url = "/roughneck/";
var base_url = "/";

var url_opties = location.pathname.substring(base_url.length);

var url_array = url_opties.split("/");

var taal_naam = url_array[0];
var menu_naam = url_array[1];
var submenu_naam = url_array[2];

//menu overs
var list = $$('.toggler');
list.each(function(element) {
	var modFx = new Fx.Morph(element, {duration:300, transition: Fx.Transitions.Sine.easeOut, wait:false});
	var mySlide = new Fx.Slide(('submenu_'+element.getProperty('id')), {wait: false, mode: 'horizontal', duration: 250});
	mySlide.hide();
	
	element.addEvent('mouseenter', function(){
		modFx.start({
			'background-image': 'url(_img/btn_rollover.gif)',
			'background-repeat': 'no-repeat',
            'background-position': [-960, -0],
			'padding-left': [0, 5]
		});
		mySlide.slideIn();
	});
	
	element.addEvent('mouseleave', function(){
		modFx.start({
			'background-image': 'url(_img/btn_rollover.gif)',
			'background-repeat': 'no-repeat',
            'background-position': [0, -960],
			'padding-left': [5, 0]
		});
		mySlide.slideOut();
	});
}); 

//language
var taalSlide = new Fx.Slide(('taallist'), {wait: false, duration: 250});
taalSlide.hide();
$('taal').addEvent('mouseenter', function(){
	taalSlide.slideIn();
});
$('taal').addEvent('mouseleave', function(){
	taalSlide.slideOut();
});

//tooltips
var tooltips = function(){
	$$('area.tooltip').each(function(element,index) {
		var content = element.get('title').split('::');
		element.store('tip:title', content[0]);
		element.store('tip:text', content[1]);
	});

	var tooltip = new Tips('.tooltip',{
		className: 'tooltip',
		fixed: false,
		hideDelay: 50,
		showDelay: 50
	});
		
	tooltip.addEvents({
		'show': function(tip) {
			tip.fade('in');
		},
		'hide': function(tip) {
			tip.fade('out');
		}
	});
};

//Accordion
if(Browser.Engine.trident) {

	var myAccordion = new Accordion($('accordion'), '.toggler .button', 'div.element', {
		duration: 900, 
		display: -1,
		wait: true,
		fixedHeight: 380,
		//opacity: (window.ie ? false : true),
		opacity: 0,
		onActive: function(toggler, element){
			toggler.setStyle('color', '#FFFFFF');
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#9199a1');
		},
		onComplete: function(toggler, element){
		}
	});
} else {
	var myAccordion = new Accordion($('accordion'), '.toggler .button', 'div.element', {
		duration: 900, 
		display: -1,
		wait: true,
		fixedHeight: 380,
		opacity: 1,
		onActive: function(toggler, element){
			toggler.setStyle('color', '#FFFFFF');
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#9199a1');
		},
		onComplete: function(toggler, element){
		}
	});
}

//scroller
var scroller = function(pagina_url){

	var totIncrement = 0;
	var increment = 570;
	var innerscreen = Math.round(document.body.clientWidth / increment);
	
	var total = 0;
	
	$$('#imageList_'+pagina_url+' li').each(function(models) { 
		total++;
	});
	
	//var total = 6;
	var scrollFx = new Fx.Tween('imageList_'+pagina_url, { duration: 800, transition: Fx.Transitions.Back.easeInOut, wait: false});
	var scrollSlowFx = new Fx.Tween('imageList_'+pagina_url, { duration: 1600, transition: Fx.Transitions.Back.easeInOut, wait: true});
	
	$('imageList_'+pagina_url).setStyle('margin-left', '-600px');
	scrollSlowFx.start('margin-left', '50px');
	
	//scroll naar links
	$('previous').addEvent('click', function(){
		var gridPosition = Math.round($('imageList_'+pagina_url).getStyle('margin-left').toInt() / increment) * increment;
		if (gridPosition < 0) {
			scrollFx.start('margin-left', gridPosition+increment);
		}
	});

	//scroll naar links
	$('next').addEvent('click', function(){
		var gridPosition = Math.round($('imageList_'+pagina_url).getStyle('margin-left').toInt() / increment) * increment;
		if (gridPosition > increment*(-1*(total - innerscreen))) {
			scrollFx.start('margin-left', gridPosition - increment);
		}
	});
	
	// DOE FIX AUTO TOGGLER! NU STAAT DE GALLERIJ ALTIJD OP 2!!!
	// alert('pagina_id = '+pagina_id);
	// reRouteModelLinks(pagina_id);
	if (taal_naam == 'nl') { reRouteModelLinks('modellen'); }
	if (taal_naam == 'uk') { reRouteModelLinks('models'); }
	if (taal_naam == 'es') { reRouteModelLinks('modelos'); }
	
	var list = $$('#imageList_'+pagina_url+' li');
	var list_blur = $$('#imageList_'+pagina_url+' li');

	list.each(function(element) {
		var focusFx = new Fx.Morph(element, {duration:500, transition: Fx.Transitions.Sine.easeOut, wait:false});
			
			element.addEvent('mouseenter', function(){
				list_blur.each(function(element_blur) {
					element_blur.fade(0.1);
				});
				element.fade(1);
			});
			element.addEvent('mouseleave', function(){
				list_blur.each(function(element_blur) {
					element_blur.fade(1);
				});
			});
			
			element.addEvent('click', function(){
			var size = element.getSize();
			
			//disable als click als focus
			if(size.y != 380) {
					
				//zet alle andere op blur
				list_blur.each(function(element_blur) {
					element_blur.setStyle('margin-top', '20px');
					element_blur.setStyle('margin-left', '-210px');
					element_blur.setStyle('height', '340px');
				});
				
				//focus op het centrum				
				//var toCentre = (document.body.clientWidth/2)-((increment * (parseInt(element.getProperty('id').replace(/model_/i,""))-.5)) - 100);
				//var toCentre = (document.body.clientWidth/2)-((increment * (parseInt(element.getProperty('id').replace(/model_/i,"")))));
				var toCentre = (document.body.clientWidth/2)-((increment * (parseInt(element.getProperty('id').replace(/model_/i,"")))) + 300);
				if (toCentre>0) { toCentre = 0; }
				if (toCentre< increment*(-1*(total - innerscreen))) { toCentre = increment*(-1*(total - innerscreen)); }
				scrollFx.start('margin-left', toCentre);
				
				//focus 
				focusFx.start({
					'margin-top': '0px',
					'margin-left': '-199px',
					'height': '380px'
				});		
			}			
		});
	});
};

//ie slider fix
var showSlider = function(){ 
	$('slider').setStyle('display', 'inline'); 
};
var hideSlider = function(){ 
	$('slider').setStyle('display', 'none'); 
};

//gallery
var gallery = function(){ 
	//milkbox = new Milkbox();
	$$('.thumb').each(function(thumb) {
	var galleryFx = new Fx.Morph(thumb, {duration:350, transition: Fx.Transitions.Sine.easeInOut, wait:false});
		thumb.addEvent('mouseenter', function() {
			galleryFx.start({
				'background-color': '#ffc000'
			});
		});
		thumb.addEvent('mouseleave', function() {
			galleryFx.start({
				'background-color': '#000000'
			});
		});
	});
};

// reroute alle modellen links
var reRouteModelLinks = function(toggler){ 
	$$('.model_link').each(function(model_link) {
		model_link.addEvent('click', function(event) {
		event.stop();
			var model_id = model_link.get('rel');
			$('stage_'+toggler).destroy();
			var ajaxRequest = new Request.HTML({
				method: 'get',
				url: 'model.php?taal='+taal_naam+'&model=' + model_id,
				update: $('content_'+toggler),
				noCache: true,
				onRequest: function() { 
					$('content_'+toggler).addClass('ajax-loading'); 
					hideSlider();
					$('content_'+toggler).fade('hide');	
				},
				onComplete: function() { 
					$('content_'+toggler).removeClass('ajax-loading');
					$('content_'+toggler).fade('in');					
					gallery();					
				}
			}).send(); 
		});
	}); 
	$$('.contentaction_link').each(function(model_link) {
		model_link.addEvent('click', function(event) {
		event.stop();
			var model_id = model_link.get('rel');
			$('stage_'+toggler).destroy();
			var ajaxRequest = new Request.HTML({
				method: 'get',
				url: 'model.php?taal='+taal_naam+'&model=' + model_id,
				update: $('content_'+toggler),
				noCache: true,
				onRequest: function() { 
					$('content_'+toggler).addClass('ajax-loading'); 
					hideSlider();
					$('content_'+toggler).fade('hide');	
				},
				onComplete: function() { 
					$('content_'+toggler).removeClass('ajax-loading');
					$('content_'+toggler).fade('in');					
					gallery();					
				}
			}).send(); 
		});
	}); 
};

var loadSWF = function(){ 
	var taal_id = $('customizer').getProperty('taal_id');
	var obj = new Swiff('customizer/_flash/deploy/customizer.swf', {
	    id: 'customizer_container',
		container: $('customizer_container'),
	    width: 960,
	    height: 380,
		vars: {
			myTaal_id: taal_id
		},
	    params: {
	        wmode: 'transparent'
	       // bgcolor: '#ff3300'
	    }
	});
};

//bekijk welke pagina bij welke toggler hoort.
var togglerCounter = 0;
$$('.toggler').each(function(togglers) {
	var toggler_id = togglers.getProperty('id');
	if(toggler_id == menu_naam) { 
		myAccordion.display(togglerCounter); 
/* 		if ($('content_'+toggler_id).hasChild('contact')) {
			contactForm();
		} */
		if ($('content_'+toggler_id).hasChild('map')) {
			load();
		}
		if ($('content_'+toggler_id).hasChild('startpagina')) { 
			tooltips();	
		}
		if ($('content_'+toggler_id).hasChild('gallery')) { 
			gallery();
		}		
		if ($('content_'+toggler_id).hasChild('customizer')) {
			loadSWF();
		}
		if ($('content_'+toggler_id).hasChild('imageList_'+toggler_id)) {
			scroller(toggler_id); 
			showSlider.delay(500);
		} 
	}
	togglerCounter++;
});

// ajax funtie op elkepagina
var list = $$('.toggler .button');
list.each(function(element) {
	var parent = element.getParent();
	var pagina_url = parent.getProperty('id');
		
	//menu
	element.addEvent('click', function(event) {
		event.stop();
		var ajaxRequest = new Request.HTML({
			method: 'get',
			url: 'content.php?taal='+taal_naam+'&pagina_url=' + pagina_url,
			update: $('content_'+pagina_url),
			//async: true,
			noCache: true,
			onRequest: function() { 
				$('content_'+pagina_url).addClass('ajax-loading'); 
			},
			onComplete: function() { 
				if (!$('content_'+pagina_url).hasChild('map')) {
					if ($('content_dealers').hasChild('map_content')) {
						$('map_content').destroy();
					} 
				}
				if (!$('content_'+pagina_url).hasChild('customizer')) {
					//alert('content_'+pagina_url);
					if ($('content_customize-your-rib').hasChild('customizer')) {
						$('customizer').destroy();
					}
				}
				if ($('content_'+pagina_url).hasChild('map')) {
					load();
				}
				if ($('content_'+pagina_url).hasChild('customizer')) {
					loadSWF();
				}
				if (!$('content_'+pagina_url).hasChild('imageList_'+pagina_url)) {
					hideSlider();
				}
				if ($('content_'+pagina_url).hasChild('startpagina')) { 
					tooltips();	
				}
				if ($('content_'+pagina_url).hasChild('gallery')) { 
					gallery();
				}
				if ($('content_'+pagina_url).hasChild('imageList_'+pagina_url)) { 
					scroller(pagina_url); 
					showSlider.delay(500);
				}
				$('content_'+pagina_url).removeClass('ajax-loading');
			}
		}).send(); 
	});	
	
	//submenu
	$$('#submenu_'+parent.getProperty('id')+' li a').each(function(submenu_link) {
		submenu_link.addEvent('click', function(event){
			var load_pagina_url = this.get('rel');			
			var parent_panel = this.getProperty('panel');
			event.stop();
			
			var ajaxRequest = new Request.HTML({
				method: 'get',
				url: 'content.php?taal='+taal_naam+'&pagina_url=' + load_pagina_url,
				update: $('content_'+pagina_url),
				noCache: true,
				onRequest: function() { 
					$('content_'+pagina_url).addClass('ajax-loading'); 
				},
				onComplete: function() { 
 					if (!$('content_'+pagina_url).hasChild('map')) {
						if ($('content_dealers').hasChild('map_content')) {
							$('map_content').destroy();
						}
					}
					if ($('content_'+pagina_url).hasChild('map')) {
						load();
					}
					if (!$('content_'+pagina_url).hasChild('imageList_'+load_pagina_url)) { 			
						hideSlider();
					}
					$('content_'+pagina_url).removeClass('ajax-loading');
						
					if (!$('content_'+pagina_url).hasChild('imageList_'+pagina_url)) {
						hideSlider();
					}
					if ($('content_'+pagina_url).hasChild('contact')) {
						contactForm();
					} 
					if ($('content_'+pagina_url).hasChild('startpagina')) { 
						tooltips();	
					}
					if ($('content_'+pagina_url).hasChild('customizer')) {
						loadSWF();
					}
					if ($('content_'+pagina_url).hasChild('gallery')) { 
						gallery();
					}				
					$('content_'+pagina_url).removeClass('ajax-loading');								
					var togglerCounter = 0;
					$$('.toggler').each(function(togglers) {
						var toggler_id = togglers.getProperty('id');
							if(toggler_id == parent_panel) { 
								myAccordion.display(togglerCounter); 
								if ($('content_'+pagina_url).hasChild('imageList_'+load_pagina_url)) { 
									scroller(load_pagina_url); 
									showSlider.delay(500);
								}
							}
						togglerCounter++;
					});
				}
			}).send(); 
		});
	});
});	
//end
});

