

var gebcn = function(oElm, strTagName, oClassNames){
    /*  Written by Jonathan Snook, http://www.snook.ca/jonathan
        Add-ons by Robert Nyman, http://www.robertnyman.com */
    var arrElements = (strTagName == '*' && document.all) ? document.all : gebtn(oElm,strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if (typeof oClassNames == 'object'){
        for (var i = 0; i < oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        };
    } else {
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    };
    var oElement;
    var bMatchesAll;
    for (var j = 0; j < arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for (var k = 0; k < arrRegExpClassNames.length; k++){
            if (!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;
            };
        };
        if (bMatchesAll){
            arrReturnElements.push(oElement);
        };
    };
    return (arrReturnElements);
};

function flash_map_fix(fixit) {
    if (gebi('flash_map_obj') && !opera && !isIE && !safari) {
        o_node = gebi('flash_map_obj');
        if (fixit) {
            o_node.width = 180;
            // o_node.setAttribute('wmode', 'opaque');
        } else {
            o_node.width = 490;
            // o_node.setAttribute('wmode', 'window');
        };
    };
    return false;
};

function flash_chart_fix(fixit) {
    if (gebi('flash_graf_obj') && !opera && !isIE && !safari) {
        o_node = gebi('flash_graf_obj');
        if (fixit) {
            o_node.width = 180;
        } else {
            o_node.width = 490;
        };
    };
    return false;
};



if (typeof Array.push != 'function') {
    Array.prototype.push = function(v) {
        var i = this.length >>> 0,
            j = 0;
        while (j < arguments.length) {
            this[i++] = arguments[j++];
        };
        return this.length = i;
    };
};











/*** external links with target="_blank" ***/

var externalize = function() {
    if (!d.getElementsByTagName('a')[0]) return;
    var ls = gebtn(d,'a');
    var lsl = ls.length;
    var tld;
    while (lsl--) {
        var l = ls[lsl];
        if (l.getAttribute('href') && l.getAttribute('href').match(/^(http|https|mailto|ftp)/)) {
            tld = l.getAttribute('href').replace(/^.*?:\/\/.*?\.(.*?)($|\/.*$)/, "$1");
            if (location.hostname.indexOf(tld) == -1) {
                l.setAttribute('target','_top');
            }
        };
    };
};














/*** common functions ***/

var location_qstr       = new Function("return window.location.search.substring(1)");
var location_hash       = new Function("return window.location.hash.substring(1)");
var tlist               = new Function("return gebcn(d,'ul','tablist')");
var tabunit_links       = new Function("x","return gebtn(x,'a')");
var hrf                 = new Function("x","return x.getAttribute('href')");
var docFrag             = new Function('return d.createDocumentFragment()');
var nE                  = new Function('x','return d.createElement(x)');
var textNode            = new Function('x','return d.createTextNode(x)');
var add_first_child     = new Function("x","y","gebtn(gebi(x),y)[0].className += ' first-child'");

String.prototype.trim = function() { a = this.replace(/^\s+/, ''); return a.replace(/\s+$/, ''); };


















/*** recipe of the day switcher ***/

function switch_rotd(sId) {
    hide_all_rotds();
    gebi(sId).style.display = 'block';
    gebi('l-' + sId).className = 'active';
};

function hide_all_rotds() {
    if (gebi('recept_dana')) {
        rotds = gebcn(gebi('recept_dana'), 'div', 'rec_holder');
        var i = rotds.length;
        while (i--) {
            rotds[i].style.display = 'none';
        };
        ls = gebtn(gebi('days'), 'a');
        var i = ls.length;
        while (i--) {
            ls[i].className = '';
        };
    };
};












/*** article scroller (homepage) ***/

var article_scroller = function() {

    if (!gebi('clanci_tjedna')) return;
    var clanci = gebi('clanci_tjedna'),
        clanci_cloned = clanci.cloneNode(true),
        df = docFrag(),
        scroll_facility = nE('div');
        scroll_facility.setAttribute('id', 'scroll_facility');

        df.appendChild(scroll_facility);
        scroll_facility.appendChild(clanci_cloned);

    var cs = new Array('scroll_right','scroll_left'),
        c,
        scntrl;

    var i = cs.length;

    while (i--) {
        c = cs[i];
        spn = document.createElement('span');
        spn.dr = c == 'scroll_left' ? 1 : -1;
        spn.setAttribute('id', c);
        spn.className = c == 'scroll_left' ? 'disabled': null;
        spn.onmousedown = function() {
            scroll_f(true, this.dr);
        };
        spn.onmouseup   = function() {
            scroll_f(false, this.dr);
        };
        spn.onmouseout  = function() {
            scroll_f(false, this.dr, true);
        };
        scroll_facility.insertBefore(spn, scroll_facility.firstChild);
    };
    clanci.parentNode.replaceChild(df,clanci);
};

var scroll_f = function(moveit, dir, evnt) {

    var slider          = gebi('slider'),
        scroll_left     = gebi('scroll_left'),
        scroll_right    = gebi('scroll_right'),
        dir             = typeof (dir) == 'undefined' ? this.dr : dir;

    if (slider.movement) {
        clearTimeout(slider.movement);
    };

    // slider_left = slider.style.marginLeft;
    var slider_left = slider.offsetLeft;
    slider.l = slider_left && slider_left != '' ? parseInt(slider_left) : 0;
    if (evnt && slider.l % 153 == 0) return;

    if ((dir == -1 && slider.l >= 475 - slider.offsetWidth)
        || (dir == 1 && slider.l < 0)) {

        slider.l += 17 * dir;
        slider.style.left = slider.l + 'px';
    };

    scroll_left.className   = (slider.l < 0) ? '' : 'disabled';
    scroll_right.className  = (slider.l >= 468 - slider.offsetWidth) ? '' : 'disabled';

    if (!moveit && slider.l % 153 == 0){
        clearTimeout(slider.movement);
        return;
    };

    if (moveit) {
        slider.movement = setTimeout('scroll_f(true, ' + dir + ')', 25);
    } else if (slider.l % 153 != 0) {
        slider.movement = setTimeout('scroll_f(false, ' + dir + ')', 25);
    };
};


