window.onload = function(e) {

    try
    {
        document.execCommand("BackgroundImageCache", false, true);
    }
    catch(err){}

};

var gallery = null;
var timeout = null;
jQuery(document).ready(function($) {
    
    try
    {
         $("ul.sf-menu li.level1").each(function (i) {
              var width1 = $(this).width(); 
              var max = 0;  
              var height = 0;  
              $(this).find("li").each(function (j) {
                  var width2 = $(this).width(); 

                  if (max < width2) max = width2;

                  height += $(this).height();
                  
              });
              height += 6;
              var padding = parseInt(Math.abs(width1 - max) / 2);  
              
              
              
                  if (width1 > max)
                  {
                      padding -= 10;
                      $(this).find("ul").css("left", "" + padding + "px");
                  }
                  else
                  {
                      padding += 10;
                      $(this).find("ul").css("left", "-" + padding + "px");
                  }
              
              max += 20;
              
              $(this).find("ul").css("width", max + "px");
              $(this).find("ul").css("height", height + "px"); 
         });
         $(document).ready(function() { 
            $('ul.menu').superfish(); 
         }); 
         
        
        
        // datepicker
        // bind date picker
        $('input.datepicker').datepicker({
            format:   'dd.mm.YYYY',
            base:     $('#baseUrl').text() + '/public/js/datepicker/',

            lang:     'cs',
            langPath: 'lang/',

            cssFile:  'css/datepicker.css',
            cssName:  {box: 'picker', trigger: 'picker-trigger'},

            buttons:  {
                open:     'gfx/ico_open.png',  
                previous: 'gfx/ico_prev.gif',       
                next:     'gfx/ico_next.gif',     
                close:    'gfx/ico_close.gif'
            }
        });
         
    
         $('#leftArrow').click(function(event) {
            var id = parseInt(substr($("#centerBublles a.active").attr("id"), 4));
            if (id+1 == 1)
                id = $('#demomenu img').length-1;
            else 
                id--;
                
            targetSwitch(id);
            //timeout = setTimeout(autoswitch, 3000);
            event.preventDefault();
            return false;
        });
        
         $('#rightArrow').click(function(event) {
            var id = parseInt(substr($("#centerBublles a.active").attr("id"), 4));
            if ($('#demomenu img').length == id+1)
            {
               // alert($('#demomenu img').length+"-"+id);
                id = 0
            }
            else
            {
                //alert($('#demomenu img').length+"-"+id);
                id++;
            }

            targetSwitch(id);
            //timeout = setTimeout(autoswitch, 3000);
            event.preventDefault();
            return false;
        });
        
         $('#centerBublles a').click(function() {
            var id = parseInt(substr($(this).attr("id"), 4));
            targetSwitch(id); 
            event.preventDefault();
            return false;
        });
         
        $("a.lightbox").lightBox('', $('#baseUrl').text());
        
        timeout = setTimeout(autoswitch, 5000);
    }
    catch(err){}
});

function autoswitch()
{
    $('#rightArrow').click();

}


function noDelaySwitch(index) 
{
    var $all = $('#demomenu img');
    
    if ($all.length > 1)
    {
        var $active = $('#demomenu img.active');
        var $next = $('#demomenu img#img_' + index);

        $active.addClass('last-active');

        $next.css({opacity: 0.0})
            .addClass('active')
            .animate({opacity: 1.0}, 500, function() {
                $active.removeClass('active last-active');
                
                $('#centerBublles a').removeClass('active');
                $('#centerBublles a#bub_' + index).addClass('active');
            });
    }

    clearTimeout(timeout);

    timeout = setTimeout(autoswitch, 5000);
}

function targetSwitch(index) 
{
    var $working = $('#demomenu img.last-active');
   
    if ($working.length > 0) 
        setTimeout(noDelaySwitch(index));
    else
        noDelaySwitch(index);
    
    
}


function substr(str, start, len) {
    // Returns part of a string  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/substr
    // +     original by: Martijn Wieringa
    // +     bugfixed by: T.Wild
    // +      tweaked by: Onno Marsman
    // +      revised by: Theriault
    // +      improved by: Brett Zamir (http://brett-zamir.me)
    // %    note 1: Handles rare Unicode characters if 'unicode.semantics' ini (PHP6) is set to 'on'
    // *       example 1: substr('abcdef', 0, -1);
    // *       returns 1: 'abcde'
    // *       example 2: substr(2, 0, -6);
    // *       returns 2: false
    // *       example 3: ini_set('unicode.semantics',  'on');
    // *       example 3: substr('a\uD801\uDC00', 0, -1);
    // *       returns 3: 'a'
    // *       example 4: ini_set('unicode.semantics',  'on');
    // *       example 4: substr('a\uD801\uDC00', 0, 2);
    // *       returns 4: 'a\uD801\uDC00'
    // *       example 5: ini_set('unicode.semantics',  'on');
    // *       example 5: substr('a\uD801\uDC00', -1, 1);
    // *       returns 5: '\uD801\uDC00'
    // *       example 6: ini_set('unicode.semantics',  'on');
    // *       example 6: substr('a\uD801\uDC00z\uD801\uDC00', -3, 2);
    // *       returns 6: '\uD801\uDC00z'
    // *       example 7: ini_set('unicode.semantics',  'on');
    // *       example 7: substr('a\uD801\uDC00z\uD801\uDC00', -3, -1)
    // *       returns 7: '\uD801\uDC00z'
    // Add: (?) Use unicode.runtime_encoding (e.g., with string wrapped in "binary" or "Binary" class) to
    // allow access of binary (see file_get_contents()) by: charCodeAt(x) & 0xFF (see https://developer.mozilla.org/En/Using_XMLHttpRequest ) or require conversion first?
    var i = 0,
        allBMP = true,
        es = 0,
        el = 0,
        se = 0,
        ret = '';
    str += '';
    var end = str.length;

    // BEGIN REDUNDANT
    this.php_js = this.php_js || {};
    this.php_js.ini = this.php_js.ini || {};
    // END REDUNDANT
    switch ((this.php_js.ini['unicode.semantics'] && this.php_js.ini['unicode.semantics'].local_value.toLowerCase())) {
    case 'on':
        // Full-blown Unicode including non-Basic-Multilingual-Plane characters
        // strlen()
        for (i = 0; i < str.length; i++) {
            if (/[\uD800-\uDBFF]/.test(str.charAt(i)) && /[\uDC00-\uDFFF]/.test(str.charAt(i + 1))) {
                allBMP = false;
                break;
            }
        }

        if (!allBMP) {
            if (start < 0) {
                for (i = end - 1, es = (start += end); i >= es; i--) {
                    if (/[\uDC00-\uDFFF]/.test(str.charAt(i)) && /[\uD800-\uDBFF]/.test(str.charAt(i - 1))) {
                        start--;
                        es--;
                    }
                }
            } else {
                var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
                while ((surrogatePairs.exec(str)) != null) {
                    var li = surrogatePairs.lastIndex;
                    if (li - 2 < start) {
                        start++;
                    } else {
                        break;
                    }
                }
            }

            if (start >= end || start < 0) {
                return false;
            }
            if (len < 0) {
                for (i = end - 1, el = (end += len); i >= el; i--) {
                    if (/[\uDC00-\uDFFF]/.test(str.charAt(i)) && /[\uD800-\uDBFF]/.test(str.charAt(i - 1))) {
                        end--;
                        el--;
                    }
                }
                if (start > end) {
                    return false;
                }
                return str.slice(start, end);
            } else {
                se = start + len;
                for (i = start; i < se; i++) {
                    ret += str.charAt(i);
                    if (/[\uD800-\uDBFF]/.test(str.charAt(i)) && /[\uDC00-\uDFFF]/.test(str.charAt(i + 1))) {
                        se++; // Go one further, since one of the "characters" is part of a surrogate pair
                    }
                }
                return ret;
            }
            break;
        }
        // Fall-through
    case 'off':
        // assumes there are no non-BMP characters;
        //    if there may be such characters, then it is best to turn it on (critical in true XHTML/XML)
    default:
        if (start < 0) {
            start += end;
        }
        end = typeof len === 'undefined' ? end : (len < 0 ? len + end : len + start);
        // PHP returns false if start does not fall within the string.
        // PHP returns false if the calculated end comes before the calculated start.
        // PHP returns an empty string if start and end are the same.
        // Otherwise, PHP returns the portion of the string from start to end.
        return start >= str.length || start < 0 || start > end ? !1 : str.slice(start, end);
    }
    return undefined; // Please Netbeans
}



   

