// ===================== funkce fora ==============================

function setImproper(entryId){    
    send_xmlhttprequest(improperConfirm, 'GET', '/inc/set_improper.php?entry_id='+entryId);
    getObj('imp'+entryId).style.display='none';
    getObj('status'+entryId).className='improper';
    getObj('status'+entryId).innerHTML='provádím...';
}

function improperConfirm(xmlhttp) {
    if (xmlhttp.readyState == 4) {
        var resp = xmlhttp.responseXML.getElementsByTagName('improper');
        for (var i=0; i < resp.length; i++) {
            getObj('status'+resp[i].firstChild.data).className='improper';
            getObj('status'+resp[i].firstChild.data).innerHTML='označno za nevhodné!';
        }
    }
}

function insertSmile(code){
    clearField(getObj('textarea'), 'text příspěvku');
    getObj('textarea').value += " " + code + " ";
}

// --------------------------

function wrong_mail_address(adresa){
    var re = /^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$/;
    return re.test(adresa) == 0;
}

function clearField(obj, str){
    if(obj.value == str) obj.value='';
}


function objGet(id){
    if(Boolean(document.getElementById))
        return document.getElementById(id);
    else if(Boolean(document.all))
        return eval('document.all.'+id);
    else
        return eval('document.'+id);
}


function getObj(id){
    if(Boolean(document.getElementById))
        return document.getElementById(id);
    else if(Boolean(document.all))
        return eval('document.all.'+id);
    else
        return eval('document.'+id);
}

//-----------------------------------------------------------------------------
// kontrola formulare (inputy oznacene rel="required")

var styleNormal='btn';
var styleDisabled='btn-dis';

function validateForm(form, relValue){
    var submit;
    var dis=false;
    var inputs = form.getElementsByTagName('input');
    for(var i=0; i < inputs.length; i++) {
        if(inputs[i].type=='submit') submit=inputs[i];
        if(inputs[i].getAttribute('rel')==relValue){
            if(inputs[i].value==''){
                dis=true;
            }
        }
    }
  
    submit.disabled=dis;
    if(dis)
        submit.className=styleDisabled;
    else
        submit.className=styleNormal;
}


function send_xmlhttprequest(obsluha, method, url, content, headers) {
    var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
    if (!xmlhttp) {
        return false;
    }
    xmlhttp.open(method, url);
    xmlhttp.onreadystatechange = function() {
        obsluha(xmlhttp);
    };
    if (headers) {
        for (var key in headers) {
            xmlhttp.setRequestHeader(key, headers[key]);
        }
    }
    xmlhttp.send(content);
    return true;
}

//-----------------------------------------------------------------------------
// kontrola formulare (inputy oznacene rel="required")

var styleNormal='btn';
var styleDisabled='btn-dis';

function validateReservation(form){
  
    if(form.res_count.value == '' ||
        (form.email.value != '' && wrong_mail_address(form.email.value)) ||
        form.name.value == '') dis = true;
    else dis = false;
  
    form.reservation_submit.disabled=dis;
    if(dis)
        form.reservation_submit.className=styleDisabled;
    else
        form.reservation_submit.className=styleNormal;
}


//------------------------------------------------------------------------------
// zobrazeni hlasky o vyprodanem predstaveni a skryti formu

function updateForm(){
    var programID = getObj('programID').value;
    var form = getObj('form');
    var sellout = getObj('sellout');
  
    if(programID != '0'){
        form.style.display = 'block';
        sellout.style.display = 'none';
    }
    else{
        form.style.display = 'none';
        sellout.style.display = 'block';
    }
}

//------------------------------------------------------------------------------
// rozkryti clanku kategorie

function showArticle(){
    var anot = getObj('anotation');
    var full = getObj('full-article');
    anot.style.display = 'none';
    full.style.display = 'block';
}


// Galerie
jQuery(document).ready(function($) {
    // We only want these styles applied when javascript is enabled
    $('div.gallery').css('display', 'block');

    // Initially set opacity on thumbs and add
    // additional styling for hover effect on thumbs
    var onMouseOutOpacity = 0.67;
    $('#thumbs ul.thumbs li').opacityrollover({
        mouseOutOpacity:   onMouseOutOpacity,
        mouseOverOpacity:  1.0,
        fadeSpeed:         'fast',
        exemptionSelector: '.selected'
    });

    // Initialize Advanced Galleriffic Gallery
    if($(".thumb").length > 0){
        var gallery = $('#thumbs').galleriffic({
            delay:                     2500,
            numThumbs:                 15,
            preloadAhead:              10,
            enableTopPager:            false,
            enableBottomPager:         false,
            maxPagesToShow:            7,
            imageContainerSel:         '#slideshow',
            captionContainerSel:       '',
            loadingContainerSel:       '#loading',
            renderSSControls:          false,
            renderNavControls:         false,
            enableHistory:             false,
            autoStart:                 false,
            syncTransitions:           true,
            defaultTransitionDuration: 700,
            onSlideChange:             function(prevIndex, nextIndex) {
                // 'this' refers to the gallery, which is an extension of $('#thumbs')
                this.find('ul.thumbs').children()
                .eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
                .eq(nextIndex).fadeTo('fast', 1.0);
            },
            onPageTransitionOut:       function(callback) {
                this.fadeTo('fast', 0.0, callback);
            },
            onPageTransitionIn:        function() {
                this.fadeTo('fast', 1.0);
            }
        });
    }
});



//----- center window ----
function openCenterWin(url,theWidth,theHeight){
    var theTop=(screen.height/2)-(theHeight/2);
    var theLeft=(screen.width/2)-(theWidth/2);
    var features=
    'height='+theHeight+',width='+theWidth+',top='+theTop+',left='+theLeft+",scrollbars=yes";
    theWin=window.open(url,'',features);
}


