// JavaScript Document
var ie = false;
//var Shadowbox		= false;
var inputdefault 	= new Array();

$(document).ready(function() {
	
	setLang();
	//setSearch();
	setAdvice();
	setDealer();
	setDealerM();
	setProduct();
	setHomeSliders();
	//setFotoSlider();
	hoverFields();
	columnTab();
	setFooter();
	
	
	if(Shadowbox) Shadowbox.init({skipSetup: false});
});
$(window).resize(function() {
	setFooter();
});

function columnTab(){
	$(".contenttab .tab-content").hide();
	$("#tab-nav a").click(function(){
		if(this.id!='form_filter'){
			$(".contenttab .tab-content").hide();
			$(".contenttab #div_"+this.id).show();
			
			$("#tab-nav a.active").removeClass('active');
			$(this).addClass('active');
		}
	});
	
	var actTab = $("#tab-nav a.active")[0];
	if(actTab) $(".contenttab #div_"+actTab.id).show();
}

var slideTimer			= false;
var homeCampagnes		= false;
var numCampagnes		= false;
var widthCampagne		= 760;
var curCampagne			= 0;
var curCampagneLeft		= 0;

var columnSpeed			= 400;
function setHomeSliders(){
	homeCampagnes	= $('.campagne');
	numCampagnes	= homeCampagnes.length;
	if(numCampagnes > 1){
		$("#header_next").click(function(){
			window.clearTimeout(slideTimer);
			var num = curCampagne + 1;
			if(num >= numCampagnes) num = 0;
			curCampagne = num;
			
			curCampagneLeft = (widthCampagne * (curCampagne));
			$('#header_slider').animate({ left: -(curCampagneLeft) },500,'swing');
		});
		$("#header_prev").click(function(){
			window.clearTimeout(slideTimer);
			var num = curCampagne - 1;
			if(num < 0) num = numCampagnes - 1;
			curCampagne = num;
			
			curCampagneLeft = (widthCampagne * (curCampagne));
			$('#header_slider').animate({ left: -(curCampagneLeft) },500,'swing');
		});
		$("#header_slider").mouseover(function(){
			window.clearTimeout(slideTimer);
		});
		$("#header_slider").mouseout(function(){
			slideTimer = window.setTimeout(setHomeSlidersNext, 8000); //7
		});
		
		
		slideTimer = window.setTimeout(setHomeSlidersNext, 8000); //7
	}
	
	$(".homecolumn .item .info").slideUp(0);
	$(".homecolumn .active .info").slideDown(0);
	$(".homecolumn .item .kop").click(function(){
		if($(this).parent('.item').hasClass('active')) return false;
		$(this).parents('.homecolumn').find('.active .info').slideUp(columnSpeed);
		$(this).parents('.homecolumn').find('.active').removeClass('active');
		$(this).parent('.item').children('.info').slideDown(columnSpeed);
		$(this).parent('.item').addClass('active');
		
		return false;
		//setFooter();
	});
}
function setHomeSlidersNext(){
	var num = curCampagne + 1;
	if(num >= numCampagnes) num = 0;
	curCampagne = num;
	
	curCampagneLeft = (widthCampagne * (curCampagne));
	$('#header_slider').animate({ left: -(curCampagneLeft) },500,'swing');
	slideTimer = window.setTimeout(setHomeSlidersNext, 8000); //7
}


var slideTimer	= false;
var numfotos	= false;
var curleft		= 0;
function setFotoSlider(){
	var fotos	= $("#foto_slider div");
	numfotos	= fotos.length;
	if(numfotos > 1){
		slideTimer = window.setTimeout(slideFoto, 4000);
	}
}
function slideFoto(){
	window.clearTimeout(slideTimer);
	slideTimer = false;
	curleft = curleft - 171;
	if(curleft <= ((-171 * numfotos)+0)) curleft = 0;
	
	//alert('slide to: '+curleft);
	$('#foto_slider').animate({ left: curleft },500,'swing');
	slideTimer = window.setTimeout(slideFoto, 4000);
}


var langtimer = false;
function setLang(){
	$("#talenselect").click(function(){
		$("#talen").toggleClass('chooselang');
		window.clearTimeout(langtimer);
		langtimer = false;
		
		$(".langpulldown a").mouseout(setLangTimer);
		$(".langpulldown a").mouseover(function(){ window.clearTimeout(langtimer); langtimer = false; });
		//langtimer = window.setTimeout(setLangTimer, 7000);
	});
}
function setLangTimer(e){
	var target		= $(".langpulldown");
	var reltarget	= e.relatedTarget;
	while(!$(reltarget).hasClass("langpulldown") && reltarget.nodeName != "BODY") {
		if(target == reltarget) return;
		//alert(reltarget.nodeName);
		reltarget = reltarget.parentNode;
	}
	
	//alert("a "+reltarget.className);
	if(!$(reltarget).hasClass("langpulldown")){
		langtimer = window.setTimeout(turnOffLang, 3000);
	}
}
function turnOffLang(){
	window.clearTimeout(langtimer);
	langtimer = false;
	$("#talen").removeClass('chooselang');
}
		
		
function setFooter(){
	var browser = $(window).height();
	if( (browser - $("#footer").height()) > $("#site").height()){
		if(!ie) browser -= 10;
		$("#footer").height(browser - $("#site").height());
	}
	/*
	var browser = $(window).height();
	if( (browser - $("#footer").height()) > $("#site").height()){
		$("#site").height(browser - $("#footer").height());
	}
	*/
}
function setSearch(){
	$("#searchkeyword").autocomplete("/static/css-js/ajax/search.php", {
		dataType: 'json', // this parameter is currently unused
		extraParams: {
			sug: 		function(){ return $("#searchkeyword").val(); },
			format: 	'json' 
		},
		parse: function(data) {
			var parsed = [];
			data = data;
	 
			for (var i = 0; i < data.length; i++) {
				parsed[parsed.length] = {
					data: data[i],
					value: data[i].title,
					result: data[i].title
				};
			}
	 
			return parsed;
		},
		formatItem: function(item) {
			return item.title + ' <em>' + item.desc + '</em>';
		}
	}).result(function(event, item) {
	  location.href = item.url;
	});
}


var filtertimer = false;
function setProduct(){
	$("#form_filter_product input:checkbox").click(function(){
		filterSearch('/static/css-js/ajax/product.php','#form_filter_product');
	});
	$("#form_filter_product #keyword_filter").keyup(function(){
		window.clearTimeout(filtertimer);
		filtertimer = false;
		filtertimer = window.setTimeout(function(){filterSearch('/static/css-js/ajax/product.php','#form_filter_product');}, 100);
		
	});
	$("#form_filter_product #filter_reset").click(function(){
		var inp = $("#form_filter_product input:checkbox");
		for(i=0; i < inp.length; i++){
			inp[i].checked = false;
		}
		filterSearch('/static/css-js/ajax/product.php','#form_filter_product');
	});
}

function setAdvice(){
	
	$("#form_filter_advice input:checkbox").click(function(){
		filterSearch('/static/css-js/ajax/advice_v2.php','#form_filter_advice');
	});
	$("#form_filter_advice #keyword_filter").keyup(function(){
		window.clearTimeout(filtertimer);
		filtertimer = false;
		filtertimer = window.setTimeout(function(){filterSearch('/static/css-js/ajax/advice_v2.php','#form_filter_advice');}, 100);
		
	});
	$("#form_filter_advice #filter_reset").click(function(){
		var inp = $("#form_filter_advice input:checkbox");
		for(i=0; i < inp.length; i++){
			inp[i].checked = false;
		}
		filterSearch('/static/css-js/ajax/advice_v2.php','#form_filter_advice');
	});
}
function setDealer(){
	$("#form_filter_dealer input:checkbox").click(function(){
		filterSearch('/static/css-js/ajax/dealer.php','#form_filter_dealer');
	});
	$("#form_filter_dealer #keyword_filter").keyup(function(){
		if(this.value.length >= 4){
			window.clearTimeout(filtertimer);
			filtertimer = false;
			filtertimer = window.setTimeout(function(){
				var val = $("#keyword_filter").val();
				gaDealerLoc("Dealer locator", val);
				
				filterSearch('/static/css-js/ajax/dealer.php','#form_filter_dealer');
			}, 100);
		}
	});
	$("#form_filter_dealer .autoupdate").change(function(){
		window.clearTimeout(filtertimer);
		filtertimer = false;
		filtertimer = window.setTimeout(function(){
			var val = $("#keyword_filter").val();
			gaDealerLoc("Dealer locator", val+" - autoupdate");
			
			filterSearch('/static/css-js/ajax/dealer.php','#form_filter_dealer');
		}, 100);
	});
	$("#form_filter_dealer #filter_reset").click(function(){
		var inp = $("#form_filter_dealer input:checkbox");
		for(i=0; i < inp.length; i++){
			inp[i].checked = false;
		}
		gaDealerLoc("Dealer locator", "Reset");
		filterSearch('/static/css-js/ajax/dealer.php','#form_filter_dealer');
	});
}
function setDealerM(){
	$("#form_filter_dealer_module #keyword_filter").keyup(function(){
		if(this.value.length >= 4){
			window.clearTimeout(filtertimer);
			filtertimer = false;
			filtertimer = window.setTimeout(function(){
				var val = $("#keyword_filter").val();
				gaDealerLoc("Dealer locator", val);
				
				filterSearch('/static/css-js/ajax/dealer_module.php','#form_filter_dealer_module');
			}, 100);
		}
	});
	$("#form_filter_dealer_module .autoupdate").change(function(){
		window.clearTimeout(filtertimer);
		filtertimer = false;
		filtertimer = window.setTimeout(function(){
			var val = $("#keyword_filter").val();
			gaDealerLoc("Dealer locator", val+" - autoupdate");
			
			filterSearch('/static/css-js/ajax/dealer_module.php','#form_filter_dealer_module');
		}, 100);
	});
	$("#form_filter_dealer_module #filter_reset").click(function(){
		var inp = $("#form_filter_dealer_module input:checkbox");
		for(i=0; i < inp.length; i++){
			inp[i].checked = false;
		}
		gaDealerLoc("Dealer locator", "Reset");
		filterSearch('/static/css-js/ajax/dealer_module.php','#form_filter_dealer_module');
	});
}
function gaDealerLoc(naam, waarde){
	if($(".imcms").length == 0){
		recordDealerLocator(naam, waarde);
	}
}
function filterSearch(url, formname){
	$.get(url, $(formname).serialize(), function(data) {
			//alert(data);
			$('#filter_results').html(data);
			setFooter();
	});
}

function hoverFields(){
	var def = $('.input_default');
	for(i=0; i < def.length; i++){
		inputdefault[def[i].name] = def[i].value;
	}
	//alert(inputdefault);
	$(".input_veld").focus(function() {
		if($(this).hasClass('input_default') && this.value == inputdefault[this.name]){
			this.value = '';
			$(this).removeClass('input_tdefault');
		}
		$(this).addClass('input_hover');
		return false;
	});
	$(".input_veld").blur(function() {
		if($(this).hasClass('input_default') && this.value == ''){
			this.value = inputdefault[this.name];
			$(this).addClass('input_tdefault');
		}
		$(this).removeClass('input_hover');
		return false;
	});
}
