
var map;
var mgr;
var defaultZoomLevel = 12;

$(document).ready(function(){

	$(".prod-groups li").click(entireDivClick).each(showPointer); 

	$('#carrousel').show();
	
	init_Accordion();
	
	//initMenu;
	/*if($.fn.lightBox){
		$('#projecten a').lightBox({fixedNavigation:true});
		$('#.productpics a').lightBox({fixedNavigation:true});
	} */
	if ($.fn.lightbox) {
		$('#projecten .lightbox').lightbox();
		$('#.productpics a').lightbox();
	}
	
	if (jQuery('#googleMap').length > 0) {
		jQuery('.dealers h2').css({ cursor: 'pointer'});
		if(GBrowserIsCompatible()) {
			map = new GMap2(jQuery('#googleMap')[0]);
			var customUI = map.getDefaultUI();		
			map.addControl(new GLargeMapControl3D());
			map.setCenter(new GLatLng(51.585897,5.048304),12);
			map.addControl(new GMapTypeControl());
			if(jQuery('#googleMap').hasClass("dealersmap")) { 
				KMLoverlays['pageDefault'] = load_KML('http://'+document.domain+'/xml/dealers.kml.php?'+$('#gmap-locatie-frm').serialize(),'pageDefault');
			} else {
// 				KMLoverlays['pageDefault'] = load_KML('http://'+document.domain+'/xml/route.kml.php','pageDefault');
				var alkuplus_square = new GIcon(G_DEFAULT_ICON);
				alkuplus_square.image = '/img/alku_icon2.png';
				alkuplus_square.iconSize = new GSize(32, 32);
				var latlng_alkuplus = new GLatLng(51.585897, 5.048304, 0.000000);
				var marker = new GMarker(latlng_alkuplus, { icon: alkuplus_square });
				map.setCenter(latlng_alkuplus,12);
				GEvent.addListener(marker, "click", function() {
        			marker.openInfoWindowHtml($(
					'<div style="margin-top:0px; font-size: 13px">'+
						'<div style="font-weight: bold; font-size: medium; margin-bottom: 0em">Alkuplus Ontdekkingscentrum</div>'+
						'Vul hier uw adres (straat, woonplaats) of postcode in.<br /><br />'+
						'<form id="gmap" action="http://maps.google.nl/maps" method="get" target="_blank">'+
						'<div style="vertical-align: middle;">'+
							'<input style="vertical-align: middle; margin-top: 1px;" type="text" size="20" maxlength="40" name="saddr" id="saddr" value="" class="text" />'+
							'<input style="vertical-align: middle;" value="Bereken route" type="submit" class="button" />'+
							'<input type="hidden" name="daddr" id="daddr" value="Zevenheuvelenweg 70,5048, Tilburg, Nederland" />'+
						'</div>'+
						'</form>'+
					'</div>')[0]);
      			});
		    	GEvent.trigger(marker, 'click');
		    	map.addOverlay(marker);
			}
		}
// 		$('#gmap-locatie-frm').submit(function(){
// // 			alert($('#gmap-locatie-frm').serialize());
// 			$.ajax({
// 				url: '/ajax/gmap_locatie.php',
// 				data: $('#gmap-locatie-frm').serialize(),
// 				dataType: 'json',
// 				success: function(data){
// 					if(data.success){
// 						map.setCenter(new GLatLng(data.lat,data.lng),14);
// 					} else {
// 						alert('Opgeven locatie kon niet worden gevonden.');
// 					}
// 				}
// 			});
// 			return false;
// 		});

	}
	
	// Colorpicker
	selected = $('img.colorpicker_large').attr('src');
	$("img.colorpicker").each(function(){
		if( selected == $(this).parent().attr('href') ) $(this).css('border-color','#000000');

		html = '<div class="rollover-title">' + $(this).parent().attr('title') + '</div>';
		$(this).parent().append( html );
		
		$(this).attr('alt','');
		$(this).parent().attr('title','');			
		
		if( selected == $(this).parent().attr('href') ) $(this).parent().find('div').fadeIn('fast');
		
	});
	
	$("img.colorpicker").mouseover(function(){
		$(this).css('border-color','#000000');
		$(this).parent().find('div').fadeIn('fast');			
	});
	$("img.colorpicker").mouseout(function(){
		if( $(this).parent().attr("href") != selected ) $(this).css('border-color','#cccccc');
		if( $(this).parent().attr("href") != selected ) $(this).parent().find('div').fadeOut('fast');
	});
	
	$("img.colorpicker").click(function(){
		$('img.colorpicker_large').attr('src', $(this).parent().attr("href"));
		selected = $(this).parent().attr("href");
		
		$('img.colorpicker').css('border-color','#cccccc');
		$('img.colorpicker').parent().find('div').each(function(){ if( $(this).parent().attr("href") != selected ) $(this).parent().find('div').fadeOut('fast'); });
  		$('img.colorpicker').parent().find('div').css('z-index','10');

		$(this).css('border-color','#000000');
		//$(this).parent().find('div').fadeIn('fast');
		$(this).parent().find('div').css('z-index','1');

		return false;
	});
	
	// Faq slide	
	
	$(".cat_content").hide();
	$(".cat_title").click(function(){
		$(this).next().slideToggle("fast");
		$(this).toggleClass('active');
	});
	
	if($(".cat_title").length > 0) {
		openCat = window.location.hash;
		$(openCat).next().slideToggle("fast");
		$(openCat).toggleClass('active');
	}
	
	startNumProducts = 1;
	$('#addproduct').click( function() {
		startNumProducts ++;
		var obj = $('#firstproduct').clone();
		$(obj).find('.delupload').hide();
		$(obj).find("input, textarea").val('');
		$(obj).find("select").attr({selected : '-1'});
		$(obj).find("input:file:not(:first)").remove();
		$(obj).find('.fieldproduct').attr({ name : 'producten['+startNumProducts+'][product]' });
		$(obj).find('.file').attr({ name : 'producten['+startNumProducts+'][]' });
		$(obj).find('.fieldbreedte').attr({ name : 'producten['+startNumProducts+'][breedte]' });
		$(obj).find('.fieldhoogte').attr({ name : 'producten['+startNumProducts+'][hoogte]' });
		$(obj).find('.fieldinformatie').attr({ name : 'producten['+startNumProducts+'][informatie]' });
		li = $(obj).find('ul').append($('<li class="remove-product"><label>&nbsp;</label><div><a href="#">Product verwijderen</a></div></li>'));
		li.find('.remove-product a').click(function(){
			obj.remove();
			return false;
		});
		$(obj).insertBefore("#formbuttons");
		return false;	
	})
	
	$('.addupload').live('click', function() {
/*
		extraFileUpload = $(this).siblings('input:first').clone();
		$(extraFileUpload).val('');
		$(extraFileUpload).insertAfter(this);
*/

		extraFileUpload = $(this).closest('span').clone(true);
		$(extraFileUpload).appendTo($(this).closest('div'));
		$(extraFileUpload).find('input').val('');
		$(extraFileUpload).find('.addupload').hide();
		$(extraFileUpload).find('.delupload').show();	
		return false;
	});
	
	$('.delupload').live('click', function() {
		$(this).closest('span').remove();
		return false;
	});
	
	
	
	$('#offerte-frm').submit(function(){
		var params = $('#offerte-frm').serialize();
		$('span.error').remove();

		$.ajax({
			url: '/ajax/validate_offerte.php',
// 			method : 'POST',
			dataType: 'json',
			data: params,
			success: function(data) {
				var errorcount = 0;
				$.each(data, function(index, value) { 
					$(':input[name='+index+']').parents('div:first').append($('<span class="error">'+value+'</span>'));
					errorcount++; 
				});
// 				alert(errorcount);
				if(errorcount == 0){
					$('#offerte-frm').unbind('submit');
					$('#offerte-frm').submit();
				}

				$.each(data.producten, function(index, product_errors) { 
					 var fieldset = $($('#offerte-frm .productfieldset')[index]);
					 $.each(product_errors, function(index, error) {
						 fieldset.find('label[for='+index+']').parents('li:first').find('div').append($('<span class="error">'+error+'</span>')); 
					 });
				});
		  	}
		});
		return false;
	});
});

// Submenu
//function initMenu() {
//	$('#submenu ul').hide();
//	$('#submenu li a').click(
//	  function() {
//	  	$(this).next().slideToggle('normal');
//	  	$(this).toggleClass('active')	  	
//	  }
//	 );
// }
//$(document).ready(function() {initMenu();});



// Showpointer
	function showPointer(){
		if(typeof $(this).find("a").attr("href") != 'undefined'){
			$(this).css("cursor", "pointer");
		}
	}
	
// Accordion functionality
	activeAccordion = 0;
	accordionAnimationTimeOut = 0;
	function init_Accordion() {
		if($("#accordion").length > 0) {
			$("#accordion").accordion();
		
			$("#accordion").bind('accordionchange', function(event, ui) {
					activeAccordion = ui.newHeader.prevAll('h3').length;
					$('#visual .vsl:eq('+ui.oldHeader.prevAll('h3').length+')').fadeOut(500);
					$('#visual .vsl:eq('+ui.newHeader.prevAll('h3').length+')').fadeIn(500);
				//	resetfocus();
				}).mouseout( 
					function() { accordionAnimationTimeOut = window.setTimeout(function() { accordionAnimation() }, 5000); }
				).mouseover( 
					function() { window.clearTimeout(accordionAnimationTimeOut);}
				);
			accordionAnimationTimeOut = window.setTimeout(function() { accordionAnimation() }, 5000); 
		}
	}

// Accordion Animation
	function accordionAnimation() {
		if(activeAccordion+1 < 5) { activeAccordion++; 	} else { activeAccordion = 0;	}
		$("#accordion").accordion( 'activate' , activeAccordion );
		accordionAnimationTimeOut = window.setTimeout(function() { accordionAnimation() }, 5000); 
	}

	
// Click entire div or li
	 function entireDivClick () {
	 if($(this).find("a").attr("target") == '_blank'){
	if(typeof $(this).find("a").attr("href") != 'undefined'){
	 window.open($(this).find("a").attr("href"));
	 }
	 }else{
	 if(typeof $(this).find("a").attr("href") != 'undefined'){
	 window.location = $(this).find("a").attr("href");
	 }
	 }
	 return false;
	 }

	 
	 $(document).ready(function(){

		$('input.file').focus(function(){
			if( $(this).val()){
				$(this).parent().next().removeClass('hidden');
			}
		}); 
	 }); 
	 
	

	 
var Map = null;
var geoXml =null;
var KML = null;
var KMLoverlays = new Array();
var KmlParams = null;

function load_KML(UrlOfKml,overlay) {
	if (UrlOfKml != null) {
		KML = UrlOfKml;
// 		alert(KML.indexOf('?'));
		var _KmlUrl = KML+(KML.indexOf('?') !== -1 ? '&' : '?' )+"d="+Math.random();
// 		setTimeout(function(){ if(confirm(_KmlUrl)) window.location = _KmlUrl }, 0);  
		return new GGeoXml(_KmlUrl,function() { _show_KmlOverlay(overlay) } );
	}
}

function set_KmlParams(params) {
	KmlParams = null;	 
	KmlParams = params;	 
}

function clear_KmlParams() {
	KMLoverlays = null;
	KMLoverlays  = new Array();
	KmlParams = null;	 
}
var ov = null;
function _show_KmlOverlay(overlay) {
	ov = KMLoverlays[overlay];
	
	if (KMLoverlays[overlay].loadedCorrectly()) { 
		map.addOverlay(KMLoverlays[overlay]);
		if(jQuery('#googleMap').hasClass("dealersmap")) { 
			map.setZoom(map.getBoundsZoomLevel(KMLoverlays[overlay].getDefaultBounds(), map.getSize())); 
			map.panTo(KMLoverlays[overlay].getDefaultCenter()); 
		}
// 		$(markers).each(function(i,marker){ 
// 		  	GEvent.addListener(marker,"click", function(){ 
// 		    	map.panTo(marker.getLatLng()); 
// 		  	}); 
// 		});
		GEvent.addListener(map, "infowindowopen", function() {
		    jQuery('#googleMap form').attr({target:"_blank"});
		});

	}  else {
		window.setTimeout(_show_KmlOverlay(overlay), 1000);
	}
}

// remove googlemap Overlays
function _remove_KmlOverlays() {
	map.clearOverlays();
}

function centerMap(lat, lng) {
	map.setCenter(new GLatLng(lat, lng), defaultZoomLevel);
} 

