$(document).ready(function() {
	// auto-update IS products and IS product options depending on the IS category chosen
	$('#is_category').change(function() {
		var selected_is_category_id = $(this).val();

		if ((selected_is_category_id > 0) && (is_options[selected_is_category_id] != undefined)) {

			$('#is_category_products').empty();

			// update IS products list
			for (var is_product_id in is_options[selected_is_category_id]) {
				if (is_products[is_product_id] != undefined) {
					$('#is_category_products').append('<option value="' + is_product_id + '">' + is_products[is_product_id]['product_title'] + '</option>');
				}
			}

			$('#is_category_products_box').show();
			$('#is_category_products').change();

			if (!first_load) {
				$('#is_category_descr').fadeTo(700, 0.1);

				// send request to retrieve a description for the selected IS category
				$.post(
					'/ajax_request.php',
					{
						ajax_mode: 'is_category_description',
						is_category_id: selected_is_category_id
					},
					function(data) {
						$('#is_category_descr').html(data);
						$('#is_category_descr').fadeTo(700, 1);
						//DD_belatedPNG.fix('.pngfix');
					}
				);
			}
		}
		else {
			$('#is_category_products').empty();
			$('#is_product_options').empty();

			$('#is_category_products_box').hide();
			$('#is_product_options_box').hide();
		}
	});

	// auto-update IS product options depending on the IS product chosen
	$('#is_category_products').change(function() {
		var selected_is_category_id = $('#is_category').val();
		var selected_is_product_id = $(this).val();

		if ((selected_is_category_id > 0) && (selected_is_product_id > 0) && (is_options[selected_is_category_id][selected_is_product_id] != undefined)) {

			if (is_options[selected_is_category_id][selected_is_product_id] == '') {
				// selected IS product has no options
				$('#is_product_options').empty();
				$('#is_product_options_box').hide();
			}
			else {
				// update product options list
				$('#is_product_options').empty();

				for (var curr_opt in is_options[selected_is_category_id][selected_is_product_id]['options']) {
					$('#is_product_options').append('<option value="' + curr_opt + '">' + is_options[selected_is_category_id][selected_is_product_id]['options'][curr_opt] + '</option>');
				}

				// update options list label
				var options_list_label = '';
				if (is_categories[selected_is_category_id]['is_category_label'] != undefined) {
					options_list_label = is_categories[selected_is_category_id]['is_category_label'];
				}
				$('#is_product_options_label').html(options_list_label);

				$('#is_product_options_box').show();
			}

			// update product price
			if (is_products[selected_is_product_id] != undefined) {
				$('#product_price').html(price_format(Math.max(is_products[selected_is_product_id]['taxed_price'], 0)));
			}

			// update artist retail price (if required)
			if ($('#product_artist_retail_price') && (is_products[selected_is_product_id]['artist_retail_price'] != undefined)) {
				$('#product_artist_retail_price').html(price_format(is_products[selected_is_product_id]['artist_retail_price']));
			}

			// update cropper parameters
			if ((typeof(cropBox) != 'undefined') && (is_products[selected_is_product_id]['crop']['zoom'] != '')) {
				var crop_data = is_products[selected_is_product_id]['crop'];

				cropBox.settings.zoom = crop_data['zoom'];
				cropBox.settings.left = crop_data['left'];
				cropBox.settings.top = crop_data['top'];
				cropBox.settings.frame_params = crop_data['frame_params'];
				cropBox.settings.maskURL = crop_data['maskURL'];

				cropBox.reBuild();
			}
		}
		else {
			$('#is_product_options').empty();
			$('#is_product_options_box').hide();
		}
	});

	// force IS products list initialization
	if (typeof(selected_is_options) != 'undefined') {
		if ((selected_is_options['is_category_id'] != undefined) && (selected_is_options['is_category_id'] > 0)) {
			$("#is_category option[value='" + selected_is_options['is_category_id'] + "']").attr('selected', true);
		}
	}

	var first_load = true;

	$('#is_category').change();

	first_load = false;

	if (typeof(selected_is_options) != 'undefined') {
		if ((selected_is_options['is_product_id'] != undefined) && (selected_is_options['is_product_id'] > 0)) {
			$("#is_category_products option[value='" + selected_is_options['is_product_id'] + "']").attr('selected', true);
			$('#is_category_products').change();

			if ((selected_is_options['is_option_num'] != undefined) && (selected_is_options['is_option_num'] > 0)) {
				$("#is_product_options option[value='" + selected_is_options['is_option_num'] + "']").attr('selected', true);
			}
		}
	}

});
