/* =AddTask
-----------------------------------------------------------------------------*/
function showAddType(type)
{
	if (type == 'auto')
	{
		$('#auto_type_show').show();
		$('.manual_show').hide();
		$('.auto_show').show();
	}
	else
	{
		$('#auto_type_show').hide();	
		$('.auto_show').hide();
		$('.manual_show').show();		
	}
	
	$('#work_district').html('');
	loadWorkDistrict();		
	if ($('#task_start_pub').length != 0) $('#task_start_pub').attr('checked', true);	
}

function loadWorkDistrict()
{
	var task_control = checkControl();
	
	$.ajax({
		url: '/webAjax/beagent/loadWorkDistrict/?task_control=' + task_control + '&tmpl=' + task_control + '_action.html', 
		success: function(data)
		{
			$('#work_district').append(data);
		}
	});	
}


function loadActionLink(task_id)
{
	$.ajax({
		url: '/webAjax/beagent/loadSiteTypeLink/?task_id=' + task_id + '&tmpl=action_link.html',
		success: function(data)
		{
			$('#change_site_type').html(data);
		}
	});
}

function loadActionTypes(task_id, type)
{
	$.ajax({
		url: '/webAjax/beagent/loadSiteTypeLink/?edit=1&task_id=' + task_id + '&type=' + type + '&tmpl=site_type.html',
		success: function(data)
		{
			$('#change_site_type').html(data);
		}
	});
}


var texts = false, links = false;
function changeTaskType(element)
{
 	if ($('#task_keywords').length != 0) var keywords = $('task_keywords').val();
 	else var keywords = '';
 	
 	if ($('#task_links_box').length != 0)
 	{
	 	links = $('.text_c_web');
 		texts = $('.text_c_text');
 	}
 	
 	var task_control = checkControl();

	var top_el = $(element).parents('.gray_box');
	var el = $(top_el).children('.change_task_type');
	var value = $(element).val();	
	
	if (value == 0) $(el).html('');
	
	$.ajax({
		url: '/webAjax/beagent/loadTaskType/?type=' + value + '&task_control=' + task_control + '&tmpl=site_task.html', 
		success: function(data)
		{
			$(el).html(data);
			if ($('#task_keywords').length != 0) $('#task_keywords').val(keywords);	
		
			if (links.length > 0)
			{
				$('#task_links_box').html('');
				jQuery.each(links, 
					function(i, s)
					{
						newRowText($(s).val(), i, texts);
					}
				);
			}
		}
	});

}

function changeSiteType(element)
{
	var top_el = $(element).parents('.gray_box');
	var el = $(top_el).children('.change_site_type');
	var value = $(element).val();
	
	if (value == 0) $(el).html('');
	else if (value == 99) $.ajax({ url: '/webAjax/beagent/loadSiteTypeLink/?tmpl=action_link.html', success: function(data) { $(el).html(data); }});
	else $.ajax({ url: '/webAjax/beagent/loadSiteType/?type=' + value + '&tmpl=site_type.html', success: function(data) { $(el).html(data); }});
}

function newRowText(value, iterator, texts)
{
	if (value == undefined)
	{
		var value_text = '';
		var value_link = '';
	}
	else
	{
		var value_text = texts[iterator].value;
		var value_link = value;
	}

	var count = $('.text_c').length;
	if (count >= 25) return false;

	var row = $('<tr class="text_c">'
		+ '<td><input name="task_link_web[]" value="' + value_link + '" class="w100 text_c_web" /></td>'
		+ '<td><input name="task_link_text[]" value="' + value_text + '" class="w100 text_c_text" /></td>'
		+ '<td><a href="javascript:void(null);" onclick="newRowText();" class="ico ico16 ico_add_mini" title="Добавить">&nbsp;</a></td>'
		+ '<td><a href="javascript:void(null);" onclick="deleteRow(this)" class="ico ico16 ico_delete_mini" title="Удалить">&nbsp;</a></td>'
	+ '</tr>');

	$('#task_links_box').append(row);
}

function deleteRow(element)
{
	var count = $('.text_c').length;
	if (count == 1) return false;
	$(element).parents('tr').remove();
}

function setBudget()
{
	var v1 = $('#action_agents').val();
	var v2 = $('#action_nums').val();
	var v3 = $('#action_cost').val();
	
	if (v1 == '') v1 = 0;
	if (v2 == '') v2 = 0;	
	if (v3 == '') v2 = 0;	
	
	var sum = v1*v2*v3;
	
	$('#auto_budget').html(sum);
}


function fileTaskUpload()
{
	new Upload('file', { auto: true, success: uploadTaskComplete, url: '/webAjax/beagent/upload/'});
}


function uploadTaskComplete(content)
{
	$('#file').val('');
	$('#resultDiv').append(content);
}

function deleteTaskFile(file_id)
{
	if (confirm('Удалить?'))
	{
		$('#file_id_' + file_id).fadeOut();
		$.ajax({ url: '/webAjax/beagent/deleteFile/?file_id=' + file_id });
	}
}



function sendAddForm()
{
	if ($('#task_control_manual').length != 0)
	{
		if ($('#task_control_manual').attr('checked')) var type = 'manual';
		else var type = 'auto';	
	}
	else var type = $('#task_control').val();
	
	$('#error_box_box').hide();
	$('#task_name').removeClass('error_ins');			
	$('#task_desc').removeClass('error_ins');				
	$('#error_box li').hide();
	
	var error = false;
	var error2 = false;
	
	var task_name = $('#task_name').val();
	if (task_name == '')
	{
		error = true;
		error2 = true;
		$('#task_name_error').show();
		$('#task_name').addClass('error_ins');		
	}
	
	var task_desc = $('#task_desc').val();	
	if (task_desc == '')
	{
		error = true;
		error2 = true;		
		$('#task_desc_error').show();
		$('#task_desc').addClass('error_ins');				
	}
	
	if (type == 'auto')
	{
		var common_sum_id;
		$('.auto_budget').each(
			function (n, s)
			{
				common_sum_id = s;
			}
		);

		var common_sum = new Number($(common_sum_id).html());
		var user_sum = new Number($('top_user_balance').html());	
		
		if (common_sum > user_sum)
		{
			error = true;
			$('#task_budget_error').show();	
		}
		
		if (common_sum == 0)
		{
			error = true;
			$('#task_budget2_error').show();		
		}
	
		var keywords_error = false;
		var contr_error = false;
	
		if ($('#task_keywords').length != 0)
		{
			var task_keywords = $('#task_keywords').val();
			if (task_keywords == '') keywords_error = true;
		}
		
		var web = true;
		var text = true;
		$('.text_c_web').each(
			function (n, s)
			{
				if ($(s).val() != '') web = false;
			}
		);
		$('.text_c_text').each(
			function (n, s)
			{
				if ($(s).val() != '') text = false;
			}
		);
		
		if (web !== false) contr_error = true;
		if (text !== false) contr_error = true;		
		
		if (keywords_error === true && contr_error === true)
		{
			error = true;
			$('#task_contr_error').show();
		}
	
	}
	else
	{
		$('.action_cost').each(
			function (n, s)
			{
				if ($(s).val() == 0 || $(s).val() == '')
				{
					error = true;
					$('#task_cost_error').show();
				}
			}
		);
	}
	
	if (type == 'auto' && error2 === false)
	{
		if ($('#task_start_draft').length != 0)
		{
			if ($('#task_start_draft').attr('checked'))
			{
				$('#error_box li').hide();
				$('#sendForm').submit();
			}
		}
	}
	
	if (error) $('#error_box_box').show();
	else $('#sendForm').submit();

}

function checkControl()
{
	if ($('#task_control_manual').length == 0) return task_control = 'auto';	
	else
	{
		if ($('#task_control_manual').attr('checked')) return task_control = 'manual';
		else return task_control = 'auto';	
	}
}

/* =EditTask
-----------------------------------------------------------------------------*/
function loadWorkDistrcitEdit(task_id)
{
	var type = $('#task_control').val();
	
	var task_control = checkControl();
	
	$.ajax({
		url: '/webAjax/beagent/loadWorkDistrict/?task_control=' + task_control + '&task_id=' + task_id + '&tmpl=' + type + '_action.html', 
		success: function(data)
		{
			$('#work_district').append(data);
		}
	});
}


function loadTaskType(task_id, type)
{
	var task_control = checkControl();

	$.ajax({
		url: '/webAjax/beagent/loadTaskType/?edit=1&task_control=' + task_control + '&task_id=' + task_id + '&type=' + type + '&tmpl=site_task.html', 
		success: function(data)
		{
			$('#change_site_type').html(data);
		}
	});
}



/* =MyTasks
-----------------------------------------------------------------------------*/
function loadMyTasksBodyAgent(element, mode)
{
	$('.my_tasks_link').removeClass('act');
	$(element).addClass('act');

	$.ajax({
		url: '/webAjax/beagent/showMyTasksAgent/?tmpl=my_tasks_row_agent.html&mode=' + mode,
		success: function (data)
		{
			$('#my_tasks_body').html(data);
		}
	});
}

function loadMyTasksBody(element, mode)
{
	$('.my_tasks_link').removeClass('act');
	$(element).addClass('act');
	$('#my_tasks_observe').val(mode);

	$.ajax({
		url: '/webAjax/beagent/showMyTasks/?tmpl=my_tasks_row.html&mode=' + mode,
		success: function (data)
		{
			$('#my_tasks_body').html(data);
		}
	});

}




/* =UserSetType
-----------------------------------------------------------------------------*/
function showUserTypeTooltip(element, mode)
{
	if ($(element).text() == 'рекламодателя')
	{
		var type = 'adv';
		var html = '<span id="user_type_select"><a href="javascript:void(null);" onclick="setUserType(\'adv\', \'' + mode + '\');" class="dashed">рекламодателя</a> | <a href="javascript:void(null);" onclick="setUserType(\'agent\', \'' + mode + '\');" class="dashed">агента</a></span>';
	}
	else
	{
		var type = 'agent';
		var html = '<span id="user_type_select"><a href="javascript:void(null);" onclick="setUserType(\'agent\', \'' + mode + '\');" class="dashed">агента</a> | <a href="javascript:void(null);" onclick="setUserType(\'adv\', \'' + mode + '\');" class="dashed">рекламодателя</a></span>';		
	}

	$(element).hide().after(html);
	user_type_element = element;
}

function setUserType(type, mode)
{

	if (type == 'adv') $(user_type_element).text('рекламодателя');
	else $(user_type_element).text('агента');
	$('#user_type_select').remove();
	$(user_type_element).show();

	$.ajax({
		url: '/webAjax/users/setUserType/?type=' + type, 
		success: function()
		{

			if (mode == 'log') updateLog();
			else if (mode == 'my')
			{
				if (type == 'adv') $.ajax({ url: '/webAjax/beagent/showMyTasks/?tmpl=my_tasks.html', success: function(data) { $('#page_content').html(data); }});			
				else  $.ajax({ url: '/webAjax/beagent/showMyTasksAgent/?tmpl=my_tasks_agent.html', success: function(data) { $('#page_content').html(data); }});				
			}
		}
	});
}	



/* =Control
-----------------------------------------------------------------------------*/
function updateLog()
{
	if ($('#user_task_type_all').length == 0) return false;

	if ($('#user_task_type_all').attr('checked')) var user_task_type = 'all';
	else if ($('#user_task_type_manual').attr('checked')) var user_task_type = 'manual';
	else if ($('#user_task_type_auto').attr('checked')) var user_task_type = 'auto';

	var log_select_date = $('#log_select_date').val();
	var log_select_task = $('#log_select_task').val();
	var log_select_event = $('#log_select_event').val();
	var log_select_user = $('#log_select_user').val();
	
	_setLog('/webAjax/beagent/control/?user_task_type=' + user_task_type + '&log_select_task=' + log_select_task + '&log_select_event=' + log_select_event + '&log_select_user=' + log_select_user + '&log_select_date=' + log_select_date + '&tmpl=log.html');
}

function _setLog(url)
{
	$.ajax({
		url: url,
		success: function(data)
		{
			$('#table_log').html(data);
		}
	});
}

function setTypeTask(user_task_type)
{
	_setLog('/webAjax/beagent/setTypeTask/?user_task_type=' + user_task_type + '&tmpl=log.html');
}

function setSelectLogDate(value)
{
	_setLog('/webAjax/beagent/control/?log_select_date=' + value + '&tmpl=log.html');
}

function setSelectLogTask(value)
{
	_setLog('/webAjax/beagent/control/?log_select_task=' + value + '&tmpl=log.html');
}

function setSelectLogEvent(value)
{
	_setLog('/webAjax/beagent/control/?log_select_event=' + value + '&tmpl=log.html');
}

function setSelectLogUser(value)
{
	_setLog('/webAjax/beagent/control/?log_select_user=' + value + '&tmpl=log.html');
}


/* =TaskClaim
-----------------------------------------------------------------------------*/
function showTaskClaim(task_id)
{
	modal = new Modal({ title: 'Пожаловаться на задачу', url: '/webAjax/beagent/loadTaskClaim/?tmpl=claim.html&task_id=' + task_id, triggerClose: ['close_modal_btn'], width: 500, height: false });
}

function sendTaskClaim()
{
	var text = $('#task_claim_text').val();
	var claim_task_id = $('#claim_task_id').val();
	if (text == '') return false;
	else
	{
		$('#modal_content').html('<p><br />Ваше сообщение отправлено.</p>');
		$.ajax({
			url : '/webAjax/beagent/sendClaim/',
			type: 'post',
			data: 'text=' + escape(encodeURIComponent(text)) + '&claim_task_id=' + claim_task_id,
			success: function()
			{
				modal.hide();
			}
		});		
	}
}

/* =Invites
-----------------------------------------------------------------------------*/
function showInvite()
{
	modal = new Modal({ title: 'Задачи', url: '/webAjax/beagent/showModalInvite/?tmpl=invite_tasks.html', triggerClose: ['close_modal_btn', 'close_modal_btn2'], width: 800, height: false });
}


function sendInvites()
{
	var str_users = '';
	var str_tasks = '';	
	
	$('.ch:checked').each(
		function (n, s)
		{
			str_users += $(s).val() + ',';
		}
	);

	$('.ch_invite:checked').each(
		function (n,s)
		{
			str_tasks += $(s).val() + ',';
		}
	);
		
	if (str_users != '' && str_tasks != '')
	{
		$.ajax({
			url: '/webAjax/beagent/control/sendInvites/?users=' + str_users + '&tasks=' + str_tasks, 
			success: function()
			{
				$('#send_invite_box').hide();
				$('#sent_invite_box').show();				
			}
		});
	}
}

function rejectInvite(log_id, user_id)
{
	$.ajax({
		url: '/webAjax/beagent/control/rejectInvite/?log_id=' + log_id + '&user_id=' + user_id,
		success: function(data)
		{
			var json = $.parseJSON(data);

			$('#control_box_text').html(json.text);
			$('#control_box_btns').html(json.btns);	
			
			updateLog();				
		}
	});

}


/* =TaskStatus
-----------------------------------------------------------------------------*/
function setTaskStatus(status)
{
	$(global_element_ico).removeClass('ico_pub_mini ico_unpub_mini ico_wait_mini');		
	
	if ($('#my_tasks_observe').length != 0)
	{
		if ($('#my_tasks_observe').val() != 'unpub' && status == 'unpub') $('#row_' + global_task_id).fadeOut();
		if ($('#my_tasks_observe').val() != 'invite' && status == 'invite') $('#row_' + global_task_id).fadeOut();
	}
	
	if (status == 'invite') var ico_status = 'wait';
	else var ico_status = status;
	$(global_element_ico).addClass('ico_' + ico_status + '_mini');	
	
	if (global_element != false)
	{
		if (status == 'invite') $(global_element).text('Только по приглашениям');
		if (status == 'pub') $(global_element).text('Задача доступна для поиска');
		if (status == 'unpub') $(global_element).text('Задача выключена');		
	}		

	$.ajax({ url: '/webAjax/beagent/setTaskStatus/?status=' + status + '&task_id=' + global_task_id });
	global_task_id = false;
	global_element = false;
	global_element_ico = false;
}

function showStatusTooltip(event, element, task_id, ico)
{
	global_task_id = task_id;
	global_element = element;
	global_element_ico = ico;	
	
	if (element === false) var el = ico;
	else var el = element;
	
	showTooltip(event, el, $('#tooltip_status'), true);
}



/* =TasksWork
-----------------------------------------------------------------------------*/
function setResponse(task_id, task_control)
{
	$('#set_response_btn').attr('disabled', 'disabled');
	$('#set_response').fadeOut();
	$('#add_response').show();
	$.ajax({ url: '/webAjax/beagent/control/setResponse/?task_id=' + task_id + '&task_control=' + task_control });
}

function _updateTaskControl(data)
{
	data = jQuery.parseJSON(data);

	$('#control_box_text').html(data.text);
	$('#control_box_btns').html(data.btns);	
	
	updateLog();
}

function cancelResponse(log_id, user_id)
{
	if (confirm('Отклонить отклик?'))
	{
		if (user_id)
		{
			$.ajax({
				url: '/webAjax/beagent/control/cancelResponse/?log_id=' + log_id + '&user_id=' + user_id, 
				success: function(data)
				{
					 _updateTaskControl(data);			
				}
			});		
		}
		else
		{		
			$('#log_' + log_id).fadeOut();
			$.ajax({
				url: '/webAjax/beagent/control/cancelResponse/?log_id=' + log_id,
				success: function()
				{
					updateLog();	
				}
			});
		}
	}
}

function acceptResponse(log_id, user_id, mode, type)
{
	if (typeof(mode) != 'undefined') mode = 'agent';
	else mode = 'adv';

	if (typeof(type) == 'undefined') type = 'all';
	
	$.ajax({
		url: '/webAjax/beagent/control/acceptResponse/?log_id=' + log_id + '&user_id=' + user_id + '&mode=' + mode + '&type=' + type, 
		success: function(data)
		{
			 _updateTaskControl(data);				
		}
	});
}

function stopWorking(log_id, user_id)
{
	if (confirm('Прекратить работу с агентом?'))
	{
		$.ajax({
			url: '/webAjax/beagent/control/stopWorking/?log_id=' + log_id + '&user_id=' + user_id, 
			success: function(data)
			{
				 _updateTaskControl(data);				
			}
		});		
	}
}

function stopAgentWorking(log_id, user_id)
{
	if (confirm('Прекратить работу над задачей?'))
	{
		$.ajax({
			url: '/webAjax/beagent/control/stopAgentWorking/?log_id=' + log_id + '&user_id=' + user_id, 
			success: function(data)
			{
				 _updateTaskControl(data);			
			}
		});	
	}
}

function doneAgentWorking(log_id, user_id)
{
	var log_link = $('#log_link').val();
	if (log_link == '') return false;

	$.ajax({
		url: '/webAjax/beagent/control/doneAgentWorking/?log_id=' + log_id + '&user_id=' + user_id + '&log_link=' + escape(encodeURIComponent(log_link)), 
		success: function(data)
		{
			 _updateTaskControl(data);			
		}
	});	
}


function acceptWorking(log_id, user_id)
{
	$('#control_box_btns').hide();
	$.ajax({
		url: '/webAjax/beagent/control/loadAcceptWork/?tmpl=accept_work.html&log_id=' + log_id + '&user_id=' + user_id, 
		success: function(data)
		{
			$('#control_box_load').html(data);
		}
	});
}

function cancelAcceptWorking()
{
	$('#control_box_load').html('');
	$('#control_box_btns').show();
}

function rejectWorking(log_id, user_id)
{
	if ($('#log_comment').length == 0)
	{
		$('#control_box_reject').html($('<div class="mt10 mb10"><p class="pause control_box_desc">Укажите причину отказа:</p><textarea class="w100" style="height: 80px;" id="log_comment"></textarea></div>'));
		$('#log_comment').focus();
	}
	else
	{
		var log_comment = $('#log_comment').val();
		if (log_comment == '') return false;
		
		$.ajax({
			url: '/webAjax/beagent/control/rejectWorking/?log_id=' + log_id + '&user_id=' + user_id + '&log_comment=' + escape(encodeURIComponent(log_comment)), 
			success: function(data)
			{
				$('#control_box_reject').html('');
				_updateTaskControl(data);			
			}
		});			
		
	}
	

}


function doneAcceptWorking(log_id, user_id)
{
	var cost = $('#cost').val();
	if (cost == 0 || cost == '' || cost < 0) return false; 

	$.ajax({
		url: '/webAjax/beagent/control/doneAcceptWorking/?cost=' + cost + '&log_id=' + log_id + '&user_id=' + user_id, 
		success: function(data)
		{
			if (data == 'error') $('#control_box_load').html($('<span class="error">Недостаточно денег на счете. <a href="/personal/money/">Пополнить счет</a></span>'));
			else
			{
				var data = jQuery.parseJSON(data);

				$('#control_box_load').html('');
				$('#control_box_text').html(data.text);
				$('#control_box_btns').html(data.btns);	
			
				updateLog();			
			}
		}
	});	
}


function doneAutoWorking(task_id)
{
	var link = $('#work_result').val();
	if (link == '') return false;
	

	$.ajax({
		url: '/webAjax/beagent/control/doneWorking/?task_id=' + task_id + '&link=' + link, 
		success: function(data)
		{
			var text = data.split('::');
			
			if (text[0] == 'bad') $('#error_work').html(text[1]);
			else if (text[0] == 'ok')
			{
				$('#control_box').html('<b>Работа принята и оплачена.</b>');
				updateLog();
			}
		}
	});		
	
}

function stopAutoWorking(task_id)
{
	if (confirm('Прекратить работу над задачей?'))
	{
		$.ajax({
			url: '/webAjax/beagent/control/stopAutoWorking/?task_id=' + task_id, 
			success: function(data)
			{
				$('#control_box').html($('<b>Отказался от работы.</b>'));				
				updateLog();			
			}
		});	
	}	
}





/* =TaskControl
-----------------------------------------------------------------------------*/
function showTaskControl(log_id, task_id, user_id)
{
	modal = new Modal({ title: 'Управление задачей', url: '/webAjax/beagent/control/loadTaskControl/?log_id=' + log_id + '&task_id=' + task_id + '&user_id=' + user_id + '&tmpl=task_control.html', width: 640, height: false });
}


function reloadTaskControl(log_id, task_id, user_id)
{
	$.ajax({
		url: '/webAjax/beagent/control/loadTaskControl/?log_id=' + log_id + '&task_id=' + task_id + '&user_id=' + user_id + '&tmpl=task_control.html',
		success: function(data)
		{	
			$('#cmts_modal_content').html(data);
		}
	});
}





