$(function() {

    show_hide("#gallery-add","#gallery-add-gallery");
    $('.foto').reflect();
    // vypnutie autocomplete
    $('form').attr('autocomplete', 'off');

    // nazov obrazka
    var image=null;

    // ziskanie cisla obrazku z url
    var phrase = window.location.hash;
    if(phrase==''){
        phrase = 0;
    }
    if(phrase!=0)phrase = parseInt(phrase.replace("#", ""));

    // pridanie galerie
    var galleries = $('.ad-gallery').adGallery({
        start_at_index: phrase, // start na ziskanom cisle z url
        slideshow: {
            enable: false
        },
        callbacks:{
            afterImageVisible:function(){
                var path = this.images[this.current_index].image;
                var imageName = path.split('/');
                image = imageName[4]; // nastavenie premennej image - aktualny obrazok
                window.location.hash = this.current_index;
                showComments(image); // zobrazenie komentarov k obrazku
                setAction(base+'/comment/add/id/'+image);
                $(".meno,.text").val(''); // po zmene obrazka nastane nulovanie text. poli
            }
        }
    });

    // nastavenie akcie pre form
    function setAction(action){
        $(".addComment form").attr("action",action);
    }

    // pridavanie noveho komentara
    $(".addComment form").submit(function(){
        $.ajax({
            type: "POST",
            url: $(this).attr('action'),
            data: $(this).serialize()+'&format=json',
            success: function(response){
                //alert(response);
                var path = $(".addComment form").attr('action');
                var imageName = path.split('/');
                $(".meno,.text").val('');
                var data = JSON.parse(response);
                if(data.comments.success!=false)
                    showLastComment(data);
            },
            error:function(XMLHttpRequest, textStatus, errorThrown){
                alert(XMLHttpRequest.statusText);
            }
        });
        return false;
    });

    // zobrazenie aktualne pridaneho komentara
    function showLastComment(data){
        string = '<div class="comment" style="display: none"><strong>'+data.comments[0].meno+'</strong> '+data.comments[0].text+'<br/>';
        string+= data.comments[0].datum;
        if(temp==true)
            string+=' <a href="'+base+'/comment/delete/id/'+data.comments[0].id+'" id="delete">vymaza\u0165</a>';
        string+='</div>';
        $("#comments").append(string);
        $(".comment:last").slideDown();
    }

    // zobrazenie komentarov
    function showComments(id){
        var string = null;
        $('#comments').empty();
        $('#comments').fadeOut('fast');
        $.ajax({
            type: "POST",
            url: base+"/comment/show/id/"+id,
            data: "format=json",
            success: function(data){
                data = JSON.parse(data);
                for(var i in data.comment){
                    string = '<div class="comment"><strong>'+data.comment[i].meno+'</strong> '+data.comment[i].text+'<br/>';
                    string+= data.comment[i].datum;
                    if(temp==true)
                        string+=' <a href="'+base+'/comment/delete/id/'+data.comment[i].id+'" id="delete">vymaza\u0165</a>';
                    string+='</div>';
                    $("#comments").append(string);
                }
            }
        });
        $('#comments').fadeIn(500);
    }

    // mazanie komentarov
    $('#delete').live('click',function(){
        //alert($(this).attr('href'));
        $.ajax({
            type: 'post',
            data: 'format=json',
            url: $(this).attr('href'),
            error:function(XMLHttpRequest, textStatus, errorThrown){
                alert(XMLHttpRequest.statusText);
            }
        });
        $(this).parent().slideUp();
        $(this).parent().remove();
        
        return false;
    });

    // zmena poradia obrazkov v galerii
    $("#sortable-gallery").sortable(
    {
        opacity:0.6,
        cursor: 'move',
        update:function(){
            var order = $(this).sortable("serialize");
            $.post(base+'/galeria/order/id/fotky',order);
        }
    }
    );

    // zmena poradia galerii
    $("#sortable-galleryIndex").sortable(
    {
        opacity:0.6,
        cursor: 'move',
        update:function(){
            var order = $(this).sortable("serialize");
            $.post(base+'/galeria/order/id/galeria',order);
        }
    }
    );    

    

    // crob box
    jQuery('#cropbox').Jcrop({
        onChange: showPreview,
        onSelect: showPreview,
        boxWidth: 650,
        aspectRatio: 3/2
    });
    function showPreview(coords)
    {
        if (parseInt(coords.w) > 0)
        {
            var rx = 120 / coords.w;
            var ry = 80 / coords.h;

            jQuery('#x').val(coords.x);
            jQuery('#y').val(coords.y);
            jQuery('#w').val(coords.w);
            jQuery('#h').val(coords.h);

            var w = $('#cropbox').width();
            var h = $('#cropbox').height();

            jQuery('#preview').css({
                width: Math.round(rx * w) + 'px',
                height: Math.round(ry * h) + 'px',
                marginLeft: '-' + Math.round(rx * coords.x) + 'px',
                marginTop: '-' + Math.round(ry * coords.y) + 'px'
            });
        }
    }

    
});





function show_hide(clik_event,element_to_display){
    $(clik_event).click(function(){
        if($(element_to_display).is(":hidden")){
            $(element_to_display).fadeIn("slow");
            return false;
        }
        else{
            $(element_to_display).hide("fast");
            return false;
        }
    });
};

function potvrd(text){
    return confirm(text);
}

function formCheck(formobj,fieldRequired,fieldDescription){
    // Enter name of mandatory fields
    //var fieldRequired = Array("nick", "mail","text");
    // Enter field description to appear in the dialog box
    //var fieldDescription = Array("Meno", "mail", "text spravy");
    // dialog message
    var alertMsg = "Prosím, vyplňte nasledujúce polia:\n";

    var l_Msg = alertMsg.length;

    for (var i = 0; i < fieldRequired.length; i++){
        var obj = formobj.elements[fieldRequired[i]];
        if (obj){
            switch(obj.type){
                case "select-one":
                    if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
                        alertMsg += " - " + fieldDescription[i] + "\n";
                    }
                    break;
                case "select-multiple":
                    if (obj.selectedIndex == -1){
                        alertMsg += " - " + fieldDescription[i] + "\n";
                    }
                    break;
                case "text":
                case "textarea":
                    if (obj.value == "" || obj.value == null){
                        alertMsg += " - " + fieldDescription[i] + "\n";
                    }
                    break;
                default:
            }
            if (obj.type == undefined){
                var blnchecked = false;
                for (var j = 0; j < obj.length; j++){
                    if (obj[j].checked){
                        blnchecked = true;
                    }
                }
                if (!blnchecked){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
            }
        }
    }

    if (alertMsg.length == l_Msg){
        return true;
    }else{
        alert(alertMsg);
        return false;
    }
}


