class Admin::SitesController < ApplicationController
  
  layout "new_admin"
  before_filter :authenticate_user!
  before_filter :is_admin?
  before_filter :get_site
  
  # def index
  #   @site = Site.first
  #   # redirect_to :action => :new unless @site
  # end
  
  # def new
  #   @site = Site.new
  # end

  def update
    @site.update_attributes(params[:site])
    redirect_to :back
  end

  def mail_setting
    
  end

  def site_info
    
  end

  def sitemap
    @items = get_homepage.children rescue []
  end

  def sitemap_toggle
    @item = Item.find(params[:id])
    @item.sitemap_enabled[params[:temp_locale]] = (!@item.show_in_sitemap_for(params[:temp_locale])).to_s
    @item.save
    if params[:parent]
      @item.children.each do |child|    
        child.sitemap_enabled[params[:temp_locale]] = @item.sitemap_enabled[params[:temp_locale]].to_s
        child.save
      end
    end
    render :nothing => true
  end

  def system_info
    
  end

  def ui_theme
    
  end

  def change_design
    design = Design.find(params[:site_id]) rescue nil
    update_design(design) if design
    render :nothing => true
  end

  protected

  def update_design(design)
    @site.design = design
    if @site.save
      theme_id = design.themes.first.id
      Page.all.each do |page|
        page.update_attributes({design_id: design.id, theme_id: (theme_id unless page.root?)})
      end
    end
  end

  private

  def get_site
    @site ||= Site.first
  end
  
end
