$(document).ready(function(){
/*
| -------------------------------------------------------------------------
| Загрузка фотографий
| -------------------------------------------------------------------------
*/
	var photo_count = parseInt($('#files_count').val());
	var file_num = 0;
	$('#f_photo').live('change', function() {
		if (photo_count < 6)
		{
			$('#uploadError').text('');
			$('.file-loader').show(0);
			JsHttpRequest.query('/ajax/photo_upload', {'photofile': document.getElementById('f_photo')}, function(result, errors)
				{
					if (result['error'] == '')
					{
						$('#photos').append('<input type="hidden" name="f_photos[]" id="photo-'+file_num+'" value="'+result['content']['filename']+'" />');
						$('#photos').append('<input type="hidden" name="f_photos_name[]" id="photo_origname-'+file_num+'" value="'+result['content']['originalfilename']+'" />');
						$('#photoList').append('<li id="file-'+file_num+'"><span class="file-type-icon file-type-'+result['content']['file_type']+' thumb" name="s_'+result['content']['filename']+'">'+result['content']['originalfilename']+'</span> <span class="delete-photo" id="del-file-'+file_num+'">&nbsp;</span></li>');
						photo_count++;
						file_num++;
						if (photo_count < 6) {
							$('#fileInputField').html('<input type="file" name="f_photo" id="f_photo" />');
						} else {
							$('#fileInputField').html('<input type="file" name="f_photo" id="f_photo" disabled="disabled"/>');
						};
						thumb_init();
					}
					else
					{
						$('#uploadError').html(result['error']);
					};
					$('.file-loader').hide(0);
				}, true);
		}
		else
		{
			$('#uploadError').html('<p class="error">Допускается только 6 фотографий.</p>');
			$('#fileInputField').html('<input type="file" name="f_photo" id="f_photo" disabled="disabled"/>');
		};
	});
// -------------------------------------------------------------------------
// Удалить загруженное фото
	$('.delete-photo').live('click', function() {
		var id = ($(this).attr('id')).slice(9);
		$('#photo-'+id).remove();
		$('#photo_origname-'+id).remove();
		$('#file-'+id).fadeOut('fast', function() {$('#file-'+id).remove();});
		photo_count--;
		$('#fileInputField').html('<input type="file" name="f_photo" id="f_photo" />');
	});

/*
| -------------------------------------------------------------------------
| Избранные объявления --- Добавление/Удаление
| -------------------------------------------------------------------------
*/
	$('.fav').click(function()
	{
		var id = ($(this).parents(".post:first").attr('id')).slice(5);
		JsHttpRequest.query('/ajax/fav', {'post_id': id}, function(result, errors)
			{
				if (result['error'] == '')
				{
					if (result['content'] == 'added') {
						$('#post-'+id+' .fav').addClass('fav-selected');
					} else {
						$('#post-'+id+' .fav').removeClass('fav-selected');
					};
				};
			}, true);
	});

/*
| -------------------------------------------------------------------------
| Загрузка файлов
| -------------------------------------------------------------------------
*/
	var files_count = 0;
	var file_num = 0;
	$('.f_file').live('change', function() {
		var tumb = '';
		var id = ($(this).parents(".post:first").attr('id')).slice(5);
		var formId = '#post-'+id+' .board-form-reply ';
		var max_files = 3;

		if (files_count < max_files)
		{
			$(formId + '.upload-error').text('');
			$(formId + '.file-loader').show(0);
			JsHttpRequest.query('/ajax/file_upload', {'f_file': $(formId + '.f_file').get(0)}, function(result, errors)
				{
					if (result['error'] == '')
					{
						$(formId + '.files').append('<input type="hidden" name="f_files[]" id="file_name-'+file_num+'" value="'+result['content']['filename']+'" />');
						$(formId + '.files').append('<input type="hidden" name="f_files_name[]" id="file_origname-'+file_num+'" value="'+result['content']['originalfilename']+'" />');
						if (result['content']['is_img'] == 1) {tumb = 'class="file-type-icon file-type-'+result['content']['file_type']+' thumb" name="'+result['content']['filename']+'" alt="123"';} else {tumb ='class="file-type-icon file-type-'+result['content']['file_type']+'"';};
						$(formId + '.files-list').append('<li id="file-'+file_num+'"><span '+tumb+'>'+result['content']['originalfilename']+'</span> <span class="delete-file" id="del_file-'+file_num+'">&nbsp;</span></li>');
						files_count++;
						file_num++;
						if (files_count < max_files) {
							$(formId + '.file-input-field').html('<input type="file" name="f_file" id="f_file" class="f_file" />');
						} else {
							$(formId + '.file-input-field').html('<input type="file" name="f_file" id="f_file" class="f_file" disabled="disabled"/>');
						};
						thumb_init();
					}
					else
					{
						$(formId + '.upload-error').html(result['error']);
					};
					$(formId + '.file-loader').hide(0);
				}, true);
		}
		else
		{
			$('.upload-error').html('<p class="error">Допускается только '+max_files+' файла.</p>');
			$(formId + '.file-input-field').html('<input type="file" name="f_file" id="f_file" class="f_file" disabled="disabled"/>');
		};
	});
// -------------------------------------------------------------------------
// Удалить загруженный файл
	$('.delete-file').live('click', function() {
		var id = ($(this).attr('id')).slice(9);
		$('#file_name-'+id).remove();
		$('#file_origname-'+id).remove();
		$('#file-'+id).fadeOut('fast', function() {$('#file-'+id).remove();});
		files_count--;
		id = ($(this).parents(".post:first").attr('id')).slice(5);
		var formId = '#post-'+id+' .board-form-reply ';
		$(formId + '.file-input-field').html('<input type="file" name="f_file" id="f_file" class="f_file" />');
	});

/*
| -------------------------------------------------------------------------
| Board reply
| -------------------------------------------------------------------------
*/
var tmp_form = '';
//Show form -------------------
	$('.board-reply').click(function()
	{
		files_count = 0;
		$('.reply-form-wrapper').html('').hide(0);
		var id = ($(this).parents(".post:first").attr('id')).slice(5);
		var formId = '#post-'+id+' .reply-form-wrapper ';
		$.fn.togglePageFade(formId);
		$(formId).html($('#boardReplyFormTemplate').html()).show(0).attr('id', 'boardReplyFormDiv-'+id);
		$('#boardReplyFormDiv-'+id+' form').attr('id','formReply-'+id);
		$.scrollTo($(formId), 800, {offset:-70});
		return false;
	});
//Close reply window -----------
	$('.close-btn').live('click', function()
	{
		var id = ($(this).parents(".post:first").attr('id')).slice(5);
		var formId = '#post-'+id+' .reply-form-wrapper ';
		$(formId).html('').hide(0);
		$.fn.togglePageFade(formId);
		return false;
	});
//Send reply -------------------
	$('.reply-button').live('click', function()
	{
		var id = ($(this).parents(".post:first").attr('id')).slice(5);
		var formId = '#post-'+id+' .reply-form-wrapper ';

		JsHttpRequest.query('/ajax/board_reply',
			{
				'post_id': id,
				q: $('#formReply-'+id)[0]
			}
			, function(result, errors)
			{
				if (result['error'] == '')
				{
					$(formId+' .close-btn').click();
				}
				else
				{
					infoWindow(result['error']);
				};
			}, true);
		return false;
	});

/*
| -------------------------------------------------------------------------
| Page fade
| -------------------------------------------------------------------------
*/
	$.fn.togglePageFade = function(formId)
	{
	//detect whether fader is visible or not
		if($('#pageFader').hasClass('hidden'))
		//hidden - then display
		{
			//when IE - fade immediately
			if($.browser.msie)
			{
				$('#pageFader').height($(document).height()+300).toggleClass('hidden').click(function(){$(formId+' .close-btn').click();});
			}
			else
			//in all the rest browsers - fade slowly
			{
				$('#pageFader').height($(document).height()+300).toggleClass('hidden').fadeTo('slow', 0.2).click(function(){$(formId+' .close-btn').click();});
			}
		}
		else
		//visible - then hide
		{
			$('#pageFader').toggleClass('hidden').removeAttr('style').unbind('click');
		}
	};

/*
| -------------------------------------------------------------------------
| Удалить объявление
| -------------------------------------------------------------------------
*/
	$('.board-del_my_post').click(function() {
		var id = ($(this).parents('.post:first').attr('id')).slice(5);
		$(this).addClass('loader');
		JsHttpRequest.query('/ajax/board_del_post', {'post_id': id}, function(result, errors)
			{
				if (result['error'] == '')
				{
					$('#post-'+id).remove();
				} else {
					alert(result['error']);
				};
			}, true);

		return false;
	});

}); //END $(document).ready
//-------------------------------------------------------------------------



/*
| -------------------------------------------------------------------------
| Thumbnail
| -------------------------------------------------------------------------
*/
function thumb_init()
{
	$('.thumb').tooltip({
		delay: 500,
		fade: false,
		showURL: false,
		track: true,
		fixPNG: true,
		opacity: 0.95,
		bodyHandler: function() {
			var span = $('<div class="photo-thumbnail"></div>');
			var img = $("<img/>")
					.attr("src", '/f/temp/'+$(this).attr('name'))
					.attr("alt", '');
			return span.append(img);
		}
	});
}

/*
| -------------------------------------------------------------------------
| Thumbnail
| -------------------------------------------------------------------------
*/
function infoWindow(html)
{
	var div_wrap = $('<div class="info-window"></div>');
	var div = $('<div></div>');
	var button = $('<input/>').attr('type', 'button').attr('value', 'Ok').attr('class','button').click(function(){$('.info-window').remove();});
		div.append(html);
		div.append(button);
		div_wrap.append(div);
	return $('body').append(div_wrap);
}

