$(function(){
	
	//$('img[data-hover],input[data-hover]').imghover();

	$('input[data-placeholder]').inputPlaceholder();

	$('form.select input:submit').hide().parent('form').find('select').change(function(){
		this.form.submit();
	});

    $('a[rel="back"]').click(function(e){
        e.preventDefault();
        history.go(-1);
        return false;
    });

	$('#cases').slideselect();

    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    // training formulier helpers

	$('form.default input[type!=submit], form.default select, form.default textarea')
        .not('fieldset.etc *')
        .focus(function(){
            $(this).closest('li').addClass('active');
        }).blur(function(){
            $(this).closest('li').removeClass('active');
        });

	/**
		Bij foutmelding, span gewoon niet weergeven, dan is dat formulierdeel zichtbaar. Toggle is eenmalig.
	 */
	$('form.default span.toggle').each(function(){
		var id = $(this).data('toggle');
		$(this).show();
		$('#'+id).hide();
		$(this).find('span').click(function(){
			$('#'+id).show();
			$(this).parent('span').hide();
		});
	});

    function setActive(stepId){
        $('#step1, #step2, #step3, #step4')
                .filter(stepId).show().end()
                .not(stepId).hide();
        $('ul.steps span')
                .removeClass('active')
                .eq(parseInt(stepId.match(/\d+$/)[0]) -1)
                .addClass('active');
    }

    var activate = location.hash;
    if(activate.match(/step[123]/)) {
        setActive(activate);
    } else if($('form#subscribe').attr('data-active')) {
        setActive($('form#subscribe').attr('data-active'))
    } else {
        setActive('#step1');
    }

    var toggle = ['hide', 'toggle'];
    $('a.previous, a.next').each(function(i, a){
        $(a).click(function(e) {
            var stepId = $(this).attr('href').replace(/[^#]*/, '');
            setActive(stepId);
        });
    });
    var fnTrainingIdChanged = function(){
        $('#li_followed_training_id')[toggle[$(this).val() == 1 && this.checked ? 1 : 0]]();
    };
    $('input[name=has_followed_training_before]').click(fnTrainingIdChanged).each(fnTrainingIdChanged);
    var fnTrainingIsOther = function() {
        $('#li_followed_training_other')[toggle[$(this).val() == 'other' ? 1 : 0]]();
    };
    $('#followed_training_id').change(fnTrainingIsOther).each(fnTrainingIsOther);
    var fnTrackingIsOther = function() {
        $('#li_tracking_other')[toggle[$(this).val().substr(0, 5) == 'other' ? 1 : 0]]();
    };
    $('#tracking').change(fnTrackingIsOther).each(fnTrackingIsOther);
    toggle = ['slideUp', 'slideDown'];

    $('form[name=subscribe]').each(function(i, form) {
        $(form).attr('data-original-action', $(form).attr('action'));
        $(form).attr('data-original-target', $(form).attr('target'));
        $('fieldset.confirm', form).hide();
        $('input[type=submit]', form).each(function(i, input) {
            $(this).click(function(evt) {
                if($(input).attr('data-action')) {
                    $(form).attr('action', $(input).attr('data-action'));
                } else {
                    $(form).attr('action', $(form).attr('data-original-action'));
                }
                if($(input).attr('data-target')) {
                    $(form).attr('target', $(input).attr('data-target'));
                } else {
                    $(form).attr('target', $(form).attr('data-original-target'));
                }
            });
        });
    });

    $('body.home a[rel^=shadowbox], div.sphere a[rel^=shadowbox]').each(function() {
        $(this).click(function(){
            var params = $(this).attr('rel').replace(/^shadowbox\s*;/, '');
            var options = {
                content: $(this).attr('href'),
                player: 'iframe'
            };
            $.each(params.split(/;/), function(i, part){
                var kv = part.split('=');
                options[kv[0]] = kv[1];
            });
            Shadowbox.open(options);
            return false;
        });
    });

    $("#vat-help").hide();
    $("#vat-help-icon").show().mouseover(function(e) {
        $("#vat-help").show();
    }).mouseout(function(e) {
        $("#vat-help").hide();
    });

    // initialize google maps
    if($('div.google-map-detail').length > 0) {

        $('div.google-map-detail').each(function(i, element){
            element = $(element);

            var myOptions = {
                'zoom': 15,
                'center': new google.maps.LatLng(element.attr('data-cntLat'),element.attr('data-cntLng')),
                'panControl': false,
                'zoomControl': true,
                'mapTypeControl': false,
                'scaleControl': false,
                'streetViewControl': false,
                'overviewMapControl': false,
                'mapTypeId': google.maps.MapTypeId.ROADMAP
            };

            var latlng          = new google.maps.LatLng(element.attr('data-lat'),element.attr('data-lng'));
            var MarkerTitles    = element.attr('id');
            var contentString   = $('div.content', element).html();
            var map		        = new google.maps.Map(document.getElementById(element.attr('id')), myOptions);
            var marker	        = new google.maps.Marker({ position: latlng, map: map, title: MarkerTitles});
            var infowindow      = new google.maps.InfoWindow({ content: contentString });
            infowindow.open(map,marker);
        });
    }
});

