﻿/* функция позиционирует div с напоминаниями посередине верхней панели окна */
function centerAlertDiv()
{
	var alertDiv = document.getElementById( "crm-alert" );
	var width;
	if ( document.all )
		width = document.body.clientWidth;
	else
		width = window.innerWidth;
	if ( width < 780 )
		alertDiv.style.left = 320;
	else
		alertDiv.style.left = width / 2 - 70;
}


/* открывает окно со списком активных напоминаний */
function openAlertList()
{
	window.open( "\crm-alert-list.aspx", "_blank", "directories=0,location=0,menubar=0,toolbar=0,resizable=1,status=0,scrollbars=1,height=250,width=800,left=120,top=120" );
	return false;
}


/* функция выбора типа события
 * меняет активность элементов задания даты события и напоминания 
 * sType - имя типа события { Event, Reminder, Annual } */
function selectActionType( sType )
{
	switch( sType )
	{
		/* менять disabled в данном случае нужно для корректной работы серверной валидации
		disabled контрол не постится в форме */
		case "Event":
			document.getElementById("ActionDate").disabled = false;
			document.getElementById("ActionDatet").disabled = false;
			document.getElementById("RemindBefore").disabled = false;
			
			document.getElementById("AnnualDateMonth").disabled = true;
			document.getElementById("AnnualDateDay").disabled = true;
			
			if ( document.getElementById("AnnualRemindBefore") != null )
				document.getElementById("AnnualRemindBefore").disabled = true;
			else
			{
				document.getElementById("ReaccuringReminderDate").disabled = true;
				document.getElementById("ReaccuringReminderDatet").disabled = true;
			}
			
			document.getElementById("annualDiv").style.display = 'none';
			document.getElementById("eventDiv").style.display = 'inline';
			break;
		case "Annual":
			document.getElementById("ActionDate").disabled = true;
			document.getElementById("ActionDatet").disabled = true;
			document.getElementById("RemindBefore").disabled = true;
			
			document.getElementById("AnnualDateMonth").disabled = false;
			document.getElementById("AnnualDateDay").disabled = false;
			if ( document.getElementById("AnnualRemindBefore") != null )
				document.getElementById("AnnualRemindBefore").disabled = false;
			else
			{
				document.getElementById("ReaccuringReminderDate").disabled = false;
				document.getElementById("ReaccuringReminderDatet").disabled = false;
			}
			
			document.getElementById("annualDiv").style.display = 'inline';
			document.getElementById("eventDiv").style.display = 'none';
			break;
	}
}


/*
 * Меняет доступность контролов для задания дат события в зависимости 
 * от значения выбранного в селекторе ActionTypeSelector.
 * Предназначена для вызова в обработчике OnLoad страницы.
*/
function initActionTypes()
{
	if ( document.getElementById("ActionTypeSelectorEvent") )
		if ( document.getElementById("ActionTypeSelectorEvent").checked )
			selectActionType("Event")
		else
			if ( document.getElementById("ActionTypeSelectorAnnual").checked )
				selectActionType("Annual")
}

/* проверка наличия сработавших напоминаний */
function CrmAlertsCheck()
{
	$.get( 
		'/crm-check-alerts.aspx', 
		{ t: ( ( new Date() ).valueOf() % 10000000 ).toString( 16 ) },
		function( data ) {
			if ( parseInt( data ) > 0 )
			{
				$( '#crm_alert_placeholder' ).css( 'display', 'none' );
				$( '#crm_alert' ).css( 'display', 'inline' ).css( 'position', 'relative' );
			}
			else
			{
				$( '#crm_alert' ).css( 'display', 'none' );
				$( '#crm_alert_placeholder' ).css( 'display', 'inline' ).css( 'position', 'relative' );
			}
			window.setTimeout( "CrmAlertsCheck()", 15000 ) // 15 sec.
		}
	);
}
