﻿var timerHideSearchProductsBottomMenu;
function hideSearchProductsBottomMenu(event)
{
    var divBottomMenuSearchProductRef = $('divBottomMenuSearchProduct');
    var divSearchProductRef = $('divSearchProduct');

    if (!isOverElement(event, divBottomMenuSearchProductRef) && !isOverElement(event, divSearchProductRef) && divSearchProductRef.style.display != 'none' && timerHideSearchProductsBottomMenu == null)
    {
        timerHideSearchProductsBottomMenu = setTimeout(
                                                            function()
                                                            {
                                                                closeSearchProductsBottomMenu();
                                                            },
                                                            2000
                                                        );
    }
}

function divBottomMenuSearchProductClick()
{
    if ($('divSearchProduct').style.display == 'none')
        openSearchProductsBottomMenu();
    else
        closeSearchProductsBottomMenu();
}

function openSearchProductsBottomMenu()
{
    closeOpenedMenus();

    var divBottomMenuSearchProductRef = $('divBottomMenuSearchProduct');
    var divSearchProductRef = $('divSearchProduct');

    setPositionDivSearchProduct();
    setImgMenuArrow($('imgBottomMenuSearchProduct'), true);
    document.observe('mousemove', hideSearchProductsBottomMenu);

    divSearchProductRef.style.height = '';
    new Effect.BlindDown(divSearchProductRef, { duration: 0.3 });

    runJSOfHref($(prefixTagNameMain + 'lbtnSearchProduct'));
}

function closeSearchProductsBottomMenu()
{
    setImgMenuArrow($('imgBottomMenuSearchProduct'), false);
    document.stopObserving('mousemove', hideSearchProductsBottomMenu);
    new Effect.BlindUp('divSearchProduct', { duration: 0.3 });
}

function searchProductsBottomMenuMouseOver()
{
    timerHideSearchProductsBottomMenu = clearTimeout(timerHideSearchProductsBottomMenu);
}

function lbtnSearchProductClientClick()
{
    var divBottomMenuSearchProductRef = $('divBottomMenuSearchProduct');
    var divSearchProductRef = $('divSearchProduct');

    setPositionDivSearchProduct();
    setImgMenuArrow($('imgBottomMenuSearchProduct'), true);
    $(prefixTagNameMain + 'pnlSearchProduct').style.display = 'block';

    divSearchProductRef.style.height = '';
    new Effect.BlindDown(
                            divSearchProductRef,
                            {
                                duration: 0.3,
                                afterUpdate: function(effect)
                                {
                                    scrollToElement(divBottomMenuSearchProductRef);
                                },
                                afterFinish: function(effect)
                                {
                                    scrollToElement(divBottomMenuSearchProductRef);
                                }
                            }
                        );
}

function setPositionDivSearchProduct()
{
    var divBottomMenuSearchProductRef = $('divBottomMenuSearchProduct');
    var divSearchProductRef = $('divSearchProduct');

    divSearchProductRef.style.left = getElementActualLeft(divBottomMenuSearchProductRef) + 'px';
    divSearchProductRef.style.top = getElementActualTop(divBottomMenuSearchProductRef) + divBottomMenuSearchProductRef.offsetHeight + 1 + 'px';
}

function txtPriceFocus(txtRef)
{
    if (txtRef.value == '0,00')
        txtRef.value = '';
}

function txtPriceBlur(txtRef)
{
    txtRef.value = trim(txtRef.value);

    if (txtRef.value.length == 0)
        txtRef.value = '0,00';
}

function setDivSPSearchDetails()
{
    var spTxtModelRef = $(prefixTagNameMain + 'spTxtModel');
    var divSPSearchDetailsRef = $('divSPSearchDetails');
    
    if (spTxtModelRef.value.length > 0)
        divSPSearchDetailsRef.style.display = 'none';
    else
        divSPSearchDetailsRef.style.display = 'block';
}

function clientValidateForSpTxtPrice(source, argument)
{
    var divSPSearchDetailsRef = $('divSPSearchDetails');
    var spTxtPrice1Ref = $(prefixTagNameMain + 'spTxtPrice1');
    var spTxtPrice2Ref = $(prefixTagNameMain + 'spTxtPrice2');
    var spCusvSpTxtPriceRef = $(prefixTagNameMain + 'spCusvSpTxtPrice');
    var isValid;

    if (divSPSearchDetailsRef.style.display == 'none')
        isValid = true;
    else
    {
        if (/^(0|[1-9][0-9]*)([,\.][0-9]{1,2})?$/.test(spTxtPrice1Ref.value) && /^(0|[1-9][0-9]*)([,\.][0-9]{1,2})?$/.test(spTxtPrice2Ref.value))
        {
            if (parseFloat(spTxtPrice1Ref.value.replace(',', '.')) <= parseFloat(spTxtPrice2Ref.value.replace(',', '.')))
                isValid = true;
            else
            {
                isValid = false;
                source.errormessage = 'Fiyat aralığı bölümünde sola girdiğiniz para miktarı sağa girdiğiniz para miktarından küçük olmalıdır!';
            }
        }
        else
        {
            source.errormessage = 'Lütfen fiyat aralığı alanlarına parasal bir değer giriniz! (#,##)';
            isValid = false;
        }
    }

    argument.IsValid = isValid;
}