var zoom_offset = 0;
var cars_per_page = 20;
var current_page = 1;
var nr_pages = 1;

$(document).ready(function()
{
	// on change brand
	$("[name=b]").change(function() {
		$("[name=m]").load('/?a=get-active-model-options-by-brand&id_brand='+$("[name=b]").val(), function() {		
			ae_get_cars();		
		});				
	});

	// on change model
	$("[name=m]").change(function() {
		ae_get_cars();
	});	

	// on change pmin
	$("[name=pmin]").change(function() {
		ae_get_cars();
	});
	
	// on change pmax
	$("[name=pmax]").change(function() {
		ae_get_cars();
	});

	// on change sort
	$("[name=s]").change(function() {
		ae_get_cars();
	});	

	// auto zoom
	if (auto_zoom) ae_show_zoom();

	// zoom clickable (IE fix)
	$('#ae_zoom_span').click(function() {
	  ae_show_zoom();
	});
	
	// voorraad page acties
	if ($("#ae_resultaten").length) 
	{
		// go page 1
		ae_init_pager();

		// auto scroll to
		if (auto_scroll_to) 
		{
			var pos = $('#id_car_'+auto_scroll_to).position();
			$(this).scrollTop(pos.top);
		}
		
	}
	
});

function ae_get_cars_voorraadbox(dir)
{
	$("#ae_voorraad").load("/?a=get-cars-voorraadbox&dir="+dir);
}

function ae_get_query_string()
{
	return "b="+$("[name=b]").val()+
		"&m="+$("[name=m]").val()+
		"&pmin="+$("[name=pmin]").val()+
		"&pmax="+$("[name=pmax]").val()+
		"&s="+$("[name=s]").val();
}

function ae_get_cars()
{
	$("#ae_resultaten").load("/?a=get-cars&"+ae_get_query_string(), function(){ 
		ae_init_pager();
	});
}

function ae_submit_query()
{
	document.location.href = "/voorraad?"+ae_get_query_string();
}

function ae_swap_pic_in_zoom(nr)
{
	ae_swap_pic(nr+zoom_offset);
}

function ae_swap_pic(nr)
{
	// remove active border
	$(".thumbsBox li").removeClass("selected");
	
	// set active border
	$("#pic"+nr).addClass("selected");

	// get image source
	var src = $("#pic"+nr+" img").attr("src").substring(13);
	
	// show image
	$("#ae_pic").attr("src","/cache/401x301/"+src);
	$("#ae_zoom_pic").attr("src","/cache/640x479/"+src);
	
}

function ae_submit_contactform()
{
	var naam = $("[name=naam]").val();
	var email = $("[name=email]").val();
	
	if (naam=='') { alert('Missend veld: naam'); return; }
	if (email=='') { alert('Missend veld: email'); return; }
	if (!validate_email(email)) { alert('Ongeldig emailadres.'); return; }
	
	$("#contactform").submit();
}

function ae_submit_search()
{
	document.location.href = '/voorraad?q='+$("[name=query]").val();
}

function ae_submit_staf()
{
	var naam = $("[name=naam]").val();
	var email = $("[name=email]").val();
	var bericht = $("[name=bericht]").val();

	var email1 = $("[name=email1]").val();
	var email2 = $("[name=email2]").val();
	var email3 = $("[name=email3]").val();
	
	if (naam=='') { alert('Missend veld: naam'); return; }
	if (email=='') { alert('Missend veld: email'); return; }
	if (!validate_email(email)) { alert('Ongeldig emailadres.'); return; }

	if (email1=='') { alert('Missend veld: Email persoon 1'); return; }
	if (!validate_email(email1)) { alert('Ongeldig emailadres persoon 1.'); return; }

	if (email2!='' && !validate_email(email2)) { alert('Ongeldig emailadres persoon 2.'); return; }
	if (email3!='' && !validate_email(email3)) { alert('Ongeldig emailadres persoon 3.'); return; }
	
	$("#stafform").submit();
}

function ae_show_zoom()
{
	$(".zoomBox").css("display","block");
	$("#vergroot").css("display","block");	
}

function ae_hide_zoom()
{
	$(".zoomBox").css("display","none");
	$("#vergroot").css("display","none");	
}

function ae_zoom_scroll(dir)
{
	// get nr of thumbs
	nr = $(".thumbsBox li").size();
	
	zoom_offset += dir;
	if (zoom_offset>nr-6) zoom_offset = nr-6;
	if (zoom_offset<0) zoom_offset = 0;
	
	// replace thumbs
	for(c=1; c<=6; c++)
	{
		src = $("#pic"+(c+zoom_offset)+" img").attr("src");
		$("#zoompic"+c+" img").attr("src",src);
	}
	
}

function validate_email(email)
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	return reg.test(email);
}

function ae_init_pager()
{
	// get # cars
	nr_cars = $("#ae_resultaten").children().length;
	
	// calc # pages
	nr_pages = Math.ceil(nr_cars/cars_per_page);
	
	// show or hide pager
	if (nr_pages > 1)
	{
		$("#vooraadCntr div.resultBox div.buttons").show();
		$("#vooraadCntr div.resultBox div.paginanummers label").show();
		$("#vooraadCntr div.resultBox div.paginanummers ul").show();
	}
	else
	{
		$("#vooraadCntr div.resultBox div.buttons").hide();
		$("#vooraadCntr div.resultBox div.paginanummers label").hide();
		$("#vooraadCntr div.resultBox div.paginanummers ul").hide();
	}
	
	// set current page
	current_page = current_page_init ? current_page_init : 1;
	if (current_page > nr_pages) current_page = 1;
	
	// show cars
	ae_update_pager();
	ae_update_visible_cars();
}

function ae_car_in_page(nr)
{
	limit_low = 1 + (current_page-1)*cars_per_page;
	limit_high = limit_low + cars_per_page-1;
	return (nr >= limit_low && nr <= limit_high); 
}

function ae_pager_scroll(dir)
{
	current_page += dir;
	if (current_page<1) current_page = nr_pages;
	if (current_page>nr_pages) current_page = 1;
	
	ae_update_pager();
	ae_update_visible_cars();
	
	scroll(0,0);
	
	$.get("/?a=store-current-page&p="+current_page, function(data) {});
}

function ae_go_page(nr)
{
	current_page = nr;
	ae_pager_scroll(0);
}

function ae_update_pager()
{
	// show pages
	$("#vooraadCntr div.resultBox div.paginanummers ul").children().each(function(index){
		if ((index+1)>nr_pages)
			$(this).hide();
		else
		{
			$(this).show();
			$(this).removeClass('selected');
			if ((index+1)==current_page) $(this).addClass('selected');			
		}
	});	
}

function ae_update_visible_cars()
{
	// only show the cars that are on the current page
	$("#ae_resultaten").children().each(function(index){
		if (ae_car_in_page(index+1))
		{			
			$(this).show();			
		}
		else
		{
			$(this).hide();
		}
		
		// fix thumbnail
		//$(this).find(".ae_thumb").css('margin-left','0');
		//$(this).find("span").css('display','none');
		
	});	
}

function ae_toggle_favorite(id_car)
{
	$.get("/?a=toggle-favorite&id_car="+id_car, function(data) {
		if(data=="1")
		{
			$("#ae_favoritelink").addClass('favo').addClass('selected');
		}
		else
		{
			$("#ae_favoritelink").removeClass('favo').removeClass('selected');			
		}
	});
}


