$(document).ready(function(){
	//Fancybox
	$("a#single_image").fancybox();
	
	//Links with the class external will open in a new window, to get the code valid in xhtml-strict
	$(".external").attr("target","_blank");
	$("a[href^='http:']:not([href*='" + window.location.host + "'][target='_blank'])").live('click', function(){
        $(this).attr('target','_blank');
    });
	//Mailme - Email Spam Protector
    var at = / at /;
    var dot = / dot /g;
    $('span.mailme').each( function() {
        var addr = jQuery(this).text().replace(at,"@").replace(dot,".");
        $(this)
            .after('<a href="mailto:'+addr+'" class="mailme">'+ addr +'</a>')
            .remove();
    });
	
	//Validate - Validation of forms
	$("#contactform").validate({
		rules: {
			captcha: {
				required: true,
				remote: "exe/captcha/process.php"
			}
		},
		onkeyup: false
	});
	
	///preview website
	var pathname = $(location).attr('href');
	if (pathname.toLowerCase().indexOf("?preview") >= 0) {
		$('a').each( function() {
			var href = $(this).attr('href');
			if (href && href.indexOf("#") != 0)
				$(this).attr('href', href + '?preview');
		});
	}
	
	//Initialiseer Slider
	$('#coda-slider-1').codaSlider({
		dynamicArrows: false,
		panelTitleSelector: 'h3'

	});
	
	//Get the current tab image and header title
	var curtab = $('#coda-slider-1 .panel-container').css('margin-left');
	if(curtab && curtab != '0px')
	{
		curtab = curtab.replace("px", "");
		curtab = curtab.replace("-", "");
		curtab = curtab / 600;
		var page_id = $('.panel:eq('+curtab+') .page_id').html();
	}
	else
	{
		var page_id = $('.page_id').html();
	}
	
	showPictureDescription(page_id);
	
	///Homepage Jquery
		$(".slideshow").show();
		$(".home_content").show();
		
		//Show slideshows
		$("#pikame_keukens").PikaChoose();
		$("#pikame_badmeubels").PikaChoose();
		$("#pikame_boretti").PikaChoose();
			
		doAccordion();
		
		$("#content_home_bar").click(function() {
			$(".accordionTitle").animateToClass("middle", 750);
			$("#content_home_bar").fadeOut();
			$(".accordion:visible").hide(750, function() {
				$(".accordionTitle").removeClass("small");
				$(".accordionTitle").addClass("middle");
				$("#content_home").fadeIn();
				var page_id = $('.page_id:first').text();
				showDescription(page_id);
				$('.content_home_scroll').jScrollPane({showArrows:true, verticalArrowPositions: 'before', scrollbarWidth:16});
				
			});
		});
		
		if(window.location.hash){
			var hash = window.location.hash;
			hash = hash.replace("#", "");
			$('#xtrig_'+hash).addClass('current');
			hash = hash - 1;
			$('.accordionTitle:eq('+hash+')').click();
			$('#coda-nav-1 ul .tab'+hash).click();			
		}
		else
		{
			$('#xtrig_1').addClass('current');
		}
		
	$('.content_home_scroll').jScrollPane({showArrows:true, verticalArrowPositions: 'before', scrollbarWidth:16});
	
	//Slider nav click add class
	$('.xtrig').live('click', function() {
		$('.xtrig').removeClass('current');
		$(this).addClass('current');
		var page_id = $(this).attr('page_id');
		showPictureDescription(page_id);
	});
	
});

function doAccordion()
{
	var elementToTransform = ".accordion";
	var accordionTitleCass = "accordionTitle";
	var currentClass = ".currentAccordionPanel";
	var textRotatePath = "path/to/rotateText.php";
	var bgColor = "72A8CF";
	var fontColor = "FFFFFF";
	
	$(elementToTransform).each(function() {
		$(this).after('<div class="accordionTitle '+jQuery(this).attr("id")+' middle"><div class="bar_homepage"><img src="images/'+jQuery(this).attr("id")+'.jpg" alt="'+jQuery(this).attr("title")+'" /></div>');
	});
	$(".bar_home_keukens").css('opacity',0.7);
	$(elementToTransform).hide();
	$(currentClass).show();
	disableAccordion = false;
	
	$("."+accordionTitleCass).click(function() {
		var cur_class = $(this).attr('class');
		var patt=/middle/gi;
		if(cur_class.match(patt) && ($('.small').length == 2 || $('.small').length == 1))
		{
			$(".accordionTitle").animateToClass("middle", 750);
			$("#content_home_bar").fadeOut();
			$(elementToTransform+":visible").hide(750, function() {
				$(".accordionTitle").removeClass("small");
				$(".accordionTitle").addClass("middle");
				$("#content_home").fadeIn();
				$('.content_home_scroll').jScrollPane({showArrows:true, verticalArrowPositions: 'before', scrollbarWidth:16});
				var page_id = $('.page_id:first').text();
				showDescription(page_id);
			});
			
		}
		else
		{
			$(".accordionTitle").animateToClass("small", 750);
			$(".accordionTitle").removeClass("middle");
			$(".accordionTitle").addClass("small");
			$(this).animateToClass("middle", 750);
			$(this).removeClass("small");
			$(this).addClass("middle");
			$("#content_home").hide();	
			$("#content_home_bar").fadeIn();
			
			if(disableAccordion != true) {
				disableAccordion = true;
				$(elementToTransform+":visible").hide(750);
				
				cur_class = cur_class
				cur_class = cur_class.replace("accordionTitle ", "");
				cur_class = cur_class.replace(" middle", "");
				cur_class = cur_class.replace(" small", "");
				var page_id = $('#'+cur_class).find('.page_id').text();
				
				$(this).prev(elementToTransform).show(750, function() {
					showDescription(page_id);
					disableAccordion = false;
					$('.home_content_scroll:visible').jScrollPane({showArrows:true, verticalArrowPositions: 'before', scrollbarWidth:16});
				});
			}
		}
	})
}

function showPictureDescription(id)
{
	var page_id = id;
	var page_description = $('#page_description_'+page_id).html();
	if(page_description)
	{
		var descr = page_description.split(' - ');
		$('#header h2').html(descr[0]);
		if(descr[1])
			$('#header h2').append('<br /><span>'+descr[1]+'</span>');
	}
	else
	{
		$('#header h2').html('De laagste prijs voor kwaliteit<br /><span>5 jaar garantie op de keukenmeubelen</span>');
	}
	
	var picture = $('#picture_'+page_id+' img').attr('src');
	if(picture)
	{
		$('#map').fadeOut();
		$('#picture img').fadeOut(500, 
				function(){
					$('#picture img').attr('src',picture);
					$('#picture img').fadeIn();
				}
		);
	}
	else
	{
		if($('#map_'+page_id).length != 0)
		{
			if($.trim($("#map").text()) == "")
				getMap();
			
			$('#map').fadeIn();
			$('#picture img').fadeOut();
		}
		else
		{
			$('#map').fadeOut();
			$('#picture img').fadeOut(500, 
					function(){
						$('#picture img').fadeIn();
					}
			);
		}
	}
}

function showDescription(id)
{
	var page_id = id;
	var page_description = $('#page_description_'+page_id).html();
	if(page_description)
	{
		var descr = page_description.split(' - ');
		$('#header h2').html(descr[0]);
		if(descr[1])
			$('#header h2').append('<br /><span>'+descr[1]+'</span>');
	}
	else
	{
		$('#header h2').html('De laagste prijs voor kwaliteit<br /><span>5 jaar garantie op de keukenmeubelen</span>');
	}	
}

function getMap()
{
	$.ajax({
		type: "GET",
		url: "exe/getaddress.php",
		dataType: "html",
		error: function(){
			alert('Error loading map.');
		},
		success: function(data){
            var address = $(data).filter('#address').html();
            var googlelink = $(data).filter('#googlelink').html();
			
			$("#map").gMap({
				markers: [
					{
						address: address,
						popup: false
					}
				],
				zoom: 14,
				scrollwheel:false,
				zoomControl:false,
				onComplete: function() {
					var data = $('#map').data('gmap');
					google.maps.event.addListener(data.markers[0], 'click', function() {
						window.open( googlelink );
        				return false;
					});
				}
			});
		}
	});
}

function refreshimg()
	{
		$.post('exe/captcha/newsession.php');
		$("#captchaimage").load('exe/captcha/image_req.php');
		return false;
	}
