<?php
/**
 * Init kentooz framework for free
 */
 
/*
* Add other script
*/
require_once(TEMPLATEPATH . '/includes/functions/BFI_Thumb.php');
// Change the upload subdirectory to wp-content/uploads/other_dir
@define( BFITHUMB_UPLOAD_DIR, 'ktz' );

//Automatic update
require get_template_directory() . '/includes/functions/theme-update-checker.php';
$kentooz_update_checker = new ThemeUpdateChecker (
	'karma',
	'http://www.kentooz.com/files/karma/karmaotomatisupdate.json'
);

//Importer
function load_radium_one_click_demo_install(){
	require get_template_directory() . '/includes/importer/init.php';
}
add_action( 'after_setup_theme', 'load_radium_one_click_demo_install', 2 );
 
class KENTOOZ {
	function init() {
		self::ktz_definitions();
		self::ktz_functions();
		self::ktz_add_actions();
		self::ktz_filters();
		self::ktz_add_image_size();
		self::locale();
	}

	// Define URL
	public static function ktz_definitions() {
		define( 'theme_slug', get_template() );
		define( 'ktz_dir', get_template_directory() . '/' );
		define( 'ktz_inc', get_template_directory() . '/includes/' );
		define( 'ktz_url', get_template_directory_uri() . '/' );
		define( 'ktz_styleinc', get_template_directory_uri() . '/includes/' );
		define( 'ktz_theme_textdomain', theme_slug );
		define( 'ktz_admin_textdomain', theme_slug . '_admin' );
	}
		
	// Load function data
	public static function ktz_functions() {
		require_once(ktz_inc . 'admin/admin.php');
		require_once(ktz_inc . 'widget/widget.php');
		require_once(ktz_inc . 'shortcodes/shortcode.php');
		require_once(ktz_inc . 'functions/function_core.php');
		require_once(ktz_inc . 'functions/function_js.php');
		require_once(ktz_inc . 'functions/function_head.php');
		require_once(ktz_inc . 'functions/function_footer.php');
		require_once(ktz_inc . 'functions/function_sidebar.php');
		require_once(ktz_inc . 'functions/function_content.php');
		require_once(ktz_inc . 'functions/function_loop.php');
		require_once(ktz_inc . 'functions/function_magazine.php');
		require_once(ktz_inc . 'metaboxes/meta-options.php');
		require_once(ktz_inc . 'metaboxes/meta-theme.php');
	}	
	
	public static function ktz_add_actions() {
		add_action( 'do_ktz_after_single_content', 'ktz_comments_template' );
		add_action( 'do_ktz_after_single_content', 'ktz_comments_facebook' );
		add_action(	'after_setup_theme', 'ktz_setup' );
		add_action( 'do_ktz_mainfooter', 'ktz_mainfooter' );
		add_action( 'do_ktz_subfooter', 'ktz_subfooter',10 );
		add_action( 'do_ktz_subfooter', 'ktz_sn',15 );
		add_action( 'do_ktz_head', 'ktz_head_favicon' );
		add_action( 'do_ktz_title', 'ktz_title' );
		add_action( 'wp_head', 'ktz_headelement' );
		add_action( 'wp_head', 'ktz_dynamicbg' );
		add_action( 'do_ktz_ban200200_leftmag', 'ktz_ban200200_leftmag' );
		add_action( 'do_ktz_footbanner', 'ktz_ban72890_foot' );
		add_action( 'do_ktz_centerbanner', 'ktz_centerbanner' );
		add_action( 'do_ktz_centerbanner', 'ktz_centerbanner2' );
		add_action( 'do_ktz_topheader', 'ktz_topheader' );
		add_action( 'do_ktz_header', 'ktz_headlogo' );
		add_action( 'do_ktz_header', 'ktz_headbanner' );
		add_action( 'do_ktz_before_header', 'ktz_topsearch' );
		add_action( 'do_ktz_secondmenu_header', 'ktz_secondmenu' );
		add_action( 'do_ktz_topmenu', 'ktz_topmenu' );
		add_action( 'wp_enqueue_scripts', 'ktz_enqueue_css' );  
		add_action( 'init', 'ktz_register_css');
		add_action( 'do_ktz_carousel', 'ktz_feat_fullslider' );
		add_action( 'do_ktz_after_header', 'ktz_crumbs' );
		add_action( 'init', 'ktz_register_jascripts' );
		add_action( 'wp_enqueue_scripts','ktz_jsscripts' );
		add_action( 'do_ktz_content', 'ktz_posted_title' );
		add_action( 'do_ktz_meta_content', 'ktz_author_by_single' );
		add_action( 'do_ktz_meta_content', 'ktz_posted_on_single' );	
		add_action( 'do_ktz_top_feat', 'ktz_top_feat' );
		add_action( 'do_ktz_module_1', 'ktz_module_1' );
		add_action( 'do_ktz_module_2', 'ktz_module_2' );
		add_action( 'do_ktz_module_3', 'ktz_module_3' );
		add_action( 'do_ktz_module_4', 'ktz_module_4' );
		add_action( 'do_ktz_module_5', 'ktz_module_5' );
		add_action( 'do_ktz_module_footer', 'ktz_module_footer' );
		add_action( 'do_ktz_module_footer2', 'ktz_module_footer2' );
		add_action( 'do_ktz_module_footer3', 'ktz_module_footer3' );
		add_action( 'do_ktz_content', 'ktz_content' );	
		add_action( 'do_ktz_content', 'ktz_link_pages' );
		add_action( 'do_ktz_singlecontent', 'ktz_content' );
		add_action( 'do_ktz_singlecontent', 'ktz_link_pages' );
		add_action( 'do_ktz_feat_single', 'ktz_most_view' );
		add_action( 'do_ktz_feat_single', 'ktz_ban300250_singlefoot' );
		add_action( 'do_ktz_feedburner', 'ktz_feedburner' );
		add_action( 'do_ktz_navigation', 'ktz_navigation' );
		add_action( 'do_ktz_before_content', 'ktz_feature_m' );
		add_action( 'do_ktz_before_firstcontent', 'ktz_bigfeature_post' );
		add_action( 'do_ktz_thumbfull', 'ktz_thumbfull' );
		add_action( 'widgets_init', 'sidebar_widget_init' );
		add_action( 'widgets_init', 'ktz_widget_init' );
	}
	public static function ktz_filters() {	
		add_filter( 'get_avatar', 'change_avatar_css' );
		add_filter( 'comment_form_default_fields','ktz_com_fields' );
		add_filter( 'comment_form_field_comment','ktz_com_fields_textarea' );
		add_filter( 'widget_text', 'do_shortcode' );
	}
	public static function ktz_add_image_size() {	
		add_image_size( 'main-thumbnail', 620, 150, true );
		add_image_size( 'col-6', 290, 150, true );
		add_image_size( 'slider-kas', 470, 230, true );
		add_image_size( 'feat-m', 200, 120, true );
		add_image_size( 'medium-thumbnail', 70, 70, true ); 
		add_image_size( 'small-thumbnail', 50, 50, true ); // Use for recent post at tabs widget
	}	
	public static function locale() {
		$locale = get_locale();
		if( is_admin() ) {
			load_theme_textdomain( ktz_admin_textdomain, ktz_inc . 'languages' );
			$locale_file = ktz_inc . "languages/$locale.php";
		} else {
			load_theme_textdomain( ktz_theme_textdomain, ktz_dir . 'languages' );
			$locale_file = ktz_dir . "languages/$locale.php";
		}
		if ( is_readable( $locale_file ) )
			require_once( $locale_file );
	}
}

// Hook system
function hook_ktz_head() {
	 do_action('do_ktz_head');
}

function hook_ktz_title() {
	 do_action('do_ktz_title');
}

function hook_ktz_before_header() {
	 do_action('do_ktz_before_header');
}

function hook_ktz_secondmenu_header() {
	 do_action('do_ktz_secondmenu_header');
}

function hook_ktz_header() {
	do_action( 'do_ktz_header' );
}

function hook_ktz_menu_header() {
	do_action( 'do_ktz_topmenu' );
}

function hook_ktz_after_header() {
	 do_action(	'do_ktz_after_header' );
}
function hook_ktz_carousel() {
	 do_action( 'do_ktz_carousel' );
	 do_action( 'do_ktz_module_1' );
}
function hook_ktz_top_feat() {
	do_action( 'do_ktz_top_feat' );
}

function hook_ktz_module_2() {
		do_action( 'do_ktz_module_2' );
}

function hook_ktz_module_3() {
		do_action( 'do_ktz_module_3' );
}

function hook_ktz_module_4() {
		do_action( 'do_ktz_module_4' );
}

function hook_ktz_module_5() {
		do_action( 'do_ktz_module_5' );
}

function hook_ktz_module_footer() {
		do_action( 'do_ktz_module_footer' );
}
function hook_ktz_module_footer2() {
		do_action( 'do_ktz_module_footer2' );
}
function hook_ktz_module_footer3() {
		do_action( 'do_ktz_module_footer3' );
}
function hook_ktz_title_content() {
	 do_action('do_ktz_title_content');
}
function hook_ktz_ban200200_leftmag() {
	 do_action('do_ktz_ban200200_leftmag');
}
function hook_ktz_footbanner() {
	 do_action('do_ktz_footbanner');
}
function hook_ktz_centerbanner() {
	 do_action('do_ktz_centerbanner');
}
function hook_ktz_before_content() {
	 do_action('do_ktz_before_content');
}
function hook_ktz_before_firstcontent() {
	 do_action('do_ktz_before_firstcontent');
}
function hook_ktz_meta_content() {
	 do_action('do_ktz_meta_content');
}

function hook_ktz_content() {
	 do_action('do_ktz_content');
}

function hook_ktz_singlecontent() {
	 do_action('do_ktz_singlecontent');
}
function hook_ktz_feat_single() {
	 do_action('do_ktz_feat_single');
}
function hook_ktz_feedburner() {
	 do_action('do_ktz_feedburner');
}
function hook_ktz_navigation() {
	 do_action('do_ktz_navigation');
}

function hook_ktz_after_single_content() {
	 do_action('do_ktz_after_single_content');
}

function hook_ktz_footer() {
	do_action( 'do_ktz_mainfooter' ); 
}

function hook_ktz_after_footer() {
	 do_action('do_ktz_subfooter');
}

?>