<?php
/* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
 * Copyright (C) 2004-2015 Laurent Destailleur  <eldy@users.sourceforge.net>
 * Copyright (C) 2005-2012 Regis Houssin        <regis.houssin@inodbox.com>
 * Copyright (C) 2015      Jean-François Ferry	<jfefe@aternatik.fr>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
 */

/**
 *	\file       settlements/settlementsindex.php
 *	\ingroup    settlements
 *	\brief      Home page of settlements top menu
 */

//print_r($_REQUEST);exit;

// Load Dolibarr environment

$res = 0;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) {
	$res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php";
}
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME'];
$tmp2 = realpath(__FILE__);
$i = strlen($tmp) - 1;
$j = strlen($tmp2) - 1;
while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) {
	$i--;
	$j--;
}
if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) {
	$res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php";
}
if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) {
	$res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php";
}
// Try main.inc.php using relative path
if (!$res && file_exists("../main.inc.php")) {
	$res = @include "../main.inc.php";
}
if (!$res && file_exists("../../main.inc.php")) {
	$res = @include "../../main.inc.php";
}
if (!$res && file_exists("../../../main.inc.php")) {
	$res = @include "../../../main.inc.php";
}
if (!$res) {
	die("Include of main fails");
}

use Luracast\Restler\RestException;

require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT . '/user/class/usergroup.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/groupusers.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/usernaplo.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/clearallusernaplo.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/helper.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/group.class.php';


// Load translation files required by the page
$langs->loadLangs(array("settlements@settlements"));

$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists)
$massactionadd = GETPOST('massactionadd', 'alpha'); // The bulk action (combo box choice into lists)
$action = GETPOST('action', 'aZ09');
$cancel = GETPOST('cancel', 'int');
$id = GETPOST('id', 'int');
$idmenu = GETPOST('idmenu', 'int');
$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list
$toselectString = GETPOST('toselectString', 'alpha'); // Array of ids of elements selected into a list
$toselectnewuser = GETPOST('toselectnewuser', 'array'); // Array of ids of elements selected into a list
$search_title = GETPOST('search_title', 'alpha');
$search_group_title = GETPOST('search_group_title', 'alpha');
$confirmmassaction = GETPOST('confirmmassaction', 'alpha');
$confirmbutton = GETPOST('confirmbutton', 'int');
$userclearall = GETPOST('userclearall', 'int');
$deleteall = GETPOST('deleteall', 'int');
$confirm = GETPOST('confirm', 'alpha');

// Security check
// if (! $user->rights->settlements->myobject->read) {
// 	accessforbidden();
// }

if ($deleteall) {
	unset($_SESSION['usersArray']);
}


$socid = GETPOST('socid', 'int');
if (isset($user->socid) && $user->socid > 0) {
	$action = '';
	$socid = $user->socid;
}

$max = 5;
$now = dol_now();

$form = new Form($db);
$formfile = new FormFile($db);
$userNaplo = new UserNaplo($db);
$clearAllUserNaplo = new ClearAllUserNaplo($db);
$groupUsers = new GroupUsers($db);
$helper = new Helper($db);
$entities = $helper->getAllEntities();

$entitiesArray = [];
$selectedEntities = '';
foreach ($entities as $key => $value) {
	$val = GETPOST('entity_' . $key, 'int');
	$entitiesArray[$key] = $val;	
	/* if ($val != '') {
		$entitiesArrayIsEmpty = false;
	} */
}

if(empty(array_filter($entitiesArray))){
	$entitiesArray[1] = 1;
}

$selectedEntities = $helper->getEntities($entitiesArrayIsEmpty, $entities, $entitiesArray);

$groups = $helper->getFilteredGroups($search_group_title, $selectedEntities);
$groupToolsAndGroupUsersArray = $helper->getGTAndGUArray();

if (empty($id) || $id == 0) {
	foreach ($groups as $group) {
		$keys[] = $group['rowid'];
	}
	unset($_SESSION['usersArray']);
	$id = $keys[0];
}




$allUsers = $helper->getAllUsers($db);
$usersOfGroups = $helper->getUsersById($db, $id);
$isConfirmedTheGroup = empty($helper->getUsersOfGroupsFromNaploToday($db, $id)) && !empty($usersOfGroups);
$confirmButtonDisplay = $isConfirmedTheGroup ? "display:block;" : "display:none;";
$permissiontoclearall = $user->hasRight('settlements', 'settlementsgroup', 'clearall');

llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs');
include DOL_DOCUMENT_ROOT . '/custom/settlements/core/actions_addupdatedelete.inc.php';

if ($massaction == 'delete' && $confirmmassaction != '') {
	$toselectString = implode(',', $toselect);
	$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '
	?toselectString=' . $toselectString . '&id=' . $id . '&massaction=' . $massaction, 
	$langs->trans('UserDeleteConfirm'), 
	$langs->trans('UserDeleteConfirmObject', $userString), 
	'confirm_users_delete', '', 0, 1);
}

if ($massactionadd == 'add' && $confirmmassaction != '') {
	$usersOfGroups = $helper->getUsersById($db, $id);
	$usersOfGroupsFromNaploToday = $helper->getUsersOfGroupsFromNaploToday($db, $id);
	$confirmed = !empty($usersOfGroupsFromNaploToday) && !empty($usersOfGroups);
	
	$db->begin();
	$error = 0;
	
	$userObj = new User($db);
	$groupObj = new Group($db);
	$groupResult = $groupObj->fetch($id);
	$groupEntity = $groupObj->fk_entity;
	
	foreach ($_SESSION['usersArray'] as $newuser) {
		//print $newuser . '<br>';
		$createResult = $groupUsers->createGroupUsers($id, $newuser);
		if ($createResult < 0) {
			//print '1';
			$error++;
		}
		$data = $helper->createDataArray($id, $massactionadd, $newuser);
		$naploResult = $userNaplo->createUserNaplo($user, $data);
		if ($naploResult < 0) {
			//print '2';
			$error++;
		}
		$userUpdateResult = $helper->updateUserEntityInUser($newuser, $groupEntity);
		if ($userUpdateResult < 0) {
			//print '3';
			$error++;
		}
	}
	//print 'asdasd';exit;
	if ($error) {
		$db->rollback();
		unset($_SESSION['usersArray']);
		setEventMessage($langs->trans("PackageUserFailed", 'error'));
	} else {
		$db->commit();
		unset($_SESSION['usersArray']);
		$helper->returnWindowLocation($_SERVER["PHP_SELF"], $id, $idmenu);
		//setEventMessage($langs->trans("useradded"));
	}
	unset($_SESSION['usersArray']);
}

if ($confirmbutton) {
	$db->begin();
	$error = 0;
	$groupusers = new GroupUsers($db);
	$groupObj = new Group($db);
	$groupResult = $groupObj->fetch($id);
	$groupEntity = $groupObj->fk_entity;
	foreach ($toselect as $selected) {
		$moredata = explode('_', $selected);
		$array = [];
		$deleteResult = $groupusers->deleteLine($user, $moredata[0]);
		if ($deleteResult < 0) {
			$error++;
			$array['deleteLine'] = 1;
		}
		$createResult = $groupUsers->createGroupUsers($confirmbutton, $moredata[1]);
		if ($createResult < 0) {
			$error++;
			$array['createGroupUsers'] = 1;
		}
		$dataAdd = $helper->createDataArray($confirmbutton, 'add', $moredata[1]);
		$naploResult = $userNaplo->createUserNaplo($user, $dataAdd);
		if ($naploResult < 0) {
			$error++;
			$array['createUserNaplo'] = 1;
		}
		$userUpdateResult = $helper->updateUserEntityInUser($moredata[1], $groupEntity);
		if ($userUpdateResult < 0) {
			$error++;
			$array['updateUserEntityInUser'] = 1;
		}
	}
	if ($error) {
		$db->rollback();
		unset($toselect);
		setEventMessage($langs->trans("PackageUserFailed", 'error'));
		//setEventMessage(print_r($array), 'error');
	} else {
		$confirmbutton = null;
		$db->commit();
		$helper->returnWindowLocation($_SERVER["PHP_SELF"], $id, $idmenu);
		//setEventMessage($langs->trans("usersconfirmed"));
	}
}


if ($massaction == 'delete' && $confirmmassaction != '') {
	print $formconfirm;
}

$url = $_SERVER["PHP_SELF"] . '?idmenu=' . $idmenu . '&mainmenu=settlements&leftmenu=&id=' . $id;
/* if ($massaction!=0 || $massactionadd != 0) {
	$url .= "&id={$id}";
} */
print '<form method="POST" id="searchFormList" action="' . $url . '" onkeyup="submitFormAjaxUser()">' . "\n";
print '<input type="hidden" name="token" value="' . newToken() . '">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="action" value="list">';

if ($permissiontoclearall) {
	if ($helper->userGroupsAreEmpty()) {
		print '<div style="text-align: center; color:red; margin-bottom: 30px;">' . $langs->trans('EmptyUsersGroup') . '</div>';
	} else {
		include DOL_DOCUMENT_ROOT . '/custom/settlements/core/tpl/userclearall.tpl.php';
	}
}

print load_fiche_titre($langs->trans("UserGroups"), '', 'settlements.png@settlements');

include DOL_DOCUMENT_ROOT . '/custom/settlements/core/tpl/usercheckboxes.tpl.php';


//print_r($entitiesArrayIsEmpty);exit;
print '<div style="width:100%; padding-bottom: 50px;">';
$columnWidth = 100 / count($entities);
foreach ($entities as $key => $value) {
	if (!$entitiesArrayIsEmpty) {
		$checked = $entitiesArray[$key] == $key ? 'checked' : '';
	} else {
		$checked = 'checked';
	}
	print '<div class="entitiesChk" style="float:left; width:' . $columnWidth . '%; text-align:center;"><input type="checkbox" class="entitycheckbox" id="entity_' . $key . '" name="entity_' . $key . '" value="' . $key . '" ' . $checked . '><label for="' . $key . '">' . $value . '</label></div>';
}
print '</div>';
print '<div style="clear:both;></div>';
//---------------------------------------------
# 1
//---------------------------------------------
print '<div class=""><div class="" style="width:33%;float:left;">';
print '<table style="width:100%;">';
print '<tr style="width: 100%; height: 40px; text-align: center; background-color: lightgrey;"><td colspan="2">' . $langs->trans("groupname") . '</td></tr>';
//print '<tr><td class="liste_titre"><input id="group_search" style="width:100%; height:30px;" type="text" class="" name="search_group_title" value="' . $search_group_title . '" placeholder="Search..." ' . $disabledGroupSearchField . '></td>
print '<tr><td class="liste_titre"><input id="group_search" style="width:100%; height:30px;" type="text" class="" name="search_group_title" value="' . $search_group_title . '" placeholder="Search..."></td>
	<td id="delete_group_search" class="right"><div style="cursor: pointer;"><a href="' . $_SERVER["PHP_SELF"] . '?idmenu=' . $idmenu . '&mainmenu=settlements&leftmenu=&id=' . $id . '&deleteall=1"><span class="fa fa-trash"></span></a></div>
	</td></tr>';
print '<tr><td colspan="3"><div id="searchedGroupsDiv">';
print $helper->groupList($groups, $id);

print '</div></td></tr></table>';
//---------------------------------------------
# 2
//---------------------------------------------
print '</div><div class="" style="width:33%;float:left;">';
print '<table style="width:100%;">';
print '<tr style="width: 100%; height: 40px; text-align: center; background-color: lightgrey;"><td colspan="2"><a href="/custom/settlements/settlementtoolssettingsindex.php?idmenu=1594&mainmenu=settlements&leftmenu=&id=' . $groupToolsAndGroupUsersArray[$id] . '&nopackageuser=1">' . $langs->trans("usersingroup", $helper->getGroupRefByID($id)) . '</a></td></tr>';
/* print '<tr style="width=100%; height:40px;"><td colspan="2" class="center"><button class="btn" name="confirmbutton" value="' . $id . '" onclick="groupconfirm()" 
style="width:100%; height:40px; cursor:pointer; background-color: #98FB98; ' . $confirmButtonDisplay . '">' . $langs->trans("confirm") . '</button></td></tr>'; */
if (!empty($usersOfGroups)) {
	print '<tr><td class="right" style="color:gray;">' . $langs->trans("selectall") . '</td><td class="nowrap center"><input id="cb912" class="flat checkforallselect" type="checkbox"></td></tr>';
	if(!empty($toselect)){
		$$toselectUsers = [];
		foreach($toselect as $toselectUser){
			list($toselectKey, $toselectValue) = explode('_', $toselectUser);
			$toselectUsers[] = $toselectValue;
		}
	}
	foreach ($usersOfGroups as $user) {
		if(!empty($toselect)){
			$checkedUser = in_array($user['fk_user'], $toselectUsers) ? 'checked' : '';
		}
		$rowidAndStatus = $helper->checkStatusToUsergroups($user, $id);
		if ($rowidAndStatus['status'] == 1 || empty($rowidAndStatus)) {
		//if ($rowidAndStatus) {
			$CashCLosed = '';
			$chkCol2Disabled = '';
		} else {
			$CashCLosed = ' <p style="margin-top:0px; margin-left: 25px;"><font color="red">' . $langs->trans('dailyClosingisOpen') . '</font>&nbsp;
				<a href="/custom/rollerstorage/packagehistory_card.php?id=' . $rowidAndStatus['rowid'] . '&idmenu=1594&fk_group_id=' . $rowidAndStatus['fk_group_id'] . '&changeback=1"><span style="cursor:pointer;" class="fa fa-link pictofixedwidth"></span></a></p> ';
			$chkCol2Disabled = 'disabled';
		}
		print '<tr style="height:30px;">
			<td><div><span class="fa fa-user pictofixedwidth"></span> ' . $user['lastname'] . ' ' . $user['firstname'] . '  (' . $user['login'] . ') ' . $CashCLosed . '</div></td>
			<td class="nowrap center"><input id="cb911" class="flat checkforselect" type="checkbox" name="toselect[]" value="' . $user['rowid'] . '_' . $user['fk_user'] . '" ' . $chkCol2Disabled . ' '. $checkedUser .'></td>
		</tr>';
	}
} else {
	print '<tr style="height: 60px; text-align: center; color:red;"><td>' . $langs->trans('nouser') . '</td></tr>';
}
print '</table>';
//---------------------------------------------
# 3
//---------------------------------------------
print '</div><div class="" style="width:33%;float:left;">';
print '<table style="width:100%;">';
print '<tr style="width: 100%; height: 40px; text-align: center; background-color: lightgrey;"><td colspan="3">' . $langs->trans("freeusers") . '</td></tr>';
print '<tr><td class="liste_titre"><input id="name_search" style="width:100%; height:30px;" type="text" class="" name="search_title" value="' . $search_title . '" placeholder="' . $placeholder . '" ' . $disabledSearchField . '></td>
<td id="delete_search" class="center"><div style="cursor: pointer;"><a href="' . $_SERVER["PHP_SELF"] . '?idmenu=' . $idmenu . '&mainmenu=settlements&leftmenu=&id=' . $id . '&deleteall=1"><span class="fa fa-trash"></span></a></div>
</td></tr>';
print '<td colspan="3"><div id="searchedUsersDiv">
<table style="width:100%;">';

if (is_array($allUsers['freeUsers'])/* && !$isConfirmedTheGroup*/) {

	foreach ($allUsers['freeUsers'] as $freeUser) {
		$nickname = isset($freeUser['nickname']) ? '<b>' . $freeUser['nickname'] . '</b> - ' : '';
		$linkToDailyclosing = $freeUser['openDailyClosing'] > 0 ? '<div style="color: red;">' . $langs->trans('HasAnOpenDailyClosing') . '<a href="/custom/rollerstorage/packagehistory_card.php?id=' . $freeUser['openDailyClosing'] . '&idmenu=1594&fk_group_id=' . $id . '&changeback=1">Link</a></div>' : '';
		$dCDisabled = $freeUser['openDailyClosing'] > 0 ? 'disabled' : '';
		print '<tr style="height:30px;">
			<td class="nowrap center"><input id="cb912" class="flat checkforselectadd" type="checkbox" onclick="submitFormAddUser(event)" name="toselectnewuser[]" value="' . $freeUser['rowid'] . '" '. $dCDisabled .'></td>
			<td><span class="fa fa-user pictofixedwidth"></span>' . $nickname . $freeUser['lastname'] . ' ' . $freeUser['firstname'] . '  (' . $freeUser['login'] . ') ' . $linkToDailyclosing . '</td>
		</tr>';
	}
} else {
	print '<tr style="height: 60px; text-align: center; color:red;"><td>' . $langs->trans('NoUser') . '</td></tr>';
}
print '</table><table style="width:100%; color: red;">';
if (is_array($allUsers['addedUsers'])) {
	foreach ($allUsers['addedUsers'] as $addedUser) {
		$nickname = isset($addedUser['nickname']) ? '<b>' . $addedUser['nickname'] . '</b> - ' : '';
		print '<tr style="height:30px;">
			<td rowspan="2"><span class="fa fa-user pictofixedwidth"></span></td>
			<td>' . $nickname . $addedUser['lastname'] . ' ' . $addedUser['firstname'] . '  (' . $addedUser['login'] . ')</td></tr>';
		print '<tr>
			<td class="nowrap"><span class="fa fa-link pictofixedwidth"></span><a href="/custom/settlements/settlementsindex.php?idmenu=1587&mainmenu=settlements&leftmenu=&id=' . $addedUser['groupid'] . '">' . $addedUser['groupref'] . '</a></td>
		</tr>';
	}
}
print '</table>';

print '</div></td>';
print '</div></div>';
print '</form>' . "\n";
// End of page
llxFooter();
$db->close();
?>
<script>
	$(document).ready(function () {
		// Az űrlap elküldése, ha a checkbox változik
		$('.entitiesChk').change(function () {
			$('#searchFormList').submit();
		});
		var elements = document.getElementsByClassName('submitFormLink');
		for (var i = 0; i < elements.length; i++) {
			elements[i].addEventListener('click', function (event) {
				event.preventDefault();
				var form = document.getElementById('searchFormList');
				var actionValue = form.getAttribute('action');
				var clickedElementValue = this.getAttribute('data-value');
				lastIndex = actionValue.lastIndexOf('&');
				var trimmedQueryString = actionValue.substring(0, lastIndex);
				form.action = trimmedQueryString + '&id=' + clickedElementValue;
				document.getElementById('searchFormList').submit();
			});
		}
	});
	function groupconfirm() {
		$('.checkforselect').prop('checked', true);
	}

	$('.massactionaddconfirmed').click(function () {
		$("#name_search").val('');
		groupconfirm();
	})

	$('.massactionconfirmed').click(function () {
		$("#name_search").val('');
		$("#deletechk").val(1);
	})

	$('.checkforallselect').click(function () {
		if ($(this).is(':checked')) {
			$('.checkforselect').prop('checked', true);
			$('#divDelete').css('display', 'inline-block');
			$('#massaction').css('display', 'inline-block');
			$('.massactionselect ').css('display', '');
			$('.massactionconfirmed ').css('display', '');
		} else {
			$('#divDelete').css('display', 'none');
			$('.checkforselect').prop('checked', false);
			$('#massaction').css('display', 'none');
			$('.massactionselect ').css('display', 'none');
			$('.massactionconfirmed ').css('display', 'none');

		}
	})

	$('.checkforselect').click(function () {
		if ($(this).is(':checked')) {
			$('#divDelete').css('display', 'inline-block');
			$('#massaction').css('display', 'inline-block');
			$('.massactionselect ').css('display', '');
			$('.massactionconfirmed ').css('display', '');
		} else {
			$('#massaction').css('display', 'none');
			$('#divDelete').css('display', 'none');
			$('.massactionselect ').css('display', 'none');
			$('.massactionconfirmed ').css('display', 'none');

		}
	})

	$('.checkforselectadd').click(function () {
		if ($(this).is(':checked')) {
			$('#divAdd').css('display', 'inline-block');
			$('#massactionadd').css('display', 'inline-block');
			$('.massactionaddselect ').css('display', '');
			$('.massactionaddconfirmed ').css('display', '');
		} else {
			$('#divAdd').css('display', 'none');
			$('#massactionadd').css('display', 'none');
			$('.massactionaddselect ').css('display', 'none');
			$('.massactionaddconfirmed ').css('display', 'none');

		}
	})

	function deleteFunction() {
		$("#name_search").val('');
		document.getElementById("searchFormList").submit();
	}

	function submitFormAjaxUser() {
		var input = document.getElementById("name_search");
		console.log(input.value);
		var inputGroup = document.getElementById("group_search");
		var checkboxes = document.querySelectorAll('.checkforselectadd:checked');
		var values = Array.from(checkboxes).map(function (checkbox) {
			return checkbox.value;
		});
		//if (input.value) {
			var xhr = new XMLHttpRequest();
			xhr.open("GET", "ajaxUser.php?search_title=" + input.value + "&toselectnewuser=" + values, true);
			xhr.onreadystatechange = function () {
				if (xhr.readyState === 4 && xhr.status === 200) {
					$("#searchedUsersDiv").html(xhr.responseText);
				}
			};
			xhr.send();
		//} else {
		//	console.log('user: ' + input.value);
		//}
		//if (inputGroup.value) {
			var xhrGroup = new XMLHttpRequest();
			var selectedCheckboxes = $('input[type="checkbox"][id*="entity_"]:checked');
			var checkboxValues = selectedCheckboxes.toArray().map(function (checkbox) {
				return $(checkbox).val();
			});
			xhrGroup.open("GET", "ajaxGroupName.php?search_group_title=" + inputGroup.value + '&selectedEntities=' + checkboxValues, true);
			xhrGroup.onreadystatechange = function () {
				if (xhrGroup.readyState === 4 && xhrGroup.status === 200) {
					$("#searchedGroupsDiv").html(xhrGroup.responseText);
				}
			};
			xhrGroup.send();
		//} else {
		//	console.log('Group: ' + inputGroup.value);
		//}
	}

	function submitFormAddUser(event) {
		var checkbox = event.target;
		if (checkbox.checked) {
			var input = document.getElementById("name_search");
			var checkboxes = document.querySelectorAll('.checkforselectadd:checked');
			var values = Array.from(checkboxes).map(function (checkbox1) {
				return checkbox1.value;
			});
			var xhr = new XMLHttpRequest();
			xhr.open("GET", "ajaxUser.php?search_title=" + input.value + "&toselectnewuser=" + values, true);
			xhr.onreadystatechange = function () {
				if (xhr.readyState === 4 && xhr.status === 200) {
					$("#searchedUsersDiv").html(xhr.responseText);
				}
			};
			xhr.send();
		} else {
			var input = document.getElementById("name_search");
			var checkboxes = document.querySelectorAll('.checkforselectadd:checked');
			var values = Array.from(checkboxes).map(function (checkbox1) {
				return checkbox1.value;
			});
			var xhr = new XMLHttpRequest();
			xhr.open("GET", "ajaxUser.php?search_title=" + input.value + "&reduction=" + values, true);
			xhr.onreadystatechange = function () {
				if (xhr.readyState === 4 && xhr.status === 200) {
					$("#searchedUsersDiv").html(xhr.responseText);
				}
			};
			xhr.send();
		}
	}
	var input = document.getElementById("name_search");
	input.focus();
	input.setSelectionRange(input.value.length, input.value.length);
</script>