/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
var ajax_running_timeout = null;
if (!id_language)
var id_language = Number(1);
function str2url(str, encoding, ucfirst)
{
str = str.toUpperCase();
str = str.toLowerCase();
if (PS_ALLOW_ACCENTED_CHARS_URL)
str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]\\u00A1-\\uFFFF/g,'');
else
{
/* Lowercase */
str = str.replace(/[\u00E0\u00E1\u00E2\u00E3\u00E5\u0101\u0103\u0105\u0430\u1EA7\u1EA3\u1EA1\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EA5\u1EA9\u1EAB\u1EAD]/g, 'a');
str = str.replace(/[\u0431]/g, 'b');
str = str.replace(/[\u00E7\u0107\u0109\u010D\u0446]/g, 'c');
str = str.replace(/[\u010F\u0111\u0434]/g, 'd');
str = str.replace(/[\u00E8\u00E9\u00EA\u00EB\u0113\u0115\u0117\u0119\u011B\u0435\u044D\u1EC7\u1EBB\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5]/g, 'e');
str = str.replace(/[\u0444]/g, 'f');
str = str.replace(/[\u011F\u0121\u0123\u0433\u0491]/g, 'g');
str = str.replace(/[\u0125\u0127]/g, 'h');
str = str.replace(/[\u00EC\u00ED\u00EE\u00EF\u0129\u012B\u012D\u012F\u0131\u0438\u0456\u1EC9\u1ECB]/g, 'i');
str = str.replace(/[\u0135\u0439]/g, 'j');
str = str.replace(/[\u0137\u0138\u043A]/g, 'k');
str = str.replace(/[\u013A\u013C\u013E\u0140\u0142\u043B]/g, 'l');
str = str.replace(/[\u043C]/g, 'm');
str = str.replace(/[\u00F1\u0144\u0146\u0148\u0149\u014B\u043D]/g, 'n');
str = str.replace(/[\u00F2\u00F3\u00F4\u00F5\u00F8\u014D\u014F\u0151\u043E\u01A1]/g, 'o');
str = str.replace(/[\u043F]/g, 'p');
str = str.replace(/[\u0155\u0157\u0159\u0440]/g, 'r');
str = str.replace(/[\u015B\u015D\u015F\u0161\u0441]/g, 's');
str = str.replace(/[\u00DF]/g, 'ss');
str = str.replace(/[\u0163\u0165\u0167\u0442]/g, 't');
str = str.replace(/[\u00F9\u00FA\u00FB\u0169\u016B\u016D\u016F\u0171\u0173\u0443\u1EED]/g, 'u');
str = str.replace(/[\u0432]/g, 'v');
str = str.replace(/[\u0175]/g, 'w');
str = str.replace(/[\u00FF\u0177\u00FD\u044B]/g, 'y');
str = str.replace(/[\u017A\u017C\u017E\u0437]/g, 'z');
str = str.replace(/[\u00E4\u00E6]/g, 'ae');
str = str.replace(/[\u0447]/g, 'ch');
str = str.replace(/[\u0445]/g, 'kh');
str = str.replace(/[\u0153\u00F6]/g, 'oe');
str = str.replace(/[\u00FC]/g, 'ue');
str = str.replace(/[\u0448]/g, 'sh');
str = str.replace(/[\u0449]/g, 'ssh');
str = str.replace(/[\u044F]/g, 'ya');
str = str.replace(/[\u0454]/g, 'ye');
str = str.replace(/[\u0457]/g, 'yi');
str = str.replace(/[\u0451]/g, 'yo');
str = str.replace(/[\u044E]/g, 'yu');
str = str.replace(/[\u0436]/g, 'zh');
/* Uppercase */
str = str.replace(/[\u0100\u0102\u0104\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u0410\u1EA2\u1EA0\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC]/g, 'A');
str = str.replace(/[\u0411]/g, 'B');
str = str.replace(/[\u00C7\u0106\u0108\u010A\u010C\u0426]/g, 'C');
str = str.replace(/[\u010E\u0110\u0414]/g, 'D');
str = str.replace(/[\u00C8\u00C9\u00CA\u00CB\u0112\u0114\u0116\u0118\u011A\u0415\u042D\u1EBA\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6]/g, 'E');
str = str.replace(/[\u0424]/g, 'F');
str = str.replace(/[\u011C\u011E\u0120\u0122\u0413\u0490]/g, 'G');
str = str.replace(/[\u0124\u0126]/g, 'H');
str = str.replace(/[\u0128\u012A\u012C\u012E\u0130\u0418\u0406\u00CD\u00CC\u1EC8\u1ECA]/g, 'I');
str = str.replace(/[\u0134\u0419]/g, 'J');
str = str.replace(/[\u0136\u041A]/g, 'K');
str = str.replace(/[\u0139\u013B\u013D\u0141\u041B]/g, 'L');
str = str.replace(/[\u041C]/g, 'M');
str = str.replace(/[\u00D1\u0143\u0145\u0147\u014A\u041D]/g, 'N');
str = str.replace(/[\u00D3\u014C\u014E\u0150\u041E]/g, 'O');
str = str.replace(/[\u041F]/g, 'P');
str = str.replace(/[\u0154\u0156\u0158\u0420]/g, 'R');
str = str.replace(/[\u015A\u015C\u015E\u0160\u0421]/g, 'S');
str = str.replace(/[\u0162\u0164\u0166\u0422]/g, 'T');
str = str.replace(/[\u00D9\u00DA\u00DB\u0168\u016A\u016C\u016E\u0170\u0172\u0423]/g, 'U');
str = str.replace(/[\u0412]/g, 'V');
str = str.replace(/[\u0174]/g, 'W');
str = str.replace(/[\u0176\u042B]/g, 'Y');
str = str.replace(/[\u0179\u017B\u017D\u0417]/g, 'Z');
str = str.replace(/[\u00C4\u00C6]/g, 'AE');
str = str.replace(/[\u0427]/g, 'CH');
str = str.replace(/[\u0425]/g, 'KH');
str = str.replace(/[\u0152\u00D6]/g, 'OE');
str = str.replace(/[\u00DC]/g, 'UE');
str = str.replace(/[\u0428]/g, 'SH');
str = str.replace(/[\u0429]/g, 'SHH');
str = str.replace(/[\u042F]/g, 'YA');
str = str.replace(/[\u0404]/g, 'YE');
str = str.replace(/[\u0407]/g, 'YI');
str = str.replace(/[\u0401]/g, 'YO');
str = str.replace(/[\u042E]/g, 'YU');
str = str.replace(/[\u0416]/g, 'ZH');
str = str.toLowerCase();
str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]/g,'');
}
str = str.replace(/[\u0028\u0029\u0021\u003F\u002E\u0026\u005E\u007E\u002B\u002A\u002F\u003A\u003B\u003C\u003D\u003E]/g, '');
str = str.replace(/[\s\'\:\/\[\]-]+/g, ' ');
// Add special char not used for url rewrite
str = str.replace(/[ ]/g, '-');
str = str.replace(/[\/\\"'|,;%]*/g, '');
if (ucfirst == 1) {
var first_char = str.charAt(0);
str = first_char.toUpperCase()+str.slice(1);
}
return str;
}
function copy2friendlyURL()
{
if (typeof($('#link_rewrite_' + id_language).val()) == 'undefined')
return;
if (typeof(id_product) == 'undefined')
id_product = false;
if (ps_force_friendly_product || !$('#link_rewrite_' + id_language).val().length || !id_product)//check if user didn't type anything in rewrite field, to prevent overwriting
{
$('#link_rewrite_' + id_language).val(str2url($.trim($('#name_' + id_language).val().replace(/^[0-9]+\./, ''), 'UTF-8').replace('%', '')));
if ($('#friendly-url'))
$('#friendly-url').html($('#link_rewrite_' + id_language).val());
// trigger onchange event to use anything binded there
$('#link_rewrite_' + id_language).change();
}
return;
}
function copyMeta2friendlyURL()
{
if (!$('input[name="id_cms"]').length)
$('#link_rewrite_' + id_language).val(str2url($('#name_' + id_language).val().replace(/^[0-9]+\./, ''), 'UTF-8'));
}
function updateCurrentText()
{
$('#current_product').html($('#name_' + id_language).val());
}
function updateFriendlyURLByName()
{
$('#link_rewrite_' + id_language).val(str2url($('#name_' + id_language).val(), 'UTF-8'));
$('#friendly-url_' + id_language).html($('#link_rewrite_' + id_language).val());
}
function updateFriendlyURL()
{
var link = $('#link_rewrite_' + id_language);
if (link[0])
{
$('#friendly-url_' + id_language).text(str2url($('#link_rewrite_' + id_language).val(), 'UTF-8'));
}
}
function updateLinkRewrite()
{
$('#name_' + id_language).val($.trim($('#name_' + id_language).val()));
$('#link_rewrite_' + id_language).val($.trim($('#link_rewrite_' + id_language).val()));
var link = $('#link_rewrite_' + id_language);
if (link[0])
{
link.val(str2url(link.val(), 'UTF-8'));
$('#friendly-url_' + id_language).text(link.val());
}
}
function toggleLanguageFlags(elt)
{
$(elt).parents('.displayed_flag').siblings('.language_flags').toggle();
}
// Kept for retrocompatibility only (out of AdminProducts & AdminCategories)
function changeLanguage(field, fieldsString, id_language_new, iso_code)
{
$('div[id^='+field+'_]').hide();
var fields = fieldsString.split('¤');
for (var i = 0; i < fields.length; ++i)
{
$('div[id^='+fields[i]+'_]').hide();
$('#'+fields[i]+'_'+id_language_new).show();
$('#'+'language_current_'+fields[i]).attr('src', '../img/l/' + id_language_new + '.jpg');
}
$('#languages_' + field).hide();
id_language = id_language_new;
}
// kept for retrocompatibility - you should use hideOtherLanguage(id) since 1.6
function changeFormLanguage(id_language_new, iso_code, employee_cookie)
{
$('.translatable').each(function() {
$(this).find('.lang_' + id_language_new)
.show()
.siblings('div:not(.displayed_flag):not(.clear)').hide();
$(this).find('.language_current').attr('src', '../img/l/' + id_language_new + '.jpg');
});
// For multishop checkboxes
$('.multishop_lang_'+id_language_new).show().siblings('div[class^=\'multishop_lang_\']').hide();
id_language = id_language_new;
changeEmployeeLanguage();
updateCurrentText();
}
function displayFlags(languages, defaultLanguageID, employee_cookie)
{
if ($('.translatable'))
{
$('.translatable').each(function() {
if (!$(this).find('.displayed_flag').length > 0) {
$.each(languages, function(key, language) {
if (language['id_lang'] == defaultLanguageID)
{
defaultLanguage = language;
return false;
}
});
var displayFlags = $('')
.addClass('displayed_flag')
.append($('')
.addClass('language_current')
.addClass('pointer')
.attr('src', '../img/l/' + defaultLanguage['id_lang'] + '.jpg')
.attr('alt', defaultLanguage['name'])
.click(function() {
toggleLanguageFlags(this);
})
);
var languagesFlags = $('')
.addClass('language_flags')
.html(choose_language_translate+':
');
$.each(languages, function(key, language) {
var img = $('')
.addClass('pointer')
.css('margin', '2px 2px')
.attr('src', '../img/l/' + language['id_lang'] + '.jpg')
.attr('alt', language['name'])
.click(function() {
changeFormLanguage(language['id_lang'], language['iso_code'], employee_cookie);
});
languagesFlags.append(img);
});
if ($(this).find('p:last-child').hasClass('clear'))
$(this).find('p:last-child').before(displayFlags).before(languagesFlags);
else
$(this).append(displayFlags).append(languagesFlags);
}
});
}
}
function checkAll(pForm)
{
for (i = 0, n = pForm.elements.length; i < n; i++)
{
var objName = pForm.elements[i].name;
var objType = pForm.elements[i].type;
if (objType == 'checkbox' && objName != 'checkme')
{
box = eval(pForm.elements[i]);
box.checked = !box.checked;
}
}
}
function checkDelBoxes(pForm, boxName, parent)
{
for (i = 0; i < pForm.elements.length; i++)
if (pForm.elements[i].name == boxName)
pForm.elements[i].checked = parent;
}
function checkPaymentBoxes(name, module)
{
setPaymentBoxes(name, module);
current = $('input#checkedBox_'+ name +'_'+ module + '[type=hidden]');
$('form#form_'+ name +' input[type=checkbox]').each(
function()
{
if ($(this).attr('name') == module + '_' + name + '[]')
$(this).attr("checked", ((current.val() == 'checked') ? true : false));
}
);
current.val() == 'checked' ? current.val('unchecked') : current.val('checked');
}
function setPaymentBoxes(name, module)
{
current = $('input#checkedBox_'+ name +'_'+ module + '[type=hidden]');
total = 0;
checked = 0;
$('form#form_'+ name +' input[type=checkbox]').each(
function()
{
if ($(this).attr('name') == module + '_' + name + '[]')
{
($(this).attr("checked") ? checked++ : '');
total++;
}
}
);
(checked == total) ? current.val('unchecked') : current.val('checked');
}
function getE(name)
{
if (document.getElementById)
var elem = document.getElementById(name);
else if (document.all)
var elem = document.all[name];
else if (document.layers)
var elem = document.layers[name];
return elem;
}
function formSubmit(e, button)
{
var key;
key = window.event ? window.event.keyCode : e.which;
if (key == 13)
{
getE(button).focus();
getE(button).click();
e.preventDefault();
}
}
function noComma(elem)
{
getE(elem).value = getE(elem).value.replace(new RegExp(',', 'g'), '.');
}
/* Code generator for Affiliation and vouchers */
function gencode(size)
{
getE('code').value = '';
/* There are no O/0 in the codes in order to avoid confusion */
var chars = "123456789ABCDEFGHIJKLMNPQRSTUVWXYZ";
var randomNumbers = crypto.getRandomValues(new Uint32Array(size));
for (var i = 1; i <= size; ++i) {
getE('code').value += chars.charAt(Math.floor(randomNumbers[i]/2**32 * chars.length));
}
}
function orderDeleteProduct(txtConfirm, txtExplain)
{
ret = true;
$('table#cancelProducts input[type=checkbox]:checked').each(
function()
{
totalCancel = parseInt($(this).parent().parent().find('td.cancelQuantity input[type=text]').val());
totalQty = parseInt($(this).parent().find('input#totalQty[type=hidden]').val());
totalQtyReturn = parseInt($(this).parent().find('input#totalQtyReturn[type=hidden]').val());
productName = $(this).parent().find('input#productName[type=hidden]').val();
totalAvailable = totalQty - totalQtyReturn;
if (totalCancel > totalAvailable)
{
jAlert(txtConfirm + ' : \'' + ' ' + productName + '\' ! \n\n' + txtExplain + ' ('+ totalCancel + ' > ' + totalAvailable +')' + '\n ');
ret = false;
}
}
);
return ret;
}
function selectCheckbox(obj)
{
$(obj).parent().parent().find('td.cancelCheck input[type=checkbox]').attr("checked", true);
}
function toggleShippingCost()
{
generateDiscount = $('#generateDiscount').attr("checked");
generateCreditSlip = $('#generateCreditSlip').attr("checked");
if (generateDiscount != 'checked' && generateCreditSlip != 'checked')
{
$('#spanShippingBack input[type=checkbox]').attr("checked", false);
$('#spanShippingBack').css('display', 'none');
}
else
$('#spanShippingBack').css('display', 'block');
}
function orderOverwriteMessage(sl, text)
{
var $zone = $('#txt_msg');
var sl_value = sl.options[sl.selectedIndex].value;
if (sl_value != '0')
{
if ($zone.val().length > 0 && !confirm(text))
return ;
$zone.val(sl_value);
}
$zone.trigger('autosize.resize');
}
function setCancelQuantity(itself, id_order_detail, quantity)
{
$('#cancelQuantity_' + id_order_detail).val($(itself).prop('checked') ? quantity : '');
}
function stockManagementActivationAuthorization()
{
if (getE('PS_STOCK_MANAGEMENT_on').checked)
{
getE('PS_ORDER_OUT_OF_STOCK_on').disabled = false;
getE('PS_ORDER_OUT_OF_STOCK_off').disabled = false;
getE('PS_DISPLAY_QTIES_on').disabled = false;
getE('PS_DISPLAY_QTIES_off').disabled = false;
}
else
{
getE('PS_DISPLAY_QTIES_off').checked = true;
getE('PS_DISPLAY_QTIES_on').disabled = 'disabled';
getE('PS_DISPLAY_QTIES_off').disabled = 'disabled';
getE('PS_ORDER_OUT_OF_STOCK_on').checked = true;
getE('PS_ORDER_OUT_OF_STOCK_on').disabled = 'disabled';
getE('PS_ORDER_OUT_OF_STOCK_off').disabled = 'disabled';
getE('PS_DEFAULT_WAREHOUSE_NEW_PRODUCT').disabled = 'disabled';
}
}
function hookCheckboxes(id, opt, champ)
{
if (opt == 1 && champ.checked == false)
$('#Ghook'+id).attr('checked', false);
else if (opt == 0)
{
if (champ.checked)
$('.hook'+id).attr('checked', "checked");
else
$('.hook'+id).attr('checked', false);
}
}
function changeCMSActivationAuthorization()
{
if (getE('PS_CONDITIONS_on').checked)
getE('PS_CONDITIONS_CMS_ID').disabled = false;
else
getE('PS_CONDITIONS_CMS_ID').disabled = 'disabled';
}
function disableZipFormat()
{
if ($('#need_zip_code_on').prop('checked') == false)
{
$('.zip_code_format').hide();
$('#zip_code_format').val('');
}
else
$('.zip_code_format').show();
}
function disableTAASC()
{
if ($('#iso_code').val() == 'US')
$('#TAASC').show();
else
$('#TAASC').hide();
}
function spreadFees(id_range)
{
newVal = $('#fees_all_'+id_range).val().replace(/,/g, '.');
$('.fees_'+id_range).val(newVal);
}
function clearAllFees(id_range)
{
$('#fees_all_'+id_range).val('');
}
function toggleDraftWarning(show)
{
if (show)
$('.draft').hide();
else
$('.draft').show();
}
function showRedirectProductOptions(show)
{
if (show)
$('.redirect_product_options').fadeIn();
else
$('.redirect_product_options').fadeOut();
redirectSelectChange();
}
function redirectSelectChange()
{
redirectTypeValue = $('#redirect_type :selected').val();
if (redirectTypeValue == '404' ||
redirectTypeValue == '410' ||
redirectTypeValue == 'default' ||
redirectTypeValue == '200-displayed' ||
redirectTypeValue == '404-displayed' ||
redirectTypeValue == '410-displayed')
showRedirectProductSelectOptions(false);
else
showRedirectProductSelectOptions(true);
}
function addRelatedProduct(id_product_to_add, product_name)
{
if (!id_product_to_add || id_product == id_product_to_add)
return;
$('#related_product_name').html(product_name);
$('input[name=id_type_redirected]').val(id_product_to_add);
$('#related_product_autocomplete_input').parent().hide();
$('#related_product_remove').show();
}
function removeRelatedProduct()
{
$('#related_product_name').html(no_related_product);
$('input[name=id_type_redirected]').val(0);
$('#related_product_remove').hide();
$('#related_product_autocomplete_input').parent().fadeIn();
}
function showRedirectProductSelectOptions(show)
{
if (show)
$('.redirect_product_options_product_choise').show();
else
{
$('.redirect_product_options_product_choise').hide();
removeRelatedProduct();
}
}
function showOptions(show)
{
if (show)
$('tr#product_options').show();
else
$('tr#product_options').hide();
}
function submitAddProductAndPreview()
{
$('#fakeSubmitAddProductAndPreview').attr('name','submitAddProductAndPreview');
$('#product_form').submit();
}
function submitAddcmsAndPreview()
{
$('#previewSubmitAddcmsAndPreview').attr('name','submitAddcmsAndPreview');
$('#cms').submit();
}
function checkAllMultishopDefaultValue(item)
{
$(item).parent().find('input[name^=\'multishopOverrideOption\']').each(function(k, v)
{
$(v).attr('checked', item.checked);
var name = $(v).attr('name');
checkMultishopDefaultValue(v, name.substr(24, name.length - 25));
})
}
function checkMultishopDefaultValue(obj, key)
{
if (!$(obj).prop('checked') || $('#'+key).hasClass('isInvisible'))
{
$('#conf_id_'+key+' input, #conf_id_'+key+' textarea, #conf_id_'+key+' select, #conf_id_'+key+' button').prop('disabled', true);
$('#conf_id_'+key+' label.conf_title').addClass('isDisabled');
$(obj).prop('disabled', false);
}
else
{
$('#conf_id_'+key+' input, #conf_id_'+key+' textarea, #conf_id_'+key+' select, #conf_id_'+key+' button').prop('disabled', false);
$('#conf_id_'+key+' label.conf_title').removeClass('isDisabled');
}
$('#conf_id_'+key+' .preference_default_multishop input').prop('disabled', false);
}
function toggleAllMultishopDefaultValue($container, value)
{
$container.find('input[name^=\'multishopOverrideOption\']').each(function(k, v)
{
$(v).attr('checked', value);
var name = $(v).attr('name');
toggleMultishopDefaultValue(v, name.substr(24, name.length - 25));
})
}
function toggleMultishopDefaultValue(obj, key)
{
if (!$(obj).prop('checked') || $('#'+key).hasClass('isInvisible'))
{
$('#conf_id_'+key+' input, #conf_id_'+key+' textarea, #conf_id_'+key+' select, #conf_id_'+key+' button').attr('disabled', true);
$('#conf_id_'+key+' label.conf_title').addClass('isDisabled');
}
else
{
$('#conf_id_'+key+' input, #conf_id_'+key+' textarea, #conf_id_'+key+' select, #conf_id_'+key+' button').attr('disabled', false);
$('#conf_id_'+key+' label.conf_title').removeClass('isDisabled');
}
$('#conf_id_'+key+' input[name^=\'multishopOverrideOption\']').attr('disabled', false);
}
function doAdminAjax(data, success_func, error_func)
{
$.ajax(
{
url : 'index.php',
data : data,
type : 'POST',
success : function(data){
if (success_func)
return success_func(data);
data = $.parseJSON(data);
if (data.confirmations.length != 0)
showSuccessMessage(data.confirmations);
else
showErrorMessage(data.error);
},
error : function(data){
if (error_func)
return error_func(data);
alert("[TECHNICAL ERROR]");
}
});
}
//display a success/error/notice message
function showSuccessMessage(msg) {
$.growl.notice({ title: "", message:msg});
}
function showErrorMessage(msg) {
$.growl.error({ title: "", message:msg});
}
function showNoticeMessage(msg) {
$.growl.notice({ title: "", message:msg});
}
$(document).ready(function()
{
if (typeof helper_tabs != 'undefined' && typeof unique_field_id != 'undefined')
{
$.each(helper_tabs, function(index) {
$('#'+unique_field_id+'fieldset_'+index+' .form-wrapper').prepend('');
$('#'+unique_field_id+'fieldset_'+index+' .form-wrapper').prepend('
');
$.each(helper_tabs[index], function(key, value) {
// Move every form-group into the correct .tab-content > .tab-pane
$('#'+unique_field_id+'fieldset_'+index+' .tab-content').append('');
var elemts = $('#'+unique_field_id+'fieldset_'+index).find("[data-tab-id='" + key + "']");
$(elemts).appendTo('#'+key);
// Add the item to the .nav-tabs
if (elemts.length != 0)
$('#'+unique_field_id+'fieldset_'+index+' .nav-tabs').append('