/* global jQuery */
/* global wp */
function electromix_media_upload(button_class) {
    'use strict';
    jQuery('body').on('click', button_class, function () {
        var button_id = '#' + jQuery(this).attr('id');
        var display_field = jQuery(this).parent().children('input:text');
        var _custom_media = true;

        wp.media.editor.send.attachment = function (props, attachment) {

            if (_custom_media) {
                if (typeof display_field !== 'undefined') {
                    switch (props.size) {
                        case 'full':
                            display_field.val(attachment.sizes.full.url);
                            display_field.trigger('change');
                            break;
                        case 'medium':
                            display_field.val(attachment.sizes.medium.url);
                            display_field.trigger('change');
                            break;
                        case 'thumbnail':
                            display_field.val(attachment.sizes.thumbnail.url);
                            display_field.trigger('change');
                            break;
                        default:
                            display_field.val(attachment.url);
                            display_field.trigger('change');
                    }
                }
                _custom_media = false;
            } else {
                return wp.media.editor.send.attachment(button_id, [props, attachment]);
            }
        };
        wp.media.editor.open(button_class);
        window.send_to_editor = function (html) {

        };
        return false;
    });
}

/********************************************
 *** Generate unique id ***
 *********************************************/
function electromix_customizer_repeater_uniqid(prefix, more_entropy) {
    'use strict';
    if (typeof prefix === 'undefined') {
        prefix = '';
    }

    var retId;
    var php_js;
    var formatSeed = function (seed, reqWidth) {
        seed = parseInt(seed, 10)
            .toString(16); // to hex str
        if (reqWidth < seed.length) { // so long we split
            return seed.slice(seed.length - reqWidth);
        }
        if (reqWidth > seed.length) { // so short we pad
            return new Array(1 + (reqWidth - seed.length))
                .join('0') + seed;
        }
        return seed;
    };

    // BEGIN REDUNDANT
    if (!php_js) {
        php_js = {};
    }
    // END REDUNDANT
    if (!php_js.uniqidSeed) { // init seed with big random int
        php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15);
    }
    php_js.uniqidSeed++;

    retId = prefix; // start with prefix, add current milliseconds hex string
    retId += formatSeed(parseInt(new Date()
        .getTime() / 1000, 10), 8);
    retId += formatSeed(php_js.uniqidSeed, 5); // add seed hex string
    if (more_entropy) {
        // for more entropy we add a float lower to 10
        retId += (Math.random() * 10)
            .toFixed(8)
            .toString();
    }

    return retId;
}


/********************************************
 *** General Repeater ***
 *********************************************/
function electromix_customizer_repeater_refresh_social_icons(th) {
    'use strict';
    var icons_repeater_values = [];
    th.find('.customizer-repeater-social-repeater-container').each(function () {
        var icon = jQuery(this).find('.icp').val();
        var title = jQuery(this).find('.customizer-repeater-social-repeater-title').val();
        var subtitle = jQuery(this).find('.customizer-repeater-social-repeater-subtitle').val();
        var link = jQuery(this).find('.customizer-repeater-social-repeater-link').val();
        var id = jQuery(this).find('.customizer-repeater-social-repeater-id').val();

        if (!id) {
            id = 'customizer-repeater-social-repeater-' + electromix_customizer_repeater_uniqid();
            jQuery(this).find('.customizer-repeater-social-repeater-id').val(id);
        }

        if (( icon !== '' || title !=='' || subtitle !=='' ) && (link !== '' || title !=='' || subtitle !=='' )) {
            icons_repeater_values.push({
                'icon': icon,
                'title': title,
                'subtitle': subtitle,
                'link': link,
                'id': id
            });
        }
    });

    th.find('.social-repeater-socials-repeater-colector').val(JSON.stringify(icons_repeater_values));
    electromix_customizer_repeater_refresh_general_control_values();
}


function electromix_customizer_repeater_refresh_general_control_values() {
    'use strict';
    jQuery('.customizer-repeater-general-control-repeater').each(function () {
        var values = [];
        var th = jQuery(this);
        th.find('.customizer-repeater-general-control-repeater-container').each(function () {

            var icon_value = jQuery(this).find('.icp').val();
            var text = jQuery(this).find('.customizer-repeater-text-control').val();
            var link = jQuery(this).find('.customizer-repeater-link-control').val();
            var text2 = jQuery(this).find('.customizer-repeater-text2-control').val();
            var link2 = jQuery(this).find('.customizer-repeater-link2-control').val();
            var text3 = jQuery(this).find('.customizer-repeater-text3-control').val();
            var link3 = jQuery(this).find('.customizer-repeater-link3-control').val();
            var text4 = jQuery(this).find('.customizer-repeater-text4-control').val();
            var link4 = jQuery(this).find('.customizer-repeater-link4-control').val();
            var text5 = jQuery(this).find('.customizer-repeater-text5-control').val();
            var link5 = jQuery(this).find('.customizer-repeater-link5-control').val();
            var text6 = jQuery(this).find('.customizer-repeater-text6-control').val();
            var link6 = jQuery(this).find('.customizer-repeater-link6-control').val();
            var text7 = jQuery(this).find('.customizer-repeater-text7-control').val();
            var link7 = jQuery(this).find('.customizer-repeater-link7-control').val();
            var color = jQuery(this).find('input.customizer-repeater-color-control').val();
            var color2 = jQuery(this).find('input.customizer-repeater-color2-control').val();
            var color3 = jQuery(this).find('input.customizer-repeater-color3-control').val();
            var image_url = jQuery(this).find('.custom-media-url').val();
            var image_url2 = jQuery(this).find('.custom-media-url2').val();
            var image_url3 = jQuery(this).find('.custom-media-url3').val();
            var choice = jQuery(this).find('.customizer-repeater-image-choice').val();
            var title = jQuery(this).find('.customizer-repeater-title-control').val();
            var subtitle = jQuery(this).find('.customizer-repeater-subtitle-control').val();
			var subtitle2 = jQuery(this).find('.customizer-repeater-subtitle2-control').val();			
			var subtitle3 = jQuery(this).find('.customizer-repeater-subtitle3-control').val();			
			var subtitle4 = jQuery(this).find('.customizer-repeater-subtitle4-control').val();			
			var button_text = jQuery(this).find('.customizer-repeater-button-text-control').val();
			var button_link = jQuery(this).find('.customizer-repeater-button-link-control').val();
			var button2_text = jQuery(this).find('.customizer-repeater-button2-text-control').val();
			var button2_link = jQuery(this).find('.customizer-repeater-button2-link-control').val();
			var description = jQuery(this).find('.customizer-repeater-description-control').val();
			var description2 = jQuery(this).find('.customizer-repeater-description2-control').val();
			var slide_align = jQuery(this).find('.customizer-repeater-slide-align').val();
			var enable = jQuery(this).find('.customizer-repeater-checkbox-enable').is(":checked") ? 'yes' : 'no';
			var enable2 = jQuery(this).find('.customizer-repeater-checkbox-enable2').is(":checked") ? 'yes' : 'no';
			var newtab = jQuery(this).find('.customizer-repeater-checkbox-newtab').is(":checked") ? 'yes' : 'no';
			var nofollow = jQuery(this).find('.customizer-repeater-checkbox-nofollow').is(":checked") ? 'yes' : 'no';
            var id = jQuery(this).find('.social-repeater-box-id').val();
            if (!id) {
                id = 'social-repeater-' + electromix_customizer_repeater_uniqid();
                jQuery(this).find('.social-repeater-box-id').val(id);
            }
            var social_repeater = jQuery(this).find('.social-repeater-socials-repeater-colector').val();
            var shortcode = jQuery(this).find('.customizer-repeater-shortcode-control').val();

            if (text !== '' || text2 !== '' || text3 !== '' || text4 !== '' || text5 !== '' || text6!== '' || text7 !== '' || image_url !== '' || image_url2 !== '' || image_url3 !== '' || title !== '' || subtitle !== '' || subtitle2 !== ''|| subtitle3 !== '' || subtitle4 !== '' || description !== '' || description2 !== '' || icon_value !== '' || link !== '' || link2 !== '' || link3 !== '' || link4 !== '' || link5 !== '' || link6 !== '' || link7 !== '' || choice !== '' || social_repeater !== '' || shortcode !== '' || slide_align !== '' || color !== '' || color2 !== '' || color3 !== '' || button_text !== '' || button2_text !== ''  || button_link !== ''  || button2_link !== '' || enable !== '' || enable2 !== '' || newtab !== '' || nofollow !== '' ) {
                values.push({
                    'icon_value': (choice === 'customizer_repeater_none' ? '' : icon_value),
                    'color': color,
                    'color2': color2,
                    'color3': color3,
                    'text': electromixescapeHtml(text),
                    'link': link,
                    'text2': electromixescapeHtml(text2),
                    'link2': link2,
                    'text3': electromixescapeHtml(text3),
                    'link3': link3,
                    'text4': electromixescapeHtml(text4),
                    'link4': link4,
                    'text5': electromixescapeHtml(text5),
                    'link5': link5,
                    'text6': electromixescapeHtml(text6),
                    'link6': link6,
                    'text7': electromixescapeHtml(text7),
                    'link7': link7,
					'button_text': electromixescapeHtml(button_text),
					'button_link': button_link,
					'button2_text': electromixescapeHtml(button2_text),
					'button2_link': button2_link,
                    'image_url': (choice === 'customizer_repeater_none' ? '' : image_url),
                    'image_url2': image_url2,
                    'image_url3': image_url3,
                    'choice': choice,
                    'title': electromixescapeHtml(title),
                    'subtitle': electromixescapeHtml(subtitle),
					'subtitle2': electromixescapeHtml(subtitle2),					
					'subtitle3': electromixescapeHtml(subtitle3),					
					'subtitle4': electromixescapeHtml(subtitle4),					
					'description': electromixescapeHtml(description),					
					'description2': electromixescapeHtml(description2),					
					'slide_align': electromixescapeHtml(slide_align),
					'enable' : enable,
					'enable2' : enable2,
					'newtab' : newtab,
					'nofollow' : nofollow,
                    'social_repeater': electromixescapeHtml(social_repeater),
                    'id': id,
                    'shortcode': electromixescapeHtml(shortcode)
                });
            }

        });
        th.find('.customizer-repeater-colector').val(JSON.stringify(values));
        th.find('.customizer-repeater-colector').trigger('change');
    });
}


jQuery(document).ready(function () {
    'use strict';
    var electromix_theme_controls = jQuery('#customize-theme-controls');
    electromix_theme_controls.on('click', '.customizer-repeater-customize-control-title', function () {
        jQuery(this).next().slideToggle('medium', function () {
            if (jQuery(this).is(':visible')){
                jQuery(this).prev().addClass('repeater-expanded');
                jQuery(this).css('display', 'block');
            } else {
                jQuery(this).prev().removeClass('repeater-expanded');
            }
        });
    });

    electromix_theme_controls.on('change', '.icp',function(){
        electromix_customizer_repeater_refresh_general_control_values();
        return false;
    });
	
	electromix_theme_controls.on('change','.customizer-repeater-slide-align', function(){
		electromix_customizer_repeater_refresh_general_control_values();
        return false;
		
	});

    electromix_theme_controls.on('change','.customizer-repeater-image2-control', function(){
        electromix_customizer_repeater_refresh_general_control_values();
        return false;
        
    });
	
    electromix_theme_controls.on('change', '.customizer-repeater-image-choice', function () {
        if (jQuery(this).val() === 'customizer_repeater_image') {
            jQuery(this).parent().parent().find('.social-repeater-general-control-icon').hide();
            jQuery(this).parent().parent().find('.customizer-repeater-image-control').show();
            jQuery(this).parent().parent().find('.customizer-repeater-color-control').prev().prev().hide();
            jQuery(this).parent().parent().find('.customizer-repeater-color-control').hide();

        }
        if (jQuery(this).val() === 'customizer_repeater_icon') {
            jQuery(this).parent().parent().find('.social-repeater-general-control-icon').show();
            jQuery(this).parent().parent().find('.customizer-repeater-image-control').hide();
            jQuery(this).parent().parent().find('.customizer-repeater-color-control').prev().prev().show();
            jQuery(this).parent().parent().find('.customizer-repeater-color-control').show();
        }
        if (jQuery(this).val() === 'customizer_repeater_none') {
            jQuery(this).parent().parent().find('.social-repeater-general-control-icon').hide();
            jQuery(this).parent().parent().find('.customizer-repeater-image-control').hide();
            jQuery(this).parent().parent().find('.customizer-repeater-color-control').prev().prev().hide();
            jQuery(this).parent().parent().find('.customizer-repeater-color-control').hide();
        }

        electromix_customizer_repeater_refresh_general_control_values();
        return false;
    });
    electromix_media_upload('.customizer-repeater-custom-media-button');
    jQuery('.custom-media-url').on('change', function () {
        electromix_customizer_repeater_refresh_general_control_values();
        return false;
    });

    var color_options = {
        change: function(event, ui){
            electromix_customizer_repeater_refresh_general_control_values();
        }
    };

    /**
     * This adds a new box to repeater
     *
     */
    electromix_theme_controls.on('click', '.customizer-repeater-new-field', function () {
        var split_add_more_button=jQuery(this).text();
        var split_add_more_button_split=split_add_more_button.trim();
        var th = jQuery(this).parent();
        var id = 'customizer-repeater-' + electromix_customizer_repeater_uniqid();
		
		// console.log(split_add_more_button_split.length);
		
		if(split_add_more_button_split=="Add New Mrq1 Product")
        {
        if(jQuery('#exist_electromix_mrq1Product').val()>=6)
        {
        jQuery(".customizer_mrq1_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_mrq1Product').val()<6)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_mrq1Product').val())+1;
         jQuery('#exist_electromix_mrq1Product').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Mrq2 Product")
        {
        if(jQuery('#exist_electromix_mrq2Product').val()>=6)
        {
        jQuery(".customizer_mrq2_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_mrq2Product').val()<6)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_mrq2Product').val())+1;
         jQuery('#exist_electromix_mrq2Product').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Mrq3 Product")
        {
        if(jQuery('#exist_electromix_mrq3Product').val()>=6)
        {
        jQuery(".customizer_mrq3_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_mrq3Product').val()<6)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_mrq3Product').val())+1;
         jQuery('#exist_electromix_mrq3Product').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Mrq4 Product")
        {
        if(jQuery('#exist_electromix_mrq4Product').val()>=6)
        {
        jQuery(".customizer_mrq4_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_mrq4Product').val()<6)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_mrq4Product').val())+1;
         jQuery('#exist_electromix_mrq4Product').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Header Info")
        {
        if(jQuery('#exist_electromix_HeaderSlide').val()>=3)
        {
        jQuery(".customizer_header_info_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_HeaderSlide').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_HeaderSlide').val())+1;
         jQuery('#exist_electromix_HeaderSlide').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Main Slide")
        {
        if(jQuery('#exist_electromix_MainSlide').val()>=3)
        {
        jQuery(".customizer_main_slider_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_MainSlide').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_MainSlide').val())+1;
         jQuery('#exist_electromix_MainSlide').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Right Slide")
        {
        if(jQuery('#exist_electromix_RightSlide').val()>=2)
        {
        jQuery(".customizer_right_slider_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_RightSlide').val()<2)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_RightSlide').val())+1;
         jQuery('#exist_electromix_RightSlide').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Bottom Slide")
        {
        if(jQuery('#exist_electromix_BottomSlide').val()>=3)
        {
        jQuery(".customizer_bottom_slider_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_BottomSlide').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_BottomSlide').val())+1;
         jQuery('#exist_electromix_BottomSlide').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Info Box")
        {
        if(jQuery('#exist_electromix_InfoBox').val()>=4)
        {
        jQuery(".customizer_infobox_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_InfoBox').val()<4)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_InfoBox').val())+1;
         jQuery('#exist_electromix_InfoBox').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Info Box2")
        {
        if(jQuery('#exist_electromix_InfoBox2').val()>=4)
        {
        jQuery(".customizer_infobox2_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_InfoBox2').val()<4)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_InfoBox2').val())+1;
         jQuery('#exist_electromix_InfoBox2').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Info Box3")
        {
        if(jQuery('#exist_electromix_InfoBox3').val()>=3)
        {
        jQuery(".customizer_infobox3_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_InfoBox3').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_InfoBox3').val())+1;
         jQuery('#exist_electromix_InfoBox3').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Client")
        {
        if(jQuery('#exist_electromix_Client').val()>=3)
        {
        jQuery(".customizer_client_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Client').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Client').val())+1;
         jQuery('#exist_electromix_Client').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Banner")
        {
        if(jQuery('#exist_electromix_Banner').val()>=3)
        {
        jQuery(".customizer_banner_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Banner').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Banner').val())+1;
         jQuery('#exist_electromix_Banner').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Banner2")
        {
        if(jQuery('#exist_electromix_Banner2').val()>=2)
        {
        jQuery(".customizer_banner2_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Banner2').val()<2)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Banner2').val())+1;
         jQuery('#exist_electromix_Banner2').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Banner4")
        {
        if(jQuery('#exist_electromix_Banner4').val()>=3)
        {
        jQuery(".customizer_banner4_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Banner4').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Banner4').val())+1;
         jQuery('#exist_electromix_Banner4').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Banner3")
        {
        if(jQuery('#exist_electromix_Banner3').val()>=2)
        {
        jQuery(".customizer_banner3_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Banner3').val()<2)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Banner3').val())+1;
         jQuery('#exist_electromix_Banner3').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Product Bundle")
        {
        if(jQuery('#exist_electromix_ProductBundle').val()>=3)
        {
        jQuery(".customizer_product_bundle_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_ProductBundle').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_ProductBundle').val())+1;
         jQuery('#exist_electromix_ProductBundle').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Category")
        {
        if(jQuery('#exist_electromix_Category').val()>=3)
        {
        jQuery(".customizer_category_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Category').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Category').val())+1;
         jQuery('#exist_electromix_Category').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Category2")
        {
        if(jQuery('#exist_electromix_Category2').val()>=3)
        {
        jQuery(".customizer_category2_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Category2').val()<3)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Category2').val())+1;
         jQuery('#exist_electromix_Category2').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Sponsor")
        {
        if(jQuery('#exist_electromix_Sponsor').val()>=10)
        {
        jQuery(".customizer_sponsor_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Sponsor').val()<10)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Sponsor').val())+1;
         jQuery('#exist_electromix_Sponsor').val(new_service_add_val);  
        }
        }
		
		if(split_add_more_button_split=="Add New Platform")
        {
        if(jQuery('#exist_electromix_Platform').val()>=2)
        {
        jQuery(".customizer_platform_section_premium").show();
        return false;   
        }
         if(jQuery('#exist_electromix_Platform').val()<2)
        {
         var new_service_add_val=parseInt(jQuery('#exist_electromix_Platform').val())+1;
         jQuery('#exist_electromix_Platform').val(new_service_add_val);  
        }
        }
		
        if (typeof th !== 'undefined') {
            /* Clone the first box*/
            var field = th.find('.customizer-repeater-general-control-repeater-container:first').clone( true, true );

            if (typeof field !== 'undefined') {
                /*Set the default value for choice between image and icon to icon*/
                field.find('.customizer-repeater-image-choice').val('customizer_repeater_icon');

                /*Show icon selector*/
                field.find('.social-repeater-general-control-icon').show();

                /*Hide image selector*/
                if (field.find('.social-repeater-general-control-icon').length > 0) {
                    field.find('.customizer-repeater-image-control').hide();
                }

                /*Show delete box button because it's not the first box*/
                field.find('.social-repeater-general-control-remove-field').show();

                /* Empty control for icon */
                field.find('.input-group-addon').find('.fa').attr('class', 'fa');


                /*Remove all repeater fields except first one*/

                field.find('.customizer-repeater-social-repeater').find('.customizer-repeater-social-repeater-container').not(':first').remove();
                field.find('.customizer-repeater-social-repeater-link').val('');
                field.find('.social-repeater-socials-repeater-colector').val('');

                /*Remove value from icon field*/
                field.find('.icp').val('');

                /*Remove value from text field*/
                field.find('.customizer-repeater-text-control').val('');

                /*Remove value from link field*/
                field.find('.customizer-repeater-link-control').val('');

                /*Remove value from text field*/
                field.find('.customizer-repeater-text2-control').val('');

                /*Remove value from link field*/
                field.find('.customizer-repeater-link2-control').val('');
				
                /*Remove value from text field*/
                field.find('.customizer-repeater-text3-control').val('');

                /*Remove value from link field*/
                field.find('.customizer-repeater-link3-control').val('');
				
                /*Remove value from text field*/
                field.find('.customizer-repeater-text4-control').val('');

                /*Remove value from link field*/
                field.find('.customizer-repeater-link4-control').val('');
				
                /*Remove value from text field*/
                field.find('.customizer-repeater-text5-control').val('');

                /*Remove value from link field*/
                field.find('.customizer-repeater-link5-control').val('');
				
                /*Remove value from text field*/
                field.find('.customizer-repeater-text6-control').val('');

                /*Remove value from link field*/
                field.find('.customizer-repeater-link6-control').val('');
				
                /*Remove value from text field*/
                field.find('.customizer-repeater-text7-control').val('');

                /*Remove value from link field*/
                field.find('.customizer-repeater-link7-control').val('');
				
				/*Remove value from button field*/
                field.find('.customizer-repeater-button-text-control').val('');
				
                /*Remove value from link field*/
                field.find('.customizer-repeater-button-link-control').val('');
				
				/*Remove value from button field*/
                field.find('.customizer-repeater-button2-text-control').val('');
				
                /*Remove value from link field*/
                field.find('.customizer-repeater-button2-link-control').val('');
				
				/*Set the default value in slide align*/
                field.find('.customizer-repeater-slide-align').val('left');
				
				/*Set the default value in checkbox*/
                field.find('.customizer-repeater-checkbox-enable', '.customizer-repeater-checkbox-enable2', '.customizer-repeater-checkbox-newtab','.customizer-repeater-checkbox-nofollow').val('');
				
                /*Set box id*/
                field.find('.social-repeater-box-id').val(id);

                /*Remove value from media field*/
                field.find('.custom-media-url').val('');

                /*Remove value from title field*/
                field.find('.customizer-repeater-title-control').val('');

                /*Remove value from description field*/
                field.find('.customizer-repeater-description-control').val('');

                /*Remove value from description field*/
                field.find('.customizer-repeater-description2-control').val('');


                /*Remove value from color field*/
                field.find('div.customizer-repeater-color-control .wp-picker-container').replaceWith('<input type="text" class="customizer-repeater-color-control ' + id + '">');
                field.find('input.customizer-repeater-color-control').wpColorPicker(color_options);


                field.find('div.customizer-repeater-color2-control .wp-picker-container').replaceWith('<input type="text" class="customizer-repeater-color2-control ' + id + '">');
                field.find('input.customizer-repeater-color2-control').wpColorPicker(color_options);

                field.find('div.customizer-repeater-color3-control .wp-picker-container').replaceWith('<input type="text" class="customizer-repeater-color3-control ' + id + '">');
                field.find('input.customizer-repeater-color3-control').wpColorPicker(color_options);

                // field.find('.customize-control-notifications-container').remove();


                /*Remove value from subtitle field*/
                field.find('.customizer-repeater-subtitle-control').val('');
				
				 /*Remove value from subtitle field*/
                field.find('.customizer-repeater-subtitle2-control').val('');
				
				 /*Remove value from subtitle field*/
                field.find('.customizer-repeater-subtitle3-control').val('');
				
				 /*Remove value from subtitle field*/
                field.find('.customizer-repeater-subtitle4-control').val('');
				
                /*Remove value from shortcode field*/
                field.find('.customizer-repeater-shortcode-control').val('');

                /*Append new box*/
                th.find('.customizer-repeater-general-control-repeater-container:first').parent().append(field);

                /*Refresh values*/
                electromix_customizer_repeater_refresh_general_control_values();
            }

        }
        return false;
    });


    electromix_theme_controls.on('click', '.social-repeater-general-control-remove-field', function () {
		var split_delete_button=jQuery(this).text();
        var split_delete_button_split=split_delete_button.trim();
        if (typeof    jQuery(this).parent() !== 'undefined') {
            jQuery(this).parent().hide(500, function(){
                jQuery(this).parent().remove();
                electromix_customizer_repeater_refresh_general_control_values();
				
				if(split_delete_button_split=="Delete mrq1Product")
                {
                jQuery('#exist_electromix_mrq1Product').val(parseInt(jQuery('#exist_electromix_mrq1Product').val())-1);
                }
				if(split_delete_button_split=="Delete mrq2Product")
                {
                jQuery('#exist_electromix_mrq2Product').val(parseInt(jQuery('#exist_electromix_mrq2Product').val())-1);
                }
				if(split_delete_button_split=="Delete mrq3Product")
                {
                jQuery('#exist_electromix_mrq3Product').val(parseInt(jQuery('#exist_electromix_mrq3Product').val())-1);
                }
				if(split_delete_button_split=="Delete mrq4Product")
                {
                jQuery('#exist_electromix_mrq4Product').val(parseInt(jQuery('#exist_electromix_mrq4Product').val())-1);
                }
				if(split_delete_button_split=="Delete HeaderSlide")
                {
                jQuery('#exist_electromix_HeaderSlide').val(parseInt(jQuery('#exist_electromix_HeaderSlide').val())-1);
                }
				if(split_delete_button_split=="Delete MainSlide")
                {
                jQuery('#exist_electromix_MainSlide').val(parseInt(jQuery('#exist_electromix_MainSlide').val())-1);
                }
				if(split_delete_button_split=="Delete RightSlide")
                {
                jQuery('#exist_electromix_RightSlide').val(parseInt(jQuery('#exist_electromix_RightSlide').val())-1);
                }
				if(split_delete_button_split=="Delete BottomSlide")
                {
                jQuery('#exist_electromix_BottomSlide').val(parseInt(jQuery('#exist_electromix_BottomSlide').val())-1);
                }
				if(split_delete_button_split=="Delete InfoBox")
                {
                jQuery('#exist_electromix_InfoBox').val(parseInt(jQuery('#exist_electromix_InfoBox').val())-1);
                }
				if(split_delete_button_split=="Delete InfoBox2")
                {
                jQuery('#exist_electromix_InfoBox2').val(parseInt(jQuery('#exist_electromix_InfoBox2').val())-1);
                }
				if(split_delete_button_split=="Delete InfoBox3")
                {
                jQuery('#exist_electromix_InfoBox3').val(parseInt(jQuery('#exist_electromix_InfoBox3').val())-1);
                }
				if(split_delete_button_split=="Delete Client")
                {
                jQuery('#exist_electromix_Client').val(parseInt(jQuery('#exist_electromix_Client').val())-1);
                }
				if(split_delete_button_split=="Delete Banner")
                {
                jQuery('#exist_electromix_Banner').val(parseInt(jQuery('#exist_electromix_Banner').val())-1);
                }
				if(split_delete_button_split=="Delete Banner2")
                {
                jQuery('#exist_electromix_Banner2').val(parseInt(jQuery('#exist_electromix_Banner2').val())-1);
                }
				if(split_delete_button_split=="Delete Banner3")
                {
                jQuery('#exist_electromix_Banner3').val(parseInt(jQuery('#exist_electromix_Banner3').val())-1);
                }
				if(split_delete_button_split=="Delete Banner4")
                {
                jQuery('#exist_electromix_Banner4').val(parseInt(jQuery('#exist_electromix_Banner4').val())-1);
                }
				if(split_delete_button_split=="Delete ProductBundle")
                {
                jQuery('#exist_electromix_ProductBundle').val(parseInt(jQuery('#exist_electromix_ProductBundle').val())-1);
                }
				if(split_delete_button_split=="Delete Category")
                {
                jQuery('#exist_electromix_Category').val(parseInt(jQuery('#exist_electromix_Category').val())-1);
                }
				if(split_delete_button_split=="Delete Category2")
                {
                jQuery('#exist_electromix_Category2').val(parseInt(jQuery('#exist_electromix_Category2').val())-1);
                }
				if(split_delete_button_split=="Delete Sponsor")
                {
                jQuery('#exist_electromix_Sponsor').val(parseInt(jQuery('#exist_electromix_Sponsor').val())-1);
                }
				if(split_delete_button_split=="Delete Platform")
                {
                jQuery('#exist_electromix_Platform').val(parseInt(jQuery('#exist_electromix_Platform').val())-1);
                }
            });
        }
        return false;
    });


    electromix_theme_controls.on('keyup', '.customizer-repeater-title-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    jQuery('input.customizer-repeater-color-control').wpColorPicker(color_options);
    jQuery('input.customizer-repeater-color2-control').wpColorPicker(color_options);
    jQuery('input.customizer-repeater-color3-control').wpColorPicker(color_options);

    electromix_theme_controls.on('keyup', '.customizer-repeater-subtitle-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
	 electromix_theme_controls.on('keyup', '.customizer-repeater-subtitle2-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
	 electromix_theme_controls.on('keyup', '.customizer-repeater-subtitle3-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
	 electromix_theme_controls.on('keyup', '.customizer-repeater-subtitle4-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-shortcode-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-text-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-link-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-text2-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-link2-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-text3-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-link3-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-text4-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-link4-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-text5-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-link5-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-text6-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-link6-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-text7-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-link7-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
	electromix_theme_controls.on('keyup', '.customizer-repeater-button-text-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-button-link-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
	electromix_theme_controls.on('keyup', '.customizer-repeater-button2-text-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-button2-link-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-description-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });
	
    electromix_theme_controls.on('keyup', '.customizer-repeater-description2-control', function () {
        electromix_customizer_repeater_refresh_general_control_values();
    });	
	
    jQuery('.customizer-repeater-checkbox-enable, .customizer-repeater-checkbox-enable2, .customizer-repeater-checkbox-newtab, .customizer-repeater-checkbox-nofollow').on('change', function() {
        const isChecked = jQuery(this).prop('checked');
        console.log('Checkbox changed:', jQuery(this).attr('class'), isChecked);
        jQuery(this).prop('checked', isChecked);
        electromix_customizer_repeater_refresh_general_control_values();
    });

	
    /*Drag and drop to change icons order*/

    jQuery('.customizer-repeater-general-control-droppable').sortable({
        axis: 'y',
        update: function () {
            electromix_customizer_repeater_refresh_general_control_values();
        }
    });


    /*----------------- Socials Repeater ---------------------*/
    electromix_theme_controls.on('click', '.social-repeater-add-social-item', function (event) {
        event.preventDefault();
        var th = jQuery(this).parent();
        var id = 'customizer-repeater-social-repeater-' + electromix_customizer_repeater_uniqid();
        if (typeof th !== 'undefined') {
            var field = th.find('.customizer-repeater-social-repeater-container:first').clone( true, true );
            if (typeof field !== 'undefined') {
                field.find( '.icp' ).val('');
                field.find( '.input-group-addon' ).find('.fa').attr('class','fa');
                field.find('.social-repeater-remove-social-item').show();
                field.find('.customizer-repeater-social-repeater-title').val('');
                field.find('.customizer-repeater-social-repeater-subtitle').val('');
                field.find('.customizer-repeater-social-repeater-link').val('');
                field.find('.customizer-repeater-social-repeater-id').val(id);
                th.find('.customizer-repeater-social-repeater-container:first').parent().append(field);
            }
        }
        return false;
    });

    electromix_theme_controls.on('click', '.social-repeater-remove-social-item', function (event) {
        event.preventDefault();
        var th = jQuery(this).parent();
        var repeater = jQuery(this).parent().parent();
        th.remove();
        electromix_customizer_repeater_refresh_social_icons(repeater);
        return false;
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-social-repeater-title', function (event) {
        event.preventDefault();
        var repeater = jQuery(this).parent().parent();
        electromix_customizer_repeater_refresh_social_icons(repeater);
        return false;
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-social-repeater-subtitle', function (event) {
        event.preventDefault();
        var repeater = jQuery(this).parent().parent();
        electromix_customizer_repeater_refresh_social_icons(repeater);
        return false;
    });

    electromix_theme_controls.on('keyup', '.customizer-repeater-social-repeater-link', function (event) {
        event.preventDefault();
        var repeater = jQuery(this).parent().parent();
        electromix_customizer_repeater_refresh_social_icons(repeater);
        return false;
    });

    electromix_theme_controls.on('change', '.customizer-repeater-social-repeater-container .icp', function (event) {
        event.preventDefault();
        var repeater = jQuery(this).parent().parent().parent();
        electromix_customizer_repeater_refresh_social_icons(repeater);
        return false;
    });

});

var electromixentityMap = {
    '&': '&amp;',
    '<': '&lt;',
    '>': '&gt;',
    '"': '&quot;',
    '\'': '&#39;',
    '/': '&#x2F;'
};

function electromixescapeHtml(string) {
    'use strict';
    //noinspection JSUnresolvedFunction
    string = String(string).replace(new RegExp('\r?\n', 'g'), '<br />');
    string = String(string).replace(/\\/g, '&#92;');
    return String(string).replace(/[&<>"'\/]/g, function (s) {
        return electromixentityMap[s];
    });

}