<?php namespace AloVoice; ?>
<center><h3 class="h3 card-body">Настройки</h3></center>

<form  id="alv_settings_form">


	<div class="flex-row py-2">
		<label for="asterisk_host" class="col-4 col-form-label text-right p-r-10">IP или доменный Адрес Менеджера Астериск (AMI) </label>
		<div class="col-auto">
			<input type="text" class="form-control" id="asterisk_host">
		</div>
	</div>

	<div class="flex-row py-2">
		<label for="asterisk_port" class="col-4 col-form-label text-right p-r-10">Порт Менеджера Астериск (AMI) </label>
		<div class="col-auto">
			<input type="text" class="form-control" id="asterisk_port">
		</div>
	</div>

	<div class="flex-row py-2">
		<label for="asterisk_username" class="col-4 col-form-label text-right p-r-10">Пользователь Менеджера Астериск (AMI) </label>
		<div class="col-auto">
			<input type="text" class="form-control" id="asterisk_username">
		</div>
	</div>

	<div class="flex-row py-2">
		<label for="asterisk_secret" class="col-4 col-form-label text-right p-r-10">Пароль к Менеджеру Астериск (AMI) </label>
		<div class="col-auto">
			<input type="text" class="form-control" id="asterisk_secret">
		</div>
	</div>

	<div class="flex-row py-2">
		<label for="unumbers_from" class="col-4 col-form-label text-right p-r-10">Диапазон номеров для автоназначения сотрудникам </label>
		<div class="col-auto flex-row">
			<div class="col-3">
				<input type="number" class="form-control" id="unumbers_from" placeholder="" value="">
			</div>
			<div class="col-1 text-center"> - </div>
			<div class="col-3">
				<input type="number" class="form-control" id="unumbers_to" placeholder="" value="">
			</div>
		</div>
	</div>
	
	<div class="flex-row py-2">
		<label for="sipaddress_local" class="col-4 col-form-label text-right p-r-10">SIP адрес и порт (локальный)</label>
		<div class="col-auto flex-row">
			<div class="col-5">
				<input type="text" class="form-control" id="sipaddress_local" placeholder="" value="">
			</div>
			<div class="col-1 text-center">:</div>
			<div class="col-3">
				<input type="number" class="form-control" id="sipport_local" placeholder="" value="">
			</div>
		</div>
	</div>	
	
	<div class="flex-row py-2">
		<label for="sipaddress_out" class="col-4 col-form-label text-right p-r-10">SIP адрес и порт (внешний)</label>
		<div class="col-auto flex-row">
			<div class="col-5">
				<input type="text" class="form-control" id="sipaddress_out" placeholder="" value="">
			</div>
			<div class="col-1 text-center">:</div>
			<div class="col-3">
				<input type="number" class="form-control" id="sipport_out" placeholder="" value="">
			</div>
		</div>
	</div>

	<div class="flex-row py-2">
		<label for="miscallagentname" class="col-4 col-form-label text-right p-r-10">Кто ОТВЕТСТВЕННЫЙ по умолчанию: </label>
		<div class="col-auto">
			<div class="input-group mb-3">
			  <input type="text" class="form-control" id="miscallagentname" readonly aria-label="Кто ОТВЕТСТВЕННЫЙ по умолчанию?" aria-describedby="miscallagentid_chooser_btn">
			  <input type="hidden" id="miscallagentid">
			  <button class="btn btn-primary" type="button" id="miscallagentid_chooser_btn" onclick="BX24.selectUser(selectmiscallagentid)">Выбрать...</button>
			</div>
		</div>
	</div>

	
	<div class="flex-row py-2">
		<label for="lead_reason_field" class="col-4 col-form-label text-right p-r-10">Поле "Причина звонка" в таблице ЛИДЫ: </label>
		<div class="col-auto">
			<select entity="lead" id="lead_reason_field" name="lead_reason_field" class="form-select"></select>
		</div>
	</div>
	
	<div class="flex-row py-2">
		<label for="deal_reason_field" class="col-4 col-form-label text-right p-r-10">Поле "Причина звонка" в таблице СДЕЛКИ: </label>
		<div class="col-auto">
			<select entity="deal" id="deal_reason_field" name="deal_reason_field" class="form-select"></select>
		</div>
	</div>	
	
	<div class="flex-row py-2">
		<label for="contact_reason_field" class="col-4 col-form-label text-right p-r-10">Поле "Причина звонка" в таблице КОНТАКТЫ: </label>
		<div class="col-auto">
			<select entity="contact" id="contact_reason_field" name="contact_reason_field" class="form-select"></select>
		</div>
	</div>
	
	<div class="flex-row py-2">
		<label for="company_reason_field" class="col-4 col-form-label text-right p-r-10">Поле "Причина звонка" в таблице КОМПАНИИ: </label>
		<div class="col-auto">
			<select entity="company" id="company_reason_field" name="company_reason_field" class="form-select"></select>
		</div>
	</div>
	
	<div class="flex-row py-2">
		<label for="showcallcard" class="col-4 col-form-label text-right p-r-10">Запускать окно обработки звонка? </label>
		<div class="col-auto">
			<div class="form-check form-switch">
			  <input class="form-check-input" type="checkbox" role="switch" id="showcallcard" checked>
			  <!--label class="form-check-label" for="showcallcard">Вкл</label-->
			</div>
		</div>
	</div>


	<div class="flex-row py-2">
		<label for="auto_create_entity_type" class="col-4 col-form-label text-right p-r-10">Тип сущности для Авто создания при звонке: </label>
		<div class="col-auto">
			<select entity="call" id="auto_create_entity_type" name="auto_create_entity_type" onChange="autoCreateEntity(this)" class="form-select">
				<option value="LEAD" selected>Лид</option>
				<option value="CONTACT">Контакт</option>
				<option value="COMPANY">Компания</option>
				<option value="DEAL">Сделка</option>
			</select>
		</div>
	</div>
	
	<div class="flex-row py-2">
		<label for="autocreatelead_out" class="col-4 col-form-label text-right p-r-10">Создать автоматически <span class="entity_text">лид</span> при ИСХОДЯЩИХ вызовов? </label>
		<div class="col-auto">
			<div class="form-check form-switch">
			  <input class="form-check-input" type="checkbox" role="switch" id="autocreatelead_out" checked>
			  <!--label class="form-check-label" for="showcallcard">Вкл</label-->
			</div>
		</div>
	</div>

	<div class="flex-row py-2">
		<label for="autocreatelead_in" class="col-4 col-form-label text-right p-r-10">Создать автоматически <span class="entity_text">лид</span> при ВХОДЯЩИХ вызовов? </label>
		<div class="col-auto">
			<div class="form-check form-switch">
			  <input class="form-check-input" type="checkbox" role="switch" id="autocreatelead_in" checked>
			  <!--label class="form-check-label" for="showcallcard">Вкл</label-->
			</div>
		</div>
	</div>


	<div class="flex-row py-2">
		<label for="add_to_chat" class="col-4 col-form-label text-right p-r-10">Оповещать о всех звонках в чате? </label>
		<div class="col-auto">
			<div class="form-check form-switch">
			  <input class="form-check-input" type="checkbox" role="switch" id="add_to_chat" checked>
			  <!--label class="form-check-label" for="showcallcard">Вкл</label-->
			</div>
		</div>
	</div>


	<div class="flex-row py-2">
		<label for="resposible_wait" class="col-4 col-form-label text-right p-r-10">Сколько секунд ожидать ответственного перед отправкой в очередь?</label>
		<div class="col-auto">
			<input type="number" class="form-control" id="resposible_wait" placeholder="" value="">
			<div id="resposible_waitHelp" class="form-text">0 сек - ожидание отключается.</div>
		</div>
	</div>
	
	<!-- BUTTON BLOCK  -->
	<div class="flex-row py-2">
		<label for="resposible_wait" class="col-4 col-form-label text-right p-r-10"> </label>
		<div class="col-auto">
			<a href="#" class="btn btn-primary" id="save_alovoice_settings">Сохранить</a>
		</div>
	</div>


	
	<!--div class="form-group row">
		<div class="form-group ml-4">
		 	 <div class="form-check">
				<input class="form-check-input" type="checkbox" id="add_to_chat">
				<label class="form-check-label" for="add_to_chat">Оповещать о всех звонках в чате</label>
		  </div>
		</div>
  	</div-->

	
	<!--div class="form-group">
		<div class="form-group row">
			<div class="col p-0"><label for="resposible_wait">Звонок отправлять в очередь после ожидания ответственного сек:</label></div>
			<div class="col-2 p-0"><input type="text" class="form-control" id="resposible_wait" value="0"></div>
		</div>
		<small id="resposible_wait_Help" class="form-text text-muted">0 сек - ожидание отключается</small>
	</div-->
  
</form>
<script>
//-lg
window.alovoice_settings = {};

var autoCreateEntity = function(me){
	$(".entity_text").text($(me).find('option:selected').text());
}

var afterLoadPage = function(){
	window.selectmiscallagentid = function(user){
		if(typeof user !== 'undefined' && typeof user.id !== 'undefined' && typeof user.name !== 'undefined'){
			$("#miscallagentid").val(user.id);
			$("#miscallagentname").val(user.name);
		}
	}
		
	loadAloVoiceInfo("alovoice_settings",function(res){
		/*
		// 'host' => $this->config["asterisk_host"],
		// 'port' => $this->config["asterisk_port"],
		// 'username' => $this->config["asterisk_username"],
		// 'secret' => $this->config["asterisk_secret"]
		*/
		console.log("AloVoice settings RES:",res);
		window.alovoice_settings = res;
		
		$.each(res,function(ks,vs){
			if($("#"+ks)){
				if($("#"+ks).prop("tagName")=="SELECT"){
					$("#"+ks).val(vs).change();
				}
				else if($("#"+ks).attr('type')=="checkbox"){
					$("#"+ks).prop('checked',(vs=="true") ? true : false);
				}
				else{
					$("#"+ks).val(vs);
				}
			}
		});
		
		
		loadAloVoiceInfo("alovoice_crmfields",function(res){
			console.log(" Fields res", res);
			
			$.each(res,function(ent_code,fields){
				var entity = ent_code.split("_")[0];
				$.each(fields,function(code,field){
					if(typeof field.type != 'undefined' && field.type == 'enumeration'){
						var isSelected = (entity+"_reason_field")
						$("#"+entity+"_reason_field").append(
							$("<option/>")
								.attr("value",code)
								.text(field.listLabel)
						);
						
						if(typeof window.alovoice_settings[entity+"_reason_field"] != 'undefined' && window.alovoice_settings[entity+"_reason_field"] == code ){
							$("#"+entity+"_reason_field").val(code).change();
						}
					}
				});
				
			});
			
		});
	
	
		// if(typeof res.host !== 'undefined' ){ $("#asterisk_host").val(res.host); }
		// if(typeof res.port !== 'undefined' ){ $("#asterisk_port").val(res.port); }
		// if(typeof res.username !== 'undefined' ){ $("#asterisk_user").val(res.username); }
		// if(typeof res.secret !== 'undefined' ){ $("#asterisk_pass").val(res.secret); }
		
		// if(typeof res.unumbers_from !== 'undefined' ){ $("#unumbers_from").val(res.unumbers_from); }
		// if(typeof res.unumbers_to !== 'undefined' ){ $("#unumbers_to").val(res.unumbers_to); }
		
		$("#save_alovoice_settings").click(function(){
			
			var saveElements = {};
			var last = $("input").length-1;
			
			$.each($("select"),function(ind,obj){
				console.log("Check VAL:",$(obj).attr("id"), "[",$(obj).val(),"]");
				saveElements[$(obj).attr("id")] = $(obj).val();
			});
			
			$.each($("input"),function(ind,obj){
				
				var iVal = ($(obj).attr('type')=="checkbox") ? $(obj).prop('checked') : $(obj).val();
				
				console.log("Check VAL:",$(obj).attr("id"), "[",iVal,"]");
				saveElements[$(obj).attr("id")] = iVal;
				
				
				if(last == ind){
					console.log("Finish: ",saveElements);
					saveElements["restmethod"] = "savealovoicesettings";
					loadAloVoiceInfo(saveElements,function(res){
						console.log("Save RES: ",res);
						$("#alv_settings_form").prepend('<div class="alert alert-success" id="savesuccesbox" role="alert">Настройки сохранены!</div>');
						setTimeout(function(){
							$("#savesuccesbox").remove();
						},3000);
					});
				}
			});
		});
		
	}); 
}
</script>