/* ------------------------- Коментарии ------------------------------------------------------------- */
var smtCurrTbl = [];
              
function nxtSmile(formId)
{
    if (!smtCurrTbl[formId]) smtCurrTbl[formId] = 1;
    $('#smt_' + formId + '_' + smtCurrTbl[formId]).hide();
    smtCurrTbl[formId] = (6 == smtCurrTbl[formId]) ? 1 : smtCurrTbl[formId] + 1;
    $('#smt_' + formId + '_' + smtCurrTbl[formId]).show();
}
                
function insSmile(code, formId)
{
	var area = $('#carea_' + formId);
	
	area.val(area.val() + ' ' + code + ' ');
					
	return false;
}

/* ------------------------- Рекламные публикации ------------------------------------------------------------- */
function adIni()
{
	function selectIsAd()
	{
		if (jQuery('#adIsAd').attr('checked'))
		{
			jQuery('#adDate').show();
		} else
		{
			jQuery('#adDate').hide();
		}
	};
	selectIsAd();
	jQuery('#adIsAd').click(selectIsAd);
};

/* ------------------------- Дополнительные фотографии к рецепту --------------------------------------------- */
// Добавление
function onAddDopPhotoBeforeSubmit(XMLHttpRequest)
{
	if (jQuery('#aDopFotoFile').val() == '')
	{
		alert('Прежде чем добавить, необходимо выбрать файл фотографии на диске!');
		return false;
	}
	
    jQuery('#add_foto_submit').attr('disabled', 'true');
    jQuery('#dop_foto_form img.aIndLoading').show();

	return true;
};

function onAddDopPhotoError(XMLHttpRequest, textStatus, errorThrown)
{
    alert('Фотографию добавить не удалось. Превышено время ожидания.');
    jQuery('#add_foto_submit').removeAttr('disabled');
    jQuery('#dop_foto_form img.aIndLoading').hide();
};

function onAddDopPhotoSuccess(data, textStatus)
{
    var result = eval('('+data+')');
    
    if (result.photoId)
    {
        dopHtml = '<div id="aDopPhotoDiv' + result.photoId + '" class="aDopPhoto"><a rel="facebox" title="Приблизить" href="/images/recipes/dop/' + result.photoName + '.jpg"><img border="0" src="/images/recipes/dop/small/' + result.photoName + '.jpg"/></a><div><form id="aDelDopPhoto' + result.photoId + '" class="aDelDopPhoto" action="/recipes/deldopphoto/' + result.photoId + '/" method="post"><input type="hidden" value="' + result.photoId + '" name="aDelDopPhotoId"/><input type="hidden" value="1" name="ajax"/></form><a title="Удалить фотографию" id="aLinkDelDopPhoto' + result.photoId + '" href="/js-error.html" class="aLinkDelDopPhoto" style="">Удалить</a><span id="aStateDelDopPhoto' + result.photoId + '" style="display: none;">Удаление...</span></div></div>';
        jQuery('#dop_foto').append(dopHtml);
        
        delDopPhotoIni(jQuery('#aDelDopPhoto' + result.photoId));
        
        jQuery('#aDopPhotoDiv' + result.photoId + ' a[rel*=facebox]').facebox
        (
            {
                loading_image : site_url + '/facebox/loading.gif',
                close_image   : site_url + '/facebox/closelabel.gif'
            }
        )
        
        if (jQuery('form.aDelDopPhoto').length > 0)
        {
            jQuery('#dop_foto_main').show();
        }
        
    } else
    {
        alert('Фотографию добавить не удалось. ' + result.message);
    }
    
    jQuery('#dop_foto_form img.aIndLoading').hide();
    
    jQuery('#add_foto_submit').removeAttr('disabled');
};

// Удаление
function delDopPhotoIni(delDopPhotoForm)
{
    function onDelDopPhotoBeforeSubmit(XMLHttpRequest)
    {
        if (confirm('Вы действительно хотите удалить фотографию?'))
        {
            aLinkDelDopPhoto.hide();
            aStateDelDopPhoto.show();
            
            return true;
        }
        
        return false;
    };

    function onDelDopPhotoError(XMLHttpRequest, textStatus, errorThrown)
    {
        alert('Удалить фотографию не удалось');
        aLinkDelDopPhoto.show();
        aStateDelDopPhoto.hide();
    };

    function onDelDopPhotoSuccess(data, textStatus)
    {
        var result = eval('('+data+')');
        
        if (result.photoId)
        {
            jQuery('#aDopPhotoDiv' + result.photoId).remove();
            
            if (jQuery('form.aDelDopPhoto').length <= 0)
            {
                jQuery('#dop_foto_main').hide();
            }
        } else
        {
            alert('Ошибка удаления фотографии');
            aLinkDelDopPhoto.show();
            aStateDelDopPhoto.hide();
        }
    };

    var aPhotoId = jQuery('input[@name="aDelDopPhotoId"]', delDopPhotoForm).val();
    var aLinkDelDopPhoto = jQuery('#aLinkDelDopPhoto' + aPhotoId);
    var aStateDelDopPhoto = jQuery('#aStateDelDopPhoto' + aPhotoId);
    
    aLinkDelDopPhoto.click(function(){delDopPhotoForm.submit();return false;});
    
    delDopPhotoForm.ajaxForm
    (
    {
        beforeSubmit:   onDelDopPhotoBeforeSubmit
        ,error:         onDelDopPhotoError
        ,success:       onDelDopPhotoSuccess
        ,cache:         false
        ,timeout: 180000
    }
    );

}

function dopPhotoIni()
{
    jQuery('form.aDelDopPhoto').each
    (
        function(i)
        {
            delDopPhotoIni(jQuery(this));
        }
    );

    tDopFotoForm = jQuery('#dop_foto_form');

    if (tDopFotoForm.size() > 0)
    {
	jQuery('#dop_foto_form').ajaxForm
	(
	{
        beforeSubmit:   onAddDopPhotoBeforeSubmit
        ,error:         onAddDopPhotoError
        ,success:       onAddDopPhotoSuccess
        ,clearForm:     true
        ,resetForm:     true
	    ,cache:         false
        ,contentType: 'multipart/form-data'
        ,timeout: 180000
	}
	).resetForm();
    }

    jQuery('a.aLinkDelDopPhoto').show();
    jQuery('#add_foto_submit').removeAttr('disabled');
    jQuery('#addDopPhotoMessage').hide();
    jQuery('#dop_foto_form').show();
}

/* ---------------------- Похожие рецепты ----------------------------------------------------------------- */
// Добавление
function onAddSimilarBeforeSubmit(XMLHttpRequest)
{
	if (jQuery('#aSimilarUrl').val() == '')
	{
		alert('Прежде чем добавить вариант, необходимо вставить ссылку на рецепт!');
		return false;
	}
	
    jQuery('#add_similar_submit').attr('disabled', 'true');
    jQuery('#similar_form img.aIndLoading').show();

	return true;
};

function onAddSimilarError(XMLHttpRequest, textStatus, errorThrown)
{
    alert('Рецепт добавить не удалось. Превышено время ожидания.');
    jQuery('#add_similar_submit').removeAttr('disabled');
    jQuery('#similar_form img.aIndLoading').hide();
};

function onAddSimilarSuccess(data, textStatus)
{
    var result = eval('('+data+')');
    
    if (result.isSuccess == 1)
    {
        jQuery('#similar_main').replaceWith(result.html);
        jQuery('a.aLinkDelSimilar').show();
        allDelSimilarIni();
    } else
    {
        alert('Вариант рецепта добавить не удалось. ' + result.message);
    }
    
    jQuery('#similar_form img.aIndLoading').hide();
    
    jQuery('#add_similar_submit').removeAttr('disabled');
};

// Удаление
function delSimilarIni(delSimilarForm)
{
    function onDelSimilarBeforeSubmit(XMLHttpRequest)
    {
        if (confirm('Вы действительно хотите удалить связь с этим вариантом рецепта?'))
        {
            aLinkDelSimilar.hide();
            aStateDelSimilar.show();
            
            return true;
        }
        
        return false;
    };

    function onDelSimilarError(XMLHttpRequest, textStatus, errorThrown)
    {
        alert('Удалить связь с вариантом рецепта не удалось');
        aLinkDelSimilar.show();
        aStateDelSimilar.hide();
    };

    function onDelSimilarSuccess(data, textStatus)
    {
        var result = eval('('+data+')');
        
        if (result.similarId)
        {
            jQuery('#aSimilarDiv' + result.similarId).remove();
            
            if (jQuery('form.aDelSimilar').length <= 0)
            {
                jQuery('#similar_main').hide();
            }
        } else
        {
            alert('Ошибка удаления связи с рецептом');
            aLinkDelSimilar.show();
            aStateDelSimilar.hide();
        }
    };

    var aSimilarId = jQuery('input[@name="aDelSimilarId"]', delSimilarForm).val();
    var aLinkDelSimilar = jQuery('#aLinkDelSimilar' + aSimilarId);
    var aStateDelSimilar = jQuery('#aStateDelSimilar' + aSimilarId);
    
    aLinkDelSimilar.click(function(){delSimilarForm.submit();return false;});
    
    delSimilarForm.ajaxForm
    (
    {
        beforeSubmit:   onDelSimilarBeforeSubmit
        ,error:         onDelSimilarError
        ,success:       onDelSimilarSuccess
        ,cache:         false
        ,timeout: 180000
    }
    );

}

function allDelSimilarIni()
{
    jQuery('form.aDelSimilar').each
    (
        function(i)
        {
            delSimilarIni(jQuery(this));
        }
    );
}

function similarIni()
{
    allDelSimilarIni();

    tSimilarForm = jQuery('#similar_form');

    if (tSimilarForm.size() > 0)
    {
	jQuery('#similar_form').ajaxForm
	(
	{
        beforeSubmit:   onAddSimilarBeforeSubmit
        ,error:         onAddSimilarError
        ,success:       onAddSimilarSuccess
        ,clearForm:     true
        ,resetForm:     true
	    ,cache:         false
        ,timeout: 180000
	}
	).resetForm();
    }

    jQuery('a.aLinkDelSimilar').show();
    jQuery('#add_similar_submit').removeAttr('disabled');
    jQuery('#addSimilarMessage').hide();
    jQuery('#similar_form').show();
}

/* ------------- Инициализация --------------------------------------- */

function allIni()
{
	adIni();
	dopPhotoIni();
	similarIni();
};

jQuery(document).ready(allIni);