(function($){

Drupal.behaviors.admin_design_manager = {
selectors : {
‚paragraph‘ : {
‚.aloha-title p‘ : ‚.aloha-title p‘,
‚.aloha-title ol‘ : ‚.aloha-title ol‘,
‚.aloha-title ul‘ : ‚.aloha-title ul‘,
‚.aloha-content p‘ : ‚.aloha-content p‘,
‚.aloha-content ol‘ : ‚.aloha-content ol‘,
‚.aloha-content ul‘ : ‚.aloha-content ul‘,
‚.aloha-table-content p‘ : ‚.aloha-table-content p‘,
‚.aloha-table-content ol‘ : ‚.aloha-table-content ol‘,
‚.aloha-table-content ul‘ : ‚.aloha-table-content ul‘,
‚.contact-informations span‘ : ‚.contact-informations span‘,
‚.custom-block-wrapper p‘ : ‚.custom-block-wrapper p‘,
‚.custom-block-wrapper ol‘ : ‚.custom-block-wrapper ol‘,
‚.custom-block-wrapper ul‘ : ‚.custom-block-wrapper ul‘
},
‚heading-1‘ : { ‚h1‘ : ‚h1‘ },
‚heading-2‘ : { ‚h2‘ : ‚h2‘ },
‚heading-3‘ : { ‚h3‘ : ‚h3‘ },
‚heading-4‘ : { ‚h4‘ : ‚h4‘ },
‚heading-5‘ : { ‚h5‘ : ‚h5‘ },
‚heading-6‘ : { ‚h6‘ : ‚h6‘ },
‚link-active‘ : { ‚a‘ : ‚a‘ },
‚link-visited‘ : { ‚a:visited‘ : ‚a:visited‘ },
‚link-hover‘ : { ‚a:hover‘ : ‚a:hover‘ }
},
regions : {
‚content‘ : ‚#main-wrapper #main‘,
‚footer‘ : ‚#footer-wrapper‘
},
attach: function(settings, context) {

  if(Drupal.settings.design.is_preview && !$("body").is(".design-preview-mode")) {
    $("body").addClass("design-preview-mode");
  }

  //#THEME
  if(Drupal.settings.design.is_preview
    && typeof Drupal.settings.design.global['preview'] != 'undefined'
    && typeof Drupal.settings.design.global['preview']['#theme'] != 'undefined'
    && Drupal.settings.design.global['preview']['#theme'] != null) {
    stance = 'preview';
  }

  // $('ul.themes-list li#theme-' + theme).addClass('active');

  $(".design-theme-item img").click(function(){
      $.ajax({
          type: "POST",
          url: "/design/ajax/theme",
          data: {
            theme : $(this).parent('.design-theme-item').attr("id")
          },
          success: function(msg){
              window.location = Drupal.settings.builder.path;
          }
      });
  });


  //#LAYOUT
  $("#design-theme-layout li a").click(function(event){
    event.preventDefault();
    if (!($(this).parent().hasClass('active'))) {

      var //previousActive = $('#design-theme-layout li.active a'),
        layout = $(this).attr('class'),
        that = this;

      // $("body").removeClass("layout1 layout2 layout3 layout4");
      // $("body").addClass(layout);

      // $("#design-theme-layout a." + layout).closest('li').addClass('active');
      // Drupal.behaviors.design_manager.init.switchLayout($(that));
      // Drupal.productFixSize();

      Drupal.Builder.disable_scroll();
      jConfirm(Drupal.t("Are you sure you want to change layout?"), Drupal.t("Change layout"), function(r){

        if(r) {
          // Drupal.Builder.enable_scroll();
          Drupal.Builder.showLoading('change-layout');

          Drupal.contentManager.status.saveStart();
          $.ajax({
            type: "POST",
            url: "/design/ajax/layout",
            data: {
              page: Drupal.settings.builder.path,
              layout: layout
            },
            success: function() {
              Drupal.Builder.hideLoading('change-layout');
              Drupal.contentManager.status.saveEnd();
              window.location = Drupal.settings.builder.path;
            }
          });
        }
        else {
          Drupal.Builder.enable_scroll();
          // Drupal.behaviors.design_manager.init.switchLayout(previousActive);
        }
      });
    }
  });

  //#SWATCH
  $("#theme-color-swatches li").click(function(){
    var that = this;
    Drupal.Builder.showLoading('swatch-change');
    Drupal.contentManager.status.saveStart();
    $.ajax({
      type: "POST",
      url: "/design/ajax/swatch",
      data: {
        swatch: $(this).attr("class").split(' ')[0]
      },
      success: function(msg){

        var swatch = $(that).attr("class").split(' ')[0],
          classes = $("body").attr("class").split(" ").map(function(item) {
          return item.indexOf("swatch-") === -1 ? item : ("swatch-" + swatch);
        }),

        oldSwatch = $('#theme-color-swatches').find('li.active').attr('class').split(' ')[0];
        screenshot = $('.theme-screenshot').find('img').attr('src'),
        oldScreen = screenshot,
        newScreen = oldScreen.replace(oldSwatch + '.jpg', swatch + '.jpg');

        $('.theme-screenshot').find('img.screenshot').attr('src', newScreen);
        $("#theme-color-swatches").find("li").removeClass('active');
        $(that).addClass('active');
        $("body").attr("class", classes.join(" "));
        Drupal.Builder.hideLoading('swatch-change');
        Drupal.contentManager.status.saveEnd();
      }
    });
  });

  //#CUSTOMIZE BUTTON
  $(".customize-design-button").click(function(){
    $("#designDialog .html-dialog-content:not('.additional-dialog-content')").animate({
      left: "-230px",
    }, 500, function(){});
    $("#designDialog .html-dialog-content.additional-dialog-content").animate({
      left: "0px",
    }, 500, function(){});

    if ($(this).hasClass('customize-bgs-button')) {
      $('.dialog-tab-backgrounds:not(.active)').click();
      $('.dialog-tab-default-style.active').click();
    }
    if ($(this).hasClass('customize-fonts-button')) {
      $('.dialog-tab-backgrounds.active').click();
      $('.dialog-tab-default-style:not(.active)').click();
    }
  });
  $(".breadcrumb-design-tab").click(function(){
    $("#designDialog .html-dialog-content:not('.additional-dialog-content')").animate({
      left: "0px",
    }, 500, function(){});
    $("#designDialog .html-dialog-content.additional-dialog-content").animate({
      left: "230px",
    }, 500, function(){});
  });

  //#DEFAULT STYLE - FONTS
  $("#theme-default-style-regions li.ds-region").click(function(){
    if (!$(this).hasClass('opened')) {
      $(this).addClass('opened');

      var that = this;
      // element = $(this).find("span").attr("class").replace("ds-", "");
      element = 'paragraph';
      region = $(this).attr('id').replace('ds-', '');
      regionName = $(this).find('.text').text();

      $.ajax({
        type: "POST",
        url: "/design/ajax/get_form_default_style",
        data: {
          element: element,
          region: region
        },
        success: function(msg) {
          wrapper = $('<div class="theme-default-style-form-wrapper"></div>');
          wrapper.append(msg[1].settings.form);

          wrapper.dialog({
            position: ['center','center'],
            resizable: false,
            modal: true,
            title: Drupal.t('Customize Fonts') + ' - ' + '<span class="default-style-region-name">' + regionName + '</span>',
            dialogClass: 'theme-default-style-form',
            zIndex: 1007,
            create: function(event, ui){
              Drupal.Builder.disable_scroll();

              var helpLink = $('<a />', {'href': '/builder_help/interface/customize_fonts'}).text('?');
              Drupal.Builder.addHelpToDialog(helpLink, this);

              activeSwatch = wrapper.find('input[name=active_swatch]').val();

              oldValues = $.parseJSON(wrapper.find('input[name=original_fonts]').val());
              themeDefaults = $.parseJSON(wrapper.find('input[name=theme_defaults]').val());

              wrapper.find('.ds-font-underline').hide();

              wrapper.find('.default-style-preview').css('font-family', oldValues[element]['font-family']);
              wrapper.find('.default-style-preview').css('font-size', oldValues[element]['font-size'] + 'px');
              wrapper.find('.default-style-preview').css('font-weight', oldValues[element]['bold'] == 'true' ? 'bold' : 'normal');
              wrapper.find('.default-style-preview').css('font-style', oldValues[element]['italic'] == 'true' ? 'italic' : 'normal');
              if (element != 'paragraph') {
                wrapper.find('.default-style-preview').css('text-decoration', oldValues[element]['underline'] == 'true' ? 'underline' : 'none');
              }
              wrapper.find('.default-style-preview').css('color', oldValues[element]['font-color'][activeSwatch]);

              wrapper.find('.default-style-element-list .ds-element').click(function(){
                wrapper.find('.default-style-element-list .ds-element span').removeClass('active');
                wrapper.find('.default-style-element-list .ds-element').removeClass('active');
                $(this).find('span').addClass('active');
                $(this).addClass('active');
                element = $(this).find("span").attr("class").replace("ds-", "").replace(' active', '');

                if(element != 'paragraph') {
                  wrapper.find('.ds-font-underline').show();
                } else {
                  wrapper.find('.ds-font-underline').hide();
                }

                wrapper.find('#edit-font-family').val(oldValues[element]['font-family']);
                wrapper.find('select').selectbox('detach');
                wrapper.find('select').selectbox({ effect: "fade", speed: 0 });
                wrapper.find('.form-item-font-family .sbOptions li').each(function(index, item){
                  $(item).find('a').css('font-family', $(item).find('a').text());
                });
                wrapper.find('.form-item-font-family .sbSelector').css('font-family', wrapper.find('.form-item-font-family .sbSelector').text());

                wrapper.find('#edit-font-size').val(oldValues[element]['font-size']);
                if (oldValues[element]['bold'] == 'true') {
                  wrapper.find('.ds-font-bold').addClass('active');
                } else {
                  wrapper.find('.ds-font-bold').removeClass('active');
                }
                if (oldValues[element]['italic'] == 'true') {
                  wrapper.find('.ds-font-italic').addClass('active');
                } else {
                  wrapper.find('.ds-font-italic').removeClass('active');
                }
                if (oldValues[element]['underline'] == 'true' && element != 'paragraph') {
                  wrapper.find('.ds-font-underline').addClass('active');
                } else {
                  wrapper.find('.ds-font-underline').removeClass('active');
                }
                wrapper.find('#edit-font-color').val(oldValues[element]['font-color'][activeSwatch]);
                wrapper.find('#edit-font-color').spectrum("set", oldValues[element]['font-color'][activeSwatch]);

                wrapper.find('.default-style-preview').css('font-family', oldValues[element]['font-family']);
                wrapper.find('.default-style-preview').css('font-size', oldValues[element]['font-size'] + 'px');
                wrapper.find('.default-style-preview').css('font-weight', oldValues[element]['bold'] == 'true' ? 'bold' : 'normal');
                wrapper.find('.default-style-preview').css('font-style', oldValues[element]['italic'] == 'true' ? 'italic' : 'normal');
                if (element != 'paragraph') {
                  wrapper.find('.default-style-preview').css('text-decoration', oldValues[element]['underline'] == 'true' ? 'underline' : 'none');
                }
                wrapper.find('.default-style-preview').css('color', oldValues[element]['font-color'][activeSwatch]);
              });

              wrapper.find('select').selectbox({ effect: "fade", speed: 0 });
              wrapper.find('.form-item-font-family .sbOptions li').each(function(index, item){
                $(item).find('a').css('font-family', $(item).find('a').text());
              });
              wrapper.find('.form-item-font-family .sbSelector').css('font-family', wrapper.find('.form-item-font-family .sbSelector').text());
              wrapper.find('.form-item-font-family select').change(function(){
                fontFamily = $(this).val();
                $(this).closest('.form-item').find('.sbSelector').css('font-family', fontFamily);
                wrapper.find('.default-style-preview').css('font-family', fontFamily);
                $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                  $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-family', fontFamily);
                });
                oldValues[element]['font-family'] = fontFamily;
              });

              wrapper.find('#edit-font-size').keyup(function(){
                wrapper.find('.default-style-preview').css('font-size', $(this).val() + 'px');
                fontSizeValue = $(this).val();
                $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                  $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-size', fontSizeValue + 'px');
                });
                oldValues[element]['font-size'] = $(this).val();
              });

              wrapper.find('#edit-font-size').blur(function(){
                if ($(this).val() > 96) {
                  $(this).val(96);
                }
                if ($(this).val() < 9) {
                  $(this).val(9);
                }
                wrapper.find('.default-style-preview').css('font-size', $(this).val() + 'px');
                fontSizeValue = $(this).val();
                $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                  $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-size', fontSizeValue + 'px');
                });
                oldValues[element]['font-size'] = $(this).val();
              });

              wrapper.find('.ds-font-bold').click(function(){
                $(this).toggleClass('active');
                if ($(this).hasClass('active')) {
                  wrapper.find('.default-style-preview').css('font-weight', 'bold');
                  $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                    $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-weight', 'bold');
                  });
                  oldValues[element]['bold'] = 'true';
                } else {
                  wrapper.find('.default-style-preview').css('font-weight', 'normal');
                  $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                    $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-weight', 'normal');
                  });
                  oldValues[element]['bold'] = 'false';
                }
              });
              wrapper.find('.ds-font-italic').click(function(){
                $(this).toggleClass('active');
                if ($(this).hasClass('active')) {
                  wrapper.find('.default-style-preview').css('font-style', 'italic');
                  $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                    $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-style', 'italic');
                  });
                  oldValues[element]['italic'] = 'true';
                } else {
                  wrapper.find('.default-style-preview').css('font-style', 'normal');
                  $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                    $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-style', 'normal');
                  });
                  oldValues[element]['italic'] = 'false';
                }
              });
              wrapper.find('.ds-font-underline').click(function(){
                $(this).toggleClass('active');
                if ($(this).hasClass('active')) {
                  wrapper.find('.default-style-preview').css('text-decoration', 'underline');
                  $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                    $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('text-decoration', 'underline');
                  });
                  oldValues[element]['underline'] = 'true';
                } else {
                  wrapper.find('.default-style-preview').css('text-decoration', 'none');
                  $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                    $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('text-decoration', 'none');
                  });
                  oldValues[element]['underline'] = 'false';
                }
              });

              wrapper.find('#edit-font-color').spectrum({
                cancelText: Drupal.t('Cancel'),
                chooseText: Drupal.t('Choose'),
                palette: [
                  ["#ffffff", "#cecece", "#c6c6c6", "#9c9c9c", "#636363", "#313131", "#000000"],
                  ["#ffcece", "#ff6363", "#ff0000", "#ce0000", "#9c0000", "#630000", "#310000"],
                  ["#ffce9c", "#ff9c63", "#ff9c00", "#ff6300", "#ce6300", "#9c3100", "#633100"],
                  ["#ffff9c", "#ffff63", "#ffce63", "#ffce31", "#ce9c31", "#9c6331", "#633131"],
                  ["#ffffce", "#ffff31", "#ffff00", "#ffce00", "#9c9c00", "#636300", "#313100"],
                  ["#9cff9c", "#63ff9c", "#31ff31", "#31ce00", "#009c00", "#006300", "#003100"],
                  ["#9cffff", "#31ffff", "#63cece", "#00cece", "#319c9c", "#316363", "#003131"],
                  ["#ceffff", "#63ffff", "#31ceff", "#3163ff", "#3131ff", "#00009c", "#000063"],
                  ["#ceceff", "#9c9cff", "#6363ce", "#6331ff", "#6300ce", "#31319c", "#31009c"],
                  ["#ffceff", "#ff9cff", "#ce63ce", "#ce31ce", "#9c319c", "#633163", "#310031"]
                ],
                showInput: true,
                showInitial: true,
                showPalette: true,
                change: function(color) {
                  wrapper.find('#edit-font-color').val(color.toHexString());
                  wrapper.find('.default-style-preview').css('color', color.toHexString());
                  $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                    $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('color', color.toHexString());
                  });
                  oldValues[element]['font-color'][activeSwatch] = color.toHexString();
                }
              });

              wrapper.find('.ds-reset').click(function(e){
                jConfirm(Drupal.t('Are you sure you want to restore the default style?'), Drupal.t('Restore default style'), function(r){
                  if(r){
                    $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-family', themeDefaults[element]['font-family']);
                    });
                    oldValues[element]['font-family'] = themeDefaults[element]['font-family'];

                    $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-size', themeDefaults[element]['font-size'] + 'px');
                    });
                    oldValues[element]['font-size'] = themeDefaults[element]['font-size'];

                    $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('color', themeDefaults[element]['font-color'][activeSwatch]);
                    });
                    oldValues[element]['font-color'][activeSwatch] = themeDefaults[element]['font-color'][activeSwatch];

                    if (themeDefaults[element]['bold'] == 'true') {
                      $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                        $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-weight', 'bold');
                      });
                      oldValues[element]['bold'] = 'true';
                    } else {
                      $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                        $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-weight', 'normal');
                      });
                      oldValues[element]['bold'] = 'false';
                    }

                    if (themeDefaults[element]['italic'] == 'true') {
                      $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                        $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-style', 'italic');
                      });
                      oldValues[element]['italic'] = 'true';
                    } else {
                      $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                        $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-style', 'normal');
                      });
                      oldValues[element]['italic'] = 'false';
                    }

                    if (themeDefaults[element]['underline'] == 'true') {
                      $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                        $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('text-decoration', 'underline');
                      });
                      oldValues[element]['underline'] = 'true';
                    } else {
                      $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
                        $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('text-decoration', 'none');
                      });
                      oldValues[element]['underline'] = 'false';
                    }

                    wrapper.find('#edit-font-family').val(oldValues[element]['font-family']);
                    wrapper.find('select').selectbox('detach');
                    wrapper.find('select').selectbox({ effect: "fade", speed: 0 });
                    wrapper.find('.form-item-font-family .sbOptions li').each(function(index, item){
                      $(item).find('a').css('font-family', $(item).find('a').text());
                    });

                    wrapper.find('#edit-font-size').val(oldValues[element]['font-size']);
                    if (oldValues[element]['bold'] == 'true') {
                      wrapper.find('.ds-font-bold').addClass('active');
                    } else {
                      wrapper.find('.ds-font-bold').removeClass('active');
                    }
                    if (oldValues[element]['italic'] == 'true') {
                      wrapper.find('.ds-font-italic').addClass('active');
                    } else {
                      wrapper.find('.ds-font-italic').removeClass('active');
                    }
                    if (oldValues[element]['underline'] == 'true' && element != 'paragraph') {
                      wrapper.find('.ds-font-underline').addClass('active');
                    } else {
                      wrapper.find('.ds-font-underline').removeClass('active');
                    }
                    wrapper.find('#edit-font-color').val(oldValues[element]['font-color'][activeSwatch]);
                    wrapper.find('#edit-font-color').spectrum("set", oldValues[element]['font-color'][activeSwatch]);

                    wrapper.find('.default-style-preview').css('font-family', oldValues[element]['font-family']);
                    wrapper.find('.default-style-preview').css('font-size', oldValues[element]['font-size'] + 'px');
                    wrapper.find('.default-style-preview').css('font-weight', oldValues[element]['bold'] == 'true' ? 'bold' : 'normal');
                    wrapper.find('.default-style-preview').css('font-style', oldValues[element]['italic'] == 'true' ? 'italic' : 'normal');
                    if (element != 'paragraph') {
                      wrapper.find('.default-style-preview').css('text-decoration', oldValues[element]['underline'] == 'true' ? 'underline' : 'none');
                    }
                    wrapper.find('.default-style-preview').css('color', oldValues[element]['font-color'][activeSwatch]);


                  }
                });
              });

              wrapper.find('#edit-submit').click(function(e){
                e.stopPropagation();
                e.preventDefault();

                Drupal.contentManager.status.saveStart();

                $.ajax({
                  type: "POST",
                  url: "/design/ajax/save_default_style",
                  data: {
                    region: region,
                    settings: oldValues
                  },
                  success: function(msg) {
                    Drupal.contentManager.status.saveEnd();
                    Drupal.Builder.enable_scroll();

                    $('link').each(function(){
                      linkAttr = $(this).attr('href');
                      if (linkAttr.indexOf('?') > -1) {
                          linkAttr = linkAttr.substring(0, linkAttr.indexOf('?'));
                        }
                      $(this).attr('href', linkAttr + '?v=' + $.now());
                    });

                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'paragraph');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-1');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-2');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-3');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-4');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-5');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-6');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'link-active');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'link-visited');
                    Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'link-hover');
                  }
                });

                $('#theme-default-style-regions li.ds-region').removeClass('opened');
                $(this).dialog('destroy');
                $('.theme-default-style-form-wrapper').remove();
              });

              $('.theme-default-style-form .dialog-cancel-button, .theme-default-style-form .ui-dialog-titlebar-close').click(function(e){
                $('#theme-default-style-regions li.ds-region').removeClass('opened');
                wrapper.dialog('destroy').remove();
                Drupal.Builder.enable_scroll();
                Drupal.behaviors.admin_design_manager.removeInlineStyles(region, element);
                return false;
              });
            },
            close: function(event, ui){
              $('#theme-default-style-regions li.ds-region').removeClass('opened');
              $(this).dialog('destroy');
              $('.theme-default-style-form-wrapper').remove();
              Drupal.Builder.enable_scroll();
              Drupal.behaviors.admin_design_manager.removeInlineStyles(region, element);
            }
          });
        }
      });
    }
  });

  $("#theme-default-style-regions li.ds-reset-all").click(function(){
    jConfirm(Drupal.t('Are you sure you want to restore the default style?'), Drupal.t('Restore default style'), function(r){
      if(r){
        Drupal.contentManager.status.saveStart();

        $.ajax({
          type: "POST",
          url: "/design/ajax/reset_default_style",
          data: {
            element: 'all'
          },
          success: function(msg) {
            Drupal.contentManager.status.saveEnd();

            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'paragraph');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-1');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-2');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-3');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-4');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-5');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'heading-6');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'link-active');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'link-visited');
            // Drupal.behaviors.admin_design_manager.removeInlineStyles(region, 'link-hover');

            $('link').each(function(){
              linkAttr = $(this).attr('href');
              if (linkAttr.indexOf('?') > -1) {
                  linkAttr = linkAttr.substring(0, linkAttr.indexOf('?'));
                }
              $(this).attr('href', linkAttr + '?v=' + $.now());
            });
          }
        });
      }
    });
  });

  //#DEFAULT STYLE - BACKGROUNDS
  var selector;
  $('#theme-backgrounds-regions .bg-region').live('mouseenter', function(){
    selector = $(this).attr('selector');
    $(selector).append($('<div/>').addClass('cover-div'));
    $(selector).css('outline', '2px solid white');
    // $(selector).css('opacity', '0.2');
    if ($(selector).css('position') == 'static') {
      $(selector).css('position', 'relative');
    }
  }).live('mouseleave', function(){
    selector = $(this).attr('selector');
    $(selector).find('.cover-div').remove();
    $(selector).css('outline', 'none');
    // $(selector).css('opacity', '');
    $(selector).css('position', '');
  });
  $("#theme-backgrounds-regions .bg-region").click(function(){
    if (!$(this).hasClass('opened')) {
      $(this).addClass('opened');

      region = $("#theme-backgrounds-regions li.bg-region.opened").attr('id').replace('bg-', '');
      regionSelector = $("#theme-backgrounds-regions li.bg-region.opened").attr('selector');
      dialogTitle = $(this).attr('dialogtitle');

      $.ajax({
        type: "POST",
        url: "/design/ajax/get_form_backgrounds",
        data: {
          region: region
        },
        success: function(msg) {
          wrapper = $('<div class="theme-backgrounds-form-wrapper"></div>');
          wrapper.append(msg[1].settings.form);

          wrapper.dialog({
            position: ['center','center'],
            resizable: false,
            modal: true,
            title: dialogTitle,
            dialogClass: 'theme-backgrounds-form',
            zIndex: 1007,
            create: function(event, ui){
              Drupal.Builder.disable_scroll();

              var helpLink = $('<a />', {'href': '/builder_help/interface/customize_backgrounds'}).text('?');
              Drupal.Builder.addHelpToDialog(helpLink, this);

              if (wrapper.find('.position-wrapper span.active').length == 0) {
                wrapper.find('.position-wrapper span#bg-pos-top-left').addClass('active');
              }

              $('select[name=scaling]').selectbox({ effect: "fade", speed: 0 });

              bgValues = {
                img : wrapper.find('input[name=path]').val(),
                imgScaling : wrapper.find('select[name=scaling]').val(),
                imgFixed : wrapper.find('input[name=fixed]:checked').length > 0 ? 1 : 0,
                bgColor : wrapper.find('#edit-color').val(),
                imgPosition : wrapper.find('.position-wrapper .active').attr('id').replace('bg-pos-', '').replace('-', ' ')
              }

              patternBg = $('#bg-image').attr('src').match(/\/pattern\//gi);
              if (patternBg) {
                wrapper.find('.sbOptions a').closest('li').hide();
                wrapper.find('.sbOptions a[href="#tile"]').closest('li').show();
              } else {
                wrapper.find('.sbOptions a').closest('li').show();
              }

              if (wrapper.find('input[name=content_padding]').length > 0) {
                bgValues.imgContentPadding = wrapper.find('input[name=content_padding]:checked').length > 0 ? 1 : 0;
              } else {
                bgValues.imgContentPadding = 'nopadding';
              }

              upload = Drupal.fileUploadManager.init( {
                element : wrapper.find('.ajax-bg-image-upload')[0],
                // action : '/html_elements/ajax/file_upload/-1',
                sizeLimit : 5242880,
                allowedExtensions: ['jpg','jpeg','png','gif'],
                multiple : false,
                template : Drupal.settings.html_elements.templates['image_upload'],
                params : {
                  folder : 'uploads'
                },

                onSubmit : function(id, fileName) {
                  Drupal.fileUploadManager.fileProgress.show(id, fileName);
                },

                onComplete : function(id, fileName, responseJSON) {
                  Drupal.fileUploadManager.fileProgress.hide(id, fileName);
                  if(responseJSON.success){
                    src = Drupal.settings.builder.publicUploadUrl + '/' + responseJSON.filename;
                    wrapper.find('#bg-image').attr('src', src.replace('uploads', 'styles/gallery_thumbnail/public/uploads'));
                    $('input[name=path]').val(src);

                    wrapper.find('.ajax-bg-image-upload').hide();
                    wrapper.find('#bg-uploaded-image').show();

                    bgValues.img = src;
                    Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                  }
                },

                onProgress : function(id, fileName, loaded, total) {
                  Drupal.fileUploadManager.fileProgress.progress(id, fileName, loaded, total);
                }
              });

              wrapper.find('#bg-uploaded-image-change, .ajax-bg-image-upload').click(function(e){
                e.preventDefault();

                Drupal.uploadedFilesDialog({
                  type : 'image',
                  target : $('.ui-dialog'),
                  cls : 'uploaded-images-dialog customize-backgrounds-uploaded-images-dialog',
                  fileTypes : [
                    fileType.PNG,
                    fileType.JPG,
                    fileType.JPEG,
                    fileType.GIF
                  ],
                  multiple : false,
                  folder : 'uploads',
                  stock: true,
                  pattern: true,

                  createActions : function(dialog){
                  },

                  uploadCompleteActions : function(dialog, newFile, id, fileName, response){
                    this.loadActions(dialog);
                  },

                  loadActions : function(dialog){
                    $('.customize-backgrounds-uploaded-images-dialog .stock-images .add-stock-image')
                      .unbind('click')
                      .die('click')
                      .live('click', function() {
                      var imageSrc = $(this).closest('.stock-images').find('.view-image').attr('href'),
                        imageTitle = $(this).closest('.stock-images').find('.stock-image-title').text();
                      instance = this;

                      // Save image local
                      $.ajax({
                        type : 'POST',
                        url : '/stock_images_client/save_image_local',
                        data : {
                          url: imageSrc,
                          title: imageTitle
                        },
                        success : function(msg){
                          if(msg[1].settings.success == 1) {
                            src = $(instance).closest('.stock-images').find('.image').css('background-image').replace('url(', '').replace(')', '').replace(/"/g, '').replace(/'/g, '');
                            Drupal.uploadedFile = Drupal.getLocalFilePath(src);
                            Drupal.uploadedFileType = 'image';
                            wrapper.find('#bg-image').attr('src', src);
                            $('input[name=path]').val(src.replace('styles/gallery_thumbnail/storage/', 'styles/sb_xlarge/storage/'));

                            patternBg = src.match(/\/pattern\//gi);
                            if (patternBg) {
                              wrapper.find('#edit-scaling').val('tile');
                              wrapper.find('select').selectbox('detach');
                              wrapper.find('select').selectbox({ effect: "fade", speed: 0 });
                              wrapper.find('.sbOptions a').closest('li').hide();
                              wrapper.find('.sbOptions a[href="#tile"]').closest('li').show();
                              bgValues.imgScaling = 'tile';
                            } else {
                              wrapper.find('.sbOptions a').closest('li').show();
                            }

                            bgValues.img = src.replace('styles/gallery_thumbnail/storage/', 'styles/sb_xlarge/storage/');

                            wrapper.find('.ajax-bg-image-upload').hide();
                            wrapper.find('#bg-uploaded-image').show();
                            Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                            dialog.dialog('close');
                          }
                          else if(msg[1].settings.success == -1) {
                            alert(Drupal.t('Already added'));
                          }
                          else if(msg[1].settings.success == -2) {
                            alert(Drupal.t('error'));
                          }
                        }
                      });
                    });

                    $('.customize-backgrounds-uploaded-images-dialog .add-uploaded-image').die('click').live('click', function(){
                      src = $(this).closest('.uploaded-image').find('.image').css('background-image').replace('url(', '').replace(')', '').replace(/"/g, '').replace(/'/g, '');
                      if (src.indexOf('?') > 0) {
                        src = src.substring(0, src.indexOf('?'));
                      }
                      wrapper.find('#bg-image').attr('src', src);
                      $('input[name=path]').val(src.replace('styles/gallery_thumbnail/public/', 'styles/sb_xlarge/public/').replace('styles/gallery_thumbnail/storage/', 'styles/sb_xlarge/storage/'));

                      wrapper.find('.ajax-bg-image-upload').hide();
                      wrapper.find('#bg-uploaded-image').show();

                      patternBg = src.match(/\/pattern\//gi);
                      if (patternBg) {
                        wrapper.find('#edit-scaling').val('tile');
                        wrapper.find('select').selectbox('detach');
                        wrapper.find('select').selectbox({ effect: "fade", speed: 0 });
                        wrapper.find('.sbOptions a').closest('li').hide();
                        wrapper.find('.sbOptions a[href="#tile"]').closest('li').show();
                        bgValues.imgScaling = 'tile';
                      } else {
                        wrapper.find('.sbOptions a').closest('li').show();
                      }

                      bgValues.img = src.replace('styles/gallery_thumbnail/public/', 'styles/sb_xlarge/public/').replace('styles/gallery_thumbnail/storage/', 'styles/sb_xlarge/storage/');
                      Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);

                      dialog.dialog('close');
                    });

                    $('.delete-uploaded-image').die('click').live('click', function(){
                      var item = $(this);
                      var image = $(item).closest('.uploaded-image')
                      var src = image.find('.image').css('background-image').replace('url(', '').replace(')', '').replace(/"/g, '').replace(/'/g, '');
                      var used = false;
                      var deleteConfirmText = Drupal.t('Are you sure you want to delete this picture?');

                      $.ajax({
                        type : 'POST',
                        url : '/image_collection/ajax/image_is_used',
                        async : false,
                        data : {
                          src : src
                        },
                        success : function(msg){
                          if(msg[1].settings.success && msg[1].settings.used) {
                            deleteConfirmText = Drupal.t('This picture is used by one of your widgets. Do you want to remove this picture from all widgets?');
                          }
                        },
                      });

                      jConfirm(deleteConfirmText, Drupal.t('Picture Remove Confirmation'), function(r){
                        if(r){
                          image = item.closest('.uploaded-image');
                          src = image.find('.image').css('background-image').replace('url(', '').replace(')', '').replace(/"/g, '').replace(/'/g, '');
                          if (src.indexOf('?') > -1) {
                            src = src.substring(0, src.indexOf('?'));
                          }
                          realSrc = src;

                          deletedSrc = src.substr(src.lastIndexOf('/') + 1);

                          $.ajax({
                            type : 'POST',
                            url : '/image_collection/ajax/delete',
                            data : {
                              src : Drupal.getLocalFilePath(src),
                              path : Drupal.settings.builder.path
                              },
                            success : function(msg){
                              if(msg[1].settings.success){
                                $.each(msg[1].settings.updated, function(index, value){
                                  Drupal.Builder.ajaxHandlers.getBlock(value.module,value.delta);
                                });
                                image.remove();

                                $('.uploaded-image-content .uploaded-image.last').removeClass('last');
                                $('.uploaded-image-content .uploaded-image').each(function(index) {
                                  if(index > 0 && (index + 1) % 6 == 0) {
                                    $(this).addClass('last');
                                  }
                                });

                                $('#theme-backgrounds-regions li').each(function(key, value){
                                  selector = $(this).attr('selector');
                                  if ($(selector).css('background-image').indexOf(deletedSrc) > -1) {
                                    $(selector).css('background-image', 'none');
                                  }
                                });

                                inputValue = $('input[name=path]').val();
                                inputValue = inputValue.substr(inputValue.lastIndexOf('/') + 1);
                                if (inputValue.indexOf('?') > -1) {
                                  inputValue = inputValue.substring(0, inputValue.indexOf('?'));
                                }
                                if (inputValue == deletedSrc) {
                                  $('input[name=path]').val('');

                                  wrapper.find('.sbOptions a').closest('li').show();

                                  wrapper.find('.ajax-bg-image-upload').show();
                                  wrapper.find('#bg-uploaded-image').hide();

                                  bgValues.img = 'none';
                                  Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                                }

                                $('link').each(function(){
                                  linkAttr = $(this).attr('href');
                                  if (linkAttr.indexOf('?') > -1) {
                                      linkAttr = linkAttr.substring(0, linkAttr.indexOf('?'));
                                    }
                                  $(this).attr('href', linkAttr + '?v=' + $.now());
                                });

                                if(msg[1].settings.banner_changed){
                                  Drupal.settings.design.global = {};
                                  Drupal.settings.design.global = $.extend(true, {}, msg[1].settings.banner_changed.global);
                                  Drupal.settings.design.page = {};
                                  Drupal.settings.design.page = $.extend(true, {}, msg[1].settings.banner_changed.page);

                                  Drupal.behaviors.dynamic_banner.attach();
                                  if(typeof Drupal.behaviors.bannerSlideshow != 'undefined'){
                                    Drupal.behaviors.bannerSlideshow.reset();
                                    Drupal.behaviors.bannerSlideshow.attach();
                                  }
                                }
                              }

                            }
                          });
                        }
                      });
                    });

                    $('.uploaded-image-content .uploaded-image').each(function(index) {
                      $(this).find('a.view-image').colorbox({
                        maxHeight: $(window).height() - 50
                      });
                      if(index > 0 && (index + 1) % 6 == 0) {
                        $(this).addClass('last');
                      }
                    });

                    $('.uploaded-files-ok').unbind('click').click(function() {
                      dialog.dialog('close');
                    });
                  },

                  closeActions :function(event, ui){
                  }
                });
              });

              wrapper.find('#bg-uploaded-image-remove').click(function(e){
                $('input[name=path]').val('');

                wrapper.find('.sbOptions a').closest('li').show();

                wrapper.find('.ajax-bg-image-upload').show();
                wrapper.find('#bg-uploaded-image').hide();

                bgValues.img = 'none';
                Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
              });

              if ($('input[name=path]').val() != '') {
                wrapper.find('.ajax-bg-image-upload').hide();
                wrapper.find('#bg-uploaded-image').show();
              }

              wrapper.find('#edit-color').spectrum({
                cancelText: Drupal.t('Cancel'),
                chooseText: Drupal.t('Choose'),
                palette: [
                  ["#ffffff", "#cecece", "#c6c6c6", "#9c9c9c", "#636363", "#313131", "#000000"],
                  ["#ffcece", "#ff6363", "#ff0000", "#ce0000", "#9c0000", "#630000", "#310000"],
                  ["#ffce9c", "#ff9c63", "#ff9c00", "#ff6300", "#ce6300", "#9c3100", "#633100"],
                  ["#ffff9c", "#ffff63", "#ffce63", "#ffce31", "#ce9c31", "#9c6331", "#633131"],
                  ["#ffffce", "#ffff31", "#ffff00", "#ffce00", "#9c9c00", "#636300", "#313100"],
                  ["#9cff9c", "#63ff9c", "#31ff31", "#31ce00", "#009c00", "#006300", "#003100"],
                  ["#9cffff", "#31ffff", "#63cece", "#00cece", "#319c9c", "#316363", "#003131"],
                  ["#ceffff", "#63ffff", "#31ceff", "#3163ff", "#3131ff", "#00009c", "#000063"],
                  ["#ceceff", "#9c9cff", "#6363ce", "#6331ff", "#6300ce", "#31319c", "#31009c"],
                  ["#ffceff", "#ff9cff", "#ce63ce", "#ce31ce", "#9c319c", "#633163", "#310031"]
                ],
                showAlpha: true,
                showInput: true,
                showInitial: true,
                showPalette: true,
                change: function(color) {
                  wrapper.find('#edit-color').val(color.toRgbString());
                  bgValues.bgColor = color.toRgbString();
                  Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                }
              });

              wrapper.find('input[name=content_padding]').change(function(){
                if ($(this).is(':checked')) {
                  bgValues.imgContentPadding = 1;
                  Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                } else {
                  bgValues.imgContentPadding = 0;
                  Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                }
              });

              wrapper.find('input[name=fixed]').change(function(){
                if ($(this).is(':checked')) {
                  bgValues.imgFixed = 'fixed';
                  Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                } else {
                  bgValues.imgFixed = 'scroll';
                  Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
                }
              });

              wrapper.find('select[name=scaling]').change(function(){
                bgValues.imgScaling = $(this).val();
                Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
              });

              wrapper.find('.position-wrapper span').click(function(){
                wrapper.find('.position-wrapper span').removeClass('active');
                $(this).addClass('active');
                bgValues.imgPosition = $(this).attr('id').replace('bg-pos-', '').replace('-', ' ');
                Drupal.behaviors.admin_design_manager.backgroundPreview(regionSelector, bgValues);
              });

              wrapper.find('.bg-reset').click(function(e){
                jConfirm(Drupal.t('Are you sure you want to restore the default style?'), Drupal.t('Restore default style'), function(r){
                  if(r){
                    Drupal.contentManager.status.saveStart();

                    $.ajax({
                      type: "POST",
                      url: "/design/ajax/reset_default_style",
                      data: {
                        element: 'background',
                        region: region
                      },
                      success: function(msg) {
                        Drupal.contentManager.status.saveEnd();

                        $('link').each(function(){
                          linkAttr = $(this).attr('href');
                          if (linkAttr.indexOf('?') > -1) {
                              linkAttr = linkAttr.substring(0, linkAttr.indexOf('?'));
                            }
                          $(this).attr('href', linkAttr + '?v=' + $.now());
                        });
                      }
                    });

                    $('#theme-backgrounds-regions li.bg-region').removeClass('opened');
                    $(this).dialog('destroy');
                    Drupal.Builder.enable_scroll();
                    $('.theme-backgrounds-form-wrapper').remove();
                  }
                });

              });

              wrapper.find('#edit-submit').click(function(e){
                e.stopPropagation();
                e.preventDefault();

                Drupal.contentManager.status.saveStart();

                settings = {
                  img : wrapper.find('input[name=path]').val(),
                  imgScaling : wrapper.find('select[name=scaling]').val(),
                  imgContentPadding : wrapper.find('input[name=content_padding]:checked').length > 0 ? 1 : 0,
                  imgFixed : wrapper.find('input[name=fixed]:checked').length > 0 ? 1 : 0,
                  bgColor : wrapper.find('#edit-color').val(),
                  imgPosition : wrapper.find('.position-wrapper .active').attr('id').replace('bg-pos-', '').replace('-', ' ')
                }
                $.ajax({
                  type: "POST",
                  url: "/design/ajax/save_backgrounds",
                  data: {
                    region: region.replace('bg-', ''),
                    settings: settings
                  },
                  success: function(msg) {
                    Drupal.contentManager.status.saveEnd();
                    Drupal.Builder.enable_scroll();

                    $('link').each(function(){
                      linkAttr = $(this).attr('href');
                      if (linkAttr.indexOf('?') > -1) {
                          linkAttr = linkAttr.substring(0, linkAttr.indexOf('?'));
                        }
                      $(this).attr('href', linkAttr + '?v=' + $.now());
                    });

                    Drupal.behaviors.admin_design_manager.removeInlineStyles(regionSelector, false, true);
                  }
                });

                $('#theme-backgrounds-regions li.bg-region').removeClass('opened');
                $(this).dialog('destroy');
                $('.theme-backgrounds-form-wrapper').remove();
              });

              $('.theme-backgrounds-form .dialog-cancel-button, .theme-backgrounds-form .ui-dialog-titlebar-close').click(function(e){
                $('#theme-backgrounds-regions li.bg-region').removeClass('opened');
                wrapper.dialog('destroy').remove();
                Drupal.Builder.enable_scroll();
                Drupal.behaviors.admin_design_manager.removeInlineStyles(regionSelector, false, true);
                return false;
              });
            },
            close: function(event, ui){
              $('#theme-backgrounds-regions li.bg-region').removeClass('opened');
              $(this).dialog('destroy');
              $('.theme-backgrounds-form-wrapper').remove();
              Drupal.Builder.enable_scroll();
              Drupal.behaviors.admin_design_manager.removeInlineStyles(regionSelector, false, true);
            }
          });
        }
      });
    }
  });
  $("#theme-backgrounds li.bg-reset-all").click(function(){
    jConfirm(Drupal.t('Are you sure you want to restore the default background?'), Drupal.t('Restore default background'), function(r){
      if(r){
        Drupal.contentManager.status.saveStart();

        $.ajax({
          type: "POST",
          url: "/design/ajax/reset_default_style",
          data: {
            element: 'background-all'
          },
          success: function(msg) {
            Drupal.contentManager.status.saveEnd();

            $('link').each(function(){
              linkAttr = $(this).attr('href');
              if (linkAttr.indexOf('?') > -1) {
                  linkAttr = linkAttr.substring(0, linkAttr.indexOf('?'));
                }
              $(this).attr('href', linkAttr + '?v=' + $.now());
            });
          }
        });
      }
    });
  });
},
removeInlineStyles: function(region, element, background) {
  if (element != false) {
    $.each(Drupal.behaviors.admin_design_manager.selectors[element], function(index, value){
      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-family', '');
      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-size', '');
      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('color', '');
      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('text-decoration', '');
      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-style', '');
      $(Drupal.behaviors.admin_design_manager.regions[region] + ' ' + value).css('font-weight', '');
    });
  }

  if (background == true) {
    $(region).css('background-image', '');
    $(region).css('background-size', '');
    $(region).css('background-repeat', '');
    $(region).css('background-attachment', '');
    $(region).css('background-color', '');
    $(region).css('background-position', '');

    $(region).css('padding', '');
  }
},
backgroundPreview: function(regionSelector, settings) {
  $(regionSelector).css('background-image', 'url("' + settings.img + '")');

  switch(settings.imgContentPadding) {
    case 1:
      $(regionSelector).css('padding', 25);
      $(regionSelector).css('box-sizing', 'border-box');
      break;
    case 0:
      $(regionSelector).css('padding', 0);
      break;
  }

  $(regionSelector).css('background-attachment', settings.imgFixed);
  $(regionSelector).css('background-color', settings.bgColor);
  $(regionSelector).css('background-position', settings.imgPosition);

  switch(settings.imgScaling) {
    case 'full':
      $(regionSelector).css('background-size', 'cover');
      $(regionSelector).css('background-repeat', 'no-repeat');
      break;
    case 'fit':
      $(regionSelector).css('background-size', 'contain');
      $(regionSelector).css('background-repeat', 'no-repeat');
      break;
    case 'tile':
      $(regionSelector).css('background-size', 'initial');
      $(regionSelector).css('background-repeat', 'repeat');
      break;
    case 'vertically':
      $(regionSelector).css('background-size', 'initial');
      $(regionSelector).css('background-repeat', 'repeat-y');
      break;
    case 'horizontally':
      $(regionSelector).css('background-size', 'initial');
      $(regionSelector).css('background-repeat', 'repeat-x');
      break;
    case 'normal':
      $(regionSelector).css('background-size', 'auto');
      $(regionSelector).css('background-repeat', 'no-repeat');
      break;
  }
}

}
}(jQuery));