<?php
$ajax_nonce = wp_create_nonce( "intense-plugin-noonce" );
?>
<script>
	jQuery(function($) {
		var $ = jQuery;
		
		$(".timelinesettings").hide();
		$(".subtlesettings").hide();
		$(".wpsettings").show();
		$('.woocommerce').hide();
		$('.listtitlesettings').hide();

		$("#template").change(function() {
			var template = $(this).val();

			$(".wpsettings").hide();
			$(".timelinesettings").hide();

			if (/timeline/i.test(template)) {
				$(".timelinesettings").show();
			} else {
				$(".wpsettings").show();
			}

			setupTemplateImage();
		});

		$("input:checkbox[name ='infinite_scroll']").change(function() {
			if ( jQuery('#infinite_scroll').is(':checked') ) {
				$("#show_filter").attr('checked', false);
				$("#show_filter").attr('disabled', true);
				$("#show_all").attr('checked', false);
				$("#show_all").attr('disabled', true);
				$(".filtersettings").hide();
			} else {
				$("#show_filter").attr('checked', true);
				$("#show_filter").removeAttr("disabled");
				$("#show_all").removeAttr("disabled");
				$(".filtersettings").show();
			}
		});

		$("input:checkbox[name ='show_filter']").change(function() {
			if ( jQuery('#show_filter').is(':checked') ) {
				$(".filtersettings").show();
			} else {
				$(".filtersettings").hide();
			}
		});

		$("input:checkbox[name ='show_list_title']").change(function() {
			if ( jQuery('#show_list_title').is(':checked') ) {
				$(".listtitlesettings").show();
			} else {
				$(".listtitlesettings").hide();
			}
		});

		$('#post_type').change(function() {
			setupLists();
			setupOrderBy();
		});

		$('#taxonomy').change(function() {
			setupCategory();
		});

		$('#hover_effect_type').change(function() {
			var value = $(this).val();

			$('.effecktsettings').hide();
			$('.subtlesettings').hide();

			switch(value) {
				case 'effeckt':
					$('.effecktsettings').show();
					break;
				case 'subtle':
					$('.subtlesettings').show();
					break;
			}
		});

		setupLists();
		setupCategory();
		setupOrderBy();

		function setupLists() {
			$("#taxonomy").empty();
			$("#categories").empty();
			$("#exclude_categories").empty();
			$("#template").empty();
			$("#template_link").empty();

			if ( $("#post_type").val() == 'product') {
				$('.woocommerce').show();			
			} else {
				$('.woocommerce').hide();
			}

			if ( $("#post_type").val() != '' ) {
				var $loader = $('<img class="loader" src="<?php echo INTENSE_PLUGIN_URL; ?>/assets/img/loader.gif" style="margin-left: -105px; margin-top: 5px; position: absolute;" />');
				var $loader2 = $loader.clone();
				var $loader3 = $loader.clone();

				$("#taxonomy").after($loader);
				$("#template").after($loader2);
				$("#template_link").after($loader3);

				$.ajax({
					type: "POST",
					url: ajaxurl + '?action=intense_generic_post_action',
					data: {
						security: '<?php echo $ajax_nonce; ?>',
						postType: $("#post_type").val(),
						postTaxonomy: $("#taxonomy").val()
				 	}
				}).done(function (data) {
					var results = jQuery.parseJSON(data);
					var templates = results.templates;
					var taxonomies = results.taxonomies;
					var links = results.links;

					$.each(taxonomies, function(index, taxonomy) {
						$("#taxonomy").append('<option value="' + taxonomy.key + '">' + taxonomy.value + '</option>');
					});

					setupCategory();

					$.each(templates, function(index, template) {						
						$("#template").append('<option value="' + template.key + '">' + template.value + '</option>');
					});

					$("#template").data('templates', templates);

					setupTemplateImage();

					$.each(links, function(index, link) {
						$("#template_link").append('<option value="' + link.key + '">' + link.value + '</option>');
					});

					$("#template_link").val('single');

					$loader.remove();
					$loader2.remove();
					$loader3.remove();
				});
			}
		}

		function setupTemplateImage() {
			var template = $('#template').val();
			var templates = $('#template').data('templates');
			var template_image_src = '';

			$.each(templates, function(i,e) {
				if ( typeof( e.image ) != 'undefined' && e.image && template == e.key ) {
					template_image_src = e.image;
				}
			});

			$(".template-image").remove();

			if ( template_image_src !== '' ) {
				$template_image = $('<img class="template-image">');
				$('#template').after($template_image);
				$template_image.attr('src', template_image_src).css('display', 'block').css("max-width", '100%');
			} 
		}

		function setupCategory() {
			$("#categories").empty();

			if ( $("#taxonomy").val() !== null && $("#taxonomy").val().length ) {
				var $loader = $('<img class="loader" src="<?php echo INTENSE_PLUGIN_URL; ?>/assets/img/loader.gif" style="margin-left: -105px; margin-top: 35px; position: absolute;" />');
				var $loader2 = $loader.clone();

				$("#categories").after($loader);
				$("#exclude_categories").after($loader2);

				$.ajax({
					type: "POST",
					url: ajaxurl + '?action=intense_generic_post_action',
					data: {
						security: '<?php echo $ajax_nonce; ?>',
						postType: $("#post_type").val(),
						postTaxonomy: $("#taxonomy").val()
				 	}
				}).done(function (data) {
					var results = jQuery.parseJSON(data);
					var categories = results.categories;

					$.each(categories, function(index, category) {
						$("#categories").append('<option value="' + category.key + '">' + category.value + '</option>');
						$("#exclude_categories").append('<option value="' + category.key + '">' + category.value + '</option>');
					});

					$loader.remove();
					$loader2.remove();
				});
			}
		}

		function setupOrderBy() {
			$("#order_by option[value='start_date']").hide();
			$("#order_by option[value='end_date']").hide();
			$("#order_by option[value='release_date']").hide();
			$("#order_by option[value='post_date']").hide();
			$("#order_by option[value='expire_date']").hide();
			$("#order_by option[value='theatrical_release']").hide();
			$("#order_by option[value='dvd_release']").hide();
			$("#order_by option[value='news_date']").hide();

			if ( $("#post_type").val() == 'intense_events' || $("#post_type").val() == 'intense_coupons') {
				$("#order_by option[value='start_date']").show();
				$("#order_by option[value='end_date']").show();
			} else if ( $("#post_type").val() == 'intense_books' || $("#post_type").val() == 'intense_music' ) {
				$("#order_by option[value='release_date']").show();
			} else if ( $("#post_type").val() == 'intense_jobs' ) {
				$("#order_by option[value='post_date']").show();
				$("#order_by option[value='expire_date']").show();
			} else if ( $("#post_type").val() == 'intense_movies' ) {
				$("#order_by option[value='theatrical_release']").show();
				$("#order_by option[value='dvd_release']").show();
			} else if ( $("#post_type").val() == 'intense_news' ) {
				$("#order_by option[value='news_date']").show();
			}
		}
	});
</script>