function translate_chars (str, originals, translations) {
    if (originals.length != translations.length){
        alert('Originals have not the same length as translations');
    }
    
    for (var i=0; i < str.length; i++){
        for (var j=0; j < originals.length; j++){
            if (str.charAt(i) == originals.charAt(j)){
                str = "".concat(str.substring(0, i), translations.charAt(j), str.substring(i+1));
                break;
            }
        }
    }
    
    return str;
}

function solve_seo_link (obj_put, obj_get) {
    var newstr = document.getElementsByName(obj_get)[0].value;

    
    newstr = newstr.toLowerCase();
    newstr = translate_chars(newstr, 'ÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ', 'acdeeinorstuuyz');
    newstr = translate_chars(newstr, 'áčďéěíňóřšťúůýž', 'acdeeinorstuuyz');
   
    //nahradit nepovolene znaky pomlckama
    newstr = newstr.replace(/[^a-z0-9_-]+/g, '-');
    newstr = newstr.replace(/-+/g, '-');
    newstr = newstr.replace(/^-/g, '');
    newstr = newstr.replace(/-$/g, '');
    //~ alert(part_filename);
    if (document.getElementsByName(obj_put)[0].value.length == 0)
    document.getElementsByName(obj_put)[0].value = newstr;
}

function copyval (obj_put, obj_get) {
    var newstr = document.getElementsByName(obj_get)[0].value;

    //~ alert(part_filename);
    if (document.getElementsByName(obj_put)[0].value.length == 0)
    document.getElementsByName(obj_put)[0].value = newstr;
}

//~ version 2.0 / prepared for onfocus event
function solve_filename (obj_name_get, obj_put) {
    var match_array = new Array(10);
    var part_filename;
      
    var newstr = document.getElementsByName(obj_name_get)[0].value;
         
    if (newstr.length == 0){ return; }
    
    
    //extrahovat filename
    match_array = /([^\\]+)\.[^\.]+$/.exec(newstr);
    part_filename = match_array[1].toLowerCase();
    part_filename = translate_chars(part_filename, 'ÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ', 'acdeeinorstuuyz');
    part_filename = translate_chars(part_filename, 'áčďéěíňóřšťúůýž', 'acdeeinorstuuyz');
    
    //nahradit nepovolene znaky podtrzitkama
    part_filename = part_filename.replace(/[^a-z0-9_\.]+/g, '_');
    //~ alert(part_filename);
     document.getElementsByName(obj_put)[0].value = part_filename;
  //  obj_put.value = part_filename;
}

tinyMCE_GZ.init({
            plugins : 'table,advimage,advlink,preview,contextmenu,paste,visualchars',
            themes : 'advanced',
            languages : 'cs',
            disk_cache : true,
            debug : false
    })
    
    tinyMCE.init({
        mode : "specific_textareas",
        editor_selector : "mceEditor",
        object_resizing : true,
        theme : "advanced",
        width : "100%",
        height : "350",
        plugin_preview_width : "550",
        plugin_preview_height : "400",
        language: "cs", 
            
        table_styles : "Header 1=header1;Header 2=header2;Header 3=header3",
        table_cell_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1",
        table_row_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
        table_cell_limit : 100,
            
        theme_advanced_resizing : true,
        theme_advanced_resizing_use_cookie : false,
        theme_advanced_resize_horizontal : false,
            
        plugins : "table,advimage,advlink,preview,contextmenu,paste,visualchars",
        
        theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,"+
                "bullist,numlist,|,utdent,indent,|,sub,sup,|,pastetext,pasteword,|,o|,undo,redo,|,link,unlink,anchor,image,|,"+
                "removeformat,visualaid,cleanup,code,preview",
        theme_advanced_buttons2 : "tablecontrols,|,formatselect,fontsizeselect,|,hr,charmap,visualchars",
        theme_advanced_buttons3 : "",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_blockformats : "p,h1,h2,h3",
        
        extended_valid_elements : "hr[class|width|size|noshade]", 
        
        content_css : "css/example.css",
        
        file_browser_callback : "ajaxfilemanager", 
        apply_source_formatting : true,
        relative_urls : false,
        entity_encoding : "named", // named | numeric, raw
        entities : '160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,215,times,222,THORN,223,szlig,247,divide,254,thorn,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro',
        
        setup: function(ed) {
                    ed.onPaste.add(function(ed, e, o) {
                            ed.execCommand('mcePasteText', true);
                            return tinymce.dom.Event.cancel(e);
                        });
            }
    });
    
    function ajaxfilemanager(field_name, url, type, win) {
        var ajaxfilemanagerurl = "../../../../js/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php";
        switch (type) {
            case "image":
                break;
            case "media":
                break;
            case "flash": 
                break;
            case "file":
                break;
            default:
                return false;
        }
        
        tinyMCE.activeEditor.windowManager.open({
            url: "../../../../js/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php",
            width: 782,
            height: 440,
            inline : "yes",
            close_previous : "no"
        },{
            window : win,
            input : field_name
        });
    }
    
    
    function md5 ( str ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // + namespaced by: Michael White (http://getsprink.com)
    // +    tweaked by: Jack
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // -    depends on: utf8_encode
    // *     example 1: md5('Kevin van Zonneveld');
    // *     returns 1: '6e658d4bfcb59cc13f96c14450ac40b9'
 
    var xl;
 
    var rotateLeft = function(lValue, iShiftBits) {
        return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
    };
 
    var addUnsigned = function(lX,lY) {
        var lX4,lY4,lX8,lY8,lResult;
        lX8 = (lX & 0x80000000);
        lY8 = (lY & 0x80000000);
        lX4 = (lX & 0x40000000);
        lY4 = (lY & 0x40000000);
        lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
        if (lX4 & lY4) {
            return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
        }
        if (lX4 | lY4) {
            if (lResult & 0x40000000) {
                return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
            } else {
                return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
            }
        } else {
            return (lResult ^ lX8 ^ lY8);
        }
    };
 
    var _F = function(x,y,z) { return (x & y) | ((~x) & z); };
    var _G = function(x,y,z) { return (x & z) | (y & (~z)); };
    var _H = function(x,y,z) { return (x ^ y ^ z); };
    var _I = function(x,y,z) { return (y ^ (x | (~z))); };
 
    var _FF = function(a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var _GG = function(a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var _HH = function(a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var _II = function(a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var convertToWordArray = function(str) {
        var lWordCount;
        var lMessageLength = str.length;
        var lNumberOfWords_temp1=lMessageLength + 8;
        var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
        var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
        var lWordArray=new Array(lNumberOfWords-1);
        var lBytePosition = 0;
        var lByteCount = 0;
        while ( lByteCount < lMessageLength ) {
            lWordCount = (lByteCount-(lByteCount % 4))/4;
            lBytePosition = (lByteCount % 4)*8;
            lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount)<<lBytePosition));
            lByteCount++;
        }
        lWordCount = (lByteCount-(lByteCount % 4))/4;
        lBytePosition = (lByteCount % 4)*8;
        lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
        lWordArray[lNumberOfWords-2] = lMessageLength<<3;
        lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
        return lWordArray;
    };
 
    var wordToHex = function(lValue) {
        var wordToHexValue="",wordToHexValue_temp="",lByte,lCount;
        for (lCount = 0;lCount<=3;lCount++) {
            lByte = (lValue>>>(lCount*8)) & 255;
            wordToHexValue_temp = "0" + lByte.toString(16);
            wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.length-2,2);
        }
        return wordToHexValue;
    };
 
    var x=[],
        k,AA,BB,CC,DD,a,b,c,d,
        S11=7, S12=12, S13=17, S14=22,
        S21=5, S22=9 , S23=14, S24=20,
        S31=4, S32=11, S33=16, S34=23,
        S41=6, S42=10, S43=15, S44=21;
 
    //str = utf8_encode(str);
    x = convertToWordArray(str);
    a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
    
    xl = x.length;
    for (k=0;k<xl;k+=16) {
        AA=a; BB=b; CC=c; DD=d;
        a=_FF(a,b,c,d,x[k+0], S11,0xD76AA478);
        d=_FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
        c=_FF(c,d,a,b,x[k+2], S13,0x242070DB);
        b=_FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
        a=_FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
        d=_FF(d,a,b,c,x[k+5], S12,0x4787C62A);
        c=_FF(c,d,a,b,x[k+6], S13,0xA8304613);
        b=_FF(b,c,d,a,x[k+7], S14,0xFD469501);
        a=_FF(a,b,c,d,x[k+8], S11,0x698098D8);
        d=_FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
        c=_FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
        b=_FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
        a=_FF(a,b,c,d,x[k+12],S11,0x6B901122);
        d=_FF(d,a,b,c,x[k+13],S12,0xFD987193);
        c=_FF(c,d,a,b,x[k+14],S13,0xA679438E);
        b=_FF(b,c,d,a,x[k+15],S14,0x49B40821);
        a=_GG(a,b,c,d,x[k+1], S21,0xF61E2562);
        d=_GG(d,a,b,c,x[k+6], S22,0xC040B340);
        c=_GG(c,d,a,b,x[k+11],S23,0x265E5A51);
        b=_GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
        a=_GG(a,b,c,d,x[k+5], S21,0xD62F105D);
        d=_GG(d,a,b,c,x[k+10],S22,0x2441453);
        c=_GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
        b=_GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
        a=_GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
        d=_GG(d,a,b,c,x[k+14],S22,0xC33707D6);
        c=_GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
        b=_GG(b,c,d,a,x[k+8], S24,0x455A14ED);
        a=_GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
        d=_GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
        c=_GG(c,d,a,b,x[k+7], S23,0x676F02D9);
        b=_GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
        a=_HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
        d=_HH(d,a,b,c,x[k+8], S32,0x8771F681);
        c=_HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
        b=_HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
        a=_HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
        d=_HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
        c=_HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
        b=_HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
        a=_HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
        d=_HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
        c=_HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
        b=_HH(b,c,d,a,x[k+6], S34,0x4881D05);
        a=_HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
        d=_HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
        c=_HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
        b=_HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
        a=_II(a,b,c,d,x[k+0], S41,0xF4292244);
        d=_II(d,a,b,c,x[k+7], S42,0x432AFF97);
        c=_II(c,d,a,b,x[k+14],S43,0xAB9423A7);
        b=_II(b,c,d,a,x[k+5], S44,0xFC93A039);
        a=_II(a,b,c,d,x[k+12],S41,0x655B59C3);
        d=_II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
        c=_II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
        b=_II(b,c,d,a,x[k+1], S44,0x85845DD1);
        a=_II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
        d=_II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
        c=_II(c,d,a,b,x[k+6], S43,0xA3014314);
        b=_II(b,c,d,a,x[k+13],S44,0x4E0811A1);
        a=_II(a,b,c,d,x[k+4], S41,0xF7537E82);
        d=_II(d,a,b,c,x[k+11],S42,0xBD3AF235);
        c=_II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
        b=_II(b,c,d,a,x[k+9], S44,0xEB86D391);
        a=addUnsigned(a,AA);
        b=addUnsigned(b,BB);
        c=addUnsigned(c,CC);
        d=addUnsigned(d,DD);
    }
 
    var temp = wordToHex(a)+wordToHex(b)+wordToHex(c)+wordToHex(d);
 
    return temp.toLowerCase();
}



/*
ClockPick, by Josh Nathanson
Version 1.2.7
Timepicker plugin for jQuery
See copyright at end of file
Complete documentation at http://www.jnathanson.com/index.cfm?page=jquery/clockpick/ClockPick
name     clockpick
type     jQuery
param     options                  hash                    object containing config options
param     options[starthour]       int                     starting hour (use military int)
param     options[endhour]         int                     ending hour (use military int)
param     options[showminutes]     bool                    show minutes
param      options[minutedivisions] int                     number of divisions, i.e. 4 = :00, :15, :30, :45
param      options[military]        bool                    use 24hr time if true
param     options[event]           string                  mouse event to trigger plugin
param     options[layout]          string                  set div layout to vertical or horizontal
                                  ('vertical','horizontal')
param     options[valuefield]      string                  field to insert time value, if not same as click field
                                  (name of input field)
param     options[useBgiframe]      bool                      set true if using bgIframe plugin
param     options[hoursopacity]      float                      set opacity of hours container
param      options[minutesopacity]  float                      set opacity of minutes container
param     callback                 function                callback function - gets passed back the time value as a 
                                                          string
*/

jQuery.fn.clockpick = function(options, callback) {

    var settings = {
        starthour       : 8,
        endhour         : 18,
        showminutes     : true,
        minutedivisions : 4,
        military        : false,
        event           : 'click',
        layout            : 'vertical',
        valuefield        : null,
        useBgiframe        : false,
        hoursopacity    : 1,
        minutesopacity  : 1
        };
        
    if(options) {
        jQuery.extend(settings, options);
    };
    
    var callback = callback || function() { },
         v = (settings.layout == 'vertical'); // boolean for vertical, shorten footprint
    errorcheck();    
    
    jQuery(this)[settings.event](function(e) {
        
        var self = this,
        $self = jQuery( this ),
        $body = jQuery( "body" );
        
        if ( !settings.valuefield ) {
            $self.unbind( "keydown" ).bind( "keydown", keyhandler );
        }
        else {
            var inputfield = jQuery("[name=" + settings.valuefield + "]");
            inputfield
                .unbind( "keydown" )
                .bind( "keydown", keyhandler)[0]
                .focus();
            inputfield
                .bind("click", function() { inputfield.unbind("keydown"); } );                                        
        }
        // clear any malingerers
        jQuery("#CP_hourcont,#CP_minutecont").remove();
        
        // append hourcont to body
        // add class "CP" for mouseout recognition, although there is only
        // one hourcont on the screen at a time
        $hourcont = jQuery("<div id='CP_hourcont' class='CP' />").appendTo( $body );
        !settings.useBgiframe ? $hourcont.css("opacity",settings.hoursopacity) : null;
        binder( $hourcont );
        
        $hourcol1 = jQuery("<div class='CP_hourcol' id='hourcol1' />").appendTo( $body );
        $hourcol2 = jQuery("<div class='CP_hourcol' id='hourcol2' />").appendTo( $body );

        // if showminutes, append minutes cont to body
        if (settings.showminutes) {
            $mc = jQuery("<div id='CP_minutecont' class='CP' />").appendTo( $body );
            !settings.useBgiframe ? $mc.css("opacity",settings.minutesopacity) : null;
            binder($mc);
        }
        if ( !v ) {
            $hourcont.css("width","auto");
            $mc.css("width","auto");
        }
        else {
            $hourcol1.addClass('floatleft');
            $hourcol2.addClass('floatleft');
        }
                
        // all the action right here
        // fill in the hours container (minutes rendered in hour mouseover)
        // then make hour container visible
        renderhours();
        putcontainer();
        
        /*----------------------helper functions below-------------------------*/
                
        function renderhours() {
            // fill in the $hourcont div
            var c = 1; 
            // counter as index 2 of hr id, gives us index 
            // in group of hourdivs for calculating where to put minutecont on keydown
            for (h=settings.starthour; h<=settings.endhour; h++) {
                
                if(h==12) { c = 1; } // reset counter for col 2
                
                displayhours = ((!settings.military && h > 12) ? h - 12 : h);
                // rectify zero hour
                if (!settings.military && h == 0) {
                    displayhours = '12';
                }
                if ( settings.military && h < 10 ) {
                    displayhours = '0' + displayhours;
                }
                $hd = jQuery("<div class='CP_hour' id='hr_" + h + "_" + c + "'>" + displayhours + set_tt(h) + "</div>");
                // shrink width a bit if military
                if (settings.military) { $hd.width(20); }
                binder($hd);
                if (!v) {
                    $hd.css("float","left");
                }
                (h<12) ? $hourcol1.append($hd) : $hourcol2.append($hd);
                c++;
            }
            $hourcont.append($hourcol1);
            !v ? $hourcont.append("<div style='clear:left' />") : '';
            $hourcont.append($hourcol2);
        }
        
        function renderminutes(h) {
            realhours = h;
            displayhours = (!settings.military && h > 12) ? h - 12 : h;
            if (!settings.military && h == 0) {
                displayhours = '12';
            }
            if ( settings.military && h < 10 ) {
                displayhours = '0' + displayhours;
            }
            $mc.empty();
            var n = 60 / settings.minutedivisions,
                tt = set_tt(realhours),
                counter = 1;
        
            for(m=0;m<60;m=m+n) {
                $md = jQuery("<div class='CP_minute' id='" + realhours + "_" + m + "'>" 
                             + displayhours + ":" + ((m<10) ? "0" : "") + m + tt 
                             + "</div>");
                if ( !v ) {
                    $md.css("float","left");
                    if (settings.minutedivisions > 6 
                        && counter == settings.minutedivisions / 2 + 1) {
                        // long horizontal, kick in extra row after half
                        $mc.append("<div style='clear:left' />");
                    }
                }
                $mc.append($md);
                binder($md);
                counter++;
            }
        }
        
        function set_tt(realhours) {
            if (!settings.military) { 
                return (realhours >= 12) ? ' PM' : ' AM'; 
                }
            else { 
                return '';
            }
        }
        
        function putcontainer() {
            if ( e.type != 'focus') {
                $hourcont
                .css("left",e.pageX - 5 + 'px')
                .css("top",e.pageY - (Math.floor($hourcont.height() / 2)) + 'px');
                rectify($hourcont);
            }
            else {
                $self.after($hourcont);
            }
            $hourcont.slideDown('fast');
            
            if ( settings.useBgiframe )
                bgi( $hourcont );            
        }
        
        function rectify($obj) { 
            // if a div is off the screen, move it accordingly
            var ph = document.documentElement.clientHeight 
                        ? document.documentElement.clientHeight 
                        : document.body.clientHeight;
            var pw = document.documentElement.clientWidth
                        ? document.documentElement.clientWidth
                        : document.body.clientWidth;
            var t = parseInt($obj.css("top"));
            var l = parseInt($obj.css("left"));
            var st = document.documentElement.scrollTop 
                        ? document.documentElement.scrollTop 
                        : document.body.scrollTop;
            // run off top
            if ( t <= st && !$obj.is("#CP_minutecont") ) {
                $obj.css("top",st+10+'px');
            }
            else if (t + $obj.height() - st > ph) {
                $obj.css("top",st + ph - $obj.height() - 10 + 'px');
            }
            if ( l <= 0 ) {
                $obj.css("left", '10px');
            }
        }
        
        function bgi( ob ) {
            if ( typeof jQuery.fn.bgIframe == 'function' )
                ob.bgIframe();
            else
                alert('bgIframe plugin not loaded.');
        }
        
        function binder($obj) {
        // all the binding is done here
        // event handlers have been abstracted out,
        // so they can handle mouse or key events
        
            // bindings for hc (hours container)
            if($obj.attr("id") == 'CP_hourcont') {
                $obj.mouseout(function(e) { hourcont_out(e) });
            }
            
            // bindings for mc (minute container)
            else if ($obj.attr("id") == 'CP_minutecont') {
                $obj.mouseout(function(e) { minutecont_out(e) });
            }
            
            // bindings for $hd (hour divs)
            else if ($obj.attr("class") == 'CP_hour') {
                $obj.mouseover(function(e) { hourdiv_over($obj, e) });
                $obj.mouseout(function() { hourdiv_out($obj) });                    
                $obj.click(function() {    hourdiv_click($obj) });
            }
            
            // bindings for $md (minute divs)
            else if ($obj.attr("class") == 'CP_minute') {
                $obj.mouseover(function() { minutediv_over($obj) });
                $obj.mouseout(function() { minutediv_out($obj) });                    
                $obj.click(function() {    minutediv_click($obj) });
            }
        };
        
        function hourcont_out(e) {
            /*
            this tells divs to clear only if rolling all the way 
            out of hourcont.
            relatedTarget "looks ahead" to see where the mouse
            has moved to on mouseOut.
            IE uses the more sensible "toElement".
            try/catch for Mozilla bug on relatedTarget-input field.
            */
            try {
                t = (e.toElement) ? e.toElement : e.relatedTarget;
                if (!(jQuery(t).is("div[class^=CP], iframe"))) {
                    // Safari incorrect mouseover/mouseout
                    //if (!jQuery.browser.safari) {
                        cleardivs();
                    //}
                }    
            }
            catch(e) {
                cleardivs();
            }
        }
        
        function minutecont_out(e) {
            try {
                t = (e.toElement) ? e.toElement : e.relatedTarget;
                if (!(jQuery(t).is("div[class^=CP], iframe"))) {
                    cleardivs();
                }        
            }
            catch(e) {
                cleardivs();
            }
        }
        
        function hourdiv_over($obj, e) {
            var h = $obj.attr("id").split('_')[1],
                i = $obj.attr("id").split('_')[2],
                l,
                t;
            $obj.addClass("CP_over");
            if ( settings.showminutes ) {
                $mc.hide();
                renderminutes(h);
                
                // set position & show minutes container
                if (v) {
                    t = e.type == 'mouseover'
                        ? e.pageY - 15
                        : $hourcont.offset().top + 2 + ($obj.height() * i);
                    if ( h < 12 )
                        l = $hourcont.offset().left - $mc.width() - 2;
                    else
                        l = $hourcont.offset().left + $hourcont.width() + 2;
                }
                else {
                    l = (e.type == 'mouseover') 
                        ? e.pageX - 10 
                        : $hourcont.offset().left + ($obj.width()-5) * i;
                    if(h<12) {
                        t = $hourcont.offset().top - $mc.height() - 2;
                    }
                    else {
                        t = $hourcont.offset().top + $hourcont.height();
                    }
                }
                $mc.css("left",l+'px').css("top",t+'px');
                rectify( $mc );
                $mc.show();
                
                if ( settings.useBgiframe )
                    bgi( $mc );
            }
            return false;
        }
        
        
        
        function hourdiv_out($obj) {
            $obj.removeClass("CP_over");
            return false;
        }
        
        function hourdiv_click($obj) {
            h = $obj.attr("id").split('_')[1];
            tt = set_tt(h);
            str = $obj.text();
            if(str.indexOf(' ') != -1) {
                cleanstr = str.substring(0,str.indexOf(' '));
            }
            else {
                cleanstr = str;
            }
            $obj.text(cleanstr + ':00' + tt);
            setval($obj);
            cleardivs();
        }
        
        function minutediv_over($obj) {
            $obj.addClass("CP_over");
            return false;
        }
        
        function minutediv_out($obj) {
            $obj.removeClass("CP_over");    
            return false;
        }
        
        function minutediv_click($obj) {
            setval($obj);
            cleardivs();
        }
        
        function setval($obj) { // takes either hour or minute obj
            if(!settings.valuefield) {
                self.value = $obj.text();
            }
            else {
                jQuery("input[name=" + settings.valuefield + "]").val($obj.text());
            }
            callback.apply( $self, [ $obj.text() ]);
            // unbind keydown handler, otherwise it will double-bind if 
            // field is activated more than once
            $self.unbind( "keydown", keyhandler );
        }
        
        function cleardivs() {
            if (settings.showminutes) {
                $mc.hide();
            }
            $hourcont.slideUp('fast');
            $self.unbind( "keydown", keyhandler );
        }
        
        // keyboard handling
        
        function keyhandler( e ) {
            
            // $obj is current active div
            var $obj = $("div.CP_over").size() ? $("div.CP_over") : $("div.CP_hour:first"),
                divtype = $obj.is(".CP_hour") ? 'hour' : 'minute',
                hi = (divtype == 'hour') ? $obj[0].id.split('_')[2] : 0, // hour index
                h = (divtype == 'minute') ? $obj[0].id.split('_')[0] : $obj[0].id.split('_')[1]; // real hour 
            if (divtype == 'minute') 
                { var curloc = h<12 ? 'm1' : 'm2' }
            else 
                { var curloc = h<12 ? 'h1' : 'h2' }
            
            function divprev($obj) {
                if ($obj.prev().size()) {
                    eval(divtype + 'div_out($obj)');
                    eval(divtype + 'div_over($obj.prev(), e)');
                }
                else { return false; }
            }
            
            function divnext($obj) {
                if ($obj.next().size()) {
                    eval(divtype + 'div_out($obj)');
                    eval(divtype + 'div_over($obj.next(), e)');
                }
                else { return false; }
            }
            
            function hourtohour($obj) {
                var ctx = h>=12 ? '#hourcol1' : '#hourcol2';
                $newobj = jQuery(".CP_hour[id$=_" + hi + "]", ctx );
                if ($newobj.size()) {
                    hourdiv_out($obj);
                    hourdiv_over($newobj, e);
                }
                else { return false; }
            }
            
            function hourtominute($obj) {
                hourdiv_out($obj);
                minutediv_over($(".CP_minute:first"));
            }
            
            function minutetohour($obj) {
                minutediv_out($obj);
                var ctx = h>=12 ? '#hourcol2' : '#hourcol1';
                // extract hour from minutediv, then find hourdiv with that hour
                var $newobj = jQuery(".CP_hour[id^=hr_" + h + "]", ctx);
                hourdiv_over($newobj, e);
            }

            switch (e.keyCode) {
                case 37: // left arrow
                    if (v) {
                        switch (curloc) {
                            case 'm1':
                                return false;
                                break;
                            case 'm2':
                                minutetohour($obj);
                                break;
                            case 'h1':
                                hourtominute($obj);
                                break;
                            case 'h2':
                                hourtohour($obj);
                                break;
                        }
                    }
                    else {
                        divprev($obj);
                    }
                    break;
                    
                case 38: // up arrow
                    if(v) {
                        divprev($obj);
                    }
                    else {
                        switch (curloc) {
                            case 'm1':
                                return false;
                                break;
                            case 'm2':
                                minutetohour($obj);
                                break;
                            case 'h1':
                                hourtominute($obj);
                                break;
                            case 'h2':
                                hourtohour($obj);
                                break;
                        }
                    }
                    break;
                case 39: // right arrow
                    if (v) {
                        switch (curloc) {
                            case 'm1':
                                minutetohour($obj);
                                break;
                            case 'm2':
                                return false;
                                break;
                            case 'h1':
                                hourtohour($obj);
                                break;
                            case 'h2':
                                hourtominute($obj);
                                break;
                        }
                    }
                    else {
                        divnext($obj);
                    }
                    break;
                
                case 40: // down arrow
                    if(v) {
                        divnext($obj);
                    }
                    else {
                        switch (curloc) {
                            case 'm1':
                                minutetohour($obj);
                                break;
                            case 'm2':
                                return false;
                                break;
                            case 'h1':
                                hourtohour($obj);
                                break;
                            case 'h2':
                                hourtominute($obj);
                                break;
                        }
                    }
                    break;
                    
                case 13: // return
                    eval(divtype + 'div_click($obj)');
                    break;
                    
                default:
                    return true;
            }
                    
        return false;
            
        }

    return false;
    });
    
    function errorcheck() {
        if (settings.starthour >= settings.endhour) {
            alert('Error - start hour must be less than end hour.');
            return false;
        }
        else if (60 % settings.minutedivisions != 0) {
            alert('Error - param minutedivisions must divide evenly into 60.');
            return false;
        }
    }
    
    return this;

}



function setTZCountDown(year,month,day,hour,minutes,seconds) 
{

var toDate = new Date();
toDate.setYear(year);
toDate.setMonth(month-1);
toDate.setDate(day);
toDate.setHours(hour);
toDate.setMinutes(minutes);

toDate.setSeconds(seconds);

var fromDate = new Date();
var diffDate = new Date(0);
diffDate.setMilliseconds(toDate - fromDate);
return Math.floor(diffDate.valueOf()/1000);
}
function displayTZCountDown(countdown,tzcd) 
{
   
if (countdown < 0)return "Registrace již není možná."; 
else {var secs = countdown % 60; 
if (secs < 10) secs = '0'+secs;
var countdown1 = (countdown - secs) / 60;
var mins = countdown1 % 60; 
if (mins < 10) mins = mins;
countdown1 = (countdown1 - mins) / 60;
var hours = countdown1 % 24;
var days = (countdown1 - hours) / 24;

var lbl_days = ' dnů ';
var lbl_hours = ' hodin ';
var lbl_mins = ' minut '; 
var lbl_secs = ' sekund ';


if (days == 1) lbl_days = ' den ';
if (days > 1 && days < 4) lbl_days = ' dny ';

if (hours == 1) lbl_hours = ' hodina ';
if (hours > 1 && hours < 4) lbl_hours = ' hodiny ';

if (mins == 1) lbl_mins = ' minuta ';
if (mins > 1 && mins < 4) lbl_mins = ' minuty '; 

if (secs == 1) lbl_secs = ' sekunda ';
if (secs > 1 && secs < 4) lbl_secs = ' sekundy ';  

 
return days + lbl_days + hours + lbl_hours  + mins + lbl_mins;

//setTimeout('displayTZCountDown('+(countdown-1)+',\''+tzcd+'\');',999);
}
}



/* SciTE coding: utf-8 */
/**
 * Popup window with features
 *
 * @author Marek Čevelíček
 * @email lix@quick.cz
 * @web www.liquiddesign.eu
 * @version 1.2
 * @date 25/04/2007
 *
 * Keep ethics, please!
 * You are free to use this function but keep this header unchanged
 * in the script with link to the author's web page.
 * I welcome any additional hints from you, so e-mail me if you want.
 */

var myTWin = window.myTWin; //objekt okna

//ARGUMENTS: (string) url, (string) name, (integer) window_width, (integer) window_height, (boolean) center
function popUpWin (link, winName, width, height) {
    var args = popUpWin.arguments;
    var argLen = args.length;
    
    var minSize = new Array(100,100);
    var maxSize = new Array(screen.availWidth-100, screen.availHeight-100);
    
    //configuration
    var resizable = "yes";
    var captionHeight = 0;
    var windowPaddingWidth = 20;
    var windowPaddingHeight = 10;
    
    //counting
    var cntWidth = width+windowPaddingWidth*2;
    var cntHeight = height+captionHeight+windowPaddingHeight*2;
    var left = 0;
    var top = 0;
    
    var retValue = true;
    
    //zjisteni pripony
    var fparts = link.toString().split(".");
    var ext = fparts[fparts.length-1];
    
    //nastaveni velikosti okna
    if (width > maxSize[0]){
        cntWidth = maxSize[0];
    }
    
    if (height > maxSize[1]){
        cntHeight = maxSize[1];
    }
    
    if (width < minSize[0]){
        cntWidth = minSize[0];
    }
    
    if (height < minSize[1]){
        cntHeight = minSize[1];
    }
    
    if ( (args[4] == undefined) || (args[4] == true) ){
        //nastaveni centrovane pozice
        left = (screen.availWidth - cntWidth) / 2;
        top = (screen.availHeight - cntHeight) / 2;
    }else{
        left = 100;
        top = 100;
    }
    
    //otevirani okna
    if (myTWin != null && !myTWin.closed){
        myTWin.close();
    }
    
    myTWin = window.open("", winName, 
        "location=no,menubar=no,scrollbars=yes,titlebar=no,toolbar=no,personalbar=no,status=no,"+
        "resizable="+resizable+",width="+cntWidth+",height="+cntHeight+",left="+left+",top="+top+
        ",screenX="+left+",screenY="+top);
    
    if (myTWin==null || typeof(myTWin)=="undefined"){
        retValue = false; //okno nelze otervit (javascript disabled)
    }else{
        link.target = winName;
    }
    
    if (retValue){
        //myTWin.resizeTo(cntWidth, cntHeight); //resize nepresna IE
        //myTWin.resizeBy(cntWidth, cntHeight); //not used
        myTWin.moveTo(left,top); //presun okna
        //myTWin.innerWidth = cntWidth; //resize FF
        //myTWin.innerHeight = cntHeight; //resize FF
        myTWin.focus();
        
        if (ext == 'gif' || ext == 'jpg' || ext == 'png'){
            writeContentImage(myTWin, link.href, width, height, "", captionHeight);
        }else{
            myTWin.location.href=link.href;
        }
    }
    
    return retValue;
}

/**
 * Content of the popup window / image
 */
function writeContentImage (win, src, width, height, alt, caps) {
    win.document.open();
    win.document.writeln('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
    win.document.writeln('<html lang="cs" xml:lang="cs" xmlns="http://www.w3.org/1999/xhtml">');
    win.document.writeln('<head>');
    win.document.writeln('<meta content="text/html; charset=windows-1250" http-equiv="Content-Type" />');
    win.document.writeln('<meta content="cs" http-equiv="Content-Language" />');
    win.document.writeln('<meta content="no-cache" http-equiv="Cache-control" />');
    win.document.writeln('<meta content="(c) 2006 Liquid Design" name="Copyright" />');
    win.document.writeln('<meta content="Marek Čevelíček" name="Author" />');
    win.document.writeln('<meta content="robots" name="noindex,nofollow" />');
    win.document.writeln('<title>Los Kachlos</title>');
    win.document.writeln('<link media="screen" type="text/css" href="style.css" rel="Stylesheet" />');
    win.document.writeln('<link media="print" type="text/css" href="style.css" rel="Stylesheet" />');
    win.document.writeln('</head>');
    win.document.writeln('<body style="margin: 0px; background-color: #e9e9e9;">');
    win.document.writeln('<div style="position: absolute; left: 50%; top: 50%; margin-left: -'+(width/2)+'px; margin-top: -'+(height/2+caps/2)+'px; width: '+width+'px; height: '+height+'px;">');
    win.document.writeln('<a href="javascript: self.close();"><img src="'+src+'" width="'+width+'" height="'+height+'" alt="'+alt+'" style="border: 0px; display: block;" /></a>');
    win.document.writeln('</div>');
    win.document.writeln('</body>');
    win.document.writeln('</html>');
    win.document.close();
}


