jQuery(document).ready(function(){
	jQuery(".uitabs").tabs({
		cookie: {
			expires: 1
		},
		
		spinner: 'Načítám...',
		
		// umoznuje kliknout na oznacenou zalozku
		collapsible: true,
		
		// pri kliknuti na prvni zalozku, nactem link 'vice' z JS datoveho uloziste u portletu
		select: function(event, ui) { // this: je hlavni div 'tabs ui-tabs ui-widget ui-widget-content ui-corner-all'
			// zjistime, jestli byla kliknuta zalozka jiz aktivni
			// pokud ano, pokusime se presmerovat na odkaz 'vice', pokud existuje
			if (jQuery(ui.tab).parent('.ui-tabs-selected').length) {
				var parent_id = jQuery(this).parents('.portlet').attr('id');
				var linkMoreHref = jQuery('#' + parent_id + ' .navigator a').attr('href');
				if (linkMoreHref != undefined && linkMoreHref) {
					window.location.href = linkMoreHref;
				}
				return false;
			}
			
			// Pri kliknuti na zalozku zjistime, zda mame ulozen odkaz 'vice' a ten pouzijem pro prepis.
			// Ajaxovy obsah se vola az nasledne a odkaz 'vice' si znovu prepise na spravy.
			var parent_id = jQuery(this).parents('.portlet').attr('id');
			var data_link_more = jQuery.data(jQuery('#' + parent_id)[0], 'tab_url_more');
			if (data_link_more) {
				var linkMore = jQuery('#' + parent_id + ' .navigator a');
				if (linkMore.length) linkMore.replaceWith(data_link_more);
			}
		},
		
		show: function(event, ui) {},
		
		ajaxOptions: {
			error: function( xhr, status, index, anchor ) {
				jQuery( anchor.hash ).html(
					"Nepodařilo se načíst obsah, zkuste to za chvíli znovu... "
				);
			},
			dataFilter: function(data){
				data = json_parse(data);

				var linkMore = jQuery('#' + data.parent_id + ' .navigator a');
				
				// nez provedem prepis odkazu 'vice', provedeme jeho zalohu, jelikoz prvni se generuje ne-ajax portlet
				if (jQuery.data(jQuery('#'+data.parent_id)[0], 'tab_url_more') == null) {
					jQuery.data(jQuery('#'+data.parent_id)[0], 'tab_url_more', linkMore.parent().html());
				}
				
				// Add css to page
				if (jQuery('#' + data.parent_id + '_css').length) {
					jQuery('#' + data.parent_id + '_css').attr('href', data.css);
				} else {
					if ($.browser.msie) {
						document.styleSheets[0].addImport(data.css);
					} else {
						jQuery("<link/>", {
						   rel: "stylesheet",
						   type: "text/css",
						   href: data.css,
						   id: data.parent_id + "_css"
						}).appendTo("head");
					}
					
				}	
				
				// Zmena linku 'vice' v hlavicce ZP 
				// link nahradime vracenym linkem z ajaxu (pokud byl nejaky vracen) a link zobrazime
				if (data.more) {
					linkMore.replaceWith(data.more);
				} else {
					linkMore.attr('href', '');
					linkMore.hide();
				}
			
				return data.content;
			}
		}
	}).scrollabletab();
	
	//otevirani vsech externich odkazu do noveho okna
	jQuery('a[href]').
		not('[href^="/"]').
		not('[href^="mailto"]').
		not('[href^="#"]').
		not('[href^="?"]').
		not('[href^="&"]').
		not('[href^="javascript"]').
		not('[href*="' + window.location.hostname + '"]').
		removeAttr("target").
		removeAttr("onclick").
		attr("title", " [Odkaz se otev\u0159e v novém okně]").
		click(function() {window.open(this.href);return false;});
	//odkazy na predpisy se oteviraji do noveho okna
	jQuery('.Portlet_Documents_Detail #document-content a[href^="/"]').
		not('[href^="/document/note"]').
		removeAttr("target").
		removeAttr("onclick").
		attr("title", " [Odkaz se otev\u0159e v novém okně]").
		click(function() {window.open(this.href);return false;}
	);
	
	/**
	 * POPUP u klicku
	 */
	
	// detekce IE
	var isIE = (jQuery.browser.msie);

	// objekt zjistujici parametry viewportu
	window.viewport =
	{
	    width: function() {
	        
	        var viewportWidth = jQuery(window).width();     // sirka vykreslovaci plochy
	        var pageWidth = jQuery('#page-layout').width();     // sirka stranky dokumentu
	        var rest = (viewportWidth - pageWidth)/2;   // volne misto vlevo/vpravo of dokumentu
	        
	        // korekce hodnot pro IE
	        if(isIE == true){
	            return rest + 2;
	        }
	        else {
	            return rest;
	        }
	    },
	    // vykreslovaci plochy
	    viewportWidth: function(){
	        return jQuery(window).width();
	    }
	};

	// sestavime HTML kod bubliny
	var popup = '';
	popup += '<a href="/" id="popup"><span class="content">';
	popup += 'vychozi text';
	popup += '</span><span class="bottom"></span>';
	popup += '</a>';

	// pridame na konec DOMu
	jQuery('#page-layout').after(popup);

	var timer = false; // identifikator casovace pro zmizeni popupu

	// najeli sme na odkaz vedouci na placeny obsah...
	// LIVE - dulezite pro obsah nacteny pres ajax
	jQuery('.unaccessible').live('mouseover', (function(){
		
	    // odstranime vsechny popup
	    hidePopup();
	    if (timer) {
	    	clearTimeout(timer);
	    }

	    // pokud je title nastaven, presunem text z nej do atributu rel
	    if (jQuery(this).attr('title')) {
	    	jQuery(this).attr('rel', jQuery(this).attr('title'));
	    	jQuery(this).removeAttr('title');
	    }
	    
	    var popupText = jQuery(this).attr('rel');     // Text zobrazeny v bubline
	    var popupLink = jQuery(this).attr('href');      // URL
	    var lockedPos = jQuery(this).offset();          // Pozice odkazu pod kurzorem

	    var lockedPosX = lockedPos.left;
	    var lockedPosY = lockedPos.top;

	    // vpravo neni dostatek mista pro zobrazeni popup okna - preklopi se
	    if((window.viewport.viewportWidth()) < 1000 && jQuery(this).parents().hasClass('ar-right')){
	        lockedPosX -= 137;  //pozice bubliny - jeji sirka

	        // volani fce pro vygenerovani HTML kodu bubliny
	        buildPopup(popupText,popupLink,lockedPosX,lockedPosY);
	        jQuery('#popup').addClass('popup-reverted');
	    }
	    else {
	        // volani fce pro vygenerovani HTML kodu bubliny
	        buildPopup(popupText,popupLink,lockedPosX,lockedPosY);
	    }
	    
	}))
	.live('mouseout', (function(){ // na elementu A dojde k casovemu vypnuti
	    // odstranime popup z DOMu
		timer = setTimeout(function(){
			hidePopup();
		}, 300);
	}));

	// fce vytvarejici popup
	function buildPopup(text,link,X,Y){

	    jQuery('#popup .content').text(text);
	    
	    var popupHeight = jQuery('#popup').height();

	    // a napozicujeme
	    jQuery('#popup')
	        .attr('href', link)
	        .css({
	            top: Y - popupHeight + 5,
	            left: X + 9,
	            visibility: 'visible'            
	        })
	        .mouseenter(function(){
	        	if (timer) {
	            	clearTimeout(timer);
	            }
	        })
	        .mouseleave(function(){
	        	hidePopup();
	        })
	}

	// Odstraneni POP-UP z DOMu
	function hidePopup(){
	    jQuery('#popup').css({visibility: 'hidden'});
	}
	
});

//otevření okna s kurzem
function OpenCourseWin(url, name) {
	var width = 960;
	var height = 650;
	
	// vycentrovani
	var left = ($(window).width() - width) / 2;
	var top = ($(window).height() - height) / 2;
	
	window.open(url, name, 'location=no, status=no, toolbar=no, menubar=no, resizable=yes, scrollbars=yes, width=' + width + ', height=' + height + ', top=' + top + ', left=' + left + '');
	
	return true;
}

/**
* jQuery Cookie plugin
*
* Copyright (c) 2010 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
jQuery.cookie = function (key, value, options) {

    // key and at least value given, set cookie...
    if (arguments.length > 1 && String(value) !== "[object Object]") {
        options = jQuery.extend({}, options);

        if (value === null || value === undefined) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        value = String(value);

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};
