// when document loads
// when document loads
$(document).ready(function() {
    if ($('#prj-image-left')) {
        $('#prj-image-left').click(function() {
            //alert('left clicked');
            fnc_instant_switch('down');
        });
    }
    if ($('#prj-image-right')) {
        $('#prj-image-right').click(function() {
            //alert('right clicked');
            fnc_instant_switch('up');
        });
    }
    
    // read cookie and set slider if there is any
    slider_position = readCookie('slider');
    if (slider_position != null) {
        //alert (slider_position);
        ar_slider_position = slider_position.split('//');
        //alert (ar_slider_position[0]);
        ar_slider_position[1] = parseInt(ar_slider_position[1], 10);
        if (ar_slider_position[0] == $(window).width()) {
            $('#slider').offset({left: ar_slider_position[1]});
        } else if ($(window).width() > ar_slider_position[0]) {
            correction = Math.floor((ar_slider_position[0] - $(window).width()) / 2);
            $('#slider').offset({left: ar_slider_position[1] - correction});
            cookie_slider = ($(window).width()) + '//' + (ar_slider_position[1] - correction);
            createCookie('slider', cookie_slider, 1);
        } else {
            correction = Math.floor(($(window).width() - ar_slider_position[0]) / 2);
            $('#slider').offset({left: ar_slider_position[1] + correction});
            cookie_slider = ($(window).width()) + '//' + (ar_slider_position[1] + correction);
            createCookie('slider', cookie_slider, 1);
        }
    }
    
    if ($('#prj-left')) {
        $('#prj-left').click(function() {
            //alert ('left');
            if ($('#slider-busy').val() == '0') {
                var offset = $('#slider').offset();
                var nextpoint = offset.left + 137;
                $('#slider-busy').val('1')
                fnc_project_switch('right', nextpoint);
            }
        });
    }
    if ($('#prj-right')) {
        $('#prj-right').click(function() {
            //alert ('right');
            if ($('#slider-busy').val() == '0') {
                var offset = $('#slider').offset();
                var nextpoint = offset.left - 137;
                $('#slider-busy').val('1')
                fnc_project_switch('left', nextpoint);
            }
        });
    }
    if ($('#myGallery')) {
        fnc_fade_images(0);
    }

});

function fnc_fade_images(number) {
    arr = $('#myGalleryImages').val().split(',');
    if (number >= arr.length) {
        number = 0;
    }
    $('#myGalleryImgTop').attr('src', arr[number]);
    //$('#myGalleryImgTop').show();
    $('#myGalleryImgTopContainer').fadeIn("slow", function() {
        $('#myGalleryImgBottom').attr('src', $('#myGalleryImgTop').attr('src'));
        $('#myGalleryImgTopContainer').hide();
        setTimeout(function(){fnc_fade_images(number + 1)}, 3001);
    });
    
}

function fnc_instant_switch(direction) {
    
    project_id = $('#prj-id').val();
    host = $('#prj-host').val();
    prj_prefix = $('#prj-path').val();
    
    // get current and total steps
    current_step    = parseInt($('#current-step').html(), 10);
    total_steps     = parseInt($('#total-steps').html(), 10);
    // do changes
    if (direction == 'up') {
        current_step++;
        if (current_step > total_steps) {
            current_step = 1;
        }
    } else {
        current_step--;
        if (current_step == 0) {
            current_step = total_steps;
        }
    }
    // get next image through ajax
    $.ajax({
        type: "GET",
        url: host + "img.php",
        data: "project_id=" + project_id + "&step=" + current_step,
        success: function(msg) {
            if (msg.length > 1) {
                $('#project_image').attr("src", "/" + prj_prefix + "gal_fot/" + msg);
                $('#current-step').html(current_step);
            }
        }
    });
}

function fnc_project_switch(direction, nextpoint) {
    var speed = 5;
    var obj = $('#slider');
    var slider_width = $('#slider-width').val();
    var slider_chunk = slider_width / 4;
    var offset = obj.offset();
    var nexpoint_reached = false;
    // left
    if (direction == 'left') {
        if (offset.left < -2 * slider_chunk) {
            obj.offset({left: offset.left + slider_chunk});
            offset = obj.offset();
        }
        obj.offset({left: offset.left - speed});
        if (offset.left - speed <= nextpoint) {
            obj.offset({left: nextpoint});
            nexpoint_reached = true;
        }
    // right
    } else {
        if (offset.left > 0) {
            obj.offset({left: offset.left - slider_chunk});
            offset = obj.offset();
        }
        obj.offset({left: offset.left + speed});
        if (offset.left + speed >= nextpoint) {
            obj.offset({left: nextpoint});
            nexpoint_reached = true;
        }
    }
    // prepare for slider relocation
    offset = obj.offset();
    // when sliding to left
    if (direction == 'left') {
        if (offset.left < -1 * slider_chunk * 2) {
            obj.offset({left: offset.left + slider_chunk});
            nextpoint += slider_chunk;
        }
    // when sliding to right
    } else {
        if (offset.left > -1 * slider_chunk) {
            obj.offset({left: offset.left - slider_chunk});
            nextpoint -= slider_chunk;
        }
    }
    if (nexpoint_reached) {
        cookie_slider = ($(window).width()) + '//' + nextpoint;
        createCookie('slider', cookie_slider, 1);
        $('#slider-busy').val('0');
        return;
    }
    setTimeout(function(){fnc_project_switch(direction, nextpoint)}, 30);
}
