
document.write('<script type="text/javascript" src="'+GB_ROOT_DIR+'AJS.js"></script>');
document.write('<script type="text/javascript" src="'+GB_ROOT_DIR+'AJS_fx.js"></script>');
document.write('<script type="text/javascript" src="'+GB_ROOT_DIR+'gb_scripts.js"></script>');
document.write('<link href="'+GB_ROOT_DIR+'gb_styles.css" rel="stylesheet" type="text/css" media="all" />');

document.write('<script type="text/javascript" src="'+CAL_ROOT_DIR+'calendar.js"></script>');
document.write('<script type="text/javascript" src="'+CAL_ROOT_DIR+'calendar-cs-utf8.js"></script>');
document.write('<script type="text/javascript" src="'+CAL_ROOT_DIR+'calendar-setup.js"></script>');
//document.write('<script type="text/javascript" src="'+GEN_JS_DIR+'cba.js"></script>');
document.write('<script type="text/javascript" src="'+GEN_JS_DIR+'jquery.js"></script>');
document.write('<script type="text/javascript" src="'+GEN_JS_DIR+'jquery.cycle.all.min.js"></script>');

//####################################//

function dateChanged(calendar) {
if (calendar.dateClicked) {
  var y = calendar.date.getFullYear();
  var m = calendar.date.getMonth()+1;
  m = (m < 10) ? '0'+m : ''+m;
  var d = calendar.date.getDate();
  d = (d < 10) ? '0'+d : ''+d;
  
  window.location = CAL_SEARCH_URL.replace("%evdate%", y+'-'+m+'-'+d);
}
};

//####################################//

function changeDivContent(divID, content)
{
    var layer = document.getElementById(divID);
    
    if(layer == null)
        return;
    
    layer.innerHTML = content;
}

//####################################//

function isDateDisabled(date)
{
    var today = new Date();
    return (Math.abs(date.getTime() - today.getTime()) < 0);
}

//####################################//


function display(id, doDisplay)
{
    var layer = document.getElementById(id);
    
    if(layer == null)
        return;

    if(doDisplay == null)
        layer.style.display = (layer.style.display == 'none') ? 'block' : 'none';
    else
        layer.style.display = (doDisplay == true) ? 'block' : 'none';

}


//####################################//


function getElem(id)
{
	return document.getElementById(id);
}


//####################################//



function _FlapSelect(prefix, id)
{
	var i=1;
	document.getElementById(prefix+'_fls').style.display = 'block';
	while(true)
	{
		if(document.getElementById(prefix+'_fl_'+i+'') != null)
		{
			if(id == i)
			{
				if(document.getElementById(prefix+'_fl_'+i+'') != null)
					document.getElementById(prefix+'_fl_'+i+'').className = 'tab sel';
				if(document.getElementById(prefix+'_fi_'+i+'') != null)
					document.getElementById(prefix+'_fi_'+i+'').className = 'tab sel';
			}
			else
			{
				if(document.getElementById(prefix+'_fl_'+i+'') != null)
					document.getElementById(prefix+'_fl_'+i+'').className = 'tab nsel';
				if(document.getElementById(prefix+'_fi_'+i+'') != null)
					document.getElementById(prefix+'_fi_'+i+'').className = 'tab nsel';
			}
		}
		else
		{
			break;
		}
		i++;
	}
	
}



//####################################//
//####################################//
//####################################//


var chosenSeller = 0;
var eventIter = -1;
var availEntCntr = 0;
var availEntCntrCurr = 0;
var eventsOffer = [];

function ticketAvailabilityCheck(docUrl)
{
    $('#ticketsLoading').show();
    $('#ticketsCheck').hide();
    $('#ticketsMessage').html('Probíhá ověřování dostupnosti vstupenek...');

    $.getJSON(docUrl,
                null,
                function (data, textStatus)
                {
                    ticketAvailabilityResponse(data, textStatus);
                }
    );
}
function ticketAvailabilityResponse(data, textStatus)
{
    // zmenit vrstvy
    $('#ticketsLoading').hide();
    $('#ticketsBooking').hide();
    $('#ticketsCheck').hide();
    $('#ticketsMessage').html('');
    
    
    if(typeof(data) != 'object')
        return false;
    var resp = data;
    
    // nejdriv jestli se podarilo proverit
    if(textStatus == 'success' && resp.tickets_checked == true)
    {
        $('#ticketsResponse').html('tickets_checked: true<br />tickets_all: '+resp.tickets_all+'');
        if(resp.tickets_all > 0)
        {
            chosenSeller = resp.seller_id;
            $('#bookingSbm').attr('href', resp.booking_url);
            $('#help_2').html($('#bhelp'+chosenSeller).html());
            $('#ticketsBooking').slideDown(500);
            $('#ticketsMessage').html('<strong>Vstupenky na toto představení jsou dostupné!</strong><br />Pokračujte na rezervaci vstupenek.');
            bookingHelp('available');
        }
        else
        {
            $('#bookingSbm').attr('href', resp.booking_url);
            $('#ticketsMessage').hide();
            $('#ticketsMessage').html('Vstupenky na tento termín představení jsou v síti Ticketportal vyprodány. Vyberte si prosím jiný termín představení.');
            $('#ticketsMessage').slideDown(500);
            bookingHelp('soldout');
            
            setTimeout('ActionsRelated.trigger();', 2000);
        }
    }
    // stala se chyba pri proverovani
    else
    {
        $('#bookingSbm').attr('href', resp.booking_url);
        $('#ticketsBooking').show();
        $('#ticketsMessage').html('Nepodařilo se zjistit dostupnost vstupenek.');
        bookingHelp('error');
    }
    
}
function bookingHelp(status)
{
    for(var x = 1; x <= 5; x++)
    {
        $('#help_'+x).hide();
    }

    switch(status)
    {
        case 'error':
            $('#help_4').show();
        break;
        case 'ready':
            $('#help_1').show();
        break;
        case 'available':
            $('#help_2').show();
        break;
        case 'soldout':
            $('#help_3').show();
            
            var html = $('#changeEventDiv').html();
            $('#ticketsMessage').hide();
            
            var msg = '<strong>Vstupenky na tento termín představení jsou v síti Ticketportal vyprodány.</strong>';
            if(eventsOffer.length > 1)
            {
                html = html.replace(/changeEvent/g, 'changeEvent2');
                msg += '<br /><br />Vyberte si prosím jiný termín představení.<br />'+html+'';
                msg += 'nebo <br /><br /><a class="btn2" href="javascript:void(0)" onmousedown="ticketAvailabilityMultiCheck();">Automaticky najít volný termín představení</a>';
                msg += '<br /><br />';
            }
            
            $('#ticketsMessage').html(msg);
            $('#ticketsMessage').slideDown(700);
            
            html = null;
            msg = null;
            
        break;
    }
    
    setTimeout('moveBookingHelpBubble(-250);', 10);

}
function moveBookingHelpBubble(setpos)
{
    var obj = document.getElementById('bookingHelpBubble');
    if(setpos != null)
    {  
        obj.style.marginLeft = setpos+'px';
    }
    
    var pos = parseInt(obj.style.marginLeft);
    
    if(pos == -50)
        return;
    
    setTimeout('moveBookingHelpBubble('+(pos+10)+')', 20);
    
}
function watchdogRequest(docUrl, mailAddr)
{
    if (mailAddr=='' || mailAddr=='@'){
        alert("Vyplňte, prosím, Vaši emailovou adresu!");
        return false;
    }
    else if (window.RegExp){
        re = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,4}$");
        if (!re.test(mailAddr)){
            alert("Zadaná emailová adresa není správnou adresou elektronické pošty!");
            return false;
        }
    }
        
    docUrl = docUrl.replace("%mail%", mailAddr);
    
    $.getJSON(docUrl,
                null,
                function (data, textStatus)
                {
                    watchdogResponse(data, textStatus);
                }
    );
    
    $('#watchdogLoading').show();
    $('#watchdogForm').hide();
    $('#watchdogMsg').hide();

}
function watchdogResponse(data, textStatus)
{
    if(typeof(data) != 'object')
        return false;
    
    var resp = data;
    
    $('#watchdogLoading').hide();
    
    if(textStatus == 'success' && resp.success == true)
    {
        $('#watchdogForm').hide();
        $('#watchdogMsg').html('Upozornění na email bylo aktivováno!');
        $('#watchdogMsg').show();
    }
    else
    {
        $('#watchdogForm').hide();
        
        var msg = '';
        switch(resp.errorCode)
        {
            case 1: msg = 'Byla zadána neplatná emailová adresa'; break;
            case 2: msg = 'Upozornění na email je pro tuto emailovou adresu již nastaveno!'; break;
        }
        $('#watchdogMsg').html(msg);
        $('#watchdogMsg').show();
        $('#watchdogForm').show();
    }
    
}

function ticketAvailabilityMultiCheck()
{
    $('#ticketsLoading').show();
    $('#ticketsCheck').hide();
    $('#ticketsMultiCheck').show();
    $('#ticketsMessage').html('Probíhá ověřování dostupnosti vstupenek...');
    $('#ticketsMultiCheckContinue').hide();
    $('.evnthighlighted').removeClass('evnthighlighted');
    
    move2ViewPort('dynamicBookingDiv');
    
    availEntCntrCurr = 0;
    ticketAvailabilityMultiCheckIter();
}

function ticketAvailabilityMultiCheckIter()
{
    eventIter++;
    
    if((eventIter + 1) >= eventsOffer.length)
    {
        eventIter = eventsOffer.length-1;
        ticketAvailabilityMultiStop();
        return;
    }
    
    // projizdime postupne akce
    var thisEvnt = eventsOffer[eventIter];
    
    $.getJSON(thisEvnt.docUrl,
            null,
            function (data, textStatus)
            {
                ticketAvailabilityMultiResponse(data, textStatus);
            }
    );
    
}

function ticketAvailabilityMultiResponse(data, textStatus)
{
    
    if(typeof(data) != 'object')
        return false;
    var resp = data;
    
    // nejdriv jestli se podarilo proverit
    if(textStatus == 'success' && resp.tickets_checked == true)
    {
        $('#ticketsResponse').html('tickets_checked: true<br />tickets_all: '+resp.tickets_all+'');
        if(resp.tickets_all > 0)
        {
            availEntCntr++;
            availEntCntrCurr++;
            chosenSeller = resp.seller_id;
            $('#ticketsMessage').html('<strong>Vstupenky na toto představení jsou dostupné!</strong>');
            bookingHelp('available');
            
            var thisEvent = eventsOffer[eventIter];
            
            var html = '';
            var ticketsStr = resp.tickets_all;
            if(resp.tickets_all == 6)
                ticketsStr = 'alespoň '+resp.tickets_all;
            html += '<div class="evnthighlighted">';
            html += '<div class="evntcol"><strong>'+thisEvent.title+'</strong><br />Vstupenek: '+ticketsStr+'</div>';
            html += '<div class="btncol"><a class="btn2" href="'+resp.booking_url+'" target="_blank">Rezervovat vstupenky</a></div>';
            html += '<div class="cb"></div>';
            html += '</div>';
            $('#ticketsMultiCheckResult').append(html);
        }
    }
    
    // kdyz uz je neco nalezene, tak stopnout
    if(availEntCntrCurr > 0 && (availEntCntrCurr % 3) == 0)
    {
        ticketAvailabilityMultiStop();
    }
    else
    {
        ticketAvailabilityMultiCheckIter();
    }
    
}

function ticketAvailabilityMultiStop()
{
    $('#ticketsLoading').hide();
    $('#ticketsCheck').hide();
    $('#ticketsMessage').html('');
    
    var finished = ((eventIter+1) == eventsOffer.length) ? true : false;
    
    if(finished)
    {
        $('#ticketsMultiCheckContinue').hide();
        // skoncili jsme a nic nenalezeno
        if(availEntCntr == 0)
        {
            $('#ticketsMessage').html('Vstupenky na toto představení jsou v síti Ticketportal vyprodány. ');
            bookingHelp('soldout');
        }
    }
    else
    {
        $('#ticketsMultiCheckContinue').show();
    }
    
}

var ActionsRelated = new Object();


ActionsRelated.trigger = function()
{
    $('#actionsRelatedContent').hide();
    $('#actionsRelatedLoading').show();
    // zobrazit
    $('#actionsRelated').hide();
    $('#actionsRelated').slideDown(500);
    
    ActionsRelated.load();
}


ActionsRelated.load = function(offset)
{
    if(offset == null) offset = 0;
    var docUrl = docUrlRelated;
    if(offset > 0) docUrl += '&offset='+offset;
    $.get(docUrl,
                null,
                function (data, textStatus)
                {
                    ActionsRelated.loaded(data, textStatus);
                },
                "html"
    );
    
    return;
}


ActionsRelated.loaded = function(data, textStatus)
{
    if(textStatus == 'success')
    {
        if(data.indexOf('NOT_FOUND') == -1)
        {
            $('#actionsRelatedContent').html(data);
            $('#actionsRelatedLoading').slideUp(200, function () { $('#actionsRelatedContent').slideDown(500); });
        }
        else
        {
            $('#actionsRelated').slideUp(200);
        }
    }
}


function move2ViewPort(objectID)
{
    var abspos = $('#'+objectID).offset();
    var toppos = abspos.top - 30;
    
    $('html, body').animate({scrollTop:toppos}, 'slow');
    
    return true;
}





