File: /var/www/delta/wp-content/plugins/sitepress-multilingual-cms/res/js/taxonomy-translation/main.js
/*globals ajaxurl, jQuery, document, window, WPML_core, wpml_taxonomies */
var TaxonomyTranslation = TaxonomyTranslation || {};
TaxonomyTranslation.classes = {
	instantiatedTermModels : {}
};
TaxonomyTranslation.models = {};
TaxonomyTranslation.collections = {};
TaxonomyTranslation.views = {};
TaxonomyTranslation.mainView = {};
TaxonomyTranslation.mainView.filterView = {};
TaxonomyTranslation.data = {};
TaxonomyTranslation.data.translatedTaxonomyLabels = {};
TaxonomyTranslation.data.compiledTemplates = {};
TaxonomyTranslation.data.syncData = {};
/* WCML compatibility */
WPML_Translate_taxonomy = {};
WPML_Translate_taxonomy.callbacks = jQuery.Callbacks();
(function () {
    "use strict";
    jQuery(function () {
        var loading = jQuery('.wpml_taxonomy_loading .spinner');
        if (loading.length) {
            loading.css({
                            'visibility': 'visible',
                            'float'     : 'left'
                        });
            loading.show();
        }
        jQuery('.icl_tt_main_bottom').hide();
		TaxonomyTranslation.data.activeLanguages = wpml_taxonomies.activeLanguages;
		TaxonomyTranslation.data.allLanguages = wpml_taxonomies.allLanguages;
		TaxonomyTranslation.data.taxonomies = wpml_taxonomies.taxonomies;
		TaxonomyTranslation.util.init();
		var headerHTML = WPML_core[ 'templates/taxonomy-translation/main.html' ]({taxonomies: TaxonomyTranslation.data.taxonomies});
		jQuery("#wpml_tt_taxonomy_translation_wrap").html(headerHTML);
		// WCML compatibility
		var taxonomySwitcher = jQuery("#icl_tt_tax_switch");
		var potentialHiddenSelectInput = jQuery('#tax-selector-hidden');
		var potentialHiddenTaxInput = jQuery('#tax-preselected');
		var taxonomy;
		
		if (potentialHiddenSelectInput.length !== 0 && potentialHiddenSelectInput.val() && potentialHiddenTaxInput.length !== 0 && potentialHiddenTaxInput.val()) {
			taxonomy = potentialHiddenTaxInput.val();
			taxonomySwitcher.closest('label').hide();
			jQuery('[id="term-table-header"]').hide();
			jQuery('[id="term-table-summary"]').hide();
			taxonomySwitcher.val(taxonomy);
			loadModelAndView(taxonomy);
			TaxonomyTranslation.mainView.showLoadingSpinner();
		} else if ((taxonomy = taxonomyFromLocation()) !== false) {
			taxonomySwitcher.val(taxonomy);
			switchToTaxonomy(taxonomy);
		} else {
			taxonomySwitcher.one("change", function () {
				switchToTaxonomy(jQuery(this).val());
			});
		}
		function switchToTaxonomy(taxonomy){
			
			loadModelAndView(taxonomy);
			TaxonomyTranslation.mainView.showLoadingSpinner();
			jQuery("#icl_tt_tax_switch").on("change", function () {
				TaxonomyTranslation.mainView.showLoadingSpinner();
				jQuery('.icl_tt_main_bottom').hide();
				jQuery('#taxonomy-translation').html('');
				TaxonomyTranslation.mainView.selectTaxonomy();
			});
		}
		function isSyncTab(){
			return  window.location.search.substring(1).indexOf('&sync=1') > -1;
		}
		function loadModelAndView(taxonomy){
			TaxonomyTranslation.classes.taxonomy = new TaxonomyTranslation.models.Taxonomy({taxonomy: taxonomy});
			TaxonomyTranslation.mainView = new TaxonomyTranslation.views.TaxonomyView({model: TaxonomyTranslation.classes.taxonomy}, {sync: isSyncTab()});
		}
		function taxonomyFromLocation() {
			var queryString = window.location.search.substring(1);
			var taxonomy = false;
			Object.getOwnPropertyNames(TaxonomyTranslation.data.taxonomies).forEach(function (tax) {
				if (queryString.indexOf('taxonomy=' + tax) > -1) {
					taxonomy = tax;
				}
			});
			return taxonomy;
		}
	});
})(TaxonomyTranslation);