var topbannertimeout = 5000;
var topbannerlocktimeout = 100;
var topbanneractive = false;
var topbannershown = false;
var topbannerlocked = false;
$(document).ready(function(){
    $("#topbanner .collapsed").hover(
        function() {
            topbanneractive = true;
            setTimeout('drawTopBanner()', topbannerlocktimeout);
        },
        function() {
            topbanneractive = false;
            setTimeout('drawTopBanner()', topbannerlocktimeout);
        }
    );
    $("#topbanner .expanded").hover(
        function() {
            topbanneractive = true;
            setTimeout('drawTopBanner()', topbannerlocktimeout);
        },
        function() {
            topbanneractive = false;
            setTimeout('drawTopBanner()', topbannerlocktimeout);
        }
    );
})

function drawTopBanner()
{
    if (topbannerlocked) {
        setTimeout('drawTopBanner()', topbannerlocktimeout);
        return false;
    }
    if (topbanneractive && !topbannershown) {
        activateTopBanner();
    } else if (!topbanneractive && topbannershown) {
        deactivateTopBanner();
    }
    return true;
}

function unlockTopBanner()
{
    topbannerlocked = false;
}

function activateTopBanner()
{
    if (!topbannershown) {
        topbannershown = true;
        expandTopBanner();
        topbannerlocked = true;
        setTimeout('unlockTopBanner()', topbannerlocktimeout);
    }
}

function deactivateTopBanner()
{
    if (topbannershown) {
        topbannershown = false;
        collapseTopBanner();
        topbannerlocked = true;
        setTimeout('unlockTopBanner()', topbannerlocktimeout);
    }
}

function expandTopBanner()
{
    $("#topbanner .collapsed").slideUp("fast");
    $("#topbanner .expanded").slideDown("fast");
}

function collapseTopBanner()
{
    $("#topbanner .expanded").slideUp("fast");
    $("#topbanner .collapsed").slideDown("fast");
}

function isFirstVisitToday()
{
    var d = new Date();
    var now = d.toDateString();

    // get cookie
    var lastvisit = getCookie("visalietuva_visitdate");
    
    // set cookie
    setCookie("visalietuva_visitdate", now, 7);

    return lastvisit != now;
}

function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}
function getCookie(c_name)
{
    if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) {
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1)
                c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

function getQueryString(key)
{
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(decodeURI(window.location.href));
  if(qs != null)
    return decodeURI(qs[1].replace('+', ' '));
  return false;
}

function stringMatches(string, samples, exact)
{
    if (string && string.length) {
        if ('string' == typeof(samples))
            samples = [samples];
        for (var i=0; i < samples.length; i++) {
            if (exact)
                var regex = new RegExp('^[\'"]?'+samples[i]+'[\'"]?$', 'gi');
            else
                var regex = new RegExp('^[\'"]?'+samples[i], 'gi');
            if (regex.exec(string)) {
                return true;
            }
        }
    }
    return false;
}
function queryMatches(samples)
{
    var query = getQueryString('qu');
    return stringMatches(query, samples);
}
function headingMatches(samples)
{
    var url = window.location.href;
    var match = /\/rubrika\/([a-z0-9-_]+)/i.exec(url);
    if (match && match[1]) {
        return stringMatches(match[1], samples, true);
    }    
}
