var calendar1 = null;
var calendar2 = null;
var calendar3 = null;
var calendar4 = null;

function init()
{
    jQuery("a#cile").click
    (
        function(event)
        {
            jQuery("#akce").removeClass("sel");
            jQuery("#cile").addClass("sel");
            jQuery("#akce-form").hide();
            jQuery("#cile-form").show();
            if(document.getElementById("nejblizsi-akce"))
            {
                jQuery("#nejblizsi-akce").hide();
            }
        }
    );
    jQuery("a#akce").click
    (
        function(event)
        {
            jQuery("#cile").removeClass("sel");
            jQuery("#akce").addClass("sel");
            jQuery("#cile-form").hide();
            jQuery("#akce-form").show();
            if(document.getElementById("nejblizsi-akce"))
            {
                jQuery("#nejblizsi-akce").show();
            }
        }
    );
    jQuery("span.link").removeClass("hidden");
    jQuery("span.input").addClass("hidden");

    calendar1 = Calendar.setup({ weekNumbers: true,
                                 trigger: "actionFromTrigger",
                                 inputField: "actionFrom",
                                 dateFormat: "%d.%m.%Y",
                                 bottomBar: false,
                                 onSelect: function(){calendar1.hide()} });
    calendar2 = Calendar.setup({ weekNumbers: true,
                                 trigger: "actionToTrigger",
                                 inputField: "actionTo",
                                 dateFormat: "%d.%m.%Y",
                                 bottomBar: false,
                                 onSelect: function(){calendar2.hide()} });
    if(document.getElementById("actionFrom2"))
    {
        calendar3 = Calendar.setup({ weekNumbers: true,
                                     trigger: "actionFromTrigger2",
                                     inputField: "actionFrom2",
                                     dateFormat: "%d.%m.%Y",
                                     bottomBar: false,
                                     onSelect: function(){calendar3.hide()} });
        calendar4 = Calendar.setup({ weekNumbers: true,
                                     trigger: "actionToTrigger2",
                                     inputField: "actionTo2",
                                     dateFormat: "%d.%m.%Y",
                                     bottomBar: false,
                                     onSelect: function(){calendar4.hide()} });
    }
}
function hlasovat(link)
{
    jQuery.post("/voting.php", {inq: link.id, lng: wplng}, refresh);
}
function refresh(d)
{
    if(d && /^<.+>$/.test(d))
    {
        if(l = document.getElementById("anketa"))
        {
            l = l.parentNode;
            l.innerHTML = d;
        }
    }
}
function moveRefObjects(dir)
{
    if(list = document.getElementById("recObjList"))
    {
        var step = 1;
        var first = null;
        var last = null;
        list = list.childNodes;

        if(!list || list.length <= 4)
        {
            return;
        }

        for(var i = 0; i < list.length; i++)
        {
            var li = list[i];
            if(li.style.display != "none")
            {
                first = i + step * dir;
                if(first < 0)
                {
                    first = 0;
                }
                if(first > list.length - 4)
                {
                    first = list.length - 4;
                }
                last = first + 4;
                if(last > list.length)
                {
                    last = list.length
                }
                break;
            }
        }
        for(var i = 0; i < first; i++)
        {
            list[i].className = "";
            list[i].style.display = "none";
        }
        for(var i = first; i < last; i++)
        {
            if(i == last - 1)
            {
                list[i].className = "last";
            }
            else
            {
                list[i].className = "";
            }
            list[i].style.display = "";
        }
        for(var i = last; i < list.length; i++)
        {
            list[i].className = "";
            list[i].style.display = "none";
        }
    }
}
function predchozi()
{
    moveRefObjects(-1);
}
function dalsi()
{
    moveRefObjects(1);
}

function mapover(d)
{
    jQuery("#distMap").css("cursor", "pointer");

    if(!/opera/i.test(window.navigator.userAgent) || /version\/10/i.test(window.navigator.userAgent))
    {
        var reg = new RegExp("/map\." + d + "\.gif$/");
        var src = jQuery("#distMap").attr("src");
        if(!reg.test(src))
        {
            jQuery("#distMap").attr("src", "/rsrcs/images/map/map." + d + ".gif");
        }
    }
}
function mapout()
{
    jQuery("#distMap").css("cursor", "default");

    if(!/opera/i.test(window.navigator.userAgent))
    {
        jQuery("#distMap").attr("src", "/rsrcs/images/map/map.gif");
    }
}

function switchForm(N)
{
    jQuery("#swFrm" + N).attr("checked", true);
    jQuery("#SearchF1").css("display", "none");
    jQuery("#SearchF2").css("display", "none");
    jQuery("#SearchF3").css("display", "none");
    jQuery("#SearchF" + N).css("display", "block");
}

function presetDates(sel)
{
    var value = sel.value;

    if(value == "")
    {
        jQuery("#actionFrom2").attr("readonly", false);
        jQuery("#actionFrom2").css("background", "none");
        jQuery("#actionFrom2").attr("value", "");
        jQuery("#actionFromTrigger2").attr("disabled", false);
        jQuery("#actionTo2").attr("readonly", false);
        jQuery("#actionTo2").css("background", "none");
        jQuery("#actionTo2").attr("value", "");
        jQuery("#actionToTrigger2").attr("disabled", false);
    }
    else
    {
        jQuery("#actionFrom2").attr("readonly", true);
        jQuery("#actionFrom2").css("background", "#e5e5e5");
        jQuery("#actionFromTrigger2").attr("disabled", true);
        jQuery("#actionTo2").attr("readonly", true);
        jQuery("#actionTo2").css("background", "#e5e5e5");
        jQuery("#actionToTrigger2").attr("disabled", true);

        if(value == "d")
        {
            var date = getDate(new Date().getTime());
            jQuery("#actionFrom2").attr("value", date);
            jQuery("#actionTo2").attr("value", date);
        }
        if(value == "z")
        {
            var date = getDate(new Date().getTime() + 86400 * 1000);
            jQuery("#actionFrom2").attr("value", date);
            jQuery("#actionTo2").attr("value", date);
        }
        if(value == "v")
        {
            var curr = new Date();
            var day = curr.getDay();
            if(day == 0)
            {
                day = 7;
            }

            var date = getDate(curr.getTime() + (5 - day) * 86400 * 1000);
            jQuery("#actionFrom2").attr("value", date);
            date = getDate(curr.getTime() + (7 - day) * 86400 * 1000);
            jQuery("#actionTo2").attr("value", date);
        }
        if(value == "t")
        {
            var curr = new Date();
            var date = getDate(curr.getTime());
            jQuery("#actionFrom2").attr("value", date);
            date = getDate(curr.getTime() + 6 * 86400 * 1000);
            jQuery("#actionTo2").attr("value", date);
        }
    }
}

function getDate(time)
{
    var date = new Date(time);
    var d = date.getDate();
    if(d < 10)
    {
        d = "0" + d;
    }
    var m = date.getMonth() + 1;
    if(m < 10)
    {
        m = "0" + m;
    }
    var y = date.getFullYear();
    return d + "." + m + "." + y;
}

function changePage(page)
{
    var loc = window.location.href;
    if(/stranka=[0-9]+/.test(loc))
    {
        window.location.href = loc.replace(/stranka=[0-9]+/, "stranka=" + page);
    }
    else
    {
        window.location.href = loc + "&stranka=" + page;
    }
}

function submitBulletin()
{
    var inp = document.getElementById("bulem").firstChild;
    if(inp.value && inp.value.length <= 64 && !/\s|\.{2,}|\-{2,}|_{2,}/.test(inp.value) && /^[a-zA-Z0-9\-_\.].{2,32}@[a-zA-Z0-9\-_\.]{2,32}\.[a-zA-Z0-9]{2,4}$/.test(inp.value))
    {
        jQuery.post("/tpbulletin.php", {email: inp.value, ident: inp.id}, bulletinResult);
    }
    else
    {
        try{ inp.focus(); }catch(e){};
        inp.style.borderColor = "red";
        window.setTimeout("document.getElementById('bulem').firstChild.style.borderColor='#7F9DB9';", 1000);
    }
}

function bulletinResult(rslt)
{
    if(rslt == 1)
    {
        alert("Plzeňský kraj - turistů ráj\n\nNa vámi zadanou adresu byl odeslán e-mail s aktivačním\nodkazem, po jehož potvrzení vám budou novinky zasílány.");
    }

    var inp = document.getElementById("bulem").firstChild;
    inp.disabled = true;
    inp.style.background = "#ccc";
    inp.value = "";
    inp.id = "";
    document.getElementById("bulsub").disabled = true;
}

function presetObjectTypes(group)
{
    var sel = document.getElementById("typo");
    sel.value = "";
    for(var i = sel.options.length - 1; i > 0; i--)
    {
        sel.removeChild(sel.options[i]);
    }

    presetTypeParams("");

    if(group != "")
    {
        sel.disabled = true;
        sel.options[0].innerHTML = "loading ...";
        jQuery.post("/tploader.php", {type: "ot", id: group, language: wplng}, presetObjectTypesResult);
    }
}

function presetObjectTypesResult(rslt)
{
    var sel = document.getElementById("typo");

    if(rslt && !/</.test(rslt))
    {
        rslt = rslt.split("|");
        var len = rslt.length / 2;
        for(var i = 0; i < len; i++)
        {
            sel.options[i + 1] = new Option(rslt[i * 2 + 1], rslt[i * 2]);
        }
    }
    sel.options[0].innerHTML = "";
    sel.disabled = false;
}

function presetTypeParams(typo)
{
    var table = document.getElementById("typeParamsTable");

    for(var i = table.rows.length - 1; i > 0; i--)
    {
        table.deleteRow(i);
    }

    if(typo != "")
    {
        jQuery.post("/tploader.php", {type: "otp", id: typo, language: wplng}, presetTypeParamsResult);
    }
}

function presetTypeParamsResult(rslt, text, req)
{
    try
    {
        var root = req.responseXML.documentElement;
        var params = root.getElementsByTagName("param");
        var row, cell, sel, values, key, text;
        var tab = document.getElementById("typeParamsTable");
        var tc = (typeof root.textContent != "undefined");

        for(var i = 0; i < params.length; i++)
        {
            row = tab.insertRow(i + 1);
            cell = row.insertCell(0);
            cell.className = "right";
            if(tc)
            {
                cell.innerHTML = params[i].getElementsByTagName("name")[0].textContent;
            }
            else
            {
                cell.innerHTML = params[i].getElementsByTagName("name")[0].text;
            }
            cell = row.insertCell(1);
            sel = document.createElement("SELECT");
            if(tc)
            {
                sel.name = "prms[" + params[i].getElementsByTagName("id")[0].textContent + "]";
            }
            else
            {
                sel.name = "prms[" + params[i].getElementsByTagName("id")[0].text + "]";
            }
            values = params[i].getElementsByTagName("value");
            for(var j = 0; j < values.length; j++)
            {
                key = values[j].getElementsByTagName("key")[0]
                text = values[j].getElementsByTagName("text")[0]
                if(tc)
                {
                    key = key.textContent;
                    text = text.textContent;
                }
                else
                {
                    key = key.text;
                    text = text.text;
                }
                sel.options[j] = new Option(text, key);
            }
            cell.insertBefore(sel, null);
        }
    }
    catch(e)
    {
    }
}

function presetCities(dist)
{
    var sel = document.getElementById("city");
    sel.value = "";
    for(var i = sel.options.length - 1; i > 0; i--)
    {
        sel.remove(i, true);
    }

    sel.disabled = true;
    sel.options[0].innerHTML = "loading ...";
    jQuery.post("/tploader.php", {type: "ci", id: dist, language: wplng}, presetCitiesResult);
}

function presetCitiesResult(rslt)
{
    var sel = document.getElementById("city");

    if(rslt && !/</.test(rslt))
    {
        rslt = rslt.split("|");
        var len = rslt.length / 2;
        for(var i = 0; i < len; i++)
        {
            sel.options[i + 1] = new Option(rslt[i * 2 + 1], rslt[i * 2]);
        }
    }
    sel.options[0].innerHTML = "";
    sel.disabled = false;
}

function presetDistance()
{
    var ssi = jQuery("#gpsssi");
    var vde = jQuery("#gpsvde");
    var dist = jQuery("#gpsdist");

    if(ssi && vde && dist)
    {
        if(/^[0-9]{2}([\.,][0-9]+){0,1}$/.test(ssi.attr("value")) && /^[0-9]{2}([\.,][0-9]+){0,1}$/.test(vde.attr("value")))
        {
            dist.attr("disabled", false);
            if(dist.attr("value") == "")
            {
                dist.attr("value", 5);
            }
        }
        else
        {
            dist.attr("disabled", true);
            dist.attr("value", "");
        }
    }
}

// google analytics
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-583687-5']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
