/*validators*/

function validatorRequire(field, msg, title)
{

    if ($(field).val() == '') {
        showDialog(title, msg, field);
        return false;
    }

    return true;
}

function validatorEmail(field, msg, title)
{
    var regex = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;

    if ( regex.test($(field).val()) == false ) {
        showDialog(title, msg, field);
        return false;
    }

    return true;
}

function validatorCaptcha(captchaWord, captchaId, msg, title)
{
    var ret;
    $.ajax({
        type: "POST",
        url:"/system/validate-captcha/",
        async: false,
        data: {
            captcha_word: $(captchaWord).val(),
            captcha_id: $(captchaId).val()
        },
        dataType: "text",
        success: function(data){
            ret = data;
    }
    });

    if (ret != 'true') {
        showDialog(title, msg, captchaWord);
        return false;
    }

    return true;
}

function validatorNumeric(field, msg, title)
{
    var regex = /^[0-9]*$/i;
    if ( regex.test($(field).val()) == false ) {
        showDialog(title, msg, field);
        return false;
    }

    return true;
}

/*custom func*/


function getRandomImg(gallery, timeout, images)
{
    var init = false;

    if (images == null) {
        $.ajax({
            type: "POST",
            url:"/system/random-img/",
            async: false,
            data: {
                gallery: gallery
            },
            dataType: "json",
            success: function(data){
                images = data;
                init = true;
            }
        });
    }

    var id = Math.floor(Math.random()*images.length);

    if (init) {
        var link='';

        if (images.length > 1) {
            for (i=1; i<images.length; i++) {
                link += '<a href="'+images[i].file+'" rel="latest-gal" title="'+images[i].desc+'"></a>';
            }
        }

        $("#latest-img").fadeOut(300, function(){$("#latest-img").html('<div id="latest-image-azc"><a href="'+images[0].file+'" title="'+images[0].desc+'" rel="latest-gal"><img src="'+images[id].th_file+'" alt="latest image"/></a></div>' + (link != '' ? link : ''));});
        $("a[rel='latest-gal']").colorbox({maxWidth:800, maxHeight:600, previous: "Předchozí", next: "Další", close: "Zavřít", current: "Obrázek {current} / {total}"});
        $("#latest-img").fadeIn(300);

    } else {
        $("#latest-img").fadeOut(300, function(){$("#latest-img #latest-image-azc a").html('<img src="'+images[id].th_file+'" alt="latest image" />');});
        $("#latest-img").fadeIn(300);
    }

        setTimeout(function(){getRandomImg(gallery, timeout, images)},timeout);
}

function reloadCaptcha(prefix) {
    if (prefix == undefined)
        prefix='captcha';

    $.ajax({
        type: "POST",
        url: "/system/reload-captcha/",
        async: false,
        data: {
            captcha_text: "c_text"
        },
        dataType: "text",
        success: function(data){
            $("#"+prefix+"-img").attr("src", '/var/captcha/'+data+'.png');
            $("#"+prefix+"_word").val('');
            $("#"+prefix+"_id").val(data);

        }
    });

    $("#"+prefix+"_word").val('');
};

function validateForm()
{

    if (!validatorRequire('#name', $.i18n('Please enter name'), $.i18n('Error'))) return false;
    if (!validatorRequire('#email', $.i18n('Please enter email'), $.i18n('Error'))) return false;
    if (!validatorEmail('#email', $.i18n('Please enter valid email'), $.i18n('Error'))) return false;
    if (!validatorRequire('#msg', $.i18n('Please enter message'), $.i18n('Error'))) return false;
    if (!validatorCaptcha('#captcha_word', '#captcha_id', $.i18n('Please enter valid code'), $.i18n('Error'))) return false;

    return true;
}

validateDiscussionForm = function(loggedIn)
{
    if (!validatorRequire('#dsc_name', $.i18n('Please enter name'), $.i18n('Error'))) return false;
    if (!validatorRequire('#dsc_surName', $.i18n('Please enter surname'), $.i18n('Error'))) return false;
    if (!validatorRequire('#dsc_subject', $.i18n('Please enter subject'), $.i18n('Error'))) return false;
    if (!validatorRequire('#dsc_email', $.i18n('Please enter email'), $.i18n('Error'))) return false;
    if (!validatorEmail('#dsc_email', $.i18n('Please enter valid email'), $.i18n('Error'))) return false;
    if (!validatorRequire('#dsc_msg', $.i18n('Please enter message'), $.i18n('Error'))) return false;
    
    if (!loggedIn) {
        if (!validatorCaptcha('#dsc_captcha_word', '#dsc_captcha_id', $.i18n('Please enter valid code'), $.i18n('Error'))) return false;
    }

    return true;
}

function loadRef2(id)
{
    $.ajax({
        type: "POST",
        url:"/system/get-ref/",
        async: false,
        data: {
            id: id
        },
        dataType: "json",
        success: function(data){
            $('#ref-image').html('<img src="'+( data.image == '' ? '/img/empty-ref.png' : data.image )+'" alt="'+data.title+'" />');
            $('#ref-body').html('<p class="heading"><a href="/'+data.seo+'/">'+data.title+'</a></p><p>'+data.introText+'</p>');

            if (data.next == null)
                $('#ref-next').hide();
            else {
                $('#ref-next').unbind('click');
                $('#ref-next').click(function(){loadRef(data.next);});
                $('#ref-next').show();
            }

            if (data.prev == null)
                $('#ref-prev').hide();
            else {
                if ($('#ref-prev').attr('onclick') != null)
                    $('#ref-prev').attr('onclick', null);
                $('#ref-prev').unbind('click');
                $('#ref-prev').click(function(){loadRef(data.prev);});
                $('#ref-prev').show();
            }
        }
    });
}


function loadRef(start)
{
    if (start == null) {
        start = 0;
        var efekt = false;
    }else {
        var efekt = true;
    }

    $.ajax({
        type: "POST",
        url:"/system/ref/",
        async: false,
        data: {
            start: start
        },
        dataType: "json",
        success: function(data){
            var code='';
            for (i=0; i<data.ret.data.length; i++)
                code += '<div class="ref-img-wrapper img-'+i+'"><a href="/'+data.ret.data[i].seo+'/"><img src="'+(data.ret.data[i].image != '' ? data.ret.data[i].image : '/img/ref-noimg.jpg')+'" alt="img" /></a><div class="ref-detail"><h3>'+data.ret.data[i].title+'</h3><p>'+data.ret.data[i].date_created.day+'. '+data.ret.data[i].date_created.nameMonth+'</p></div></div>';

            code += '';
            
            if (start - 3 >= -1)
                code += '<div class="prev" onclick="loadRef('+ (start-3) +')" title="Předchozí reference"></div>';

            if (start + 3 < data.ret.count)
                code += '<div class="next" onclick="loadRef('+ (start+3) +')" title="Další reference"></div>';

            $("#ref-body").html(code);
        }
    });
}

function showForm(show)
{
    $('.left-form div#show-form').unbind('click');

    if (show == false) {
        //hide form
        $('.left-form div#show-form').click(function(){showForm();});
        $('.left-form').animate({left: '-=500'}, 500);
    } else {
        $('.left-form div#show-form').click(function(){showForm(false);});
        $('.left-form').animate({left: '+=500'}, 500);
    }


}

$(document).ready(function(){
    $("a[rel^='colorbox']").colorbox({
        maxWidth:1066,
        maxHeight:800,
        previous: "Předchozí",
        next: "Další",
        close: "Zavřít",
        current: "Obrázek {current} / {total}"
    });
    /*
    $(".view-catalog").colorbox({iframe: true, innerWidth:'600px', innerHeight:'590px'});
    Cufon.replace('#line div.line-menu a', {hover: true});
    Cufon.replace('#header .h-txt .line1');
    Cufon.replace('#header .h-txt .line2');
    Cufon.replace('#header .h-txt .line3');
    */

    if ($('.left-form div#show-form') != null)
        $('.left-form div#show-form').click(function(){showForm();});
});


var _sliderData = {};

sliderRegister = function(name, data, timeout) {
    _sliderData[name] = eval ('({"name": name, "data": data, "timeout": timeout, "current": undefined, "timer_id": undefined})');
    $('div#slider_'+name+' div.slider-picture').css('background', 'url("/files/gallery/'+_sliderData[name].data[0]+'")');
    if (sliderShowpicture(name, 0)) {
        _sliderData[name].timer_id = setTimeout(function(){sliderAutoChangeImage(name)},_sliderData[name].timeout, name);
    }
}

sliderSetPicture = function(name, id) {
    var cur = _sliderData[name].current;
    var max = _sliderData[name].data.length - 1;

    if (id < 0 || id > max || id == cur)
        return;

    clearTimeout(_sliderData[name].timer_id);
    
    if (sliderShowpicture(name, id)) {
        _sliderData[name].timer_id = setTimeout(function(){sliderAutoChangeImage(name)},_sliderData[name].timeout, name);
    }
}

sliderShowpicture = function(name, id) {
    var cur = _sliderData[name].current;
    var max = _sliderData[name].data.length - 1;
    if (id < 0 || id > max || id == cur)
        return false;


    $('div#slider_'+name+' div.slider_navigator span').removeClass('selected');
    $('div#slider_'+name+' div.slider-picture').hide();
    $('div#slider_'+name+' div.slider-picture').css('background', 'url("/files/gallery/'+_sliderData[name].data[id]+'")');
    $('div#slider_'+name+' div.slider-picture').fadeIn('normal');
    $('div#slider_'+name+' div.slider_navigator span.slider_img-'+id).addClass('selected');
    _sliderData[name].current = id

    return true;
}

sliderAutoChangeImage = function(name) {
    var cur = _sliderData[name].current;
    var max = _sliderData[name].data.length - 1;

    cur ++;
    if (cur > max)
        cur = 0;

    if (sliderShowpicture(name, cur)) {
        _sliderData[name].timer_id = setTimeout(function(){sliderAutoChangeImage(name)},_sliderData[name].timeout, name);
    }

}

function openModel() {
    sirka_okna=930;
    vyska_okna=780;
    zleva=(screen.width-sirka_okna)/2;
    zhora=(screen.height-vyska_okna)/2;
    okno=window.open("/vrml/model.php","okno","scrollbars=yes,status=no,resizable=no,location=no");
    okno.resizeTo(sirka_okna,vyska_okna);
    okno.moveTo(zleva,zhora);
}

