/*$id$*/

/*---------------------------------------------------------------------------------------------------------------
NAME:
    hoverImage()
DESC:
    change img src in onmouse over/out by replacing _on/_off
PARAMS:
    imgEl: element to change src
RETURNS:

CREATED:
    07/25/2008
MODIFICATIONS:

---------------------------------------------------------------------------------------------------------------*/
function hoverImage(imgEl)
{
    if (imgEl.src.indexOf("_off") != -1)
    {
        imgEl.src = imgEl.src.replace("_off", "_on");
    }
    else
    {
        imgEl.src = imgEl.src.replace("_on", "_off");
    }
}


/*---------------------------------------------------------------------------------------------------------------
NAME:
    switchAdvSearch()
DESC:
    show/hide advanced search div
PARAMS:

RETURNS:

CREATED:
    07/25/2008
MODIFICATIONS:

---------------------------------------------------------------------------------------------------------------*/
function switchAdvSearch()
{
    var el = ge('searchBlockAdv');
    if (el.style.display == 'block')
    {
        el.style.display = 'none';
    }
    else
    {
        el.style.display = 'block';
    }
}


/*---------------------------------------------------------------------------------------------------------------
NAME:
    ge()
DESC:
    gets element by its ID
PARAMS:
    elementID: id of element
RETURNS:
    element as object
CREATED:
    06/02/2008
MODIFICATIONS:

---------------------------------------------------------------------------------------------------------------*/
function ge(elementID)
{
    if (document.getElementById(elementID))
    {
        return document.getElementById(elementID);
    }
    alert("Could not find element with ID=" + elementID);
    return false;
}


/*---------------------------------------------------------------------------------------------------------------
NAME:
    leftSearchFormHandler()
DESC:
    handle everything about focus/blur of search block
PARAMS:
    e : event
RETURNS:

CREATED:
    09/13/2008
MODIFICATIONS:

---------------------------------------------------------------------------------------------------------------*/
function leftSearchFormHandler(el, ty)
{
    if (ty == 'f' && el.value == '...')
    {
        el.value = '';
    }
    if (ty == 'b' && el.value == '')
    {
        el.value = '...';
    }
}

function validateSearchFormLeft(el)
{
    if (el.elements.searchText.value == '...' || el.elements.searchText.value == '')
    {
        return false;
    }
    return true;
}


/*---------------------------------------------------------------------------------------------------------------
NAME:
    producerFilterSet()
DESC:
    switch on / off all checkboxes in producer filter
PARAMS:
    mode : all / none
RETURNS:

CREATED:
    09/14/2008
MODIFICATIONS:

---------------------------------------------------------------------------------------------------------------*/
function producerFilterSet(mode)
{
    var formEls = ge('searchFormMain').elements;
    var setTo;
    if (mode == 'all')
    {
        setTo = true;
    }
    else
    {
        setTo = false;
    }
    for(var i = 0; i < formEls.length; i++)
    {
        if (formEls[i].name == 'producerFilter[]')
        {
            formEls[i].checked = setTo;
        }
    }
    ge('searchFormMain').submit();
}

function manageContactForm()
{
    if (ge("cfa").value == '' && ge("cfp").value == '')
    {
        alert("Pro sdělení odpovědi potřebujeme znát Vaš email nebo telefonní číslo.");
        return false;
    }

    if (ge("cfa").value != '' && !checkEmail(ge("cfa").value))
    {
        alert("Email nemá správný format. Prosim, zkontrolujte jej.");
        return false;
    }

    if (ge("cfp").value != '' && !checkPhoneNumber(ge("cfp").value))
    {
        alert("Telefon nemá správný format. Prosim, zkontrolujte jej. Čislo musí mít 9 míst případně v mezinárodním formátu.");
        return false;
    }

    if (ge("cfb").value == '')
    {
        alert("Dotaz je povinný údaj.");
        return false;
    }

    if (ge("cfb").value.length > 3000)
    {
        alert("Váš dotaz je příliš dlouhý. Maximální délka je 3000 znaků.");
        return false;
    }

    if (ge("cfb").value.length < 11)
    {
        alert("Váš dotaz je příliš krátký. Minimalní délka je 10 znaků.");
        return false;
    }
    return true;
}

function checkEmail(evalue)
{
    var emailreg = /^\s*[A-Za-z0-9\-\\\_]+(\.[A-Za-z0-9\-\\\_]+)*\@[A-Za-z0-9\-\\\_]+(\.[A-Za-z0-9\-\\\_]+)+\s*$/;
    if (!emailreg.exec(evalue))
    {
        return false;
    }
    return true;
}

function checkPhoneNumber(evalue)
{
    var phonereg = /^\s*((00|\+)\d{3})?\s*\d\s*\d\s*\d\s*\d\s*\d\s*\d\s*\d\s*\d\s*\d\s*$/;
    if (!phonereg.exec(evalue))
    {
        return false;
    }
    return true;
}

function expandField(el)
{
    el.style.width = '300px';
    el.style.height = '150px';
}

function collapseField(el)
{
    el.style.width = '180px';
    el.style.height = '50px';
}
