diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css new file mode 100644 index 000000000..fad1eb25d --- /dev/null +++ b/app/assets/stylesheets/application.css @@ -0,0 +1,16 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's + * vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + *= require_tree . + *= require_self + + */ diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 2524c53d8..e62dcf6ed 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -38,7 +38,7 @@ class AccountsController < ApplicationController return normal_status(-2, "验证码已失效") if !verifi_code&.effective? end - code = generate_identifier User, 8 + code = generate_identifier User, 8, pre login = pre + code @user = User.new(admin: false, login: login, mail: email, phone: phone, type: "User") @user.password = params[:password] diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index f251b91d0..bea9e6173 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -396,10 +396,10 @@ class ApplicationController < ActionController::Base end # 随机生成字符 - def generate_identifier(container, num) + def generate_identifier(container, num, pre='') code = DCODES.sample(num).join if container == User - while container.exists?(login: code) do + while container.exists?(login: pre+code) do code = DCODES.sample(num).join end else @@ -451,7 +451,7 @@ class ApplicationController < ActionController::Base cpu_limit = config.cpu_limit.presence || 1 cpu_request = config.lower_cpu_limit.presence || 0.1 memory_limit = config.memory_limit.presence || 1024 - request_limit = config.resource_limit.presence || 10 + request_limit = config.request_limit.presence || 10 resource_limit = config.resource_limit.presence || 10000 container << {:image => mirror.name, :cpuLimit => cpu_limit, diff --git a/app/controllers/concerns/git_helper.rb b/app/controllers/concerns/git_helper.rb index d77e1c3f6..6a3765401 100644 --- a/app/controllers/concerns/git_helper.rb +++ b/app/controllers/concerns/git_helper.rb @@ -10,6 +10,7 @@ module GitHelper def git_fle_content(repo_path, path) begin Rails.logger.info("git file content: repo_path is #{repo_path}, path is #{path}") + content = GitService.file_content(repo_path: repo_path, path: path) Rails.logger.info("git file content: content is #{content}") @@ -33,7 +34,8 @@ module GitHelper rescue Exception => e Rails.logger.error(e.message) - raise Educoder::TipException.new("文档内容获取异常") + Rails.logger.error("#####__________文档内容获取异常") + # raise Educoder::TipException.new("文档内容获取异常") end end diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 8a532a9ad..983432335 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -12,7 +12,7 @@ class CoursesController < ApplicationController end before_action :require_login, except: [:index, :show, :students, :teachers, :board_list, :mine, :all_course_groups, - :left_banner, :top_banner] + :left_banner, :top_banner, :informs, :online_learning] before_action :check_account, only: [:new, :create, :apply_to_join_course, :join_excellent_course] before_action :check_auth, except: [:index, :show, :students, :teachers, :board_list, :mine, :all_course_groups, :left_banner, :top_banner, :apply_to_join_course, :exit_course] @@ -26,18 +26,22 @@ class CoursesController < ApplicationController :base_info, :get_historical_courses, :create_group_by_importing_file, :attahcment_category_list,:export_member_scores_excel, :duplicate_course, :switch_to_teacher, :switch_to_assistant, :switch_to_student, :exit_course, - :informs, :update_informs, :join_excellent_course, :online_learning] + :informs, :update_informs, :online_learning, + :update_task_position, :tasks_list] + before_action :set_course, only: [:join_excellent_course] before_action :teacher_allowed, only: [:update, :destroy, :settings, :search_teacher_candidate, :transfer_to_course_group, :delete_from_course, :search_users, :add_students_by_search, :get_historical_courses, :add_teacher_popup, :add_teacher] before_action :admin_allowed, only: [:set_invite_code_halt, :set_public_or_private, :change_course_admin, - :set_course_group, :create_group_by_importing_file, :update_informs] + :set_course_group, :create_group_by_importing_file, :update_informs, + :update_task_position, :tasks_list] before_action :teacher_or_admin_allowed, only: [:graduation_group_list, :create_graduation_group, :join_graduation_group, :change_course_teacher, :export_member_scores_excel, :course_group_list, :teacher_application_review, :apply_teachers, :delete_course_teacher] before_action :validate_course_name, only: [:create, :update] before_action :find_board, only: :board_list before_action :validate_page_size, only: :mine + before_action :course_tasks, only: [:tasks_list, :update_task_position] if RUBY_PLATFORM =~ /linux/ require 'simple_xlsx_reader' @@ -58,6 +62,9 @@ class CoursesController < ApplicationController @courses = Course.where(is_delete: 0, is_hidden: 0, is_end: 0) end + # 金课未开课的不显示在首页 + @courses = @courses.where("start_date is null or start_date <= '#{Date.today}'") + # 根据搜索关键字进一步筛选 if params[:search].present? # REDO:Extension @@ -100,12 +107,18 @@ class CoursesController < ApplicationController # GET /courses/new def new @course = Course.new - normal_status("成功") + unless params[:subject_id].blank? + subject = Subject.find_by(id: params[:subject_id], excellent: 1) + render :json => {status: 0, course_name: "#{subject&.name}第#{subject&.courses&.count.to_i + 1}期"} + else + normal_status("成功") + end end # Get /courses/:id/settings # Edit Page def settings + @course_modules = @course.course_modules.where.not(module_type: 'activity') end # POST /courses @@ -152,7 +165,7 @@ class CoursesController < ApplicationController end rescue => e uid_logger_error(e.message) - tip_exception("课堂创建失败!") + tip_exception(e.message) raise ActiveRecord::Rollback end end @@ -685,12 +698,12 @@ class CoursesController < ApplicationController if order == 1 # REDO:Extension - @students = @students.includes(user: :user_extension).order("user_extensions.student_id") + @students = @students.includes(user: :user_extension).order("user_extensions.student_id, course_members.id") elsif order == 2 - @students = @students.includes(:course_group).order("course_groups.position") + @students = @students.includes(:course_group).order("course_groups.position, course_members.id") else # REDO:Extension - @students = @students.includes(user: :user_extension).order("user_extensions.student_id") + @students = @students.includes(user: :user_extension).order("user_extensions.student_id, course_members.id") end if course_group_id.present? @@ -918,10 +931,10 @@ class CoursesController < ApplicationController return normal_status(-1, "课堂已结束,无法加入") if course.is_end # 实名认证和职业认证的身份判断 - return normal_status(-1, "该课堂要求成员完成实名和职业认证") if course.authentication && - course.professional_certification && (!current_user.authentication || !current_user.professional_certification) - return normal_status(-1, "该课堂要求成员完成实名认证") if course.authentication && !current_user.authentication - return normal_status(-1, "该课堂要求成员完成职业认证") if course.professional_certification && !current_user.professional_certification + return normal_status(-2, "该课堂要求成员完成实名和职业认证") if course.authentication && + course.professional_certification && (!current_user.authentication && !current_user.professional_certification) + return normal_status(-2, "该课堂要求成员完成实名认证") if course.authentication && !current_user.authentication + return normal_status(-2, "该课堂要求成员完成职业认证") if course.professional_certification && !current_user.professional_certification # 身份验证 if params[:professor].blank? && params[:assistant_professor].blank? && params[:student].blank? @@ -1117,6 +1130,47 @@ class CoursesController < ApplicationController render_ok(count: count, courses: courses.select(:id, :name).as_json) end + def tasks_list + case params[:container_type] + when 'shixun_homework' + @tasks = @course.practice_homeworks + when 'common_homework' + @tasks = @course.normal_homeworks + when 'group_homework' + @tasks = @course.group_homeworks + when 'exercise' + @tasks = @course.exercises + when 'poll' + @tasks = @course.polls + when 'graduation_topic' + @tasks = @course.graduation_topics + when 'graduation_task' + @tasks = @course.graduation_tasks + when 'attachment' + @tasks = @course.attachments + else + tip_exception("请指定任务类型") + end + end + + def update_task_position + Rails.logger.info("#######task_ids_length#{params[:task_ids].uniq.length}#########task_count:#{@tasks.count}") + tip_exception("task_ids参数有误") if params[:task_ids].blank? || params[:task_ids].uniq.length != @tasks.count + ActiveRecord::Base.transaction do + begin + @tasks.each do |task| + position = params[:task_ids].reverse.index(task.id).to_i + 1 + task.update_attributes!(position: position) + end + normal_status(0, "移动成功") + rescue Exception => e + uid_logger(e.message) + tip_exception(e.message) + raise ActiveRecord::Rollback + end + end + end + private # Use callbacks to share common setup or constraints between actions. @@ -1152,8 +1206,8 @@ class CoursesController < ApplicationController def validate_start_end_date prev_course = @subject.courses.where("id < #{@course.id}").last next_course = @subject.courses.where("id > #{@course.id}").first - tip_exception("开始时间和结束时间不能与其他期开课时间重叠") if prev_course && params[:start_date] <= strf_date(prev_course.end_date) - tip_exception("开始时间和结束时间不能与其他期开课时间重叠") if next_course && params[:end_date] >= strf_date(next_course.start_date) + tip_exception("开始时间不能与往期开课时间重叠") if prev_course && params[:start_date] <= strf_date(prev_course.end_date) + tip_exception("结束时间不能与后期开课时间重叠") if next_course && params[:end_date] >= strf_date(next_course.start_date) end # 超级管理员和课堂管理员的权限判断 @@ -1177,6 +1231,48 @@ class CoursesController < ApplicationController end end + def course_tasks + case params[:container_type] + when 'shixun_homework' + @tasks = @course.practice_homeworks + when 'common_homework' + @tasks = @course.normal_homeworks + when 'group_homework' + @tasks = @course.group_homeworks + when 'exercise' + @tasks = @course.exercises + when 'poll' + @tasks = @course.polls + when 'graduation_topic' + @tasks = @course.graduation_topics + when 'graduation_task' + @tasks = @course.graduation_tasks + when 'attachment' + @tasks = @course.attachments + else + tip_exception("请指定任务类型") + end + end + + # def find_container + # case params[:container_type] + # when 'shixun_homework', 'common_homework', 'group_homework' + # @task = HomeworkCommon.find_by(id: params[:container_id]) + # when 'exercise' + # @task = Exercise.find_by(id: params[:container_id]) + # when 'poll' + # @task = Poll.find_by(id: params[:container_id]) + # when 'graduation_topic' + # @task = GraduationTopic.find_by(id: params[:container_id]) + # when 'graduation_task' + # @task = GraduationTask.find_by(id: params[:container_id]) + # when 'attachment' + # @task = Attachment.find_by(id: params[:container_id]) + # else + # tip_exception("container_type参数有误") + # end + # end + def student_act_score group_id, search sql_select = %Q{SELECT cm.*,( SELECT SUM(student_works.work_score) diff --git a/app/controllers/exercise_answers_controller.rb b/app/controllers/exercise_answers_controller.rb index babdd50f7..3fc27c8f2 100644 --- a/app/controllers/exercise_answers_controller.rb +++ b/app/controllers/exercise_answers_controller.rb @@ -8,7 +8,7 @@ class ExerciseAnswersController < ApplicationController begin q_type = @exercise_question.question_type #试卷的类型 choice_id = params[:exercise_choice_id].present? ? params[:exercise_choice_id] : "" - answer_text = params[:answer_text].present? ? params[:answer_text] : "" #为字符串 + answer_text = params[:answer_text].present? ? params[:answer_text].strip : "" #为字符串 if q_type < Exercise::SUBJECTIVE && (q_type != Exercise::MULTIPLE) && choice_id.blank? normal_status(-1,"请选择序号") else diff --git a/app/controllers/exercise_questions_controller.rb b/app/controllers/exercise_questions_controller.rb index 52915a8ba..4ce18b59d 100644 --- a/app/controllers/exercise_questions_controller.rb +++ b/app/controllers/exercise_questions_controller.rb @@ -178,6 +178,7 @@ class ExerciseQuestionsController < ApplicationController def update ActiveRecord::Base.transaction do begin + standard_answer_change = false # 更新试卷题目的内容 question_options = { :question_title => params[:question_title], @@ -227,96 +228,103 @@ class ExerciseQuestionsController < ApplicationController if standard_answer.present? if @exercise_question.question_type <= Exercise::JUDGMENT #选择题/判断题,标准答案为一个或多个 exercise_standard_choices = @exercise_answers_array.pluck(:exercise_choice_id) #问题以前的全部标准答案选项位置 - common_standard_choices = standard_answer & exercise_standard_choices # 传入的标准答案的选项位置和以前的并集,即表示不用做更改的 - old_left_standard_choices = exercise_standard_choices - common_standard_choices # 以前的差集共同的,剩余的表示需要删掉 - new_left_standard_choices = standard_answer - common_standard_choices # 传入的标准答案差集共同的,剩余的表示需要新建 - if old_left_standard_choices.count > 0 - @exercise_answers_array.standard_by_ids(old_left_standard_choices).destroy_all - end - if new_left_standard_choices.count > 0 #新建标准答案 - new_left_standard_choices.each do |s| - standard_option = { - :exercise_question_id => @exercise_question.id, - :exercise_choice_id => s.to_i #即为选择的位置参数 - } - question_standard_answer = ExerciseStandardAnswer.new(standard_option) - question_standard_answer.save + if exercise_standard_choices.sort != standard_answer.sort #表示答案有更改的 + standard_answer_change = true + common_standard_choices = standard_answer & exercise_standard_choices # 传入的标准答案的选项位置和以前的并集,即表示不用做更改的 + old_left_standard_choices = exercise_standard_choices - common_standard_choices # 以前的差集共同的,剩余的表示需要删掉 + new_left_standard_choices = standard_answer - common_standard_choices # 传入的标准答案差集共同的,剩余的表示需要新建 + if old_left_standard_choices.count > 0 + @exercise_answers_array.standard_by_ids(old_left_standard_choices).destroy_all end + if new_left_standard_choices.count > 0 #新建标准答案 + new_left_standard_choices.each do |s| + standard_option = { + :exercise_question_id => @exercise_question.id, + :exercise_choice_id => s.to_i #即为选择的位置参数 + } + question_standard_answer = ExerciseStandardAnswer.new(standard_option) + question_standard_answer.save + end - end - if standard_answer.count > 1 && @exercise_question.question_type == Exercise::SINGLE #当标准答案数大于1,且不为多选时,修改为多选 - @exercise_question.update_attribute("question_type",Exercise::MULTIPLE) - elsif standard_answer.count == 1 && @exercise_question.question_type == Exercise::MULTIPLE - @exercise_question.update_attribute("question_type",Exercise::SINGLE) + end + if standard_answer.count > 1 && @exercise_question.question_type == Exercise::SINGLE #当标准答案数大于1,且不为多选时,修改为多选 + @exercise_question.update_attribute("question_type",Exercise::MULTIPLE) + elsif standard_answer.count == 1 && @exercise_question.question_type == Exercise::MULTIPLE + @exercise_question.update_attribute("question_type",Exercise::SINGLE) + end end elsif @exercise_question.question_type == Exercise::COMPLETION #填空题 old_ex_answer = @exercise_question.exercise_standard_answers #当前问题的全部标准答案 - old_ex_answer_choice_ids = old_ex_answer.pluck(:exercise_choice_id).uniq #全部的答案数组序号 - new_ex_answer_choice_ids = standard_answer.map {|a| a[:choice_id]}.uniq #新传入的答案数组序号 - - #删除多余的选项 - if old_ex_answer_choice_ids.count > new_ex_answer_choice_ids.count #有减少的填空 - delete_ex_answer_choice_ids = old_ex_answer_choice_ids - new_ex_answer_choice_ids - old_ex_answer.standard_by_ids(delete_ex_answer_choice_ids).destroy_all - end - standard_answer.each do |aa| - null_choice_id = aa[:choice_id] - null_choice_text = aa[:answer_text] - null_choice_text_count = null_choice_text.count #当前传入的答案数量 - null_choice_text_count_array = (1..null_choice_text_count).to_a + old_ex_answer_choice_texts = old_ex_answer.pluck(:answer_text).uniq.sort + new_ex_answer_choice_texts = standard_answer.pluck(:answer_text).sum.uniq.sort + if old_ex_answer_choice_texts != new_ex_answer_choice_texts #填空题标准答案有更改时,才会更新标准答案 + new_ex_answer_choice_ids = standard_answer.map {|a| a[:choice_id]}.uniq #新传入的答案数组序号 + old_ex_answer_choice_ids = old_ex_answer.pluck(:exercise_choice_id).uniq #全部的答案数组序号 + standard_answer_change = true + #删除多余的选项 + if old_ex_answer_choice_ids.count > new_ex_answer_choice_ids.count #有减少的填空 + delete_ex_answer_choice_ids = old_ex_answer_choice_ids - new_ex_answer_choice_ids + old_ex_answer.standard_by_ids(delete_ex_answer_choice_ids).destroy_all + end + standard_answer.each do |aa| + null_choice_id = aa[:choice_id] + null_choice_text = aa[:answer_text] + null_choice_text_count = null_choice_text.count #当前传入的答案数量 + null_choice_text_count_array = (1..null_choice_text_count).to_a - ex_answer_pre = old_ex_answer.standard_by_ids(null_choice_id) #当前问题的全部答案 - ex_answer_pre_count = ex_answer_pre.count - ex_answer_pre_count_array = (1..ex_answer_pre_count).to_a + ex_answer_pre = old_ex_answer.standard_by_ids(null_choice_id) #当前问题的全部答案 + ex_answer_pre_count = ex_answer_pre.count + ex_answer_pre_count_array = (1..ex_answer_pre_count).to_a - if old_ex_answer_choice_ids.include?(null_choice_id) #以前的填空题答案包含有现在的填空序号 - if null_choice_text_count >= ex_answer_pre_count - new_add_choice = null_choice_text_count_array - ex_answer_pre_count_array - ex_answer_pre_count_array.each do |n| - standard_option = { - :exercise_question_id => @exercise_question.id, - :exercise_choice_id => null_choice_id, - :answer_text => null_choice_text[n-1] - } - ex_answer_pre[n-1].update(standard_option) - end - if new_add_choice.count > 0 #表示有新增的 - new_add_choice.each do |i| + if old_ex_answer_choice_ids.include?(null_choice_id) #以前的填空题答案包含有现在的填空序号 + if null_choice_text_count >= ex_answer_pre_count + new_add_choice = null_choice_text_count_array - ex_answer_pre_count_array + ex_answer_pre_count_array.each do |n| standard_option = { :exercise_question_id => @exercise_question.id, :exercise_choice_id => null_choice_id, - :answer_text => null_choice_text[i-1] + :answer_text => null_choice_text[n-1] } - question_standard_answer = ExerciseStandardAnswer.new(standard_option) - question_standard_answer.save + ex_answer_pre[n-1].update(standard_option) + end + if new_add_choice.count > 0 #表示有新增的 + new_add_choice.each do |i| + standard_option = { + :exercise_question_id => @exercise_question.id, + :exercise_choice_id => null_choice_id, + :answer_text => null_choice_text[i-1] + } + question_standard_answer = ExerciseStandardAnswer.new(standard_option) + question_standard_answer.save + end + end + else + new_delete_choice = ex_answer_pre_count_array - null_choice_text_count_array + null_choice_text.each_with_index do |n,index| + standard_option = { + :exercise_question_id => @exercise_question.id, + :exercise_choice_id => null_choice_id, + :answer_text => n + } + ex_answer_pre[index].update(standard_option) + end + if new_delete_choice.count > 0 #表示填空题的答案有删减的 + new_delete_choice.each do |d| + ex_answer_pre[d-1].destroy + end end end else - new_delete_choice = ex_answer_pre_count_array - null_choice_text_count_array - null_choice_text.each_with_index do |n,index| + null_choice_text.each do |n| standard_option = { :exercise_question_id => @exercise_question.id, :exercise_choice_id => null_choice_id, :answer_text => n } - ex_answer_pre[index].update(standard_option) - end - if new_delete_choice.count > 0 #表示填空题的答案有删减的 - new_delete_choice.each do |d| - ex_answer_pre[d-1].destroy - end + question_standard_answer = ExerciseStandardAnswer.new(standard_option) + question_standard_answer.save end end - else - null_choice_text.each do |n| - standard_option = { - :exercise_question_id => @exercise_question.id, - :exercise_choice_id => null_choice_id, - :answer_text => n - } - question_standard_answer = ExerciseStandardAnswer.new(standard_option) - question_standard_answer.save - end end end end @@ -348,20 +356,25 @@ class ExerciseQuestionsController < ApplicationController #当试卷已发布时(试卷的总状态),当标准答案修改时,如有已提交的学生,需重新计算分数. - if @exercise.exercise_status == Exercise::PUBLISHED + if standard_answer_change && @exercise.exercise_status >= Exercise::PUBLISHED ex_users_committed = @exercise.exercise_users.exercise_user_committed if ex_users_committed.size > 0 ex_users_committed.each do |ex_user| - user = ex_user.user - objective_score = calculate_student_score(@exercise,user)[:total_score] - subjective_score = ex_user.subjective_score - total_score_subjective_score = subjective_score < 0.0 ? 0.0 : subjective_score - total_score = objective_score + total_score_subjective_score - ex_user.update_attributes(objective_score:objective_score,score:total_score) + update_objective_score = update_single_score(@exercise_question,ex_user.user_id,standard_answer) + if update_objective_score != 0 + objective_score = ex_user.objective_score + new_objective_score = objective_score + update_objective_score + total_score = ex_user.score + update_objective_score + total_score = total_score < 0.0 ? 0.0 : total_score + ex_user.update_attributes(objective_score:new_objective_score,score:total_score) + end end end + normal_status(0,"试卷更新成功,因标准答案修改,需重新计算学生成绩!") + else + normal_status(0,"试卷更新成功!") end - normal_status(0,"试卷更新成功!") + rescue Exception => e uid_logger_error(e.message) tip_exception("页面调用失败!") diff --git a/app/controllers/homework_commons_controller.rb b/app/controllers/homework_commons_controller.rb index 5d1733983..eb3576f24 100644 --- a/app/controllers/homework_commons_controller.rb +++ b/app/controllers/homework_commons_controller.rb @@ -37,8 +37,6 @@ class HomeworkCommonsController < ApplicationController @category = @main_category.course_second_categories.find_by(id: params[:category]) tip_exception("子目录id有误") if !@category.present? @homework_commons = @homework_commons.where(course_second_category_id: params[:category]) - elsif @homework_type == 4 - @homework_commons = @homework_commons end @all_count = @homework_commons.size diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index c9b56bb98..bfd386e1c 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -563,15 +563,15 @@ class ShixunsController < ApplicationController end # 如果该实训是金课中的实训,则将当前用户加入到当期开课的课堂 - # if StageShixun.exists?(shixun_id: @shixun.id, subject_id: Subject.where(excellent: 1)) - # subject = Subject.where(excellent: 1, id: StageShixun.where(shixun_id: @shixun.id).pluck(:subject_id)).take - # course = subject.courses.where("start_date is not null and start_date <= '#{Date.today}' and end_date is not null and end_date >= '#{Date.today}'").take - # if course.present? && !CourseMember.exists?(course_id: course.id, user_id: current_user.id) - # # 为了不影响后续操作,用create而不是create! - # CourseMember.create(course_id: course.id, user_id: current_user.id, role: 4) - # CourseAddStudentCreateWorksJob.perform_later(course.id, [current_user.id]) - # end - # end + if StageShixun.exists?(shixun_id: @shixun.id, subject_id: Subject.where(excellent: 1)) + subject = Subject.find_by(id: StageShixun.where(shixun_id: @shixun.id).pluck(:subject_id), excellent: 1) + course = subject.courses.where("start_date is not null and start_date <= '#{Date.today}' and end_date is not null and end_date >= '#{Date.today}'").take + if course.present? && !CourseMember.exists?(course_id: course.id, user_id: current_user.id) + # 为了不影响后续操作,用create而不是create! + CourseMember.create(course_id: course.id, user_id: current_user.id, role: 4) + CourseAddStudentCreateWorksJob.perform_later(course.id, [current_user.id]) + end + end ActiveRecord::Base.transaction do begin diff --git a/app/controllers/subjects_controller.rb b/app/controllers/subjects_controller.rb index 156b34f25..6c5481787 100644 --- a/app/controllers/subjects_controller.rb +++ b/app/controllers/subjects_controller.rb @@ -1,447 +1,447 @@ -class SubjectsController < ApplicationController - before_action :require_login, :check_auth, except: [:index, :show, :right_banner] - # before_action :check_auth, except: [:index] - before_action :check_account, except: [:index, :show] - before_action :find_subject, except: [:index, :create, :new, :append_to_stage] - before_action :allowed, only: [:update, :edit, :destroy, :publish, :cancel_publish, :cancel_has_publish, - :search_members, :add_subject_members, :statistics, :shixun_report, :school_report, - :up_member_position, :down_member_position] - - include ApplicationHelper - include SubjectsHelper - - def index - @tech_system = Repertoire.where(nil).order("updated_at desc") - select = params[:select] # 路径导航类型 - reorder = params[:order] || "publish_time" - search = params[:search] - - ## 分页参数 - page = params[:page] || 1 - limit = params[:limit] || 16 - offset = (page.to_i-1) * limit - - # 最热排序 - if reorder == "myshixun_count" - if select - @subjects = Subject.find_by_sql("SELECT subjects.id, subjects.user_id, subjects.name, subjects.stages_count, subjects.repertoire_id, subjects.status, - subjects.shixuns_count, subjects.excellent, sum(shixuns.myshixuns_count) AS myshixun_member_count FROM subjects join stage_shixuns - on stage_shixuns.subject_id = subjects.id join shixuns on shixuns.id = stage_shixuns.shixun_id where - subjects.hidden = 0 AND subjects.status = 2 AND subjects.name like '%#{search}%' - AND subjects.repertoire_id = #{select} GROUP BY subjects.id ORDER BY myshixun_member_count DESC") - else - @subjects = Subject.find_by_sql("SELECT subjects.id, subjects.user_id, subjects.name, subjects.stages_count, subjects.repertoire_id, subjects.status, - subjects.shixuns_count, subjects.excellent, sum(shixuns.myshixuns_count) AS myshixun_member_count FROM subjects join stage_shixuns - on stage_shixuns.subject_id = subjects.id join shixuns on shixuns.id = stage_shixuns.shixun_id where - subjects.hidden = 0 AND subjects.status = 2 AND subjects.name like '%#{search}%' - GROUP BY subjects.id ORDER BY myshixun_member_count DESC") - end - else - # 我的路径 - if reorder == "mine" - tip_exception(401, "..") unless current_user.logged? - - mine_subject_id = StageShixun.find_by_sql("select DISTINCT(subject_id) from stage_shixuns where shixun_id in - (select distinct(shixun_id) from myshixuns where user_id=#{current_user.id})").map(&:subject_id) - manage_subject_id = SubjectMember.where(user_id: current_user.id).pluck(:subject_id) - total_subject_id = (mine_subject_id + manage_subject_id).uniq - @subjects = Subject.where(id: total_subject_id) - elsif reorder == "publish_time" - @subjects = Subject.unhidden - else - @subjects = Subject.visible.unhidden - end - - # 类型 - if select - @subjects = @subjects.where(repertoire_id: select) - end - - if search.present? - @subjects = @subjects.where("name like ?", "%#{search}%") - end - - # 排序 - order_str = reorder == "publish_time" ? "status = 2 desc, publish_time asc" : "updated_at desc" - @subjects = @subjects.reorder(order_str) - end - - @total_count = @subjects.size - - if reorder != "myshixun_count" - @subjects = @subjects.page(page).per(limit).includes(:shixuns, :repertoire) - else - @subjects = @subjects[offset, limit] - subject_ids = @subjects.pluck(:id) - order_ids = subject_ids.size > 0 ? subject_ids.join(',') : -1 - @subjects = Subject.where(id: subject_ids).order("field(id,#{order_ids})").includes(:shixuns, :repertoire) - end - end - - def show - @user = current_user - @is_creator = current_user.creator_of_subject?(@subject) - @is_manager = @user.manager_of_subject?(@subject) - # 合作团队 - @shixuns = @subject.shixuns.published.pluck(:id) - @courses = @subject.courses if @subject.excellent - @members = @subject.subject_members.includes(:user) - - shixuns = @subject.shixuns.published.pluck(:id) - challenge_ids = Challenge.where(shixun_id: shixuns).pluck(:id) - # 实训路径中的所有实训标签 - @tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq - # 用户获取的实训标签 - # @user_tags = @subject.shixuns.map(&:user_tags_name).flatten.uniq - @user_tags = user_shixun_tags challenge_ids, @user.id - @my_subject_progress = @subject.my_subject_progress - # 访问数变更 - @subject.increment!(:visits) - end - - def right_banner - @user = current_user - # 合作团队 - @members = @subject.subject_members.includes(:user) - shixuns = @subject.shixuns.published.pluck(:id) - challenge_ids = Challenge.where(shixun_id: shixuns).pluck(:id) - # 实训路径中的所有实训标签 - @tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq - # 用户获取的实训标签 - # @user_tags = @subject.shixuns.map(&:user_tags_name).flatten.uniq - @user_tags = user_shixun_tags challenge_ids, @user.id - @my_subject_progress = @subject.my_subject_progress - end - - def new - normal_status("") - end - - def create - ActiveRecord::Base.transaction do - begin - @subject = Subject.new(subject_params) - @subject.user_id = current_user.id - @subject.save! - @subject.subject_members.create!(role: 1, user_id: current_user.id) - rescue Exception => e - uid_logger_error(e.message) - tip_exception("实训路径创建失败") - raise ActiveRecord::Rollback - end - end - end - - def edit - end - - def update - begin - @subject.update_attributes(subject_params) - rescue Exception => e - uid_logger_error(e.message) - tip_exception("实训路径更新失败") - raise ActiveRecord::Rollback - end - end - - def destroy - ActiveRecord::Base.transaction do - begin - ApplyAction.where(container_type: "ApplySubject", container_id: @subject.id).destroy_all - @subject.destroy - rescue Exception => e - uid_logger_error(e.message) - tip_exception("实训路径删除失败") - raise ActiveRecord::Rollback - end - end - end - - def choose_subject_shixun - @search = params[:search].strip if params[:search] - @type = params[:type] - # 超级管理员用户显示所有未隐藏的实训、非管理员显示合作团队用户的实训(对本单位公开且未隐藏) - if current_user.admin? - @shixuns = Shixun.select([:id, :name, :status, :myshixuns_count, :identifier, :averge_star]).where(hidden: 0) - else - none_shixun_ids = ShixunSchool.where("school_id != #{current_user.user_extension.try(:school_id).to_i}").pluck(:shixun_id) - @shixuns = Shixun.select([:id, :name, :status, :myshixuns_count, :identifier, :averge_star]).where.not(id: none_shixun_ids).where(hidden: 0) - end - - # 实训课程的所有标签 - tag_ids = @shixuns.joins(:shixun_tag_repertoires).pluck(:tag_repertoire_id).uniq - @tags = TagRepertoire.select([:id, :name]).where(id: tag_ids) - - unless params[:search].blank? - @shixuns = @shixuns.joins(:user).where("shixuns.name like ? or concat(users.lastname, users.firstname) like ?", - "%#{@search}%", "%#{@search}%").distinct - end - - unless @type.nil? || @type == "" || @type == "all" - shixun_ids = ShixunTagRepertoire.where(tag_repertoire_id: @type).pluck(:shixun_id).uniq - @shixuns = @shixuns.where(id: shixun_ids) - end - - @shixuns = @shixuns.reorder("created_at desc") - @shixuns_count = @shixuns.size - - ## 分页参数 - page = params[:page] || 1 - @shixuns = @shixuns.page(page).per(10) - - @shixuns = @shixuns.includes(:myshixuns) - end - - def append_to_stage - @shixuns = Shixun.where(id: params[:shixun_id]).order("id desc") - end - - def choose_course - course_ids = Course.find_by_sql("SELECT c.id FROM courses c, course_members m - WHERE m.course_id = c.id AND m.role in (1,2,3) - AND m.user_id=#{current_user.id} AND c.is_delete = 0 AND c.is_end = 0").map(&:id) - @courses = Course.where(id: course_ids) - @none_shixun_ids = ShixunSchool.where("school_id != #{current_user.user_extension.try(:school_id).to_i}").pluck(:shixun_id) - end - - def send_to_course - @course = Course.find_by!(id: params[:course_id]) - stages = @subject.stages.where(id: @subject.stage_shixuns.where(shixun_id: params[:shixun_ids]).pluck(:stage_id)) - - course_module = @course.course_modules.where(module_type: "shixun_homework").first - - ActiveRecord::Base.transaction do - begin - # 将实训课程下的所有已发布实训按顺序发送到课堂,同时创建与章节同名的实训作业目录 - stages.each do |stage| - category = CourseSecondCategory.where(name: stage.name, course_id: @course.id, category_type: "shixun_homework").first || - CourseSecondCategory.create!(name: stage.name, course_id: @course.id, category_type: "shixun_homework", - course_module_id: course_module.id, position: course_module.course_second_categories.count + 1) - - stage.shixuns.where(id: params[:shixun_ids], status: 2).each do |shixun| - homework = HomeworksService.new.create_homework shixun, @course, category, current_user - end - end - rescue Exception => e - uid_logger(e.message) - tip_exception(e.message) - raise ActiveRecord::Rollback - end - end - end - - def publish - apply = ApplyAction.where(container_type: "ApplySubject", container_id: @subject.id).order("created_at desc").first - if apply && apply.status == 0 - @status = 0 - else - @subject.update_attributes(status: 1) - ApplyAction.create(container_type: "ApplySubject", container_id: @subject.id, user_id: current_user.id, status: 0) - begin - status = Educoder::Sms.send(mobile: '18711011226', send_type:'publish_subject' , name: '管理员') - rescue => e - uid_logger_error("发送验证码出错: #{e}") - end - @status = 1 - end - end - - def cancel_publish - begin - apply = ApplyAction.where(container_type: "ApplySubject", container_id: @subject.id).order("created_at desc").first - if apply && apply.status == 0 - apply.update_attributes(status: 3) - apply.tidings.destroy_all - end - @subject.update_attributes(status: 0) - rescue => e - uid_logger_error(e.message) - tip_exception("撤销申请失败") - raise ActiveRecord::Rollback - end - end - - def cancel_has_publish - begin - @subject.update_attributes(:status => 0) - rescue => e - uid_logger_error(e.message) - tip_exception("撤销发布失败") - raise ActiveRecord::Rollback - end - end - - def search_members - tip_exception("搜索内容不能为空") unless params[:search] - page = params[:page] || 1 - member_ids = @subject.subject_members.map(&:user_id).join(',') - condition = "%#{params[:search].strip}%".gsub(" ","") - @users = User.where("id not in (?) and status = 1 and LOWER(concat(lastname, firstname, login, mail)) LIKE ?", member_ids, "#{condition}") - - @users = @users.page(page).per(10) - @users = @users.includes(:user_extension) - end - - def add_subject_members - # tip_exception(403, "没权限操作") if !current_user.admin? - tip_exception("user_ids 不能为空!") if params[:user_ids].blank? - memberships = params[:user_ids] - memberships.each do |member| - if SubjectMember.where(user_id: member, subject_id: @subject.id).count == 0 - user = User.find_by!(id: member) - SubjectMember.create!(user_id: member, subject_id: @subject.id, role: 2, position: @subject.subject_members.size + 1) if user.present? - end - end - end - - # 删除实训 - # DELETE: /api/subejcts/:id/delete_member - def delete_member - tip_exception(403, "没权限操作") unless current_user.manager_of_subject?(@subject) - tip_exception('用户id不能为空') if params[:user_id].blank? - user = @subject.subject_members.where(:user_id => params[:user_id], :role => 2).first - tip_exception("管理员用户不允许删除,或用户不存在") if user.blank? - ActiveRecord::Base.transaction do - begin - @subject.subject_members.where("position > #{user.position}").update_all("position = position - 1") - user.destroy - rescue Exception => e - uid_logger_error(e.message) - tip_exception(e.message) - raise ActiveRecord::Rollback - end - end - end - - # 合作者上移 - def up_member_position - tip_exception('用户id不能为空') if params[:user_id].blank? - ActiveRecord::Base.transaction do - begin - member = @subject.subject_members.where(user_id: params[:user_id]).first - # position为1时不能再往上移 - tip_exception('不能再上移了') if member.position == 1 - - up_member = @subject.subject_members.where(position: member.position - 1).first - up_member.update_attribute(:position, member.position) - member.update_attribute(:position, member.position - 1) - rescue Exception => e - uid_logger_error(e.message) - tip_exception(e.message) - raise ActiveRecord::Rollback - end - end - end - - # 合作者下移 - def down_member_position - tip_exception('用户id不能为空') if params[:user_id].blank? - ActiveRecord::Base.transaction do - begin - member = @subject.subject_members.where(user_id: params[:user_id]).first - - # position已经是最大值时不能再往下移 - tip_exception('不能再下移了') if member.position == @subject.subject_members.size - - down_member = @subject.subject_members.where(:position => member.position + 1).first - down_member.update_attribute(:position, member.position) - member.update_attribute(:position, member.position + 1) - rescue Exception => e - uid_logger_error(e.message) - tip_exception(e.message) - raise ActiveRecord::Rollback - end - end - end - - def statistics - @learn_count = @subject.member_count - shixun_ids = @subject.stage_shixuns.pluck(:shixun_id) - # 受用课堂(已经发布的实训(在此路径中的实训)作业的个数) - homework_common_id = HomeworkCommonsShixun.where(shixun_id: shixun_ids).pluck(:homework_common_id).uniq - homework_common_id = homework_common_id.blank? ? -1 : homework_common_id.join(",") - - courses = Course.find_by_sql("select c.id, c.school_id from courses c right join homework_commons hc on c.id = hc.course_id where c.is_delete = 0 - and c.school_id is not null and hc.publish_time < '#{Time.now}' and hc.id in (#{(homework_common_id)})") - course_ids = courses.pluck(:id).uniq - @course_count = course_ids.length - # 受用院校 - school_ids = courses.pluck(:school_id).uniq - @schools_count = school_ids.length - - # 采用课堂情况 - @schools = School.select([:id, :name]).where(id: school_ids) - @schools = - @schools.map do |s| - school_courses = Course.where(id: course_ids, school_id: s.id) - course_count = school_courses.count - student_count = StudentsForCourse.where(course_id: school_courses.pluck(:id)).count - homework_count = HomeworkCommon.find_by_sql("select count(*) cnt from homework_commons hc join courses c on hc.course_id = c.id - where c.school_id = #{s.id} and hc.id in(#{homework_common_id})").first.try(:cnt) - s.attributes.dup.merge({name: s.name, course_count: course_count, student_count: student_count,homework_count: homework_count}) - end - @schools = @schools.sort{|x,y| y['homework_count'] <=> x['homework_count']} - @school_total_count = @schools.size - - page = params[:page] || 1 - @schools = @schools[(page.to_i-1)*10, 10] - - # TODO: 这个可以异步加载,让页面刷新完成后再加载图形数据 - # 章节使用情况 - @stage_user_info = [] - @sum = 0 #总数 - @subject.stages.includes(:stage_shixuns).each do |stage| - shixun_ids = stage.stage_shixuns.pluck(:shixun_id) - if shixun_ids.present? - homework_common_id = HomeworkCommonsShixun.where(shixun_id: shixun_ids).pluck(:homework_common_id).uniq - if homework_common_id.present? - publish_homework = HomeworkDetailManual.where("homework_common_id in(?) and comment_status > 0", homework_common_id.join(",")).pluck(:homework_common_id) - use_count = publish_homework.present? ? HomeworkCommon.find_by_sql("select count(*) cnt from homework_commons hc join courses c on hc.course_id = c.id - where hc.id in(#{publish_homework.join(",")}) and c.school_id is not null").first.try(:cnt) : 0 - @sum += use_count - else - @sum += 0 - use_count = 0 - end - @stage_user_info << use_count - else - @sum += 0 - @stage_user_info << 0 - end - end - end - - def shixun_report - - end - - def school_report - @schools = School.find_by_sql("select count(ms.id) ue_count, s.id, s.name school_name from user_extensions ue, - myshixuns ms, schools s where ue.user_id = ms.user_id and ms.shixun_id in (select shixun_id from - stage_shixuns where subject_id = '#{@subject.id}') and s.id = ue.school_id group by ue.school_id - order by ue_count desc limit 10") - end - - private - def subject_params - tip_exception("实训路径名称不能为空") if params[:name].blank? - tip_exception("实训路径简介不能为空") if params[:description].blank? - tip_exception("实训路径学习须知不能为空") if params[:learning_notes].blank? - params.require(:subject).permit(:name, :description, :learning_notes) - end - - def find_subject - @subject = Subject.find_by!(id: params[:id]) - - unless @subject.status == 2 || current_user.manager_of_subject?(@subject) - tip_exception("403", "") - end - end - - def allowed - unless current_user.manager_of_subject?(@subject) - tip_exception("403", "") - end - end -end +class SubjectsController < ApplicationController + before_action :require_login, :check_auth, except: [:index, :show, :right_banner] + # before_action :check_auth, except: [:index] + before_action :check_account, except: [:index, :show, :right_banner] + before_action :find_subject, except: [:index, :create, :new, :append_to_stage] + before_action :allowed, only: [:update, :edit, :destroy, :publish, :cancel_publish, :cancel_has_publish, + :search_members, :add_subject_members, :statistics, :shixun_report, :school_report, + :up_member_position, :down_member_position] + + include ApplicationHelper + include SubjectsHelper + + def index + @tech_system = Repertoire.where(nil).order("updated_at desc") + select = params[:select] # 路径导航类型 + reorder = params[:order] || "publish_time" + search = params[:search] + + ## 分页参数 + page = params[:page] || 1 + limit = params[:limit] || 16 + offset = (page.to_i-1) * limit + + # 最热排序 + if reorder == "myshixun_count" + if select + @subjects = Subject.find_by_sql("SELECT subjects.id, subjects.user_id, subjects.name, subjects.stages_count, subjects.repertoire_id, subjects.status, + subjects.shixuns_count, subjects.excellent, sum(shixuns.myshixuns_count) AS myshixun_member_count FROM subjects join stage_shixuns + on stage_shixuns.subject_id = subjects.id join shixuns on shixuns.id = stage_shixuns.shixun_id where + subjects.hidden = 0 AND subjects.status = 2 AND subjects.name like '%#{search}%' + AND subjects.repertoire_id = #{select} GROUP BY subjects.id ORDER BY myshixun_member_count DESC") + else + @subjects = Subject.find_by_sql("SELECT subjects.id, subjects.user_id, subjects.name, subjects.stages_count, subjects.repertoire_id, subjects.status, + subjects.shixuns_count, subjects.excellent, sum(shixuns.myshixuns_count) AS myshixun_member_count FROM subjects join stage_shixuns + on stage_shixuns.subject_id = subjects.id join shixuns on shixuns.id = stage_shixuns.shixun_id where + subjects.hidden = 0 AND subjects.status = 2 AND subjects.name like '%#{search}%' + GROUP BY subjects.id ORDER BY myshixun_member_count DESC") + end + else + # 我的路径 + if reorder == "mine" + tip_exception(401, "..") unless current_user.logged? + + mine_subject_id = StageShixun.find_by_sql("select DISTINCT(subject_id) from stage_shixuns where shixun_id in + (select distinct(shixun_id) from myshixuns where user_id=#{current_user.id})").map(&:subject_id) + manage_subject_id = SubjectMember.where(user_id: current_user.id).pluck(:subject_id) + total_subject_id = (mine_subject_id + manage_subject_id).uniq + @subjects = Subject.where(id: total_subject_id) + elsif reorder == "publish_time" + @subjects = Subject.unhidden + else + @subjects = Subject.visible.unhidden + end + + # 类型 + if select + @subjects = @subjects.where(repertoire_id: select) + end + + if search.present? + @subjects = @subjects.where("name like ?", "%#{search}%") + end + + # 排序 + order_str = reorder == "publish_time" ? "status = 2 desc, publish_time asc" : "updated_at desc" + @subjects = @subjects.reorder(order_str) + end + + @total_count = @subjects.size + + if reorder != "myshixun_count" + @subjects = @subjects.page(page).per(limit).includes(:shixuns, :repertoire) + else + @subjects = @subjects[offset, limit] + subject_ids = @subjects.pluck(:id) + order_ids = subject_ids.size > 0 ? subject_ids.join(',') : -1 + @subjects = Subject.where(id: subject_ids).order("field(id,#{order_ids})").includes(:shixuns, :repertoire) + end + end + + def show + @user = current_user + @is_creator = current_user.creator_of_subject?(@subject) + @is_manager = @user.manager_of_subject?(@subject) + # 合作团队 + @shixuns = @subject.shixuns.published.pluck(:id) + @courses = @subject.courses if @subject.excellent + @members = @subject.subject_members.includes(:user) + + shixuns = @subject.shixuns.published.pluck(:id) + challenge_ids = Challenge.where(shixun_id: shixuns).pluck(:id) + # 实训路径中的所有实训标签 + @tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq + # 用户获取的实训标签 + # @user_tags = @subject.shixuns.map(&:user_tags_name).flatten.uniq + @user_tags = user_shixun_tags challenge_ids, @user.id + @my_subject_progress = @subject.my_subject_progress + # 访问数变更 + @subject.increment!(:visits) + end + + def right_banner + @user = current_user + # 合作团队 + @members = @subject.subject_members.includes(:user) + shixuns = @subject.shixuns.published.pluck(:id) + challenge_ids = Challenge.where(shixun_id: shixuns).pluck(:id) + # 实训路径中的所有实训标签 + @tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq + # 用户获取的实训标签 + # @user_tags = @subject.shixuns.map(&:user_tags_name).flatten.uniq + @user_tags = user_shixun_tags challenge_ids, @user.id + @my_subject_progress = @subject.my_subject_progress + end + + def new + normal_status("") + end + + def create + ActiveRecord::Base.transaction do + begin + @subject = Subject.new(subject_params) + @subject.user_id = current_user.id + @subject.save! + @subject.subject_members.create!(role: 1, user_id: current_user.id) + rescue Exception => e + uid_logger_error(e.message) + tip_exception("实训路径创建失败") + raise ActiveRecord::Rollback + end + end + end + + def edit + end + + def update + begin + @subject.update_attributes(subject_params) + rescue Exception => e + uid_logger_error(e.message) + tip_exception("实训路径更新失败") + raise ActiveRecord::Rollback + end + end + + def destroy + ActiveRecord::Base.transaction do + begin + ApplyAction.where(container_type: "ApplySubject", container_id: @subject.id).destroy_all + @subject.destroy + rescue Exception => e + uid_logger_error(e.message) + tip_exception("实训路径删除失败") + raise ActiveRecord::Rollback + end + end + end + + def choose_subject_shixun + @search = params[:search].strip if params[:search] + @type = params[:type] + # 超级管理员用户显示所有未隐藏的实训、非管理员显示合作团队用户的实训(对本单位公开且未隐藏) + if current_user.admin? + @shixuns = Shixun.select([:id, :name, :status, :myshixuns_count, :identifier, :averge_star]).where(hidden: 0) + else + none_shixun_ids = ShixunSchool.where("school_id != #{current_user.user_extension.try(:school_id).to_i}").pluck(:shixun_id) + @shixuns = Shixun.select([:id, :name, :status, :myshixuns_count, :identifier, :averge_star]).where.not(id: none_shixun_ids).where(hidden: 0) + end + + # 实训课程的所有标签 + tag_ids = @shixuns.joins(:shixun_tag_repertoires).pluck(:tag_repertoire_id).uniq + @tags = TagRepertoire.select([:id, :name]).where(id: tag_ids) + + unless params[:search].blank? + @shixuns = @shixuns.joins(:user).where("shixuns.name like ? or concat(users.lastname, users.firstname) like ?", + "%#{@search}%", "%#{@search}%").distinct + end + + unless @type.nil? || @type == "" || @type == "all" + shixun_ids = ShixunTagRepertoire.where(tag_repertoire_id: @type).pluck(:shixun_id).uniq + @shixuns = @shixuns.where(id: shixun_ids) + end + + @shixuns = @shixuns.reorder("created_at desc") + @shixuns_count = @shixuns.size + + ## 分页参数 + page = params[:page] || 1 + @shixuns = @shixuns.page(page).per(10) + + @shixuns = @shixuns.includes(:myshixuns) + end + + def append_to_stage + @shixuns = Shixun.where(id: params[:shixun_id]).order("id desc") + end + + def choose_course + course_ids = Course.find_by_sql("SELECT c.id FROM courses c, course_members m + WHERE m.course_id = c.id AND m.role in (1,2,3) + AND m.user_id=#{current_user.id} AND c.is_delete = 0 AND c.is_end = 0").map(&:id) + @courses = Course.where(id: course_ids) + @none_shixun_ids = ShixunSchool.where("school_id != #{current_user.user_extension.try(:school_id).to_i}").pluck(:shixun_id) + end + + def send_to_course + @course = Course.find_by!(id: params[:course_id]) + stages = @subject.stages.where(id: @subject.stage_shixuns.where(shixun_id: params[:shixun_ids]).pluck(:stage_id)) + + course_module = @course.course_modules.where(module_type: "shixun_homework").first + + ActiveRecord::Base.transaction do + begin + # 将实训课程下的所有已发布实训按顺序发送到课堂,同时创建与章节同名的实训作业目录 + stages.each do |stage| + category = CourseSecondCategory.where(name: stage.name, course_id: @course.id, category_type: "shixun_homework").first || + CourseSecondCategory.create!(name: stage.name, course_id: @course.id, category_type: "shixun_homework", + course_module_id: course_module.id, position: course_module.course_second_categories.count + 1) + + stage.shixuns.where(id: params[:shixun_ids], status: 2).each do |shixun| + homework = HomeworksService.new.create_homework shixun, @course, category, current_user + end + end + rescue Exception => e + uid_logger(e.message) + tip_exception(e.message) + raise ActiveRecord::Rollback + end + end + end + + def publish + apply = ApplyAction.where(container_type: "ApplySubject", container_id: @subject.id).order("created_at desc").first + if apply && apply.status == 0 + @status = 0 + else + @subject.update_attributes(status: 1) + ApplyAction.create(container_type: "ApplySubject", container_id: @subject.id, user_id: current_user.id, status: 0) + begin + status = Educoder::Sms.send(mobile: '18711011226', send_type:'publish_subject' , name: '管理员') + rescue => e + uid_logger_error("发送验证码出错: #{e}") + end + @status = 1 + end + end + + def cancel_publish + begin + apply = ApplyAction.where(container_type: "ApplySubject", container_id: @subject.id).order("created_at desc").first + if apply && apply.status == 0 + apply.update_attributes(status: 3) + apply.tidings.destroy_all + end + @subject.update_attributes(status: 0) + rescue => e + uid_logger_error(e.message) + tip_exception("撤销申请失败") + raise ActiveRecord::Rollback + end + end + + def cancel_has_publish + begin + @subject.update_attributes(:status => 0) + rescue => e + uid_logger_error(e.message) + tip_exception("撤销发布失败") + raise ActiveRecord::Rollback + end + end + + def search_members + tip_exception("搜索内容不能为空") unless params[:search] + page = params[:page] || 1 + member_ids = @subject.subject_members.map(&:user_id).join(',') + condition = "%#{params[:search].strip}%".gsub(" ","") + @users = User.where("id not in (?) and status = 1 and LOWER(concat(lastname, firstname, login, mail)) LIKE ?", member_ids, "#{condition}") + + @users = @users.page(page).per(10) + @users = @users.includes(:user_extension) + end + + def add_subject_members + # tip_exception(403, "没权限操作") if !current_user.admin? + tip_exception("user_ids 不能为空!") if params[:user_ids].blank? + memberships = params[:user_ids] + memberships.each do |member| + if SubjectMember.where(user_id: member, subject_id: @subject.id).count == 0 + user = User.find_by!(id: member) + SubjectMember.create!(user_id: member, subject_id: @subject.id, role: 2, position: @subject.subject_members.size + 1) if user.present? + end + end + end + + # 删除实训 + # DELETE: /api/subejcts/:id/delete_member + def delete_member + tip_exception(403, "没权限操作") unless current_user.manager_of_subject?(@subject) + tip_exception('用户id不能为空') if params[:user_id].blank? + user = @subject.subject_members.where(:user_id => params[:user_id], :role => 2).first + tip_exception("管理员用户不允许删除,或用户不存在") if user.blank? + ActiveRecord::Base.transaction do + begin + @subject.subject_members.where("position > #{user.position}").update_all("position = position - 1") + user.destroy + rescue Exception => e + uid_logger_error(e.message) + tip_exception(e.message) + raise ActiveRecord::Rollback + end + end + end + + # 合作者上移 + def up_member_position + tip_exception('用户id不能为空') if params[:user_id].blank? + ActiveRecord::Base.transaction do + begin + member = @subject.subject_members.where(user_id: params[:user_id]).first + # position为1时不能再往上移 + tip_exception('不能再上移了') if member.position == 1 + + up_member = @subject.subject_members.where(position: member.position - 1).first + up_member.update_attribute(:position, member.position) + member.update_attribute(:position, member.position - 1) + rescue Exception => e + uid_logger_error(e.message) + tip_exception(e.message) + raise ActiveRecord::Rollback + end + end + end + + # 合作者下移 + def down_member_position + tip_exception('用户id不能为空') if params[:user_id].blank? + ActiveRecord::Base.transaction do + begin + member = @subject.subject_members.where(user_id: params[:user_id]).first + + # position已经是最大值时不能再往下移 + tip_exception('不能再下移了') if member.position == @subject.subject_members.size + + down_member = @subject.subject_members.where(:position => member.position + 1).first + down_member.update_attribute(:position, member.position) + member.update_attribute(:position, member.position + 1) + rescue Exception => e + uid_logger_error(e.message) + tip_exception(e.message) + raise ActiveRecord::Rollback + end + end + end + + def statistics + @learn_count = @subject.member_count + shixun_ids = @subject.stage_shixuns.pluck(:shixun_id) + # 受用课堂(已经发布的实训(在此路径中的实训)作业的个数) + homework_common_id = HomeworkCommonsShixun.where(shixun_id: shixun_ids).pluck(:homework_common_id).uniq + homework_common_id = homework_common_id.blank? ? -1 : homework_common_id.join(",") + + courses = Course.find_by_sql("select c.id, c.school_id from courses c right join homework_commons hc on c.id = hc.course_id where c.is_delete = 0 + and c.school_id is not null and hc.publish_time < '#{Time.now}' and hc.id in (#{(homework_common_id)})") + course_ids = courses.pluck(:id).uniq + @course_count = course_ids.length + # 受用院校 + school_ids = courses.pluck(:school_id).uniq + @schools_count = school_ids.length + + # 采用课堂情况 + @schools = School.select([:id, :name]).where(id: school_ids) + @schools = + @schools.map do |s| + school_courses = Course.where(id: course_ids, school_id: s.id) + course_count = school_courses.count + student_count = StudentsForCourse.where(course_id: school_courses.pluck(:id)).count + homework_count = HomeworkCommon.find_by_sql("select count(*) cnt from homework_commons hc join courses c on hc.course_id = c.id + where c.school_id = #{s.id} and hc.id in(#{homework_common_id})").first.try(:cnt) + s.attributes.dup.merge({name: s.name, course_count: course_count, student_count: student_count,homework_count: homework_count}) + end + @schools = @schools.sort{|x,y| y['homework_count'] <=> x['homework_count']} + @school_total_count = @schools.size + + page = params[:page] || 1 + @schools = @schools[(page.to_i-1)*10, 10] + + # TODO: 这个可以异步加载,让页面刷新完成后再加载图形数据 + # 章节使用情况 + @stage_user_info = [] + @sum = 0 #总数 + @subject.stages.includes(:stage_shixuns).each do |stage| + shixun_ids = stage.stage_shixuns.pluck(:shixun_id) + if shixun_ids.present? + homework_common_id = HomeworkCommonsShixun.where(shixun_id: shixun_ids).pluck(:homework_common_id).uniq + if homework_common_id.present? + publish_homework = HomeworkDetailManual.where("homework_common_id in(?) and comment_status > 0", homework_common_id.join(",")).pluck(:homework_common_id) + use_count = publish_homework.present? ? HomeworkCommon.find_by_sql("select count(*) cnt from homework_commons hc join courses c on hc.course_id = c.id + where hc.id in(#{publish_homework.join(",")}) and c.school_id is not null").first.try(:cnt) : 0 + @sum += use_count + else + @sum += 0 + use_count = 0 + end + @stage_user_info << use_count + else + @sum += 0 + @stage_user_info << 0 + end + end + end + + def shixun_report + + end + + def school_report + @schools = School.find_by_sql("select count(ms.id) ue_count, s.id, s.name school_name from user_extensions ue, + myshixuns ms, schools s where ue.user_id = ms.user_id and ms.shixun_id in (select shixun_id from + stage_shixuns where subject_id = '#{@subject.id}') and s.id = ue.school_id group by ue.school_id + order by ue_count desc limit 10") + end + + private + def subject_params + tip_exception("实训路径名称不能为空") if params[:name].blank? + tip_exception("实训路径简介不能为空") if params[:description].blank? + tip_exception("实训路径学习须知不能为空") if params[:learning_notes].blank? + params.require(:subject).permit(:name, :description, :learning_notes) + end + + def find_subject + @subject = Subject.find_by!(id: params[:id]) + + unless @subject.status == 2 || current_user.manager_of_subject?(@subject) + tip_exception("403", "") + end + end + + def allowed + unless current_user.manager_of_subject?(@subject) + tip_exception("403", "") + end + end +end diff --git a/app/helpers/exercises_helper.rb b/app/helpers/exercises_helper.rb index ace9e062e..7994e2c6a 100644 --- a/app/helpers/exercises_helper.rb +++ b/app/helpers/exercises_helper.rb @@ -403,6 +403,12 @@ module ExercisesHelper end user_answer_content = answer_choice_array.sort standard_answer = q.exercise_standard_answers.pluck(:exercise_choice_id).sort #该问题的标准答案,可能有多个 + + #TODO: 旧版多选题的标准答案是放在一个里面的,新版又做成了一个题有多个标准答案(exercise_choice_id存放的是标准答案的位置..) + if q.question_type == 1 && standard_answer.size == 1 + standard_answer = standard_answer.first.to_s.split("").map(&:to_i).sort + end + if user_answer_content == standard_answer #答案一致,多选或单选才给分,答案不对不给分 if standard_answer.size > 0 q_score_1 = q.question_score @@ -432,8 +438,8 @@ module ExercisesHelper end if q.is_ordered answers_content.each do |u| - i_standard_answer = standard_answer_array.where(exercise_choice_id:u.exercise_choice_id).pluck(:answer_text).reject(&:blank?).map!(&:downcase) #该选项的全部标准答案 - if i_standard_answer.include?(u.answer_text.downcase) #该空的标准答案包含用户的答案才有分数 + i_standard_answer = standard_answer_array.where(exercise_choice_id:u.exercise_choice_id).pluck(:answer_text).reject(&:blank?).map{|a| a.strip.downcase} #该选项的全部标准答案 + if i_standard_answer.include?(u.answer_text.strip.downcase) #该空的标准答案包含用户的答案才有分数 u.update_column('score',q_score_2) score2 = score2 + q_score_2 else @@ -442,9 +448,9 @@ module ExercisesHelper end end else - st_answer_text = standard_answer_array.pluck(:answer_text).reject(&:blank?).map!(&:downcase) + st_answer_text = standard_answer_array.pluck(:answer_text).reject(&:blank?).map{|a| a.strip.downcase} answers_content.each do |u| - u_answer_text = u.answer_text.downcase + u_answer_text = u.answer_text.strip.downcase if st_answer_text.include?(u_answer_text) #只要标准答案包含用户的答案,就有分数。同时,下一次循环时,就会删除该标准答案。防止用户的相同答案获分 u.update_column("score",q_score_2) score2 = score2 + q_score_2 @@ -503,7 +509,7 @@ module ExercisesHelper end end user_scores = answers_content.blank? ? 0.0 : answers_content.score_reviewed.pluck(:score).sum - if user_scores > 0.0 + if user_scores > 0.0 stand_answer = 1 else stand_answer = 0 @@ -529,6 +535,82 @@ module ExercisesHelper } end + #当单个问题的分数更新时,更新用户的总分 + def update_single_score(q,user_id,standard_answer) + score1 = 0.0 #用户的新得分 + origin_score = 0.0 #用户的原来该问题的得分 + answers_content = q&.exercise_answers&.where(user_id: user_id) #学生的答案 + if answers_content.present? #用户回答了该题,才会改分数 + if q.question_type <= 2 #为选择题或判断题时 + origin_score = answers_content.first.score + answer_choice_array = [] + answers_content.each do |a| + answer_choice_array.push(a.exercise_choice.choice_position) #学生答案的位置 + end + user_answer_content = answer_choice_array.sort + + #TODO: 旧版多选题的标准答案是放在一个里面的,新版又做成了一个题有多个标准答案(exercise_choice_id存放的是标准答案的位置..) + if q.question_type == 1 && standard_answer.size == 1 + standard_answer = standard_answer.first.to_s.split("").map(&:to_i) + end + + if user_answer_content == standard_answer #答案一致,多选或单选才给分,答案不对不给分 + if standard_answer.size > 0 + q_score_1 = q.question_score + else + q_score_1 = 0.0 + end + answers_content.update_all(:score => q_score_1) + score1 = q_score_1 + else + answers_content.update_all(:score => -1.0) + end + elsif q.question_type == 3 #填空题 + origin_score = answers_content.score_reviewed.pluck(:score).sum + + standard_answer_count = standard_answer.count + if standard_answer_count > 0 #存在标准答案时才有分数 + q_score_2 = (q.question_score.to_f / standard_answer_count) #每一空的得分 + else + q_score_2 = 0.0 + end + if q.is_ordered + answers_content.each do |u| + i_standard_answer = [] + standard_answer.each do |a| + if a[:choice_id] == u.exercise_choice_id + i_standard_answer += a[:answer_text] + end + end + i_standard_answer = i_standard_answer.map{|a| a.strip.downcase} + if i_standard_answer.include?(u.answer_text.strip.downcase) #该空的标准答案包含用户的答案才有分数 + u.update_column('score',q_score_2) + score1 = score1 + q_score_2 + else + u.update_column('score',-1.0) + score1 += 0.0 + end + end + else + st_answer_text = standard_answer.pluck(:answer_text).sum.map{|a| a.strip.downcase} + answers_content.each do |u| + u_answer_text = u.answer_text.downcase + if st_answer_text.include?(u_answer_text) #只要标准答案包含用户的答案,就有分数。同时,下一次循环时,就会删除该标准答案。防止用户的相同答案获分 + u.update_column("score",q_score_2) + score1 = score1 + q_score_2 + st_answer_text.delete(u_answer_text) + else + u.update_column('score',-1.0) + score1 += 0.0 + end + end + end + end + end + origin_score = origin_score < 0.0 ? 0.0 : origin_score + score1 - origin_score + end + #获取用户的相关信息 def exercise_use_info(ex_user,user_status,exercise) course = exercise.course diff --git a/app/models/course.rb b/app/models/course.rb index b7bea6ec0..b46464ea6 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -32,7 +32,12 @@ class Course < ApplicationRecord has_many :teacher_course_members, -> { teachers_and_admin }, class_name: 'CourseMember' has_many :teacher_users, through: :teacher_course_members, source: :user has_many :course_messages, dependent: :destroy + has_many :homework_commons, dependent: :destroy + has_many :normal_homeworks, -> { normals }, class_name: 'HomeworkCommon' + has_many :group_homeworks, -> { groups }, class_name: 'HomeworkCommon' + has_many :practice_homeworks, -> { practices }, class_name: 'HomeworkCommon' + has_many :homework_group_settings has_many :graduation_works, dependent: :destroy @@ -180,7 +185,7 @@ class Course < ApplicationRecord end def all_course_module_types - %w[activity announcement online_learning shixun_homework common_homework group_homework graduation exercise poll attachment board course_group] + %w[activity announcement online_learning shixun_homework common_homework group_homework exercise attachment course_group graduation poll board] end def get_course_module_by_type(type) diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index f198a7143..332aff045 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -12,6 +12,7 @@ class HomeworkCommon < ApplicationRecord belongs_to :course, counter_cache: true belongs_to :homework_bank, optional: true + belongs_to :user has_many :homework_challenge_settings, dependent: :destroy has_one :homework_commons_shixun, dependent: :destroy @@ -48,6 +49,9 @@ class HomeworkCommon < ApplicationRecord scope :search_homework_type, lambda {|num| where(homework_type:num)} scope :unified_setting, -> {where("unified_setting = ? ", 1)} + scope :normals, -> {where(homework_type: %i[normal]).order("position desc")} + scope :groups, -> {where(homework_type: %i[group]).order("position desc")} + scope :practices, -> {where(homework_type: %i[practice]).order("position desc")} # 是否显示参考答案 def view_answer identity, user_id diff --git a/app/models/subject.rb b/app/models/subject.rb index 113460375..b8d6eef8b 100644 --- a/app/models/subject.rb +++ b/app/models/subject.rb @@ -19,9 +19,9 @@ class Subject < ApplicationRecord has_many :stages, -> { order("stages.position ASC") }, dependent: :destroy # 开放课堂 - has_many :courses, -> { order("courses.id ASC") } + has_many :courses, -> { where("is_delete = 0").order("courses.id ASC") } - validates :name, length: { maximum: 40 } + validates :name, length: { maximum: 60 } validates :description, length: { maximum: 5000 } validates :learning_notes, length: { maximum: 500 } diff --git a/app/services/homeworks_service.rb b/app/services/homeworks_service.rb index a21614efc..78be3b8f9 100644 --- a/app/services/homeworks_service.rb +++ b/app/services/homeworks_service.rb @@ -9,6 +9,7 @@ class HomeworksService homework_detail_manual = HomeworkDetailManual.new homework.homework_detail_manual = homework_detail_manual + homework.position = course.practice_homeworks.first&.position.to_i + 1 if homework.save! homework_detail_manual.save! if homework_detail_manual diff --git a/app/views/courses/settings.json.jbuilder b/app/views/courses/settings.json.jbuilder index 97083d5f9..27dc9aac4 100644 --- a/app/views/courses/settings.json.jbuilder +++ b/app/views/courses/settings.json.jbuilder @@ -9,6 +9,11 @@ json.start_date @course.start_date json.end_date @course.end_date json.is_public @course.is_public json.course_module_types @course.course_modules.where(hidden: 0).pluck(:module_type) +json.course_modules @course_modules do |module_type| + json.module_type module_type.module_type + json.hidden module_type.hidden + json.module_name module_type.module_name +end json.authentication @course.authentication json.professional_certification @course.professional_certification json.subject_id @course.subject_id diff --git a/app/views/courses/tasks_list.json.jbuilder b/app/views/courses/tasks_list.json.jbuilder new file mode 100644 index 000000000..29de925a6 --- /dev/null +++ b/app/views/courses/tasks_list.json.jbuilder @@ -0,0 +1,7 @@ +json.tasks @tasks.each do |task| + json.user_name task.user.real_name + json.task_id task.id + json.task_name task.name + json.category task.course_second_category&.name + json.position task.position +end \ No newline at end of file diff --git a/app/views/exercises/_shixun_details.json.jbuilder b/app/views/exercises/_shixun_details.json.jbuilder index 4a73a9bbb..29a39a594 100644 --- a/app/views/exercises/_shixun_details.json.jbuilder +++ b/app/views/exercises/_shixun_details.json.jbuilder @@ -32,6 +32,9 @@ json.shixun_detail do if game.try(:lastest_code).blank? cha_path = challenge_path(shixun_challenge.challenge&.path) latest_code = git_fle_content(game.myshixun.repo_path,cha_path) + if latest_code.to_s == "true" + latest_code = "" + end else latest_code = game.try(:lastest_code) end diff --git a/config/routes.rb b/config/routes.rb index 4a8de5f3b..035b86d5f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -351,6 +351,8 @@ Rails.application.routes.draw do post 'update_informs' get 'online_learning' post 'join_excellent_course' + get 'tasks_list' + post 'update_task_position' end collection do diff --git a/db/migrate/20190820021047_migrate_course_task_position.rb b/db/migrate/20190820021047_migrate_course_task_position.rb new file mode 100644 index 000000000..f32ac88b1 --- /dev/null +++ b/db/migrate/20190820021047_migrate_course_task_position.rb @@ -0,0 +1,5 @@ +class MigrateCourseTaskPosition < ActiveRecord::Migration[5.2] + def change + add_column :homework_commons, :position, :integer, :default => 0 + end +end diff --git a/db/migrate/20190820102040_change_exercise_1930_position.rb b/db/migrate/20190820102040_change_exercise_1930_position.rb new file mode 100644 index 000000000..acf99b9e5 --- /dev/null +++ b/db/migrate/20190820102040_change_exercise_1930_position.rb @@ -0,0 +1,29 @@ +class ChangeExercise1930Position < ActiveRecord::Migration[5.2] + def change + exs = Exercise.all.includes(:exercise_questions) + exs.each do |ex| + ex_questions = ex&.exercise_questions&.select(:id,:question_number,:exercise_id)&.order("question_number ASC") #试卷的位置迁移 + if ex_questions.present? + ex_questions.each_with_index do |q,index| + puts index + q_num = index + 1 + if q.question_number.to_i != q_num + q.update_attributes(question_number: q_num) + end + end + end + + ex_q_bank = ex&.exercise_bank&.exercise_bank_questions&.select(:id,:question_number,:exercise_bank_id,:shixun_id)&.order("question_number ASC") #试卷的习题库位置迁移 + if ex_q_bank.present? + ex_q_bank.each_with_index do |q,index| + puts index + q_num_1 = index + 1 + if q.question_number.to_i != q_num_1 + q.update_attributes(question_number: q_num_1) + end + end + end + end + + end +end diff --git a/db/migrate/20190821072722_migrate_course_shixun_homework_position.rb b/db/migrate/20190821072722_migrate_course_shixun_homework_position.rb new file mode 100644 index 000000000..9a19b12e3 --- /dev/null +++ b/db/migrate/20190821072722_migrate_course_shixun_homework_position.rb @@ -0,0 +1,11 @@ +class MigrateCourseShixunHomeworkPosition < ActiveRecord::Migration[5.2] + def change + Course.find_each do |course| + puts course.id + course.practice_homeworks.order("IF(ISNULL(homework_commons.publish_time),0,1), homework_commons.publish_time DESC, + homework_commons.created_at DESC").reverse.each_with_index do |homework, index| + homework.update_columns(position: index + 1) + end + end + end +end diff --git a/db/migrate/20190822022306_add_exercise_user_update.rb b/db/migrate/20190822022306_add_exercise_user_update.rb new file mode 100644 index 000000000..f45e6a8ee --- /dev/null +++ b/db/migrate/20190822022306_add_exercise_user_update.rb @@ -0,0 +1,20 @@ +class AddExerciseUserUpdate < ActiveRecord::Migration[5.2] + include ExercisesHelper + def change + #2019,8,22添加 + exs = Exercise.all.is_exercise_published.where("publish_time > ?",(Time.now - 2.months)).includes(:exercise_questions,:exercise_users) + exs.each do |ex| + ex_users = ex.exercise_users.exercise_user_committed.where("end_at is not null and end_at > ?",(Time.now - 2.months)) + if ex_users.present? + ex_users.each do |ex_user| + calculate_score = calculate_student_score(ex,ex_user.user)[:total_score] + subjective_score = ex_user.subjective_score + total_score_subjective_score = subjective_score < 0.0 ? 0.0 : subjective_score + total_score = calculate_score + total_score_subjective_score + ex_user.update_attributes(score:total_score,objective_score:calculate_score) + puts ex_user.id + end + end + end + end +end diff --git a/lib/tasks/excellent_course_exercise.rake b/lib/tasks/excellent_course_exercise.rake index d337fbd73..0d8875806 100644 --- a/lib/tasks/excellent_course_exercise.rake +++ b/lib/tasks/excellent_course_exercise.rake @@ -103,6 +103,13 @@ namespace :excellent_course_exercise do end user_answer_content = answer_choice_array.sort standard_answer = q.exercise_standard_answers.pluck(:exercise_choice_id).sort #该问题的标准答案,可能有多个 + + #TODO: 旧版多选题的标准答案是放在一个里面的,新版又做成了一个题有多个标准答案(exercise_choice_id存放的是标准答案的位置..) + + if q.question_type == 1 && standard_answer.size == 1 + standard_answer = standard_answer.first.to_s.split("").map(&:to_i) + end + if user_answer_content == standard_answer #答案一致,多选或单选才给分,答案不对不给分 if standard_answer.size > 0 q_score_1 = q.question_score diff --git a/lib/tasks/user.rake b/lib/tasks/user.rake index 7e2cd2c57..144876009 100644 --- a/lib/tasks/user.rake +++ b/lib/tasks/user.rake @@ -43,12 +43,18 @@ namespace :sync do is_test: true } user = User.create!(edit_params) - puts "aa" + user.password = "edu12345678" + user.save! UserExtension.create!(user_id: user.id, school_id: 117) puts i end end + task :password => :environment do + + end + + # 随机生成字符 def generate_identifier(container, num) code = DCODES.sample(num).join diff --git a/public/assets/admin/css/style-responsive.css b/public/assets/admin/css/style-responsive.css deleted file mode 100644 index 01ec72eef..000000000 --- a/public/assets/admin/css/style-responsive.css +++ /dev/null @@ -1,263 +0,0 @@ -/*Large Desktop*/ -@media (min-width: 1200px) { - -} - -/*Desktop*/ -@media (min-width: 992px) and (max-width: 1199px) { - -} - -/*Small desktop or tablet*/ -@media (min-width: 768px) and (max-width: 991px) { - body{overflow-x: hidden;} - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-x: scroll; - overflow-y: hidden; - border: 1px solid #dddddd; - -ms-overflow-style: -ms-autohiding-scrollbar; - -webkit-overflow-scrolling: touch; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } - .button-menu-mobile{display: block;} - .navbar{margin: 0 0 0 40px;} - .mobile-sidebar{left: 0px;} - .mobile-content{left: 225px;right: -225px;} - .box-info .icon-box{ - width: 45px; - font-size: 20px; - margin-top: 5px - } - .box-info .text-box p{font-size: 11px;} - .toolbar-btn-action{text-align: center;} - .gallery-wrap .column .inner .img-wrap{ - height: 60px; - overflow: hidden; - background: #ddd; - } - .gallery-wrap .column-3 .inner .img-wrap{ - height: 140px; - overflow: hidden; - background: #ddd; - } - .gallery-wrap .column-4 .inner .img-wrap{ - height: 100px; - overflow: hidden; - background: #ddd; - } - .user-profile-sidebar{text-align: center;} - -} - -/*Phone*/ -@media (max-width: 767px) { - body{overflow-x: hidden;} - - .mobile-sidebar{left: 0px;} - .mobile-content{left: 250px;right: -250px;} - .box-info table{margin: 0 0 0 0;} - .box-info .table-responsive{border: none;} - .nav.navbar-nav.top-navbar li span.absolute {left: 25px;} - .box-info .additional .list-group{margin-bottom: -10px;} - .toolbar-btn-action{text-align: center;} - .gallery-wrap .column{width: 25%;} - .gallery-wrap .column-4{width: 33.33333333333333%;} - .gallery-wrap .column-3{width: 50%;} - .gallery-wrap .column .inner .img-wrap{ - height: 70px; - overflow: hidden; - background: #ddd; - } - .gallery-wrap .column-3 .inner .img-wrap{ - height: 140px; - overflow: hidden; - background: #ddd; - } - .gallery-wrap .column-4 .inner .img-wrap{ - height: 105px; - overflow: hidden; - background: #ddd; - } - .widget.box-messages{ - margin-top:0px; - } - - footer{text-align: center;} - .navbar-nav{ - float:left; - margin:0px; - } - .navbar{ - border:none; - } - - .navbar-nav .open .dropdown-menu{ - float:left; - position: absolute; - background:#fff; - right:0px; - left:auto; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); - } - - .navbar-nav.navbar-right:last-child { - margin-right: -15px; - height:50px; - } - - .open > .dropdown-menu { - display: block; - } - - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - - .navbar-nav > li > a{ - padding-top: 15px; - padding-bottom: 15px; - } - - .navbar-right{ - float: right; - } - .navbar-nav > li{ - display: inline-block; - } - .lock-screen{text-align: center;} - - .profile-actions{ - bottom:auto; - top:60px; - } - .widget-tabbed{ - margin-top:40px; - } - .widget-tabbed .nav-tabs a{ - font-size:0px !important; - } - .widget-tabbed .nav-tabs a i{ - font-size:18px !important; - } - .the-timeline ul li.the-year{ - font-size:30px; - } - .ava-lock-screen{text-align: center; margin-bottom: 20px;} - .ava-lock-screen img{ - width: 100px; - margin: 0; - } - .open-right-sidebar .hide-phone{ - display: none; - } - - .la-pricing-table .la-col-4{width: 50%;} - .user-profile-sidebar{text-align: center;} -} - -@media (max-width: 480px){ - .box-info .icon-box{ - width: 100%; - display: block; - } - .box-info .icon-box,.box-info .text-box{text-align: center;} - .gallery-wrap .column,.gallery-wrap .column-3,.gallery-wrap .column-4{width: 33.33333333333333%;} - .gallery-wrap .column .inner .img-wrap,.gallery-wrap .column-3 .inner .img-wrap,.gallery-wrap .column-4 .inner .img-wrap{height: 70px;} - .login-wrap{margin: 20px 0 0 0;} - - .navbar-default { - border: none; - } - .open-right-sidebar .topbar-profile,.open-right-sidebar .hide-phone{ - display: none; - } - .the-timeline ul li.the-year{ - font-size:20px; - margin-left: 37%; - } - #wrapper:not(.enlarged) .topbar-profile,#wrapper:not(.enlarged) .hide-phone{ - display: none; - } - #wrapper .content-page{ - margin-left:0px !important; - padding-left:50px; - width:100%; - display: inline-block; - } - .open-right-sidebar .content-page > .content{ - opacity: 0; - } - .side-menu{ - z-index: 10 !important; - } - #weather h2{ - top:90px; - } - #weather .w-region{ - top:250px; - } - #stock-widget #stock-title{ - display: none; - } - #stock-widget .stock-options{ - margin-left: 15px; - } - .button-menu-mobile{display: block;} -} - -@media (max-width: 420px){ - .hide-phone{ - display: none !important; - } - - -} - -@media (max-width: 360px){ - .gallery-wrap .column,.gallery-wrap .column-3,.gallery-wrap .column-4{width: 50%;} - .gallery-wrap .column .inner .img-wrap,.gallery-wrap .column-3 .inner .img-wrap,.gallery-wrap .column-4 .inner .img-wrap{height: 80px;} - .la-pricing-table .la-col-4{width: 100%;} -} - -@media (max-width: 320px){ - .gallery-wrap .column,.gallery-wrap .column-3,.gallery-wrap .column-4{width: 50%;} - .gallery-wrap .column .inner .img-wrap,.gallery-wrap .column-3 .inner .img-wrap,.gallery-wrap .column-4 .inner .img-wrap{height: 70px;} -} \ No newline at end of file diff --git a/public/assets/admin/css/style.css b/public/assets/admin/css/style.css deleted file mode 100644 index f52dd4771..000000000 --- a/public/assets/admin/css/style.css +++ /dev/null @@ -1,5507 +0,0 @@ -@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700); -.bg-white-1 { - background-color: #ffffff !important; -} -.border-white-1 { - border-color: #ffffff !important; -} -.btn-white-1 { - background-color: #ffffff; - color: #fff; -} -.btn-white-1:hover { - background-color: #f2f2f2 !important; - color: #fff; -} -.text-white-1 { - color: #ffffff !important; -} -.panel-white-1 { - border-color: #f2f2f2 !important; -} -.panel-white-1 .panel-heading { - background-color: #ffffff !important; - border-color: #f2f2f2 !important; - border-radius: 0px; -} -.panel-white-1 .panel-heading a, -.panel-white-1 .panel-title { - color: #333; -} -.widget.white-1 { - background-color: #ffffff; - color: #333; -} -.widget.white-1 .widget-header h2 { - color: #333; -} -.bg-red-1 { - background-color: #eb5055 !important; -} -.border-red-1 { - border-color: #eb5055 !important; -} -.btn-red-1 { - background-color: #eb5055; - color: #fff; -} -.btn-red-1:hover { - background-color: #dd4449 !important; - color: #fff; -} -.text-red-1 { - color: #eb5055 !important; -} -.panel-red-1 { - border-color: #dd4449 !important; -} -.panel-red-1 .panel-heading { - background-color: #eb5055 !important; - border-color: #dd4449 !important; - border-radius: 0px; -} -.panel-red-1 .panel-heading a, -.panel-red-1 .panel-title { - color: #fff; -} -.widget.red-1 { - background-color: #eb5055; - color: #fff; -} -.widget.red-1 .widget-header h2 { - color: #fff; -} -.bg-blue-1 { - background-color: #3c989e !important; -} -.border-blue-1 { - border-color: #3c989e !important; -} -.btn-blue-1 { - background-color: #3c989e; - color: #fff; -} -.btn-blue-1:hover { - background-color: #3f7e82 !important; - color: #fff; -} -.text-blue-1 { - color: #3c989e !important; -} -.panel-blue-1 { - border-color: #3f7e82 !important; -} -.panel-blue-1 .panel-heading { - background-color: #3c989e !important; - border-color: #3f7e82 !important; - border-radius: 0px; -} -.panel-blue-1 .panel-heading a, -.panel-blue-1 .panel-title { - color: #fff; -} -.widget.blue-1 { - background-color: #3c989e; - color: #fff; -} -.widget.blue-1 .widget-header h2 { - color: #fff; -} -.bg-blue-2 { - background-color: #3498db !important; -} -.border-blue-2 { - border-color: #3498db !important; -} -.btn-blue-2 { - background-color: #3498db; - color: #fff; -} -.btn-blue-2:hover { - background-color: #3189c4 !important; - color: #fff; -} -.text-blue-2 { - color: #3498db !important; -} -.panel-blue-2 { - border-color: #3189c4 !important; -} -.panel-blue-2 .panel-heading { - background-color: #3498db !important; - border-color: #3189c4 !important; - border-radius: 0px; -} -.panel-blue-2 .panel-heading a, -.panel-blue-2 .panel-title { - color: #fff; -} -.widget.blue-2 { - background-color: #3498db; - color: #fff; -} -.widget.blue-2 .widget-header h2 { - color: #fff; -} -.bg-blue-3 { - background-color: #2980b9 !important; -} -.border-blue-3 { - border-color: #2980b9 !important; -} -.btn-blue-3 { - background-color: #2980b9; - color: #fff; -} -.btn-blue-3:hover { - background-color: #2e6f9a !important; - color: #fff; -} -.text-blue-3 { - color: #2980b9 !important; -} -.panel-blue-3 { - border-color: #2e6f9a !important; -} -.panel-blue-3 .panel-heading { - background-color: #2980b9 !important; - border-color: #2e6f9a !important; - border-radius: 0px; -} -.panel-blue-3 .panel-heading a, -.panel-blue-3 .panel-title { - color: #fff; -} -.widget.blue-3 { - background-color: #2980b9; - color: #fff; -} -.widget.blue-3 .widget-header h2 { - color: #fff; -} -.bg-darkblue-1 { - background-color: #252932 !important; -} -.border-darkblue-1 { - border-color: #252932 !important; -} -.btn-darkblue-1 { - background-color: #252932; - color: #fff; -} -.btn-darkblue-1:hover { - background-color: #1d1e20 !important; - color: #fff; -} -.text-darkblue-1 { - color: #252932 !important; -} -.panel-darkblue-1 { - border-color: #1d1e20 !important; -} -.panel-darkblue-1 .panel-heading { - background-color: #252932 !important; - border-color: #1d1e20 !important; - border-radius: 0px; -} -.panel-darkblue-1 .panel-heading a, -.panel-darkblue-1 .panel-title { - color: #fff; -} -.widget.darkblue-1 { - background-color: #252932; - color: #fff; -} -.widget.darkblue-1 .widget-header h2 { - color: #fff; -} -.bg-darkblue-2 { - background-color: #4a525f !important; -} -.border-darkblue-2 { - border-color: #4a525f !important; -} -.btn-darkblue-2 { - background-color: #4a525f; - color: #fff; -} -.btn-darkblue-2:hover { - background-color: #464749 !important; - color: #fff; -} -.text-darkblue-2 { - color: #4a525f !important; -} -.panel-darkblue-2 { - border-color: #464749 !important; -} -.panel-darkblue-2 .panel-heading { - background-color: #4a525f !important; - border-color: #464749 !important; - border-radius: 0px; -} -.panel-darkblue-2 .panel-heading a, -.panel-darkblue-2 .panel-title { - color: #fff; -} -.widget.darkblue-2 { - background-color: #4a525f; - color: #fff; -} -.widget.darkblue-2 .widget-header h2 { - color: #fff; -} -.bg-darkblue-3 { - background-color: #38464a !important; -} -.border-darkblue-3 { - border-color: #38464a !important; -} -.btn-darkblue-3 { - background-color: #38464a; - color: #fff; -} -.btn-darkblue-3:hover { - background-color: #323536 !important; - color: #fff; -} -.text-darkblue-3 { - color: #38464a !important; -} -.panel-darkblue-3 { - border-color: #323536 !important; -} -.panel-darkblue-3 .panel-heading { - background-color: #38464a !important; - border-color: #323536 !important; - border-radius: 0px; -} -.panel-darkblue-3 .panel-heading a, -.panel-darkblue-3 .panel-title { - color: #fff; -} -.widget.darkblue-3 { - background-color: #38464a; - color: #fff; -} -.widget.darkblue-3 .widget-header h2 { - color: #fff; -} -.bg-lightblue-1 { - background-color: #abb7b7 !important; -} -.border-lightblue-1 { - border-color: #abb7b7 !important; -} -.btn-lightblue-1 { - background-color: #abb7b7; - color: #fff; -} -.btn-lightblue-1:hover { - background-color: #a4a4a4 !important; - color: #fff; -} -.text-lightblue-1 { - color: #abb7b7 !important; -} -.panel-lightblue-1 { - border-color: #a4a4a4 !important; -} -.panel-lightblue-1 .panel-heading { - background-color: #abb7b7 !important; - border-color: #a4a4a4 !important; - border-radius: 0px; -} -.panel-lightblue-1 .panel-heading a, -.panel-lightblue-1 .panel-title { - color: #fff; -} -.widget.lightblue-1 { - background-color: #abb7b7; - color: #fff; -} -.widget.lightblue-1 .widget-header h2 { - color: #fff; -} -.bg-lightblue-2 { - background-color: #7a868f !important; -} -.border-lightblue-2 { - border-color: #7a868f !important; -} -.btn-lightblue-2 { - background-color: #7a868f; - color: #fff; -} -.btn-lightblue-2:hover { - background-color: #787878 !important; - color: #fff; -} -.text-lightblue-2 { - color: #7a868f !important; -} -.panel-lightblue-2 { - border-color: #787878 !important; -} -.panel-lightblue-2 .panel-heading { - background-color: #7a868f !important; - border-color: #787878 !important; - border-radius: 0px; -} -.panel-lightblue-2 .panel-heading a, -.panel-lightblue-2 .panel-title { - color: #fff; -} -.widget.lightblue-2 { - background-color: #7a868f; - color: #fff; -} -.widget.lightblue-2 .widget-header h2 { - color: #fff; -} -.bg-orange-1 { - background-color: #e84c3d !important; -} -.border-orange-1 { - border-color: #e84c3d !important; -} -.btn-orange-1 { - background-color: #e84c3d; - color: #fff; -} -.btn-orange-1:hover { - background-color: #d94132 !important; - color: #fff; -} -.text-orange-1 { - color: #e84c3d !important; -} -.panel-orange-1 { - border-color: #d94132 !important; -} -.panel-orange-1 .panel-heading { - background-color: #e84c3d !important; - border-color: #d94132 !important; - border-radius: 0px; -} -.panel-orange-1 .panel-heading a, -.panel-orange-1 .panel-title { - color: #fff; -} -.widget.orange-1 { - background-color: #e84c3d; - color: #fff; -} -.widget.orange-1 .widget-header h2 { - color: #fff; -} -.bg-orange-2 { - background-color: #de745e !important; -} -.border-orange-2 { - border-color: #de745e !important; -} -.btn-orange-2 { - background-color: #de745e; - color: #fff; -} -.btn-orange-2:hover { - background-color: #cf6954 !important; - color: #fff; -} -.text-orange-2 { - color: #de745e !important; -} -.panel-orange-2 { - border-color: #cf6954 !important; -} -.panel-orange-2 .panel-heading { - background-color: #de745e !important; - border-color: #cf6954 !important; - border-radius: 0px; -} -.panel-orange-2 .panel-heading a, -.panel-orange-2 .panel-title { - color: #fff; -} -.widget.orange-2 { - background-color: #de745e; - color: #fff; -} -.widget.orange-2 .widget-header h2 { - color: #fff; -} -.bg-orange-3 { - background-color: #e27a3f !important; -} -.border-orange-3 { - border-color: #e27a3f !important; -} -.btn-orange-3 { - background-color: #e27a3f; - color: #fff; -} -.btn-orange-3:hover { - background-color: #d26e35 !important; - color: #fff; -} -.text-orange-3 { - color: #e27a3f !important; -} -.panel-orange-3 { - border-color: #d26e35 !important; -} -.panel-orange-3 .panel-heading { - background-color: #e27a3f !important; - border-color: #d26e35 !important; - border-radius: 0px; -} -.panel-orange-3 .panel-heading a, -.panel-orange-3 .panel-title { - color: #fff; -} -.widget.orange-3 { - background-color: #e27a3f; - color: #fff; -} -.widget.orange-3 .widget-header h2 { - color: #fff; -} -.bg-orange-4 { - background-color: #edce8c !important; -} -.border-orange-4 { - border-color: #edce8c !important; -} -.btn-orange-4 { - background-color: #edce8c; - color: #fff; -} -.btn-orange-4:hover { - background-color: #e2c27e !important; - color: #fff; -} -.text-orange-4 { - color: #edce8c !important; -} -.panel-orange-4 { - border-color: #e2c27e !important; -} -.panel-orange-4 .panel-heading { - background-color: #edce8c !important; - border-color: #e2c27e !important; - border-radius: 0px; -} -.panel-orange-4 .panel-heading a, -.panel-orange-4 .panel-title { - color: #333; -} -.widget.orange-4 { - background-color: #edce8c; - color: #333; -} -.widget.orange-4 .widget-header h2 { - color: #333; -} -.bg-green-1 { - background-color: #68c39f !important; -} -.border-green-1 { - border-color: #68c39f !important; -} -.btn-green-1 { - background-color: #68c39f; - color: #fff; -} -.btn-green-1:hover { - background-color: #62b091 !important; - color: #fff; -} -.text-green-1 { - color: #68c39f !important; -} -.panel-green-1 { - border-color: #62b091 !important; -} -.panel-green-1 .panel-heading { - background-color: #68c39f !important; - border-color: #62b091 !important; - border-radius: 0px; -} -.panel-green-1 .panel-heading a, -.panel-green-1 .panel-title { - color: #fff; -} -.widget.green-1 { - background-color: #68c39f; - color: #fff; -} -.widget.green-1 .widget-header h2 { - color: #fff; -} -.bg-green-2 { - background-color: #9ec789 !important; -} -.border-green-2 { - border-color: #9ec789 !important; -} -.btn-green-2 { - background-color: #9ec789; - color: #fff; -} -.btn-green-2:hover { - background-color: #93b582 !important; - color: #fff; -} -.text-green-2 { - color: #9ec789 !important; -} -.panel-green-2 { - border-color: #93b582 !important; -} -.panel-green-2 .panel-heading { - background-color: #9ec789 !important; - border-color: #93b582 !important; - border-radius: 0px; -} -.panel-green-2 .panel-heading a, -.panel-green-2 .panel-title { - color: #fff; -} -.widget.green-2 { - background-color: #9ec789; - color: #fff; -} -.widget.green-2 .widget-header h2 { - color: #fff; -} -.bg-green-3 { - background-color: #209c83 !important; -} -.border-green-3 { - border-color: #209c83 !important; -} -.btn-green-3 { - background-color: #209c83; - color: #fff; -} -.btn-green-3:hover { - background-color: #247f6c !important; - color: #fff; -} -.text-green-3 { - color: #209c83 !important; -} -.panel-green-3 { - border-color: #247f6c !important; -} -.panel-green-3 .panel-heading { - background-color: #209c83 !important; - border-color: #247f6c !important; - border-radius: 0px; -} -.panel-green-3 .panel-heading a, -.panel-green-3 .panel-title { - color: #fff; -} -.widget.green-3 { - background-color: #209c83; - color: #fff; -} -.widget.green-3 .widget-header h2 { - color: #fff; -} -.bg-pink-1 { - background-color: #f57a82 !important; -} -.border-pink-1 { - border-color: #f57a82 !important; -} -.btn-pink-1 { - background-color: #f57a82; - color: #fff; -} -.btn-pink-1:hover { - background-color: #eb6b73 !important; - color: #fff; -} -.text-pink-1 { - color: #f57a82 !important; -} -.panel-pink-1 { - border-color: #eb6b73 !important; -} -.panel-pink-1 .panel-heading { - background-color: #f57a82 !important; - border-color: #eb6b73 !important; - border-radius: 0px; -} -.panel-pink-1 .panel-heading a, -.panel-pink-1 .panel-title { - color: #333; -} -.widget.pink-1 { - background-color: #f57a82; - color: #333; -} -.widget.pink-1 .widget-header h2 { - color: #333; -} -.bg-pink-2 { - background-color: #f56f6c !important; -} -.border-pink-2 { - border-color: #f56f6c !important; -} -.btn-pink-2 { - background-color: #f56f6c; - color: #fff; -} -.btn-pink-2:hover { - background-color: #ea605d !important; - color: #fff; -} -.text-pink-2 { - color: #f56f6c !important; -} -.panel-pink-2 { - border-color: #ea605d !important; -} -.panel-pink-2 .panel-heading { - background-color: #f56f6c !important; - border-color: #ea605d !important; - border-radius: 0px; -} -.panel-pink-2 .panel-heading a, -.panel-pink-2 .panel-title { - color: #fff; -} -.widget.pink-2 { - background-color: #f56f6c; - color: #fff; -} -.widget.pink-2 .widget-header h2 { - color: #fff; -} -.bg-yellow-1 { - background-color: #f4cda5 !important; -} -.border-yellow-1 { - border-color: #f4cda5 !important; -} -.btn-yellow-1 { - background-color: #f4cda5; - color: #fff; -} -.btn-yellow-1:hover { - background-color: #ebc095 !important; - color: #fff; -} -.text-yellow-1 { - color: #f4cda5 !important; -} -.panel-yellow-1 { - border-color: #ebc095 !important; -} -.panel-yellow-1 .panel-heading { - background-color: #f4cda5 !important; - border-color: #ebc095 !important; - border-radius: 0px; -} -.panel-yellow-1 .panel-heading a, -.panel-yellow-1 .panel-title { - color: #333; -} -.widget.yellow-1 { - background-color: #f4cda5; - color: #333; -} -.widget.yellow-1 .widget-header h2 { - color: #333; -} -.bg-yellow-2 { - background-color: #eae696 !important; -} -.border-yellow-2 { - border-color: #eae696 !important; -} -.btn-yellow-2 { - background-color: #eae696; - color: #fff; -} -.btn-yellow-2:hover { - background-color: #deda88 !important; - color: #fff; -} -.text-yellow-2 { - color: #eae696 !important; -} -.panel-yellow-2 { - border-color: #deda88 !important; -} -.panel-yellow-2 .panel-heading { - background-color: #eae696 !important; - border-color: #deda88 !important; - border-radius: 0px; -} -.panel-yellow-2 .panel-heading a, -.panel-yellow-2 .panel-title { - color: #333; -} -.widget.yellow-2 { - background-color: #eae696; - color: #333; -} -.widget.yellow-2 .widget-header h2 { - color: #333; -} -body { - background: #f3f3f3; - margin: 0; - -webkit-font-smoothing: antialiased; - text-rendering: optimizelegibility; - -webkit-text-size-adjust: 100%; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -} -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 10px 0; -} -h1 { - line-height: 43px; -} -h2 { - line-height: 35px; -} -h3 { - line-height: 30px; -} -h4 { - line-height: 22px; -} -h3 small, -h4 small, -h5 small { - font-family: 'Open Sans'; - font-weight: 300; - color: #444; -} -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: 'Open Sans'; - font-weight: 300; - color: #505458; -} -* { - outline: none !important; -} -a:hover, -a:active, -a:focus { - outline: 0; - text-decoration: none; -} -:focus { - outline: none; -} -::-moz-focus-inner { - border: 0; -} -.label { - padding: 0.3em 0.6em; -} -.container { - width: auto; -} -.navbar { - margin: 0 0 0 -15px; -} -.navbar-collapse { - padding: 0; - margin: 0; -} -.navbar-default { - background-color: transparent; - border: none; -} -.nav.navbar-nav.top-navbar .dropdown-menu > li { - position: relative; -} -.nav.navbar-nav.top-navbar .dropdown-menu > li > a { - cursor: pointer; - color: #4C5264; -} -.nav.navbar-nav.top-navbar > li span.absolute { - position: absolute; - top: 5px; - left: 25px; - font-size: 10px; - line-height: 7px !important; - font-weight: 400 ! important; - border-radius: 15px; - padding: 4px; - z-index: 4; -} -.table-noborder td { - border: 0px !important; -} -.badge { - vertical-align: bottom; -} -.btn-group.spaced .btn { - border-left: 1px solid rgba(0,0,0,0.1); -} -.btn-group.open { - z-index: 2 !important; -} -.bold { - font-weight: 700 !important; -} -.semibold { - font-weight: 600 !important; -} -.input-invis { - background: none !important; - border: none !important; -} -span.new-circle { - border-radius: 10px; - padding: 5px; -} -img.xs-avatar { - width: 50px; - padding: 2px; - background: #fff; - border: 1px solid #ddd; - margin: 0px 4px 0 0; - -webkit-border-radius: 100px !important; - -moz-border-radius: 100px !important; - border-radius: 100px !important; -} -img.ava-dropdown { - float: left; - margin: 0px 10px 0 0; -} -label { - font-family: "Open Sans"; - font-size: 13px; - font-weight: 600; -} -.no-left-padding { - padding-left: 0px; -} -.no-right-padding { - padding-right: 0px; -} -.nomargin { - margin: 0px !important; -} -.no-rounded { - -webkit-border-radius: 0px !important; - border-radius: 0px !important; -} -.full-rounded { - -webkit-border-radius: 20px !important; - -moz-border-radius: 20px !important; - border-radius: 20px !important; -} -.stacked { - margin: 0px; -} -.stacked > [class*="col-"] { - padding-left: 0px; - padding-right: 0px; - margin: 0px !important; -} -textarea, -input[type="text"], -input[type="password"], -input[type="datetime"], -input[type="datetime-local"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="week"], -input[type="number"], -input[type="email"], -input[type="url"], -input[type="search"], -input[type="tel"], -input[type="color"] { - -webkit-transition: background 0.2s linear; - -moz-transition: background 0.2s linear; - -ms-transition: background 0.2s linear; - -o-transition: background 0.2s linear; - transition: background 0.2s linear; -} -textarea:focus, -select:focus, -input[type="text"]:focus, -input[type="password"]:focus, -input[type="datetime"]:focus, -input[type="datetime-local"]:focus, -input[type="date"]:focus, -input[type="month"]:focus, -input[type="time"]:focus, -input[type="week"]:focus, -input[type="number"]:focus, -input[type="email"]:focus, -input[type="url"]:focus, -input[type="search"]:focus, -input[type="tel"]:focus, -input[type="color"]:focus, -.m-uneditable-input:focus { - background: #f1f1f1; - border-color: #eee; - -webkit-transition: background 0.2s linear; - -moz-transition: background 0.2s linear; - -ms-transition: background 0.2s linear; - -o-transition: background 0.2s linear; - transition: background 0.2s linear; -} -.icon-added input { - padding-left: 32px !important; -} -.icon-added i:first-child { - color: rgba(0,0,0,0.2); - display: block; - margin: 10px; - z-index: 3; - position: absolute; - text-align: center; -} -.loading { - display: block; - z-index: 2000; - width: 14px; - height: 14px; - border: solid 2px transparent; - border-top-color: #68C39F; - border-left-color: #68C39F; - border-radius: 10px; - -webkit-animation: pace-spinner 400ms linear infinite; - -moz-animation: pace-spinner 400ms linear infinite; - -ms-animation: pace-spinner 400ms linear infinite; - -o-animation: pace-spinner 400ms linear infinite; - animation: pace-spinner 400ms linear infinite; - -moz-border-bottom-colors: none; - -moz-border-left-colors: none; - -moz-border-right-colors: none; - -moz-border-top-colors: none; -} -.dropdown-menu { - -webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0); - box-shadow: 0 0 0 0 rgba(0,0,0,0); - -webkit-border-radius: 2px; - border-radius: 2px; - font-size: 12px; - padding: 5px; - background: #fff; - border: 1px solid rgba(0,0,0,0.1); - border-bottom: 1px solid #d2d2d2; - box-shadow: inset 0px 1px 2px #fff; - top: 100%; -} -.dropdown-menu > li > a { - padding: 5px 7px; - -webkit-border-radius: 2px; - border-radius: 2px; - font-size: 13px; - color: #555; -} -.dropdown-menu > li > a:hover { - background: #aaa; - color: #fff; -} -.nav .dropdown-menu { - z-index: 8; -} -.dropdown-menu.dropdown-message ul { - white-space: inherit; -} -.dropdown-menu.dropdown-message > li > a { - word-wrap: break-word; - white-space: inherit; - width: 300px; - border-bottom: 1px solid #eee; -} -.dropdown-menu.dropdown-message li.dropdown-footer a { - display: block; -} -.dropdown-menu.dropdown-message li p { - font-size: 11px; - margin-bottom: 5px; -} -.dropdown-menu.dropdown-message li i.msg-time { - color: #7A868F; - font-size: 11px; - font-style: normal; -} -.dropdown-menu.dropdown-message li p i { - color: #7A868F; - font-size: 11px; - font-style: normal; -} -.dropdown-menu.dropdown-message .dropdown-message-scroll { - padding: 0px; -} -.dropdown-menu.dropdown-message .dropdown-message-scroll li { - padding: 5px 20px; -} -.dropdown-menu.dropdown-message .dropdown-message-scroll a, -.dropdown-menu.dropdown-message .dropdown-message-scroll strong { - text-decoration: none; - border-bottom: none; -} -.dropdown-menu.dropdown-message .dropdown-message-scroll .unread { - background: #FFFCE0; -} -.dropdown-menu.dropdown-message .dropdown-message-scroll a:hover { - color: #000; -} -.dropdown-header.notif-header { - font-size: 14px; - padding: 6px 8px 5px; -} -.dropdown-header.notif-header .pull-right { - margin-top: -19px; -} -.iradio, -.icheckbox { - margin-bottom: 10px; - margin-top: 10px; - min-height: 20px; - padding-left: 0px; -} -.icheckbox_square-aero { - margin-right: 5px; -} -.input-group-addon { - padding: 5px 12px; -} -i.i-xs { - font-size: 10px; -} -.widget-tabbed .nav-tabs:first-child { - margin-top: -39px; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #fff; - background-color: #545e6c; - border-bottom: none; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - color: #fff; - background-color: #545e6c; -} -.navbar-nav > li > .dropdown-menu:before { - border-bottom: 6px solid #ABB7B7; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - right: 18px; - content: ""; - height: 0; - margin-right: -3px; - pointer-events: none; - position: absolute; - width: 0; - bottom: 100%; -} -.navbar-nav > li > .dropdown-menu { - z-index: 8; - border-radius: 2px; - -webkit-border-radius: 2px; - padding: 0px; - border: 0px; - box-shadow: 0 2px 6px rgba(0,0,0,0.1); -} -.navbar-nav > li > .dropdown-menu > li > a { - -webkit-transition: all 200ms ease-in; - -moz-transition: all 200ms ease-in; - -ms-transition: all 200ms ease-in; - -o-transition: all 200ms ease-in; - transition: all 200ms ease-in; - -webkit-border-radius: 0px; - border-radius: 0px; -} -.navbar-nav > li > .dropdown-menu > li > a:hover, -.navbar-nav > li > .dropdown-menu > li > a:focus { - background: rgba(0,0,0,0.06); -} -.navbar-nav > li > .dropdown-menu .dropdown-header { - background: #ABB7B7; - color: #fff; - -webkit-border-radius: 2px 2px 0 0; - border-radius: 2px 2px 0 0; -} -.navbar-nav > li > .dropdown-menu .dropdown-header a { - display: inline-block; - width: auto; - padding: 0px; - border: none; - margin-right: 7px; -} -.navbar-nav > li > .dropdown-menu .dropdown-footer { - background: #ABB7B7; - color: #fff; - -webkit-border-radius: 0 0 2px 2px; - border-radius: 0 0 2px 2px; -} -.navbar-nav > li.language_bar > .dropdown-menu > li > a:hover, -.navbar-nav > li.language_bar > .dropdown-menu > li > a:focus { - background: rgba(0,0,0,0.3); -} -.navbar-nav > li.language_bar > .dropdown-menu:before, -.navbar-nav > li > .dropdown-menu.grid-dropdown:before { - border-bottom: 6px solid #fff; -} -.navbar-nav > li > .dropdown-menu.grid-dropdown { - width: 300px; - text-align: center; - font-size: 16px; - color: #252932; -} -.navbar-nav > li > .dropdown-menu.grid-dropdown a { - font-size: 13px; - color: #38464A; - width: 100%; - padding: 10px; - line-height: 30px; - display: block; - font-weight: 300; - font-family: "Open Sans"; - vertical-align: middle; - opacity: 0.7; - cursor: default; -} -.navbar-nav > li > .dropdown-menu.grid-dropdown a.clickable:hover { - background: #ABB7B7; - color: #fff; -} -.navbar-nav > li > .dropdown-menu.grid-dropdown a.clickable:hover i { - color: #fff; -} -.navbar-nav > li > .dropdown-menu.grid-dropdown a i { - font-size: 25px; - line-height: 30px; - height: 30px; - display: block; - color: #697a7a; -} -.navbar-nav > li > .dropdown-menu.grid-dropdown a.clickable { - opacity: 1; - cursor: pointer; -} -.navbar-nav > li > .dropdown-menu.grid-dropdown:before { - right: auto; - left: 18px; -} -.navbar-nav > li.topbar-profile > .dropdown-menu { - background: #7A868F; - color: #fff; -} -.navbar-nav > li.topbar-profile > .dropdown-menu > li > a { - color: #eee !important; - padding-left: 10px; - padding-right: 10px; - font-family: "Open Sans"; -} -.navbar-nav > li.topbar-profile > .dropdown-menu > li.divider { - background: rgba(0,0,0,0.1); - height: 2px; - border-bottom: 1px solid rgba(255,255,255,0.2); - margin: 4px 0; -} -.navbar-nav > li.topbar-profile > .dropdown-menu > li:hover > a, -.navbar-nav > li.topbar-profile > .dropdown-menu > li:focus > a { - color: #fff !important; -} -.navbar-nav > li.topbar-profile > .dropdown-menu:before { - border-bottom: 6px solid #7A868F; -} -.navbar-form { - margin: 0px; - padding: 0px; - position: relative; - margin-bottom: 10px; - border: none; - box-shadow: none; - border-bottom: 1px solid rgba(0,0,0,0.03); -} -.navbar-form .search-button { - background: none; - border: none; - position: absolute; - right: 5px; - top: 0px; - color: #ccc; - -webkit-box-shadow: 0px 0px 0px 0px !important; - box-shadow: 0px 0px 0px 0px !important; - -webkit-border-radius: 0px; - border-radius: 0px; - -webkit-transition: all 100ms ease-in; - -moz-transition: all 100ms ease-in; - -ms-transition: all 100ms ease-in; - -o-transition: all 100ms ease-in; - transition: all 100ms ease-in; -} -.navbar-form .search-button:hover { - color: #777 !important; - -webkit-transition: all 300ms ease-in; - -moz-transition: all 300ms ease-in; - -ms-transition: all 300ms ease-in; - -o-transition: all 300ms ease-in; - transition: all 300ms ease-in; -} -.navbar-form .form-control:focus + .search-button { - color: #ccc; -} -.navbar-form .form-group { - display: block; -} -.navbar-form .form-control { - background-color: transparent !important; - border: none; - color: #aaa; - box-shadow: none; - display: block; - width: 100%; - -webkit-border-radius: 0px; - border-radius: 0px; - -webkit-transition: all 300ms ease-in; - -moz-transition: all 300ms ease-in; - -ms-transition: all 300ms ease-in; - -o-transition: all 300ms ease-in; - transition: all 300ms ease-in; -} -.navbar-form .form-control:focus { - background-color: #f2f2f2 !important; - border-color: #888; - color: #888; - -webkit-transition: all 300ms ease-in; - -moz-transition: all 300ms ease-in; - -ms-transition: all 300ms ease-in; - -o-transition: all 300ms ease-in; - transition: all 300ms ease-in; -} -.navbar-form .form-control::-webkit-input-placeholder { - color: #ccc !important; - text-overflow: ellipsis; -} -.navbar-form .form-control:-moz-placeholder { - color: #ccc !important; - text-overflow: ellipsis; -} -.navbar-form .form-control::-moz-placeholder { - color: #ccc !important; - text-overflow: ellipsis; -} -.navbar-form .form-control:-ms-input-placeholder { - color: #ccc !important; - text-overflow: ellipsis; -} -.enlarged .navbar-form .form-control { - color: transparent; -} -.enlarged .navbar-form .form-control:hover, -.enlarged .navbar-form .form-control:focus { - color: #aaa; -} -.enlarged .navbar-form .form-control::-webkit-input-placeholder { - color: transparent !important; - text-overflow: ellipsis; -} -.enlarged .navbar-form .form-control:-moz-placeholder { - color: transparent !important; - text-overflow: ellipsis; -} -.enlarged .navbar-form .form-control::-moz-placeholder { - color: transparent !important; - text-overflow: ellipsis; -} -.enlarged .navbar-form .form-control:-ms-input-placeholder { - color: transparent !important; - text-overflow: ellipsis; -} -.rounded-image { - -webkit-border-radius: 100px; - border-radius: 100px; - overflow: hidden; - display: inline-block; -} -.rounded-image img { - width: 100%; -} -.profile-image { - border: 4px double rgba(0,0,0,0.2); -} -.profile-info .col-xs-4 { - padding: 0px 0px 0px 10px; -} -.profile-text { - color: #4A525F; - font-family: "Open Sans"; - font-size: 18px; -} -.profile-buttons { - margin-top: 5px; -} -.profile-buttons a { - color: #606b7c; - font-size: 13px; - line-height: 22px; - padding: 4px 10px 6px; - vertical-align: middle; - display: inline-block; -} -.profile-buttons a i { - font-size: 16px; - line-height: 25px; -} -.profile-buttons a:hover { - color: #fff; - background: rgba(0,0,0,0.2); - -webkit-border-radius: 3px; - border-radius: 3px; -} -.profile-status i { - color: #444; - font-size: 14px; - float: right; - margin-top: -14px; -} -i.online { - color: #00AC65; -} -hr.divider { - border-color: rgba(255,255,255,0.1); - width: 90%; - margin: 10px 5%; - display: block; - clear: both; -} -.the-timeline { - margin-bottom: 40px; -} -.the-timeline .post-to-timeline { - margin: 15px 0; -} -.the-timeline .post-to-timeline textarea { - height: 50px; - resize: none; - margin-bottom: 10px; -} -.the-timeline ul { - padding: 0; - list-style: none; - margin: 0 15px 0 30px; - border-left: 2px solid #ddd; -} -.the-timeline ul li.the-year { - background: transparent; - height: 100px; - line-height: 90px; - min-height: 100px; - left: -32px; - border-left: 4px solid transparent !important; - text-align: center; - font-size: 50px; - font-family: "Open Sans"; - font-weight: 700; -} -.the-timeline ul li.the-year p { - width: 20%; - margin-left: 41%; -} -.the-timeline ul li.the-year:before { - display: block; - border: 0px; - width: 40%; - top: 50px; - border-top: 2px solid #ddd !important; -} -.the-timeline ul li.the-year:after { - display: block; - border: 0px; - right: -32px; - content: " "; - top: 50px; - position: absolute; - left: auto; - width: 40%; - border-top: 2px solid #ddd; -} -.the-timeline ul li:before { - width: 10px; - height: 10px; - border-style: solid; - content: " "; - position: absolute; - left: -14px; - top: 19px; - border-width: 7.5px 8px 7.5px 0; - border-color: transparent #efefef transparent transparent; - display: block; -} -.the-timeline ul li { - padding: 5px 15px; - display: block; - min-height: 54px; - -webkit-border-radius: 3px; - border-radius: 3px; - margin: 20px 0 20px 40px; - background: #efefef; - position: relative; - border-left: 4px solid transparent; -} -.the-timeline ul li:hover { - border-left-color: #4A525F; -} -.the-timeline ul li:hover:before { - border-color: transparent #4A525F transparent transparent; -} -.the-timeline ul li p { - margin: 0; - padding: 0; -} -.the-timeline ul li .the-date { - position: absolute; - left: -69px; - top: 0; - width: 50px; - height: 50px; - background: #EB5055; - border-radius: 50%; - text-align: center; - line-height: 130%; -} -.the-timeline ul li .the-date span { - color: #fff; - font-size: 18px; - display: block; - margin-top: 8px; -} -.the-timeline ul li .the-date small { - color: #fff; - font-size: 12px; - display: block; -} -.videoWrapper { - position: relative; - padding-bottom: 56.25%; - padding-top: 25px; - height: 0; - margin-bottom: 15px; -} -.videoWrapper iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: none; -} -iframe { - width: 100%; - border: none; -} -.breadcrumb { - padding: 0; - background: transparent; - font-size: 12px; - margin: 0; -} -.progress.progress-xs { - height: 5px; - margin-top: 25px; - margin-bottom: 20px; - border-radius: 0px; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress.progress-xs.for-modal { - margin-top: 10px; - margin-bottom: 20px; -} -.progress.progress-xs .progress-bar { - font-size: 11px; - line-height: 16px; - color: #ffffff; - -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,0); - box-shadow: inset 0 -1px 0 rgba(0,0,0,0); -} -.progress.progress-xs.progress-striped .progress-bar { - background-size: 10px 10px; -} -.progress.progress-sm { - height: 10px; - margin-top: 20px; - margin-bottom: 20px; - border-radius: 0px; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress.progress-sm.progress-striped .progress-bar { - background-size: 15px 15px; -} -.table > thead > tr > th { - vertical-align: middle; - border-bottom: 1px solid #dddddd; -} -.form-control { - font-size: 13px; - border-radius: 0; - border-color: #ddd; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0); - box-shadow: inset 0 1px 1px rgba(0,0,0,0); -} -.form-control:focus { - border-color: #dadada; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0), 0 0 8px rgba(102,175,233,0); - box-shadow: inset 0 1px 1px rgba(0,0,0,0), 0 0 8px rgba(102,175,233,0); -} -.form-group .checkbox { - margin-left: 0; - padding-left: 0; -} -.btn { - border-radius: 2px; -} -.list-group-item:first-child { - border-top-right-radius: 0px; - border-top-left-radius: 0px; -} -.list-group-item:last-child { - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; -} -.alert { - border-radius: 0px; -} -.btn-facebook { - background: #45619D; - border-color: #4D6CAD; -} -.btn-facebook:hover { - background: #395289; - border-color: #4D6CAD; -} -.btn-twitter { - background: #00ACEE; - border-color: #00B7FC; -} -.btn-twitter:hover { - background: #03A0DE; - border-color: #00B7FC; -} -.btn-gplus { - background: #D54636; - border-color: #B22E21; -} -.btn-gplus:hover { - background: #BF392E; - border-color: #B22E21; -} -.btn-vimeo { - background: #1BB6EC; - border-color: #0AA0D3; -} -.btn-vimeo:hover { - background: #12ADE3; - border-color: #0AA0D3; -} -.btn-pinterest { - background: #CD1F28; - border-color: #B70F17; -} -.btn-pinterest:hover { - background: #C9121A; - border-color: #B70F17; -} -.btn-instagram { - background: #4E3D35; - border-color: #392C24; -} -.btn-instagram:hover { - background: #483931; - border-color: #392C24; -} -.clear { - clear: both; -} -#wrapper { - width: 100%; - height: 100%; - background: #f3f3f3; - position: relative; -} -.page { - left: 0; - right: 0; - top: 0; - bottom: 0; -} -.rows, -.col, -.page { - position: absolute; -} -.rows { - left: 0; - right: 0; -} -.topbar { - left: 0px; - right: 0; - top: 0px; - height: 50px; - z-index: 11; - background: #424a55; - position: fixed; -} -.topbar .topbar-left { - float: left; - height: 50px; - position: relative; - z-index: 1; - width: 240px; - background: #424a55; -} -.logo h1 { - margin: 0px auto; - height: 50px; - text-align: center; -} -.logo h1 img { - height: 50%; -} -.topbar-profile .topbar-profile-image { - width: 35px; - position: relative; - margin-right: 5px; - margin-top: -15px; - margin-bottom: -12px; - border: 1px solid rgba(0,0,0,0.2); -} -.navbar-default .navbar-nav .topbar-profile > a { - font-family: "Open Sans"; -} -.navbar-right .iconify > a > i { - font-size: 18px; - color: #fff; - line-height: 17px; -} -.navbar-right .iconify > a:focus > i { - font-size: 18px; - color: #fff; - line-height: 17px; -} -.navbar-default .navbar-nav > li > a { - color: #fff; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #fff; -} -.right-opener { - border-left: 1px solid rgba(0,0,0,0.1); -} -.right-opener i { - color: rgba(255,255,255,0.8); -} -.right-opener .fa-angle-double-right { - display: none; -} -.open-right-sidebar .right-opener .fa-angle-double-right { - display: inline-block; -} -.open-right-sidebar .right-opener .fa-angle-double-left { - display: none; -} -.col { - top: 0; - bottom: 0; -} -.scroll-x { - overflow-x: auto; - -webkit-overflow-scrolling: touch; -} -.scroll-y { - overflow-y: auto; - -webkit-overflow-scrolling: touch; -} -.fill, -.pane { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - width: 100%; - height: 100%; -} -.pane { - display: none; -} -.side-menu { - width: 240px; - top: 0; - bottom: 0; - z-index: 2; -} -.side-menu.left { - background: #fff; - position: absolute; - top: 50px; - border-right: 1px solid #eee; -} -body.fixed-left .side-menu.left { - margin-top: 0px; - position: fixed; - height: 100%; - bottom: 50px; - margin-bottom: -50px; - padding-bottom: 50px; -} -.side-menu.left .scroll-y { - direction: rtl; - overflow-x: visible; -} -body.mobile .slimscrollleft, -body.mobile .slimscroller { - overflow-y: scroll; -} -.side-menu.left .scroll-y .sidebar-inner { - direction: ltr; -} -.content-page { - margin-left: 240px; - overflow: hidden; - position: relative; -} -.content-page > .content { - margin-top: 50px; - padding: 20px; - position: relative; -} -.side-menu.right { - width: 240px; - right: -240px; - position: fixed; - z-index: 15; - background: #fff; -} -.side-menu.right .tab-inner { - height: 100%; -} -#wrapper.open-right-sidebar { - padding-right: 240px; -} -.open-right-sidebar .topbar { - margin-right: 240px; -} -.open-right-sidebar .right { - right: 0px !important; -} -.header.rows { - height: 50px; -} -.header.rows-content-header { - height: 50px; -} -.header.left.side-menu { - background: #343838; -} -.header.content { - background: #FFFFFF; - border-bottom: 1px solid #E5E9EC; -} -.body.rows { - top: 0px; - bottom: 50px; -} -.body.content.rows { - top: 50px; - bottom: 0px; - background: #f3f3f3; - padding: 20px; - font-size: 13px; -} -body.fixed-left .left-footer { - bottom: 50px; -} -.left-footer { - height: 50px; - bottom: 0px; - display: none; - position: absolute; - width: 100%; - background: rgba(0,0,0,0.3); - color: #E8EAED; - padding: 15px; -} -.left-footer .progress.progress-xs { - margin: 9px 70px 9px 0; - overflow: visible; - position: relative; -} -.left-footer .progress.progress-xs .progress-precentage { - display: block; - position: absolute; - right: -20px; - top: -12px; - padding: 7px 5px; - border-radius: 50%; - background: #555; - color: #f3f3f3; -} -.left-footer .progress.progress-xs { - background: rgba(0,0,0,0.6); -} -.left-footer .progress.progress-xs .btn { - display: block; - position: absolute; - right: -70px; - top: -14px; - background: #555; - color: #f3f3f3; - border: none; -} -.button-menu-mobile { - position: absolute; - right: 0; - float: left; - top: 0px; - z-index: 2; - padding: 10px 18px; - height: 50px; - font-size: 21px; - background: transparent; - color: #fff; - border: none; -} -.button-menu-mobile:hover { - color: #aaa; -} -button.navbar-toggle { - padding: 5px 20px; -} -.breadcrumb { - top: 50px; - line-height: 30px; - padding: 0px 15px; - background: rgba(0,0,0,0.05); - position: relative; - font-family: "Open Sans"; - -webkit-border-radius: 0px !important; - -moz-border-radius: 0px !important; - border-radius: 0px !important; -} -.breadcrumb li a { - font-family: "Open Sans"; - color: #9dabab; -} -.breadcrumb li.active { - color: #7A868F; -} -.breadcrumb > li + li:before { - color: #9dabab; - padding: 0px 10px; - content: ""; - font-family: FontAwesome; -} -.sidebar-inner { - height: 100%; -} -#sidebar-menu, -#sidebar-menu ul, -#sidebar-menu li, -#sidebar-menu a { - margin: 0; - padding: 0; - border: 0; - list-style: none; - font-weight: normal; - text-decoration: none; - line-height: 1; - font-size: 13px; - position: relative; -} -#sidebar-menu a { - line-height: 1.3; -} -#sidebar-menu { - width: 100%; - font-family: "Open Sans"; -} -#sidebar-menu > ul > li { - background: #fff; - display: block; -} -#sidebar-menu > ul > li > a { - font-size: 13px; - display: block; - color: #555; - padding: 10px; - padding-right: 22px; -} -#sidebar-menu > ul > li > a > span { - vertical-align: middle; -} -#sidebar-menu > ul > li > a:hover { - color: #555; - background: #ffffff; - padding-left: 10px; -} -#sidebar-menu > ul > li > a > i { - color: rgba(0,0,0,0.4); - display: inline-block; - font-size: 15px; - line-height: 17px; - margin-left: 3px; - margin-right: 7px; - text-align: center; - vertical-align: middle; - width: 20px; -} -#sidebar-menu > ul > li > a > i.i-right { - margin: 3px 0 0 0; - float: right; -} -#sidebar-menu > ul > li > a:hover { - text-decoration: none; -} -#sidebar-menu > ul > li > a.subdrop { - background: #ffffff; -} -#sidebar-menu > ul > li > a.active, -#sidebar-menu > ul > li > a.active.subdrop { - color: #fff; - background: #7eccad !important; - font-weight: 600; - border-left: 0px solid rgba(0,0,0,0.3); -} -#sidebar-menu > ul > li > a.active i, -#sidebar-menu > ul > li > a.active.subdrop i { - color: #fff; -} -#sidebar-menu > ul > li > a span.label { - float: right; -} -#sidebar-menu > ul > li > a span.label.span-left { - float: none; - margin-left: 5px; -} -#sidebar-menu span.cnt { - position: absolute; - top: 8px; - right: 15px; - padding: 0; - margin: 0; - background: none; -} -#sidebar-menu ul ul { - display: none; - background: #ebebeb; -} -#sidebar-menu ul ul ul { - border-top: 1px solid rgba(0,0,0,0.1); - background: rgba(0,0,0,0.2); -} -#sidebar-menu ul ul li { - border-top: 0; -} -#sidebar-menu ul ul a { - padding: 10px 25px; - display: block; - color: #555; - font-family: "Open Sans"; - font-size: 12px; -} -#sidebar-menu ul ul ul a { - padding-left: 35px; -} -#sidebar-menu ul ul ul ul a { - padding-left: 45px; -} -#sidebar-menu ul ul a:hover { - color: #222; - background: #d9d9d9; -} -#sidebar-menu ul ul li a.active { - color: #222; - background: #dedede; -} -#sidebar-menu ul ul a i { - margin-right: 5px; -} -#wrapper.enlarged #sidebar-menu ul ul { - border: none; -} -#wrapper.enlarged .left.side-menu .widget { - display: none; -} -#wrapper.enlarged .profile-text { - display: none; -} -#wrapper.enlarged .profile-info .col-xs-4 { - width: 100%; - padding: 5px; -} -#wrapper.enlarged .profile-info .col-xs-8 { - width: 100%; - padding: 0 7px; -} -#wrapper.enlarged .left.side-menu { - width: 50px; - z-index: 5; -} -#wrapper.enlarged .content-page { - margin-left: 50px; -} -#wrapper.enlarged .left.side-menu .navbar-form input::-webkit-input-placeholder { - color: transparent !important; -} -#wrapper.enlarged .left.side-menu .navbar-form input:-moz-placeholder { - color: transparent !important; -} -#wrapper.enlarged .left.side-menu .navbar-form input::-moz-placeholder { - color: transparent !important; -} -#wrapper.enlarged .left.side-menu .navbar-form input:-ms-input-placeholder { - color: transparent !important; -} -#wrapper.enlarged .left.side-menu .navbar-form:hover { - width: 240px; - position: relative; - z-index: 5; -} -#wrapper.enlarged .topbar .topbar-left { - width: 50px !important; -} -#wrapper.enlarged .topbar .topbar-left .logo { - opacity: 0; - display: none; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li { - white-space: nowrap; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li > ul { - display: none; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > a { - background: #ffffff; -} -#wrapper.enlarged #sidebar-menu ul ul li a.active { - background: #dedede !important; -} -#wrapper.enlarged #sidebar-menu > ul > li:hover > a.open:after, -#wrapper.enlarged #sidebar-menu > ul > li:hover > a.active:after { - display: none; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > ul { - position: absolute; - left: 50px; - width: 190px; - display: block; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul ul li:hover > a { - background: #ababab !important; - color: #fff; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul ul li:hover > a i { - background: #ababab !important; - color: #fff; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul ul li:hover > ul { - position: absolute; - left: 190px; - margin-top: -36px; - width: 190px; - display: block; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > ul a { - background: #ebebeb; - padding-left: 10px; - border: none; - width: 190px; - box-shadow: none; - z-index: 6; - position: relative; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul ul li > a span.pull-right { - position: absolute; - right: 10px; - top: 12px; - -ms-transform: rotate(270deg); - -webkit-transform: rotate(270deg); - transform: rotate(270deg); -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li > a span { - display: none; - padding-left: 10px; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > a span.pull-right { - position: absolute; - right: 10px; - top: 12px; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > a { - width: 240px; - position: relative; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li { - position: relative; -} -#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover a span { - display: inline; -} -#wrapper.enlarged .left.side-menu .navbar-form .search-button { - right: 7px; -} -.side-menu.right .nav-tabs { - background: rgba(0,0,0,0.4); - border: none; -} -.side-menu.right .nav-tabs li { - text-align: center; -} -.side-menu.right .nav-tabs > li > a { - border-radius: 0px !important; - margin: 0px !important; - padding: 14px 15px 15px; - font-size: 13px; - color: rgba(255,255,255,0.9); - font-family: "Open Sans"; - border-bottom: 1px solid transparent; -} -.side-menu.right .nav > li > a:hover, -.side-menu.right .nav > li > a:focus { - background: rgba(255,255,255,0.1); - color: rgba(255,255,255,0.7); - border-color: rgba(255,255,255,0); -} -.side-menu.right .nav-tabs > li.active > a { - color: #777; -} -.side-menu.right .nav-tabs > li.active > a, -.side-menu.right .nav-tabs > li.active > a:hover, -.side-menu.right .nav-tabs > li.active > a:focus { - background: #fff; - border-color: #fff; - border-radius: 0px; -} -.side-menu.right .right-toolbar { - margin: 5px 15px 15px; -} -.side-menu.right .right-toolbar a { - color: #777; - font-size: 12px; -} -.side-menu.right .panel-group .panel { - border-radius: 0px; - border: none; - color: #f3f3f3; - background: transparent; -} -.side-menu.right .panel-default > .panel-heading { - background: transparent; - border: none; - border-radius: 0px; -} -.side-menu.right .panel-default > .panel-heading + .panel-collapse .panel-body { - border-top: none; -} -.side-menu.right .panel-title > a { - color: #fff; -} -.side-menu.right .panel-title > a .label { - margin-top: 2px; -} -.side-menu.right .tab-content, -.side-menu.right .tab-content > .tab-pane, -.side-menu.right .tab-content > .tab-pane.active { - height: 100%; - padding-bottom: 20px; -} -.accordion-toggle .panel-heading { - padding: 0px; -} -.accordion-toggle .panel-title a { - color: #fff; - font-size: 14px; - font-family: "Open Sans"; - display: block; - line-height: 22px; - padding: 9px 35px 9px 20px; - position: relative; -} -.accordion-toggle .panel-title a:after { - content: "\f106"; - display: block; - font-family: FontAwesome; - font-size: 10px; - line-height: 36px; - position: absolute; - top: 3px; - right: 15px; -} -.accordion-toggle .panel-title a.collapsed:after { - content: "\f107"; -} -.accordion-toggle .panel.panel-default .panel-title a { - color: #555; -} -.panel-group .panel { - border-radius: 3px; -} -.not-logged-avatar { - width: 100px; - margin: 0px auto; - display: block; - margin-bottom: 20px; - text-align: center; - box-shadow: 1px 1px 3px rgba(0,0,0,0.1); -} -.search-right { - padding: 10px 15px; -} -.search-right input { - background: rgba(0,0,0,0.1); - border: none; - color: #eee; -} -#notification-list a { - color: #555; - font-size: 13px; - font-weight: 600; - vertical-align: text-top; -} -#notification-list li { - margin-bottom: 10px; - padding-bottom: 10px; - border-bottom: 1px solid rgba(0,0,0,0.1); - font-family: "Open Sans"; -} -#notification-list a .muted { - display: block; - font-size: 12px; - font-weight: 300; - color: rgba(0,0,0,0.5); -} -#notification-list .icon-wrapper { - border-radius: 150px; - font-size: 20px; - width: 35px; - line-height: 29px; - text-align: center; - height: 35px; - margin-right: 10px; - float: left; - color: #555; - display: inline-block; - border: 2px solid #4EA6A6; -} -#inbox-list li { - margin-bottom: 15px; -} -#inbox-list a { - color: #555; -} -#inbox-list a .datetime { - font-size: 12px; - font-weight: 400; - color: rgba(0,0,0,0.4); - float: right; - font-family: "Open Sans"; -} -#inbox-list a .sender { - font-size: 13px; - display: block; - float: left; - font-weight: 600; - font-family: "Open Sans"; -} -#inbox-list a .title { - clear: both; - display: block; - font-size: 12px; - font-weight: 600; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - height: 15px; - color: rgba(0,0,0,0.6); -} -#inbox-list a .content { - clear: both; - display: block; - font-size: 11px; - font-weight: 300; - overflow: hidden; - color: rgba(0,0,0,0.5); -} -#updates-list li { - margin-bottom: 10px; -} -#updates-list a { - color: #555; - font-family: "Open Sans"; - font-size: 13px; -} -#updates-list .icon-wrapper { - border-radius: 50px; - font-size: 14px; - width: 24px; - line-height: 25px; - text-align: center; - height: 24px; - margin-right: 10px; - float: left; - color: #555; - display: inline-block; -} -#chat-panel .panel-body { - padding: 0px; -} -#chat-list li { - clear: both; - height: 55px; - opacity: 0.9; - padding: 7px 15px 10px; -} -#chat-list li:hover { - background: rgba(0,0,0,0.1); - opacity: 1; -} -#chat-list a { - font-size: 13px; - font-family: "Open Sans"; - color: #555; -} -#chat-list a.online .chat-user-avatar { - box-shadow: 0 0 0 2px #68C39F; -} -#chat-list a.away .chat-user-avatar { - box-shadow: 0 0 0 2px orange; -} -#chat-list a.offline .chat-user-avatar img { - filter: url("data:image/svg+xml;utf8,#grayscale"); - filter: gray; - -webkit-filter: grayscale(100%); -} -#chat-list .chat-user-avatar { - border-radius: 50px; - width: 34px; - height: 34px; - display: inline-block; - float: left; - margin-right: 10px; - margin-top: 3px; - border: 2px solid rgba(0,0,0,0); - box-shadow: 0 0 0 2px #555; - overflow: hidden; -} -#chat-list .chat-user-avatar img { - width: 100%; - height: 100%; -} -#chat-list .chat-user-msg { - font-size: 12px; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - color: rgba(0,0,0,0.3); - display: block; -} -#settings .tab-inner { - color: rgba(0,0,0,0.8); -} -#settings .tab-inner h3 { - color: rgba(0,0,0,0.6); - margin-bottom: 20px; -} -#settings .tab-inner h4 { - color: rgba(0,0,0,0.6); - margin-bottom: 15px; -} -#settings .tab-inner .row { - margin-bottom: 10px; - font-size: 12px; -} -.page-heading { - margin: 0px 0 20px; - padding: 5px 0; -} -.page-heading h1 { - margin: 0; - padding: 0; - font-weight: 400; - font-size: 24px; - margin-bottom: 0px; -} -.page-heading h3 { - font-size: 15px; - margin-top: 0px; -} -.widget { - position: relative; - background: #fff; - color: #5b5b5b; - margin-bottom: 20px; -} -.widget-header, -.widget-content { - display: block; - width: 100%; - clear: both; -} -.portlets { - min-height: 50px; -} -.portlets .widget-header { - cursor: move; -} -.widget-footer { - -webkit-border-radius: 0 0 2px 2px; - border-radius: 0 0 2px 2px; - overflow: hidden; -} -.widget-header.transparent { - background: transparent; - border: none; -} -.widget-header.centered { - text-align: center; -} -.widget-header .left-btn { - position: absolute; - left: 10px; - top: 6px; -} -.widget-content { - -webkit-border-radius: 0 0 2px 2px; - border-radius: 0 0 2px 2px; -} -.widget-content.padding { - padding: 15px; -} -.widget-content.padding-sm { - padding: 10px; -} -.widget-content.padding-xs { - padding: 1%; -} -.widget.maximized { - position: fixed; - -webkit-border-radius: 0; - border-radius: 0; - top: 50px; - left: 240px; - right: 0px; - bottom: 0px; - z-index: 10; - margin: 0px; -} -#wrapper.enlarged .widget.maximized { - left: 50px; -} -#wrapper.open-right-sidebar .widget.maximized { - right: 240px; -} -.widget.modal-widget { - position: absolute; - display: block; - z-index: 10; - box-shadow: 0px 0px 2px rgba(0,0,0,0.2), 0px 10px 15px rgba(0,0,0,0.2); -} -.widget.modal-widget.modalize .widget-header { - background: #efefef; -} -.widget:before, -.widget:after { - display: table; - content: " "; -} -.widget:after { - clear: both; -} -.widget .des-thumbnail { - padding: 20px; -} -.widget .img-wrap { - width: 100%; - height: auto; - overflow: hidden; -} -.widget .img-wrap img { - width: 100%; -} -.widget .widget-header { - height: 43px; - display: block; -} -.widget .widget-header h2 { - padding: 4px 13px 4px 13px; - margin: 0px; - font-weight: 400; - font-size: 16px; - display: block; - color: #5b5b5b; -} -.widget .widget-header h2.no-style { - padding: 0px; - margin: 20px 0px 10px 0px; - margin-top: 20px; - margin-bottom: 10px; - font-size: 30px; - border-bottom: none; -} -.widget.box-messages { - margin-top: -50px; -} -.widget.box-messages h2 { - border-bottom: none; -} -.widget .statistic-chart { - padding: 0 0 0px 0; -} -.widget .statistic-chart .toolbar { - padding: 10px; - padding-top: 0px; -} -.widget.full { - padding: 0px; -} -.widget.full .box-footer { - padding: 20px 20px 15px 20px; -} -.widget.full .box-footer a, -.widget.full .box-footer a:hover { - color: #1B1E24; - text-decoration: none; -} -.widget .nav-tabs > li > a { - line-height: 1.428571429; - border: none; - margin-right: 6px; - background: rgba(0,0,0,0.04); - font-family: "Open Sans"; - color: #555; - font-size: 13px; -} -.widget .tab-content { - padding-top: 10px; - font-size: 13px; -} -.widget .tab-boxed { - padding: 10px; - border: 1px solid #ddd; - border-top: 0px; -} -.widget .nav-tabs > li > a i { - color: #555; -} -.widget .media-list { - margin-top: 30px; -} -.widget .media-list a { - color: #1B1E24; -} -.widget .media-list a:hover { - color: #212121; - text-decoration: none; -} -.widget .media-list .media { - padding: 5px 20px; - border-bottom: 1px solid #eaeaea; -} -.widget .media-list li:last-child.media { - border-bottom: none; -} -.widget .media-list .media .media-heading a { - font-size: 14px; - font-weight: 600; - color: #1B1E24; - margin-right: 5px; -} -.widget .media-list .media .media-heading small { - color: #65BD77; - font-size: 11px; -} -.widget .media-list .media p { - color: #909090; -} -.widget .media-list .media .media-object { - width: 50px; -} -.widget .nav-tabs > li.active > a, -.widget .nav-tabs > li.active > a:hover, -.widget .nav-tabs > li.active > a:focus { - cursor: default; - border-top: none; - border-right: none; - border-left: none; - border-bottom: none; - background-color: #7A868F; - color: #fff; -} -.widget .nav-tabs > li.active > a i, -.widget .nav-tabs > li.active > a:hover i, -.widget .nav-tabs > li.active > a:focus i { - color: #fff; -} -.widget .nav-tabs.nav-simple li a { - background: none; -} -.widget .nav-tabs.nav-simple > li.active > a, -.widget .nav-tabs.nav-simple > li.active > a:hover, -.widget .nav-tabs.nav-simple > li.active > a:focus { - border: 1px solid #ddd; - border-bottom: 1px solid #fff; - background: none; - color: #555; -} -.widget .nav-tabs.nav-simple > li.active > a i, -.widget .nav-tabs.nav-simple > li.active > a:hover i, -.widget .nav-tabs.nav-simple > li.active > a:focus i { - color: #555; -} -.widget .additional-box { - position: absolute; - top: 10px; - right: 15px; - z-index: 2; -} -.widget .additional-btn { - position: absolute; - top: 10px; - right: 13px; - z-index: 2; -} -.widget .left-toolbar { - position: absolute; - top: 10px; - left: 13px; - z-index: 2; -} -.widget:hover .additional-btn > a.hidden { - display: inline-block !important; - visibility: visible !important; -} -.widget:hover .additional-btn > a.hidden.nevershow, -.widget:hover .additional-btn > a.nevershow, -.widget .additional-btn > a.nevershow { - display: none !important; -} -.widget .widget-header:hover .additional-btn > a { - color: #909090; - -webkit-transition: All 0.4s ease; - -moz-transition: All 0.4s ease; - -o-transition: All 0.4s ease; -} -.widget.modal-widget.modalize .widget-header .additional-btn > a { - color: #909090; -} -.widget .btn-group { - z-index: 1; -} -.widget table .btn-group { - z-index: 1; -} -.widget .additional-btn .dropdown-menu { - z-index: 2; -} -.widget .widget-close, -.widget .widget-toggle { - font-size: 15px; -} -.widget .widget-close:hover { - color: #EB5055 !important; -} -.widget .additional-btn > a, -.widget .widget-header .additional-btn .btn-group > a { - color: #ccc; - margin-left: 7px; - margin-right: 0px; - cursor: pointer; - -webkit-transition: All 0.4s ease; - -moz-transition: All 0.4s ease; - -o-transition: All 0.4s ease; -} -.widget .additional-btn > a:hover { - text-decoration: none; - -webkit-transition: All 0.4s ease; - -moz-transition: All 0.4s ease; - -o-transition: All 0.4s ease; -} -.ui-sortable-placeholder { - background: #cdcdcd !important; - display: block; - visibility: visible !important; - min-height: 100%; - -webkit-box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.1); - box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.1); -} -.widget.ui-sortable-placeholder * { - visibility: hidden; -} -.transparent { - background: rgba(0,0,0,0); - color: #fff; -} -.white { - background: #ffffff; - color: #555; -} -.widget.success { - background: #65BD77; - color: #fff; -} -.widget.success h2 { - color: #2C7439; - border-bottom-color: #3B934B; -} -.widget.success:hover { - color: #DEFFE5; -} -.widget.success .additional-btn a.additional-icon { - color: #3B934B; -} -.widget.success .additional-btn a:hover.additional-icon { - color: #2C7439; -} -.widget.success .text-box h3 { - color: #215F2E; -} -.widget.success .progress-bar-success { - background-color: #215F2E; -} -.widget.success i.success { - color: #215F2E; -} -.widget.danger { - background: #D9534F; - color: #fff; -} -.widget.danger h2 { - color: #791C1A; - border-bottom-color: #791C1A; -} -.widget.danger:hover { - color: #fff; -} -.widget.danger .additional-btn a.additional-icon { - color: #791C1A; -} -.widget.danger .additional-btn a:hover.additional-icon { - color: #791C1A; -} -.widget.danger .text-box h3 { - color: #791C1A; -} -.widget.danger .progress-bar-danger { - background-color: #791C1A; -} -.widget.danger i.danger { - color: #791C1A; -} -.widget.info { - background: #4393D8; - color: #fff; -} -.widget.info h2 { - color: #15558B; - border-bottom-color: #15558B; -} -.widget.info:hover { - color: #DEFFE5; -} -.widget.info .additional-btn a.additional-icon { - color: #15558B; -} -.widget.info .additional-btn a:hover.additional-icon { - color: #15558B; -} -.widget.info .text-box h3 { - color: #15558B; -} -.widget.info .progress-bar-info { - background-color: #15558B; -} -.widget.info i.info { - color: #15558B; -} -.widget.warning { - background: #F7CB17; - color: #fff; -} -.widget.warning h2 { - color: #9D5D03; - border-bottom-color: #9D5D03; -} -.widget.warning:hover { - color: #DEFFE5; -} -.widget.warning .additional-btn a.additional-icon { - color: #9D5D03; -} -.widget.warning .additional-btn a:hover.additional-icon { - color: #9D5D03; -} -.widget.warning .text-box h3 { - color: #9D5D03; -} -.widget.warning .progress-bar-warning { - background-color: #9D5D03; -} -.widget .progress-bar-semi-transparent { - background-color: rgba(255,255,255,0.4); -} -.widget.warning i.warning { - color: #9D5D03; -} -.widget .additional { - padding: 0 15px; - background: #fff; - color: #909090; - margin: 15px -15px -15px -15px; -} -.widget .additional .list-box-info { - margin: 0 -15px; -} -.widget .additional .list-box-info ul { - list-style: none; - margin: 0; - padding: 0; -} -.widget .additional .list-box-info ul li { - background: #fff; - padding: 15px 20px; - color: #909090; - border-bottom: 1px solid #ddd; -} -.widget .additional .list-box-info ul li span.label { - float: right; - font-size: 13px; -} -.widget .additional .list-box-info ul li:last-child { - border-bottom: 1px solid #fff; -} -.left .widget { - margin: 10px; -} -.left .widget-header h2 { - color: #fff; - padding: 4px; -} -.left .widget .additional-btn { - right: 4px; -} -.widget.full h2 { - padding: 15px; - margin: 5px 0px 20px 0px; -} -.widget table { - margin: 0; -} -.widget table tr th, -.widget table tr td { - padding-left: 15px; - padding-right: 15px; -} -.widget .widget-icon { - font-size: 50px; - position: absolute; - right: 4%; - top: 10px; - color: #ffffff; -} -.widget .text-box h2 { - padding: 0; - margin: 0px 0; - font-weight: 300; - font-size: 32px; - display: block; - color: #fff; -} -.widget .text-box .maindata { - font-size: 11px; - color: #fff; - font-family: "Open Sans"; -} -.widget .text-box .maindata b { - font-size: 12px; -} -.top-summary .widget .progress { - margin: 0px; - background: rgba(0,0,0,0.2); -} -.top-summary .widget .widget-footer { - background: rgba(0,0,0,0.1); - padding: 4px 15px; - font-size: 12px; - color: rgba(255,255,255,0.9); -} -.top-summary .widget .widget-footer .rel-change { - font-size: 14px; - color: #fff; - margin-right: 7px; -} -.flip { - perspective: 600px; - perspective-origin: 50% 50%; - position: relative; -} -.flip:hover .widget-flip, -.flip.hover .widget-flip { - transform: rotateY(180deg); -} -.flip, -.widget-front, -.widget-back { - width: 100%; - height: 110px; -} -.widget-flip { - transition: all 600ms ease 0s, opacity 200ms ease 0s; - transform-style: preserve-3d; - position: relative; -} -.widget-front, -.widget-back { - backface-visibility: hidden; - transform-origin: 50% 50% 0; - position: absolute; - top: 0; - left: 0; -} -.widget-front { - z-index: 2; - background: #ff0000; -} -.widget-back { - background: #333; - transform: rotateY(180deg); -} -.dropdown-toggle.btn-sm { - padding-right: 6px; -} -.dropdown-toggle.btn-xs { - padding-right: 3px; -} -.btn-default { - background-color: #ABB7B7; - border-color: #ABB7B7; - color: #fff; -} -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active, -.open .dropdown-toggle.btn-default { - background-color: #98A3A3; - border-color: #98A3A3; - color: #fff; -} -.btn-primary { - background-color: #4A525F; - border-color: #4A525F; - color: #FFFFFF; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.open .dropdown-toggle.btn-primary { - background-color: #3E444F; - border-color: #3E444F; - color: #FFFFFF; -} -.btn-success { - background-color: #68C39F; - border-color: #68C39F; - color: #FFFFFF; -} -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.open .dropdown-toggle.btn-success { - background-color: #5CAD8D; - border-color: #5CAD8D; - color: #FFFFFF; -} -.btn-info { - background-color: #65BBD6; - border-color: #65BBD6; - color: #FFFFFF; -} -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.open .dropdown-toggle.btn-info { - background-color: #5BA9C2; - border-color: #5BA9C2; - color: #FFFFFF; -} -.btn-warning { - background-color: #FFC052; - border-color: #FFC052; - color: #FFFFFF; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.open .dropdown-toggle.btn-warning { - background-color: #F5B84F; - border-color: #F5B84F; - color: #FFFFFF; -} -.btn-danger { - background-color: #E15554; - border-color: #E15554; - color: #FFFFFF; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.open .dropdown-toggle.btn-danger { - background-color: #C74B4A; - border-color: #C74B4A; - color: #FFFFFF; -} -i.success { - color: #68C39F; -} -i.warning { - color: #FFC052; -} -i.info { - color: #65BBD6; -} -i.danger { - color: #E15554; -} -.label.label-success { - background: #68C39F; -} -.label.label-warning { - background: #FFC052; -} -.label.label-info { - background: #65BBD6; -} -.label.label-danger { - background: #E15554; -} -p.quick-post { - margin: 10px 5px; -} -p.quick-post i { - color: #909090; - margin: 5px; - cursor: pointer; -} -p.quick-post.message i { - margin: 0 2px; -} -p.quick-post.message { - margin: 3px 0px; - padding: 0; - text-align: right; -} -.chat-widget { - height: 300px; - margin-bottom: 20px; -} -form.input-chat { - margin-top: 20px; -} -.chat-widget .media-list { - margin: 0; -} -.chat-widget .media-list .media { - border-bottom: none; -} -.chat-widget .media-list .media .media-object { - width: 50px; - padding: 4px; - border: 1px solid #eaeaea; -} -.chat-widget .media-list .media .media-body { - background: #f7f7f7; - border-radius: 3px; - padding: 10px; - color: #677179; -} -.chat-widget .media-list .media .media-body p.time { - text-align: right; - color: #909090; - font-size: 11px; - font-style: italic; -} -.chat-widget .media-list .media .media-body.success { - background: #EDFFED; -} -.chat-widget .media-list .media .media-body.warning { - background: #FFFCE0; -} -.chat-widget .media-list .media .media-body.danger { - background: #FFE8E8; -} -.chat-widget .media-list .media .media-body.info { - background: #E5F5FF; -} -.selectpicker { - border-radius: 0; - font-size: 13px; -} -.icon-showcase i { - margin-right: 5px; -} -.bs-glyphicons { - padding-left: 0; - padding-bottom: 1px; - margin-bottom: 20px; - list-style: none; - overflow: hidden; -} -.bs-glyphicons li { - float: left; - width: 25%; - height: 115px; - padding: 10px; - margin: 0 -1px -1px 0; - font-size: 12px; - line-height: 1.4; - text-align: center; - border: 1px solid #ddd; -} -.bs-glyphicons .glyphicon { - margin-top: 5px; - margin-bottom: 10px; - font-size: 24px; -} -.bs-glyphicons .glyphicon-class { - display: block; - text-align: center; - word-wrap: break-word; -} -.bs-glyphicons li:hover { - background-color: rgba(86,61,124,0.1); -} -@media (min-width: 768px) { - .bs-glyphicons li { - width: 12.5%; - } -} -.search-box.has-feedback .form-control-feedback { - right: 5px; -} -.btn-toolbar .rows-check-cont { - margin-top: 6px; - margin-right: 15px; -} -.mail-list { - background: #fff; - color: #777; - box-shadow: 0px 0px 3px rgba(0,0,0,0.1); -} -.mail-reply { - font-size: 13px; - color: #777; -} -.sender-photo { - height: 30px; - margin-top: 5px; - float: left; - margin-right: 10px; -} -.menu-message { - margin: 20px 0; -} -.menu-message .list-group-item { - border: 0px; - border-left: 4px solid transparent; - background: rgba(255,255,255,0.8); - margin-bottom: 0px; - color: #666; -} -.menu-message .list-group-item.active { - background: rgba(255,255,255,0.4); - border-left: 4px solid #68C39F; - color: #666; -} -.menu-message .list-group-item.active .badge { - color: #fff; - background: #7A868F; -} -.menu-folders { - margin: 20px 0; -} -.menu-folders .list-group-item { - border: 0px; - background: rgba(255,255,255,0.8); - margin-bottom: 0px; - color: #666; - font-size: 13px; -} -.menu-folders .list-group-item i { - font-size: 14px; - margin-right: 5px; -} -.table-message tr.unread { - font-weight: 500; -} -.table-message tr.unread a { - font-weight: 500; -} -.table-message > tbody > tr > td { - border-bottom: 1px solid #f3f3f3 !important; -} -.table-message > tbody > tr > td > a { - display: block; - font-weight: 300; - color: #5b5b5b; -} -.table-message > tbody > tr > td > a:hover { - text-decoration: none; -} -.data-table-toolbar span.paging-status { - font-weight: bold; - margin: 10px 10px 0 0; -} -.input-message { - margin-top: -1px; -} -.new-message-btns { - width: 100%; -} -hr.dashed { - height: 1px; - background: transparent; - border-top: none; - border-bottom: 1px dashed #ddd; -} -.data-table-toolbar { - margin: 0px; - padding: 15px; - background: rgba(0,0,0,0.03); -} -.data-table-toolbar-footer { - margin-top: 15px; - padding: 0px; -} -.toolbar-btn-action { - text-align: right; -} -.gallery-wrap { - margin: 10px -10px; -} -.gallery-wrap:before, -.gallery-wrap:after { - display: table; - content: " "; -} -.gallery-wrap:after { - clear: both; -} -.gallery-wrap .column { - float: left; - width: 20%; - margin: 0; - padding: 0; -} -.gallery-wrap .column-4 { - float: left; - width: 25%; - margin: 0; - padding: 0; -} -.gallery-wrap .column-3 { - float: left; - width: 33.33333333333333%; - margin: 0; - padding: 0; -} -.gallery-wrap .column .inner, -.gallery-wrap .column-4 .inner, -.gallery-wrap .column-3 .inner { - margin: 10px; - position: relative; - overflow: hidden; - -webkit-transition: All 0.4s ease; - -moz-transition: All 0.4s ease; - -o-transition: All 0.4s ease; -} -.gallery-wrap .column .inner:hover, -.gallery-wrap .column-4 .inner:hover, -.gallery-wrap .column-3 .inner:hover { - -webkit-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.25); - -moz-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.25); - box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.25); -} -.gallery-wrap .column .inner a .img-wrap, -.gallery-wrap .column-3 .inner a .img-wrap, -.gallery-wrap .column-4 .inner a .img-wrap { - cursor: pointer; - cursor: -webkit-zoom-in; - cursor: -moz-zoom-in; - cursor: zoom-in; -} -.gallery-wrap .column .inner .img-wrap { - height: 140px; - overflow: hidden; - background: #ddd; -} -.gallery-wrap .column-3 .inner .img-wrap { - height: 200px; - overflow: hidden; - background: #ddd; -} -.gallery-wrap .column-4 .inner .img-wrap { - height: 180px; - overflow: hidden; - background: #ddd; -} -.gallery-wrap .column .inner .img-frame, -.gallery-wrap .column-3 .inner .img-frame, -.gallery-wrap .column-4 .inner .img-frame { - padding: 5px; - background: #fff; - display: block; - position: relative; - -webkit-transition: All 0.4s ease; - -moz-transition: All 0.4s ease; - -o-transition: All 0.4s ease; -} -.gallery-wrap .column .inner:hover .img-frame, -.gallery-wrap .column-3 .inner:hover .img-frame, -.gallery-wrap .column-4 .inner:hover .img-frame { - background: #fff; -} -.gallery-wrap .column .inner:hover .img-frame.success, -.gallery-wrap .column-3 .inner:hover .img-frame.success, -.gallery-wrap .column-4 .inner:hover .img-frame.success { - background: #65BD77; -} -.gallery-wrap .column .inner:hover .img-frame.warning, -.gallery-wrap .column-3 .inner:hover .img-frame.warning, -.gallery-wrap .column-4 .inner:hover .img-frame.warning { - background: #FFCE00; -} -.gallery-wrap .column .inner:hover .img-frame.danger, -.gallery-wrap .column-3 .inner:hover .img-frame.danger, -.gallery-wrap .column-4 .inner:hover .img-frame.danger { - background: #D73D3D; -} -.gallery-wrap .column .inner:hover .img-frame.info, -.gallery-wrap .column-3 .inner:hover .img-frame.info, -.gallery-wrap .column-4 .inner:hover .img-frame.info { - background: #428BCA; -} -.gallery-wrap .column .inner .img-wrap img, -.gallery-wrap .column-4 .inner .img-wrap img, -.gallery-wrap .column-3 .inner .img-wrap img { - width: 100%; -} -.gallery-wrap .column .inner .caption-hover, -.gallery-wrap .column-4 .inner .caption-hover, -.gallery-wrap .column-3 .inner .caption-hover { - position: absolute; - bottom: -100px; - left: 0; - right: 0; - text-align: center; - color: #909090; - padding: 10px; - background: #fff; - -webkit-transition: All 0.4s ease; - -moz-transition: All 0.4s ease; - -o-transition: All 0.4s ease; -} -.gallery-wrap .column .inner .caption-hover.success, -.gallery-wrap .column-4 .inner .caption-hover.success, -.gallery-wrap .column-3 .inner .caption-hover.success { - color: #2C7439; - background: #65BD77; -} -.gallery-wrap .column .inner .caption-hover.danger, -.gallery-wrap .column-4 .inner .caption-hover.danger, -.gallery-wrap .column-3 .inner .caption-hover.danger { - color: #790D0D; - background: #D73D3D; -} -.gallery-wrap .column .inner .caption-hover.warning, -.gallery-wrap .column-4 .inner .caption-hover.warning, -.gallery-wrap .column-3 .inner .caption-hover.warning { - color: #B27C05; - background: #FFCE00; -} -.gallery-wrap .column .inner .caption-hover.info, -.gallery-wrap .column-4 .inner .caption-hover.info, -.gallery-wrap .column-3 .inner .caption-hover.info { - color: #0A487C; - background: #428BCA; -} -.gallery-wrap .column .inner:hover .caption-hover, -.gallery-wrap .column-4 .inner:hover .caption-hover, -.gallery-wrap .column-3 .inner:hover .caption-hover { - bottom: 0px; -} -.gallery-wrap .column .inner .caption-static, -.gallery-wrap .column-4 .inner .caption-static, -.gallery-wrap .column-3 .inner .caption-static { - position: absolute; - text-align: left; - font-weight: 300; - font-size: 12px; - color: #fff; - padding: 10px; - left: 0px; - bottom: 0px; - width: 100%; - background: -moz-linear-gradient(top,rgba(0,0,0,0) 0%,rgba(0,0,0,0.34) 100%); - background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(0,0,0,0)),color-stop(100%,rgba(0,0,0,0.34))); - background: -webkit-linear-gradient(top,rgba(0,0,0,0) 0%,rgba(0,0,0,0.34) 100%); - background: -o-linear-gradient(top,rgba(0,0,0,0) 0%,rgba(0,0,0,0.34) 100%); - background: -ms-linear-gradient(top,rgba(0,0,0,0) 0%,rgba(0,0,0,0.34) 100%); - background: linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,0.34) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#57000000',GradientType=0); - cursor: -webkit-zoom-in; - cursor: -moz-zoom-in; - cursor: zoom-in; - margin: 0; -} -.gallery-wrap .column .inner a:hover, -.gallery-wrap .column-4 .inner a:hover, -.gallery-wrap .column-3 .inner a:hover { - text-decoration: none; -} -.gallery-wrap .column .inner .caption-static.success, -.gallery-wrap .column-4 .inner .caption-static.success, -.gallery-wrap .column-3 .inner .caption-static.success { - color: #2C7439; - background: #65BD77; -} -.gallery-wrap .column .inner .caption-static.danger, -.gallery-wrap .column-4 .inner .caption-static.danger, -.gallery-wrap .column-3 .inner .caption-static.danger { - color: #790D0D; - background: #D73D3D; -} -.gallery-wrap .column .inner .caption-static.warning, -.gallery-wrap .column-4 .inner .caption-static.warning, -.gallery-wrap .column-3 .inner .caption-static.warning { - color: #B27C05; - background: #FFCE00; -} -.gallery-wrap .column .inner .caption-static.info, -.gallery-wrap .column-4 .inner .caption-static.info, -.gallery-wrap .column-3 .inner .caption-static.info { - color: #0A487C; - background: #428BCA; -} -.btn-facebook { - background: #45619D; - border-color: #4D6CAD; -} -.btn-facebook:hover { - background: #395289; - border-color: #4D6CAD; -} -.btn-twitter { - background: #00ACEE; - border-color: #00B7FC; -} -.btn-twitter:hover { - background: #03A0DE; - border-color: #00B7FC; -} -.btn-gplus { - background: #D54636; - border-color: #B22E21; -} -.btn-gplus:hover { - background: #BF392E; - border-color: #B22E21; -} -.btn-vimeo { - background: #1BB6EC; - border-color: #0AA0D3; -} -.btn-vimeo:hover { - background: #12ADE3; - border-color: #0AA0D3; -} -.btn-pinterest { - background: #CD1F28; - border-color: #B70F17; -} -.btn-pinterest:hover { - background: #C9121A; - border-color: #B70F17; -} -.btn-instagram { - background: #4E3D35; - border-color: #392C24; -} -.btn-instagram:hover { - background: #483931; - border-color: #392C24; -} -i.success { - color: #65BD77; -} -i.warning { - color: #F39C12; -} -i.info { - color: #3498DB; -} -i.danger { - color: #E85344; -} -.btn-facebook { - background-color: #4B66A0; - border-color: #4B66A0; - color: #fff; -} -.btn-facebook:hover, -.btn-facebook:focus, -.btn-facebook:active, -.btn-facebook.active, -.open .dropdown-toggle.btn-facebook { - background-color: #3B5A98; - border-color: #3B5A98; - color: #fff; -} -.btn-facebook:active, -.btn-facebook.active, -.open .dropdown-toggle.btn-facebook { - background-image: none; -} -.btn-facebook.disabled, -.btn-facebook[disabled], -fieldset[disabled] .btn-facebook, -.btn-facebook.disabled:hover, -.btn-facebook[disabled]:hover, -fieldset[disabled] .btn-facebook:hover, -.btn-facebook.disabled:focus, -.btn-facebook[disabled]:focus, -fieldset[disabled] .btn-facebook:focus, -.btn-facebook.disabled:active, -.btn-facebook[disabled]:active, -fieldset[disabled] .btn-facebook:active, -.btn-facebook.disabled.active, -.btn-facebook[disabled].active, -fieldset[disabled] .btn-facebook.active { - background-color: #6C89C1; - border-color: #6C89C1; - color: #fff; -} -.btn-facebook .badge { - color: #3B5A98; -} -.btn-twitter { - background-color: #55ACEE; - border-color: #55ACEE; - color: #fff; -} -.btn-twitter:hover, -.btn-twitter:focus, -.btn-twitter:active, -.btn-twitter.active, -.open .dropdown-toggle.btn-twitter { - background-color: #3490D3; - border-color: #3490D3; - color: #fff; -} -.btn-twitter:active, -.btn-twitter.active, -.open .dropdown-toggle.btn-twitter { - background-image: none; -} -.btn-twitter.disabled, -.btn-twitter[disabled], -fieldset[disabled] .btn-twitter, -.btn-twitter.disabled:hover, -.btn-twitter[disabled]:hover, -fieldset[disabled] .btn-twitter:hover, -.btn-twitter.disabled:focus, -.btn-twitter[disabled]:focus, -fieldset[disabled] .btn-twitter:focus, -.btn-twitter.disabled:active, -.btn-twitter[disabled]:active, -fieldset[disabled] .btn-twitter:active, -.btn-twitter.disabled.active, -.btn-twitter[disabled].active, -fieldset[disabled] .btn-twitter.active { - background-color: #7CC1F5; - border-color: #7CC1F5; - color: #fff; -} -.btn-twitter .badge { - color: #3490D3; -} -.btn-google-plus { - background-color: #D24333; - border-color: #D24333; - color: #fff; -} -.btn-google-plus:hover, -.btn-google-plus:focus, -.btn-google-plus:active, -.btn-google-plus.active, -.open .dropdown-toggle.btn-google-plus { - background-color: #BC2C1F; - border-color: #BC2C1F; - color: #fff; -} -.btn-google-plus:active, -.btn-google-plus.active, -.open .dropdown-toggle.btn-google-plus { - background-image: none; -} -.btn-google-plus.disabled, -.btn-google-plus[disabled], -fieldset[disabled] .btn-google-plus, -.btn-google-plus.disabled:hover, -.btn-google-plus[disabled]:hover, -fieldset[disabled] .btn-google-plus:hover, -.btn-google-plus.disabled:focus, -.btn-google-plus[disabled]:focus, -fieldset[disabled] .btn-google-plus:focus, -.btn-google-plus.disabled:active, -.btn-google-plus[disabled]:active, -fieldset[disabled] .btn-google-plus:active, -.btn-google-plus.disabled.active, -.btn-google-plus[disabled].active, -fieldset[disabled] .btn-google-plus.active { - background-color: #F0675A; - border-color: #F0675A; - color: #fff; -} -.btn-google-plus .badge { - color: #BC2C1F; -} -.btn-dribbble { - background-color: #E04C86; - border-color: #E04C86; - color: #fff; -} -.btn-dribbble:hover, -.btn-dribbble:focus, -.btn-dribbble:active, -.btn-dribbble.active, -.open .dropdown-toggle.btn-dribbble { - background-color: #D33471; - border-color: #D33471; - color: #fff; -} -.btn-dribbble:active, -.btn-dribbble.active, -.open .dropdown-toggle.btn-dribbble { - background-image: none; -} -.btn-dribbble.disabled, -.btn-dribbble[disabled], -fieldset[disabled] .btn-dribbble, -.btn-dribbble.disabled:hover, -.btn-dribbble[disabled]:hover, -fieldset[disabled] .btn-dribbble:hover, -.btn-dribbble.disabled:focus, -.btn-dribbble[disabled]:focus, -fieldset[disabled] .btn-dribbble:focus, -.btn-dribbble.disabled:active, -.btn-dribbble[disabled]:active, -fieldset[disabled] .btn-dribbble:active, -.btn-dribbble.disabled.active, -.btn-dribbble[disabled].active, -fieldset[disabled] .btn-dribbble.active { - background-color: #F571A5; - border-color: #F571A5; - color: #fff; -} -.btn-dribbble .badge { - color: #D33471; -} -.btn-flickr { - background-color: #0162DB; - border-color: #0162DB; - color: #fff; -} -.btn-flickr:hover, -.btn-flickr:focus, -.btn-flickr:active, -.btn-flickr.active, -.open .dropdown-toggle.btn-flickr { - background-color: #0555BF; - border-color: #0555BF; - color: #fff; -} -.btn-flickr:active, -.btn-flickr.active, -.open .dropdown-toggle.btn-flickr { - background-image: none; -} -.btn-flickr.disabled, -.btn-flickr[disabled], -fieldset[disabled] .btn-flickr, -.btn-flickr.disabled:hover, -.btn-flickr[disabled]:hover, -fieldset[disabled] .btn-flickr:hover, -.btn-flickr.disabled:focus, -.btn-flickr[disabled]:focus, -fieldset[disabled] .btn-flickr:focus, -.btn-flickr.disabled:active, -.btn-flickr[disabled]:active, -fieldset[disabled] .btn-flickr:active, -.btn-flickr.disabled.active, -.btn-flickr[disabled].active, -fieldset[disabled] .btn-flickr.active { - background-color: #2983F7; - border-color: #2983F7; - color: #fff; -} -.btn-flickr .badge { - color: #0555BF; -} -.btn-pinterest { - background-color: #CC2127; - border-color: #CC2127; - color: #fff; -} -.btn-pinterest:hover, -.btn-pinterest:focus, -.btn-pinterest:active, -.btn-pinterest.active, -.open .dropdown-toggle.btn-pinterest { - background-color: #B70F12; - border-color: #B70F12; - color: #fff; -} -.btn-pinterest:active, -.btn-pinterest.active, -.open .dropdown-toggle.btn-pinterest { - background-image: none; -} -.btn-pinterest.disabled, -.btn-pinterest[disabled], -fieldset[disabled] .btn-pinterest, -.btn-pinterest.disabled:hover, -.btn-pinterest[disabled]:hover, -fieldset[disabled] .btn-pinterest:hover, -.btn-pinterest.disabled:focus, -.btn-pinterest[disabled]:focus, -fieldset[disabled] .btn-pinterest:focus, -.btn-pinterest.disabled:active, -.btn-pinterest[disabled]:active, -fieldset[disabled] .btn-pinterest:active, -.btn-pinterest.disabled.active, -.btn-pinterest[disabled].active, -fieldset[disabled] .btn-pinterest.active { - background-color: #E53B3E; - border-color: #E53B3E; - color: #fff; -} -.btn-pinterest .badge { - color: #B70F12; -} -.btn-youtube { - background-color: #D92623; - border-color: #D92623; - color: #fff; -} -.btn-youtube:hover, -.btn-youtube:focus, -.btn-youtube:active, -.btn-youtube.active, -.open .dropdown-toggle.btn-youtube { - background-color: #C91212; - border-color: #C91212; - color: #fff; -} -.btn-youtube:active, -.btn-youtube.active, -.open .dropdown-toggle.btn-youtube { - background-image: none; -} -.btn-youtube.disabled, -.btn-youtube[disabled], -fieldset[disabled] .btn-youtube, -.btn-youtube.disabled:hover, -.btn-youtube[disabled]:hover, -fieldset[disabled] .btn-youtube:hover, -.btn-youtube.disabled:focus, -.btn-youtube[disabled]:focus, -fieldset[disabled] .btn-youtube:focus, -.btn-youtube.disabled:active, -.btn-youtube[disabled]:active, -fieldset[disabled] .btn-youtube:active, -.btn-youtube.disabled.active, -.btn-youtube[disabled].active, -fieldset[disabled] .btn-youtube.active { - background-color: #F04343; - border-color: #F04343; - color: #fff; -} -.btn-youtube .badge { - color: #C91212; -} -.btn-dropbox { - background-color: #1473C3; - border-color: #1473C3; - color: #fff; -} -.btn-dropbox:hover, -.btn-dropbox:focus, -.btn-dropbox:active, -.btn-dropbox.active, -.open .dropdown-toggle.btn-dropbox { - background-color: #0864B2; - border-color: #0864B2; - color: #fff; -} -.btn-dropbox:active, -.btn-dropbox.active, -.open .dropdown-toggle.btn-dropbox { - background-image: none; -} -.btn-dropbox.disabled, -.btn-dropbox[disabled], -fieldset[disabled] .btn-dropbox, -.btn-dropbox.disabled:hover, -.btn-dropbox[disabled]:hover, -fieldset[disabled] .btn-dropbox:hover, -.btn-dropbox.disabled:focus, -.btn-dropbox[disabled]:focus, -fieldset[disabled] .btn-dropbox:focus, -.btn-dropbox.disabled:active, -.btn-dropbox[disabled]:active, -fieldset[disabled] .btn-dropbox:active, -.btn-dropbox.disabled.active, -.btn-dropbox[disabled].active, -fieldset[disabled] .btn-dropbox.active { - background-color: #2E90E3; - border-color: #2E90E3; - color: #fff; -} -.btn-dropbox .badge { - color: #0864B2; -} -.btn-foursquare { - background-color: #0086BE; - border-color: #0086BE; - color: #fff; -} -.btn-foursquare:hover, -.btn-foursquare:focus, -.btn-foursquare:active, -.btn-foursquare.active, -.open .dropdown-toggle.btn-foursquare { - background-color: #0571A0; - border-color: #0571A0; - color: #fff; -} -.btn-foursquare:active, -.btn-foursquare.active, -.open .dropdown-toggle.btn-foursquare { - background-image: none; -} -.btn-foursquare.disabled, -.btn-foursquare[disabled], -fieldset[disabled] .btn-foursquare, -.btn-foursquare.disabled:hover, -.btn-foursquare[disabled]:hover, -fieldset[disabled] .btn-foursquare:hover, -.btn-foursquare.disabled:focus, -.btn-foursquare[disabled]:focus, -fieldset[disabled] .btn-foursquare:focus, -.btn-foursquare.disabled:active, -.btn-foursquare[disabled]:active, -fieldset[disabled] .btn-foursquare:active, -.btn-foursquare.disabled.active, -.btn-foursquare[disabled].active, -fieldset[disabled] .btn-foursquare.active { - background-color: #2CA0CE; - border-color: #2CA0CE; - color: #fff; -} -.btn-foursquare .badge { - color: #0571A0; -} -.btn-github { - background-color: #3B3B3B; - border-color: #3B3B3B; - color: #fff; -} -.btn-github:hover, -.btn-github:focus, -.btn-github:active, -.btn-github.active, -.open .dropdown-toggle.btn-github { - background-color: #212121; - border-color: #212121; - color: #fff; -} -.btn-github:active, -.btn-github.active, -.open .dropdown-toggle.btn-github { - background-image: none; -} -.btn-github.disabled, -.btn-github[disabled], -fieldset[disabled] .btn-github, -.btn-github.disabled:hover, -.btn-github[disabled]:hover, -fieldset[disabled] .btn-github:hover, -.btn-github.disabled:focus, -.btn-github[disabled]:focus, -fieldset[disabled] .btn-github:focus, -.btn-github.disabled:active, -.btn-github[disabled]:active, -fieldset[disabled] .btn-github:active, -.btn-github.disabled.active, -.btn-github[disabled].active, -fieldset[disabled] .btn-github.active { - background-color: #5F5F5F; - border-color: #5F5F5F; - color: #fff; -} -.btn-github .badge { - color: #212121; -} -.btn-linkedin { - background-color: #0085AE; - border-color: #0085AE; - color: #fff; -} -.btn-linkedin:hover, -.btn-linkedin:focus, -.btn-linkedin:active, -.btn-linkedin.active, -.open .dropdown-toggle.btn-linkedin { - background-color: #036C8E; - border-color: #036C8E; - color: #fff; -} -.btn-linkedin:active, -.btn-linkedin.active, -.open .dropdown-toggle.btn-linkedin { - background-image: none; -} -.btn-linkedin.disabled, -.btn-linkedin[disabled], -fieldset[disabled] .btn-linkedin, -.btn-linkedin.disabled:hover, -.btn-linkedin[disabled]:hover, -fieldset[disabled] .btn-linkedin:hover, -.btn-linkedin.disabled:focus, -.btn-linkedin[disabled]:focus, -fieldset[disabled] .btn-linkedin:focus, -.btn-linkedin.disabled:active, -.btn-linkedin[disabled]:active, -fieldset[disabled] .btn-linkedin:active, -.btn-linkedin.disabled.active, -.btn-linkedin[disabled].active, -fieldset[disabled] .btn-linkedin.active { - background-color: #24A7D3; - border-color: #24A7D3; - color: #fff; -} -.btn-linkedin .badge { - color: #036C8E; -} -.btn-tumblr { - background-color: #3E5A70; - border-color: #3E5A70; - color: #fff; -} -.btn-tumblr:hover, -.btn-tumblr:focus, -.btn-tumblr:active, -.btn-tumblr.active, -.open .dropdown-toggle.btn-tumblr { - background-color: #2E485D; - border-color: #2E485D; - color: #fff; -} -.btn-tumblr:active, -.btn-tumblr.active, -.open .dropdown-toggle.btn-tumblr { - background-image: none; -} -.btn-tumblr.disabled, -.btn-tumblr[disabled], -fieldset[disabled] .btn-tumblr, -.btn-tumblr.disabled:hover, -.btn-tumblr[disabled]:hover, -fieldset[disabled] .btn-tumblr:hover, -.btn-tumblr.disabled:focus, -.btn-tumblr[disabled]:focus, -fieldset[disabled] .btn-tumblr:focus, -.btn-tumblr.disabled:active, -.btn-tumblr[disabled]:active, -fieldset[disabled] .btn-tumblr:active, -.btn-tumblr.disabled.active, -.btn-tumblr[disabled].active, -fieldset[disabled] .btn-tumblr.active { - background-color: #586F81; - border-color: #586F81; - color: #fff; -} -.btn-tumblr .badge { - color: #2E485D; -} -.btn-vimeo { - background-color: #1BB6EC; - border-color: #1BB6EC; - color: #fff; -} -.btn-vimeo:hover, -.btn-vimeo:focus, -.btn-vimeo:active, -.btn-vimeo.active, -.open .dropdown-toggle.btn-vimeo { - background-color: #0D9DD1; - border-color: #0D9DD1; - color: #fff; -} -.btn-vimeo:active, -.btn-vimeo.active, -.open .dropdown-toggle.btn-vimeo { - background-image: none; -} -.btn-vimeo.disabled, -.btn-vimeo[disabled], -fieldset[disabled] .btn-vimeo, -.btn-vimeo.disabled:hover, -.btn-vimeo[disabled]:hover, -fieldset[disabled] .btn-vimeo:hover, -.btn-vimeo.disabled:focus, -.btn-vimeo[disabled]:focus, -fieldset[disabled] .btn-vimeo:focus, -.btn-vimeo.disabled:active, -.btn-vimeo[disabled]:active, -fieldset[disabled] .btn-vimeo:active, -.btn-vimeo.disabled.active, -.btn-vimeo[disabled].active, -fieldset[disabled] .btn-vimeo.active { - background-color: #4BCBFA; - border-color: #4BCBFA; - color: #fff; -} -.btn-vimeo .badge { - color: #0D9DD1; -} -.icon-facebook { - color: #4B66A0; -} -a .icon-facebook { - color: #4B66A0; -} -a:hover .icon-facebook, -a:focus .icon-facebook { - text-decoration: none; - color: #3B5A98; -} -.icon-twitter { - color: #55ACEE; -} -a .icon-twitter { - color: #55ACEE; -} -a:hover .icon-twitter, -a:focus .icon-twitter { - text-decoration: none; - color: #3490D3; -} -.icon-google-plus { - color: #D24333; -} -a .icon-google-plus { - color: #D24333; -} -a:hover .icon-google-plus, -a:focus .icon-google-plus { - text-decoration: none; - color: #BC2C1F; -} -.icon-dribbble { - color: #E04C86; -} -a .icon-dribbble { - color: #E04C86; -} -a:hover .icon-dribbble, -a:focus .icon-dribbble { - text-decoration: none; - color: #D33471; -} -.icon-flickr { - color: #0162DB; -} -a .icon-flickr { - color: #0162DB; -} -a:hover .icon-flickr, -a:focus .icon-flickr { - text-decoration: none; - color: #0555BF; -} -.icon-pinterest { - color: #CC2127; -} -a .icon-pinterest { - color: #CC2127; -} -a:hover .icon-pinterest, -a:focus .icon-pinterest { - text-decoration: none; - color: #B70F12; -} -.icon-youtube { - color: #D92623; -} -a .icon-youtube { - color: #D92623; -} -a:hover .icon-youtube, -a:focus .icon-youtube { - text-decoration: none; - color: #C91212; -} -.icon-dropbox { - color: #1473C3; -} -a .icon-dropbox { - color: #1473C3; -} -a:hover .icon-dropbox, -a:focus .icon-dropbox { - text-decoration: none; - color: #0864B2; -} -.icon-foursquare { - color: #0086BE; -} -a .icon-foursquare { - color: #0086BE; -} -a:hover .icon-foursquare, -a:focus .icon-foursquare { - text-decoration: none; - color: #0571A0; -} -.icon-github { - color: #3B3B3B; -} -a .icon-github { - color: #3B3B3B; -} -a:hover .icon-github, -a:focus .icon-github { - text-decoration: none; - color: #212121; -} -.icon-linkedin { - color: #0085AE; -} -a .icon-linkedin { - color: #0085AE; -} -a:hover .icon-linkedin, -a:focus .icon-linkedin { - text-decoration: none; - color: #036C8E; -} -.icon-tumblr { - color: #3E5A70; -} -a .icon-tumblr { - color: #3E5A70; -} -a:hover .icon-tumblr, -a:focus .icon-tumblr { - text-decoration: none; - color: #2E485D; -} -.icon-vimeo { - color: #1BB6EC; -} -a .icon-vimeo { - color: #1BB6EC; -} -a:hover .icon-vimeo, -a:focus .icon-vimeo { - text-decoration: none; - color: #0D9DD1; -} -.mfp-fade.mfp-bg { - opacity: 0; - -webkit-transition: all 0.4s ease-out; - -moz-transition: all 0.4s ease-out; - transition: all 0.4s ease-out; -} -.mfp-fade.mfp-bg.mfp-ready { - opacity: 0.8; -} -.mfp-fade.mfp-bg.mfp-removing { - opacity: 0; -} -.mfp-fade.mfp-wrap .mfp-content { - opacity: 0; - -webkit-transition: all 0.4s ease-out; - -moz-transition: all 0.4s ease-out; - transition: all 0.4s ease-out; -} -.mfp-fade.mfp-wrap.mfp-ready .mfp-content { - opacity: 1; -} -.mfp-fade.mfp-wrap.mfp-removing .mfp-content { - opacity: 0; -} -.login-page { - background: #7A868F; -} -.signup-page { - background: #7A868F; -} -.lock-page { - background: #252932; -} -.lock-page .container { - background: #7A868F; -} -.internal-error h1 { - -webkit-transform: rotate(10); - -moz-transform: rotate(10); - -ms-transform: rotate(10); - -o-transform: rotate(10); - transform: rotate(10); - -webkit-transform: rotate(10deg); - -moz-transform: rotate(10deg); - transform: rotate(10deg); - -o-transform: rotate(10deg); -} -.internal-error h2 { - -webkit-transform: rotate(-185); - -moz-transform: rotate(-185); - -ms-transform: rotate(-185); - -o-transform: rotate(-185); - transform: rotate(-185); - -webkit-transform: rotate(-185deg); - -moz-transform: rotate(-185deg); - transform: rotate(-185deg); - -o-transform: rotate(-185deg); -} -.internal-error .backbtn { - -webkit-transform: rotate(-44); - -moz-transform: rotate(-44); - -ms-transform: rotate(-44); - -o-transform: rotate(-44); - transform: rotate(-44); - -webkit-transform: rotate(-44deg); - -moz-transform: rotate(-44deg); - transform: rotate(-44deg); - -o-transform: rotate(-44deg); -} -.internal-error .searchbtn { - -webkit-transform: rotate(-44); - -moz-transform: rotate(-44); - -ms-transform: rotate(-44); - -o-transform: rotate(-44); - transform: rotate(-44); - -webkit-transform: rotate(-44deg); - -moz-transform: rotate(-44deg); - transform: rotate(-44deg); - -o-transform: rotate(-44deg); -} -.full-content-center { - width: 100%; - padding: 5px 0px; - max-width: 500px; - margin: 6% auto; - text-align: center; -} -.full-content { - background: #E5E9EC; -} -.full-content-center h1 { - font-size: 150px; - font-family: "Open Sans"; - line-height: 150px; - font-weight: 700; - color: #252932; -} -.maintenance h1 i { - font-size: 150px; - color: #252932; -} -.maintenance h1 { - font-size: 50px; - line-height: 100px; - color: #fff; - text-shadow: 1px 1px 0px rgba(0,0,0,0.1); -} -.login-wrap { - margin: 20px 10%; - text-align: left; - background: rgba(0,0,0,0.1); - padding: 20px 20px; - color: #fff; -} -.login-wrap a { - color: #fff; -} -.login-wrap i { - margin-right: 5px; -} -.login-wrap .checkbox { - margin-left: 0; - padding-left: 0; -} -.login-wrap .btn-block { - margin: 5px 0; -} -.login-wrap .login-input { - position: relative; -} -.login-wrap .login-input .text-input { - padding-left: 30px; -} -.login-wrap .login-input i.overlay { - position: absolute; - left: 10px; - top: 10px; - color: #aaa; -} -.widget .media-list.search-result .media a { - color: #46C45F; -} -.widget .media-list.search-result .media .media-heading a { - color: #1279D1; -} -.widget .media-list.search-result .media .media-heading span { - font-size: 12px; - font-weight: 400; - padding: 3px 5px; -} -.widget .media-list.search-result .media .media-object { - width: 100px; -} -ul.faq { - list-style: none; - padding-left: 10px; - margin: 20px 0 50px; -} -ul.faq li i { - margin-right: 5px; -} -ul.faq li { - margin: 10px 0; -} -ul.faq li a.faq-question { - cursor: pointer; - display: block; - font-size: 14px; -} -ul.faq li .faq-answer { - margin: 10px 15px; -} -table.pricing-table-style-1 { - text-align: center; - background: #fff; -} -table.pricing-table-style-1 thead tr th { - padding: 15px; - font-size: 18px; - font-weight: 600; - text-align: center; -} -table.pricing-table-style-1 thead tr th.best-choice { - color: #A2A7B7; - background: #0F1215; - border-bottom-color: #000; -} -table.pricing-table-style-1 tbody tr td.best-choice { - background: #1B1E24; - font-weight: 600; - font-size: 15px; - color: #fafafa; - border-top-color: #000; -} -table.pricing-table-style-1 tbody tr td.td-success { - background: #65BD77; - font-weight: 600; - color: #2C7439; - text-align: right; - border-top-color: #55AD67; -} -table.pricing-table-style-1 thead tr th.th-success { - color: #65BD77; - background: #55AD67; - border-bottom-color: #55AD67; -} -.la-pricing-table { - margin: 30px 0; - text-align: center; -} -.la-pricing-table:before, -.la-pricing-table:after { - display: table; - content: " "; -} -.la-pricing-table:after { - clear: both; -} -.la-pricing-table .la-col-4 { - float: left; - margin: 20px 0 20px 0; - padding: 0; - width: 25%; - border: 3px solid transparent; - -webkit-transition: all 0.4s ease-out; - -moz-transition: all 0.4s ease-out; - transition: all 0.4s ease-out; - position: relative; - overflow: hidden; -} -.la-pricing-table .la-col-4:hover { - border-color: #434D58; -} -.la-pricing-table .la-col-4 i.bg-big { - position: absolute; - font-size: 210px; - opacity: .05; - top: 20%; - left: 0; - right: 0; - -webkit-transition: all 0.4s ease-out; - -moz-transition: all 0.4s ease-out; - transition: all 0.4s ease-out; -} -.la-pricing-table .la-col-4:hover i.bg-big { - -webkit-transform: scale(2); - -moz-transform: scale(2); - -o-transform: scale(2); - -ms-transform: scale(2); - transform: scale(2); - opacity: 0; -} -.la-pricing-table .la-col-4 ul { - list-style: none; - padding: 0; - margin: 0; - background: #fff; -} -.la-pricing-table .la-col-4 ul li { - padding: 10px 20px; - display: block; - font-size: 13px; -} -.la-pricing-table .la-col-4 ul li.la-package { - font-size: 24px; - font-weight: 600; - background: #121515; - color: #fff; -} -.la-pricing-table .la-col-4 ul li.la-price { - font-size: 18px; - font-weight: 600; - color: #8E98AD; - background: #434D58; - margin: 0 20px; -} -.la-pricing-table .la-col-4 ul li.la-price i { - font-size: 13px; -} -.la-pricing-table .la-col-4:hover.success { - border-color: #2C7439; -} -.la-pricing-table .la-col-4.success ul { - background: #65BD77; -} -.la-pricing-table .la-col-4.success ul li { - color: #fff; -} -.la-pricing-table .la-col-4.success ul li.la-package { - color: #BCF5C6; - background: #2C7439; -} -.la-pricing-table .la-col-4.success ul li.la-price { - color: #fff; - background: #3E984D; -} -.la-pricing-table .la-col-4:hover.danger { - border-color: #B42424; -} -.la-pricing-table .la-col-4.danger ul { - background: #D73D3D; -} -.la-pricing-table .la-col-4.danger ul li { - color: #fff; -} -.la-pricing-table .la-col-4.danger ul li.la-package { - color: #FFB4B4; - background: #B42424; -} -.la-pricing-table .la-col-4.danger ul li.la-price { - color: #fff; - background: #C42E2E; -} -.la-pricing-table .la-col-4:hover.info { - border-color: #1F6AAA; -} -.la-pricing-table .la-col-4.info ul { - background: #529DDE; -} -.la-pricing-table .la-col-4.info ul li { - color: #fff; -} -.la-pricing-table .la-col-4.info ul li.la-package { - color: #C6E5FF; - background: #1F6AAA; -} -.la-pricing-table .la-col-4.info ul li.la-price { - color: #fff; - background: #2E71AD; -} -.la-pricing-table .la-col-4:hover.warning { - border-color: #F08600; -} -.la-pricing-table .la-col-4.warning ul { - background: #FFCE00; -} -.la-pricing-table .la-col-4.warning ul li { - color: #fff; -} -.la-pricing-table .la-col-4.warning ul li.la-package { - color: #FFF5C9; - background: #F08600; -} -.la-pricing-table .la-col-4.warning ul li.la-price { - color: #fff; - background: #FFAA00; -} -.invoice .widget-content.padding { - padding: 70px 30px; - color: #7A868F; -} -.payment-methods { - font-size: 30px; -} -.company-column { - padding: 15px; - margin-bottom: 20px; -} -.company-column address { - color: #7A868F; -} -.bill-to { - padding: 15px; - margin-bottom: 20px; - margin-top: 20px; - border: 1px dashed #E5E9EC; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default.active[disabled], -fieldset[disabled] .btn-default.active { - background-color: #ABB7B7; - border-color: #ABB7B7; - color: #fff; -} -#calculator { - height: auto; - font: bold 17px "Open Sans", Arial, sans-serif; - padding: 20px; -} -#calculator .col-xs-3, -#calculator .col-xs-9 { - padding: 0px 2%; -} -.calc-top .calc-screen { - height: 47px; - width: 100%; - overflow: hidden; - padding: 0 10px; - background: rgba(0,0,0,0.2); - border-radius: 2px; - box-shadow: inset 0px 4px rgba(0,0,0,0.1); - margin-bottom: 10px; - font-size: 21px; - line-height: 47px; - color: white; - text-shadow: 1px 1px 2px rgba(0,0,0,0.8); - text-align: right; - letter-spacing: 1px; -} -.calc-keys, -.calc-top { - overflow: hidden; -} -.calc-keys span, -.calc-top span.calc-clean { - float: left; - position: relative; - top: 0; - cursor: pointer; - width: 100%; - margin-bottom: 10px; - height: 46px; - background: white; - border-radius: 2px; - color: #666; - line-height: 46px; - text-align: center; - user-select: none; - transition: all 0.2s ease; -} -.calc-keys span.calc-operator { - background: #999; - margin-right: 0; - color: #fff; - font-size: 22px; -} -.calc-keys span.calc-eval { - background: #f1ff92; - color: #888e5f; -} -.calc-top span.calc-clean { - background: #EB5055; - color: white; -} -.calc-keys span:hover { - background: #9c89f6; - color: white; -} -.profile-banner { - width: 100%; - height: 300px; - background-position: center center; - background-size: cover; - position: relative; - background-color: #252932; - border-bottom: 4px solid #fff; - box-shadow: 2px 0px 4px rgba(0,0,0,0.1); -} -.avatar-container { - height: 300px; - text-align: center; -} -.profile-avatar { - width: 200px; - position: relative; - margin: 0px auto; - margin-top: 196px; - border: 4px solid #f3f3f3; -} -.profile-actions { - position: absolute; - bottom: 20px; -} -.user-profile-2 { - margin-top: 50px; -} -.user-profile-sidebar { - margin: 0 0 20px 0; -} -.user-profile-sidebar .user-identity { - margin: 20px 0 0 0; -} -.user-profile-sidebar img { - width: 90px; -} -.account-status-data { - text-align: center; - padding: 10px 0; - border-top: 1px dashed #ddd; - border-bottom: 1px dashed #ddd; - margin: 10px 0 20px 0; -} -.account-status-data h5 { - font-size: 11px; - line-height: 150%; - color: #909090; -} -.user-button { - margin: 15px 0; -} -.user-button .btn { - margin: 5px 0; -} -#social { - padding: 10px; - background: #E5E9EC; - text-align: center; -} -#social a:hover { - text-decoration: none; -} -.fa-circle.facebook { - color: #5471AE; -} -.fa-circle.twitter { - color: #4EC6F6; -} -.fa-circle.gplus { - color: #E24E3E; -} -.fa-circle.tumblr { - color: #4D77A3; -} -.fa-circle.linkedin { - color: #3097CE; -} -.user-profile-content { - margin: 30px 15px; -} -.easyWizardSteps { - list-style: none; - width: 100%; - overflow: hidden; - margin: 0; - padding: 0; - border-bottom: 0px solid rgba(0,0,0,0.1); - margin-bottom: 20px; - background: #7A868F; -} -.easyWizardSteps li { - font-size: 18px; - font-family: "Open Sans"; - display: inline-block; - padding: 10px 20px; - color: #eee; - border-right: 1px solid rgba(0,0,0,0.1); - margin-right: 0px; -} -.easyWizardSteps li:last-child { - border-right: 0px; -} -.easyWizardSteps li span { - font-size: 15px; - padding: 2px 9px; - border-radius: 50%; - margin-top: -5px; - color: #eee; - font-weight: 700; - margin-right: 5px; - border: 2px solid #eee; -} -.easyWizardSteps li.current span { - border: 2px solid #68C39F; - color: #68C39F; -} -.easyWizardSteps li.current { - color: #38464A; - background: #fff; -} -.easyWizardButtons { - overflow: hidden; - padding: 10px; -} -.easyWizardButtons button, -.easyWizardButtons .submit { - cursor: pointer; -} -.easyWizardButtons .prev { - float: left; -} -.easyWizardButtons .next, -.easyWizardButtons .submit { - float: right; -} -.notes { - padding: 15px; - border: 1px dashed #ddd; -} -section.step { - padding: 0 30px; -} -.the-notes { - padding: 15px 15px 15px 30px; - border-left: 4px solid #909090; - margin-bottom: 20px; -} -.the-notes.default { - background: #fff; -} -.the-notes.success { - background: #fff; - border-left-color: #65BD77; -} -.the-notes.warning { - background: #fff; - border-left-color: #F7CB17; -} -.the-notes.danger { - background: #fff; - border-left-color: #D9534F; -} -.the-notes.info { - background: #fff; - border-left-color: #4393D8; -} -.the-notes.success h4 { - color: #65BD77; -} -.the-notes.warning h4 { - color: #F7CB17; -} -.the-notes.danger h4 { - color: #D9534F; -} -.the-notes.inf h4 { - color: #4393D8; -} -.popover { - border-radius: 3px; - box-shadow: none; - opacity: 0.9; - border: none; -} -.popover .arrow { - border-top: none; -} -.popover .popover-title { - background: none repeat scroll 0 0 rgba(0,0,0,0.025); - font-family: "Open Sans"; -} -.popover .popover-content { - padding: 6px 11px; - font-family: Helvetica, Arial; - font-size: 12px; -} -.modal { - direction: rtl; - overflow-y: auto; -} -.modal .modal-dialog { - direction: ltr; -} -.modal-open { - overflow: auto; -} -.mini-stats { - font-size: 12px; - color: #555; -} -#website-statistics1 .widget-footer { - border-top: 1px solid #eee; -} -#website-statistics1 .widget-footer > .col-sm-4 { - padding-top: 25px; - padding-bottom: 20px; - font-size: 13px; -} -.status-data { - font-size: 12px; - font-family: "Open Sans"; - color: rgba(255,255,255,0.5); - padding-left: 30px; -} -.status-data .animate-number { - color: rgba(255,255,255,0.85); - font-size: 14px; - font-weight: 700; -} -.status-data .right-border { - border-right: 1px solid rgba(0,0,0,0.2); -} -#home-chart-2 { - margin-top: 24px; -} -.morris-chart svg { - width: 100% !important; -} -#website-statistic2 h4 { - color: #fff; -} -#website-statistic2 .progress { - background: rgba(0,0,0,0.2); -} -#website-statistic3 { - color: #fff; - padding: 20px; -} -#website-statistic3 h2 { - color: #fff; -} -#website-statistic3 .stock-status { - font-size: 21px; - font-family: "Open Sans"; - line-height: 35px; - display: block; - margin: 10px 0px; -} -.sales-report-data { - padding: 20px; -} -#chat_groups h2 { - color: rgba(0,0,0,0.7); - border-top: 1px solid rgba(0,0,0,0.1); - font-size: 13px; - font-weight: 600; - margin-bottom: 0px; - padding: 0px 15px; -} -#chat_groups li a { - display: block; - padding: 5px 15px; - font-size: 13px; - font-family: "Open Sans"; - color: rgba(0,0,0,0.5); -} -#chat_groups li a i { - margin-right: 5px; - font-size: 12px; -} -#recent_tickets { - display: none; -} -#recent_tickets h2 { - color: rgba(0,0,0,0.7); - border-top: 1px solid rgba(0,0,0,0.1); - font-size: 13px; - font-weight: 400; - margin-bottom: 0px; - padding: 0px 15px; -} -#recent_tickets li a { - display: block; - padding: 5px 15px; - font-size: 13px; - font-family: "Open Sans"; - color: rgba(0,0,0,0.5); -} -#recent_tickets li a i { - margin-right: 5px; -} -#recent_tickets li a span { - display: block; - color: rgba(0,0,0,0.4); - font-size: 12px; -} -#stock-widget .widget-content h4 { - position: absolute; - left: 15px; - top: 40px; -} -#stock-widget #stock-chart svg { - margin-top: -20px; -} -#stock-widget .stock-options { - margin-right: 15px; -} -#notes-app { - background: #fdfdbe; - overflow: hidden; -} -#note-data { - width: 100%; - position: absolute; - left: -100%; - padding-left: 55px; - -webkit-transition: all 300ms ease-in-out; - -moz-transition: all 300ms ease-in-out; - -o-transition: all 300ms ease-in-out; - transition: all 300ms ease-in-out; -} -#notes-app.new-item #notes-list { - left: -100%; - -webkit-transition: all 300ms ease-in-out; - -moz-transition: all 300ms ease-in-out; - -o-transition: all 300ms ease-in-out; - transition: all 300ms ease-in-out; -} -#notes-list { - left: 0%; - padding-left: 60px; - width: 100%; - height: 340px; - overflow: hidden; - padding-top: 7px; - position: absolute; - -webkit-transition: all 300ms ease-in-out; - -moz-transition: all 300ms ease-in-out; - -o-transition: all 300ms ease-in-out; - transition: all 300ms ease-in-out; -} -#notes-list a { - color: #555; -} -#notes-list ul li { - line-height: 31px; -} -#note-text { - min-height: 300px; - height: 100%; - background: none !important; - border: none !important; - line-height: 31px; - resize: none; -} -#notes-app .status-indicator { - position: absolute; - bottom: 15px; - right: 15px; - background: rgba(0,0,0,0.4); - color: #fff; - opacity: 0; - -webkit-transition: all 800ms ease-in-out; - -moz-transition: all 800ms ease-in-out; - -o-transition: all 800ms ease-in-out; - transition: all 800ms ease-in-out; - padding: 1px 6px 2px; -} -#notes-app.saved .status-indicator { - -webkit-transition: all 800ms ease-in-out; - -moz-transition: all 800ms ease-in-out; - -o-transition: all 800ms ease-in-out; - transition: all 800ms ease-in-out; - opacity: 1; -} -#notes-app .widget-content { - background: repeating-linear-gradient(0deg,transparent,transparent 30px,#f3f3f3 30px,#f3f3f3 31px); - height: 342px; - padding-top: 0px; -} -#notes-app .notes-line { - border-left: 3px double rgba(238,150,122,0.55); - position: absolute; - z-index: 0; - display: block; - height: 100%; - left: 50px; -} -#notes-app.new-item #note-data { - left: 0px; - -webkit-transition: all 300ms ease-in-out; - -moz-transition: all 300ms ease-in-out; - -o-transition: all 300ms ease-in-out; - transition: all 300ms ease-in-out; -} -.todo-list { - list-style: none; - padding: 0px; - margin: 0px; -} -.todo-list li { - list-style: none; - padding: 10px; - text-overflow: ellipsis; - width: 100%; - position: relative; - white-space: nowrap; - margin-bottom: 4px; - border-left: 4px solid rgba(0,0,0,0.04); - background: #f8f8f8; -} -.todo-list li.done { - opacity: 0.5; -} -.todo-list li.done .todo-item { - text-decoration: line-through; -} -.todo-list li > span { - line-height: 24px; - height: 25px; - display: inline-block; - text-overflow: ellipsis; - overflow: hidden; - max-width: 70%; - vertical-align: middle; -} -.todo-list .check-icon { - width: 30px; - margin-top: -2px; - display: inline-block; -} -.todo-list .todo-item { - font-size: 12px; - border-bottom: 1px dashed rgba(0,0,0,0) !important; -} -.todo-list .todo-item:hover { - border-bottom: 1px dashed rgba(0,0,0,0.2) !important; -} -.todo-list .todo-options { - font-size: 16px; - display: none; -} -.todo-list .editable-buttons { - display: inline-block; -} -.todo-list .todo-tags { - display: inline; - line-height: auto; - position: absolute; - top: 9px; - right: 9px; - font-family: "Open Sans"; -} -.todo-list .todo-options a { - color: #888; -} -.todo-list li:hover .todo-tags { - display: none; -} -.todo-list li:hover .todo-options { - display: inline; - position: absolute; - top: 9px; - right: 9px; -} -.todo-list li.done .todo-tags { - display: inline !important; -} -.todo-list li.done .todo-options { - display: none !important; -} -.todo-list li .editable-container.editable-inline { - margin-top: -4px; - overflow: visible; -} -.todo-list li.high { - border-left: 4px solid #EB5055; -} -.todo-list li.medium { - border-left: 4px solid #E27A3F; -} -.todo-list li.low { - border-left: 4px solid #FFC052; -} -#contextMenu { - position: absolute; - display: none; - z-index: 1000; -} -#weather-widget { - background: url(../../images/weather/weather-bg.jpg); - background-size: cover; - min-height: 364px; -} -#weather-widget h2 { - color: #fff; -} -#weather h2 { - position: absolute; - top: 60px; - right: 30px; - font-size: 50px; -} -#weather .w-region { - position: absolute; - top: 100px; - left: 20px; - font-size: 30px; - color: rgba(255,255,255,0.9); - font-family: "Open Sans"; -} -#weather .w-currently { - display: block; - font-size: 20px; - color: rgba(255,255,255,0.8); -} -#weather .w-temp2 { - font-size: 24px; - color: rgba(255,255,255,0.8); -} -.bic_calendar { - border: none; - background: none; - font-family: "Open Sans"; -} -.bic_calendar a { - color: #fff; -} -.bic_calendar .table tbody > tr > td { - padding: 2px 0px; - border: none !important; - line-height: 2.429; -} -.bic_calendar td > div { - padding: 4px; -} -.bic_calendar .button-month-next, -.bic_calendar .button-month-previous { - padding: 5px 15px !important; -} -.bic_calendar .days-month td { - background: rgba(0,0,0,0.1); - font-weight: 600; -} -.fc-event { - border: 0px; - padding: 1px 4px; -} -.dataTables_length, -div.dataTables_info { - margin-left: 15px; -} -.dataTables_filter, -.dataTables_paginate { - margin-right: 15px !important; -} -.dataTables_filter input { - margin-left: 6px; -} -.pagination li a, -.pagination li.disabled a { - background-color: #abb7b7; - border-color: #abb7b7; - border-radius: 2px !important; - color: #fff; -} -.pagination li.active a, -.pagination li:hover a, -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - background-color: #98a3a3 !important; - border-color: #98a3a3 !important; - color: #fff; -} -.pagination li.disabled a { - color: #ddd; -} -.pagination li.active a { - box-shadow: 0 3px 5px rgba(0,0,0,0.125) inset; -} -.streetview { - height: 300px; -} -.cluster { - color: #FFF; - text-align: center; - font-family: 'Arial,Helvetica'; - font-size: 11px; - font-weight: bold; -} -.cluster-1 { - background-image: url(../img/gmap/m1.png); - line-height: 53px; - width: 53px; - height: 52px; -} -.cluster-2 { - background-image: url(../img/gmap/m2.png); - line-height: 53px; - width: 56px; - height: 55px; -} -.cluster-3 { - background-image: url(../img/gmap/m3.png); - line-height: 66px; - width: 66px; - height: 65px; -} -.modal-content { - -webkit-border-radius: 2px; - border-radius: 2px; -} -.notification-positions { - border: 2px dashed #ddd; - padding: 2px; -} -.notification-positions div, -.notification-positions a { - height: 50px; - margin-bottom: 20px; - display: block; -} -.notification-positions .row:last-child, -.notification-positions .row:last-child div, -.notification-positions .row:last-child div a { - margin-bottom: 0px !important; -} -.jqstooltip { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-border-radius: 2px; - border-radius: 2px; - border-color: rgba(0,0,0,0.1) !important; - background: rgba(0,0,0,0.5) !important; -} -.rickshaw_graph .detail .x_label { - color: #333; -} -.echart { - position: relative; - display: inline-block; - vertical-align: middle; -} -.echart canvas { - display: block; -} -.percent { - position: absolute; - display: block; - vertical-align: middle; - width: 100%; - line-height: 0px; - text-align: center; - height: 100%; - left: 0px; - top: 50%; - font-weight: bold; - z-index: 2; - font-family: "Open Sans"; -} -.percent:after { - content: '%'; - color: rgba(255,255,255,0.7); - font-weight: normal; - margin-left: 0.1em; - margin-right: -5px; - font-size: 9px; -} -.jvectormap-zoomin, -.jvectormap-zoomout { - width: 18px; - height: 18px; - background: #68C39F; -} -.jvectormap-zoomin:hover, -.jvectormap-zoomout:hover { - background: #5CAD8D; -} -.jvectormap-zoomin { - top: auto; - bottom: 10px; -} -.jvectormap-zoomout { - top: auto; - left: 30px; - bottom: 10px; -} -.grid-example [class*="col-"] { - background: #fff; - border: 1px solid #f3f3f3; - padding-bottom: 10px; - padding-top: 10px; - text-align: center; - transition: all 0.3s ease 0s; -} -span.i-code { - display: none; -} -.icon-showcase p { - font-size: 14px; - vertical-align: middle; - line-height: 30px; -} -.icon-showcase p i { - font-size: 24px; - line-height: 30px; - text-align: center; - vertical-align: middle; - width: 24px; -} -#icons .the-icons i { - font-size: 24px; - line-height: 30px; - position: relative; - top: auto; - right: auto; -} -#icons .the-icons .i-name { - font-size: 14px; - line-height: 30px; -} -.ios-switch-default .on-background { - background: #ABB7B7; -} -.ios-switch-primary .on-background { - background: #2980B9; -} -.ios-switch-success .on-background { - background: #68C39F; -} -.ios-switch-warning .on-background { - background: #E27A3F; -} -.ios-switch-info .on-background { - background: #7A868F; -} -.ios-switch-danger .on-background { - background: #EB5055; -} -.ios-switch-lg { - height: 45px; - width: 75px; -} -.ios-switch-lg .handle { - height: 41px; - width: 41px; -} -.ios-switch-lg.on .handle { - -o-transform: translate3d(30px,0,0); - -ms-transform: translate3d(30px,0,0); - -moz-transform: translate3d(30px,0,0); - -webkit-transform: translate3d(30px,0,0); - transform: translate3d(30px,0,0); -} -.ios-switch-sm { - height: 25px; - width: 45px; -} -.ios-switch-sm .handle { - height: 21px; - width: 21px; -} -.ios-switch-sm.on .handle { - -o-transform: translate3d(20px,0,0); - -ms-transform: translate3d(20px,0,0); - -moz-transform: translate3d(20px,0,0); - -webkit-transform: translate3d(20px,0,0); - transform: translate3d(20px,0,0); -} -footer { - padding: 20px 0; - font-size: 12px; - border-top: 1px solid #B9C1CB; - margin-top: 40px; - color: #7A868F; -} -footer .footer-links a { - color: #7A868F; - padding: 1px 10px; - border-right: 1px solid rgba(0,0,0,0.1); -} -footer .footer-links a:hover { - color: #4A525F; -} -footer .footer-links a:last-child { - border: none; -} diff --git a/public/assets/admin/img/apple-touch-icon-114x114.png b/public/assets/admin/img/apple-touch-icon-114x114.png deleted file mode 100644 index 8730cf3ca..000000000 Binary files a/public/assets/admin/img/apple-touch-icon-114x114.png and /dev/null differ diff --git a/public/assets/admin/img/apple-touch-icon-120x120.png b/public/assets/admin/img/apple-touch-icon-120x120.png deleted file mode 100644 index 842e5d630..000000000 Binary files a/public/assets/admin/img/apple-touch-icon-120x120.png and /dev/null differ diff --git a/public/assets/admin/img/apple-touch-icon-144x144.png b/public/assets/admin/img/apple-touch-icon-144x144.png deleted file mode 100644 index f3bd3a329..000000000 Binary files a/public/assets/admin/img/apple-touch-icon-144x144.png and /dev/null differ diff --git a/public/assets/admin/img/apple-touch-icon-152x152.png b/public/assets/admin/img/apple-touch-icon-152x152.png deleted file mode 100644 index 09345fb2b..000000000 Binary files a/public/assets/admin/img/apple-touch-icon-152x152.png and /dev/null differ diff --git a/public/assets/admin/img/apple-touch-icon-57x57.png b/public/assets/admin/img/apple-touch-icon-57x57.png deleted file mode 100644 index 66b0a45e7..000000000 Binary files a/public/assets/admin/img/apple-touch-icon-57x57.png and /dev/null differ diff --git a/public/assets/admin/img/apple-touch-icon-72x72.png b/public/assets/admin/img/apple-touch-icon-72x72.png deleted file mode 100644 index da5e7b51c..000000000 Binary files a/public/assets/admin/img/apple-touch-icon-72x72.png and /dev/null differ diff --git a/public/assets/admin/img/apple-touch-icon-76x76.png b/public/assets/admin/img/apple-touch-icon-76x76.png deleted file mode 100644 index 7961a8b58..000000000 Binary files a/public/assets/admin/img/apple-touch-icon-76x76.png and /dev/null differ diff --git a/public/assets/admin/img/apple-touch-icon.png b/public/assets/admin/img/apple-touch-icon.png deleted file mode 100644 index 66b0a45e7..000000000 Binary files a/public/assets/admin/img/apple-touch-icon.png and /dev/null differ diff --git a/public/assets/admin/img/favicon.ico b/public/assets/admin/img/favicon.ico deleted file mode 100644 index 182b54de8..000000000 Binary files a/public/assets/admin/img/favicon.ico and /dev/null differ diff --git a/public/assets/admin/img/gmap/m1.png b/public/assets/admin/img/gmap/m1.png deleted file mode 100644 index 329ff524c..000000000 Binary files a/public/assets/admin/img/gmap/m1.png and /dev/null differ diff --git a/public/assets/admin/img/gmap/m2.png b/public/assets/admin/img/gmap/m2.png deleted file mode 100644 index b999cbcf6..000000000 Binary files a/public/assets/admin/img/gmap/m2.png and /dev/null differ diff --git a/public/assets/admin/img/gmap/m3.png b/public/assets/admin/img/gmap/m3.png deleted file mode 100644 index 9f30b3092..000000000 Binary files a/public/assets/admin/img/gmap/m3.png and /dev/null differ diff --git a/public/assets/admin/img/inv-logo.png b/public/assets/admin/img/inv-logo.png deleted file mode 100644 index 8c08d7fdd..000000000 Binary files a/public/assets/admin/img/inv-logo.png and /dev/null differ diff --git a/public/assets/admin/img/login-logo.png b/public/assets/admin/img/login-logo.png deleted file mode 100644 index 700722146..000000000 Binary files a/public/assets/admin/img/login-logo.png and /dev/null differ diff --git a/public/assets/admin/img/logo.png b/public/assets/admin/img/logo.png deleted file mode 100644 index dd8e2667c..000000000 Binary files a/public/assets/admin/img/logo.png and /dev/null differ diff --git a/public/assets/admin/js/apps/calculator.js b/public/assets/admin/js/apps/calculator.js deleted file mode 100644 index 42bd6bba0..000000000 --- a/public/assets/admin/js/apps/calculator.js +++ /dev/null @@ -1,85 +0,0 @@ -// Get all the keys from document -var keys = document.querySelectorAll('#calculator span'); -var operators = ['+', '-', 'x', '÷']; -var decimalAdded = false; - -// Add onclick event to all the keys and perform operations -for(var i = 0; i < keys.length; i++) { - keys[i].onclick = function(e) { - // Get the input and button values - var input = document.querySelector('.calc-screen'); - var inputVal = input.innerHTML; - var btnVal = this.innerHTML; - - // Now, just append the key values (btnValue) to the input string and finally use javascript's eval function to get the result - // If clear key is pressed, erase everything - if(btnVal == 'C') { - input.innerHTML = ''; - decimalAdded = false; - } - - // If eval key is pressed, calculate and display the result - else if(btnVal == '=') { - var equation = inputVal; - var lastChar = equation[equation.length - 1]; - - // Replace all instances of x and ÷ with * and / respectively. This can be done easily using regex and the 'g' tag which will replace all instances of the matched character/substring - equation = equation.replace(/x/g, '*').replace(/÷/g, '/'); - - // Final thing left to do is checking the last character of the equation. If it's an operator or a decimal, remove it - if(operators.indexOf(lastChar) > -1 || lastChar == '.') - equation = equation.replace(/.$/, ''); - - if(equation) - input.innerHTML = eval(equation); - - decimalAdded = false; - } - - // Basic functionality of the calculator is complete. But there are some problems like - // 1. No two operators should be added consecutively. - // 2. The equation shouldn't start from an operator except minus - // 3. not more than 1 decimal should be there in a number - - // We'll fix these issues using some simple checks - - // indexOf works only in IE9+ - else if(operators.indexOf(btnVal) > -1) { - // Operator is clicked - // Get the last character from the equation - var lastChar = inputVal[inputVal.length - 1]; - - // Only add operator if input is not empty and there is no operator at the last - if(inputVal != '' && operators.indexOf(lastChar) == -1) - input.innerHTML += btnVal; - - // Allow minus if the string is empty - else if(inputVal == '' && btnVal == '-') - input.innerHTML += btnVal; - - // Replace the last operator (if exists) with the newly pressed operator - if(operators.indexOf(lastChar) > -1 && inputVal.length > 1) { - // Here, '.' matches any character while $ denotes the end of string, so anything (will be an operator in this case) at the end of string will get replaced by new operator - input.innerHTML = inputVal.replace(/.$/, btnVal); - } - - decimalAdded =false; - } - - // Now only the decimal problem is left. We can solve it easily using a flag 'decimalAdded' which we'll set once the decimal is added and prevent more decimals to be added once it's set. It will be reset when an operator, eval or clear key is pressed. - else if(btnVal == '.') { - if(!decimalAdded) { - input.innerHTML += btnVal; - decimalAdded = true; - } - } - - // if any other key is pressed, just append it - else { - input.innerHTML += btnVal; - } - - // prevent page jumps - e.preventDefault(); - } -} \ No newline at end of file diff --git a/public/assets/admin/js/apps/notes.js b/public/assets/admin/js/apps/notes.js deleted file mode 100644 index 00f289eeb..000000000 --- a/public/assets/admin/js/apps/notes.js +++ /dev/null @@ -1,104 +0,0 @@ -var autosave; -var autosave_time = 5000; // miliseconds - -$(document).ready(function(){ - load_list(); - - $("#notes-list .scroller").slimscroll({ - height: '330px', - size: "5px" - }); - - $(".add-note").click(function(){ - save_note(); - $("#notes-app").addClass("new-item"); - $("#note-text").val(""); - $("#note-text").attr("rel",guidGenerator()); - }); - - $(".back-note-list").click(function(){ - save_note(); - $("#notes-app").removeClass("new-item"); - }); - - $(document).on("click", "#notes-list .note-trunc", function(e){ - e.preventDefault(); - var id = $(this).attr("rel"); - $("#note-text").attr("rel",id); - $("#note-text").val(localStorage.getItem(id)); - $("#notes-app").addClass("new-item"); - }); - - $(document).on("blur change", "#note-text", function(){ - save_note(); - }); - - $(document).on("click", "#notes-list .kill-note", function(e){ - e.preventDefault(); - var id = $(this).attr("rel"); - bootbox.confirm("Are you sure to remove this note?", function(result) { - if(result === true){ - localStorage.removeItem(id); - load_list(); - } - }); - }); - - autosave = window.setInterval(function(){ - if($("#notes-app").hasClass("new-item")){ - save_note(); - } - },autosave_time); -}); - -function save_note(){ - if($("#note-text").val() != ""){ - $("#notes-app").addClass("saved"); - localStorage.setItem($("#note-text").attr("rel"),$("#note-text").val()); - console.log("Note saved!"); - load_list(); - window.setTimeout(function(){ - $("#notes-app").removeClass("saved"); - },1000); - return true; - } - return false; -} - -function load_list(){ - $("#notes-list ul").html(""); - var ids = []; - for (var i = 0; i < localStorage.length; i++) { - var id = localStorage.length-i-1; - if(localStorage.key(id).startsWith("coco-note-")){ - ids.push(id); - } - } - ids = ids.sort(); - for (var x = 0;x < ids.length;x++){ - var note = localStorage.getItem(localStorage.key(ids[x])).truncate(40); - $("#notes-list ul").append("
  • "+note+"
  • "); - } -} - -function guidGenerator() { - var d = new Date().getTime(); - d = 9999999999999-d; - var S4 = function() { - return (((1+Math.random())*0x10000)|0).toString(16).substring(1); - }; - return "coco-note-"+(d+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); -} - -if (typeof String.prototype.startsWith != 'function') { - // see below for better implementation! - String.prototype.startsWith = function (str){ - return this.indexOf(str) == 0; - }; -} - -String.prototype.truncate = function(m) { - return (this.length > m) - ? jQuery.trim(this).substring(0, m) + "..." - : this; -}; \ No newline at end of file diff --git a/public/assets/admin/js/apps/todo.js b/public/assets/admin/js/apps/todo.js deleted file mode 100644 index cbdf9bcf4..000000000 --- a/public/assets/admin/js/apps/todo.js +++ /dev/null @@ -1,80 +0,0 @@ -$(document).ready(function(){ - $.fn.editable.defaults.mode = 'inline'; - $(".todo-list").sortable({ - cancel: ".done", - axis: "y", - cursor: "move", - forcePlaceholderSize: true - }); - - $(document).on("ifChecked", ".check-icon input", function(){ - var parent = $(this).parents("li:first"); - $(parent).addClass("done"); - $(parent).data("orig-order",$(parent).index()).insertAfter($(".todo-list li:last")); - $('.todo-item',parent).editable("toggleDisabled"); - }); - - $(document).on("ifUnchecked", ".check-icon input", function(){ - var parent = $(this).parents("li:first"); - $(parent).removeClass("done"); - if($(parent).data("orig-order")){ - $(parent).insertAfter($(".todo-list li:eq("+($(parent).data("orig-order")-1)+")")); - } - $('.todo-item',parent).editable("toggleDisabled"); - }); - - $(document).on("click",".add-todo", function(){ - var $item = '
  • '+ - ''+ - 'New item'+ - ''+ - ''+ - ''+ - '
  • '; - $(".todo-list").append($item); - - $('input').iCheck({ - checkboxClass: 'icheckbox_square-aero', - radioClass: 'iradio_square-aero', - increaseArea: '20%' - }); - - $('.todo-list .todo-item').editable({ - type: 'text' - }); - window.setTimeout(function () { - $(".todo-list li").removeClass("animated"); - }, 500); - }); - - $(document).on("click", ".todo-delete", function(){ - var parent = $(this).parents("li:first"); - $(parent).hide(200); - }) - - var $contextMenu = $("#contextMenu"); - var $rowClicked; - - $(document).on("contextmenu", ".todo-list li", function (e) { - $rowClicked = $(this) - $contextMenu.css({ - display: "block", - left: e.pageX, - top: e.pageY - }); - return false; - }); - - $contextMenu.on("click", "a", function () { - $rowClicked.removeAttr("class").addClass($(this).data("priority")); - $contextMenu.hide(); - }); - - $(document).click(function () { - $contextMenu.hide(); - }); - - $('.todo-list .todo-item').editable({ - type: 'text' - }); -}); \ No newline at end of file diff --git a/public/assets/admin/js/init.js b/public/assets/admin/js/init.js deleted file mode 100644 index 460eb0e03..000000000 --- a/public/assets/admin/js/init.js +++ /dev/null @@ -1,408 +0,0 @@ -var w; -var h; -var dw; -var dh; - -function executeFunctionByName(functionName, context /*, args */) { - var args = [].slice.call(arguments).splice(2); - var namespaces = functionName.split("."); - var func = namespaces.pop(); - for(var i = 0; i < namespaces.length; i++) { - context = context[namespaces[i]]; - } - return context[func].apply(this, args); -} - -var changeptype = function(){ - w = $(window).width(); - h = $(window).height(); - dw = $(document).width(); - dh = $(document).height(); - - if(jQuery.browser.mobile === true){ - $("body").addClass("mobile").removeClass("fixed-left"); - } - - if(!$("#wrapper").hasClass("forced")){ - if(w > 990){ - $("body").removeClass("smallscreen").addClass("widescreen"); - $("#wrapper").removeClass("enlarged"); - }else{ - $("body").removeClass("widescreen").addClass("smallscreen"); - $("#wrapper").addClass("enlarged"); - $(".left ul").removeAttr("style"); - } - if($("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left")){ - $("body").removeClass("fixed-left").addClass("fixed-left-void"); - }else if(!$("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left-void")){ - $("body").removeClass("fixed-left-void").addClass("fixed-left"); - } - - } - toggle_slimscroll(".slimscrollleft"); -} - -$(document).ready(function(){ - FastClick.attach(document.body); - resizefunc.push("initscrolls"); - resizefunc.push("changeptype"); - $('.sparkline').sparkline('html', { enableTagOptions: true }); - - $('.animate-number').each(function(){ - $(this).animateNumbers($(this).attr("data-value"), true, parseInt($(this).attr("data-duration"))); - }) - -//TOOLTIP -$('body').tooltip({ - selector: "[data-toggle=tooltip]", - container: "body" -}); - -//RESPONSIVE SIDEBAR - - -$(".open-right").click(function(e){ - $("#wrapper").toggleClass("open-right-sidebar"); - e.stopPropagation(); - $("body").trigger("resize"); -}); - - -$(".open-left").click(function(e){ - e.stopPropagation(); - $("#wrapper").toggleClass("enlarged"); - $("#wrapper").addClass("forced"); - - if($("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left")){ - $("body").removeClass("fixed-left").addClass("fixed-left-void"); - }else if(!$("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left-void")){ - $("body").removeClass("fixed-left-void").addClass("fixed-left"); - } - if($("#wrapper").hasClass("enlarged")){ - $(".left ul").removeAttr("style"); - }else{ - $(".subdrop").siblings("ul:first").show(); - } - toggle_slimscroll(".slimscrollleft"); - $("body").trigger("resize"); -}); - -// LEFT SIDE MAIN NAVIGATION -$("#sidebar-menu a").on('click',function(e){ - if(!$("#wrapper").hasClass("enlarged")){ - - if($(this).parent().hasClass("has_sub")) { - e.preventDefault(); - } - - if(!$(this).hasClass("subdrop")) { - // hide any open menus and remove all other classes - $("ul",$(this).parents("ul:first")).slideUp(350); - $("a",$(this).parents("ul:first")).removeClass("subdrop"); - $("#sidebar-menu .pull-right i").removeClass("fa-angle-up").addClass("fa-angle-down"); - - // open our new menu and add the open class - $(this).next("ul").slideDown(350); - $(this).addClass("subdrop"); - $(".pull-right i",$(this).parents(".has_sub:last")).removeClass("fa-angle-down").addClass("fa-angle-up"); - $(".pull-right i",$(this).siblings("ul")).removeClass("fa-angle-up").addClass("fa-angle-down"); - }else if($(this).hasClass("subdrop")) { - $(this).removeClass("subdrop"); - $(this).next("ul").slideUp(350); - $(".pull-right i",$(this).parent()).removeClass("fa-angle-up").addClass("fa-angle-down"); - //$(".pull-right i",$(this).parents("ul:eq(1)")).removeClass("fa-chevron-down").addClass("fa-chevron-left"); - } - } -}); - -// NAVIGATION HIGHLIGHT & OPEN PARENT -$("#sidebar-menu ul li.has_sub a.active").parents("li:last").children("a:first").addClass("active").trigger("click"); - -//WIDGET ACTIONS -$(".widget-header .widget-close").on("click",function(event){ - event.preventDefault(); - $item = $(this).parents(".widget:first"); - bootbox.confirm("Are you sure to remove this widget?", function(result) { - if(result === true){ - $item.addClass("animated bounceOutUp"); - window.setTimeout(function () { - if($item.data("is-app")){ - - $item.removeClass("animated bounceOutUp"); - if($item.hasClass("ui-draggable")){ - $item.find(".widget-popout").click(); - } - $item.hide(); - $("a[data-app='"+$item.attr("id")+"']").addClass("clickable"); - }else{ - $item.remove(); - } - }, 300); - } - }); -}); - -$(document).on("click", ".widget-header .widget-toggle", function(event){ - event.preventDefault(); - $(this).toggleClass("closed").parents(".widget:first").find(".widget-content").slideToggle(); -}); - -$(document).on("click", ".widget-header .widget-popout", function(event){ - event.preventDefault(); - var widget = $(this).parents(".widget:first"); - if(widget.hasClass("modal-widget")){ - $("i",this).removeClass("icon-window").addClass("icon-publish"); - widget.removeAttr("style").removeClass("modal-widget"); - widget.find(".widget-maximize,.widget-toggle").removeClass("nevershow"); - widget.draggable("destroy").resizable("destroy"); - }else{ - widget.removeClass("maximized"); - widget.find(".widget-maximize,.widget-toggle").addClass("nevershow"); - $("i",this).removeClass("icon-publish").addClass("icon-window"); - var w = widget.width(); - var h = widget.height(); - widget.addClass("modal-widget").removeAttr("style").width(w).height(h); - $(widget).draggable({ handle: ".widget-header",containment: ".content-page" }).css({"left":widget.position().left-2,"top":widget.position().top-2}).resizable({minHeight: 150,minWidth: 200}); - } - window.setTimeout(function () { - $("body").trigger("resize"); - },300); -}); - -$("a[data-app]").each(function(e){ - var app = $(this).data("app"); - var status = $(this).data("status"); - $("#"+app).data("is-app",true); - if(status == "inactive"){ - $("#"+app).hide(); - $(this).addClass("clickable"); - } -}); - -$(document).on("click", "a[data-app].clickable", function(event){ - event.preventDefault(); - $(this).removeClass("clickable"); - var app = $(this).data("app"); - $("#"+app).show(); - $("#"+app+" .widget-popout").click(); - topd = $("#"+app).offset().top - $(window).scrollTop(); - $("#"+app).css({"left":"10","top":-(topd-60)+"px"}).addClass("fadeInDown animated"); - window.setTimeout(function () { - $("#"+app).removeClass("fadeInDown animated"); - }, 300); -}); - -$(document).on("click", ".widget", function(){ - if($(this).hasClass("modal-widget")){ - $(".modal-widget").css("z-index",5); - $(this).css("z-index",6); - } -}); - -$(document).on("click", '.widget .reload', function (event) { - event.preventDefault(); - var el = $(this).parents(".widget:first"); - blockUI(el); - window.setTimeout(function () { - unblockUI(el); - }, 1000); -}); - -$(document).on("click", ".widget-header .widget-maximize", function(event){ - event.preventDefault(); - $(this).parents(".widget:first").removeAttr("style").toggleClass("maximized"); - $("i",this).toggleClass("icon-resize-full-1").toggleClass("icon-resize-small-1"); - $(this).parents(".widget:first").find(".widget-toggle").toggleClass("nevershow"); - $("body").trigger("resize"); - return false; -}); - -$( ".portlets" ).sortable({ - connectWith: ".portlets", - handle: ".widget-header", - cancel: ".modal-widget", - opacity: 0.5, - dropOnEmpty: true, - forcePlaceholderSize: true, - receive: function(event, ui) {$("body").trigger("resize")} -}); - -// Init Code Highlighter -prettyPrint(); - -//RUN RESIZE ITEMS -$(window).resize(debounce(resizeitems,100)); -$("body").trigger("resize"); - -//SELECT -$('.selectpicker').selectpicker(); - - -//FILE INPUT -$('input[type=file]').bootstrapFileInput(); - - -//DATE PICKER -$('.datepicker-input').datepicker(); - - -//ICHECK -$('input:not(.ios-switch)').iCheck({ - checkboxClass: 'icheckbox_square-aero', - radioClass: 'iradio_square-aero', - increaseArea: '20%' // optional -}); - -// IOS7 SWITCH -$(".ios-switch").each(function(){ - mySwitch = new Switch(this); -}); - -//GALLERY -$('.gallery-wrap').each(function() { // the containers for all your galleries - $(this).magnificPopup({ - delegate: 'a.zooming', // the selector for gallery item - type: 'image', - removalDelay: 300, - mainClass: 'mfp-fade', - gallery: { - enabled:true - } - }); -}); - - - -}); - -var debounce = function(func, wait, immediate) { - var timeout, result; - return function() { - var context = this, args = arguments; - var later = function() { - timeout = null; - if (!immediate) result = func.apply(context, args); - }; - var callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) result = func.apply(context, args); - return result; - }; -} - -function resizeitems(){ - if($.isArray(resizefunc)){ - for (i = 0; i < resizefunc.length; i++) { - window[resizefunc[i]](); - } - } -} - -function initscrolls(){ - if(jQuery.browser.mobile !== true){ - //SLIM SCROLL - $('.slimscroller').slimscroll({ - height: 'auto', - size: "5px" - }); - - $('.slimscrollleft').slimScroll({ - height: 'auto', - position: 'left', - size: "5px", - color: '#7A868F' - }); - } -} -function toggle_slimscroll(item){ - if($("#wrapper").hasClass("enlarged")){ - $(item).css("overflow","inherit").parent().css("overflow","inherit"); - $(item). siblings(".slimScrollBar").css("visibility","hidden"); - }else{ - $(item).css("overflow","hidden").parent().css("overflow","hidden"); - $(item). siblings(".slimScrollBar").css("visibility","visible"); - } -} - -function nifty_modal_alert(effect,header,text){ - - var randLetter = String.fromCharCode(65 + Math.floor(Math.random() * 26)); - var uniqid = randLetter + Date.now(); - - $modal = '
    '; - $modal += '
    '; - $modal += '

    '+header+'

    '; - $modal += '
    '+text; - $modal += '
    '; - $modal += '
    '; - $modal += '
    '; - - $("body").prepend($modal); - - window.setTimeout(function () { - $("#"+uniqid).addClass("md-show"); - $(".md-overlay,.md-close").click(function(){ - $("#"+uniqid).removeClass("md-show"); - window.setTimeout(function () {$("#"+uniqid).remove();},500); - }); - },100); - - return false; -} - -function blockUI(item) { - $(item).block({ - message: '
    ', - css: { - border: 'none', - width: '14px', - backgroundColor: 'none' - }, - overlayCSS: { - backgroundColor: '#fff', - opacity: 0.4, - cursor: 'wait' - } - }); -} - -function unblockUI(item) { - $(item).unblock(); -} - -function toggle_fullscreen(){ - var fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled; - if(fullscreenEnabled){ - if(!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) { - launchIntoFullscreen(document.documentElement); - }else{ - exitFullscreen(); - } - } -} - - -// Thanks to http://davidwalsh.name/fullscreen - -function launchIntoFullscreen(element) { - if(element.requestFullscreen) { - element.requestFullscreen(); - } else if(element.mozRequestFullScreen) { - element.mozRequestFullScreen(); - } else if(element.webkitRequestFullscreen) { - element.webkitRequestFullscreen(); - } else if(element.msRequestFullscreen) { - element.msRequestFullscreen(); - } -} - -function exitFullscreen() { - if(document.exitFullscreen) { - document.exitFullscreen(); - } else if(document.mozCancelFullScreen) { - document.mozCancelFullScreen(); - } else if(document.webkitExitFullscreen) { - document.webkitExitFullscreen(); - } -} \ No newline at end of file diff --git a/public/assets/admin/js/pages/advanced-forms.js b/public/assets/admin/js/pages/advanced-forms.js deleted file mode 100644 index e32ee550c..000000000 --- a/public/assets/admin/js/pages/advanced-forms.js +++ /dev/null @@ -1,173 +0,0 @@ -$(function(){ - - $('#ckeditor').ckeditor({skin : 'bootstrapck'}); - - $.fn.editable.defaults.mode = 'inline'; - //defaults - $.fn.editable.defaults.url = '/post'; - - //enable / disable - $('#enable').click(function() { - $('#user .editable').editable('toggleDisabled'); - }); - - - - //editables - $('#username').editable({ - url: '/post', - type: 'text', - pk: 1, - name: 'username', - title: 'Enter username' - }); - - $('#firstname').editable({ - validate: function(value) { - if($.trim(value) == '') return 'This field is required'; - } - }); - - $('#sex').editable({ - prepend: "not selected", - source: [ - {value: 1, text: 'Male'}, - {value: 2, text: 'Female'} - ], - display: function(value, sourceData) { - var colors = {"": "gray", 1: "green", 2: "blue"}, - elem = $.grep(sourceData, function(o){return o.value == value;}); - - if(elem.length) { - $(this).text(elem[0].text).css("color", colors[value]); - } else { - $(this).empty(); - } - } - }); - - $('#status').editable(); - - $('#group').editable({ - showbuttons: false - }); - - $('#vacation').editable({ - datepicker: { - todayBtn: 'linked' - } - }); - - $('#dob').editable(); - - $('#event').editable({ - placement: 'right', - combodate: { - firstItem: 'name' - } - }); - - $('#meeting_start').editable({ - format: 'yyyy-mm-dd hh:ii', - viewformat: 'dd/mm/yyyy hh:ii', - validate: function(v) { - if(v && v.getDate() == 10) return 'Day cant be 10!'; - }, - datetimepicker: { - todayBtn: 'linked', - weekStart: 1 - } - }); - - $('#comments').editable({ - showbuttons: 'bottom' - }); - - $('#note').editable(); - $('#pencil').click(function(e) { - e.stopPropagation(); - e.preventDefault(); - $('#note').editable('toggle'); - }); - - $('#state').editable({ - source: ["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"] - }); - - $('#state2').editable({ - value: 'California', - typeahead: { - name: 'state', - local: ["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"] - } - }); - - $('#fruits').editable({ - pk: 1, - limit: 3, - source: [ - {value: 1, text: 'banana'}, - {value: 2, text: 'peach'}, - {value: 3, text: 'apple'}, - {value: 4, text: 'watermelon'}, - {value: 5, text: 'orange'} - ] - }); - - $('#tags').editable({ - inputclass: 'input-large', - select2: { - tags: ['html', 'javascript', 'css', 'ajax'], - tokenSeparators: [",", " "] - } - }); - - var countries = []; - $.each({"BD": "Bangladesh", "BE": "Belgium", "BF": "Burkina Faso", "BG": "Bulgaria", "BA": "Bosnia and Herzegovina", "BB": "Barbados", "WF": "Wallis and Futuna", "BL": "Saint Bartelemey", "BM": "Bermuda", "BN": "Brunei Darussalam", "BO": "Bolivia", "BH": "Bahrain", "BI": "Burundi", "BJ": "Benin", "BT": "Bhutan", "JM": "Jamaica", "BV": "Bouvet Island", "BW": "Botswana", "WS": "Samoa", "BR": "Brazil", "BS": "Bahamas", "JE": "Jersey", "BY": "Belarus", "O1": "Other Country", "LV": "Latvia", "RW": "Rwanda", "RS": "Serbia", "TL": "Timor-Leste", "RE": "Reunion", "LU": "Luxembourg", "TJ": "Tajikistan", "RO": "Romania", "PG": "Papua New Guinea", "GW": "Guinea-Bissau", "GU": "Guam", "GT": "Guatemala", "GS": "South Georgia and the South Sandwich Islands", "GR": "Greece", "GQ": "Equatorial Guinea", "GP": "Guadeloupe", "JP": "Japan", "GY": "Guyana", "GG": "Guernsey", "GF": "French Guiana", "GE": "Georgia", "GD": "Grenada", "GB": "United Kingdom", "GA": "Gabon", "SV": "El Salvador", "GN": "Guinea", "GM": "Gambia", "GL": "Greenland", "GI": "Gibraltar", "GH": "Ghana", "OM": "Oman", "TN": "Tunisia", "JO": "Jordan", "HR": "Croatia", "HT": "Haiti", "HU": "Hungary", "HK": "Hong Kong", "HN": "Honduras", "HM": "Heard Island and McDonald Islands", "VE": "Venezuela", "PR": "Puerto Rico", "PS": "Palestinian Territory", "PW": "Palau", "PT": "Portugal", "SJ": "Svalbard and Jan Mayen", "PY": "Paraguay", "IQ": "Iraq", "PA": "Panama", "PF": "French Polynesia", "BZ": "Belize", "PE": "Peru", "PK": "Pakistan", "PH": "Philippines", "PN": "Pitcairn", "TM": "Turkmenistan", "PL": "Poland", "PM": "Saint Pierre and Miquelon", "ZM": "Zambia", "EH": "Western Sahara", "RU": "Russian Federation", "EE": "Estonia", "EG": "Egypt", "TK": "Tokelau", "ZA": "South Africa", "EC": "Ecuador", "IT": "Italy", "VN": "Vietnam", "SB": "Solomon Islands", "EU": "Europe", "ET": "Ethiopia", "SO": "Somalia", "ZW": "Zimbabwe", "SA": "Saudi Arabia", "ES": "Spain", "ER": "Eritrea", "ME": "Montenegro", "MD": "Moldova, Republic of", "MG": "Madagascar", "MF": "Saint Martin", "MA": "Morocco", "MC": "Monaco", "UZ": "Uzbekistan", "MM": "Myanmar", "ML": "Mali", "MO": "Macao", "MN": "Mongolia", "MH": "Marshall Islands", "MK": "Macedonia", "MU": "Mauritius", "MT": "Malta", "MW": "Malawi", "MV": "Maldives", "MQ": "Martinique", "MP": "Northern Mariana Islands", "MS": "Montserrat", "MR": "Mauritania", "IM": "Isle of Man", "UG": "Uganda", "TZ": "Tanzania, United Republic of", "MY": "Malaysia", "MX": "Mexico", "IL": "Israel", "FR": "France", "IO": "British Indian Ocean Territory", "FX": "France, Metropolitan", "SH": "Saint Helena", "FI": "Finland", "FJ": "Fiji", "FK": "Falkland Islands (Malvinas)", "FM": "Micronesia, Federated States of", "FO": "Faroe Islands", "NI": "Nicaragua", "NL": "Netherlands", "NO": "Norway", "NA": "Namibia", "VU": "Vanuatu", "NC": "New Caledonia", "NE": "Niger", "NF": "Norfolk Island", "NG": "Nigeria", "NZ": "New Zealand", "NP": "Nepal", "NR": "Nauru", "NU": "Niue", "CK": "Cook Islands", "CI": "Cote d'Ivoire", "CH": "Switzerland", "CO": "Colombia", "CN": "China", "CM": "Cameroon", "CL": "Chile", "CC": "Cocos (Keeling) Islands", "CA": "Canada", "CG": "Congo", "CF": "Central African Republic", "CD": "Congo, The Democratic Republic of the", "CZ": "Czech Republic", "CY": "Cyprus", "CX": "Christmas Island", "CR": "Costa Rica", "CV": "Cape Verde", "CU": "Cuba", "SZ": "Swaziland", "SY": "Syrian Arab Republic", "KG": "Kyrgyzstan", "KE": "Kenya", "SR": "Suriname", "KI": "Kiribati", "KH": "Cambodia", "KN": "Saint Kitts and Nevis", "KM": "Comoros", "ST": "Sao Tome and Principe", "SK": "Slovakia", "KR": "Korea, Republic of", "SI": "Slovenia", "KP": "Korea, Democratic People's Republic of", "KW": "Kuwait", "SN": "Senegal", "SM": "San Marino", "SL": "Sierra Leone", "SC": "Seychelles", "KZ": "Kazakhstan", "KY": "Cayman Islands", "SG": "Singapore", "SE": "Sweden", "SD": "Sudan", "DO": "Dominican Republic", "DM": "Dominica", "DJ": "Djibouti", "DK": "Denmark", "VG": "Virgin Islands, British", "DE": "Germany", "YE": "Yemen", "DZ": "Algeria", "US": "United States", "UY": "Uruguay", "YT": "Mayotte", "UM": "United States Minor Outlying Islands", "LB": "Lebanon", "LC": "Saint Lucia", "LA": "Lao People's Democratic Republic", "TV": "Tuvalu", "TW": "Taiwan", "TT": "Trinidad and Tobago", "TR": "Turkey", "LK": "Sri Lanka", "LI": "Liechtenstein", "A1": "Anonymous Proxy", "TO": "Tonga", "LT": "Lithuania", "A2": "Satellite Provider", "LR": "Liberia", "LS": "Lesotho", "TH": "Thailand", "TF": "French Southern Territories", "TG": "Togo", "TD": "Chad", "TC": "Turks and Caicos Islands", "LY": "Libyan Arab Jamahiriya", "VA": "Holy See (Vatican City State)", "VC": "Saint Vincent and the Grenadines", "AE": "United Arab Emirates", "AD": "Andorra", "AG": "Antigua and Barbuda", "AF": "Afghanistan", "AI": "Anguilla", "VI": "Virgin Islands, U.S.", "IS": "Iceland", "IR": "Iran, Islamic Republic of", "AM": "Armenia", "AL": "Albania", "AO": "Angola", "AN": "Netherlands Antilles", "AQ": "Antarctica", "AP": "Asia/Pacific Region", "AS": "American Samoa", "AR": "Argentina", "AU": "Australia", "AT": "Austria", "AW": "Aruba", "IN": "India", "AX": "Aland Islands", "AZ": "Azerbaijan", "IE": "Ireland", "ID": "Indonesia", "UA": "Ukraine", "QA": "Qatar", "MZ": "Mozambique"}, function(k, v) { - countries.push({id: k, text: v}); - }); - $('#country').editable({ - source: countries, - select2: { - width: 200, - placeholder: 'Select country', - allowClear: true - } - }); - - - - $('#address').editable({ - url: '/post', - value: { - city: "Moscow", - street: "Lenina", - building: "12" - }, - validate: function(value) { - if(value.city == '') return 'city is required!'; - }, - display: function(value) { - if(!value) { - $(this).empty(); - return; - } - var html = '' + $('
    ').text(value.city).html() + ', ' + $('
    ').text(value.street).html() + ' st., bld. ' + $('
    ').text(value.building).html(); - $(this).html(html); - } - }); - - $('#user .editable').on('hidden', function(e, reason){ - if(reason === 'save' || reason === 'nochange') { - var $next = $(this).closest('tr').next().find('.editable'); - if($('#autoopen').is(':checked')) { - setTimeout(function() { - $next.editable('show'); - }, 300); - } else { - $next.focus(); - } - } - }); - -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/calendar.js b/public/assets/admin/js/pages/calendar.js deleted file mode 100644 index 4c11c17a1..000000000 --- a/public/assets/admin/js/pages/calendar.js +++ /dev/null @@ -1,126 +0,0 @@ -$(function () { - - function runCalendar() { - var $modal = $('#event-modal'); - $('#draggable-events div.draggable-event').each(function () { - // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/) - // it doesn't need to have a start or end - var eventObject = { - title: $.trim($(this).text()) // use the element's text as the event title - }; - // store the Event Object in the DOM element so we can get to it later - $(this).data('eventObject', eventObject); - // make the event draggable using jQuery UI - $(this).draggable({ - zIndex: 999, - revert: true, // will cause the event to go back to its - revertDuration: 20 // original position after the drag - }); - }); - /* Initialize the calendar */ - var date = new Date(); - var d = date.getDate(); - var m = date.getMonth(); - var y = date.getFullYear(); - var form = ''; - var calendar = $('#calendar').fullCalendar({ - slotDuration: '00:15:00', /* If we want to split day time each 15minutes */ - minTime: '08:00:00', - maxTime: '19:00:00', - header: { - left: 'prev,next today', - center: 'title', - right: 'month,agendaWeek,agendaDay' - }, - events: [{ - title: 'Take your pills!', - start: new Date(y, m, 2), - className: 'bg-darkblue-2' - }, { - title: 'Visit Doctor', - start: '2014-05-15 14:00:00', - start: '2014-05-15 15:00:00', - className: 'bg-red-1' - }], - editable: true, - droppable: true, // this allows things to be dropped onto the calendar !!! - drop: function (date, allDay) { // this function is called when something is dropped - // retrieve the dropped element's stored Event Object - var originalEventObject = $(this).data('eventObject'); - var $categoryClass = $(this).attr('data-class'); - // we need to copy it, so that multiple events don't have a reference to the same object - var copiedEventObject = $.extend({}, originalEventObject); - // assign it the date that was reported - copiedEventObject.start = date; - copiedEventObject.allDay = allDay; - if ($categoryClass) - copiedEventObject['className'] = [$categoryClass]; - // render the event on the calendar - // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/) - $('#calendar').fullCalendar('renderEvent', copiedEventObject, true); - // is the "remove after drop" checkbox checked? - if ($('#drop-remove').is(':checked')) { - // if so, remove the element from the "Draggable Events" list - $(this).remove(); - } - }, - - selectable: true, - eventClick: function (calEvent, jsEvent, view) { - var form = $("
    "); - form.append(""); - form.append("
    "); - $modal.modal({ - backdrop: 'static' - }); - $modal.find('.delete-event').show().end().find('.save-event').hide().end().find('.modal-body').empty().prepend(form).end().find('.delete-event').unbind('click').click(function () { - calendar.fullCalendar('removeEvents', function (ev) { - return (ev._id == calEvent._id); - }); - $modal.modal('hide'); - }); - $modal.find('form').on('submit', function () { - calEvent.title = form.find("input[type=text]").val(); - calendar.fullCalendar('updateEvent', calEvent); - $modal.modal('hide'); - return false; - }); - }, - select: function (start, end, allDay) { - $modal.modal({ - backdrop: 'static' - }); - form = $("
    "); - form.append("
    "); - form.find(".row").append("
    ").append("
    ").find("select[name='category']").append("") - .append("").append("").append("").append("").append(""); - $modal.find('.delete-event').hide().end().find('.save-event').show().end().find('.modal-body').empty().prepend(form).end().find('.save-event').unbind('click').click(function () { - form.submit(); - }); - $modal.find('form').on('submit', function () { - title = form.find("input[name='title']").val(); - $categoryClass = form.find("select[name='category'] option:checked").val(); - if (title !== null && title.length != 0) { - calendar.fullCalendar('renderEvent', { - title: title, - start: start, - end: end, - allDay: false, - className: $categoryClass - }, true); - } - else{ - alert('You need a title for the event!'); - } - $modal.modal('hide'); - return false; - }); - calendar.fullCalendar('unselect'); - } - - }); - } - - runCalendar(); - -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/datatables.js b/public/assets/admin/js/pages/datatables.js deleted file mode 100644 index 36f7eea45..000000000 --- a/public/assets/admin/js/pages/datatables.js +++ /dev/null @@ -1,60 +0,0 @@ -$(function(){ - $("#datatables-1").dataTable(); - - var table = $('#datatables-2').DataTable(); - - $("#datatables-2 tfoot th").each( function ( i ) { - var select = $('') - .appendTo( $(this).empty() ) - .on( 'change', function () { - table.column( i ) - .search( '^'+$(this).val()+'$', true, false ) - .draw(); - } ); - - table.column( i ).data().unique().sort().each( function ( d, j ) { - select.append( '' ) - } ); - } ); - - $('#datatables-3').dataTable( { - "footerCallback": function ( row, data, start, end, display ) { - var api = this.api(), data; - - // Remove the formatting to get integer data for summation - var intVal = function ( i ) { - return typeof i === 'string' ? - i.replace(/[\$,]/g, '')*1 : - typeof i === 'number' ? - i : 0; - }; - - // Total over all pages - data = api.column( 4 ).data(); - total = data.length ? - data.reduce( function (a, b) { - return intVal(a) + intVal(b); - } ) : - 0; - - // Total over this page - data = api.column( 4, { page: 'current'} ).data(); - pageTotal = data.length ? - data.reduce( function (a, b) { - return intVal(a) + intVal(b); - } ) : - 0; - - // Update footer - $( api.column( 4 ).footer() ).html( - '$'+pageTotal +' ( $'+ total +' total)' - ); - } - } ); - $('#datatables-4').DataTable( { - dom: 'T<"clear">lfrtip', - tableTools: { - "sSwfPath": "./assets/libs/jquery-datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf" - } - } ); -}) \ No newline at end of file diff --git a/public/assets/admin/js/pages/form-validation.js b/public/assets/admin/js/pages/form-validation.js deleted file mode 100644 index b75184b9a..000000000 --- a/public/assets/admin/js/pages/form-validation.js +++ /dev/null @@ -1,290 +0,0 @@ -$(document).ready(function() { - // Generate a simple captcha - function randomNumber(min, max) { - return Math.floor(Math.random() * (max - min + 1) + min); - }; - $('#captchaOperation').html([randomNumber(1, 20), '+', randomNumber(1, 30), '='].join(' ')); - - - //EXAMPLE REGISTER FORM - $('#registerForm').bootstrapValidator({ - message: 'This value is not valid', - fields: { - username: { - message: 'The username is not valid', - validators: { - notEmpty: { - message: 'The username is required and can\'t be empty' - }, - stringLength: { - min: 6, - max: 30, - message: 'The username must be more than 6 and less than 30 characters long' - }, - regexp: { - regexp: /^[a-zA-Z0-9_\.]+$/, - message: 'The username can only consist of alphabetical, number, dot and underscore' - }, - different: { - field: 'password', - message: 'The username and password can\'t be the same as each other' - } - } - }, - email: { - validators: { - notEmpty: { - message: 'The email address is required and can\'t be empty' - }, - emailAddress: { - message: 'The input is not a valid email address' - } - } - }, - password: { - validators: { - notEmpty: { - message: 'The password is required and can\'t be empty' - }, - identical: { - field: 'confirmPassword', - message: 'The password and its confirm are not the same' - }, - different: { - field: 'username', - message: 'The password can\'t be the same as username' - } - } - }, - confirmPassword: { - validators: { - notEmpty: { - message: 'The confirm password is required and can\'t be empty' - }, - identical: { - field: 'password', - message: 'The password and its confirm are not the same' - }, - different: { - field: 'username', - message: 'The password can\'t be the same as username' - } - } - }, - phoneNumber: { - validators: { - digits: { - message: 'The value can contain only digits' - } - } - }, - acceptTerms: { - validators: { - notEmpty: { - message: 'You have to accept the terms and policies' - } - } - }, - captcha: { - validators: { - callback: { - message: 'Wrong answer', - callback: function(value, validator) { - var items = $('#captchaOperation').html().split(' '), sum = parseInt(items[0]) + parseInt(items[2]); - return value == sum; - } - } - } - } - } - }); - - - //EXAMPLE CONTACT FORM - $('#contactForm').bootstrapValidator({ - message: 'This value is not valid', - fields: { - name: { - message: 'Name is not valid', - validators: { - notEmpty: { - message: 'Name is required and can\'t be empty' - }, - regexp: { - regexp: /^[a-zA-Z0-9_\.]+$/, - message: 'Name can only consist of alphabetical, number, dot and underscore' - } - } - }, - email: { - validators: { - notEmpty: { - message: 'The email address is required and can\'t be empty' - }, - emailAddress: { - message: 'The input is not a valid email address' - } - } - }, - website: { - validators: { - uri: { - message: 'The input is not a valid URL' - } - } - }, - Contactmessage: { - validators: { - notEmpty: { - message: 'Message is required and can\'t be empty' - }, - stringLength: { - min: 6, - message: 'Message must be more than 6 characters long' - } - } - }, - captcha: { - validators: { - callback: { - message: 'Wrong answer', - callback: function(value, validator) { - var items = $('#captchaOperation').html().split(' '), sum = parseInt(items[0]) + parseInt(items[2]); - return value == sum; - } - } - } - } - } - }); - - - //Regular expression based validators - $('#ExpressionValidator').bootstrapValidator({ - message: 'This value is not valid', - fields: { - email: { - validators: { - notEmpty: { - message: 'The email address is required and can\'t be empty' - }, - emailAddress: { - message: 'The input is not a valid email address' - } - } - }, - website: { - validators: { - uri: { - message: 'The input is not a valid URL' - } - } - }, - phoneNumber: { - validators: { - digits: { - message: 'The value can contain only digits' - } - } - }, - color: { - validators: { - hexColor: { - message: 'The input is not a valid hex color' - } - } - }, - zipCode: { - validators: { - usZipCode: { - message: 'The input is not a valid US zip code' - } - } - } - } - }); - - - //Regular expression based validators - $('#NotEmptyValidator').bootstrapValidator({ - message: 'This value is not valid', - fields: { - username: { - message: 'The username is not valid', - validators: { - notEmpty: { - message: 'The username is required and can\'t be empty' - }, - stringLength: { - min: 6, - max: 30, - message: 'The username must be more than 6 and less than 30 characters long' - }, - regexp: { - regexp: /^[a-zA-Z0-9_\.]+$/, - message: 'The username can only consist of alphabetical, number, dot and underscore' - } - } - }, - country: { - validators: { - notEmpty: { - message: 'The country is required and can\'t be empty' - } - } - } - } - }); - - - //Regular expression based validators - $('#IdenticalValidator').bootstrapValidator({ - message: 'This value is not valid', - fields: { - password: { - validators: { - notEmpty: { - message: 'The password is required and can\'t be empty' - }, - identical: { - field: 'confirmPassword', - message: 'The password and its confirm are not the same' - } - } - }, - confirmPassword: { - validators: { - notEmpty: { - message: 'The confirm password is required and can\'t be empty' - }, - identical: { - field: 'password', - message: 'The password and its confirm are not the same' - } - } - } - } - }); - - //Regular expression based validators - $('#OtherValidator').bootstrapValidator({ - message: 'This value is not valid', - fields: { - ages: { - validators: { - lessThan: { - value: 100, - inclusive: true, - message: 'The ages has to be less than 100' - }, - greaterThan: { - value: 10, - inclusive: false, - message: 'The ages has to be greater than or equals to 10' - } - } - } - } - }); - -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/form-wizard.js b/public/assets/admin/js/pages/form-wizard.js deleted file mode 100644 index 81f1880d5..000000000 --- a/public/assets/admin/js/pages/form-wizard.js +++ /dev/null @@ -1,6 +0,0 @@ -$(function() { - $('#myWizard').easyWizard({ - buttonsClass: 'btn btn-default', - submitButtonClass: 'btn btn-primary' - }); -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/forms.js b/public/assets/admin/js/pages/forms.js deleted file mode 100644 index 1a3672ddc..000000000 --- a/public/assets/admin/js/pages/forms.js +++ /dev/null @@ -1,5 +0,0 @@ -$(function() { - $('.summernote').summernote({ - height: 500 - }); -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/google-maps.js b/public/assets/admin/js/pages/google-maps.js deleted file mode 100644 index 8cb87bad8..000000000 --- a/public/assets/admin/js/pages/google-maps.js +++ /dev/null @@ -1,168 +0,0 @@ -$(function(){ - - $("#gmap-1").gmap3({ - marker:{ - latLng: [46.578498,2.457275], - options:{ - draggable:true - }, - events:{ - dragend: function(marker){ - $(this).gmap3({ - getaddress:{ - latLng:marker.getPosition(), - callback:function(results){ - var map = $(this).gmap3("get"), - infowindow = $(this).gmap3({get:"infowindow"}), - content = results && results[1] ? results && results[1].formatted_address : "no address"; - if (infowindow){ - infowindow.open(map, marker); - infowindow.setContent(content); - } else { - $(this).gmap3({ - infowindow:{ - anchor:marker, - options:{content: content} - } - }); - } - } - } - }); - } - } - }, - map:{ - options:{ - zoom: 5 - } - } - }); - - $("#gmap-2").gmap3({ - map:{ - options:{ - center:[46.578498,2.457275], - zoom: 4, - mapTypeId: google.maps.MapTypeId.TERRAIN - } - }, - marker:{ - values: [ - [49.28952958093682, 6.152559438984804], - { - latLng:[44.28952958093682, 6.152559438984804], - options:{ - icon: "http://maps.google.com/mapfiles/marker_green.png" - } - }, - [49.28952958093682, -1.1501188139848408], - { - latLng:[44.28952958093682, -1.1501188139848408], - events:{ - click:function(){ - alert("I'm the last one, and i have my own click event"); - } - } - } - ], - events:{ // events trigged by markers - click: function(){ - alert("Here is the default click event"); - } - }, - cluster:{ - radius: 100, - 0: { - content: "
    CLUSTER_COUNT
    ", - width: 53, - height: 52 - }, - 20: { - content: "
    CLUSTER_COUNT
    ", - width: 56, - height: 55 - }, - 50: { - content: "
    CLUSTER_COUNT
    ", - width: 66, - height: 65 - } - } - } - }); - - var fenway = new google.maps.LatLng(42.345573,-71.098326); - $("#gmap-3").gmap3({ - map:{ - options:{ - zoom: 14, - mapTypeId: google.maps.MapTypeId.ROADMAP, - streetViewControl: true, - center: fenway - } - }, - streetviewpanorama:{ - options:{ - container: $("#gmap-4"), - opts:{ - position: fenway, - pov: { - heading: 34, - pitch: 10, - zoom: 1 - } - } - } - } - }); - - $("#gmap-5").gmap3({ - map:{ - address:"ISTABBUL, TURKEY", - options:{ - zoom:4, - mapTypeId: google.maps.MapTypeId.SATELLITE, - mapTypeControl: true, - mapTypeControlOptions: { - style: google.maps.MapTypeControlStyle.DROPDOWN_MENU - }, - navigationControl: true, - scrollwheel: true, - streetViewControl: true - } - } - }); - - $("#gmap-6").gmap3({ - map:{ - options:{ - center:[33, -111], - zoom:10, - mapTypeControlOptions: { - mapTypeIds: [google.maps.MapTypeId.ROADMAP, - google.maps.MapTypeId.SATELLITE, - google.maps.MapTypeId.HYBRID, - google.maps.MapTypeId.TERRAIN, - "sectional"] - } - } - }, - imagemaptype:{ - id: "sectional", - options:{ - getTileUrl: function(coord, zoom) { - return "http://www.fourpeaksnavigation.com/sectionals/phx" + "/" + zoom + "/" + coord.x + "/" + coord.y + ".png"; - }, - tileSize: new google.maps.Size(256, 256), - isPng: true, - name: "Chart", - minZoom: 1, - maxZoom: 111 - }, - callback: function(){ - $(this).gmap3("get").setMapTypeId("sectional"); - } - } - }); -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/index.js b/public/assets/admin/js/pages/index.js deleted file mode 100644 index 2ddde98dd..000000000 --- a/public/assets/admin/js/pages/index.js +++ /dev/null @@ -1,373 +0,0 @@ -var timer; -var graph; -var graph2; - -$(document).ready(function(){ - $(".dial").knob(); - var cityAreaData = [ - 500.70, - 410.16, - 210.69, - 120.17, - 64.31, - 150.35, - 130.22, - 120.71, - 300.32 - ] - $('#vector-map').vectorMap({ - map: 'us_aea_en', - normalizeFunction: 'polynomial', - zoomOnScroll:true, - focusOn:{ - x: 0, - y: 0, - scale: 0.9 - }, - zoomMin:0.9, - hoverColor: false, - regionStyle:{ - initial: { - fill: '#bbbbbb', - "fill-opacity": 1, - stroke: '#a5ded9', - "stroke-width": 0, - "stroke-opacity": 0 - }, - hover: { - "fill-opacity": 0.8 - } - }, - markerStyle: { - initial: { - fill: '#F57A82', - stroke: 'rgba(230,140,110,.8)', - "fill-opacity": 1, - "stroke-width": 9, - "stroke-opacity": 0.5, - r: 3 - }, - hover: { - stroke: 'black', - "stroke-width": 2 - }, - selected: { - fill: 'blue' - }, - selectedHover: { - } - }, - backgroundColor: '#ffffff', - markers :[ - - {latLng: [35.85, -77.88], name: 'Rocky Mt,NC'}, - {latLng: [32.90, -97.03], name: 'Dallas/FW,TX'}, - {latLng: [39.37, -75.07], name: 'Millville,NJ'} - - ], - series: { - markers: [{ - attribute: 'r', - scale: [3, 7], - values: cityAreaData - }] - } - }); - if ("geolocation" in navigator) { - $('.js-geolocation').show(); - } else { - $('.js-geolocation').hide(); - } - - /* Where in the world are you? */ - $(document).on('click', '.js-geolocation', function() { - navigator.geolocation.getCurrentPosition(function(position) { - loadWeather(position.coords.latitude+','+position.coords.longitude); //load weather using your lat/lng coordinates - }); - }); - - resizefunc.push("reload_charts"); - //$(".content-page").resize(debounce(reload_charts,100)); - - load_charts(); - loadWeather('Seattle',''); - monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; - dayNames = ["S", "M", "T", "W", "T", "F", "S"]; - - var cTime = new Date(), month = cTime.getMonth()+1, year = cTime.getFullYear(); - - var events = [ - { - "date": "4/"+month+"/"+year, - "title": 'Meet a friend', - "link": 'javascript:;', - "color": 'rgba(255,255,255,0.2)', - "content": 'Contents here' - }, - { - "date": "7/"+month+"/"+year, - "title": 'Kick off meeting!', - "link": 'javascript:;', - "color": 'rgba(255,255,255,0.2)', - "content": 'Have a kick off meeting with .inc company' - }, - { - "date": "19/"+month+"/"+year, - "title": 'Link to Google', - "link": 'http://www.google.com', - "color": 'rgba(255,255,255,0.2)', - } - ]; - - $('#calendar-box2').bic_calendar({ - events: events, - dayNames: dayNames, - monthNames: monthNames, - showDays: true, - displayMonthController: true, - displayYearController: false, - popoverOptions:{ - placement: 'top', - trigger: 'hover', - html: true - }, - tooltipOptions:{ - placement: 'top', - html: true - } - }); -}); - -function loadWeather(location, woeid) { - $.simpleWeather({ - location: location, - woeid: woeid, - unit: 'c', - success: function(weather) { - html = '

    '+weather.temp+'°'+weather.units.temp+' / '+weather.tempAlt+'°F

    '; - html += ''+weather.city+', '+weather.region+''; - html += ''+weather.currently+''; - html += ''; - - $("#weather").html(html); - }, - error: function(error) { - $("#weather").html('

    '+error+'

    '); - } - }); -} - -function reload_charts(){ - graph.configure({ - width: $("#home-chart-3").width() - }); - graph.render(); - - graph2.configure({ - width: $("#home-chart-2").width() - }); - graph2.render(); - window.morris1.redraw(); - window.morris2.redraw(); -} - -function load_charts(){ - //MORRIS - - window.morris1 = Morris.Bar({ - element: 'morris-bar-home', - data: [ - { y: 'Indonesia', a: 952}, - { y: 'India', a: 985}, - { y: 'Malaysia', a: 955}, - { y: 'China', a: 785 }, - { y: 'Philipina', a: 700 }, - { y: 'Autralia', a: 601 }, - { y: 'United Kingdom', a: 421 }, - { y: 'United States', a: 725 }, - { y: 'Taiwan', a: 350 }, - { y: 'New Zealand', a: 120 }, - { y: 'Singapore', a: 124} - ], - xkey: 'y', - ykeys: ['a'], - redraw: true, - labels: ['Visitor'], - resize: true, - barColors: ['#45B29D'], - gridTextColor: ['#777'], - gridTextSize: 11, - hideHover: 'auto', - grid :false - }); - - //MORRIS - window.morris2 = Morris.Area({ - element: 'morris-home', - padding: 10, - behaveLikeLine: true, - gridEnabled: false, - gridLineColor: '#dddddd', - axes: true, - resize: true, - smooth:true, - pointSize: 0, - lineWidth: 0, - fillOpacity:0.85, - data: [ - {period: '2010 Q1', iphone: 4666, ipad: 3666, itouch: 2666}, - {period: '2010 Q2', iphone: 4441, ipad: 3441, itouch: 2441}, - {period: '2010 Q3', iphone: 6501, ipad: 4501, itouch: 2501}, - {period: '2010 Q4', iphone: 7689, ipad: 6689, itouch: 5689}, - {period: '2011 Q1', iphone: 4293, ipad: 3293, itouch: 2293}, - {period: '2011 Q2', iphone: 5881, ipad: 3881, itouch: 1881}, - {period: '2011 Q3', iphone: 5588, ipad: 3588, itouch: 1588}, - {period: '2011 Q4', iphone: 15073, ipad: 8967, itouch: 5175}, - {period: '2012 Q1', iphone: 10687, ipad: 4460, itouch: 2028}, - {period: '2012 Q2', iphone: 12432, ipad: 5713, itouch: 3791} - ], - lineColors:['#869d9d','#EFC94C','#45B29D'], - xkey: 'period', - redraw: true, - ykeys: ['iphone', 'ipad', 'itouch'], - labels: ['All Visitors', 'Returning Visitors', 'Unique Visitors'], - hideHover: 'auto' - - }); - /* - Morris.Donut({ - element: 'morris-donut', - data: [ - {label: "Download Sales", value: 12}, - {label: "In-Store Sales", value: 30}, - {label: "Mail-Order Sales", value: 20} - ] - }); - */ - var seriesData = [ [], [], []]; - var random = new Rickshaw.Fixtures.RandomData(50); - - for (var i = 0; i < 40; i++) { - random.addData(seriesData); - } - - graph = new Rickshaw.Graph( { - element: document.querySelector("#home-chart-3"), - height: 150, - renderer: 'line', - interpolation: 'linear', - series: [ - { - data: seriesData[0], - color: 'rgba(0,0,0,0.4)', - name:'S&P' - },{ - data: seriesData[1], - color: 'rgba(0,0,0,0.3)', - name:'Dow jones' - },{ - data: seriesData[2], - color: 'rgba(0,0,0,0.2)', - name:'Nasdaq' - } - ] - } ); - var hoverDetail = new Rickshaw.Graph.HoverDetail({ - graph: graph - }); - - graph.render(); - - setInterval( function() { - random.removeData(seriesData); - random.addData(seriesData); - for (lastitem in seriesData[0]); - var cur = parseInt($("#sp-status").text()); - - if(cur > seriesData[0][lastitem].y.toFixed(2)){ - $("#sp-status").addClass("text-danger").html(" "+seriesData[0][lastitem].y.toFixed(2)); - }else{ - $("#sp-status").removeClass("text-danger").html(" "+seriesData[0][lastitem].y.toFixed(2)); - } - for (lastitem in seriesData[1]); - var cur = parseInt($("#dow-status").text()); - - if(cur > seriesData[1][lastitem].y.toFixed(2)){ - $("#dow-status").addClass("text-danger").html(" "+seriesData[1][lastitem].y.toFixed(2)); - }else{ - $("#dow-status").removeClass("text-danger").html(" "+seriesData[1][lastitem].y.toFixed(2)); - } - for (lastitem in seriesData[2]); - var cur = parseInt($("#nasdaq-status").text()); - - if(cur > seriesData[2][lastitem].y.toFixed(2)){ - $("#nasdaq-status").addClass("text-danger").html(" "+seriesData[2][lastitem].y.toFixed(2)); - }else{ - $("#nasdaq-status").removeClass("text-danger").html(" "+seriesData[2][lastitem].y.toFixed(2)); - } - graph.update(); - - },5000); - - var seriesData2 = [ [], []]; - var random2 = new Rickshaw.Fixtures.RandomData(50); - - for (var i = 0; i < 50; i++) { - random2.addData(seriesData2); - } - graph2 = new Rickshaw.Graph( { - element: document.querySelector("#home-chart-2"), - height: 150, - interpolation: 'linear', - renderer: 'area', - series: [ - { - data: seriesData2[0], - color: 'rgba(255,255,255,0.3)', - name:'Web Server' - },{ - data: seriesData2[1], - color: 'rgba(255,255,255,0.1)', - name:'Database Server' - } - ] - } ); - var hoverDetail = new Rickshaw.Graph.HoverDetail( { - graph: graph2 - }); - - graph2.render(); - clearInterval(timer); - timer = setInterval( function() { - random2.removeData(seriesData2); - random2.addData(seriesData2); - for (lastitem in seriesData2[0]); - $('.ws-load').data('easyPieChart').update(seriesData2[0][lastitem].y); - //for (lastitem in seriesData2[1]); - //$('.ds-load').data('easyPieChart').update(seriesData2[1][lastitem].y); - graph2.update(); - - },2000); - - $('.ws-load').easyPieChart({ - animate: 1000, - trackColor: "rgba(0,0,0,0.1)", - barColor: "#68C39F", - scaleColor: false, - size: 90, - onStep: function(from, to, percent) { - $(this.el).find('.percent').text(Math.round(percent)); - } - }); - /*$('.ds-load').easyPieChart({ - animate: 1000, - scaleColor: false, - trackColor: "rgba(0,0,0,0.1)", - barColor: "#68C39F", - size: 50, - onStep: function(from, to, percent) { - $(this.el).find('.percent').text(Math.round(percent)); - } - });*/ -} -//http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes.csv%3Fs%3dDOW%2CNASDAQ%2CSP%26f%3Dsl1d1t1c1ohgv%26e%3D.csv%27%20and%20columns%3D%27symbol%2Cprice%2Cdate%2Ctime%2Cchange%2Ccol1%2Chigh%2Clow%2Ccol2%27&format=json&diagnostics=true&callback= \ No newline at end of file diff --git a/public/assets/admin/js/pages/index2.js b/public/assets/admin/js/pages/index2.js deleted file mode 100644 index ab396c6c5..000000000 --- a/public/assets/admin/js/pages/index2.js +++ /dev/null @@ -1,378 +0,0 @@ -var timer; -var graph; -var graph2; - -$(document).ready(function(){ - $(".dial").knob(); - var cityAreaData = [ - 500.70, - 410.16, - 210.69, - 120.17, - 64.31, - 150.35, - 130.22, - 120.71, - 300.32 - ] - $('#vector-map').vectorMap({ - map: 'world_mill_en', - normalizeFunction: 'polynomial', - zoomOnScroll:true, - focusOn:{ - x: 0, - y: 0, - scale: 0.9 - }, - zoomMin:0.9, - hoverColor: false, - regionStyle:{ - initial: { - fill: '#bbbbbb', - "fill-opacity": 1, - stroke: '#a5ded9', - "stroke-width": 0, - "stroke-opacity": 0 - }, - hover: { - "fill-opacity": 0.8 - } - }, - markerStyle: { - initial: { - fill: '#F57A82', - stroke: 'rgba(230,140,110,.8)', - "fill-opacity": 1, - "stroke-width": 9, - "stroke-opacity": 0.5, - r: 3 - }, - hover: { - stroke: 'black', - "stroke-width": 2 - }, - selected: { - fill: 'blue' - }, - selectedHover: { - } - }, - backgroundColor: '#ffffff', - markers :[ - - {latLng: [35.85, -77.88], name: 'Rocky Mt,NC'}, - {latLng: [32.90, -97.03], name: 'Dallas/FW,TX'}, - {latLng: [41.00, 28.96], name: 'Istanbul, TR'}, - {latLng: [39.37, -75.07], name: 'Millville,NJ'} - - ], - series: { - markers: [{ - attribute: 'r', - scale: [3, 7], - values: cityAreaData - }] - } - }); - if ("geolocation" in navigator) { - $('.js-geolocation').show(); - } else { - $('.js-geolocation').hide(); - } - - /* Where in the world are you? */ - $(document).on('click', '.js-geolocation', function() { - navigator.geolocation.getCurrentPosition(function(position) { - loadWeather(position.coords.latitude+','+position.coords.longitude); //load weather using your lat/lng coordinates - }); - }); - - resizefunc.push("reload_charts"); - //$(".content-page").resize(debounce(reload_charts,100)); - - load_charts(); - loadWeather('Seattle',''); - monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; - dayNames = ["S", "M", "T", "W", "T", "F", "S"]; - - var cTime = new Date(), month = cTime.getMonth()+1, year = cTime.getFullYear(); - - var events = [ - { - "date": "4/"+month+"/"+year, - "title": 'Meet a friend', - "link": 'javascript:;', - "color": 'rgba(255,255,255,0.2)', - "content": 'Contents here' - }, - { - "date": "7/"+month+"/"+year, - "title": 'Kick off meeting!', - "link": 'javascript:;', - "color": 'rgba(255,255,255,0.2)', - "content": 'Have a kick off meeting with .inc company' - }, - { - "date": "19/"+month+"/"+year, - "title": 'Link to Google', - "link": 'http://www.google.com', - "color": 'rgba(255,255,255,0.2)', - } - ]; - - $('#calendar-box2').bic_calendar({ - events: events, - dayNames: dayNames, - monthNames: monthNames, - showDays: true, - displayMonthController: true, - displayYearController: false, - popoverOptions:{ - placement: 'top', - trigger: 'hover', - html: true - }, - tooltipOptions:{ - placement: 'top', - html: true - } - }); -}); - -function loadWeather(location, woeid) { - $.simpleWeather({ - location: location, - woeid: woeid, - unit: 'c', - success: function(weather) { - html = '

    '+weather.temp+'°'+weather.units.temp+' / '+weather.tempAlt+'°F

    '; - html += ''+weather.city+', '+weather.region+''; - html += ''+weather.currently+''; - html += ''; - - $("#weather").html(html); - }, - error: function(error) { - $("#weather").html('

    '+error+'

    '); - } - }); -} - -function reload_charts(){ - graph.configure({ - width: $("#home-chart-3").width() - }); - graph.render(); - - graph2.configure({ - width: $("#home-chart-2").width() - }); - graph2.render(); - window.morris1.redraw(); - window.morris2.redraw(); -} - -function load_charts(){ - //MORRIS - - window.morris1 = Morris.Bar({ - element: 'morris-bar-home', - data: [ - { y: 'Indonesia', a: 952}, - { y: 'India', a: 985}, - { y: 'Malaysia', a: 955}, - { y: 'China', a: 785 }, - { y: 'Philipina', a: 700 }, - { y: 'Autralia', a: 601 }, - { y: 'United Kingdom', a: 421 }, - { y: 'United States', a: 725 }, - { y: 'Taiwan', a: 350 }, - { y: 'New Zealand', a: 120 }, - { y: 'Singapore', a: 124} - ], - xkey: 'y', - ykeys: ['a'], - redraw: true, - labels: ['Visitor'], - resize: true, - barColors: ['#45B29D'], - gridTextColor: ['#777'], - gridTextSize: 11, - hideHover: 'auto', - grid :false - }); - - //MORRIS - window.morris2 = Morris.Line({ - element: 'morris-home', - padding: 20, - behaveLikeLine: true, - gridEnabled: false, - gridLineColor: '#dddddd', - axes: true, - resize: true, - smooth:false, - pointSize: 3, - lineWidth: 2, - fillOpacity:0.85, - data: [ - {period: '2009 Q1', iphone: 4666, ipad: 3666, itouch: 2666}, - {period: '2009 Q2', iphone: 4441, ipad: 3441, itouch: 2441}, - {period: '2009 Q3', iphone: 16501, ipad: 14501, itouch: 12501}, - {period: '2009 Q4', iphone: 7689, ipad: 6689, itouch: 5689}, - {period: '2010 Q1', iphone: 4666, ipad: 3666, itouch: 2666}, - {period: '2010 Q2', iphone: 4441, ipad: 3441, itouch: 2441}, - {period: '2010 Q3', iphone: 6501, ipad: 4501, itouch: 2501}, - {period: '2010 Q4', iphone: 7689, ipad: 6689, itouch: 5689}, - {period: '2011 Q1', iphone: 2293, ipad: 1293, itouch: 293}, - {period: '2011 Q2', iphone: 5881, ipad: 3881, itouch: 1881}, - {period: '2011 Q3', iphone: 5588, ipad: 3588, itouch: 1588}, - {period: '2011 Q4', iphone: 15073, ipad: 8967, itouch: 5175}, - {period: '2012 Q1', iphone: 10687, ipad: 4460, itouch: 2028}, - {period: '2012 Q2', iphone: 12432, ipad: 5713, itouch: 3791} - ], - lineColors:['#abb7b7','#ABC8E2','#183152'], - xkey: 'period', - redraw: true, - ykeys: ['iphone', 'ipad'], - labels: ['All Visitors', 'Returning Visitors'], - hideHover: 'auto' - - }); - /* - Morris.Donut({ - element: 'morris-donut', - data: [ - {label: "Download Sales", value: 12}, - {label: "In-Store Sales", value: 30}, - {label: "Mail-Order Sales", value: 20} - ] - }); - */ - var seriesData = [ [], [], []]; - var random = new Rickshaw.Fixtures.RandomData(50); - - for (var i = 0; i < 40; i++) { - random.addData(seriesData); - } - - graph = new Rickshaw.Graph( { - element: document.querySelector("#home-chart-3"), - height: 150, - renderer: 'line', - interpolation: 'linear', - series: [ - { - data: seriesData[0], - color: 'rgba(0,0,0,0.4)', - name:'S&P' - },{ - data: seriesData[1], - color: 'rgba(0,0,0,0.3)', - name:'Dow jones' - },{ - data: seriesData[2], - color: 'rgba(0,0,0,0.2)', - name:'Nasdaq' - } - ] - } ); - var hoverDetail = new Rickshaw.Graph.HoverDetail({ - graph: graph - }); - - graph.render(); - - setInterval( function() { - random.removeData(seriesData); - random.addData(seriesData); - for (lastitem in seriesData[0]); - var cur = parseInt($("#sp-status").text()); - - if(cur > seriesData[0][lastitem].y.toFixed(2)){ - $("#sp-status").addClass("text-danger").html(" "+seriesData[0][lastitem].y.toFixed(2)); - }else{ - $("#sp-status").removeClass("text-danger").html(" "+seriesData[0][lastitem].y.toFixed(2)); - } - for (lastitem in seriesData[1]); - var cur = parseInt($("#dow-status").text()); - - if(cur > seriesData[1][lastitem].y.toFixed(2)){ - $("#dow-status").addClass("text-danger").html(" "+seriesData[1][lastitem].y.toFixed(2)); - }else{ - $("#dow-status").removeClass("text-danger").html(" "+seriesData[1][lastitem].y.toFixed(2)); - } - for (lastitem in seriesData[2]); - var cur = parseInt($("#nasdaq-status").text()); - - if(cur > seriesData[2][lastitem].y.toFixed(2)){ - $("#nasdaq-status").addClass("text-danger").html(" "+seriesData[2][lastitem].y.toFixed(2)); - }else{ - $("#nasdaq-status").removeClass("text-danger").html(" "+seriesData[2][lastitem].y.toFixed(2)); - } - graph.update(); - - },5000); - - var seriesData2 = [ [], []]; - var random2 = new Rickshaw.Fixtures.RandomData(50); - - for (var i = 0; i < 50; i++) { - random2.addData(seriesData2); - } - graph2 = new Rickshaw.Graph( { - element: document.querySelector("#home-chart-2"), - height: 254, - interpolation: 'linear', - renderer: 'area', - series: [ - { - data: seriesData2[0], - color: 'rgba(255,255,255,0.3)', - name:'Web Server' - },{ - data: seriesData2[1], - color: 'rgba(255,255,255,0.1)', - name:'Database Server' - } - ] - } ); - var hoverDetail = new Rickshaw.Graph.HoverDetail( { - graph: graph2 - }); - - graph2.render(); - clearInterval(timer); - timer = setInterval( function() { - random2.removeData(seriesData2); - random2.addData(seriesData2); - for (lastitem in seriesData2[0]); - $('.ws-load').data('easyPieChart').update(seriesData2[0][lastitem].y); - //for (lastitem in seriesData2[1]); - //$('.ds-load').data('easyPieChart').update(seriesData2[1][lastitem].y); - graph2.update(); - - },2000); - - $('.ws-load').easyPieChart({ - animate: 1000, - trackColor: "rgba(0,0,0,0.1)", - barColor: "#68C39F", - scaleColor: false, - size: 90, - onStep: function(from, to, percent) { - $(this.el).find('.percent').text(Math.round(percent)); - } - }); - /*$('.ds-load').easyPieChart({ - animate: 1000, - scaleColor: false, - trackColor: "rgba(0,0,0,0.1)", - barColor: "#68C39F", - size: 50, - onStep: function(from, to, percent) { - $(this.el).find('.percent').text(Math.round(percent)); - } - });*/ -} -//http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes.csv%3Fs%3dDOW%2CNASDAQ%2CSP%26f%3Dsl1d1t1c1ohgv%26e%3D.csv%27%20and%20columns%3D%27symbol%2Cprice%2Cdate%2Ctime%2Cchange%2Ccol1%2Chigh%2Clow%2Ccol2%27&format=json&diagnostics=true&callback= \ No newline at end of file diff --git a/public/assets/admin/js/pages/lockscreen.js b/public/assets/admin/js/pages/lockscreen.js deleted file mode 100644 index 2a314f3db..000000000 --- a/public/assets/admin/js/pages/lockscreen.js +++ /dev/null @@ -1,8 +0,0 @@ -$(function(){ - resizefunc.push("arrangesizeLockscreen"); - $(".lock-page .login-wrap").addClass("animated flipInX"); -}); - -function arrangesizeLockscreen(){ - $(".lock-page").height($(window).height()); -} \ No newline at end of file diff --git a/public/assets/admin/js/pages/morris-charts.js b/public/assets/admin/js/pages/morris-charts.js deleted file mode 100644 index 3d44fbdc6..000000000 --- a/public/assets/admin/js/pages/morris-charts.js +++ /dev/null @@ -1,61 +0,0 @@ -$(function(){ - Morris.Line({ - element: 'line-example', - resize: true, - data: [ - { y: '2006', a: 100, b: 90 }, - { y: '2007', a: 75, b: 65 }, - { y: '2008', a: 50, b: 40 }, - { y: '2009', a: 75, b: 65 }, - { y: '2010', a: 50, b: 40 }, - { y: '2011', a: 75, b: 65 }, - { y: '2012', a: 100, b: 90 } - ], - xkey: 'y', - ykeys: ['a', 'b'], - labels: ['Series A', 'Series B'] - }); - - Morris.Area({ - element: 'area-example', - resize: true, - data: [ - { y: '2006', a: 100, b: 90 }, - { y: '2007', a: 75, b: 65 }, - { y: '2008', a: 50, b: 40 }, - { y: '2009', a: 75, b: 65 }, - { y: '2010', a: 50, b: 40 }, - { y: '2011', a: 75, b: 65 }, - { y: '2012', a: 100, b: 90 } - ], - xkey: 'y', - ykeys: ['a', 'b'], - labels: ['Series A', 'Series B'] - }); - - Morris.Bar({ - element: 'bar-example', - resize: true, - data: [ - { y: '2007', a: 75, b: 65 }, - { y: '2008', a: 50, b: 40 }, - { y: '2009', a: 75, b: 65 }, - { y: '2010', a: 50, b: 40 }, - { y: '2011', a: 75, b: 65 } - ], - xkey: 'y', - ykeys: ['a', 'b'], - labels: ['Series A', 'Series B'] - }); - - Morris.Donut({ - element: 'donut-example', - resize: true, - data: [ - {label: "Download Sales", value: 12}, - {label: "In-Store Sales", value: 30}, - {label: "Mail-Order Sales", value: 20} - ] - }); - -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/nested-list.js b/public/assets/admin/js/pages/nested-list.js deleted file mode 100644 index e80ff3e37..000000000 --- a/public/assets/admin/js/pages/nested-list.js +++ /dev/null @@ -1,22 +0,0 @@ -var output; -$(document).ready(function(){ - var updateOutput = function(e) - { - var list = e.length ? e : $(e.target), - output = list.data('output'); - if (window.JSON) { - output.val(window.JSON.stringify(list.nestable('serialize')));//, null, 2)); - } else { - output.val('JSON browser support required for this demo.'); - } - }; - - // activate Nestable for list 1 - $('#nestable').nestable({ - group: 1 - }).on('change', updateOutput); - - $('#nestable2').nestable().on('change', updateOutput); - updateOutput($('#nestable').data('output', $('#nestable-output'))); - updateOutput($('#nestable2').data('output', $('#nestable2-output'))); -}) \ No newline at end of file diff --git a/public/assets/admin/js/pages/new-message.js b/public/assets/admin/js/pages/new-message.js deleted file mode 100644 index 70314ffce..000000000 --- a/public/assets/admin/js/pages/new-message.js +++ /dev/null @@ -1,11 +0,0 @@ -$(function(){ - $('.summernote-small').summernote({ - toolbar: [ - ['style', ['bold', 'italic', 'underline', 'clear']], - ['fontsize', ['fontsize']], - ['color', ['color']], - ['para', ['ul', 'ol', 'paragraph']] - ], - height: 200 - }); -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/notifications.js b/public/assets/admin/js/pages/notifications.js deleted file mode 100644 index 73f69bc66..000000000 --- a/public/assets/admin/js/pages/notifications.js +++ /dev/null @@ -1,101 +0,0 @@ -function notify(style,position) { - if(style == "error"){ - icon = "fa fa-exclamation"; - }else if(style == "warning"){ - icon = "fa fa-warning"; - }else if(style == "success"){ - icon = "fa fa-check"; - }else if(style == "info"){ - icon = "fa fa-question"; - }else{ - icon = "fa fa-circle-o"; - } - $.notify({ - title: 'Sample Notification', - text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae orci ut dolor scelerisque aliquam.', - image: "" - }, { - style: 'metro', - className: style, - globalPosition:position, - showAnimation: "show", - showDuration: 0, - hideDuration: 0, - autoHide: false, - clickToHide: true - }); -} - -function notify2(style,position) { - $(".autohidebut").notify({ - text: ' Hi buddy. I\'m here!' - }, { - style: 'metro', - className: 'nonspaced', - elementPosition:position, - showAnimation: "show", - showDuration: 0, - hideDuration: 0, - autoHide: false, - clickToHide: true - }); -} - -function autohidenotify(style,position) { - if(style == "error"){ - icon = "fa fa-exclamation"; - }else if(style == "warning"){ - icon = "fa fa-warning"; - }else if(style == "success"){ - icon = "fa fa-check"; - }else if(style == "info"){ - icon = "fa fa-question"; - }else{ - icon = "fa fa-circle-o"; - } - $.notify({ - title: 'I will be closed in 3 seconds...', - text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae orci ut dolor scelerisque aliquam.', - image: "" - }, { - style: 'metro', - className: style, - globalPosition:position, - showAnimation: "show", - showDuration: 0, - hideDuration: 0, - autoHideDelay: 3000, - autoHide: true, - clickToHide: true - }); -} - -function nconfirm() { - $.notify({ - title: 'Are you nuts?!', - text: 'Are you sure you want to do nothing?

    Yes No', - image: "" - }, { - style: 'metro', - className: "cool", - showAnimation: "show", - showDuration: 0, - hideDuration: 0, - autoHide: false, - clickToHide: false - }); -} - -$(function(){ - //listen for click events from this style - $(document).on('click', '.notifyjs-metro-base .no', function() { - //programmatically trigger propogating hide event - $(this).trigger('notify-hide'); - }); - $(document).on('click', '.notifyjs-metro-base .yes', function() { - //show button text - alert($(this).text() + " clicked!"); - //hide notification - $(this).trigger('notify-hide'); - }); -}) \ No newline at end of file diff --git a/public/assets/admin/js/pages/other-charts.js b/public/assets/admin/js/pages/other-charts.js deleted file mode 100644 index 6a986d2bd..000000000 --- a/public/assets/admin/js/pages/other-charts.js +++ /dev/null @@ -1,25 +0,0 @@ -var initCharts = function() { - var charts = $('.percentage'); - charts.easyPieChart({ - animate: 1000, - lineWidth: 5, - barColor: "#eb5055", - lineCap: "butt", - size: "150", - scaleColor: "transparent", - onStep: function(from, to, percent) { - $(this.el).find('.cpercent').text(Math.round(percent)); - } - }); - $('.updatePieCharts').on('click', function(e) { - e.preventDefault(); - charts.each(function() { - $(this).data('easyPieChart').update(Math.floor(100*Math.random())); - }); - }); -} - -$(function(){ - $(".knob").knob(); - initCharts(); -}) \ No newline at end of file diff --git a/public/assets/admin/js/pages/rickshaw-charts.js b/public/assets/admin/js/pages/rickshaw-charts.js deleted file mode 100644 index 117cbb4bd..000000000 --- a/public/assets/admin/js/pages/rickshaw-charts.js +++ /dev/null @@ -1,131 +0,0 @@ -$(function(){ - // Initiate graphs right after interface loaded - rungraphs(); - -}); - -function rungraphs(){ - var graph = new Rickshaw.Graph( { - element: document.querySelector("#chart-2"), - width: $("#chart-2").parent().width(), - height: 235, - renderer: 'area', - stroke: true, - series: [ { - data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 20 }, { x: 4, y: 16 } ], - color: 'rgba(70,130,180,0.5)', - stroke: 'rgba(0,0,0,0.15)' - }, { - data: [ { x: 0, y: 22 }, { x: 1, y: 25 }, { x: 2, y: 38 }, { x: 3, y: 44 }, { x: 4, y: 46 } ], - color: 'rgba(202,226,247,0.5)', - stroke: 'rgba(0,0,0,0.15)' - } ] - } ); - - graph.renderer.unstack = true; - graph.render(); - - var graph = new Rickshaw.Graph({ - element: document.querySelector("#chart-1"), - width: $("#chart-1").parent().width(), - height: 235, - renderer: 'line', - series: [{ - data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 30 }, { x: 4, y: 32 } ], - color: '#4682b4' - }, { - data: [ { x: 0, y: 20 }, { x: 1, y: 24 }, { x: 2, y: 19 }, { x: 3, y: 15 }, { x: 4, y: 16 } ], - color: '#9cc1e0' - }] - }); - graph.render(); - - var graph = new Rickshaw.Graph( { - element: document.querySelector("#chart-3"), - height: 235, - renderer: 'bar', - stack: false, - series: [ - { - data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 30 }, { x: 4, y: 32 } ], - color: '#4682b4' - }, { - data: [ { x: 0, y: 20 }, { x: 1, y: 24 }, { x: 2, y: 19 }, { x: 3, y: 15 }, { x: 4, y: 16 } ], - color: '#9cc1e0' - - } ] - } ); - - graph.render(); - - var graph = new Rickshaw.Graph( { - element: document.querySelector("#chart-4"), - renderer: 'bar', - height: 235, - stack: true, - series: [ - { - data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 30 }, { x: 4, y: 32 } ], - color: '#4682b4' - }, { - data: [ { x: 0, y: 20 }, { x: 1, y: 24 }, { x: 2, y: 19 }, { x: 3, y: 15 }, { x: 4, y: 16 } ], - color: '#9cc1e0' - - } ] -} ); - -graph.render(); -// set up our data series with 50 random data points - -var seriesData = [ [], [], [] ]; -var random = new Rickshaw.Fixtures.RandomData(150); - -for (var i = 0; i < 150; i++) { - random.addData(seriesData); -} - -// instantiate our graph! - -var graph = new Rickshaw.Graph( { - element: document.getElementById("chart-5"), - height: 500, - renderer: 'line', - series: [ - { - color: "#6FB07F", - data: seriesData[0], - name: 'New York' - }, { - color: "#FCB03C", - data: seriesData[1], - name: 'London' - }, { - color: "#FC5B3F", - data: seriesData[2], - name: 'Tokyo' - } - ] -} ); - -graph.render(); - -var hoverDetail = new Rickshaw.Graph.HoverDetail( { - graph: graph -} ); - -var legend = new Rickshaw.Graph.Legend( { - graph: graph, - element: document.getElementById('legend') - -} ); - -var shelving = new Rickshaw.Graph.Behavior.Series.Toggle( { - graph: graph, - legend: legend -} ); - -var axes = new Rickshaw.Graph.Axis.Time( { - graph: graph -} ); -axes.render(); -} \ No newline at end of file diff --git a/public/assets/admin/js/pages/sparkline-charts.js b/public/assets/admin/js/pages/sparkline-charts.js deleted file mode 100644 index 334731114..000000000 --- a/public/assets/admin/js/pages/sparkline-charts.js +++ /dev/null @@ -1,76 +0,0 @@ -$(function(){ - // Bar + line composite charts - $('#compositebar').sparkline('html', { type: 'bar', barColor: '#aaf' }); - $('#compositebar').sparkline([4,1,5,7,9,9,8,7,6,6,4,7,8,4,3,2,2,5,6,7], - { composite: true, fillColor: false, lineColor: 'red' }); - - // Larger line charts for the docs - $('.largeline').sparkline('html', - { type: 'line', height: '2.5em', width: '4em' }); - - // Customized line chart - $('#linecustom').sparkline('html', - {height: '1.5em', width: '8em', lineColor: '#f00', fillColor: '#ffa', - minSpotColor: false, maxSpotColor: false, spotColor: '#77f', spotRadius: 3}); - - // Bar charts using inline values - $('.sparkbar').sparkline('html', {type: 'bar'}); - - $('.barformat').sparkline([1, 3, 5, 3, 8], { - type: 'bar', - tooltipFormat: '{{value:levels}} - {{value}}', - tooltipValueLookups: { - levels: $.range_map({ ':2': 'Low', '3:6': 'Medium', '7:': 'High' }) - } - }); - - // Tri-state charts using inline values - $('.sparktristate').sparkline('html', {type: 'tristate'}); - $('.sparktristatecols').sparkline('html', - {type: 'tristate', colorMap: {'-2': '#fa7', '2': '#44f'} }); - - // Composite line charts, the second using values supplied via javascript - $('#compositeline').sparkline('html', { fillColor: false, changeRangeMin: 0, chartRangeMax: 10 }); - $('#compositeline').sparkline([4,1,5,7,9,9,8,7,6,6,4,7,8,4,3,2,2,5,6,7], - { composite: true, fillColor: false, lineColor: 'red', changeRangeMin: 0, chartRangeMax: 10 }); - - // Line charts with normal range marker - $('#normalline').sparkline('html', - { fillColor: false, normalRangeMin: -1, normalRangeMax: 8 }); - $('#normalExample').sparkline('html', - { fillColor: false, normalRangeMin: 80, normalRangeMax: 95, normalRangeColor: '#4f4' }); - - // Discrete charts - $('.discrete1').sparkline('html', - { type: 'discrete', lineColor: 'blue', xwidth: 18 }); - $('#discrete2').sparkline('html', - { type: 'discrete', lineColor: 'blue', thresholdColor: 'red', thresholdValue: 4 }); - - // Bullet charts - $('.sparkbullet').sparkline('html', { type: 'bullet' }); - - // Pie charts - $('.sparkpie').sparkline('html', { type: 'pie', height: '1.0em' }); - - // Box plots - $('.sparkboxplot').sparkline('html', { type: 'box'}); - $('.sparkboxplotraw').sparkline([ 1, 3, 5, 8, 10, 15, 18 ], - {type:'box', raw: true, showOutliers:true, target: 6}); - - // Box plot with specific field order - $('.boxfieldorder').sparkline('html', { - type: 'box', - tooltipFormatFieldlist: ['med', 'lq', 'uq'], - tooltipFormatFieldlistKey: 'field' - }); - - // click event demo sparkline - $('.clickdemo').sparkline(); - $('.clickdemo').bind('sparklineClick', function(ev) { - var sparkline = ev.sparklines[0], - region = sparkline.getCurrentRegionFields(); - value = region.y; - alert("Clicked on x="+region.x+" y="+region.y); - }); - -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/tabs-accordions.js b/public/assets/admin/js/pages/tabs-accordions.js deleted file mode 100644 index 9d89af4c0..000000000 --- a/public/assets/admin/js/pages/tabs-accordions.js +++ /dev/null @@ -1,3 +0,0 @@ -$(document).ready(function(){ - -}); \ No newline at end of file diff --git a/public/assets/admin/js/pages/vector-maps.js b/public/assets/admin/js/pages/vector-maps.js deleted file mode 100644 index 08f4c777b..000000000 --- a/public/assets/admin/js/pages/vector-maps.js +++ /dev/null @@ -1,32 +0,0 @@ -$(function(){ - $('#vmap-1').vectorMap({map: 'world_mill_en',backgroundColor: 'transparent', - regionStyle: { - initial: { - fill: '#8d8d8d' - } - }}); - $('#vmap-3').vectorMap({map: 'europe_mill_en',backgroundColor: 'transparent', - regionStyle: { - initial: { - fill: '#8d8d8d' - } - }}); - $('#vmap-4').vectorMap({map: 'us_aea_en',backgroundColor: 'transparent', - regionStyle: { - initial: { - fill: '#8d8d8d' - } - }}); - $('#vmap-5').vectorMap({map: 'uk_mill_en',backgroundColor: 'transparent', - regionStyle: { - initial: { - fill: '#8d8d8d' - } - }}); - $('#vmap-6').vectorMap({map: 'us-il-chicago_mill_en',backgroundColor: 'transparent', - regionStyle: { - initial: { - fill: '#8d8d8d' - } - }}); -}); \ No newline at end of file diff --git a/public/assets/admin/libs/animate-css/animate.min.css b/public/assets/admin/libs/animate-css/animate.min.css deleted file mode 100644 index a2aa5ffe7..000000000 --- a/public/assets/admin/libs/animate-css/animate.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);-ms-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);-ms-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);-ms-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);-ms-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9)rotate(-3deg);transform:scale(.9)rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1)rotate(3deg);transform:scale(1.1)rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1)rotate(-3deg);transform:scale(1.1)rotate(-3deg)}100%{-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9)rotate(-3deg);-ms-transform:scale(.9)rotate(-3deg);transform:scale(.9)rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1)rotate(3deg);-ms-transform:scale(1.1)rotate(3deg);transform:scale(1.1)rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1)rotate(-3deg);-ms-transform:scale(1.1)rotate(-3deg);transform:scale(1.1)rotate(-3deg)}100%{-webkit-transform:scale(1)rotate(0);-ms-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%)rotate(-5deg);transform:translateX(-25%)rotate(-5deg)}30%{-webkit-transform:translateX(20%)rotate(3deg);transform:translateX(20%)rotate(3deg)}45%{-webkit-transform:translateX(-15%)rotate(-3deg);transform:translateX(-15%)rotate(-3deg)}60%{-webkit-transform:translateX(10%)rotate(2deg);transform:translateX(10%)rotate(2deg)}75%{-webkit-transform:translateX(-5%)rotate(-1deg);transform:translateX(-5%)rotate(-1deg)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes wobble{0%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%)rotate(-5deg);-ms-transform:translateX(-25%)rotate(-5deg);transform:translateX(-25%)rotate(-5deg)}30%{-webkit-transform:translateX(20%)rotate(3deg);-ms-transform:translateX(20%)rotate(3deg);transform:translateX(20%)rotate(3deg)}45%{-webkit-transform:translateX(-15%)rotate(-3deg);-ms-transform:translateX(-15%)rotate(-3deg);transform:translateX(-15%)rotate(-3deg)}60%{-webkit-transform:translateX(10%)rotate(2deg);-ms-transform:translateX(10%)rotate(2deg);transform:translateX(10%)rotate(2deg)}75%{-webkit-transform:translateX(-5%)rotate(-1deg);-ms-transform:translateX(-5%)rotate(-1deg);transform:translateX(-5%)rotate(-1deg)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}}@keyframes bounceOut{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes bounceOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes bounceOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px)translateZ(0)rotateY(0)scale(1);transform:perspective(400px)translateZ(0)rotateY(0)scale(1)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1)}50%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95)}80%,100%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1)}}@keyframes flip{0%{-webkit-transform:perspective(400px)translateZ(0)rotateY(0)scale(1);-ms-transform:perspective(400px)translateZ(0)rotateY(0)scale(1);transform:perspective(400px)translateZ(0)rotateY(0)scale(1)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1);-ms-transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1)}50%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);-ms-transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95);-ms-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95)}80%,100%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1);-ms-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1)}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateX(-10deg);transform:perspective(400px)rotateX(-10deg)}70%{-webkit-transform:perspective(400px)rotateX(10deg);transform:perspective(400px)rotateX(10deg)}100%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}}@keyframes flipInX{0%{-webkit-transform:perspective(400px)rotateX(90deg);-ms-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateX(-10deg);-ms-transform:perspective(400px)rotateX(-10deg);transform:perspective(400px)rotateX(-10deg)}70%{-webkit-transform:perspective(400px)rotateX(10deg);-ms-transform:perspective(400px)rotateX(10deg);transform:perspective(400px)rotateX(10deg)}100%{-webkit-transform:perspective(400px)rotateX(0);-ms-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateY(-10deg);transform:perspective(400px)rotateY(-10deg)}70%{-webkit-transform:perspective(400px)rotateY(10deg);transform:perspective(400px)rotateY(10deg)}100%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}}@keyframes flipInY{0%{-webkit-transform:perspective(400px)rotateY(90deg);-ms-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateY(-10deg);-ms-transform:perspective(400px)rotateY(-10deg);transform:perspective(400px)rotateY(-10deg)}70%{-webkit-transform:perspective(400px)rotateY(10deg);-ms-transform:perspective(400px)rotateY(10deg);transform:perspective(400px)rotateY(10deg)}100%{-webkit-transform:perspective(400px)rotateY(0);-ms-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px)rotateX(0);-ms-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateX(90deg);-ms-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px)rotateY(0);-ms-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateY(90deg);-ms-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%)skewX(30deg);transform:translateX(-20%)skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%)skewX(-15deg);transform:translateX(0%)skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%)skewX(-30deg);-ms-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%)skewX(30deg);-ms-transform:translateX(-20%)skewX(30deg);transform:translateX(-20%)skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%)skewX(-15deg);-ms-transform:translateX(0%)skewX(-15deg);transform:translateX(0%)skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%)skewX(0);-ms-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}100%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%)skewX(0);-ms-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}100%{-webkit-transform:translateX(100%)skewX(-30deg);-ms-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,100%{-webkit-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-ms-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(200deg);-ms-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);transform:rotate(0)}0%,20%,60%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg)}40%{-webkit-transform:rotate(60deg);transform:rotate(60deg)}40%,80%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg)translateY(0);transform:rotate(60deg)translateY(0);opacity:1}100%{-webkit-transform:translateY(700px);transform:translateY(700px);opacity:0}}@keyframes hinge{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}0%,20%,60%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-ms-transform:rotate(80deg);transform:rotate(80deg)}40%{-webkit-transform:rotate(60deg);-ms-transform:rotate(60deg);transform:rotate(60deg)}40%,80%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg)translateY(0);-ms-transform:rotate(60deg)translateY(0);transform:rotate(60deg)translateY(0);opacity:1}100%{-webkit-transform:translateY(700px);-ms-transform:translateY(700px);transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);-ms-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);-ms-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}}@keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);-ms-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);-ms-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut} \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-bootbox/bootbox.min.js b/public/assets/admin/libs/bootstrap-bootbox/bootbox.min.js deleted file mode 100644 index 737d9e9f7..000000000 --- a/public/assets/admin/libs/bootstrap-bootbox/bootbox.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * bootbox.js v4.2.0 - * - * http://bootboxjs.com/license.txt - */ -!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d(a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),a.backdrop=a.backdrop?"static":!1,c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"",header:"",footer:"",closeButton:"",form:"
    ",inputs:{text:"",textarea:"",email:"",select:"",checkbox:"
    ",date:"",time:"",number:"",password:""}},o={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback():!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback(!1)},a.buttons.confirm.callback=function(){return a.callback(!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show;var o=["date","time","number"],q=document.createElement("input");if(q.setAttribute("type",a.inputType),o[a.inputType]&&(a.inputType=q.type),a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback(null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback(c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var r={};if(k=a.inputOptions||[],!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(r[d.group]||(r[d.group]=b("").attr("label",d.group)),e=r[d.group]),e.append("")}),g(r,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var s=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("
    "),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(s,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),f.append(h),f.on("submit",function(a){a.preventDefault(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var c=b(n.dialog),d=c.find(".modal-body"),f=a.buttons,i="",j={onEscape:a.onEscape};if(g(f,function(a,b){i+="",j[a]=b.callback}),d.find(".bootbox-body").html(a.message),a.animate===!0&&c.addClass("fade"),a.className&&c.addClass(a.className),a.title&&d.before(n.header),a.closeButton){var k=b(n.closeButton);a.title?c.find(".modal-header").prepend(k):k.css("margin-top","-10px").prependTo(d)}return a.title&&c.find(".modal-title").html(a.title),i.length&&(d.after(n.footer),c.find(".modal-footer").html(i)),c.on("hidden.bs.modal",function(a){a.target===this&&c.remove()}),c.on("shown.bs.modal",function(){c.find(".btn-primary:first").focus()}),c.on("escape.close.bb",function(a){j.onEscape&&e(a,c,j.onEscape)}),c.on("click",".modal-footer button",function(a){var d=b(this).data("bb-handler");e(a,c,j[d])}),c.on("click",".bootbox-close-button",function(a){e(a,c,j.onEscape)}),c.on("keyup",function(a){27===a.which&&c.trigger("escape.close.bb")}),b(a.container).append(c),c.modal({backdrop:a.backdrop,keyboard:!1,show:!1}),a.show&&c.modal("show"),c},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){b(".bootbox").modal("hide")};var q={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return p.init=function(c){return a(c||b)},p}); \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-calendar/css/bic_calendar.css b/public/assets/admin/libs/bootstrap-calendar/css/bic_calendar.css deleted file mode 100644 index 6037f7b48..000000000 --- a/public/assets/admin/libs/bootstrap-calendar/css/bic_calendar.css +++ /dev/null @@ -1,86 +0,0 @@ -.bic_calendar{ -} -.bic_calendar a{ - text-decoration: none; - color: #333; - display: block; - cursor: pointer; -} -.bic_calendar .table tbody > tr > td{ - text-align: center; - padding: 0px; -} -.bic_calendar td a{ - -} -.bic_calendar .header{ - padding: 10px 0 10px 0; -} -.bic_calendar .button-month-previous{ - padding: 5px; - float: left; -} -.bic_calendar .button-month-next{ - padding: 5px; - float: right; -} -.bic_calendar .button-year-previous{ - padding: 5px; - float: left; -} -.bic_calendar .button-year-next{ - padding: 5px; - float: right; -} -.bic_calendar .monthAndYear{ - text-align: center; - font-weight: 600; -} -.bic_calendar .days-month{ - font-weight: 600; -} -.bic_calendar .event{ - color: white; - background: #3B5A97; - font-weight: bold; -} - -.bic_calendar .event:hover > a{ - background: #3B5A97; - text-shadow: 0 0 4px #fff; -} -.bic_calendar .event a{ - color: white; -} -.bic_calendar .day:hover{ - background: rgba(0,0,0,0.04) -} -.bic_calendar .table{ - margin-bottom: 3px; -} -.bic_calendar .days-month td{ - background: #f0f0f0 ; -} -.bic_calendar .selection{ - background: rgba(141,200,230,0.5); -} -.bic_calendar .first-selection{ - border-radius: 6px 0 0 6px; - border-right: 0; -} -.bic_calendar .last-selection{ - border-radius: 0 6px 6px 0; - border-left: 0; -} -.bic_calendar .middle-selection{ - border-left: 0; - border-right: 0; - border-radius: 0; -} -.bic_calendar .popover{ - color: #000; - text-shadow: none; -} -.bic_calendar .popover-content{ - font-weight: 300; -} \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-calendar/js/bic_calendar.min.js b/public/assets/admin/libs/bootstrap-calendar/js/bic_calendar.min.js deleted file mode 100644 index 3d1dcfe1d..000000000 --- a/public/assets/admin/libs/bootstrap-calendar/js/bic_calendar.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Bic Calendar - v3.1.2 - * A simple twitter bootstrap calendar / agenda to mark events and select range of dates. - * http://bichotll.github.io/bic_calendar - * - * Made by bichotll - * Under Apache License - */ -$.fn.bic_calendar=function(a){var b=$.extend({},$.fn.bic_calendar.defaults,a);return this.each(function(){function a(){n=$(''),d();var a=new Date,b=a.getMonth(),f=a.getFullYear();e(b,f);var g=$('');g.click(function(a){a.preventDefault(),b=(b+1)%12,0==b&&f++,c(b,f)});var h=$('');h.click(function(a){a.preventDefault(),b-=1,-1==b&&(f--,b=11),c(b,f)});var j=$('');j.click(function(a){a.preventDefault(),f++,c(b,f)});var l=$('');l.click(function(a){a.preventDefault(),f--,c(b,f)});var o=$('
    ');if(C===!0){var t=$(""),u=$('');t.append(l),t.append(u),t.append(j),u.append(r),o.append(t)}if(B===!0){var v=$(""),w=$('');v.append(h),v.append(w),v.append(g),w.append(q),o.append(v)}m=$('
    '),m.prepend(o),m.append(n),p.append(m),i(b,f),k()}function c(a,b){n.empty(),d(),e(a,b),i(a,b),l()}function d(){if(0!=v){var a=$(''),b="";$(o).each(function(a,c){b+=""}),b+="",a.append(b),n.append(a)}}function e(a,b){q.text(u[a]),r.text(b);for(var c=1,d=f(1,a,b),e=h(a,b),g=a+1,i="",j=0;7>j;j++){if(d>j){var k="";0==j&&(k+=""),k+='"),k+='
    ",6==j&&(k+=""),c++}i+=k}for(var l=1;e>=c;){var k="";l%7==1&&(k+=""),k+='
    ",l%7==0&&(k+=""),c++,l++,i+=k}if(l--,l%7!=0){k="";for(var j=l%7+1;7>=j;j++){var k="";k+=""),i+=k}}n.append(i)}function f(a,b,c){var d=new Date(c,b,a),e=d.getDay();return e+=D,0==e?e=6:e--,e}function g(a,b,c){return a>0&&13>a&&c>0&&32768>c&&b>0&&b<=new Date(c,a,0).getDate()}function h(a,b){for(var c=28;g(a+1,c+1,b);)c++;return c}function i(a,b){0!=y?$.ajax({type:y.type,url:y.url,data:{mes:a+1,ano:b},dataType:"json"}).done(function(c){"undefined"==typeof t&&(t=[]),$.each(c,function(a){t.push(c[a])}),j(a,b)}):j(a,b)}function j(a,b){for(var c=a+1,d=0;dc){var d=b;b=c,c=d}for($("#bic_calendar_"+b.getDate()+"_"+(parseInt(b.getMonth())+1)+"_"+b.getFullYear()+" div").addClass("selection first-selection");c>b;)b.setDate(b.getDate()+1),$("#bic_calendar_"+b.getDate()+"_"+(parseInt(b.getMonth())+1)+"_"+b.getFullYear()+" div").addClass("selection middle-selection");$("#bic_calendar_"+b.getDate()+"_"+(parseInt(b.getMonth())+1)+"_"+b.getFullYear()+" div").removeClass("middle-selection").addClass("selection last-selection")}}var m,n,o,p=$(this),q=$('
    '),r=$('
    '),s="bic_calendar",t=b.events;o="undefined"!=typeof b.dayNames?b.dayNames:["l","m","x","j","v","s","d"];var u;u="undefined"!=typeof b.monthNames?b.monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];var v;v="undefined"!=typeof b.showDays?b.showDays:!0;var w;w="undefined"!=typeof b.popoverOptions?b.popoverOptions:{placement:"bottom",html:!0,trigger:"hover"};var x;x="undefined"!=typeof b.tooltipOptions?b.tooltipOptions:{placement:"bottom",trigger:"hover"};var y;y="undefined"!=typeof b.reqAjax?b.reqAjax:!1;var z=!1;"undefined"!=typeof b.enableSelect&&(z=b.enableSelect);var A=!1;"undefined"!=typeof b.multiSelect&&(A=b.multiSelect);var B=!0;"undefined"!=typeof b.displayMonthController&&(B=b.displayMonthController);var C=!0;"undefined"!=typeof b.displayYearController&&(C=b.displayYearController);var D=0;"undefined"!=typeof b.startWeekDay&&(D=b.startWeekDay);var E="",F="",G="";a()}),this}; \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-datepicker/css/datepicker.css b/public/assets/admin/libs/bootstrap-datepicker/css/datepicker.css deleted file mode 100644 index b7065b7d5..000000000 --- a/public/assets/admin/libs/bootstrap-datepicker/css/datepicker.css +++ /dev/null @@ -1,182 +0,0 @@ -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.datepicker { - top: 0; - left: 0; - padding: 4px; - margin-top: 1px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - /*.dow { - border-top: 1px solid #ddd !important; - }*/ - -} -.datepicker:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; - top: -7px; - left: 6px; -} -.datepicker:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; - top: -6px; - left: 7px; -} -.datepicker > div { - display: none; -} -.datepicker table { - width: 100%; - margin: 0; -} -.datepicker td, -.datepicker th { - text-align: center; - width: 20px; - height: 20px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.datepicker td.day:hover { - background: #eeeeee; - cursor: pointer; -} -.datepicker td.day.disabled { - color: #eeeeee; -} -.datepicker td.old, -.datepicker td.new { - color: #999999; -} -.datepicker td.active, -.datepicker td.active:hover { - color: #ffffff; - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #0044cc; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker td.active:hover, -.datepicker td.active:hover:hover, -.datepicker td.active:focus, -.datepicker td.active:hover:focus, -.datepicker td.active:active, -.datepicker td.active:hover:active, -.datepicker td.active.active, -.datepicker td.active:hover.active, -.datepicker td.active.disabled, -.datepicker td.active:hover.disabled, -.datepicker td.active[disabled], -.datepicker td.active:hover[disabled] { - color: #ffffff; - background-color: #0044cc; - *background-color: #003bb3; -} -.datepicker td.active:active, -.datepicker td.active:hover:active, -.datepicker td.active.active, -.datepicker td.active:hover.active { - background-color: #003399 \9; -} -.datepicker td span { - display: block; - width: 47px; - height: 54px; - line-height: 54px; - float: left; - margin: 2px; - cursor: pointer; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.datepicker td span:hover { - background: #eeeeee; -} -.datepicker td span.active { - color: #ffffff; - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #0044cc; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker td span.active:hover, -.datepicker td span.active:focus, -.datepicker td span.active:active, -.datepicker td span.active.active, -.datepicker td span.active.disabled, -.datepicker td span.active[disabled] { - color: #ffffff; - background-color: #0044cc; - *background-color: #003bb3; -} -.datepicker td span.active:active, -.datepicker td span.active.active { - background-color: #003399 \9; -} -.datepicker td span.old { - color: #999999; -} -.datepicker th.switch { - width: 145px; -} -.datepicker th.next, -.datepicker th.prev { - font-size: 21px; -} -.datepicker thead tr:first-child th { - cursor: pointer; -} -.datepicker thead tr:first-child th:hover { - background: #eeeeee; -} -.input-append.date .add-on i, -.input-prepend.date .add-on i { - display: block; - cursor: pointer; - width: 16px; - height: 16px; -} \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-datepicker/js/bootstrap-datepicker.js b/public/assets/admin/libs/bootstrap-datepicker/js/bootstrap-datepicker.js deleted file mode 100644 index bf3a56df0..000000000 --- a/public/assets/admin/libs/bootstrap-datepicker/js/bootstrap-datepicker.js +++ /dev/null @@ -1,474 +0,0 @@ -/* ========================================================= - * bootstrap-datepicker.js - * http://www.eyecon.ro/bootstrap-datepicker - * ========================================================= - * Copyright 2012 Stefan Petre - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -!function( $ ) { - - // Picker object - - var Datepicker = function(element, options){ - this.element = $(element); - this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy'); - this.picker = $(DPGlobal.template) - .appendTo('body') - .on({ - click: $.proxy(this.click, this)//, - //mousedown: $.proxy(this.mousedown, this) - }); - this.isInput = this.element.is('input'); - this.component = this.element.is('.date') ? this.element.find('.add-on') : false; - - if (this.isInput) { - this.element.on({ - focus: $.proxy(this.show, this), - //blur: $.proxy(this.hide, this), - keyup: $.proxy(this.update, this) - }); - } else { - if (this.component){ - this.component.on('click', $.proxy(this.show, this)); - } else { - this.element.on('click', $.proxy(this.show, this)); - } - } - - this.minViewMode = options.minViewMode||this.element.data('date-minviewmode')||0; - if (typeof this.minViewMode === 'string') { - switch (this.minViewMode) { - case 'months': - this.minViewMode = 1; - break; - case 'years': - this.minViewMode = 2; - break; - default: - this.minViewMode = 0; - break; - } - } - this.viewMode = options.viewMode||this.element.data('date-viewmode')||0; - if (typeof this.viewMode === 'string') { - switch (this.viewMode) { - case 'months': - this.viewMode = 1; - break; - case 'years': - this.viewMode = 2; - break; - default: - this.viewMode = 0; - break; - } - } - this.startViewMode = this.viewMode; - this.weekStart = options.weekStart||this.element.data('date-weekstart')||0; - this.weekEnd = this.weekStart === 0 ? 6 : this.weekStart - 1; - this.onRender = options.onRender; - this.fillDow(); - this.fillMonths(); - this.update(); - this.showMode(); - }; - - Datepicker.prototype = { - constructor: Datepicker, - - show: function(e) { - this.picker.show(); - this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); - this.place(); - $(window).on('resize', $.proxy(this.place, this)); - if (e ) { - e.stopPropagation(); - e.preventDefault(); - } - if (!this.isInput) { - } - var that = this; - $(document).on('mousedown', function(ev){ - if ($(ev.target).closest('.datepicker').length == 0) { - that.hide(); - } - }); - this.element.trigger({ - type: 'show', - date: this.date - }); - }, - - hide: function(){ - this.picker.hide(); - $(window).off('resize', this.place); - this.viewMode = this.startViewMode; - this.showMode(); - if (!this.isInput) { - $(document).off('mousedown', this.hide); - } - //this.set(); - this.element.trigger({ - type: 'hide', - date: this.date - }); - }, - - set: function() { - var formated = DPGlobal.formatDate(this.date, this.format); - if (!this.isInput) { - if (this.component){ - this.element.find('input').prop('value', formated); - } - this.element.data('date', formated); - } else { - this.element.prop('value', formated); - } - }, - - setValue: function(newDate) { - if (typeof newDate === 'string') { - this.date = DPGlobal.parseDate(newDate, this.format); - } else { - this.date = new Date(newDate); - } - this.set(); - this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); - this.fill(); - }, - - place: function(){ - var offset = this.component ? this.component.offset() : this.element.offset(); - this.picker.css({ - top: offset.top + this.height, - left: offset.left - }); - }, - - update: function(newDate){ - this.date = DPGlobal.parseDate( - typeof newDate === 'string' ? newDate : (this.isInput ? this.element.prop('value') : this.element.data('date')), - this.format - ); - this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); - this.fill(); - }, - - fillDow: function(){ - var dowCnt = this.weekStart; - var html = ''; - while (dowCnt < this.weekStart + 7) { - html += ''+DPGlobal.dates.daysMin[(dowCnt++)%7]+''; - } - html += ''; - this.picker.find('.datepicker-days thead').append(html); - }, - - fillMonths: function(){ - var html = ''; - var i = 0 - while (i < 12) { - html += ''+DPGlobal.dates.monthsShort[i++]+''; - } - this.picker.find('.datepicker-months td').append(html); - }, - - fill: function() { - var d = new Date(this.viewDate), - year = d.getFullYear(), - month = d.getMonth(), - currentDate = this.date.valueOf(); - this.picker.find('.datepicker-days th:eq(1)') - .text(DPGlobal.dates.months[month]+' '+year); - var prevMonth = new Date(year, month-1, 28,0,0,0,0), - day = DPGlobal.getDaysInMonth(prevMonth.getFullYear(), prevMonth.getMonth()); - prevMonth.setDate(day); - prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7)%7); - var nextMonth = new Date(prevMonth); - nextMonth.setDate(nextMonth.getDate() + 42); - nextMonth = nextMonth.valueOf(); - var html = []; - var clsName, - prevY, - prevM; - while(prevMonth.valueOf() < nextMonth) { - if (prevMonth.getDay() === this.weekStart) { - html.push(''); - } - clsName = this.onRender(prevMonth); - prevY = prevMonth.getFullYear(); - prevM = prevMonth.getMonth(); - if ((prevM < month && prevY === year) || prevY < year) { - clsName += ' old'; - } else if ((prevM > month && prevY === year) || prevY > year) { - clsName += ' new'; - } - if (prevMonth.valueOf() === currentDate) { - clsName += ' active'; - } - html.push(''+prevMonth.getDate() + ''); - if (prevMonth.getDay() === this.weekEnd) { - html.push(''); - } - prevMonth.setDate(prevMonth.getDate()+1); - } - this.picker.find('.datepicker-days tbody').empty().append(html.join('')); - var currentYear = this.date.getFullYear(); - - var months = this.picker.find('.datepicker-months') - .find('th:eq(1)') - .text(year) - .end() - .find('span').removeClass('active'); - if (currentYear === year) { - months.eq(this.date.getMonth()).addClass('active'); - } - - html = ''; - year = parseInt(year/10, 10) * 10; - var yearCont = this.picker.find('.datepicker-years') - .find('th:eq(1)') - .text(year + '-' + (year + 9)) - .end() - .find('td'); - year -= 1; - for (var i = -1; i < 11; i++) { - html += ''+year+''; - year += 1; - } - yearCont.html(html); - }, - - click: function(e) { - e.stopPropagation(); - e.preventDefault(); - var target = $(e.target).closest('span, td, th'); - if (target.length === 1) { - switch(target[0].nodeName.toLowerCase()) { - case 'th': - switch(target[0].className) { - case 'switch': - this.showMode(1); - break; - case 'prev': - case 'next': - this.viewDate['set'+DPGlobal.modes[this.viewMode].navFnc].call( - this.viewDate, - this.viewDate['get'+DPGlobal.modes[this.viewMode].navFnc].call(this.viewDate) + - DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1) - ); - this.fill(); - this.set(); - break; - } - break; - case 'span': - if (target.is('.month')) { - var month = target.parent().find('span').index(target); - this.viewDate.setMonth(month); - } else { - var year = parseInt(target.text(), 10)||0; - this.viewDate.setFullYear(year); - } - if (this.viewMode !== 0) { - this.date = new Date(this.viewDate); - this.element.trigger({ - type: 'changeDate', - date: this.date, - viewMode: DPGlobal.modes[this.viewMode].clsName - }); - } - this.showMode(-1); - this.fill(); - this.set(); - break; - case 'td': - if (target.is('.day') && !target.is('.disabled')){ - var day = parseInt(target.text(), 10)||1; - var month = this.viewDate.getMonth(); - if (target.is('.old')) { - month -= 1; - } else if (target.is('.new')) { - month += 1; - } - var year = this.viewDate.getFullYear(); - this.date = new Date(year, month, day,0,0,0,0); - this.viewDate = new Date(year, month, Math.min(28, day),0,0,0,0); - this.fill(); - this.set(); - this.element.trigger({ - type: 'changeDate', - date: this.date, - viewMode: DPGlobal.modes[this.viewMode].clsName - }); - } - break; - } - } - }, - - mousedown: function(e){ - e.stopPropagation(); - e.preventDefault(); - }, - - showMode: function(dir) { - if (dir) { - this.viewMode = Math.max(this.minViewMode, Math.min(2, this.viewMode + dir)); - } - this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); - } - }; - - $.fn.datepicker = function ( option, val ) { - return this.each(function () { - var $this = $(this), - data = $this.data('datepicker'), - options = typeof option === 'object' && option; - if (!data) { - $this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults,options)))); - } - if (typeof option === 'string') data[option](val); - }); - }; - - $.fn.datepicker.defaults = { - onRender: function(date) { - return ''; - } - }; - $.fn.datepicker.Constructor = Datepicker; - - var DPGlobal = { - modes: [ - { - clsName: 'days', - navFnc: 'Month', - navStep: 1 - }, - { - clsName: 'months', - navFnc: 'FullYear', - navStep: 1 - }, - { - clsName: 'years', - navFnc: 'FullYear', - navStep: 10 - }], - dates:{ - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - }, - isLeapYear: function (year) { - return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) - }, - getDaysInMonth: function (year, month) { - return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] - }, - parseFormat: function(format){ - var separator = format.match(/[.\/\-\s].*?/), - parts = format.split(/\W+/); - if (!separator || !parts || parts.length === 0){ - throw new Error("Invalid date format."); - } - return {separator: separator, parts: parts}; - }, - parseDate: function(date, format) { - var parts = date.split(format.separator), - date = new Date(), - val; - date.setHours(0); - date.setMinutes(0); - date.setSeconds(0); - date.setMilliseconds(0); - if (parts.length === format.parts.length) { - var year = date.getFullYear(), day = date.getDate(), month = date.getMonth(); - for (var i=0, cnt = format.parts.length; i < cnt; i++) { - val = parseInt(parts[i], 10)||1; - switch(format.parts[i]) { - case 'dd': - case 'd': - day = val; - date.setDate(val); - break; - case 'mm': - case 'm': - month = val - 1; - date.setMonth(val - 1); - break; - case 'yy': - year = 2000 + val; - date.setFullYear(2000 + val); - break; - case 'yyyy': - year = val; - date.setFullYear(val); - break; - } - } - date = new Date(year, month, day, 0 ,0 ,0); - } - return date; - }, - formatDate: function(date, format){ - var val = { - d: date.getDate(), - m: date.getMonth() + 1, - yy: date.getFullYear().toString().substring(2), - yyyy: date.getFullYear() - }; - val.dd = (val.d < 10 ? '0' : '') + val.d; - val.mm = (val.m < 10 ? '0' : '') + val.m; - var date = []; - for (var i=0, cnt = format.parts.length; i < cnt; i++) { - date.push(val[format.parts[i]]); - } - return date.join(format.separator); - }, - headTemplate: ''+ - ''+ - '‹'+ - ''+ - '›'+ - ''+ - '', - contTemplate: '' - }; - DPGlobal.template = ''; - -}( window.jQuery ); \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-fileinput/bootstrap.file-input.js b/public/assets/admin/libs/bootstrap-fileinput/bootstrap.file-input.js deleted file mode 100644 index 17a3b2754..000000000 --- a/public/assets/admin/libs/bootstrap-fileinput/bootstrap.file-input.js +++ /dev/null @@ -1,122 +0,0 @@ -/* - Bootstrap - File Input - ====================== - - This is meant to convert all file input tags into a set of elements that displays consistently in all browsers. - - Converts all - - into Bootstrap buttons - Browse - -*/ -$(function() { - -$.fn.bootstrapFileInput = function() { - - this.each(function(i,elem){ - - var $elem = $(elem); - - // Maybe some fields don't need to be standardized. - if (typeof $elem.attr('data-bfi-disabled') != 'undefined') { - return; - } - - // Set the word to be displayed on the button - var buttonWord = 'Browse'; - - if (typeof $elem.attr('title') != 'undefined') { - buttonWord = $elem.attr('title'); - } - - // Start by getting the HTML of the input element. - // Thanks for the tip http://stackoverflow.com/a/1299069 - var input = $('
    ').append( $elem.eq(0).clone() ).html(); - var className = ''; - - if (!!$elem.attr('class')) { - className = ' ' + $elem.attr('class'); - } - - // Now we're going to replace that input field with a Bootstrap button. - // The input will actually still be there, it will just be float above and transparent (done with the CSS). - $elem.replaceWith(''+buttonWord+input+''); - }) - - // After we have found all of the file inputs let's apply a listener for tracking the mouse movement. - // This is important because the in order to give the illusion that this is a button in FF we actually need to move the button from the file input under the cursor. Ugh. - .promise().done( function(){ - - // As the cursor moves over our new Bootstrap button we need to adjust the position of the invisible file input Browse button to be under the cursor. - // This gives us the pointer cursor that FF denies us - $('.file-input-wrapper').mousemove(function(cursor) { - - var input, wrapper, - wrapperX, wrapperY, - inputWidth, inputHeight, - cursorX, cursorY; - - // This wrapper element (the button surround this file input) - wrapper = $(this); - // The invisible file input element - input = wrapper.find("input"); - // The left-most position of the wrapper - wrapperX = wrapper.offset().left; - // The top-most position of the wrapper - wrapperY = wrapper.offset().top; - // The with of the browsers input field - inputWidth= input.width(); - // The height of the browsers input field - inputHeight= input.height(); - //The position of the cursor in the wrapper - cursorX = cursor.pageX; - cursorY = cursor.pageY; - - //The positions we are to move the invisible file input - // The 20 at the end is an arbitrary number of pixels that we can shift the input such that cursor is not pointing at the end of the Browse button but somewhere nearer the middle - moveInputX = cursorX - wrapperX - inputWidth + 20; - // Slides the invisible input Browse button to be positioned middle under the cursor - moveInputY = cursorY- wrapperY - (inputHeight/2); - - // Apply the positioning styles to actually move the invisible file input - input.css({ - left:moveInputX, - top:moveInputY - }); - }); - - $('.file-input-wrapper input[type=file]').change(function(){ - - var fileName; - fileName = $(this).val(); - - // Remove any previous file names - $(this).parent().next('.file-input-name').remove(); - if (!!$(this).prop('files') && $(this).prop('files').length > 1) { - fileName = $(this)[0].files.length+' files'; - //$(this).parent().after(''+$(this)[0].files.length+' files'); - } - else { - // var fakepath = 'C:\\fakepath\\'; - // fileName = $(this).val().replace('C:\\fakepath\\',''); - fileName = fileName.substring(fileName.lastIndexOf('\\')+1,fileName.length); - } - - $(this).parent().after(''+fileName+''); - }); - - }); - -}; - -// Add the styles before the first stylesheet -// This ensures they can be easily overridden with developer styles -var cssHtml = ''; -$('link[rel=stylesheet]').eq(0).before(cssHtml); - -}); \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-inputmask/inputmask.js b/public/assets/admin/libs/bootstrap-inputmask/inputmask.js deleted file mode 100644 index a8010ea8f..000000000 --- a/public/assets/admin/libs/bootstrap-inputmask/inputmask.js +++ /dev/null @@ -1,360 +0,0 @@ -/* =========================================================== - * Bootstrap: inputmask.js v3.1.0 - * http://jasny.github.io/bootstrap/javascript/#inputmask - * - * Based on Masked Input plugin by Josh Bush (digitalbush.com) - * =========================================================== - * Copyright 2012-2014 Arnold Daniels - * - * Licensed under the Apache License, Version 2.0 (the "License") - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - -+function ($) { "use strict"; - - var isIphone = (window.orientation !== undefined) - var isAndroid = navigator.userAgent.toLowerCase().indexOf("android") > -1 - var isIE = window.navigator.appName == 'Microsoft Internet Explorer' - - // INPUTMASK PUBLIC CLASS DEFINITION - // ================================= - - var Inputmask = function (element, options) { - if (isAndroid) return // No support because caret positioning doesn't work on Android - - this.$element = $(element) - this.options = $.extend({}, Inputmask.DEFAULTS, options) - this.mask = String(this.options.mask) - - this.init() - this.listen() - - this.checkVal() //Perform initial check for existing values - } - - Inputmask.DEFAULTS = { - mask: "", - placeholder: "_", - definitions: { - '9': "[0-9]", - 'a': "[A-Za-z]", - 'w': "[A-Za-z0-9]", - '*': "." - } - } - - Inputmask.prototype.init = function() { - var defs = this.options.definitions - var len = this.mask.length - - this.tests = [] - this.partialPosition = this.mask.length - this.firstNonMaskPos = null - - $.each(this.mask.split(""), $.proxy(function(i, c) { - if (c == '?') { - len-- - this.partialPosition = i - } else if (defs[c]) { - this.tests.push(new RegExp(defs[c])) - if (this.firstNonMaskPos === null) - this.firstNonMaskPos = this.tests.length - 1 - } else { - this.tests.push(null) - } - }, this)) - - this.buffer = $.map(this.mask.split(""), $.proxy(function(c, i) { - if (c != '?') return defs[c] ? this.options.placeholder : c - }, this)) - - this.focusText = this.$element.val() - - this.$element.data("rawMaskFn", $.proxy(function() { - return $.map(this.buffer, function(c, i) { - return this.tests[i] && c != this.options.placeholder ? c : null - }).join('') - }, this)) - } - - Inputmask.prototype.listen = function() { - if (this.$element.attr("readonly")) return - - var pasteEventName = (isIE ? 'paste' : 'input') + ".mask" - - this.$element - .on("unmask.bs.inputmask", $.proxy(this.unmask, this)) - - .on("focus.bs.inputmask", $.proxy(this.focusEvent, this)) - .on("blur.bs.inputmask", $.proxy(this.blurEvent, this)) - - .on("keydown.bs.inputmask", $.proxy(this.keydownEvent, this)) - .on("keypress.bs.inputmask", $.proxy(this.keypressEvent, this)) - - .on(pasteEventName, $.proxy(this.pasteEvent, this)) - } - - //Helper Function for Caret positioning - Inputmask.prototype.caret = function(begin, end) { - if (this.$element.length === 0) return - if (typeof begin == 'number') { - end = (typeof end == 'number') ? end : begin - return this.$element.each(function() { - if (this.setSelectionRange) { - this.setSelectionRange(begin, end) - } else if (this.createTextRange) { - var range = this.createTextRange() - range.collapse(true) - range.moveEnd('character', end) - range.moveStart('character', begin) - range.select() - } - }) - } else { - if (this.$element[0].setSelectionRange) { - begin = this.$element[0].selectionStart - end = this.$element[0].selectionEnd - } else if (document.selection && document.selection.createRange) { - var range = document.selection.createRange() - begin = 0 - range.duplicate().moveStart('character', -100000) - end = begin + range.text.length - } - return { - begin: begin, - end: end - } - } - } - - Inputmask.prototype.seekNext = function(pos) { - var len = this.mask.length - while (++pos <= len && !this.tests[pos]); - - return pos - } - - Inputmask.prototype.seekPrev = function(pos) { - while (--pos >= 0 && !this.tests[pos]); - - return pos - } - - Inputmask.prototype.shiftL = function(begin,end) { - var len = this.mask.length - - if (begin < 0) return - - for (var i = begin, j = this.seekNext(end); i < len; i++) { - if (this.tests[i]) { - if (j < len && this.tests[i].test(this.buffer[j])) { - this.buffer[i] = this.buffer[j] - this.buffer[j] = this.options.placeholder - } else - break - j = this.seekNext(j) - } - } - this.writeBuffer() - this.caret(Math.max(this.firstNonMaskPos, begin)) - } - - Inputmask.prototype.shiftR = function(pos) { - var len = this.mask.length - - for (var i = pos, c = this.options.placeholder; i < len; i++) { - if (this.tests[i]) { - var j = this.seekNext(i) - var t = this.buffer[i] - this.buffer[i] = c - if (j < len && this.tests[j].test(t)) - c = t - else - break - } - } - }, - - Inputmask.prototype.unmask = function() { - this.$element - .unbind(".mask") - .removeData("inputmask") - } - - Inputmask.prototype.focusEvent = function() { - this.focusText = this.$element.val() - var len = this.mask.length - var pos = this.checkVal() - this.writeBuffer() - - var that = this - var moveCaret = function() { - if (pos == len) - that.caret(0, pos) - else - that.caret(pos) - } - - moveCaret() - setTimeout(moveCaret, 50) - } - - Inputmask.prototype.blurEvent = function() { - this.checkVal() - if (this.$element.val() !== this.focusText) - this.$element.trigger('change') - } - - Inputmask.prototype.keydownEvent = function(e) { - var k = e.which - - //backspace, delete, and escape get special treatment - if (k == 8 || k == 46 || (isIphone && k == 127)) { - var pos = this.caret(), - begin = pos.begin, - end = pos.end - - if (end - begin === 0) { - begin = k != 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1)) - end = k == 46 ? this.seekNext(end) : end - } - this.clearBuffer(begin, end) - this.shiftL(begin, end - 1) - - return false - } else if (k == 27) {//escape - this.$element.val(this.focusText) - this.caret(0, this.checkVal()) - return false - } - } - - Inputmask.prototype.keypressEvent = function(e) { - var len = this.mask.length - - var k = e.which, - pos = this.caret() - - if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {//Ignore - return true - } else if (k) { - if (pos.end - pos.begin !== 0) { - this.clearBuffer(pos.begin, pos.end) - this.shiftL(pos.begin, pos.end - 1) - } - - var p = this.seekNext(pos.begin - 1) - if (p < len) { - var c = String.fromCharCode(k) - if (this.tests[p].test(c)) { - this.shiftR(p) - this.buffer[p] = c - this.writeBuffer() - var next = this.seekNext(p) - this.caret(next) - } - } - return false - } - } - - Inputmask.prototype.pasteEvent = function() { - var that = this - - setTimeout(function() { - that.caret(that.checkVal(true)) - }, 0) - } - - Inputmask.prototype.clearBuffer = function(start, end) { - var len = this.mask.length - - for (var i = start; i < end && i < len; i++) { - if (this.tests[i]) - this.buffer[i] = this.options.placeholder - } - } - - Inputmask.prototype.writeBuffer = function() { - return this.$element.val(this.buffer.join('')).val() - } - - Inputmask.prototype.checkVal = function(allow) { - var len = this.mask.length - //try to place characters where they belong - var test = this.$element.val() - var lastMatch = -1 - - for (var i = 0, pos = 0; i < len; i++) { - if (this.tests[i]) { - this.buffer[i] = this.options.placeholder - while (pos++ < test.length) { - var c = test.charAt(pos - 1) - if (this.tests[i].test(c)) { - this.buffer[i] = c - lastMatch = i - break - } - } - if (pos > test.length) - break - } else if (this.buffer[i] == test.charAt(pos) && i != this.partialPosition) { - pos++ - lastMatch = i - } - } - if (!allow && lastMatch + 1 < this.partialPosition) { - this.$element.val("") - this.clearBuffer(0, len) - } else if (allow || lastMatch + 1 >= this.partialPosition) { - this.writeBuffer() - if (!allow) this.$element.val(this.$element.val().substring(0, lastMatch + 1)) - } - return (this.partialPosition ? i : this.firstNonMaskPos) - } - - - // INPUTMASK PLUGIN DEFINITION - // =========================== - - var old = $.fn.inputmask - - $.fn.inputmask = function (options) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.inputmask') - - if (!data) $this.data('bs.inputmask', (data = new Inputmask(this, options))) - }) - } - - $.fn.inputmask.Constructor = Inputmask - - - // INPUTMASK NO CONFLICT - // ==================== - - $.fn.inputmask.noConflict = function () { - $.fn.inputmask = old - return this - } - - - // INPUTMASK DATA-API - // ================== - - $(document).on('focus.bs.inputmask.data-api', '[data-mask]', function (e) { - var $this = $(this) - if ($this.data('bs.inputmask')) return - $this.inputmask($this.data()) - }) - -}(window.jQuery); diff --git a/public/assets/admin/libs/bootstrap-select/bootstrap-select.min.css b/public/assets/admin/libs/bootstrap-select/bootstrap-select.min.css deleted file mode 100644 index 36fd6900e..000000000 --- a/public/assets/admin/libs/bootstrap-select/bootstrap-select.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * bootstrap-select v1.4.2 - * http://silviomoreto.github.io/bootstrap-select/ - * - * Copyright 2013 bootstrap-select - * Licensed under the MIT license - */.bootstrap-select.btn-group,.bootstrap-select.btn-group[class*="span"]{float:none;display:inline-block;margin-bottom:10px;margin-left:0}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group{margin-bottom:0}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:0}.bootstrap-select.btn-group.pull-right,.bootstrap-select.btn-group[class*="span"].pull-right,.row-fluid .bootstrap-select.btn-group[class*="span"].pull-right{float:right}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select:not([class*="span"]):not([class*="col-"]):not([class*="form-control"]){width:220px}.bootstrap-select{width:220px\0}.bootstrap-select.form-control:not([class*="span"]){width:100%}.bootstrap-select>.btn{width:100%}.error .bootstrap-select .btn{border:1px solid #b94a48}.dropdown-menu{z-index:2000}.bootstrap-select.show-menu-arrow.open>.btn{z-index:2051}.bootstrap-select .btn:focus{outline:thin dotted #333 !important;outline:5px auto -webkit-focus-ring-color !important;outline-offset:-2px}.bootstrap-select.btn-group .btn .filter-option{overflow:hidden;position:absolute;left:12px;right:25px;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group>.disabled,.bootstrap-select.btn-group .dropdown-menu li.disabled>a{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:none !important}.bootstrap-select.btn-group[class*="span"] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu dt{display:block;padding:3px 20px;cursor:default}.bootstrap-select.btn-group .div-contain{overflow:hidden}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li>a.opt{position:relative;padding-left:35px}.bootstrap-select.btn-group .dropdown-menu li>a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark{display:inline-block;position:absolute;right:15px;margin-top:2.5px}.bootstrap-select.btn-group .dropdown-menu li a i.check-mark{display:none}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled)>a small{color:#64b1d8;color:rgba(255,255,255,0.4)}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #CCC;border-bottom-color:rgba(0,0,0,0.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.mobile-device{position:absolute;top:0;left:0;display:block !important;width:100%;height:100% !important;opacity:0}.bootstrap-select.fit-width{width:auto !important}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select-searchbox{padding:4px 8px}.bootstrap-select-searchbox input{margin-bottom:0} diff --git a/public/assets/admin/libs/bootstrap-select/bootstrap-select.min.js b/public/assets/admin/libs/bootstrap-select/bootstrap-select.min.js deleted file mode 100644 index cd4f7fe27..000000000 --- a/public/assets/admin/libs/bootstrap-select/bootstrap-select.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * bootstrap-select v1.4.2 - * http://silviomoreto.github.io/bootstrap-select/ - * - * Copyright 2013 bootstrap-select - * Licensed under the MIT license - */ -;!function(b){b.expr[":"].icontains=function(e,c,d){return b(e).text().toUpperCase().indexOf(d[3].toUpperCase())>=0};var a=function(d,c,f){if(f){f.stopPropagation();f.preventDefault()}this.$element=b(d);this.$newElement=null;this.$button=null;this.$menu=null;this.options=b.extend({},b.fn.selectpicker.defaults,this.$element.data(),typeof c=="object"&&c);if(this.options.title===null){this.options.title=this.$element.attr("title")}this.val=a.prototype.val;this.render=a.prototype.render;this.refresh=a.prototype.refresh;this.setStyle=a.prototype.setStyle;this.selectAll=a.prototype.selectAll;this.deselectAll=a.prototype.deselectAll;this.init()};a.prototype={constructor:a,init:function(){this.$element.hide();this.multiple=this.$element.prop("multiple");var d=this.$element.attr("id");this.$newElement=this.createView();this.$element.after(this.$newElement);this.$menu=this.$newElement.find("> .dropdown-menu");this.$button=this.$newElement.find("> button");this.$searchbox=this.$newElement.find("input");if(d!==undefined){var c=this;this.$button.attr("data-id",d);b('label[for="'+d+'"]').click(function(f){f.preventDefault();c.$button.focus()})}this.checkDisabled();this.clickListener();if(this.options.liveSearch){this.liveSearchListener()}this.render();this.liHeight();this.setStyle();this.setWidth();if(this.options.container){this.selectPosition()}this.$menu.data("this",this);this.$newElement.data("this",this)},createDropdown:function(){var c=this.multiple?" show-tick":"";var f=this.options.header?'
    '+this.options.header+"
    ":"";var e=this.options.liveSearch?'':"";var d='
    ';return b(d)},createView:function(){var c=this.createDropdown();var d=this.createLi();c.find("ul").append(d);return c},reloadLi:function(){this.destroyLi();var c=this.createLi();this.$menu.find("ul").append(c)},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],c="";this.$element.find("option").each(function(){var i=b(this);var g=i.attr("class")||"";var h=i.attr("style")||"";var m=i.data("content")?i.data("content"):i.html();var k=i.data("subtext")!==undefined?''+i.data("subtext")+"":"";var j=i.data("icon")!==undefined?' ':"";if(j!==""&&(i.is(":disabled")||i.parent().is(":disabled"))){j=""+j+""}if(!i.data("content")){m=j+''+m+k+""}if(d.options.hideDisabled&&(i.is(":disabled")||i.parent().is(":disabled"))){e.push('')}else{if(i.parent().is("optgroup")&&i.data("divider")!==true){if(i.index()===0){var l=i.parent().attr("label");var n=i.parent().data("subtext")!==undefined?''+i.parent().data("subtext")+"":"";var f=i.parent().data("icon")?' ':"";l=f+''+l+n+"";if(i[0].index!==0){e.push('
    '+l+"
    "+d.createA(m,"opt "+g,h))}else{e.push("
    "+l+"
    "+d.createA(m,"opt "+g,h))}}else{e.push(d.createA(m,"opt "+g,h))}}else{if(i.data("divider")===true){e.push('
    ')}else{if(b(this).data("hidden")===true){e.push("")}else{e.push(d.createA(m,g,h))}}}}});b.each(e,function(f,g){c+="
  • "+g+"
  • "});if(!this.multiple&&this.$element.find("option:selected").length===0&&!this.options.title){this.$element.find("option").eq(0).prop("selected",true).attr("selected","selected")}return b(c)},createA:function(e,c,d){return''+e+''},render:function(){var d=this;this.$element.find("option").each(function(h){d.setDisabled(h,b(this).is(":disabled")||b(this).parent().is(":disabled"));d.setSelected(h,b(this).is(":selected"))});this.tabIndex();var g=this.$element.find("option:selected").map(function(){var j=b(this);var i=j.data("icon")&&d.options.showIcon?' ':"";var h;if(d.options.showSubtext&&j.attr("data-subtext")&&!d.multiple){h=' '+j.data("subtext")+""}else{h=""}if(j.data("content")&&d.options.showContent){return j.data("content")}else{if(j.attr("title")!==undefined){return j.attr("title")}else{return i+j.html()+h}}}).toArray();var f=!this.multiple?g[0]:g.join(this.options.multipleSeparator);if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var c=this.options.selectedTextFormat.split(">");var e=this.options.hideDisabled?":not([disabled])":"";if((c.length>1&&g.length>c[1])||(c.length==1&&g.length>=2)){f=this.options.countSelectedText.replace("{0}",g.length).replace("{1}",this.$element.find('option:not([data-divider="true"]):not([data-hidden="true"])'+e).length)}}if(!f){f=this.options.title!==undefined?this.options.title:this.options.noneSelectedText}this.$button.attr("title",b.trim(f));this.$newElement.find(".filter-option").html(f)},setStyle:function(e,d){if(this.$element.attr("class")){this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device/gi,""))}var c=e?e:this.options.style;if(d=="add"){this.$button.addClass(c)}else{if(d=="remove"){this.$button.removeClass(c)}else{this.$button.removeClass(this.options.style);this.$button.addClass(c)}}},liHeight:function(){var e=this.$menu.parent().clone().appendTo("body"),f=e.addClass("open").find("> .dropdown-menu"),d=f.find("li > a").outerHeight(),c=this.options.header?f.find(".popover-title").outerHeight():0,g=this.options.liveSearch?f.find(".bootstrap-select-searchbox").outerHeight():0;e.remove();this.$newElement.data("liHeight",d).data("headerHeight",c).data("searchHeight",g)},setSize:function(){var h=this,d=this.$menu,i=d.find(".inner"),t=this.$newElement.outerHeight(),f=this.$newElement.data("liHeight"),r=this.$newElement.data("headerHeight"),l=this.$newElement.data("searchHeight"),k=d.find("li .divider").outerHeight(true),q=parseInt(d.css("padding-top"))+parseInt(d.css("padding-bottom"))+parseInt(d.css("border-top-width"))+parseInt(d.css("border-bottom-width")),o=this.options.hideDisabled?":not(.disabled)":"",n=b(window),g=q+parseInt(d.css("margin-top"))+parseInt(d.css("margin-bottom"))+2,p,u,s,j=function(){u=h.$newElement.offset().top-n.scrollTop();s=n.height()-u-t};j();if(this.options.header){d.css("padding-top",0)}if(this.options.size=="auto"){var e=function(){var v;j();p=s-g;if(h.options.dropupAuto){h.$newElement.toggleClass("dropup",(u>s)&&((p-g)3){v=f*3+g-2}else{v=0}d.css({"max-height":p+"px",overflow:"hidden","min-height":v+"px"});i.css({"max-height":p-r-l-q+"px","overflow-y":"auto","min-height":v-q+"px"})};e();b(window).resize(e);b(window).scroll(e)}else{if(this.options.size&&this.options.size!="auto"&&d.find("li"+o).length>this.options.size){var m=d.find("li"+o+" > *").filter(":not(.div-contain)").slice(0,this.options.size).last().parent().index();var c=d.find("li").slice(0,m+1).find(".div-contain").length;p=f*this.options.size+c*k+q;if(h.options.dropupAuto){this.$newElement.toggleClass("dropup",(u>s)&&(p .dropdown-menu").css("width");d.remove();this.$newElement.css("width",c)}else{if(this.options.width=="fit"){this.$menu.css("min-width","");this.$newElement.css("width","").addClass("fit-width")}else{if(this.options.width){this.$menu.css("min-width","");this.$newElement.css("width",this.options.width)}else{this.$menu.css("min-width","");this.$newElement.css("width","")}}}if(this.$newElement.hasClass("fit-width")&&this.options.width!=="fit"){this.$newElement.removeClass("fit-width")}},selectPosition:function(){var e=this,d="
    ",f=b(d),h,g,c=function(i){f.addClass(i.attr("class")).toggleClass("dropup",i.hasClass("dropup"));h=i.offset();g=i.hasClass("dropup")?0:i[0].offsetHeight;f.css({top:h.top+g,left:h.left,width:i[0].offsetWidth,position:"absolute"})};this.$newElement.on("click",function(){c(b(this));f.appendTo(e.options.container);f.toggleClass("open",!b(this).hasClass("open"));f.append(e.$menu)});b(window).resize(function(){c(e.$newElement)});b(window).on("scroll",function(){c(e.$newElement)});b("html").on("click",function(i){if(b(i.target).closest(e.$newElement).length<1){f.removeClass("open")}})},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement);if(this.options.container){this.$menu.hide()}},refresh:function(){this.reloadLi();this.render();this.setWidth();this.setStyle();this.checkDisabled();this.liHeight()},update:function(){this.reloadLi();this.setWidth();this.setStyle();this.checkDisabled();this.liHeight()},setSelected:function(c,d){this.$menu.find("li").eq(c).toggleClass("selected",d)},setDisabled:function(c,d){if(d){this.$menu.find("li").eq(c).addClass("disabled").find("a").attr("href","#").attr("tabindex",-1)}else{this.$menu.find("li").eq(c).removeClass("disabled").find("a").removeAttr("href").attr("tabindex",0)}},isDisabled:function(){return this.$element.is(":disabled")},checkDisabled:function(){var c=this;if(this.isDisabled()){this.$button.addClass("disabled").attr("tabindex",-1)}else{if(this.$button.hasClass("disabled")){this.$button.removeClass("disabled")}if(this.$button.attr("tabindex")==-1){if(!this.$element.data("tabindex")){this.$button.removeAttr("tabindex")}}}this.$button.click(function(){return !c.isDisabled()})},tabIndex:function(){if(this.$element.is("[tabindex]")){this.$element.data("tabindex",this.$element.attr("tabindex"));this.$button.attr("tabindex",this.$element.data("tabindex"))}},clickListener:function(){var c=this;b("body").on("touchstart.dropdown",".dropdown-menu",function(d){d.stopPropagation()});this.$newElement.on("click",function(){c.setSize();if(!c.options.liveSearch&&!c.multiple){setTimeout(function(){c.$menu.find(".selected a").focus()},10)}});this.$menu.on("click","li a",function(k){var g=b(this).parent().index(),j=c.$element.val(),f=c.$element.prop("selectedIndex");if(c.multiple){k.stopPropagation()}k.preventDefault();if(!c.isDisabled()&&!b(this).parent().hasClass("disabled")){var d=c.$element.find("option");var i=d.eq(g);if(!c.multiple){d.prop("selected",false);i.prop("selected",true)}else{var h=i.prop("selected");i.prop("selected",!h)}if(!c.multiple){c.$button.focus()}else{if(c.options.liveSearch){c.$searchbox.focus()}}if((j!=c.$element.val()&&c.multiple)||(f!=c.$element.prop("selectedIndex")&&!c.multiple)){c.$element.change()}}});this.$menu.on("click","li.disabled a, li dt, li .div-contain, .popover-title, .popover-title :not(.close)",function(d){if(d.target==this){d.preventDefault();d.stopPropagation();if(!c.options.liveSearch){c.$button.focus()}else{c.$searchbox.focus()}}});this.$menu.on("click",".popover-title .close",function(){c.$button.focus()});this.$searchbox.on("click",function(d){d.stopPropagation()});this.$element.change(function(){c.render()})},liveSearchListener:function(){var d=this,c=b('
  • ');this.$newElement.on("click.dropdown.data-api",function(){d.$menu.find(".active").removeClass("active");if(!!d.$searchbox.val()){d.$searchbox.val("");d.$menu.find("li").show();if(!!c.parent().length){c.remove()}}if(!d.multiple){d.$menu.find(".selected").addClass("active")}setTimeout(function(){d.$searchbox.focus()},10)});this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){d.$menu.find("li").show().not(":icontains("+d.$searchbox.val()+")").hide();if(!d.$menu.find("li").filter(":visible:not(.no-results)").length){if(!!c.parent().length){c.remove()}c.html('No results match "'+d.$searchbox.val()+'"').show();d.$menu.find("li").last().after(c)}else{if(!!c.parent().length){c.remove()}}}else{d.$menu.find("li").show();if(!!c.parent().length){c.remove()}}d.$menu.find("li.active").removeClass("active");d.$menu.find("li").filter(":visible:not(.divider)").eq(0).addClass("active").find("a").focus();b(this).focus()});this.$menu.on("mouseenter","a",function(f){d.$menu.find(".active").removeClass("active");b(f.currentTarget).parent().not(".disabled").addClass("active")});this.$menu.on("mouseleave","a",function(){d.$menu.find(".active").removeClass("active")})},val:function(c){if(c!==undefined){this.$element.val(c);this.$element.change();return this.$element}else{return this.$element.val()}},selectAll:function(){this.$element.find("option").prop("selected",true).attr("selected","selected");this.render()},deselectAll:function(){this.$element.find("option").prop("selected",false).removeAttr("selected");this.render()},keydown:function(p){var q,o,i,n,k,j,r,f,h,m,d,s,g={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};q=b(this);i=q.parent();if(q.is("input")){i=q.parent().parent()}m=i.data("this");if(m.options.liveSearch){i=q.parent().parent()}if(m.options.container){i=m.$menu}o=b("[role=menu] li:not(.divider) a",i);s=m.$menu.parent().hasClass("open");if(m.options.liveSearch){if(/(^9$|27)/.test(p.keyCode)&&s&&m.$menu.find(".active").length===0){p.preventDefault();m.$menu.parent().removeClass("open");m.$button.focus()}o=b("[role=menu] li:not(.divider):visible",i);if(!q.val()&&!/(38|40)/.test(p.keyCode)){if(o.filter(".active").length===0){o=m.$newElement.find("li").filter(":icontains("+g[p.keyCode]+")")}}}if(!o.length){return}if(/(38|40)/.test(p.keyCode)){if(!s){m.$menu.parent().addClass("open")}n=o.index(o.filter(":focus"));j=o.parent(":not(.disabled):visible").first().index();r=o.parent(":not(.disabled):visible").last().index();k=o.eq(n).parent().nextAll(":not(.disabled):visible").eq(0).index();f=o.eq(n).parent().prevAll(":not(.disabled):visible").eq(0).index();h=o.eq(k).parent().prevAll(":not(.disabled):visible").eq(0).index();if(m.options.liveSearch){o.each(function(e){if(b(this).is(":not(.disabled)")){b(this).data("index",e)}});n=o.index(o.filter(".active"));j=o.filter(":not(.disabled):visible").first().data("index");r=o.filter(":not(.disabled):visible").last().data("index");k=o.eq(n).nextAll(":not(.disabled):visible").eq(0).data("index");f=o.eq(n).prevAll(":not(.disabled):visible").eq(0).data("index");h=o.eq(k).prevAll(":not(.disabled):visible").eq(0).data("index")}d=q.data("prevIndex");if(p.keyCode==38){if(m.options.liveSearch){n-=1}if(n!=h&&n>f){n=f}if(nr){n=r}if(n==d){n=j}}q.data("prevIndex",n);if(!m.options.liveSearch){o.eq(n).focus()}else{p.preventDefault();if(!q.is(".dropdown-toggle")){o.removeClass("active");o.eq(n).addClass("active").find("a").focus();q.focus()}}}else{if(!q.is("input")){var c=[],l,t;o.each(function(){if(b(this).parent().is(":not(.disabled)")){if(b.trim(b(this).text().toLowerCase()).substring(0,1)==g[p.keyCode]){c.push(b(this).parent().index())}}});l=b(document).data("keycount");l++;b(document).data("keycount",l);t=b.trim(b(":focus").text().toLowerCase()).substring(0,1);if(t!=g[p.keyCode]){l=1;b(document).data("keycount",l)}else{if(l>=c.length){b(document).data("keycount",0);if(l>c.length){l=1}}}o.eq(c[l-1]).focus()}}if(/(13|32|^9$)/.test(p.keyCode)&&s){if(!/(32)/.test(p.keyCode)){p.preventDefault()}if(!m.options.liveSearch){b(":focus").click()}else{if(!/(32)/.test(p.keyCode)){m.$menu.find(".active a").click();q.focus()}}b(document).data("keycount",0)}if((/(^9$|27)/.test(p.keyCode)&&s&&(m.multiple||m.options.liveSearch))||(/(27)/.test(p.keyCode)&&!s)){m.$menu.parent().removeClass("open");m.$button.focus()}},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},destroy:function(){this.$newElement.remove();this.$element.remove()}};b.fn.selectpicker=function(e,f){var c=arguments;var g;var d=this.each(function(){if(b(this).is("select")){var m=b(this),l=m.data("selectpicker"),h=typeof e=="object"&&e;if(!l){m.data("selectpicker",(l=new a(this,h,f)))}else{if(h){for(var j in h){l.options[j]=h[j]}}}if(typeof e=="string"){var k=e;if(l[k] instanceof Function){[].shift.apply(c);g=l[k].apply(l,c)}else{g=l.options[k]}}}});if(g!==undefined){return g}else{return d}};b.fn.selectpicker.defaults={style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",noneSelectedText:"Nothing selected",countSelectedText:"{0} of {1} selected",width:false,container:false,hideDisabled:false,showSubtext:false,showIcon:true,showContent:true,dropupAuto:true,header:false,liveSearch:false,multipleSeparator:", ",iconBase:"glyphicon",tickIcon:"glyphicon-ok"};b(document).data("keycount",0).on("keydown",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bootstrap-select-searchbox input",a.prototype.keydown).on("focusin.modal",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bootstrap-select-searchbox input",function(c){c.stopPropagation()})}(window.jQuery); \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-select2/select2-spinner.gif b/public/assets/admin/libs/bootstrap-select2/select2-spinner.gif deleted file mode 100644 index 5b33f7e54..000000000 Binary files a/public/assets/admin/libs/bootstrap-select2/select2-spinner.gif and /dev/null differ diff --git a/public/assets/admin/libs/bootstrap-select2/select2.css b/public/assets/admin/libs/bootstrap-select2/select2.css deleted file mode 100644 index 6bad4dc21..000000000 --- a/public/assets/admin/libs/bootstrap-select2/select2.css +++ /dev/null @@ -1,589 +0,0 @@ -/* -Version: 3.4.3 Timestamp: Tue Sep 17 06:47:14 PDT 2013 -*/ -.select2-container { - margin: 0; - position: relative; - display: inline-block; - /* inline-block for ie7 */ - zoom: 1; - *display: inline; - vertical-align: middle; -} - -.select2-container, -.select2-drop, -.select2-search, -.select2-search input { - /* - Force border-box so that % widths fit the parent - container without overlap because of margin/padding. - - More Info : http://www.quirksmode.org/css/box.html - */ - -webkit-box-sizing: border-box; /* webkit */ - -moz-box-sizing: border-box; /* firefox */ - box-sizing: border-box; /* css3 */ -} - -.select2-container .select2-choice { - display: block; - height: 26px; - padding: 0 0 0 8px; - overflow: hidden; - position: relative; - - border: 1px solid #aaa; - white-space: nowrap; - line-height: 26px; - color: #444; - text-decoration: none; - - border-radius: 4px; - - background-clip: padding-box; - - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - - background-color: #fff; -} - -.select2-container.select2-drop-above .select2-choice { - border-bottom-color: #aaa; - - border-radius: 0 0 4px 4px; - -} - -.select2-container.select2-allowclear .select2-choice .select2-chosen { - margin-right: 42px; -} - -.select2-container .select2-choice > .select2-chosen { - margin-right: 26px; - display: block; - overflow: hidden; - - white-space: nowrap; - - text-overflow: ellipsis; -} - -.select2-container .select2-choice abbr { - display: none; - width: 12px; - height: 12px; - position: absolute; - right: 24px; - top: 8px; - - font-size: 1px; - text-decoration: none; - - border: 0; - background: url('select2.png') right top no-repeat; - cursor: pointer; - outline: 0; -} - -.select2-container.select2-allowclear .select2-choice abbr { - display: inline-block; -} - -.select2-container .select2-choice abbr:hover { - background-position: right -11px; - cursor: pointer; -} - -.select2-drop-mask { - border: 0; - margin: 0; - padding: 0; - position: fixed; - left: 0; - top: 0; - min-height: 100%; - min-width: 100%; - height: auto; - width: auto; - opacity: 0; - z-index: 9998; - /* styles required for IE to work */ - background-color: #fff; - filter: alpha(opacity=0); -} - -.select2-drop { - width: 100%; - margin-top: -1px; - position: absolute; - z-index: 9999; - top: 100%; - - background: #fff; - color: #000; - border: 1px solid #aaa; - border-top: 0; - - border-radius: 0 0 4px 4px; - - -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); - box-shadow: 0 4px 5px rgba(0, 0, 0, .15); -} - -.select2-drop-auto-width { - border-top: 1px solid #aaa; - width: auto; -} - -.select2-drop-auto-width .select2-search { - padding-top: 4px; -} - -.select2-drop.select2-drop-above { - margin-top: 1px; - border-top: 1px solid #aaa; - border-bottom: 0; - - border-radius: 4px 4px 0 0; - - -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); - box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); -} - -.select2-drop-active { - border: 1px solid #5897fb; - border-top: none; -} - -.select2-drop.select2-drop-above.select2-drop-active { - border-top: 1px solid #5897fb; -} - -.select2-container .select2-choice .select2-arrow { - display: inline-block; - width: 18px; - height: 100%; - position: absolute; - right: 0; - top: 0; - - border-left: 1px solid #aaa; - border-radius: 0 4px 4px 0; - - background-clip: padding-box; - - background: #ccc; -} - -.select2-container .select2-choice .select2-arrow b { - display: block; - width: 100%; - height: 100%; - background: url('select2.png') no-repeat 0 1px; -} - -.select2-search { - display: inline-block; - width: 100%; - min-height: 26px; - margin: 0; - padding-left: 4px; - padding-right: 4px; - position: relative; - z-index: 10000; - white-space: nowrap; -} - -.select2-search input { - width: 100%; - height: auto !important; - min-height: 26px; - padding: 4px 20px 4px 5px; - margin: 0; - - outline: 0; - font-family: sans-serif; - font-size: 1em; - - border: 1px solid #aaa; - border-radius: 0; - - -webkit-box-shadow: none; - box-shadow: none; - - background: #fff url('select2.png') no-repeat 100% -22px; - background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee)); - background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%); - background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%); - background: url('select2.png') no-repeat 100% -22px, linear-gradient(top, #fff 85%, #eee 99%); -} - -.select2-drop.select2-drop-above .select2-search input { - margin-top: 4px; -} - -.select2-search input.select2-active { - background: #fff url('select2-spinner.gif') no-repeat 100%; - background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee)); - background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%); - background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%); - background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(top, #fff 85%, #eee 99%); -} - -.select2-container-active .select2-choice, -.select2-container-active .select2-choices { - border: 1px solid #5897fb; - outline: none; - - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3); - box-shadow: 0 0 5px rgba(0, 0, 0, .3); -} - -.select2-dropdown-open .select2-choice { - border-bottom-color: transparent; - -webkit-box-shadow: 0 1px 0 #fff inset; - box-shadow: 0 1px 0 #fff inset; - - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - - background-color: #eee; - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee)); - background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%); - background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); - background-image: linear-gradient(top, #fff 0%, #eee 50%); -} - -.select2-dropdown-open.select2-drop-above .select2-choice, -.select2-dropdown-open.select2-drop-above .select2-choices { - border: 1px solid #5897fb; - border-top-color: transparent; - - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee)); - background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%); - background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); - background-image: linear-gradient(bottom, #fff 0%, #eee 50%); -} - -.select2-dropdown-open .select2-choice .select2-arrow { - background: transparent; - border-left: none; - filter: none; -} -.select2-dropdown-open .select2-choice .select2-arrow b { - background-position: -18px 1px; -} - -/* results */ -.select2-results { - max-height: 200px; - padding: 0 0 0 4px; - margin: 4px 4px 4px 0; - position: relative; - overflow-x: hidden; - overflow-y: auto; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -.select2-results ul.select2-result-sub { - margin: 0; - padding-left: 0; -} - -.select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px } -.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px } -.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px } -.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px } -.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px } -.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px } -.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px } - -.select2-results li { - list-style: none; - display: list-item; - background-image: none; -} - -.select2-results li.select2-result-with-children > .select2-result-label { - font-weight: bold; -} - -.select2-results .select2-result-label { - padding: 3px 7px 4px; - margin: 0; - cursor: pointer; - - min-height: 1em; - - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.select2-results .select2-highlighted { - background: #3875d7; - color: #fff; -} - -.select2-results li em { - background: #feffde; - font-style: normal; -} - -.select2-results .select2-highlighted em { - background: transparent; -} - -.select2-results .select2-highlighted ul { - background: #fff; - color: #000; -} - - -.select2-results .select2-no-results, -.select2-results .select2-searching, -.select2-results .select2-selection-limit { - background: #f4f4f4; - display: list-item; -} - -/* -disabled look for disabled choices in the results dropdown -*/ -.select2-results .select2-disabled.select2-highlighted { - color: #666; - background: #f4f4f4; - display: list-item; - cursor: default; -} -.select2-results .select2-disabled { - background: #f4f4f4; - display: list-item; - cursor: default; -} - -.select2-results .select2-selected { - display: none; -} - -.select2-more-results.select2-active { - background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%; -} - -.select2-more-results { - background: #f4f4f4; - display: list-item; -} - -/* disabled styles */ - -.select2-container.select2-container-disabled .select2-choice { - background-color: #f4f4f4; - background-image: none; - border: 1px solid #ddd; - cursor: default; -} - -.select2-container.select2-container-disabled .select2-choice .select2-arrow { - background-color: #f4f4f4; - background-image: none; - border-left: 0; -} - -.select2-container.select2-container-disabled .select2-choice abbr { - display: none; -} - - -/* multiselect */ - -.select2-container-multi .select2-choices { - height: auto !important; - height: 1%; - margin: 0; - padding: 0; - position: relative; - - border: 1px solid #aaa; - cursor: text; - overflow: hidden; - - background-color: #fff; - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff)); - background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%); - background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%); - background-image: linear-gradient(top, #eee 1%, #fff 15%); -} - -.select2-locked { - padding: 3px 5px 3px 5px !important; -} - -.select2-container-multi .select2-choices { - min-height: 26px; -} - -.select2-container-multi.select2-container-active .select2-choices { - border: 1px solid #5897fb; - outline: none; - - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3); - box-shadow: 0 0 5px rgba(0, 0, 0, .3); -} -.select2-container-multi .select2-choices li { - float: left; - list-style: none; -} -.select2-container-multi .select2-choices .select2-search-field { - margin: 0; - padding: 0; - white-space: nowrap; -} - -.select2-container-multi .select2-choices .select2-search-field input { - padding: 5px; - margin: 1px 0; - - font-family: sans-serif; - font-size: 100%; - color: #666; - outline: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - background: transparent !important; -} - -.select2-container-multi .select2-choices .select2-search-field input.select2-active { - background: #fff url('select2-spinner.gif') no-repeat 100% !important; -} - -.select2-default { - color: #999 !important; -} - -.select2-container-multi .select2-choices .select2-search-choice { - padding: 3px 5px 3px 18px; - margin: 3px 0 3px 5px; - position: relative; - - line-height: 13px; - color: #333; - cursor: default; - border: 1px solid #aaaaaa; - - border-radius: 3px; - - -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - - background-clip: padding-box; - - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - - background-color: #e4e4e4; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); - background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); -} -.select2-container-multi .select2-choices .select2-search-choice .select2-chosen { - cursor: default; -} -.select2-container-multi .select2-choices .select2-search-choice-focus { - background: #d4d4d4; -} - -.select2-search-choice-close { - display: block; - width: 12px; - height: 13px; - position: absolute; - right: 3px; - top: 4px; - - font-size: 1px; - outline: none; - background: url('select2.png') right top no-repeat; -} - -.select2-container-multi .select2-search-choice-close { - left: 3px; -} - -.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover { - background-position: right -11px; -} -.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close { - background-position: right -11px; -} - -/* disabled styles */ -.select2-container-multi.select2-container-disabled .select2-choices { - background-color: #f4f4f4; - background-image: none; - border: 1px solid #ddd; - cursor: default; -} - -.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice { - padding: 3px 5px 3px 5px; - border: 1px solid #ddd; - background-image: none; - background-color: #f4f4f4; -} - -.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none; - background: none; -} -/* end multiselect */ - - -.select2-result-selectable .select2-match, -.select2-result-unselectable .select2-match { - text-decoration: underline; -} - -.select2-offscreen, .select2-offscreen:focus { - clip: rect(0 0 0 0) !important; - width: 1px !important; - height: 1px !important; - border: 0 !important; - margin: 0 !important; - padding: 0 !important; - overflow: hidden !important; - position: absolute !important; - outline: 0 !important; - left: 0px !important; - top: 0px !important; -} - -.select2-display-none { - display: none; -} - -.select2-measure-scrollbar { - position: absolute; - top: -10000px; - left: -10000px; - width: 100px; - height: 100px; - overflow: scroll; -} -/* Retina-ize icons */ - - diff --git a/public/assets/admin/libs/bootstrap-select2/select2.min.js b/public/assets/admin/libs/bootstrap-select2/select2.min.js deleted file mode 100644 index 0910fdfe8..000000000 --- a/public/assets/admin/libs/bootstrap-select2/select2.min.js +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2012 Igor Vaynberg - -Version: 3.4.3 Timestamp: Tue Sep 17 06:47:14 PDT 2013 - -This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU -General Public License version 2 (the "GPL License"). You may choose either license to govern your -use of this software only upon the condition that you accept all of the terms of either the Apache -License or the GPL License. - -You may obtain a copy of the Apache License and the GPL License at: - -http://www.apache.org/licenses/LICENSE-2.0 -http://www.gnu.org/licenses/gpl-2.0.html - -Unless required by applicable law or agreed to in writing, software distributed under the Apache License -or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, -either express or implied. See the Apache License and the GPL License for the specific language governing -permissions and limitations under the Apache License and the GPL License. -*/ -!function(a){"undefined"==typeof a.fn.each2&&a.extend(a.fn,{each2:function(b){for(var c=a([0]),d=-1,e=this.length;++dc;c++)e=a.charAt(c),b+=m[e]||e;return b}function o(a,b){for(var c=0,d=b.length;d>c;c+=1)if(q(a,b[c]))return c;return-1}function p(){var b=a(l);b.appendTo("body");var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function q(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function r(b,c){var d,e,f;if(null===b||b.length<1)return[];for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d}function s(a){return a.outerWidth(!1)-a.width()}function t(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function u(c){c.on("mousemove",function(c){var d=i;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function v(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function w(a){var c,b=!1;return function(){return b===!1&&(c=a(),b=!0),c}}function x(a,b){var c=v(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){o(a.target,b.get())>=0&&c(a)})}function y(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus(),a.is(":visible")&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function z(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function A(a){a.preventDefault(),a.stopPropagation()}function B(a){a.preventDefault(),a.stopImmediatePropagation()}function C(b){if(!h){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);h=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),h.attr("class","select2-sizer"),a("body").append(h)}return h.text(b.val()),h.width()}function D(b,c,d){var e,g,f=[];e=b.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=c.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(this))})),b.attr("class",f.join(" "))}function E(a,b,c,d){var e=n(a.toUpperCase()).indexOf(n(b.toUpperCase())),f=b.length;return 0>e?(c.push(d(a)),void 0):(c.push(d(a.substring(0,e))),c.push(""),c.push(d(a.substring(e,e+f))),c.push(""),c.push(d(a.substring(e+f,a.length))),void 0)}function F(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function G(c){var d,e=null,f=c.quietMillis||100,g=c.url,h=this;return function(i){window.clearTimeout(d),d=window.setTimeout(function(){var d=c.data,f=g,j=c.transport||a.fn.select2.ajaxDefaults.transport,k={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},l=a.extend({},a.fn.select2.ajaxDefaults.params,k);d=d?d.call(h,i.term,i.page,i.context):null,f="function"==typeof f?f.call(h,i.term,i.page,i.context):f,e&&e.abort(),c.params&&(a.isFunction(c.params)?a.extend(l,c.params.call(h)):a.extend(l,c.params)),a.extend(l,{url:f,dataType:c.dataType,data:d,success:function(a){var b=c.results(a,i.page);i.callback(b)}}),e=j.call(h,l)},f)}}function H(b){var d,e,c=b,f=function(a){return""+a.text};a.isArray(c)&&(e=c,c={results:e}),a.isFunction(c)===!1&&(e=c,c=function(){return e});var g=c();return g.text&&(f=g.text,a.isFunction(f)||(d=g.text,f=function(a){return a[d]})),function(b){var g,d=b.term,e={results:[]};return""===d?(b.callback(c()),void 0):(g=function(c,e){var h,i;if(c=c[0],c.children){h={};for(i in c)c.hasOwnProperty(i)&&(h[i]=c[i]);h.children=[],a(c.children).each2(function(a,b){g(b,h.children)}),(h.children.length||b.matcher(d,f(h),c))&&e.push(h)}else b.matcher(d,f(c),c)&&e.push(c)},a(c().results).each2(function(a,b){g(b,e.results)}),b.callback(e),void 0)}}function I(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]};a(d?c():c).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g)}}function J(b,c){if(a.isFunction(b))return!0;if(!b)return!1;throw new Error(c+" must be a function or a falsy value")}function K(b){return a.isFunction(b)?b():b}function L(b){var c=0;return a.each(b,function(a,b){b.children?c+=L(b.children):c++}),c}function M(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||e.tokenSeparators.length<1)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(q(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:void 0}function N(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,h,j,k,i={x:0,y:0},c={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case c.LEFT:case c.RIGHT:case c.UP:case c.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case c.SHIFT:case c.CTRL:case c.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="
    ",m={"\u24b6":"A","\uff21":"A","\xc0":"A","\xc1":"A","\xc2":"A","\u1ea6":"A","\u1ea4":"A","\u1eaa":"A","\u1ea8":"A","\xc3":"A","\u0100":"A","\u0102":"A","\u1eb0":"A","\u1eae":"A","\u1eb4":"A","\u1eb2":"A","\u0226":"A","\u01e0":"A","\xc4":"A","\u01de":"A","\u1ea2":"A","\xc5":"A","\u01fa":"A","\u01cd":"A","\u0200":"A","\u0202":"A","\u1ea0":"A","\u1eac":"A","\u1eb6":"A","\u1e00":"A","\u0104":"A","\u023a":"A","\u2c6f":"A","\ua732":"AA","\xc6":"AE","\u01fc":"AE","\u01e2":"AE","\ua734":"AO","\ua736":"AU","\ua738":"AV","\ua73a":"AV","\ua73c":"AY","\u24b7":"B","\uff22":"B","\u1e02":"B","\u1e04":"B","\u1e06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24b8":"C","\uff23":"C","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\xc7":"C","\u1e08":"C","\u0187":"C","\u023b":"C","\ua73e":"C","\u24b9":"D","\uff24":"D","\u1e0a":"D","\u010e":"D","\u1e0c":"D","\u1e10":"D","\u1e12":"D","\u1e0e":"D","\u0110":"D","\u018b":"D","\u018a":"D","\u0189":"D","\ua779":"D","\u01f1":"DZ","\u01c4":"DZ","\u01f2":"Dz","\u01c5":"Dz","\u24ba":"E","\uff25":"E","\xc8":"E","\xc9":"E","\xca":"E","\u1ec0":"E","\u1ebe":"E","\u1ec4":"E","\u1ec2":"E","\u1ebc":"E","\u0112":"E","\u1e14":"E","\u1e16":"E","\u0114":"E","\u0116":"E","\xcb":"E","\u1eba":"E","\u011a":"E","\u0204":"E","\u0206":"E","\u1eb8":"E","\u1ec6":"E","\u0228":"E","\u1e1c":"E","\u0118":"E","\u1e18":"E","\u1e1a":"E","\u0190":"E","\u018e":"E","\u24bb":"F","\uff26":"F","\u1e1e":"F","\u0191":"F","\ua77b":"F","\u24bc":"G","\uff27":"G","\u01f4":"G","\u011c":"G","\u1e20":"G","\u011e":"G","\u0120":"G","\u01e6":"G","\u0122":"G","\u01e4":"G","\u0193":"G","\ua7a0":"G","\ua77d":"G","\ua77e":"G","\u24bd":"H","\uff28":"H","\u0124":"H","\u1e22":"H","\u1e26":"H","\u021e":"H","\u1e24":"H","\u1e28":"H","\u1e2a":"H","\u0126":"H","\u2c67":"H","\u2c75":"H","\ua78d":"H","\u24be":"I","\uff29":"I","\xcc":"I","\xcd":"I","\xce":"I","\u0128":"I","\u012a":"I","\u012c":"I","\u0130":"I","\xcf":"I","\u1e2e":"I","\u1ec8":"I","\u01cf":"I","\u0208":"I","\u020a":"I","\u1eca":"I","\u012e":"I","\u1e2c":"I","\u0197":"I","\u24bf":"J","\uff2a":"J","\u0134":"J","\u0248":"J","\u24c0":"K","\uff2b":"K","\u1e30":"K","\u01e8":"K","\u1e32":"K","\u0136":"K","\u1e34":"K","\u0198":"K","\u2c69":"K","\ua740":"K","\ua742":"K","\ua744":"K","\ua7a2":"K","\u24c1":"L","\uff2c":"L","\u013f":"L","\u0139":"L","\u013d":"L","\u1e36":"L","\u1e38":"L","\u013b":"L","\u1e3c":"L","\u1e3a":"L","\u0141":"L","\u023d":"L","\u2c62":"L","\u2c60":"L","\ua748":"L","\ua746":"L","\ua780":"L","\u01c7":"LJ","\u01c8":"Lj","\u24c2":"M","\uff2d":"M","\u1e3e":"M","\u1e40":"M","\u1e42":"M","\u2c6e":"M","\u019c":"M","\u24c3":"N","\uff2e":"N","\u01f8":"N","\u0143":"N","\xd1":"N","\u1e44":"N","\u0147":"N","\u1e46":"N","\u0145":"N","\u1e4a":"N","\u1e48":"N","\u0220":"N","\u019d":"N","\ua790":"N","\ua7a4":"N","\u01ca":"NJ","\u01cb":"Nj","\u24c4":"O","\uff2f":"O","\xd2":"O","\xd3":"O","\xd4":"O","\u1ed2":"O","\u1ed0":"O","\u1ed6":"O","\u1ed4":"O","\xd5":"O","\u1e4c":"O","\u022c":"O","\u1e4e":"O","\u014c":"O","\u1e50":"O","\u1e52":"O","\u014e":"O","\u022e":"O","\u0230":"O","\xd6":"O","\u022a":"O","\u1ece":"O","\u0150":"O","\u01d1":"O","\u020c":"O","\u020e":"O","\u01a0":"O","\u1edc":"O","\u1eda":"O","\u1ee0":"O","\u1ede":"O","\u1ee2":"O","\u1ecc":"O","\u1ed8":"O","\u01ea":"O","\u01ec":"O","\xd8":"O","\u01fe":"O","\u0186":"O","\u019f":"O","\ua74a":"O","\ua74c":"O","\u01a2":"OI","\ua74e":"OO","\u0222":"OU","\u24c5":"P","\uff30":"P","\u1e54":"P","\u1e56":"P","\u01a4":"P","\u2c63":"P","\ua750":"P","\ua752":"P","\ua754":"P","\u24c6":"Q","\uff31":"Q","\ua756":"Q","\ua758":"Q","\u024a":"Q","\u24c7":"R","\uff32":"R","\u0154":"R","\u1e58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1e5a":"R","\u1e5c":"R","\u0156":"R","\u1e5e":"R","\u024c":"R","\u2c64":"R","\ua75a":"R","\ua7a6":"R","\ua782":"R","\u24c8":"S","\uff33":"S","\u1e9e":"S","\u015a":"S","\u1e64":"S","\u015c":"S","\u1e60":"S","\u0160":"S","\u1e66":"S","\u1e62":"S","\u1e68":"S","\u0218":"S","\u015e":"S","\u2c7e":"S","\ua7a8":"S","\ua784":"S","\u24c9":"T","\uff34":"T","\u1e6a":"T","\u0164":"T","\u1e6c":"T","\u021a":"T","\u0162":"T","\u1e70":"T","\u1e6e":"T","\u0166":"T","\u01ac":"T","\u01ae":"T","\u023e":"T","\ua786":"T","\ua728":"TZ","\u24ca":"U","\uff35":"U","\xd9":"U","\xda":"U","\xdb":"U","\u0168":"U","\u1e78":"U","\u016a":"U","\u1e7a":"U","\u016c":"U","\xdc":"U","\u01db":"U","\u01d7":"U","\u01d5":"U","\u01d9":"U","\u1ee6":"U","\u016e":"U","\u0170":"U","\u01d3":"U","\u0214":"U","\u0216":"U","\u01af":"U","\u1eea":"U","\u1ee8":"U","\u1eee":"U","\u1eec":"U","\u1ef0":"U","\u1ee4":"U","\u1e72":"U","\u0172":"U","\u1e76":"U","\u1e74":"U","\u0244":"U","\u24cb":"V","\uff36":"V","\u1e7c":"V","\u1e7e":"V","\u01b2":"V","\ua75e":"V","\u0245":"V","\ua760":"VY","\u24cc":"W","\uff37":"W","\u1e80":"W","\u1e82":"W","\u0174":"W","\u1e86":"W","\u1e84":"W","\u1e88":"W","\u2c72":"W","\u24cd":"X","\uff38":"X","\u1e8a":"X","\u1e8c":"X","\u24ce":"Y","\uff39":"Y","\u1ef2":"Y","\xdd":"Y","\u0176":"Y","\u1ef8":"Y","\u0232":"Y","\u1e8e":"Y","\u0178":"Y","\u1ef6":"Y","\u1ef4":"Y","\u01b3":"Y","\u024e":"Y","\u1efe":"Y","\u24cf":"Z","\uff3a":"Z","\u0179":"Z","\u1e90":"Z","\u017b":"Z","\u017d":"Z","\u1e92":"Z","\u1e94":"Z","\u01b5":"Z","\u0224":"Z","\u2c7f":"Z","\u2c6b":"Z","\ua762":"Z","\u24d0":"a","\uff41":"a","\u1e9a":"a","\xe0":"a","\xe1":"a","\xe2":"a","\u1ea7":"a","\u1ea5":"a","\u1eab":"a","\u1ea9":"a","\xe3":"a","\u0101":"a","\u0103":"a","\u1eb1":"a","\u1eaf":"a","\u1eb5":"a","\u1eb3":"a","\u0227":"a","\u01e1":"a","\xe4":"a","\u01df":"a","\u1ea3":"a","\xe5":"a","\u01fb":"a","\u01ce":"a","\u0201":"a","\u0203":"a","\u1ea1":"a","\u1ead":"a","\u1eb7":"a","\u1e01":"a","\u0105":"a","\u2c65":"a","\u0250":"a","\ua733":"aa","\xe6":"ae","\u01fd":"ae","\u01e3":"ae","\ua735":"ao","\ua737":"au","\ua739":"av","\ua73b":"av","\ua73d":"ay","\u24d1":"b","\uff42":"b","\u1e03":"b","\u1e05":"b","\u1e07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24d2":"c","\uff43":"c","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\xe7":"c","\u1e09":"c","\u0188":"c","\u023c":"c","\ua73f":"c","\u2184":"c","\u24d3":"d","\uff44":"d","\u1e0b":"d","\u010f":"d","\u1e0d":"d","\u1e11":"d","\u1e13":"d","\u1e0f":"d","\u0111":"d","\u018c":"d","\u0256":"d","\u0257":"d","\ua77a":"d","\u01f3":"dz","\u01c6":"dz","\u24d4":"e","\uff45":"e","\xe8":"e","\xe9":"e","\xea":"e","\u1ec1":"e","\u1ebf":"e","\u1ec5":"e","\u1ec3":"e","\u1ebd":"e","\u0113":"e","\u1e15":"e","\u1e17":"e","\u0115":"e","\u0117":"e","\xeb":"e","\u1ebb":"e","\u011b":"e","\u0205":"e","\u0207":"e","\u1eb9":"e","\u1ec7":"e","\u0229":"e","\u1e1d":"e","\u0119":"e","\u1e19":"e","\u1e1b":"e","\u0247":"e","\u025b":"e","\u01dd":"e","\u24d5":"f","\uff46":"f","\u1e1f":"f","\u0192":"f","\ua77c":"f","\u24d6":"g","\uff47":"g","\u01f5":"g","\u011d":"g","\u1e21":"g","\u011f":"g","\u0121":"g","\u01e7":"g","\u0123":"g","\u01e5":"g","\u0260":"g","\ua7a1":"g","\u1d79":"g","\ua77f":"g","\u24d7":"h","\uff48":"h","\u0125":"h","\u1e23":"h","\u1e27":"h","\u021f":"h","\u1e25":"h","\u1e29":"h","\u1e2b":"h","\u1e96":"h","\u0127":"h","\u2c68":"h","\u2c76":"h","\u0265":"h","\u0195":"hv","\u24d8":"i","\uff49":"i","\xec":"i","\xed":"i","\xee":"i","\u0129":"i","\u012b":"i","\u012d":"i","\xef":"i","\u1e2f":"i","\u1ec9":"i","\u01d0":"i","\u0209":"i","\u020b":"i","\u1ecb":"i","\u012f":"i","\u1e2d":"i","\u0268":"i","\u0131":"i","\u24d9":"j","\uff4a":"j","\u0135":"j","\u01f0":"j","\u0249":"j","\u24da":"k","\uff4b":"k","\u1e31":"k","\u01e9":"k","\u1e33":"k","\u0137":"k","\u1e35":"k","\u0199":"k","\u2c6a":"k","\ua741":"k","\ua743":"k","\ua745":"k","\ua7a3":"k","\u24db":"l","\uff4c":"l","\u0140":"l","\u013a":"l","\u013e":"l","\u1e37":"l","\u1e39":"l","\u013c":"l","\u1e3d":"l","\u1e3b":"l","\u017f":"l","\u0142":"l","\u019a":"l","\u026b":"l","\u2c61":"l","\ua749":"l","\ua781":"l","\ua747":"l","\u01c9":"lj","\u24dc":"m","\uff4d":"m","\u1e3f":"m","\u1e41":"m","\u1e43":"m","\u0271":"m","\u026f":"m","\u24dd":"n","\uff4e":"n","\u01f9":"n","\u0144":"n","\xf1":"n","\u1e45":"n","\u0148":"n","\u1e47":"n","\u0146":"n","\u1e4b":"n","\u1e49":"n","\u019e":"n","\u0272":"n","\u0149":"n","\ua791":"n","\ua7a5":"n","\u01cc":"nj","\u24de":"o","\uff4f":"o","\xf2":"o","\xf3":"o","\xf4":"o","\u1ed3":"o","\u1ed1":"o","\u1ed7":"o","\u1ed5":"o","\xf5":"o","\u1e4d":"o","\u022d":"o","\u1e4f":"o","\u014d":"o","\u1e51":"o","\u1e53":"o","\u014f":"o","\u022f":"o","\u0231":"o","\xf6":"o","\u022b":"o","\u1ecf":"o","\u0151":"o","\u01d2":"o","\u020d":"o","\u020f":"o","\u01a1":"o","\u1edd":"o","\u1edb":"o","\u1ee1":"o","\u1edf":"o","\u1ee3":"o","\u1ecd":"o","\u1ed9":"o","\u01eb":"o","\u01ed":"o","\xf8":"o","\u01ff":"o","\u0254":"o","\ua74b":"o","\ua74d":"o","\u0275":"o","\u01a3":"oi","\u0223":"ou","\ua74f":"oo","\u24df":"p","\uff50":"p","\u1e55":"p","\u1e57":"p","\u01a5":"p","\u1d7d":"p","\ua751":"p","\ua753":"p","\ua755":"p","\u24e0":"q","\uff51":"q","\u024b":"q","\ua757":"q","\ua759":"q","\u24e1":"r","\uff52":"r","\u0155":"r","\u1e59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1e5b":"r","\u1e5d":"r","\u0157":"r","\u1e5f":"r","\u024d":"r","\u027d":"r","\ua75b":"r","\ua7a7":"r","\ua783":"r","\u24e2":"s","\uff53":"s","\xdf":"s","\u015b":"s","\u1e65":"s","\u015d":"s","\u1e61":"s","\u0161":"s","\u1e67":"s","\u1e63":"s","\u1e69":"s","\u0219":"s","\u015f":"s","\u023f":"s","\ua7a9":"s","\ua785":"s","\u1e9b":"s","\u24e3":"t","\uff54":"t","\u1e6b":"t","\u1e97":"t","\u0165":"t","\u1e6d":"t","\u021b":"t","\u0163":"t","\u1e71":"t","\u1e6f":"t","\u0167":"t","\u01ad":"t","\u0288":"t","\u2c66":"t","\ua787":"t","\ua729":"tz","\u24e4":"u","\uff55":"u","\xf9":"u","\xfa":"u","\xfb":"u","\u0169":"u","\u1e79":"u","\u016b":"u","\u1e7b":"u","\u016d":"u","\xfc":"u","\u01dc":"u","\u01d8":"u","\u01d6":"u","\u01da":"u","\u1ee7":"u","\u016f":"u","\u0171":"u","\u01d4":"u","\u0215":"u","\u0217":"u","\u01b0":"u","\u1eeb":"u","\u1ee9":"u","\u1eef":"u","\u1eed":"u","\u1ef1":"u","\u1ee5":"u","\u1e73":"u","\u0173":"u","\u1e77":"u","\u1e75":"u","\u0289":"u","\u24e5":"v","\uff56":"v","\u1e7d":"v","\u1e7f":"v","\u028b":"v","\ua75f":"v","\u028c":"v","\ua761":"vy","\u24e6":"w","\uff57":"w","\u1e81":"w","\u1e83":"w","\u0175":"w","\u1e87":"w","\u1e85":"w","\u1e98":"w","\u1e89":"w","\u2c73":"w","\u24e7":"x","\uff58":"x","\u1e8b":"x","\u1e8d":"x","\u24e8":"y","\uff59":"y","\u1ef3":"y","\xfd":"y","\u0177":"y","\u1ef9":"y","\u0233":"y","\u1e8f":"y","\xff":"y","\u1ef7":"y","\u1e99":"y","\u1ef5":"y","\u01b4":"y","\u024f":"y","\u1eff":"y","\u24e9":"z","\uff5a":"z","\u017a":"z","\u1e91":"z","\u017c":"z","\u017e":"z","\u1e93":"z","\u1e95":"z","\u01b6":"z","\u0225":"z","\u0240":"z","\u2c6c":"z","\ua763":"z"};j=a(document),g=function(){var a=1;return function(){return a++}}(),j.on("mousemove",function(a){i.x=a.pageX,i.y=a.pageY}),d=N(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,h,i,f=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+g()),this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.body=w(function(){return c.element.closest("body")}),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",c.element.attr("style")),this.container.css(K(c.containerCss)),this.container.addClass(K(c.containerCssClass)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",A),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(c.dropdownCssClass)),this.dropdown.data("select2",this),this.dropdown.on("click",A),this.results=d=this.container.find(f),this.search=e=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",A),u(this.results),this.dropdown.on("mousemove-filtered touchstart touchmove touchend",f,this.bind(this.highlightUnderEvent)),x(80,this.results),this.dropdown.on("scroll-debounced",f,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),A(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),A(a))}),t(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",f,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown",function(a){a.stopPropagation()}),a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),k=k||p(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.nextSearchTerm=b},destroy:function(){var a=this.opts.element,c=a.data("select2");this.close(),this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),c!==b&&(c.container.remove(),c.dropdown.remove(),a.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show())},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:q(a.attr("locked"),"locked")||q(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:void 0},prepareOpts:function(c){var d,e,f,g,h=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a ","
    "," ","
      ","
    ","
    "].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var c,d,e;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.search.focus(),c=this.search.get(0),c.createTextRange?(d=c.createTextRange(),d.collapse(!1),d.select()):c.setSelectionRange&&(e=this.search.val().length,c.setSelectionRange(e,e)),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(a){this.opened()&&(this.parent.close.apply(this,arguments),a=a||{focus:!0},this.focusser.removeAttr("disabled"),a.focus&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.removeAttr("disabled"),this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments)},initContainer:function(){var b,d=this.container,e=this.dropdown;this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=d.find(".select2-choice"),this.focusser=d.find(".select2-focusser"),this.focusser.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.focusser.attr("id")),this.focusser.attr("tabindex",this.elementTabIndex),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){if(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)return A(a),void 0;switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),A(a),void 0;case c.ENTER:return this.selectHighlighted(),A(a),void 0;case c.TAB:return this.selectHighlighted({noFocus:!0}),void 0;case c.ESC:return this.cancel(a),A(a),void 0}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body().get(0)&&window.setTimeout(this.bind(function(){this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.ESC){if(this.opts.openOnEnter===!1&&a.which===c.ENTER)return A(a),void 0;if(a.which==c.DOWN||a.which==c.UP||a.which==c.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),A(a),void 0}return a.which==c.DELETE||a.which==c.BACKSPACE?(this.opts.allowClear&&this.clear(),A(a),void 0):void 0}})),t(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),B(a),this.close(),this.selection.focus())})),b.on("mousedown",this.bind(function(b){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),A(b)})),e.on("mousedown",this.bind(function(){this.search.focus()})),b.on("focus",this.bind(function(a){A(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(b){var c=this.selection.data("select2-data");if(c){var d=a.Event("select2-clearing");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder())})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()?(a=this.getPlaceholderOption())!==b&&a.is(":selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val():!1},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find(":selected");b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=q(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return q(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var g=this.opts.minimumResultsForSearch;g>=0&&this.showSearch(L(a.results)>=g)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.close(),b&&b.noFocus||this.focusser.focus(),q(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),null!==a&&(d=this.opts.formatSelection(a,c,this.opts.escapeMarkup)),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find(":selected").each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),void 0;if(this.opts.initSelection===b)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a){var c,d=!1;return 0===arguments.length?(c=this.selection.data("select2-data"),c==b&&(c=null),c):(arguments.length>1&&(d=arguments[1]),a?(c=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),d&&this.triggerChange({added:a,removed:c})):this.clear(d),void 0)}}),f=N(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["
      ","
    • "," ","
    • ","
    ","
    ","
      ","
    ","
    "].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find(":selected").each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=r(c.val(),b.separator),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return q(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;c0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",b,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.updateResults(!0),this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){o(e.id(this),c)<0&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,b){this.triggerSelect(a)&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()&&this.updateResults(!0),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),b&&b.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("
  • "),f=a("
  • "),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith("
    "+j+"
    "),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",A).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").fadeOut("fast",this.bind(function(){this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),this.close(),this.focusSearch()})).dequeue(),A(b))})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(a){var c,d,b=this.getVal();if(a=a.closest(".select2-search-choice"),0===a.length)throw"Invalid argument: "+a+". Must be .select2-search-choice";if(c=a.data("select2-data")){for(;(d=o(this.id(c),b))>=0;)b.splice(d,1),this.setVal(b),this.select&&this.postprocessResults();a.remove(),this.opts.element.trigger({type:"removed",val:this.id(c),choice:c}),this.triggerChange({removed:c})}},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));o(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&J(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("
  • "+g.opts.formatNoMatches(g.search.val())+"
  • ")},getMaxSearchWidth:function(){return this.selection.width()-s(this.search)},resizeSearch:function(){var a,b,c,d,e,f=s(this.search);a=C(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),r(a,this.opts.separator))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){o(this,c)<0&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c. Attach to instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var e,f,d=this;return 0===arguments.length?this.selection.find(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(f=this.data(),b||(b=[]),e=a.map(b,function(a){return d.opts.id(a)}),this.setVal(e),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(f,this.data())),void 0)}}),a.fn.select2=function(){var d,g,h,i,j,c=Array.prototype.slice.call(arguments,0),k=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],l=["opened","isFocused","container","dropdown"],m=["val","data"],n={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?j=d.element.prop("multiple"):(j=d.multiple||!1,"tags"in d&&(d.multiple=j=!0)),g=j?new f:new e,g.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(o(c[0],k)<0)throw"Unknown method: "+c[0];if(i=b,g=a(this).data("select2"),g===b)return;if(h=c[0],"container"===h?i=g.container:"dropdown"===h?i=g.dropdown:(n[h]&&(h=n[h]),i=g[h].apply(g,c.slice(1))),o(c[0],l)>=0||o(c[0],m)&&1==c.length)return!1}}),i===b?this:i},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return E(a.text,c.term,e,d),e.join("")},formatSelection:function(a,c,d){return a?d(a.text):b},sortResults:function(a){return a},formatResultCssClass:function(){return b},formatSelectionCssClass:function(){return b},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results..."},formatSearching:function(){return"Searching..."},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a.id},matcher:function(a,b){return n(""+b).toUpperCase().indexOf(n(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:M,escapeMarkup:F,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return b}},a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:G,local:H,tags:I},util:{debounce:v,markMatch:E,escapeMarkup:F,stripDiacritics:n},"class":{"abstract":d,single:e,multi:f}}}}(jQuery); \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-select2/select2.png b/public/assets/admin/libs/bootstrap-select2/select2.png deleted file mode 100644 index 1d804ffb9..000000000 Binary files a/public/assets/admin/libs/bootstrap-select2/select2.png and /dev/null differ diff --git a/public/assets/admin/libs/bootstrap-typeahead/bootstrap3-typeahead.min.js b/public/assets/admin/libs/bootstrap-typeahead/bootstrap3-typeahead.min.js deleted file mode 100644 index 9d3cb53cc..000000000 --- a/public/assets/admin/libs/bootstrap-typeahead/bootstrap3-typeahead.min.js +++ /dev/null @@ -1 +0,0 @@ -!function($){"use strict";var Typeahead=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.typeahead.defaults,options),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.select=this.options.select||this.select,this.autoSelect="boolean"==typeof this.options.autoSelect?this.options.autoSelect:!0,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=$(this.options.menu),this.shown=!1,this.listen(),this.showHintOnFocus="boolean"==typeof this.options.showHintOnFocus?this.options.showHintOnFocus:!1};Typeahead.prototype={constructor:Typeahead,select:function(){var val=this.$menu.find(".active").data("value");return(this.autoSelect||val)&&this.$element.val(this.updater(val)).change(),this.hide()},updater:function(item){return item},setSource:function(source){this.source=source},show:function(){var scrollHeight,pos=$.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return scrollHeight="function"==typeof this.options.scrollHeight?this.options.scrollHeight.call():this.options.scrollHeight,this.$menu.insertAfter(this.$element).css({top:pos.top+pos.height+scrollHeight,left:pos.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(query){var items;return this.query="undefined"!=typeof query&&null!==query?query:this.$element.val()||"",this.query.length"+match+""})},render:function(items){var that=this;return items=$(items).map(function(i,item){return i=$(that.options.item).data("value",item),i.find("a").html(that.highlighter(item)),i[0]}),this.autoSelect&&items.first().addClass("active"),this.$menu.html(items),this},next:function(){var active=this.$menu.find(".active").removeClass("active"),next=active.next();next.length||(next=$(this.$menu.find("li")[0])),next.addClass("active")},prev:function(){var active=this.$menu.find(".active").removeClass("active"),prev=active.prev();prev.length||(prev=this.$menu.find("li").last()),prev.addClass("active")},listen:function(){this.$element.on("focus",$.proxy(this.focus,this)).on("blur",$.proxy(this.blur,this)).on("keypress",$.proxy(this.keypress,this)).on("keyup",$.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",$.proxy(this.keydown,this)),this.$menu.on("click",$.proxy(this.click,this)).on("mouseenter","li",$.proxy(this.mouseenter,this)).on("mouseleave","li",$.proxy(this.mouseleave,this))},destroy:function(){this.$element.data("typeahead",null),this.$element.off("focus").off("blur").off("keypress").off("keyup"),this.eventSupported("keydown")&&this.$element.off("keydown"),this.$menu.remove()},eventSupported:function(eventName){var isSupported=eventName in this.$element;return isSupported||(this.$element.setAttribute(eventName,"return;"),isSupported="function"==typeof this.$element[eventName]),isSupported},move:function(e){if(this.shown){switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()}},keydown:function(e){this.suppressKeyPressRepeat=~$.inArray(e.keyCode,[40,38,9,13,27]),this.shown||40!=e.keyCode?this.move(e):this.lookup("")},keypress:function(e){this.suppressKeyPressRepeat||this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(){this.focused||(this.focused=!0,(0===this.options.minLength&&!this.$element.val()||this.options.showHintOnFocus)&&this.lookup())},blur:function(){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(e){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),$(e.currentTarget).addClass("active")},mouseleave:function(){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var old=$.fn.typeahead;$.fn.typeahead=function(option){var arg=arguments;return this.each(function(){var $this=$(this),data=$this.data("typeahead"),options="object"==typeof option&&option;data||$this.data("typeahead",data=new Typeahead(this,options)),"string"==typeof option&&(arg.length>1?data[option].apply(data,Array.prototype.slice.call(arg,1)):data[option]())})},$.fn.typeahead.defaults={source:[],items:8,menu:'',item:'
  • ',minLength:1,scrollHeight:0,autoSelect:!0},$.fn.typeahead.Constructor=Typeahead,$.fn.typeahead.noConflict=function(){return $.fn.typeahead=old,this},$(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(){var $this=$(this);$this.data("typeahead")||$this.typeahead($this.data())})}(window.jQuery); \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-validator/css/bootstrapValidator.min.css b/public/assets/admin/libs/bootstrap-validator/css/bootstrapValidator.min.css deleted file mode 100644 index 030cbdf75..000000000 --- a/public/assets/admin/libs/bootstrap-validator/css/bootstrapValidator.min.css +++ /dev/null @@ -1,13 +0,0 @@ -/** - * BootstrapValidator (http://bootstrapvalidator.com) - * - * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 - * - * @version v0.4.5 - * @author https://twitter.com/nghuuphuoc - * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc - * @license MIT - */ - - -.bv-form .help-block{margin-bottom:0}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442} \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-validator/js/bootstrapValidator.min.js b/public/assets/admin/libs/bootstrap-validator/js/bootstrapValidator.min.js deleted file mode 100644 index c10d0d567..000000000 --- a/public/assets/admin/libs/bootstrap-validator/js/bootstrapValidator.min.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * BootstrapValidator (http://bootstrapvalidator.com) - * - * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 - * - * @version v0.4.5 - * @author https://twitter.com/nghuuphuoc - * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc - * @license MIT - */ - -!function(a){var b=function(c,d){this.$form=a(c),this.options=a.extend({},b.DEFAULT_OPTIONS,d),this.$invalidField=null,this.$submitButton=null,this.STATUS_NOT_VALIDATED="NOT_VALIDATED",this.STATUS_VALIDATING="VALIDATING",this.STATUS_INVALID="INVALID",this.STATUS_VALID="VALID";var e=function(){for(var a=3,b=document.createElement("div"),c=b.all||[];b.innerHTML="",c[0];);return a>4?a:!a}(),f=document.createElement("div");this._changeEvent=9!==e&&"oninput"in f?"input":"keyup",this._submitIfValid=null,this._init()};b.DEFAULT_OPTIONS={elementClass:"bv-form",message:"This value is not valid",threshold:null,excluded:[":disabled",":hidden",":not(:visible)"],feedbackIcons:{valid:null,invalid:null,validating:null},submitButtons:'[type="submit"]',submitHandler:null,live:"enabled",fields:null},b.prototype={constructor:b,_init:function(){var b,c,d,e,f,g,h,i=this,j={excluded:this.$form.attr("data-bv-excluded"),trigger:this.$form.attr("data-bv-trigger"),message:this.$form.attr("data-bv-message"),submitButtons:this.$form.attr("data-bv-submitbuttons"),threshold:this.$form.attr("data-bv-threshold"),live:this.$form.attr("data-bv-live"),fields:{},feedbackIcons:{valid:this.$form.attr("data-bv-feedbackicons-valid"),invalid:this.$form.attr("data-bv-feedbackicons-invalid"),validating:this.$form.attr("data-bv-feedbackicons-validating")}};this.$form.attr("novalidate","novalidate").addClass(this.options.elementClass).on("submit.bv",function(a){a.preventDefault(),i.validate()}).on("click",this.options.submitButtons,function(){i.$submitButton=a(this),i._submitIfValid=!0}).find("[name], [data-bv-field]").each(function(){var k=a(this);if(!i._isExcluded(k)){var l=k.attr("name")||k.attr("data-bv-field"),m={};for(c in a.fn.bootstrapValidator.validators)if(b=a.fn.bootstrapValidator.validators[c],d=k.attr("data-bv-"+c.toLowerCase())+"",h="function"==typeof b.enableByHtml5?b.enableByHtml5(a(this)):null,h&&"false"!=d||h!==!0&&(""==d||"true"==d)){b.html5Attributes=b.html5Attributes||{message:"message"},m[c]=a.extend({},1==h?{}:h,m[c]);for(g in b.html5Attributes)e=b.html5Attributes[g],f=k.attr("data-bv-"+c.toLowerCase()+"-"+g),f&&("true"==f?f=!0:"false"==f&&(f=!1),m[c][e]=f)}var n={trigger:k.attr("data-bv-trigger"),message:k.attr("data-bv-message"),container:k.attr("data-bv-container"),selector:k.attr("data-bv-selector"),threshold:k.attr("data-bv-threshold"),validators:m};a.isEmptyObject(n.validators)||a.isEmptyObject(n)||(k.attr("data-bv-field",l),j.fields[l]=a.extend({},n,j.fields[l]))}}).end().find(this.options.submitButtons).each(function(){a("").attr("type","hidden").attr("name",a(this).attr("name")).val(a(this).val()).appendTo(i.$form)}),this.options=a.extend(!0,this.options,j);for(var k in this.options.fields)this._initField(k);this.setLiveMode(this.options.live)},_initField:function(b){if(null!=this.options.fields[b]&&null!=this.options.fields[b].validators){var c=this.getFieldElements(b);if(null==c)return void delete this.options.fields[b];for(var d in this.options.fields[b].validators)a.fn.bootstrapValidator.validators[d]||delete this.options.fields[b].validators[d];for(var e=this,f=c.attr("type"),g="radio"==f||"checkbox"==f||"file"==f||"SELECT"==c[0].tagName?"change":e._changeEvent,h=c.length,i=1==h||"radio"==f||"checkbox"==f,j=0;h>j;j++){var k=a(c[j]),l=k.parents(".form-group"),m=this.options.fields[b].container?l.find(this.options.fields[b].container):this._getMessageContainer(k);k.attr("data-bv-field")||k.attr("data-bv-field",b),k.on(g+".update.bv",function(){e._submitIfValid=!1,i?e.updateStatus(b,e.STATUS_NOT_VALIDATED,null):e.updateElementStatus(a(this),e.STATUS_NOT_VALIDATED,null)}),k.data("bv.messages",m);for(d in this.options.fields[b].validators)k.data("bv.result."+d,this.STATUS_NOT_VALIDATED),i&&j!=h-1||a("").css("display","none").attr("data-bv-validator",d).attr("data-bv-validator-for",b).html(this.options.fields[b].validators[d].message||this.options.fields[b].message||this.options.message).addClass("help-block").appendTo(m);if(this.options.feedbackIcons&&this.options.feedbackIcons.validating&&this.options.feedbackIcons.invalid&&this.options.feedbackIcons.valid&&(!i||j==h-1)){l.addClass("has-feedback");var n=a("").css("display","none").addClass("form-control-feedback").attr("data-bv-icon-for",b).insertAfter(k);0==l.find("label").length&&n.css("top",0)}}null==this.options.fields[b].enabled&&(this.options.fields[b].enabled=!0)}},_getMessageContainer:function(a){var b=a.parent();if(b.hasClass("form-group"))return b;var c=b.attr("class");if(!c)return this._getMessageContainer(b);c=c.split(" ");for(var d=c.length,e=0;d>e;e++)if(/^col-(xs|sm|md|lg)-\d+$/.test(c[e])||/^col-(xs|sm|md|lg)-offset-\d+$/.test(c[e]))return b;return this._getMessageContainer(b)},_submit:function(){if(this.isValid())this.options.submitHandler&&"function"==typeof this.options.submitHandler?this.options.submitHandler.call(this,this,this.$form,this.$submitButton):this.disableSubmitButtons(!0).defaultSubmit();else if("submitted"==this.options.live&&this.setLiveMode("enabled"),this.$invalidField){var b,c=this.$invalidField.parents(".tab-pane");c&&(b=c.attr("id"))&&a('a[href="#'+b+'"][data-toggle="tab"]').trigger("click.bs.tab.data-api"),this.$invalidField.focus()}},_isExcluded:function(b){if(this.options.excluded){"string"==typeof this.options.excluded&&(this.options.excluded=a.map(this.options.excluded.split(","),function(b){return a.trim(b)}));for(var c=this.options.excluded.length,d=0;c>d;d++)if("string"==typeof this.options.excluded[d]&&b.is(this.options.excluded[d])||"function"==typeof this.options.excluded[d]&&1==this.options.excluded[d].call(this,b,this))return!0}return!1},_exceedThreshold:function(a){var b=a.attr("data-bv-field"),c=this.options.fields[b].threshold||this.options.threshold;if(!c)return!0;var d=a.attr("type"),e=-1!=["button","checkbox","file","hidden","image","radio","reset","submit"].indexOf(d);return e||a.val().length>=c},getFieldElements:function(b){var c=this.options.fields[b].selector?a(this.options.fields[b].selector):this.$form.find('[name="'+b+'"]');return 0==c.length?null:c},setLiveMode:function(b){if(this.options.live=b,"submitted"==b)return this;var c=this;for(var d in this.options.fields)!function(e){var f=c.getFieldElements(e);if(f)for(var g=f.attr("type"),h=f.length,i=1==h||"radio"==g||"checkbox"==g,j=c.options.fields[d].trigger||c.options.trigger||("radio"==g||"checkbox"==g||"file"==g||"SELECT"==f[0].tagName?"change":c._changeEvent),k=a.map(j.split(" "),function(a){return a+".live.bv"}).join(" "),l=0;h>l;l++)"enabled"==b?a(f[l]).on(k,function(){c._exceedThreshold(a(this))&&(i?c.validateField(e):c.validateFieldElement(a(this),!1))}):a(f[l]).off(k)}(d);return this},disableSubmitButtons:function(a){return a?"disabled"!=this.options.live&&this.$form.find(this.options.submitButtons).attr("disabled","disabled"):this.$form.find(this.options.submitButtons).removeAttr("disabled"),this},validate:function(){if(!this.options.fields)return this;this.disableSubmitButtons(!0);for(var a in this.options.fields)this.validateField(a);return this.$submitButton&&this._submit(),this},validateField:function(b){for(var c=this.getFieldElements(b),d=c.attr("type"),e="radio"==d||"checkbox"==d?1:c.length,f=0;e>f;f++)this.validateFieldElement(a(c[f]),1==e);return this},validateFieldElement:function(b,c){var d,e,f=this,g=b.attr("data-bv-field"),h=this.options.fields[g].validators;if(!this.options.fields[g].enabled||this._isExcluded(b))return this;for(d in h){b.data("bv.dfs."+d)&&b.data("bv.dfs."+d).reject();var i=b.data("bv.result."+d);i!=this.STATUS_VALID&&i!=this.STATUS_INVALID&&(b.data("bv.result."+d,this.STATUS_VALIDATING),e=a.fn.bootstrapValidator.validators[d].validate(this,b,h[d]),"object"==typeof e?(c?this.updateStatus(g,this.STATUS_VALIDATING,d):this.updateElementStatus(b,this.STATUS_VALIDATING,d),b.data("bv.dfs."+d,e),e.done(function(a,b,d){a.removeData("bv.dfs."+b),c?f.updateStatus(a.attr("data-bv-field"),d?f.STATUS_VALID:f.STATUS_INVALID,b):f.updateElementStatus(a,d?f.STATUS_VALID:f.STATUS_INVALID,b),d&&1==f._submitIfValid&&f._submit()})):"boolean"==typeof e&&(c?this.updateStatus(g,e?this.STATUS_VALID:this.STATUS_INVALID,d):this.updateElementStatus(b,e?this.STATUS_VALID:this.STATUS_INVALID,d)))}return this},updateStatus:function(b,c,d){for(var e=this.getFieldElements(b),f=e.attr("type"),g="radio"==f||"checkbox"==f?1:e.length,h=0;g>h;h++)this.updateElementStatus(a(e[h]),c,d);return this},updateElementStatus:function(b,c,d){var e=this,f=b.attr("data-bv-field"),g=b.parents(".form-group"),h=b.data("bv.messages"),i=h.find(".help-block[data-bv-validator]"),j=g.find('.form-control-feedback[data-bv-icon-for="'+f+'"]');if(d)b.data("bv.result."+d,c);else for(var k in this.options.fields[f].validators)b.data("bv.result."+k,c);var l,m,n=b.parents(".tab-pane");switch(n&&(l=n.attr("id"))&&(m=a('a[href="#'+l+'"][data-toggle="tab"]').parent()),c){case this.STATUS_VALIDATING:this.disableSubmitButtons(!0),g.removeClass("has-success").removeClass("has-error"),d?i.filter('.help-block[data-bv-validator="'+d+'"]').hide():i.hide(),j&&j.removeClass(this.options.feedbackIcons.valid).removeClass(this.options.feedbackIcons.invalid).addClass(this.options.feedbackIcons.validating).show(),m&&m.removeClass("bv-tab-success").removeClass("bv-tab-error");break;case this.STATUS_INVALID:this.disableSubmitButtons(!0),g.removeClass("has-success").addClass("has-error"),d?i.filter('[data-bv-validator="'+d+'"]').show():i.show(),j&&j.removeClass(this.options.feedbackIcons.valid).removeClass(this.options.feedbackIcons.validating).addClass(this.options.feedbackIcons.invalid).show(),m&&m.removeClass("bv-tab-success").addClass("bv-tab-error");break;case this.STATUS_VALID:d?i.filter('[data-bv-validator="'+d+'"]').hide():i.hide();var o=0==i.filter(function(){var c=a(this).css("display"),d=a(this).attr("data-bv-validator");return"block"==c||b.data("bv.result."+d)!=e.STATUS_VALID}).length;this.disableSubmitButtons(!o),j&&j.removeClass(this.options.feedbackIcons.invalid).removeClass(this.options.feedbackIcons.validating).removeClass(this.options.feedbackIcons.valid).addClass(o?this.options.feedbackIcons.valid:this.options.feedbackIcons.invalid).show();var p=function(c){return 0==c.find(".help-block[data-bv-validator]").filter(function(){var c=a(this).css("display"),d=a(this).attr("data-bv-validator");return"block"==c||b.data("bv.result."+d)&&b.data("bv.result."+d)!=e.STATUS_VALID}).length};g.removeClass("has-error has-success").addClass(p(g)?"has-success":"has-error"),m&&m.removeClass("bv-tab-success").removeClass("bv-tab-error").addClass(p(n)?"bv-tab-success":"bv-tab-error");break;case this.STATUS_NOT_VALIDATED:default:this.disableSubmitButtons(!1),g.removeClass("has-success").removeClass("has-error"),d?i.filter('.help-block[data-bv-validator="'+d+'"]').hide():i.hide(),j&&j.removeClass(this.options.feedbackIcons.valid).removeClass(this.options.feedbackIcons.invalid).removeClass(this.options.feedbackIcons.validating).hide(),m&&m.removeClass("bv-tab-success").removeClass("bv-tab-error")}return this},isValid:function(){var b,c,d,e,f,g,h,i;for(c in this.options.fields)if(null!=this.options.fields[c]&&this.options.fields[c].enabled)for(b=this.getFieldElements(c),e=b.attr("type"),h="radio"==e||"checkbox"==e?1:b.length,i=0;h>i;i++)if(d=a(b[i]),!this._isExcluded(d))for(g in this.options.fields[c].validators){if(f=d.data("bv.result."+g),f==this.STATUS_NOT_VALIDATED||f==this.STATUS_VALIDATING)return!1;if(f==this.STATUS_INVALID)return this.$invalidField=d,!1}return!0},defaultSubmit:function(){this.$form.off("submit.bv").submit()},resetForm:function(b){var c,d,e,f,g;for(c in this.options.fields){d=this.getFieldElements(c),e=d.length;for(var h=0;e>h;h++)for(g in this.options.fields[c].validators)a(d[h]).removeData("bv.dfs."+g);this.updateStatus(c,this.STATUS_NOT_VALIDATED,null),b&&(f=d.attr("type"),"radio"==f||"checkbox"==f?d.removeAttr("checked").removeAttr("selected"):d.val(""))}return this.$invalidField=null,this.$submitButton=null,this.disableSubmitButtons(!1),this},enableFieldValidators:function(a,b){return this.options.fields[a].enabled=b,this.updateStatus(a,this.STATUS_NOT_VALIDATED,null),this}},a.fn.bootstrapValidator=function(c){var d=arguments;return this.each(function(){var e=a(this),f=e.data("bootstrapValidator"),g="object"==typeof c&&c;f||(f=new b(this,g),e.data("bootstrapValidator",f)),"string"==typeof c&&f[c].apply(f,Array.prototype.slice.call(d,1))})},a.fn.bootstrapValidator.validators={},a.fn.bootstrapValidator.Constructor=b,a.fn.bootstrapValidator.helpers={date:function(a,b,c,d){if(1e3>a||a>9999||0==b||b>12)return!1;var e=[31,28,31,30,31,30,31,31,30,31,30,31];if((a%400==0||a%100!=0&&a%4==0)&&(e[1]=29),0>c||c>e[b-1])return!1;if(d===!0){var f=new Date,g=f.getFullYear(),h=f.getMonth(),i=f.getDate();return g>a||a==g&&h>b-1||a==g&&b-1==h&&i>c}return!0},luhn:function(a){for(var b=a.length,c=0,d=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],e=0;b--;)e+=d[c][parseInt(a.charAt(b),10)],c^=1;return e%10===0&&e>0},mod_11_10:function(a){for(var b=5,c=a.length,d=0;c>d;d++)b=(2*(b||10)%11+parseInt(a.charAt(d),10))%10;return 1==b},mod_37_36:function(a,b){b=b||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";for(var c=b.length,d=a.length,e=Math.floor(c/2),f=0;d>f;f++)e=(2*(e||c)%(c+1)+b.indexOf(a.charAt(f)))%c;return 1==e}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.base64={validate:function(a,b){var c=b.val();return""==c?!0:/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.between={html5Attributes:{message:"message",min:"min",max:"max",inclusive:"inclusive"},enableByHtml5:function(a){return"range"==a.attr("type")?{min:a.attr("min"),max:a.attr("max")}:!1},validate:function(a,b,c){var d=b.val();return""==d?!0:(d=parseFloat(d),c.inclusive===!0?d>c.min&&d=c.min&&d<=c.max)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.callback={validate:function(b,c,d){var e=c.val();if(d.callback&&"function"==typeof d.callback){var f=new a.Deferred;return f.resolve(c,"callback",d.callback.call(this,e,b)),f}return!0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.choice={html5Attributes:{message:"message",min:"min",max:"max"},validate:function(a,b,c){var d=b.is("select")?a.getFieldElements(b.attr("data-bv-field")).find("option").filter(":selected").length:a.getFieldElements(b.attr("data-bv-field")).filter(":checked").length;return c.min&&dc.max?!1:!0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.creditCard={validate:function(b,c){var d=c.val();if(""==d)return!0;if(/[^0-9-\s]+/.test(d))return!1;if(d=d.replace(/\D/g,""),!a.fn.bootstrapValidator.helpers.luhn(d))return!1;var e,f,g={AMERICAN_EXPRESS:{length:[15],prefix:["34","37"]},DINERS_CLUB:{length:[14],prefix:["300","301","302","303","304","305","36"]},DINERS_CLUB_US:{length:[16],prefix:["54","55"]},DISCOVER:{length:[16],prefix:["6011","622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925","644","645","646","647","648","649","65"]},JCB:{length:[16],prefix:["3528","3529","353","354","355","356","357","358"]},LASER:{length:[16,17,18,19],prefix:["6304","6706","6771","6709"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:["5018","5020","5038","6304","6759","6761","6762","6763","6764","6765","6766"]},MASTERCARD:{length:[16],prefix:["51","52","53","54","55"]},SOLO:{length:[16,18,19],prefix:["6334","6767"]},UNIONPAY:{length:[16,17,18,19],prefix:["622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925"]},VISA:{length:[16],prefix:["4"]}};for(e in g)for(f in g[e].prefix)if(d.substr(0,g[e].prefix[f].length)==g[e].prefix[f]&&-1!=g[e].length.indexOf(d.length))return!0;return!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.cusip={validate:function(b,c){var d=c.val();if(""==d)return!0;if(d=d.toUpperCase(),!/^[0-9A-Z]{9}$/.test(d))return!1;for(var e=a.map(d.split(""),function(a){var b=a.charCodeAt(0);return b>="A".charCodeAt(0)&&b<="Z".charCodeAt(0)?b-"A".charCodeAt(0)+10:a}),f=e.length,g=0,h=0;f-1>h;h++){var i=parseInt(e[h]);h%2!=0&&(i*=2),i>9&&(i-=9),g+=i}return g=(10-g%10)%10,g==e[f-1]}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.cvv={html5Attributes:{message:"message",ccfield:"creditCardField"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;if(!/^[0-9]{3,4}$/.test(d))return!1;if(!c.creditCardField)return!0;var e=a.getFieldElements(c.creditCardField).val();if(""==e)return!0;e=e.replace(/\D/g,"");var f,g,h={AMERICAN_EXPRESS:{length:[15],prefix:["34","37"]},DINERS_CLUB:{length:[14],prefix:["300","301","302","303","304","305","36"]},DINERS_CLUB_US:{length:[16],prefix:["54","55"]},DISCOVER:{length:[16],prefix:["6011","622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925","644","645","646","647","648","649","65"]},JCB:{length:[16],prefix:["3528","3529","353","354","355","356","357","358"]},LASER:{length:[16,17,18,19],prefix:["6304","6706","6771","6709"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:["5018","5020","5038","6304","6759","6761","6762","6763","6764","6765","6766"]},MASTERCARD:{length:[16],prefix:["51","52","53","54","55"]},SOLO:{length:[16,18,19],prefix:["6334","6767"]},UNIONPAY:{length:[16,17,18,19],prefix:["622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925"]},VISA:{length:[16],prefix:["4"]}},i=null;for(f in h)for(g in h[f].prefix)if(e.substr(0,h[f].prefix[g].length)==h[f].prefix[g]&&-1!=h[f].length.indexOf(e.length)){i=f;break}return null==i?!1:"AMERICAN_EXPRESS"==i?4==d.length:3==d.length}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.date={html5Attributes:{message:"message",format:"format"},validate:function(b,c,d){var e=c.val();if(""==e)return!0;d.format=d.format||"MM/DD/YYYY";var f=d.format.split(" "),g=f[0],h=f.length>1?f[1]:null,i=f.length>2?f[2]:null,j=e.split(" "),k=j[0],l=j.length>1?j[1]:null;if(f.length!=j.length)return!1;var m=-1!=k.indexOf("/")?"/":-1!=k.indexOf("-")?"-":null;if(null==m)return!1;k=k.split(m),g=g.split(m);var n=k[g.indexOf("YYYY")],o=k[g.indexOf("MM")],p=k[g.indexOf("DD")],q=null,r=null,s=null;if(h){if(h=h.split(":"),l=l.split(":"),h.length!=l.length)return!1;if(r=l.length>0?l[0]:null,q=l.length>1?l[1]:null,s=l.length>2?l[2]:null,s&&(s=parseInt(s,10),0>s||s>60))return!1;if(r&&(r=parseInt(r,10),0>r||r>=24||i&&r>12))return!1;if(q&&(q=parseInt(q,10),0>q||q>59))return!1}return p=parseInt(p,10),o=parseInt(o,10),n=parseInt(n,10),a.fn.bootstrapValidator.helpers.date(n,o,p)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.different={html5Attributes:{message:"message",field:"field"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=a.getFieldElements(c.field);return null==e?!0:d!=e.val()?(a.updateStatus(c.field,a.STATUS_VALID,"different"),!0):!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.digits={validate:function(a,b){var c=b.val();return""==c?!0:/^\d+$/.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.ean={validate:function(a,b){var c=b.val();if(""==c)return!0;if(!/^(\d{8}|\d{12}|\d{13})$/.test(c))return!1;for(var d=c.length,e=0,f=8==d?[3,1]:[1,3],g=0;d-1>g;g++)e+=parseInt(c.charAt(g))*f[g%2];return e=10-e%10,e==c.charAt(d-1)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.emailAddress={enableByHtml5:function(a){return"email"==a.attr("type")},validate:function(a,b){var c=b.val();if(""==c)return!0;var d=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return d.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.file={html5Attributes:{extension:"extension",maxsize:"maxSize",message:"message",type:"type"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e,f=c.extension?c.extension.split(","):null,g=c.type?c.type.split(","):null,h=window.File&&window.FileList&&window.FileReader;if(h)for(var i=b.get(0).files,j=i.length,k=0;j>k;k++){if(c.maxSize&&i[k].size>parseInt(c.maxSize))return!1;if(e=i[k].name.substr(i[k].name.lastIndexOf(".")+1),f&&-1==f.indexOf(e))return!1;if(g&&-1==g.indexOf(i[k].type))return!1}else if(e=d.substr(d.lastIndexOf(".")+1),f&&-1==f.indexOf(e))return!1;return!0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.greaterThan={html5Attributes:{message:"message",value:"value",inclusive:"inclusive"},enableByHtml5:function(a){var b=a.attr("min");return b?{value:b}:!1},validate:function(a,b,c){var d=b.val();return""==d?!0:(d=parseFloat(d),c.inclusive===!0?d>c.value:d>=c.value)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.grid={validate:function(b,c){var d=c.val();return""==d?!0:(d=d.toUpperCase(),/^[GRID:]*([0-9A-Z]{2})[-\s]*([0-9A-Z]{5})[-\s]*([0-9A-Z]{10})[-\s]*([0-9A-Z]{1})$/g.test(d)?(d=d.replace(/\s/g,"").replace(/-/g,""),"GRID:"==d.substr(0,5)&&(d=d.substr(5)),a.fn.bootstrapValidator.helpers.mod_37_36(d)):!1)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.hex={validate:function(a,b){var c=b.val();return""==c?!0:/^[0-9a-fA-F]+$/.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.hexColor={enableByHtml5:function(a){return"color"==a.attr("type")},validate:function(a,b){var c=b.val();return""==c?!0:/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.iban={html5Attributes:{message:"message",country:"country"},validate:function(b,c,d){var e=c.val();if(""==e)return!0;var f={AD:"AD[0-9]{2}[0-9]{4}[0-9]{4}[A-Z0-9]{12}",AE:"AE[0-9]{2}[0-9]{3}[0-9]{16}",AL:"AL[0-9]{2}[0-9]{8}[A-Z0-9]{16}",AO:"AO[0-9]{2}[0-9]{21}",AT:"AT[0-9]{2}[0-9]{5}[0-9]{11}",AZ:"AZ[0-9]{2}[A-Z]{4}[A-Z0-9]{20}",BA:"BA[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{8}[0-9]{2}",BE:"BE[0-9]{2}[0-9]{3}[0-9]{7}[0-9]{2}",BF:"BF[0-9]{2}[0-9]{23}",BG:"BG[0-9]{2}[A-Z]{4}[0-9]{4}[0-9]{2}[A-Z0-9]{8}",BH:"BH[0-9]{2}[A-Z]{4}[A-Z0-9]{14}",BI:"BI[0-9]{2}[0-9]{12}",BJ:"BJ[0-9]{2}[A-Z]{1}[0-9]{23}",BR:"BR[0-9]{2}[0-9]{8}[0-9]{5}[0-9]{10}[A-Z][A-Z0-9]",CH:"CH[0-9]{2}[0-9]{5}[A-Z0-9]{12}",CI:"CI[0-9]{2}[A-Z]{1}[0-9]{23}",CM:"CM[0-9]{2}[0-9]{23}",CR:"CR[0-9]{2}[0-9]{3}[0-9]{14}",CV:"CV[0-9]{2}[0-9]{21}",CY:"CY[0-9]{2}[0-9]{3}[0-9]{5}[A-Z0-9]{16}",CZ:"CZ[0-9]{2}[0-9]{20}",DE:"DE[0-9]{2}[0-9]{8}[0-9]{10}",DK:"DK[0-9]{2}[0-9]{14}",DO:"DO[0-9]{2}[A-Z0-9]{4}[0-9]{20}",DZ:"DZ[0-9]{2}[0-9]{20}",EE:"EE[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{11}[0-9]{1}",ES:"ES[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{1}[0-9]{1}[0-9]{10}",FI:"FI[0-9]{2}[0-9]{6}[0-9]{7}[0-9]{1}",FO:"FO[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",FR:"FR[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",GB:"GB[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",GE:"GE[0-9]{2}[A-Z]{2}[0-9]{16}",GI:"GI[0-9]{2}[A-Z]{4}[A-Z0-9]{15}",GL:"GL[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",GR:"GR[0-9]{2}[0-9]{3}[0-9]{4}[A-Z0-9]{16}",GT:"GT[0-9]{2}[A-Z0-9]{4}[A-Z0-9]{20}",HR:"HR[0-9]{2}[0-9]{7}[0-9]{10}",HU:"HU[0-9]{2}[0-9]{3}[0-9]{4}[0-9]{1}[0-9]{15}[0-9]{1}",IE:"IE[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",IL:"IL[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{13}",IR:"IR[0-9]{2}[0-9]{22}",IS:"IS[0-9]{2}[0-9]{4}[0-9]{2}[0-9]{6}[0-9]{10}",IT:"IT[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",JO:"JO[0-9]{2}[A-Z]{4}[0-9]{4}[0]{8}[A-Z0-9]{10}",KW:"KW[0-9]{2}[A-Z]{4}[0-9]{22}",KZ:"KZ[0-9]{2}[0-9]{3}[A-Z0-9]{13}",LB:"LB[0-9]{2}[0-9]{4}[A-Z0-9]{20}",LI:"LI[0-9]{2}[0-9]{5}[A-Z0-9]{12}",LT:"LT[0-9]{2}[0-9]{5}[0-9]{11}",LU:"LU[0-9]{2}[0-9]{3}[A-Z0-9]{13}",LV:"LV[0-9]{2}[A-Z]{4}[A-Z0-9]{13}",MC:"MC[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",MD:"MD[0-9]{2}[A-Z0-9]{20}",ME:"ME[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",MG:"MG[0-9]{2}[0-9]{23}",MK:"MK[0-9]{2}[0-9]{3}[A-Z0-9]{10}[0-9]{2}",ML:"ML[0-9]{2}[A-Z]{1}[0-9]{23}",MR:"MR13[0-9]{5}[0-9]{5}[0-9]{11}[0-9]{2}",MT:"MT[0-9]{2}[A-Z]{4}[0-9]{5}[A-Z0-9]{18}",MU:"MU[0-9]{2}[A-Z]{4}[0-9]{2}[0-9]{2}[0-9]{12}[0-9]{3}[A-Z]{3}",MZ:"MZ[0-9]{2}[0-9]{21}",NL:"NL[0-9]{2}[A-Z]{4}[0-9]{10}",NO:"NO[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{1}",PK:"PK[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",PL:"PL[0-9]{2}[0-9]{8}[0-9]{16}",PS:"PS[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",PT:"PT[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{11}[0-9]{2}",QA:"QA[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",RO:"RO[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",RS:"RS[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",SA:"SA[0-9]{2}[0-9]{2}[A-Z0-9]{18}",SE:"SE[0-9]{2}[0-9]{3}[0-9]{16}[0-9]{1}",SI:"SI[0-9]{2}[0-9]{5}[0-9]{8}[0-9]{2}",SK:"SK[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{10}",SM:"SM[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",SN:"SN[0-9]{2}[A-Z]{1}[0-9]{23}",TN:"TN59[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",TR:"TR[0-9]{2}[0-9]{5}[A-Z0-9]{1}[A-Z0-9]{16}",VG:"VG[0-9]{2}[A-Z]{4}[0-9]{16}"};e=e.replace(/[^a-zA-Z0-9]/g,"").toUpperCase();var g=d.country||e.substr(0,2);if(!f[g])return!1;if(!new RegExp("^"+f[g]+"$").test(e))return!1;e=e.substr(4)+e.substr(0,4),e=a.map(e.split(""),function(a){var b=a.charCodeAt(0);return b>="A".charCodeAt(0)&&b<="Z".charCodeAt(0)?b-"A".charCodeAt(0)+10:a}),e=e.join("");for(var h=parseInt(e.substr(0,1),10),i=e.length,j=1;i>j;++j)h=(10*h+parseInt(e.substr(j,1),10))%97;return 1==h}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.id={html5Attributes:{message:"message",country:"country"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=c.country||d.substr(0,2),f=["_",e.toLowerCase()].join("");return this[f]&&"function"==typeof this[f]?this[f](d):!0},_validateJMBG:function(a,b){if(!/^\d{13}$/.test(a))return!1;var c=parseInt(a.substr(0,2),10),d=parseInt(a.substr(2,2),10),e=(parseInt(a.substr(4,3),10),parseInt(a.substr(7,2),10)),f=parseInt(a.substr(12,1),10);if(c>31||d>12)return!1;for(var g=0,h=0;6>h;h++)g+=(7-h)*(parseInt(a.charAt(h))+parseInt(a.charAt(h+6)));if(g=11-g%11,(10==g||11==g)&&(g=0),g!=f)return!1;switch(b.toUpperCase()){case"BA":return e>=10&&19>=e;case"MK":return e>=41&&49>=e;case"ME":return e>=20&&29>=e;case"RS":return e>=70&&99>=e;case"SI":return e>=50&&59>=e;default:return!0}},_ba:function(a){return this._validateJMBG(a,"BA")},_mk:function(a){return this._validateJMBG(a,"MK")},_me:function(a){return this._validateJMBG(a,"ME")},_rs:function(a){return this._validateJMBG(a,"RS")},_si:function(a){return this._validateJMBG(a,"SI")},_bg:function(b){if(!/^\d{10}$/.test(b)&&!/^\d{6}\s\d{3}\s\d{1}$/.test(b))return!1;b=b.replace(/\s/g,"");var c=parseInt(b.substr(0,2),10)+1900,d=parseInt(b.substr(2,2),10),e=parseInt(b.substr(4,2),10);if(d>40?(c+=100,d-=40):d>20&&(c-=100,d-=20),!a.fn.bootstrapValidator.helpers.date(c,d,e))return!1;for(var f=0,g=[2,4,8,5,10,9,7,3,6],h=0;9>h;h++)f+=parseInt(b.charAt(h))*g[h];return f=f%11%10,f==b.substr(9,1)},_br:function(a){if(/^1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}$/.test(a))return!1;if(!/^\d{11}$/.test(a)&&!/^\d{3}\.\d{3}\.\d{3}-\d{2}$/.test(a))return!1;a=a.replace(/\./g,"").replace(/-/g,"");for(var b=0,c=0;9>c;c++)b+=(10-c)*parseInt(a.charAt(c));if(b=11-b%11,(10==b||11==b)&&(b=0),b!=a.charAt(9))return!1;var d=0;for(c=0;10>c;c++)d+=(11-c)*parseInt(a.charAt(c));return d=11-d%11,(10==d||11==d)&&(d=0),d==a.charAt(10)},_ch:function(a){if(!/^756[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{2}$/.test(a))return!1;a=a.replace(/\D/g,"").substr(3);for(var b=a.length,c=0,d=8==b?[3,1]:[1,3],e=0;b-1>e;e++)c+=parseInt(a.charAt(e))*d[e%2];return c=10-c%10,c==a.charAt(b-1)},_cl:function(a){if(!/^\d{7,8}[-]{0,1}[0-9K]$/.test(a))return!1;for(a=a.replace(/\D/g,"");a.length<9;)a="0"+a;for(var b=0,c=[3,2,7,6,5,4,3,2],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b=11-b%11,11==b?b=0:10==b&&(b="K"),b==a.charAt(8)},_cz:function(b){if(!/^\d{9,10}$/.test(b))return!1;var c=1900+parseInt(b.substr(0,2)),d=parseInt(b.substr(2,2))%50%20,e=parseInt(b.substr(4,2));if(9==b.length){if(c>=1980&&(c-=100),c>1953)return!1}else 1954>c&&(c+=100);if(!a.fn.bootstrapValidator.helpers.date(c,d,e))return!1;if(10==b.length){var f=parseInt(b.substr(0,9),10)%11;return 1985>c&&(f%=10),f==b.substr(9,1)}return!0},_dk:function(b){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(b))return!1;b=b.replace(/-/g,"");var c=parseInt(b.substr(0,2),10),d=parseInt(b.substr(2,2),10),e=parseInt(b.substr(4,2),10);switch(!0){case-1!="5678".indexOf(b.charAt(6))&&e>=58:e+=1800;break;case-1!="0123".indexOf(b.charAt(6)):case-1!="49".indexOf(b.charAt(6))&&e>=37:e+=1900;break;default:e+=2e3}return a.fn.bootstrapValidator.helpers.date(e,d,c)},_ee:function(a){return this._lt(a)},_es:function(a){if(!/^[0-9A-Z]{8}[-]{0,1}[0-9A-Z]$/.test(a)&&!/^[XYZ][-]{0,1}[0-9]{7}[-]{0,1}[0-9A-Z]$/.test(a))return!1;a=a.replace(/-/g,"");var b="XYZ".indexOf(a.charAt(0));-1!=b&&(a=b+a.substr(1)+"");var c=parseInt(a.substr(0,8),10);return c="TRWAGMYFPDXBNJZSQVHLCKE"[c%23],c==a.substr(8,1)},_fi:function(b){if(!/^[0-9]{6}[-+A][0-9]{3}[0-9ABCDEFHJKLMNPRSTUVWXY]$/.test(b))return!1;var c=parseInt(b.substr(0,2),10),d=parseInt(b.substr(2,2),10),e=parseInt(b.substr(4,2),10),f={"+":1800,"-":1900,A:2e3};if(e=f[b.charAt(6)]+e,!a.fn.bootstrapValidator.helpers.date(e,d,c))return!1;var g=parseInt(b.substr(7,3));if(2>g)return!1;var h=b.substr(0,6)+b.substr(7,3)+"";return h=parseInt(h),"0123456789ABCDEFHJKLMNPRSTUVWXY".charAt(h%31)==b.charAt(10)},_hr:function(b){return/^[0-9]{11}$/.test(b)?a.fn.bootstrapValidator.helpers.mod_11_10(b):!1},_ie:function(a){if(!/^\d{7}[A-W][AHWTX]?$/.test(a))return!1;var b=function(a){for(;a.length<7;)a="0"+a;for(var b="WABCDEFGHIJKLMNOPQRSTUV",c=0,d=0;7>d;d++)c+=parseInt(a.charAt(d))*(8-d);return c+=9*b.indexOf(a.substr(7)),b[c%23]};return 9!=a.length||"A"!=a.charAt(8)&&"H"!=a.charAt(8)?a.charAt(7)==b(a.substr(0,7)):a.charAt(7)==b(a.substr(0,7)+a.substr(8)+"")},_is:function(b){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(b))return!1;b=b.replace(/-/g,"");var c=parseInt(b.substr(0,2),10),d=parseInt(b.substr(2,2),10),e=parseInt(b.substr(4,2),10),f=parseInt(b.charAt(9));if(e=9==f?1900+e:100*(20+f)+e,!a.fn.bootstrapValidator.helpers.date(e,d,c,!0))return!1;for(var g=0,h=[3,2,7,6,5,4,3,2],i=0;8>i;i++)g+=parseInt(b.charAt(i))*h[i];return g=11-g%11,g==b.charAt(8)},_lt:function(b){if(!/^[0-9]{11}$/.test(b))return!1;var c=parseInt(b.charAt(0)),d=parseInt(b.substr(1,2),10),e=parseInt(b.substr(3,2),10),f=parseInt(b.substr(5,2),10),g=c%2==0?17+c/2:17+(c+1)/2;if(d=100*g+d,!a.fn.bootstrapValidator.helpers.date(d,e,f,!0))return!1;for(var h=0,i=[1,2,3,4,5,6,7,8,9,1],j=0;10>j;j++)h+=parseInt(b.charAt(j))*i[j];if(h%=11,10!=h)return h==b.charAt(10);for(h=0,i=[3,4,5,6,7,8,9,1,2,3],j=0;10>j;j++)h+=parseInt(b.charAt(j))*i[j];return h%=11,10==h&&(h=0),h==b.charAt(10)},_lv:function(b){if(!/^[0-9]{6}[-]{0,1}[0-9]{5}$/.test(b))return!1;b=b.replace(/\D/g,"");var c=parseInt(b.substr(0,2)),d=parseInt(b.substr(2,2)),e=parseInt(b.substr(4,2));if(e=e+1800+100*parseInt(b.charAt(6)),!a.fn.bootstrapValidator.helpers.date(e,d,c,!0))return!1;for(var f=0,g=[10,5,8,4,2,1,6,3,7,9],h=0;10>h;h++)f+=parseInt(b.charAt(h))*g[h];return f=(f+1)%11%10,f==b.charAt(10)},_nl:function(a){for(;a.length<9;)a="0"+a;if(!/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(a))return!1;if(a=a.replace(/\./g,""),0==parseInt(a,10))return!1;for(var b=0,c=a.length,d=0;c-1>d;d++)b+=(9-d)*parseInt(a.charAt(d));return b%=11,10==b&&(b=0),b==a.charAt(c-1)},_ro:function(b){if(!/^[0-9]{13}$/.test(b))return!1;var c=parseInt(b.charAt(0));if(0==c||7==c||8==c)return!1;var d=parseInt(b.substr(1,2),10),e=parseInt(b.substr(3,2),10),f=parseInt(b.substr(5,2),10),g={1:1900,2:1900,3:1800,4:1800,5:2e3,6:2e3};if(f>31&&e>12)return!1;if(9!=c&&(d=g[c+""]+d,!a.fn.bootstrapValidator.helpers.date(d,e,f)))return!1;for(var h=0,i=[2,7,9,1,4,6,3,5,8,2,7,9],j=b.length,k=0;j-1>k;k++)h+=parseInt(b.charAt(k))*i[k]; -return h%=11,10==h&&(h=1),h==b.charAt(j-1)},_se:function(b){if(!/^[0-9]{10}$/.test(b)&&!/^[0-9]{6}[-|+][0-9]{4}$/.test(b))return!1;b=b.replace(/[^0-9]/g,"");var c=parseInt(b.substr(0,2))+1900,d=parseInt(b.substr(2,2)),e=parseInt(b.substr(4,2));return a.fn.bootstrapValidator.helpers.date(c,d,e)?a.fn.bootstrapValidator.helpers.luhn(b):!1},_sk:function(a){return this._cz(a)},_sm:function(a){return/^\d{5}$/.test(a)},_za:function(b){if(!/^[0-9]{10}[0|1][8|9][0-9]$/.test(b))return!1;var c=parseInt(b.substr(0,2)),d=(new Date).getFullYear()%100,e=parseInt(b.substr(2,2)),f=parseInt(b.substr(4,2));return c=c>=d?c+1900:c+2e3,a.fn.bootstrapValidator.helpers.date(c,e,f)?a.fn.bootstrapValidator.helpers.luhn(b):!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.identical={html5Attributes:{message:"message",field:"field"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=a.getFieldElements(c.field);return null==e?!0:d==e.val()?(a.updateStatus(c.field,a.STATUS_VALID,"identical"),!0):!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.imei={validate:function(b,c){var d=c.val();if(""==d)return!0;switch(!0){case/^\d{15}$/.test(d):case/^\d{2}-\d{6}-\d{6}-\d{1}$/.test(d):case/^\d{2}\s\d{6}\s\d{6}\s\d{1}$/.test(d):return d=d.replace(/[^0-9]/g,""),a.fn.bootstrapValidator.helpers.luhn(d);case/^\d{14}$/.test(d):case/^\d{16}$/.test(d):case/^\d{2}-\d{6}-\d{6}(|-\d{2})$/.test(d):case/^\d{2}\s\d{6}\s\d{6}(|\s\d{2})$/.test(d):return!0;default:return!1}}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.integer={enableByHtml5:function(a){return"number"==a.attr("type")},validate:function(a,b){var c=b.val();return""==c?!0:/^(?:-?(?:0|[1-9][0-9]*))$/.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.ip={html5Attributes:{message:"message",ipv4:"ipv4",ipv6:"ipv6"},validate:function(b,c,d){var e=c.val();return""==e?!0:(d=a.extend({},{ipv4:!0,ipv6:!0},d),d.ipv4?/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e):d.ipv6?/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/.test(str):!1)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.isbn={validate:function(a,b){var c=b.val();if(""==c)return!0;var d;switch(!0){case/^\d{9}[\dX]$/.test(c):case 13==c.length&&/^(\d+)-(\d+)-(\d+)-([\dX])$/.test(c):case 13==c.length&&/^(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(c):d="ISBN10";break;case/^(978|979)\d{9}[\dX]$/.test(c):case 17==c.length&&/^(978|979)-(\d+)-(\d+)-(\d+)-([\dX])$/.test(c):case 17==c.length&&/^(978|979)\s(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(c):d="ISBN13";break;default:return!1}c=c.replace(/[^0-9X]/gi,"");var e,f=c.split(""),g=f.length,h=0;switch(d){case"ISBN10":h=0;for(var i=0;g-1>i;i++)h+=(10-i)*parseInt(f[i]);return e=11-h%11,11==e?e=0:10==e&&(e="X"),e+""==f[g-1];case"ISBN13":h=0;for(var i=0;g-1>i;i++)h+=i%2==0?parseInt(f[i]):3*parseInt(f[i]);return e=10-h%10,10==e&&(e="0"),e+""==f[g-1];default:return!1}}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.isin={COUNTRY_CODES:"AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW",validate:function(a,b){var c=b.val();if(""==c)return!0;c=c.toUpperCase();var d=new RegExp("^("+this.COUNTRY_CODES+")[0-9A-Z]{10}$");if(!d.test(c))return!1;for(var e="",f=c.length,g=0;f-1>g;g++){var h=c.charCodeAt(g);e+=h>57?(h-55).toString():c.charAt(g)}var i="",j=e.length,k=j%2!=0?0:1;for(g=0;j>g;g++)i+=parseInt(e[g])*(g%2==k?2:1)+"";var l=0;for(g=0;gh;h++)f+=parseInt(c.charAt(h))*g[h%2];return f=10-f%10,f==c.charAt(e-1)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.issn={validate:function(a,b){var c=b.val();if(""==c)return!0;if(!/^\d{4}\-\d{3}[\dX]$/.test(c))return!1;c=c.replace(/[^0-9X]/gi,"");var d=c.split(""),e=d.length,f=0;"X"==d[7]&&(d[7]=10);for(var g=0;e>g;g++)f+=(8-g)*parseInt(d[g]);return f%11==0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.lessThan={html5Attributes:{message:"message",value:"value",inclusive:"inclusive"},enableByHtml5:function(a){var b=a.attr("max");return b?{value:b}:!1},validate:function(a,b,c){var d=b.val();return""==d?!0:(d=parseFloat(d),c.inclusive===!1?d<=c.value:d0:""!=a.trim(c.val())}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.numeric={html5Attributes:{message:"message",separator:"separator"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=c.separator||".";return"."!=e&&(d=d.replace(e,".")),!isNaN(parseFloat(d))&&isFinite(d)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.phone={html5Attributes:{message:"message",country:"country"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=(c.country||"US").toUpperCase();switch(e){case"US":default:return d=d.replace(/\D/g,""),/^(?:(1\-?)|(\+1 ?))?\(?(\d{3})[\)\-\.]?(\d{3})[\-\.]?(\d{4})$/.test(d)&&10==d.length}}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.regexp={html5Attributes:{message:"message",regexp:"regexp"},enableByHtml5:function(a){var b=a.attr("pattern");return b?{regexp:b}:!1},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e="string"==typeof c.regexp?new RegExp(c.regexp):c.regexp;return e.test(d)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.remote={html5Attributes:{message:"message",url:"url",name:"name"},validate:function(b,c,d){var e=c.val();if(""==e)return!0;var f=c.attr("data-bv-field"),g=d.data;null==g&&(g={}),"function"==typeof g&&(g=g.call(this,b)),g[d.name||f]=e;var h=new a.Deferred,i=a.ajax({type:"POST",url:d.url,dataType:"json",data:g});return i.then(function(a){h.resolve(c,"remote",a.valid===!0||"true"===a.valid)}),h.fail(function(){i.abort()}),h}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.rtn={validate:function(a,b){var c=b.val();if(""==c)return!0;if(!/^\d{9}$/.test(c))return!1;for(var d=0,e=0;eg;g++)d+=e[g]*parseInt(c.charAt(g),36);return d=(10-d%10)%10,d==c.charAt(f-1)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.siren={validate:function(b,c){var d=c.val();return""==d?!0:/^\d{9}$/.test(d)?a.fn.bootstrapValidator.helpers.luhn(d):!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.siret={validate:function(a,b){var c=b.val();if(""==c)return!0;for(var d,e=0,f=c.length,g=0;f>g;g++)d=parseInt(c.charAt(g),10),g%2==0&&(d=2*d,d>9&&(d-=9)),e+=d;return e%10==0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.step={html5Attributes:{message:"message",base:"baseValue",step:"step"},validate:function(b,c,d){var e=c.val();if(""==e)return!0;if(d=a.extend({},{baseValue:0,step:1},d),e=parseFloat(e),isNaN(e)||!isFinite(e))return!1;var f=function(a,b){var c=Math.pow(10,b);a*=c;var d=a>0|-(0>a),e=a%1===.5*d;return e?(Math.floor(a)+(d>0))/c:Math.round(a)/c},g=function(a,b){if(0==b)return 1;var c=(a+"").split("."),d=(b+"").split("."),e=(1==c.length?0:c[1].length)+(1==d.length?0:d[1].length);return f(a-b*Math.floor(a/b),e)},h=g(e-d.baseValue,d.step);return 0==h||h==d.step}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.stringCase={html5Attributes:{message:"message","case":"case"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=(c["case"]||"lower").toLowerCase();switch(e){case"upper":return d===d.toUpperCase();case"lower":default:return d===d.toLowerCase()}}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.stringLength={html5Attributes:{message:"message",min:"min",max:"max"},enableByHtml5:function(a){var b=a.attr("maxlength");return b?{max:parseInt(b,10)}:!1},validate:function(b,c,d){var e=c.val();if(""==e)return!0;var f=a.trim(e).length;return d.min&&fd.max?!1:!0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.uri={enableByHtml5:function(a){return"url"==a.attr("type")},validate:function(a,b){var c=b.val();if(""==c)return!0;var d=new RegExp("^(?:(?:https?|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:/[^\\s]*)?$","i");return d.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.uuid={html5Attributes:{message:"message",version:"version"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i},f=c.version?c.version+"":"all";return null==e[f]?!0:e[f].test(d)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.vat={html5Attributes:{message:"message",country:"country"},validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=c.country||d.substr(0,2),f=["_",e.toLowerCase()].join("");return this[f]&&"function"==typeof this[f]?this[f](d):!0},_at:function(a){if(!/^ATU[0-9]{8}$/.test(a))return!1;a=a.substr(3);for(var b=0,c=[1,2,1,2,1,2,1],d=0,e=0;7>e;e++)d=parseInt(a.charAt(e))*c[e],d>9&&(d=Math.floor(d/10)+d%10),b+=d;return b=10-(b+4)%10,10==b&&(b=0),b==a.substr(7,1)},_be:function(a){if(!/^BE[0]{0,1}[0-9]{9}$/.test(a))return!1;if(a=a.substr(2),9==a.length&&(a="0"+a),0==a.substr(1,1))return!1;var b=parseInt(a.substr(0,8),10)+parseInt(a.substr(8,2),10);return b%97==0},_bg:function(b){if(!/^BG[0-9]{9,10}$/.test(b))return!1;b=b.substr(2);var c=0,d=0;if(9==b.length){for(d=0;8>d;d++)c+=parseInt(b.charAt(d))*(d+1);if(c%=11,10==c)for(c=0,d=0;8>d;d++)c+=parseInt(b.charAt(d))*(d+3);return c%=10,c==b.substr(8)}if(10==b.length){var e=function(b){var c=parseInt(b.substr(0,2),10)+1900,d=parseInt(b.substr(2,2),10),e=parseInt(b.substr(4,2),10);if(d>40?(c+=100,d-=40):d>20&&(c-=100,d-=20),!a.fn.bootstrapValidator.helpers.date(c,d,e))return!1;for(var f=0,g=[2,4,8,5,10,9,7,3,6],h=0;9>h;h++)f+=parseInt(b.charAt(h))*g[h];return f=f%11%10,f==b.substr(9,1)},f=function(a){for(var b=0,c=[21,19,17,13,11,9,7,3,1],d=0;9>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%=10,b==a.substr(9,1)},g=function(a){for(var b=0,c=[4,3,2,7,6,5,4,3,2],d=0;9>d;d++)b+=parseInt(a.charAt(d))*c[d];return b=11-b%11,10==b?!1:(11==b&&(b=0),b==a.substr(9,1))};return e(b)||f(b)||g(b)}return!1},_ch:function(a){if(!/^CHE[0-9]{9}(MWST)?$/.test(a))return!1;a=a.substr(3);for(var b=0,c=[5,4,3,2,7,6,5,4],d=0;8>d;d++)b+=parseInt(a.charAt(d),10)*c[d];return b=11-b%11,10==b?!1:(11==b&&(b=0),b==a.substr(8,1))},_cy:function(a){if(!/^CY[0-5|9]{1}[0-9]{7}[A-Z]{1}$/.test(a))return!1;if(a=a.substr(2),"12"==a.substr(0,2))return!1;for(var b=0,c={0:1,1:0,2:5,3:7,4:9,5:13,6:15,7:17,8:19,9:21},d=0;8>d;d++){var e=parseInt(a.charAt(d),10);d%2==0&&(e=c[e+""]),b+=e}return b="ABCDEFGHIJKLMNOPQRSTUVWXYZ"[b%26],b==a.substr(8,1)},_cz:function(b){if(!/^CZ[0-9]{8,10}$/.test(b))return!1;b=b.substr(2);var c=0,d=0;if(8==b.length){if(b.charAt(0)+""=="9")return!1;for(c=0,d=0;7>d;d++)c+=parseInt(b.charAt(d),10)*(8-d);return c=11-c%11,10==c&&(c=0),11==c&&(c=1),c==b.substr(7,1)}if(9==b.length&&b.charAt(0)+""=="6"){for(c=0,d=0;7>d;d++)c+=parseInt(b.charAt(d+1),10)*(8-d);return c=11-c%11,10==c&&(c=0),11==c&&(c=1),c=[8,7,6,5,4,3,2,1,0,9,10][c-1],c==b.substr(8,1)}if(9==b.length||10==b.length){var e=1900+parseInt(b.substr(0,2)),f=parseInt(b.substr(2,2))%50%20,g=parseInt(b.substr(4,2));if(9==b.length){if(e>=1980&&(e-=100),e>1953)return!1}else 1954>e&&(e+=100);if(!a.fn.bootstrapValidator.helpers.date(e,f,g))return!1;if(10==b.length){var h=parseInt(b.substr(0,9),10)%11;return 1985>e&&(h%=10),h==b.substr(9,1)}return!0}return!1},_de:function(b){return/^DE[0-9]{9}$/.test(b)?(b=b.substr(2),a.fn.bootstrapValidator.helpers.mod_11_10(b)):!1},_dk:function(a){if(!/^DK[0-9]{8}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[2,7,6,5,4,3,2,1],d=0;8>d;d++)b+=parseInt(a.charAt(d),10)*c[d];return b%11==0},_ee:function(a){if(!/^EE[0-9]{9}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[3,7,1,3,7,1,3,7,1],d=0;9>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%10==0},_es:function(a){if(!/^ES[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(a))return!1;a=a.substr(2);var b=function(a){var b=parseInt(a.substr(0,8),10);return b="TRWAGMYFPDXBNJZSQVHLCKE"[b%23],b==a.substr(8,1)},c=function(a){var b=["XYZ".indexOf(a.charAt(0)),a.substr(1)].join("");return b=parseInt(b,10),b="TRWAGMYFPDXBNJZSQVHLCKE"[b%23],b==a.substr(8,1)},d=function(a){var b,c=a.charAt(0);if(-1!="KLM".indexOf(c))return b=parseInt(a.substr(1,8),10),b="TRWAGMYFPDXBNJZSQVHLCKE"[b%23],b==a.substr(8,1);if(-1!="ABCDEFGHJNPQRSUVW".indexOf(c)){for(var d=0,e=[2,1,2,1,2,1,2],f=0,g=0;7>g;g++)f=parseInt(a.charAt(g+1))*e[g],f>9&&(f=Math.floor(f/10)+f%10),d+=f;return d=10-d%10,d==a.substr(8,1)||"JABCDEFGHI"[d]==a.substr(8,1)}return!1},e=a.charAt(0);return/^[0-9]$/.test(e)?b(a):/^[XYZ]$/.test(e)?c(a):d(a)},_fi:function(a){if(!/^FI[0-9]{8}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[7,9,10,5,8,4,2,1],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%11==0},_fr:function(b){if(!/^FR[0-9A-Z]{2}[0-9]{9}$/.test(b))return!1;if(b=b.substr(2),!a.fn.bootstrapValidator.helpers.luhn(b.substr(2)))return!1;if(/^[0-9]{2}$/.test(b.substr(0,2)))return b.substr(0,2)==parseInt(b.substr(2)+"12",10)%97;var c,d="0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";return c=/^[0-9]{1}$/.test(b.charAt(0))?24*d.indexOf(b.charAt(0))+d.indexOf(b.charAt(1))-10:34*d.indexOf(b.charAt(0))+d.indexOf(b.charAt(1))-100,(parseInt(b.substr(2),10)+1+Math.floor(c/11))%11==c%11},_gb:function(a){if(!(/^GB[0-9]{9}$/.test(a)||/^GB[0-9]{12}$/.test(a)||/^GBGD[0-9]{3}$/.test(a)||/^GBHA[0-9]{3}$/.test(a)||/^GB(GD|HA)8888[0-9]{5}$/.test(a)))return!1;a=a.substr(2);var b=a.length;if(5==b){var c=a.substr(0,2),d=parseInt(a.substr(2));return"GD"==c&&500>d||"HA"==c&&d>=500}if(11==b&&("GD8888"==a.substr(0,6)||"HA8888"==a.substr(0,6)))return"GD"==a.substr(0,2)&&parseInt(a.substr(6,3))>=500||"HA"==a.substr(0,2)&&parseInt(a.substr(6,3))<500?!1:parseInt(a.substr(6,3))%97==parseInt(a.substr(9,2));if(9==b||12==b){for(var e=0,f=[8,7,6,5,4,3,2,10,1],g=0;9>g;g++)e+=parseInt(a.charAt(g))*f[g];return e%=97,parseInt(a.substr(0,3))>=100?0==e||42==e||55==e:0==e}return!0},_gr:function(a){if(!/^GR[0-9]{9}$/.test(a))return!1;a=a.substr(2),8==a.length&&(a="0"+a);for(var b=0,c=[256,128,64,32,16,8,4,2],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b=b%11%10,b==a.substr(8,1)},_el:function(a){return/^EL[0-9]{9}$/.test(a)?(a="GR"+a.substr(2),this._gr(a)):!1},_hu:function(a){if(!/^HU[0-9]{8}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[9,7,3,1,9,7,3,1],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%10==0},_hr:function(b){return/^HR[0-9]{11}$/.test(b)?(b=b.substr(2),a.fn.bootstrapValidator.helpers.mod_11_10(b)):!1},_ie:function(a){if(!/^IE[0-9]{1}[0-9A-Z\*\+]{1}[0-9]{5}[A-Z]{1,2}$/.test(a))return!1;a=a.substr(2);var b=function(a){for(;a.length<7;)a="0"+a;for(var b="WABCDEFGHIJKLMNOPQRSTUV",c=0,d=0;7>d;d++)c+=parseInt(a.charAt(d))*(8-d);return c+=9*b.indexOf(a.substr(7)),b[c%23]};return/^[0-9]+$/.test(a.substr(0,7))?a.charAt(7)==b(a.substr(0,7)+a.substr(8)+""):-1!="ABCDEFGHIJKLMNOPQRSTUVWXYZ+*".indexOf(a.charAt(1))?a.charAt(7)==b(a.substr(2,5)+a.substr(0,1)+""):!0},_it:function(b){if(!/^IT[0-9]{11}$/.test(b))return!1;if(b=b.substr(2),0==parseInt(b.substr(0,7)))return!1;var c=parseInt(b.substr(7,3));return 1>c||c>201&&999!=c&&888!=c?!1:a.fn.bootstrapValidator.helpers.luhn(b)},_lt:function(a){if(!/^LT([0-9]{7}1[0-9]{1}|[0-9]{10}1[0-9]{1})$/.test(a))return!1;a=a.substr(2);for(var b=a.length,c=0,d=0;b-1>d;d++)c+=parseInt(a.charAt(d))*(1+d%9);var e=c%11;if(10==e){c=0;for(var d=0;b-1>d;d++)c+=parseInt(a.charAt(d))*(1+(d+2)%9)}return e=e%11%10,e==a.charAt(b-1)},_lu:function(a){return/^LU[0-9]{8}$/.test(a)?(a=a.substr(2),a.substr(0,6)%89==a.substr(6,2)):!1},_lv:function(b){if(!/^LV[0-9]{11}$/.test(b))return!1;b=b.substr(2);var c=parseInt(b.charAt(0)),d=0,e=[],f=0,g=b.length;if(c>3){for(d=0,e=[9,1,4,8,3,10,2,5,7,6,1],f=0;g>f;f++)d+=parseInt(b.charAt(f))*e[f];return d%=11,3==d}var h=parseInt(b.substr(0,2)),i=parseInt(b.substr(2,2)),j=parseInt(b.substr(4,2));if(j=j+1800+100*parseInt(b.charAt(6)),!a.fn.bootstrapValidator.helpers.date(j,i,h))return!1;for(d=0,e=[10,5,8,4,2,1,6,3,7,9],f=0;g-1>f;f++)d+=parseInt(b.charAt(f))*e[f];return d=(d+1)%11%10,d==b.charAt(g-1)},_mt:function(a){if(!/^MT[0-9]{8}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[3,4,6,7,8,9,10,1],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%37==0},_nl:function(a){if(!/^NL[0-9]{9}B[0-9]{2}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[9,8,7,6,5,4,3,2],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%=11,b>9&&(b=0),b==a.substr(8,1)},_no:function(a){if(!/^NO[0-9]{9}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[3,2,7,6,5,4,3,2],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b=11-b%11,11==b&&(b=0),b==a.substr(8,1)},_pl:function(a){if(!/^PL[0-9]{10}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[6,5,7,2,3,4,5,6,7,-1],d=0;10>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%11==0},_pt:function(a){if(!/^PT[0-9]{9}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[9,8,7,6,5,4,3,2],d=0;8>d;d++)b+=parseInt(a.charAt(d))*c[d];return b=11-b%11,b>9&&(b=0),b==a.substr(8,1)},_ro:function(a){if(!/^RO[1-9][0-9]{1,9}$/.test(a))return!1;a=a.substr(2);for(var b=a.length,c=[7,5,3,2,1,7,5,3,2].slice(10-b),d=0,e=0;b-1>e;e++)d+=parseInt(a.charAt(e))*c[e];return d=10*d%11%10,d==a.substr(b-1,1)},_ru:function(a){if(!/^RU([0-9]{9}|[0-9]{12})$/.test(a))return!1;if(a=a.substr(2),10==a.length){for(var b=0,c=[2,4,10,3,5,9,4,6,8,0],d=0;10>d;d++)b+=parseInt(a.charAt(d))*c[d];return b%=11,b>9&&(b%=10),b==a.substr(9,1)}if(12==a.length){for(var e=0,f=[7,2,4,10,3,5,9,4,6,8,0],g=0,h=[3,7,2,4,10,3,5,9,4,6,8,0],d=0;11>d;d++)e+=parseInt(a.charAt(d))*f[d],g+=parseInt(a.charAt(d))*h[d];return e%=11,e>9&&(e%=10),g%=11,g>9&&(g%=10),e==a.substr(10,1)&&g==a.substr(11,1)}return!1},_rs:function(a){if(!/^RS[0-9]{9}$/.test(a))return!1;a=a.substr(2);for(var b=10,c=0,d=0;8>d;d++)c=(parseInt(a.charAt(d))+b)%10,0==c&&(c=10),b=2*c%11;return(b+parseInt(a.substr(8,1)))%10==1},_se:function(b){return/^SE[0-9]{10}01$/.test(b)?(b=b.substr(2,10),a.fn.bootstrapValidator.helpers.luhn(b)):!1},_si:function(a){if(!/^SI[0-9]{8}$/.test(a))return!1;a=a.substr(2);for(var b=0,c=[8,7,6,5,4,3,2],d=0;7>d;d++)b+=parseInt(a.charAt(d))*c[d];return b=11-b%11,10==b&&(b=0),b==a.substr(7,1)},_sk:function(a){return/^SK[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(a)?(a=a.substr(2),a%11==0):!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.vin={validate:function(a,b){var c=b.val();if(""==c)return!0;if(!/^[a-hj-npr-z0-9]{8}[0-9xX][a-hj-npr-z0-9]{8}$/i.test(c))return!1;c=c.toUpperCase();for(var d={A:1,B:2,C:3,D:4,E:5,F:6,G:7,H:8,J:1,K:2,L:3,M:4,N:5,P:7,R:9,S:2,T:3,U:4,V:5,W:6,X:7,Y:8,Z:9,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,0:0},e=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],f=0,g=c.length,h=0;g>h;h++)f+=d[c.charAt(h)+""]*e[h];var i=f%11;return 10==i&&(i="X"),i==c.charAt(8)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.zipCode={html5Attributes:{message:"message",country:"country"},validate:function(a,b,c){var d=b.val();if(""==d||!c.country)return!0;var e=(c.country||"US").toUpperCase();switch(e){case"CA":return/(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}\s?[0-9]{1}(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}/i.test(d);case"DK":return/^(DK(-|\s)?)?\d{4}$/i.test(d);case"GB":return this._gb(d);case"IT":return/^(I-|IT-)?\d{5}$/i.test(d);case"NL":return/^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test(d);case"SE":return/^(S-)?\d{3}\s?\d{2}$/i.test(d);case"US":default:return/^\d{4,5}([\-]\d{4})?$/.test(d)}},_gb:function(a){for(var b="[ABCDEFGHIJKLMNOPRSTUWYZ]",c="[ABCDEFGHKLMNOPQRSTUVWXY]",d="[ABCDEFGHJKPMNRSTUVWXY]",e="[ABEHMNPRVWXY]",f="[ABDEFGHJLNPQRSTUWXYZ]",g=[new RegExp("^("+b+"{1}"+c+"?[0-9]{1,2})(\\s*)([0-9]{1}"+f+"{2})$","i"),new RegExp("^("+b+"{1}[0-9]{1}"+d+"{1})(\\s*)([0-9]{1}"+f+"{2})$","i"),new RegExp("^("+b+"{1}"+c+"{1}?[0-9]{1}"+e+"{1})(\\s*)([0-9]{1}"+f+"{2})$","i"),new RegExp("^(BF1)(\\s*)([0-6]{1}[ABDEFGHJLNPQRST]{1}[ABDEFGHJLNPQRSTUWZYZ]{1})$","i"),/^(GIR)(\s*)(0AA)$/i,/^(BFPO)(\s*)([0-9]{1,4})$/i,/^(BFPO)(\s*)(c\/o\s*[0-9]{1,3})$/i,/^([A-Z]{4})(\s*)(1ZZ)$/i,/^(AI-2640)$/i],h=0;h div { - display: none; -} -.datepicker.days div.datepicker-days { - display: block; -} -.datepicker.months div.datepicker-months { - display: block; -} -.datepicker.years div.datepicker-years { - display: block; -} -.datepicker table { - margin: 0; -} -.datepicker td, -.datepicker th { - text-align: center; - width: 20px; - height: 20px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - border: none; -} -.table-striped .datepicker table tr td, -.table-striped .datepicker table tr th { - background-color: transparent; -} -.datepicker table tr td.day:hover { - background: #eeeeee; - cursor: pointer; -} -.datepicker table tr td.old, -.datepicker table tr td.new { - color: #999999; -} -.datepicker table tr td.disabled, -.datepicker table tr td.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td.today, -.datepicker table tr td.today:hover, -.datepicker table tr td.today.disabled, -.datepicker table tr td.today.disabled:hover { - background-color: #fde19a; - background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); - background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); - background-image: linear-gradient(top, #fdd49a, #fdf59a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); - border-color: #fdf59a #fdf59a #fbed50; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #000; -} -.datepicker table tr td.today:hover, -.datepicker table tr td.today:hover:hover, -.datepicker table tr td.today.disabled:hover, -.datepicker table tr td.today.disabled:hover:hover, -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active, -.datepicker table tr td.today.disabled, -.datepicker table tr td.today:hover.disabled, -.datepicker table tr td.today.disabled.disabled, -.datepicker table tr td.today.disabled:hover.disabled, -.datepicker table tr td.today[disabled], -.datepicker table tr td.today:hover[disabled], -.datepicker table tr td.today.disabled[disabled], -.datepicker table tr td.today.disabled:hover[disabled] { - background-color: #fdf59a; -} -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active { - background-color: #fbf069 \9; -} -.datepicker table tr td.today:hover:hover { - color: #000; -} -.datepicker table tr td.today.active:hover { - color: #fff; -} -.datepicker table tr td.range, -.datepicker table tr td.range:hover, -.datepicker table tr td.range.disabled, -.datepicker table tr td.range.disabled:hover { - background: #eeeeee; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.datepicker table tr td.range.today, -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today.disabled:hover { - background-color: #f3d17a; - background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a)); - background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -o-linear-gradient(top, #f3c17a, #f3e97a); - background-image: linear-gradient(top, #f3c17a, #f3e97a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); - border-color: #f3e97a #f3e97a #edde34; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today:hover:hover, -.datepicker table tr td.range.today.disabled:hover, -.datepicker table tr td.range.today.disabled:hover:hover, -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active, -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today:hover.disabled, -.datepicker table tr td.range.today.disabled.disabled, -.datepicker table tr td.range.today.disabled:hover.disabled, -.datepicker table tr td.range.today[disabled], -.datepicker table tr td.range.today:hover[disabled], -.datepicker table tr td.range.today.disabled[disabled], -.datepicker table tr td.range.today.disabled:hover[disabled] { - background-color: #f3e97a; -} -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active { - background-color: #efe24b \9; -} -.datepicker table tr td.selected, -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected.disabled:hover { - background-color: #9e9e9e; - background-image: -moz-linear-gradient(top, #b3b3b3, #808080); - background-image: -ms-linear-gradient(top, #b3b3b3, #808080); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080)); - background-image: -webkit-linear-gradient(top, #b3b3b3, #808080); - background-image: -o-linear-gradient(top, #b3b3b3, #808080); - background-image: linear-gradient(top, #b3b3b3, #808080); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); - border-color: #808080 #808080 #595959; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected:hover:hover, -.datepicker table tr td.selected.disabled:hover, -.datepicker table tr td.selected.disabled:hover:hover, -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active, -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected:hover.disabled, -.datepicker table tr td.selected.disabled.disabled, -.datepicker table tr td.selected.disabled:hover.disabled, -.datepicker table tr td.selected[disabled], -.datepicker table tr td.selected:hover[disabled], -.datepicker table tr td.selected.disabled[disabled], -.datepicker table tr td.selected.disabled:hover[disabled] { - background-color: #808080; -} -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active { - background-color: #666666 \9; -} -.datepicker table tr td.active, -.datepicker table tr td.active:hover, -.datepicker table tr td.active.disabled, -.datepicker table tr td.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.active:hover, -.datepicker table tr td.active:hover:hover, -.datepicker table tr td.active.disabled:hover, -.datepicker table tr td.active.disabled:hover:hover, -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active, -.datepicker table tr td.active.disabled, -.datepicker table tr td.active:hover.disabled, -.datepicker table tr td.active.disabled.disabled, -.datepicker table tr td.active.disabled:hover.disabled, -.datepicker table tr td.active[disabled], -.datepicker table tr td.active:hover[disabled], -.datepicker table tr td.active.disabled[disabled], -.datepicker table tr td.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker table tr td span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.datepicker table tr td span:hover { - background: #eeeeee; -} -.datepicker table tr td span.disabled, -.datepicker table tr td span.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td span.active, -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active:hover:hover, -.datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active.disabled:hover:hover, -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active:hover.disabled, -.datepicker table tr td span.active.disabled.disabled, -.datepicker table tr td span.active.disabled:hover.disabled, -.datepicker table tr td span.active[disabled], -.datepicker table tr td span.active:hover[disabled], -.datepicker table tr td span.active.disabled[disabled], -.datepicker table tr td span.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker table tr td span.old, -.datepicker table tr td span.new { - color: #999999; -} -.datepicker th.datepicker-switch { - width: 145px; -} -.datepicker thead tr:first-child th, -.datepicker tfoot tr th { - cursor: pointer; -} -.datepicker thead tr:first-child th:hover, -.datepicker tfoot tr th:hover { - background: #eeeeee; -} -.datepicker .cw { - font-size: 10px; - width: 12px; - padding: 0 2px 0 5px; - vertical-align: middle; -} -.datepicker thead tr:first-child th.cw { - cursor: default; - background-color: transparent; -} -.input-append.date .add-on i, -.input-prepend.date .add-on i { - display: block; - cursor: pointer; - width: 16px; - height: 16px; -} -.input-daterange input { - text-align: center; -} -.input-daterange input:first-child { - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; -} -.input-daterange input:last-child { - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} -.input-daterange .add-on { - display: inline-block; - width: auto; - min-width: 16px; - height: 18px; - padding: 4px 5px; - font-weight: normal; - line-height: 18px; - text-align: center; - text-shadow: 0 1px 0 #ffffff; - vertical-align: middle; - background-color: #eeeeee; - border: 1px solid #ccc; - margin-left: -5px; - margin-right: -5px; -} diff --git a/public/assets/admin/libs/bootstrap-xeditable/demo/demo-mock.js b/public/assets/admin/libs/bootstrap-xeditable/demo/demo-mock.js deleted file mode 100644 index 2680a43e3..000000000 --- a/public/assets/admin/libs/bootstrap-xeditable/demo/demo-mock.js +++ /dev/null @@ -1,76 +0,0 @@ -$(function(){ - //ajax mocks - $.mockjaxSettings.responseTime = 500; - - $.mockjax({ - url: '/post', - response: function(settings) { - log(settings, this); - } - }); - - $.mockjax({ - url: '/error', - status: 400, - statusText: 'Bad Request', - response: function(settings) { - this.responseText = 'Please input correct value'; - log(settings, this); - } - }); - - $.mockjax({ - url: '/status', - status: 500, - response: function(settings) { - this.responseText = 'Internal Server Error'; - log(settings, this); - } - }); - - $.mockjax({ - url: '/groups', - response: function(settings) { - this.responseText = [ - {value: 0, text: 'Guest'}, - {value: 1, text: 'Service'}, - {value: 2, text: 'Customer'}, - {value: 3, text: 'Operator'}, - {value: 4, text: 'Support'}, - {value: 5, text: 'Admin'} - ]; - log(settings, this); - } - }); - - function log(settings, response) { - var s = [], str; - s.push(settings.type.toUpperCase() + ' url = "' + settings.url + '"'); - for(var a in settings.data) { - if(settings.data[a] && typeof settings.data[a] === 'object') { - str = []; - for(var j in settings.data[a]) {str.push(j+': "'+settings.data[a][j]+'"');} - str = '{ '+str.join(', ')+' }'; - } else { - str = '"'+settings.data[a]+'"'; - } - s.push(a + ' = ' + str); - } - s.push('RESPONSE: status = ' + response.status); - - if(response.responseText) { - if($.isArray(response.responseText)) { - s.push('['); - $.each(response.responseText, function(i, v){ - s.push('{value: ' + v.value+', text: "'+v.text+'"}'); - }); - s.push(']'); - } else { - s.push($.trim(response.responseText)); - } - } - s.push('--------------------------------------\n'); - $('#console').val(s.join('\n') + $('#console').val()); - } - -}); \ No newline at end of file diff --git a/public/assets/admin/libs/bootstrap-xeditable/demo/jquery.mockjax.js b/public/assets/admin/libs/bootstrap-xeditable/demo/jquery.mockjax.js deleted file mode 100644 index 549b6e037..000000000 --- a/public/assets/admin/libs/bootstrap-xeditable/demo/jquery.mockjax.js +++ /dev/null @@ -1,521 +0,0 @@ -/*! - * MockJax - jQuery Plugin to Mock Ajax requests - * - * Version: 1.5.0pre - * Released: - * Home: http://github.com/appendto/jquery-mockjax - * Author: Jonathan Sharp (http://jdsharp.com) - * License: MIT,GPL - * - * Copyright (c) 2011 appendTo LLC. - * Dual licensed under the MIT or GPL licenses. - * http://appendto.com/open-source-licenses - */ -(function($) { - var _ajax = $.ajax, - mockHandlers = [], - CALLBACK_REGEX = /=\?(&|$)/, - jsc = (new Date()).getTime(); - - - // Parse the given XML string. - function parseXML(xml) { - if ( window['DOMParser'] == undefined && window.ActiveXObject ) { - DOMParser = function() { }; - DOMParser.prototype.parseFromString = function( xmlString ) { - var doc = new ActiveXObject('Microsoft.XMLDOM'); - doc.async = 'false'; - doc.loadXML( xmlString ); - return doc; - }; - } - - try { - var xmlDoc = ( new DOMParser() ).parseFromString( xml, 'text/xml' ); - if ( $.isXMLDoc( xmlDoc ) ) { - var err = $('parsererror', xmlDoc); - if ( err.length == 1 ) { - throw('Error: ' + $(xmlDoc).text() ); - } - } else { - throw('Unable to parse XML'); - } - } catch( e ) { - var msg = ( e.name == undefined ? e : e.name + ': ' + e.message ); - $(document).trigger('xmlParseError', [ msg ]); - return undefined; - } - return xmlDoc; - } - - // Trigger a jQuery event - function trigger(s, type, args) { - (s.context ? jQuery(s.context) : jQuery.event).trigger(type, args); - } - - // Check if the data field on the mock handler and the request match. This - // can be used to restrict a mock handler to being used only when a certain - // set of data is passed to it. - function isMockDataEqual( mock, live ) { - var identical = false; - // Test for situations where the data is a querystring (not an object) - if (typeof live === 'string') { - // Querystring may be a regex - return $.isFunction( mock.test ) ? mock.test(live) : mock == live; - } - $.each(mock, function(k, v) { - if ( live[k] === undefined ) { - identical = false; - return identical; - } else { - identical = true; - if ( typeof live[k] == 'object' ) { - return isMockDataEqual(mock[k], live[k]); - } else { - if ( $.isFunction( mock[k].test ) ) { - identical = mock[k].test(live[k]); - } else { - identical = ( mock[k] == live[k] ); - } - return identical; - } - } - }); - - return identical; - } - - // Check the given handler should mock the given request - function getMockForRequest( handler, requestSettings ) { - // If the mock was registered with a function, let the function decide if we - // want to mock this request - if ( $.isFunction(handler) ) { - return handler( requestSettings ); - } - - // Inspect the URL of the request and check if the mock handler's url - // matches the url for this ajax request - if ( $.isFunction(handler.url.test) ) { - // The user provided a regex for the url, test it - if ( !handler.url.test( requestSettings.url ) ) { - return null; - } - } else { - // Look for a simple wildcard '*' or a direct URL match - var star = handler.url.indexOf('*'); - if (handler.url !== requestSettings.url && star === -1 || - !new RegExp(handler.url.replace(/[-[\]{}()+?.,\\^$|#\s]/g, "\\$&").replace('*', '.+')).test(requestSettings.url)) { - return null; - } - } - - // Inspect the data submitted in the request (either POST body or GET query string) - if ( handler.data && requestSettings.data ) { - if ( !isMockDataEqual(handler.data, requestSettings.data) ) { - // They're not identical, do not mock this request - return null; - } - } - // Inspect the request type - if ( handler && handler.type && - handler.type.toLowerCase() != requestSettings.type.toLowerCase() ) { - // The request type doesn't match (GET vs. POST) - return null; - } - - return handler; - } - - // If logging is enabled, log the mock to the console - function logMock( mockHandler, requestSettings ) { - var c = $.extend({}, $.mockjaxSettings, mockHandler); - if ( c.log && $.isFunction(c.log) ) { - c.log('MOCK ' + requestSettings.type.toUpperCase() + ': ' + requestSettings.url, $.extend({}, requestSettings)); - } - } - - // Process the xhr objects send operation - function _xhrSend(mockHandler, requestSettings, origSettings) { - - // This is a substitute for < 1.4 which lacks $.proxy - var process = (function(that) { - return function() { - return (function() { - // The request has returned - this.status = mockHandler.status; - this.statusText = mockHandler.statusText; - this.readyState = 4; - - // We have an executable function, call it to give - // the mock handler a chance to update it's data - if ( $.isFunction(mockHandler.response) ) { - mockHandler.response(origSettings); - } - // Copy over our mock to our xhr object before passing control back to - // jQuery's onreadystatechange callback - if ( requestSettings.dataType == 'json' && ( typeof mockHandler.responseText == 'object' ) ) { - this.responseText = JSON.stringify(mockHandler.responseText); - } else if ( requestSettings.dataType == 'xml' ) { - if ( typeof mockHandler.responseXML == 'string' ) { - this.responseXML = parseXML(mockHandler.responseXML); - } else { - this.responseXML = mockHandler.responseXML; - } - } else { - this.responseText = mockHandler.responseText; - } - if( typeof mockHandler.status == 'number' || typeof mockHandler.status == 'string' ) { - this.status = mockHandler.status; - } - if( typeof mockHandler.statusText === "string") { - this.statusText = mockHandler.statusText; - } - // jQuery < 1.4 doesn't have onreadystate change for xhr - if ( $.isFunction(this.onreadystatechange) ) { - if( mockHandler.isTimeout) { - this.status = -1; - } - this.onreadystatechange( mockHandler.isTimeout ? 'timeout' : undefined ); - } else if ( mockHandler.isTimeout ) { - // Fix for 1.3.2 timeout to keep success from firing. - this.status = -1; - } - }).apply(that); - }; - })(this); - - if ( mockHandler.proxy ) { - // We're proxying this request and loading in an external file instead - _ajax({ - global: false, - url: mockHandler.proxy, - type: mockHandler.proxyType, - data: mockHandler.data, - dataType: requestSettings.dataType === "script" ? "text/plain" : requestSettings.dataType, - complete: function(xhr, txt) { - mockHandler.responseXML = xhr.responseXML; - mockHandler.responseText = xhr.responseText; - mockHandler.status = xhr.status; - mockHandler.statusText = xhr.statusText; - this.responseTimer = setTimeout(process, mockHandler.responseTime || 0); - } - }); - } else { - // type == 'POST' || 'GET' || 'DELETE' - if ( requestSettings.async === false ) { - // TODO: Blocking delay - process(); - } else { - this.responseTimer = setTimeout(process, mockHandler.responseTime || 50); - } - } - } - - // Construct a mocked XHR Object - function xhr(mockHandler, requestSettings, origSettings, origHandler) { - // Extend with our default mockjax settings - mockHandler = $.extend({}, $.mockjaxSettings, mockHandler); - - if (typeof mockHandler.headers === 'undefined') { - mockHandler.headers = {}; - } - if ( mockHandler.contentType ) { - mockHandler.headers['content-type'] = mockHandler.contentType; - } - - return { - status: mockHandler.status, - statusText: mockHandler.statusText, - readyState: 1, - open: function() { }, - send: function() { - origHandler.fired = true; - _xhrSend.call(this, mockHandler, requestSettings, origSettings); - }, - abort: function() { - clearTimeout(this.responseTimer); - }, - setRequestHeader: function(header, value) { - mockHandler.headers[header] = value; - }, - getResponseHeader: function(header) { - // 'Last-modified', 'Etag', 'content-type' are all checked by jQuery - if ( mockHandler.headers && mockHandler.headers[header] ) { - // Return arbitrary headers - return mockHandler.headers[header]; - } else if ( header.toLowerCase() == 'last-modified' ) { - return mockHandler.lastModified || (new Date()).toString(); - } else if ( header.toLowerCase() == 'etag' ) { - return mockHandler.etag || ''; - } else if ( header.toLowerCase() == 'content-type' ) { - return mockHandler.contentType || 'text/plain'; - } - }, - getAllResponseHeaders: function() { - var headers = ''; - $.each(mockHandler.headers, function(k, v) { - headers += k + ': ' + v + "\n"; - }); - return headers; - } - }; - } - - // Process a JSONP mock request. - function processJsonpMock( requestSettings, mockHandler, origSettings ) { - // Handle JSONP Parameter Callbacks, we need to replicate some of the jQuery core here - // because there isn't an easy hook for the cross domain script tag of jsonp - - processJsonpUrl( requestSettings ); - - requestSettings.dataType = "json"; - if(requestSettings.data && CALLBACK_REGEX.test(requestSettings.data) || CALLBACK_REGEX.test(requestSettings.url)) { - createJsonpCallback(requestSettings, mockHandler); - - // We need to make sure - // that a JSONP style response is executed properly - - var rurl = /^(\w+:)?\/\/([^\/?#]+)/, - parts = rurl.exec( requestSettings.url ), - remote = parts && (parts[1] && parts[1] !== location.protocol || parts[2] !== location.host); - - requestSettings.dataType = "script"; - if(requestSettings.type.toUpperCase() === "GET" && remote ) { - var newMockReturn = processJsonpRequest( requestSettings, mockHandler, origSettings ); - - // Check if we are supposed to return a Deferred back to the mock call, or just - // signal success - if(newMockReturn) { - return newMockReturn; - } else { - return true; - } - } - } - return null; - } - - // Append the required callback parameter to the end of the request URL, for a JSONP request - function processJsonpUrl( requestSettings ) { - if ( requestSettings.type.toUpperCase() === "GET" ) { - if ( !CALLBACK_REGEX.test( requestSettings.url ) ) { - requestSettings.url += (/\?/.test( requestSettings.url ) ? "&" : "?") + - (requestSettings.jsonp || "callback") + "=?"; - } - } else if ( !requestSettings.data || !CALLBACK_REGEX.test(requestSettings.data) ) { - requestSettings.data = (requestSettings.data ? requestSettings.data + "&" : "") + (requestSettings.jsonp || "callback") + "=?"; - } - } - - // Process a JSONP request by evaluating the mocked response text - function processJsonpRequest( requestSettings, mockHandler, origSettings ) { - // Synthesize the mock request for adding a script tag - var callbackContext = origSettings && origSettings.context || requestSettings, - newMock = null; - - - // If the response handler on the moock is a function, call it - if ( mockHandler.response && $.isFunction(mockHandler.response) ) { - mockHandler.response(origSettings); - } else { - - // Evaluate the responseText javascript in a global context - if( typeof mockHandler.responseText === 'object' ) { - $.globalEval( '(' + JSON.stringify( mockHandler.responseText ) + ')'); - } else { - $.globalEval( '(' + mockHandler.responseText + ')'); - } - } - - // Successful response - jsonpSuccess( requestSettings, mockHandler ); - jsonpComplete( requestSettings, mockHandler ); - - // If we are running under jQuery 1.5+, return a deferred object - if(jQuery.Deferred){ - newMock = new jQuery.Deferred(); - if(typeof mockHandler.responseText == "object"){ - newMock.resolve( mockHandler.responseText ); - } - else{ - newMock.resolve( jQuery.parseJSON( mockHandler.responseText ) ); - } - } - return newMock; - } - - - // Create the required JSONP callback function for the request - function createJsonpCallback( requestSettings, mockHandler ) { - jsonp = requestSettings.jsonpCallback || ("jsonp" + jsc++); - - // Replace the =? sequence both in the query string and the data - if ( requestSettings.data ) { - requestSettings.data = (requestSettings.data + "").replace(CALLBACK_REGEX, "=" + jsonp + "$1"); - } - - requestSettings.url = requestSettings.url.replace(CALLBACK_REGEX, "=" + jsonp + "$1"); - - - // Handle JSONP-style loading - window[ jsonp ] = window[ jsonp ] || function( tmp ) { - data = tmp; - jsonpSuccess( requestSettings, mockHandler ); - jsonpComplete( requestSettings, mockHandler ); - // Garbage collect - window[ jsonp ] = undefined; - - try { - delete window[ jsonp ]; - } catch(e) {} - - if ( head ) { - head.removeChild( script ); - } - }; - } - - // The JSONP request was successful - function jsonpSuccess(requestSettings, mockHandler) { - // If a local callback was specified, fire it and pass it the data - if ( requestSettings.success ) { - requestSettings.success.call( callbackContext, ( mockHandler.response ? mockHandler.response.toString() : mockHandler.responseText || ''), status, {} ); - } - - // Fire the global callback - if ( requestSettings.global ) { - trigger(requestSettings, "ajaxSuccess", [{}, requestSettings] ); - } - } - - // The JSONP request was completed - function jsonpComplete(requestSettings, mockHandler) { - // Process result - if ( requestSettings.complete ) { - requestSettings.complete.call( callbackContext, {} , status ); - } - - // The request was completed - if ( requestSettings.global ) { - trigger( "ajaxComplete", [{}, requestSettings] ); - } - - // Handle the global AJAX counter - if ( requestSettings.global && ! --jQuery.active ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - - - // The core $.ajax replacement. - function handleAjax( url, origSettings ) { - var mockRequest, requestSettings, mockHandler; - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - origSettings = url; - url = undefined; - } else { - // work around to support 1.5 signature - origSettings.url = url; - } - - // Extend the original settings for the request - requestSettings = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings); - - // Iterate over our mock handlers (in registration order) until we find - // one that is willing to intercept the request - for(var k = 0; k < mockHandlers.length; k++) { - if ( !mockHandlers[k] ) { - continue; - } - - mockHandler = getMockForRequest( mockHandlers[k], requestSettings ); - if(!mockHandler) { - // No valid mock found for this request - continue; - } - - // Handle console logging - logMock( mockHandler, requestSettings ); - - - if ( requestSettings.dataType === "jsonp" ) { - if ((mockRequest = processJsonpMock( requestSettings, mockHandler, origSettings ))) { - // This mock will handle the JSONP request - return mockRequest; - } - } - - - // Removed to fix #54 - keep the mocking data object intact - //mockHandler.data = requestSettings.data; - - mockHandler.cache = requestSettings.cache; - mockHandler.timeout = requestSettings.timeout; - mockHandler.global = requestSettings.global; - - (function(mockHandler, requestSettings, origSettings, origHandler) { - mockRequest = _ajax.call($, $.extend(true, {}, origSettings, { - // Mock the XHR object - xhr: function() { return xhr( mockHandler, requestSettings, origSettings, origHandler ) } - })); - })(mockHandler, requestSettings, origSettings, mockHandlers[k]); - - return mockRequest; - } - - // We don't have a mock request, trigger a normal request - return _ajax.apply($, [origSettings]); - } - - - // Public - - $.extend({ - ajax: handleAjax - }); - - $.mockjaxSettings = { - //url: null, - //type: 'GET', - log: function(msg) { - window['console'] && window.console.log && window.console.log(msg); - }, - status: 200, - statusText: "OK", - responseTime: 500, - isTimeout: false, - contentType: 'text/plain', - response: '', - responseText: '', - responseXML: '', - proxy: '', - proxyType: 'GET', - - lastModified: null, - etag: '', - headers: { - etag: 'IJF@H#@923uf8023hFO@I#H#', - 'content-type' : 'text/plain' - } - }; - - $.mockjax = function(settings) { - var i = mockHandlers.length; - mockHandlers[i] = settings; - return i; - }; - $.mockjaxClear = function(i) { - if ( arguments.length == 1 ) { - mockHandlers[i] = null; - } else { - mockHandlers = []; - } - }; - $.mockjax.handler = function(i) { - if ( arguments.length == 1 ) { - return mockHandlers[i]; - } - }; -})(jQuery); diff --git a/public/assets/admin/libs/bootstrap-xeditable/img/clear.png b/public/assets/admin/libs/bootstrap-xeditable/img/clear.png deleted file mode 100644 index 580b52a5b..000000000 Binary files a/public/assets/admin/libs/bootstrap-xeditable/img/clear.png and /dev/null differ diff --git a/public/assets/admin/libs/bootstrap-xeditable/img/loading.gif b/public/assets/admin/libs/bootstrap-xeditable/img/loading.gif deleted file mode 100644 index 5b33f7e54..000000000 Binary files a/public/assets/admin/libs/bootstrap-xeditable/img/loading.gif and /dev/null differ diff --git a/public/assets/admin/libs/bootstrap-xeditable/js/bootstrap-editable.min.js b/public/assets/admin/libs/bootstrap-xeditable/js/bootstrap-editable.min.js deleted file mode 100644 index e2703aee8..000000000 --- a/public/assets/admin/libs/bootstrap-xeditable/js/bootstrap-editable.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! X-editable - v1.5.1 -* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery -* http://github.com/vitalets/x-editable -* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */ -!function(a){"use strict";var b=function(b,c){this.options=a.extend({},a.fn.editableform.defaults,c),this.$div=a(b),this.options.scope||(this.options.scope=this)};b.prototype={constructor:b,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value),this.input.prerender()},initTemplate:function(){this.$form=a(a.fn.editableform.template)},initButtons:function(){var b=this.$form.find(".editable-buttons");b.append(a.fn.editableform.buttons),"bottom"===this.options.showbuttons&&b.addClass("editable-buttons-bottom")},render:function(){this.$loading=a(a.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),a.when(this.input.render()).then(a.proxy(function(){if(this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(a.proxy(this.cancel,this)),this.input.error)this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(a){a.preventDefault()});else{this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled");var b=null===this.value||void 0===this.value||""===this.value?this.options.defaultValue:this.value;this.input.value2input(b),this.$form.submit(a.proxy(this.submit,this))}this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&&this.input.postrender()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var a,b;this.$form?(a=this.$form.outerWidth(),b=this.$form.outerHeight(),a&&this.$loading.width(a),b&&this.$loading.height(b),this.$form.hide()):(a=this.$loading.parent().width(),a&&this.$loading.width(a)),this.$loading.show()},showForm:function(a){this.$loading.hide(),this.$form.show(),a!==!1&&this.input.activate(),this.$div.triggerHandler("show")},error:function(b){var c,d=this.$form.find(".control-group"),e=this.$form.find(".editable-error-block");if(b===!1)d.removeClass(a.fn.editableform.errorGroupClass),e.removeClass(a.fn.editableform.errorBlockClass).empty().hide();else{if(b){c=(""+b).split("\n");for(var f=0;f").text(c[f]).html();b=c.join("
    ")}d.addClass(a.fn.editableform.errorGroupClass),e.addClass(a.fn.editableform.errorBlockClass).html(b).show()}},submit:function(b){b.stopPropagation(),b.preventDefault();var c=this.input.input2value(),d=this.validate(c);if("object"===a.type(d)&&void 0!==d.newValue){if(c=d.newValue,this.input.value2input(c),"string"==typeof d.msg)return this.error(d.msg),this.showForm(),void 0}else if(d)return this.error(d),this.showForm(),void 0;if(!this.options.savenochange&&this.input.value2str(c)==this.input.value2str(this.value))return this.$div.triggerHandler("nochange"),void 0;var e=this.input.value2submit(c);this.isSaving=!0,a.when(this.save(e)).done(a.proxy(function(a){this.isSaving=!1;var b="function"==typeof this.options.success?this.options.success.call(this.options.scope,a,c):null;return b===!1?(this.error(!1),this.showForm(!1),void 0):"string"==typeof b?(this.error(b),this.showForm(),void 0):(b&&"object"==typeof b&&b.hasOwnProperty("newValue")&&(c=b.newValue),this.error(!1),this.value=c,this.$div.triggerHandler("save",{newValue:c,submitValue:e,response:a}),void 0)},this)).fail(a.proxy(function(a){this.isSaving=!1;var b;b="function"==typeof this.options.error?this.options.error.call(this.options.scope,a,c):"string"==typeof a?a:a.responseText||a.statusText||"Unknown error!",this.error(b),this.showForm()},this))},save:function(b){this.options.pk=a.fn.editableutils.tryParseJson(this.options.pk,!0);var c,d="function"==typeof this.options.pk?this.options.pk.call(this.options.scope):this.options.pk,e=!!("function"==typeof this.options.url||this.options.url&&("always"===this.options.send||"auto"===this.options.send&&null!==d&&void 0!==d));return e?(this.showLoading(),c={name:this.options.name||"",value:b,pk:d},"function"==typeof this.options.params?c=this.options.params.call(this.options.scope,c):(this.options.params=a.fn.editableutils.tryParseJson(this.options.params,!0),a.extend(c,this.options.params)),"function"==typeof this.options.url?this.options.url.call(this.options.scope,c):a.ajax(a.extend({url:this.options.url,data:c,type:"POST"},this.options.ajaxOptions))):void 0},validate:function(a){return void 0===a&&(a=this.value),"function"==typeof this.options.validate?this.options.validate.call(this.options.scope,a):void 0},option:function(a,b){a in this.options&&(this.options[a]=b),"value"===a&&this.setValue(b)},setValue:function(a,b){this.value=b?this.input.str2value(a):a,this.$form&&this.$form.is(":visible")&&this.input.value2input(this.value)}},a.fn.editableform=function(c){var d=arguments;return this.each(function(){var e=a(this),f=e.data("editableform"),g="object"==typeof c&&c;f||e.data("editableform",f=new b(this,g)),"string"==typeof c&&f[c].apply(f,Array.prototype.slice.call(d,1))})},a.fn.editableform.Constructor=b,a.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:!0,scope:null,savenochange:!1},a.fn.editableform.template='
    ',a.fn.editableform.loading='
    ',a.fn.editableform.buttons='',a.fn.editableform.errorGroupClass=null,a.fn.editableform.errorBlockClass="editable-error",a.fn.editableform.engine="jquery"}(window.jQuery),function(a){"use strict";a.fn.editableutils={inherit:function(a,b){var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a,a.superclass=b.prototype},setCursorPosition:function(a,b){if(a.setSelectionRange)a.setSelectionRange(b,b);else if(a.createTextRange){var c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}},tryParseJson:function(a,b){if("string"==typeof a&&a.length&&a.match(/^[\{\[].*[\}\]]$/))if(b)try{a=new Function("return "+a)()}catch(c){}finally{return a}else a=new Function("return "+a)();return a},sliceObj:function(b,c,d){var e,f,g={};if(!a.isArray(c)||!c.length)return g;for(var h=0;h").text(b).html()},itemsByValue:function(b,c,d){if(!c||null===b)return[];if("function"!=typeof d){var e=d||"value";d=function(a){return a[e]}}var f=a.isArray(b),g=[],h=this;return a.each(c,function(c,e){if(e.children)g=g.concat(h.itemsByValue(b,e.children,d));else if(f)a.grep(b,function(a){return a==(e&&"object"==typeof e?d(e):e)}).length&&g.push(e);else{var i=e&&"object"==typeof e?d(e):e;b==i&&g.push(e)}}),g},createInput:function(b){var c,d,e,f=b.type;return"date"===f&&("inline"===b.mode?a.fn.editabletypes.datefield?f="datefield":a.fn.editabletypes.dateuifield&&(f="dateuifield"):a.fn.editabletypes.date?f="date":a.fn.editabletypes.dateui&&(f="dateui"),"date"!==f||a.fn.editabletypes.date||(f="combodate")),"datetime"===f&&"inline"===b.mode&&(f="datetimefield"),"wysihtml5"!==f||a.fn.editabletypes[f]||(f="textarea"),"function"==typeof a.fn.editabletypes[f]?(c=a.fn.editabletypes[f],d=this.sliceObj(b,this.objectKeys(c.defaults)),e=new c(d)):(a.error("Unknown type: "+f),!1)},supportsTransitions:function(){var a=document.body||document.documentElement,b=a.style,c="transition",d=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof b[c])return!0;c=c.charAt(0).toUpperCase()+c.substr(1);for(var e=0;e"),this.tip().is(this.innerCss)?this.tip().append(this.$form):this.tip().find(this.innerCss).append(this.$form),this.renderForm()},hide:function(a){if(this.tip()&&this.tip().is(":visible")&&this.$element.hasClass("editable-open")){if(this.$form.data("editableform").isSaving)return this.delayedHide={reason:a},void 0;this.delayedHide=!1,this.$element.removeClass("editable-open"),this.innerHide(),this.$element.triggerHandler("hidden",a||"manual")}},innerShow:function(){},innerHide:function(){},toggle:function(a){this.container()&&this.tip()&&this.tip().is(":visible")?this.hide():this.show(a)},setPosition:function(){},save:function(a,b){this.$element.triggerHandler("save",b),this.hide("save")},option:function(a,b){this.options[a]=b,a in this.containerOptions?(this.containerOptions[a]=b,this.setContainerOption(a,b)):(this.formOptions[a]=b,this.$form&&this.$form.editableform("option",a,b))},setContainerOption:function(a,b){this.call("option",a,b)},destroy:function(){this.hide(),this.innerDestroy(),this.$element.off("destroyed"),this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:function(b){a(".editable-open").each(function(c,d){if(d!==b&&!a(d).find(b).length){var e=a(d),f=e.data("editableContainer");f&&("cancel"===f.options.onblur?e.data("editableContainer").hide("onblur"):"submit"===f.options.onblur&&e.data("editableContainer").tip().find("form").submit())}})},activate:function(){this.tip&&this.tip().is(":visible")&&this.$form&&this.$form.data("editableform").input.activate()}},a.fn.editableContainer=function(d){var e=arguments;return this.each(function(){var f=a(this),g="editableContainer",h=f.data(g),i="object"==typeof d&&d,j="inline"===i.mode?c:b;h||f.data(g,h=new j(this,i)),"string"==typeof d&&h[d].apply(h,Array.prototype.slice.call(e,1))})},a.fn.editableContainer.Popup=b,a.fn.editableContainer.Inline=c,a.fn.editableContainer.defaults={value:null,placement:"top",autohide:!0,onblur:"cancel",anim:!1,mode:"popup"},jQuery.event.special.destroyed={remove:function(a){a.handler&&a.handler()}}}(window.jQuery),function(a){"use strict";a.extend(a.fn.editableContainer.Inline.prototype,a.fn.editableContainer.Popup.prototype,{containerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container editable-inline",initContainer:function(){this.$tip=a(""),this.options.anim||(this.options.anim=0)},splitOptions:function(){this.containerOptions={},this.formOptions=this.options},tip:function(){return this.$tip},innerShow:function(){this.$element.hide(),this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,a.proxy(function(){this.$element.show(),this.innerDestroy()},this))},innerDestroy:function(){this.tip()&&this.tip().empty().remove()}})}(window.jQuery),function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.editable.defaults,c,a.fn.editableutils.getConfigData(this.$element)),this.options.selector?this.initLive():this.init(),this.options.highlight&&!a.fn.editableutils.supportsTransitions()&&(this.options.highlight=!1)};b.prototype={constructor:b,init:function(){var b,c=!1;if(this.options.name=this.options.name||this.$element.attr("id"),this.options.scope=this.$element[0],this.input=a.fn.editableutils.createInput(this.options),this.input){switch(void 0===this.options.value||null===this.options.value?(this.value=this.input.html2value(a.trim(this.$element.html())),c=!0):(this.options.value=a.fn.editableutils.tryParseJson(this.options.value,!0),this.value="string"==typeof this.options.value?this.input.str2value(this.options.value):this.options.value),this.$element.addClass("editable"),"textarea"===this.input.type&&this.$element.addClass("editable-pre-wrapped"),"manual"!==this.options.toggle?(this.$element.addClass("editable-click"),this.$element.on(this.options.toggle+".editable",a.proxy(function(a){if(this.options.disabled||a.preventDefault(),"mouseenter"===this.options.toggle)this.show();else{var b="click"!==this.options.toggle;this.toggle(b)}},this))):this.$element.attr("tabindex",-1),"function"==typeof this.options.display&&(this.options.autotext="always"),this.options.autotext){case"always":b=!0;break;case"auto":b=!a.trim(this.$element.text()).length&&null!==this.value&&void 0!==this.value&&!c;break;default:b=!1}a.when(b?this.render():!0).then(a.proxy(function(){this.options.disabled?this.disable():this.enable(),this.$element.triggerHandler("init",this)},this))}},initLive:function(){var b=this.options.selector;this.options.selector=!1,this.options.autotext="never",this.$element.on(this.options.toggle+".editable",b,a.proxy(function(b){var c=a(b.target);c.data("editable")||(c.hasClass(this.options.emptyclass)&&c.empty(),c.editable(this.options).trigger(b))},this))},render:function(a){return this.options.display!==!1?this.input.value2htmlFinal?this.input.value2html(this.value,this.$element[0],this.options.display,a):"function"==typeof this.options.display?this.options.display.call(this.$element[0],this.value,a):this.input.value2html(this.value,this.$element[0]):void 0},enable:function(){this.options.disabled=!1,this.$element.removeClass("editable-disabled"),this.handleEmpty(this.isEmpty),"manual"!==this.options.toggle&&"-1"===this.$element.attr("tabindex")&&this.$element.removeAttr("tabindex")},disable:function(){this.options.disabled=!0,this.hide(),this.$element.addClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.$element.attr("tabindex",-1)},toggleDisabled:function(){this.options.disabled?this.enable():this.disable()},option:function(b,c){return b&&"object"==typeof b?(a.each(b,a.proxy(function(b,c){this.option(a.trim(b),c)},this)),void 0):(this.options[b]=c,"disabled"===b?c?this.disable():this.enable():("value"===b&&this.setValue(c),this.container&&this.container.option(b,c),this.input.option&&this.input.option(b,c),void 0))},handleEmpty:function(b){this.options.display!==!1&&(this.isEmpty=void 0!==b?b:"function"==typeof this.input.isEmpty?this.input.isEmpty(this.$element):""===a.trim(this.$element.html()),this.options.disabled?this.isEmpty&&(this.$element.empty(),this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass)):this.isEmpty?(this.$element.html(this.options.emptytext),this.options.emptyclass&&this.$element.addClass(this.options.emptyclass)):this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass))},show:function(b){if(!this.options.disabled){if(this.container){if(this.container.tip().is(":visible"))return}else{var c=a.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(c),this.$element.on("save.internal",a.proxy(this.save,this)),this.container=this.$element.data("editableContainer")}this.container.show(b)}},hide:function(){this.container&&this.container.hide()},toggle:function(a){this.container&&this.container.tip().is(":visible")?this.hide():this.show(a)},save:function(a,b){if(this.options.unsavedclass){var c=!1;c=c||"function"==typeof this.options.url,c=c||this.options.display===!1,c=c||void 0!==b.response,c=c||this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(b.newValue),c?this.$element.removeClass(this.options.unsavedclass):this.$element.addClass(this.options.unsavedclass)}if(this.options.highlight){var d=this.$element,e=d.css("background-color");d.css("background-color",this.options.highlight),setTimeout(function(){"transparent"===e&&(e=""),d.css("background-color",e),d.addClass("editable-bg-transition"),setTimeout(function(){d.removeClass("editable-bg-transition")},1700)},10)}this.setValue(b.newValue,!1,b.response)},validate:function(){return"function"==typeof this.options.validate?this.options.validate.call(this,this.value):void 0},setValue:function(b,c,d){this.value=c?this.input.str2value(b):b,this.container&&this.container.option("value",this.value),a.when(this.render(d)).then(a.proxy(function(){this.handleEmpty()},this))},activate:function(){this.container&&this.container.activate()},destroy:function(){this.disable(),this.container&&this.container.destroy(),this.input.destroy(),"manual"!==this.options.toggle&&(this.$element.removeClass("editable-click"),this.$element.off(this.options.toggle+".editable")),this.$element.off("save.internal"),this.$element.removeClass("editable editable-open editable-disabled"),this.$element.removeData("editable")}},a.fn.editable=function(c){var d={},e=arguments,f="editable";switch(c){case"validate":return this.each(function(){var b,c=a(this),e=c.data(f);e&&(b=e.validate())&&(d[e.options.name]=b)}),d;case"getValue":return 2===arguments.length&&arguments[1]===!0?d=this.eq(0).data(f).value:this.each(function(){var b=a(this),c=b.data(f);c&&void 0!==c.value&&null!==c.value&&(d[c.options.name]=c.input.value2submit(c.value))}),d;case"submit":var g=arguments[1]||{},h=this,i=this.editable("validate");if(a.isEmptyObject(i)){var j={};if(1===h.length){var k=h.data("editable"),l={name:k.options.name||"",value:k.input.value2submit(k.value),pk:"function"==typeof k.options.pk?k.options.pk.call(k.options.scope):k.options.pk};"function"==typeof k.options.params?l=k.options.params.call(k.options.scope,l):(k.options.params=a.fn.editableutils.tryParseJson(k.options.params,!0),a.extend(l,k.options.params)),j={url:k.options.url,data:l,type:"POST"},g.success=g.success||k.options.success,g.error=g.error||k.options.error}else{var m=this.editable("getValue");j={url:g.url,data:m,type:"POST"}}j.success="function"==typeof g.success?function(a){g.success.call(h,a,g)}:a.noop,j.error="function"==typeof g.error?function(){g.error.apply(h,arguments)}:a.noop,g.ajaxOptions&&a.extend(j,g.ajaxOptions),g.data&&a.extend(j.data,g.data),a.ajax(j)}else"function"==typeof g.error&&g.error.call(h,i);return this}return this.each(function(){var d=a(this),g=d.data(f),h="object"==typeof c&&c;return h&&h.selector?(g=new b(this,h),void 0):(g||d.data(f,g=new b(this,h)),"string"==typeof c&&g[c].apply(g,Array.prototype.slice.call(e,1)),void 0)})},a.fn.editable.defaults={type:"text",disabled:!1,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}}(window.jQuery),function(a){"use strict";a.fn.editabletypes={};var b=function(){};b.prototype={init:function(b,c,d){this.type=b,this.options=a.extend({},d,c)},prerender:function(){this.$tpl=a(this.options.tpl),this.$input=this.$tpl,this.$clear=null,this.error=null},render:function(){},value2html:function(b,c){a(c)[this.options.escape?"text":"html"](a.trim(b))},html2value:function(b){return a("
    ").html(b).text()},value2str:function(a){return a},str2value:function(a){return a},value2submit:function(a){return a},value2input:function(a){this.$input.val(a)},input2value:function(){return this.$input.val()},activate:function(){this.$input.is(":visible")&&this.$input.focus()},clear:function(){this.$input.val(null)},escape:function(b){return a("
    ").text(b).html()},autosubmit:function(){},destroy:function(){},setClass:function(){this.options.inputclass&&this.$input.addClass(this.options.inputclass)},setAttr:function(a){void 0!==this.options[a]&&null!==this.options[a]&&this.$input.attr(a,this.options[a])},option:function(a,b){this.options[a]=b}},b.defaults={tpl:"",inputclass:null,escape:!0,scope:null,showbuttons:!0},a.extend(a.fn.editabletypes,{abstractinput:b})}(window.jQuery),function(a){"use strict";var b=function(){};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){var b=a.Deferred();return this.error=null,this.onSourceReady(function(){this.renderList(),b.resolve()},function(){this.error=this.options.sourceError,b.resolve()}),b.promise()},html2value:function(){return null},value2html:function(b,c,d,e){var f=a.Deferred(),g=function(){"function"==typeof d?d.call(c,b,this.sourceData,e):this.value2htmlFinal(b,c),f.resolve()};return null===b?g.call(this):this.onSourceReady(g,function(){f.resolve()}),f.promise()},onSourceReady:function(b,c){var d;if(a.isFunction(this.options.source)?(d=this.options.source.call(this.options.scope),this.sourceData=null):d=this.options.source,this.options.sourceCache&&a.isArray(this.sourceData))return b.call(this),void 0;try{d=a.fn.editableutils.tryParseJson(d,!1)}catch(e){return c.call(this),void 0}if("string"==typeof d){if(this.options.sourceCache){var f,g=d;if(a(document).data(g)||a(document).data(g,{}),f=a(document).data(g),f.loading===!1&&f.sourceData)return this.sourceData=f.sourceData,this.doPrepend(),b.call(this),void 0;if(f.loading===!0)return f.callbacks.push(a.proxy(function(){this.sourceData=f.sourceData,this.doPrepend(),b.call(this)},this)),f.err_callbacks.push(a.proxy(c,this)),void 0;f.loading=!0,f.callbacks=[],f.err_callbacks=[]}var h=a.extend({url:d,type:"get",cache:!1,dataType:"json",success:a.proxy(function(d){f&&(f.loading=!1),this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(f&&(f.sourceData=this.sourceData,a.each(f.callbacks,function(){this.call()})),this.doPrepend(),b.call(this)):(c.call(this),f&&a.each(f.err_callbacks,function(){this.call()}))},this),error:a.proxy(function(){c.call(this),f&&(f.loading=!1,a.each(f.err_callbacks,function(){this.call()}))},this)},this.options.sourceOptions);a.ajax(h)}else this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(this.doPrepend(),b.call(this)):c.call(this)},doPrepend:function(){null!==this.options.prepend&&void 0!==this.options.prepend&&(a.isArray(this.prependData)||(a.isFunction(this.options.prepend)&&(this.options.prepend=this.options.prepend.call(this.options.scope)),this.options.prepend=a.fn.editableutils.tryParseJson(this.options.prepend,!0),"string"==typeof this.options.prepend&&(this.options.prepend={"":this.options.prepend}),this.prependData=this.makeArray(this.options.prepend)),a.isArray(this.prependData)&&a.isArray(this.sourceData)&&(this.sourceData=this.prependData.concat(this.sourceData)))},renderList:function(){},value2htmlFinal:function(){},makeArray:function(b){var c,d,e,f,g=[];if(!b||"string"==typeof b)return null;if(a.isArray(b)){f=function(a,b){return d={value:a,text:b},c++>=2?!1:void 0};for(var h=0;h1&&(e.children&&(e.children=this.makeArray(e.children)),g.push(e))):g.push({value:e,text:e})}else a.each(b,function(a,b){g.push({value:a,text:b})});return g},option:function(a,b){this.options[a]=b,"source"===a&&(this.sourceData=null),"prepend"===a&&(this.prependData=null)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{source:null,prepend:!1,sourceError:"Error when loading list",sourceCache:!0,sourceOptions:null}),a.fn.editabletypes.list=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("text",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.renderClear(),this.setClass(),this.setAttr("placeholder")},activate:function(){this.$input.is(":visible")&&(this.$input.focus(),a.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length),this.toggleClear&&this.toggleClear())},renderClear:function(){this.options.clear&&(this.$clear=a(''),this.$input.after(this.$clear).css("padding-right",24).keyup(a.proxy(function(b){if(!~a.inArray(b.keyCode,[40,38,9,13,27])){clearTimeout(this.t);var c=this;this.t=setTimeout(function(){c.toggleClear(b)},100)}},this)).parent().css("position","relative"),this.$clear.click(a.proxy(this.clear,this)))},postrender:function(){},toggleClear:function(){if(this.$clear){var a=this.$input.val().length,b=this.$clear.is(":visible");a&&!b&&this.$clear.show(),!a&&b&&this.$clear.hide()}},clear:function(){this.$clear.hide(),this.$input.val("").focus()}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'',placeholder:null,clear:!0}),a.fn.editabletypes.text=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("textarea",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass(),this.setAttr("placeholder"),this.setAttr("rows"),this.$input.keydown(function(b){b.ctrlKey&&13===b.which&&a(this).closest("form").submit()})},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:"",inputclass:"input-large",placeholder:null,rows:7}),a.fn.editabletypes.textarea=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("select",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){this.$input.empty();var b=function(c,d){var e;if(a.isArray(d))for(var f=0;f",e),d[f].children))):(e.value=d[f].value,d[f].disabled&&(e.disabled=!0),c.append(a("