(function ($) {

	'use strict';

	/*
	Basic
	*/
	$('#treeBasic').jstree({
		'core': {
			'themes': {
				'responsive': false
			}
		},
		'types': {
			'default': {
				'icon': 'fa fa-folder'
			},
			'file': {
				'icon': 'fa fa-file'
			}
		},
		'plugins': ['types']
	});

	/*
	Checkbox
	*/
	$('#treeCheckbox').jstree({
		'core': {
			'themes': {
				'responsive': false
			}
		},
		'types': {
			'default': {
				'icon': 'fa fa-folder'
			},
			'file': {
				'icon': 'fa fa-file'
			}
		},
		'plugins': ['types', 'checkbox']
	});

	/*
	Ajax HTML
	*/
	$('#treeAjaxHTML').jstree({
		'core': {
			'themes': {
				'responsive': false
			},
			'check_callback': true,
			'data': {
				'url': './script/php/getTree.php?folder=' + folder,
			}
		},
		'types': {
			'default': {
				'icon': 'fa fa-folder'
			},
			'file': {
				'icon': 'fa fa-file'
			}
		},
		'plugins': ['types']
	}).on(
		'select_node.jstree',
		function (event, data) {

			if (data.node.text.includes(".")) {

				window.location.href = data.node.a_attr.href;
				//console.log(data);
			}


		}).bind('loaded.jstree', function (e, data) {
		// invoked after jstree has loaded
		$('.jstree-anchor').each(function (index) {
			if ($(this).attr('href').includes(".dll") || $(this).attr('href').includes(".dyn")) {
				api = $(this).attr('href');
			}
		});
		if (api != null) {
			var fileNames = api.split("/");
			fileName = fileNames[fileNames.length - 1];
			$("#api").attr("href", api)
			$("#api").append(fileName);
		}


	});

	/*
	Ajax JSON
	*/
	$('#treeAjaxJSON').jstree({
		'core': {
			'themes': {
				'responsive': false
			},
			'check_callback': true,
			'data': {
				'url': function (node) {
					return node.id === '#' ? 'assets/ajax/ajax-treeview-roots.json' : 'assets/ajax/ajax-treeview-children.json';
				},
				'data': function (node) {
					return {
						'id': node.id
					};
				}
			}
		},
		'types': {
			'default': {
				'icon': 'fa fa-folder'
			},
			'file': {
				'icon': 'fa fa-file'
			}
		},
		'plugins': ['types']
	});

	/*
	Drag & Drop
	*/
	$('#treeDragDrop').jstree({
		'core': {
			'check_callback': true,
			'themes': {
				'responsive': false
			}
		},
		'types': {
			'default': {
				'icon': 'fa fa-folder'
			},
			'file': {
				'icon': 'fa fa-file'
			}
		},
		'plugins': ['types', 'dnd']
	});

}).apply(this, [jQuery]);