if (typeof console == 'undefined') {
	var console = {
		info: function() {},
		dir: function() {},
		group: function() {},
		groupEnd: function() {}
	};
}

TT = {};

TT.Base = {
	
	preinit: function(){
		$('.result_list h1').css({display:'none'});
		TT.FlashHandler.init();
		$('#tab1_receiver').css({display:'block'});
		$('#tab2_receiver').css({display:'none'});
		this.init();
	},
	init : function() {
		this.newWindow();
		this.addBindings();
		this.processMenu();
		this.processForm();
	},
	addBindings : function() {
		$('.nav_tabs li a').bind('click', function(){ TT.Base.showMenu($(this)); });
	//	$('#tabs').bind('mouseleave', function(){ TT.Base.hideMenu(); });
	},
	processMenu : function() {
		if ($('.nav_tabs li.home a').hasClass('current') || $('ul#home_nav li').hasClass('current') || $('#tab1_receiver .download a').hasClass('current')) {
			$('#tab2_receiver').css({display:'none'});
			$('#tab1_receiver').css({display:'block'});			
		}
		
		if ($('.nav_tabs li.products a').hasClass('current') || $('ul#products_nav li').hasClass('current')) {
			$('#tab1_receiver').css({display:'none'});
			$('#tab2_receiver').css({display:'block'});
		}
	},
	showMenu : function(oEvent) {
		var oButton = oEvent.parent().attr('class');
		if(oButton == 'home') {
			$('#tab2_receiver').hide();
			$('#tab1_receiver').show();
		}
		if(oButton == 'products') {
			$('#tab1_receiver').hide();
			$('#tab2_receiver').show();
		}
	},
	hideMenu: function(){	
			if($('.nav_tabs li.home a').hasClass('current') || $('ul#home_nav li').hasClass('current') || $('#tab1_receiver .download a').hasClass('current')) {
				setTimeout(function() {
					$('#tab2_receiver').css({ display : 'none'});
					$('#tab1_receiver').css({ display : 'block'});
				}, '1000');
			}
			if ($('.nav_tabs li.products a').hasClass('current') || $('ul#products_nav li').hasClass('current')) {
				setTimeout(function(){
					$('#tab1_receiver').css({display: 'none'});
					$('#tab2_receiver').css({display: 'block'});
				}, '1000');
			}			
	},
	processForm : function() {
		var arrForm = $('form');
		
		arrForm.each(function() {
			var oForm = $(this);
			var formId = oForm.attr('id');		
			switch(formId) {
				case 'contactForm':
					TT.Base.contact(formId);
				break;
				
				case 'downloadForm':
					TT.Base.download(formId);
				break;
				
				default:
				//	alert('no form')
				break;
			}
		});
	},
	contact : function(formId) { //@ Toggle behaviour
		var contactForm = '#' + formId;
		
		var validContact = $(contactForm).validate({
			rules		: {
				name : {
					required : true,
					minlength : 2
				},
				phonenumber : {
						required	: true,
						digits		: true
				},
				email: {
						required: true,
						email	: true
				},
				company	: 'required',
				comments : 'required',
				protectwebformcode : 'required'
				
			},
			messages	: {
				name : {
					required	: 'Please enter your name.',
					minlength	: 'Your name should have at least two characters'
				},
				phonenumber : {
					required	: 'Please enter your phonenumber.',
					digits		: 'A phonenumber contacins digits only.'
				},
				email : { 
					required	: 'Please enter a valid emailaddress.',
					minlength	: 'Please enter a valid emailaddress.'
					
				},
				company: {
					required	: 'Please enter your company name.'
				},
				comments : {
					required	: 'Please enter your message.'
				},
				protectwebformcode : {
					required	: 'Please enter the required code.'
				}
			},
			submitHandler : function(form) {
				form.submit();
			}
		});
	},
	download : function(formId) { //@ Toggle behaviour
		var downloadForm = '#' + formId;
				
		var validDownload = $(downloadForm).validate({
			rules		: {
				name : {
					required : true,
					minlength : 2
				},
				company : 'required',
				address : 'required',
				city : 'required',
				phonenumber : {
						required	: true,
						digits		: true
				},
				profession: 'required',
				zipcode : {
					required	: true
				},
				country : 'required',
				email: {
						required: true,
						email	: true
				},
				comments : 'required',
				protectwebformcode : 'required'
				
			},
			messages	: {
				name : {
					required	: 'Please enter your name.',
					minlength	: 'Your name should have at least two characters.'
				},
				company : {
					required	: 'Please enter your companyname.'	
				},
				address : {
					required : 'Please enter your address.'
				},
				city : {
					required : 'Please enter a city.'
				},
				phonenumber : {
					required	: 'Please enter your phonenumber.',
					digits		: 'A phonenumber contains numbers only.'
				},
				profession : 'Please enter your profession.',
				zipcode : {
					required	: 'Please enter your zipcode.'
				},
				country : 'Please enter your country.',
				email : { 
					required	: 'Please enter a valid emailaddress.',
					minlength	: 'Please enter a valid emailaddress.'
					
				},
				comments : {
					required	: 'Please enter your message.'
				},
				protectwebformcode : {
					required	: 'Please enter the required code.'
				}
			},
			submitHandler : function(form) {
				form.submit();
			}
		});
	},
	top_search : function(formId) {
	//	alert('ToDo: implement -> ' + formId);
	},
	newWindow : function() {
		var oEl = $('a.open');
		
		oEl.each(function(){
			$(this).bind('click', function(){ window.open(this.href); return false; });
		});
	},
	resetForm : function(formId) {
		var oForm = $('#' + formId);
		
		oForm.each(function() {
			var type = $(this).attr('type');
			var tag = $(this).tagName.toLowerCase();
			if (type == 'text' || type == 'password' || tag == 'textarea') {
				this.value = '';
			}
		});
		
	},
	redirect : function(url) {
		 	
		setTimeout(function(){ window.location = url; }, '3000');
	}
};

TT.FlashHandler = {
	
	init : function() {
		this.getMovie();
	},
	getMovie : function() {
		var oMovieID;
		var aMovies = $('.ads_container .flash');
		
		aMovies.each(function(){
			oMovieID = $(this).attr('id');
			
			var oParams;
			var Settings;
			switch(oMovieID) {
				case 'home_ads':
					oParams = {swf: '/media/documenten/home_ads.swf', width: 170,height: 108}
				break;
				
				case 'product_ads':
					oParams = {swf: '/product_ads.swf', width: 576,height: 196}
				break;
				
				default:
				break;
			}
			
			$('#'+oMovieID).flash(oParams);
		//	alert($(this).attr('id'));
		});
	}
		
};


$(document).ready(function() {
	TT.Base.preinit();
	
	if (navigator.userAgent.toLowerCase().match('chrome'))
       $('#search').css({'top':'.8em'});
});

function slideSwitch(){
	var $active=jQuery('#banner span.active');if($active.length==0)$active=jQuery('#banner span:last');
	var $next=$active.next().length?$active.next():jQuery('#banner span:first');$active.addClass('last-active');
	
	$next.css({opacity:0.0}).addClass('active').animate({opacity:1.0},1000,function(){$active.removeClass('active last-active');});
}
	
$(function(){
					 
	if(jQuery('#banner span').length > 1) 																								 
	 setInterval("slideSwitch()",5000);
																				
});
