﻿//PAGE GALLERY
function page_gallery(my_thumb) {
    var the_img = my_thumb.split('#')[0];
    var height = my_thumb.split('#')[1].split('*')[1];
    var width = my_thumb.split('#')[1].split('*')[0];

    var esplora = document.getElementById("mask_gallery").innerHTML.split('|');
    var i = 0;
    var next = "";
    var back = "";
    do {
        if (esplora[i] != "") {
            if (esplora[i].split('#')[0] == the_img) {
                try {
                    next = esplora[i + 1].split('#')[1];
                    next = esplora[i + 1];
                }
                catch (err) { }
                try {
                    back = esplora[i - 1].split('#')[1];
                    back = esplora[i - 1];
                }
                catch (err) { }
            }
        }
        i = i + 1;
    }
    while (i < esplora.length)

    var my_data = "<div id='pippo' style='width:" + width + "px; height:" + height + "px; background-image:url(/public/gallery/page_img/" + the_img + ".jpg);' ";
    my_data += "onmouseover='show_gallery_buttons()' ";
    my_data += "onmouseout='hide_gallery_buttons()'>";

    if (back != "") {
        my_data += "<div id='back' style='float:left; display:none; margin:20px 0px 0px 5px; cursor:pointer;'>";
        my_data += "<img src='/images/buttons/back.png' alt='' onclick='page_gallery_refresh(\"" + back + "\")'/>";
        my_data += "</div>";
    }
    else {
        my_data += "<div id='back' style='float:left; display:none;'>&nbsp;</div>";
    }
    if (next != "") {
        my_data += "<div id='next' style='float:right; display:none; margin:20px 5px 0px 0px; cursor:pointer;'>";
        my_data += "<img src='/images/buttons/next.png' alt='' onclick='page_gallery_refresh(\"" + next + "\")'/>";
        my_data += "</div>";
    }
    else {
        my_data += "<div id='next' style='float:right; display:none;'>&nbsp;</div>";
    }
    my_data += "</div>";

    $.modal(my_data, { onOpen: function(dialog) {
        dialog.overlay.fadeIn('fast', function() {
            dialog.container.slideDown('fast', function() {
                dialog.data.fadeIn('slow');
            });
        });
    },
        onClose: function(dialog) {
            dialog.data.fadeOut('fast', function() {
            dialog.container.slideUp('slow', function() {
            dialog.overlay.fadeOut('fast', function() {
                    $.modal.close();
                    });
                });
            });
        },
        opacity:40
});
}
function show_gallery_buttons() {
    $('#back').css('display', 'block');
    $('#next').css('display', 'block');
}
function hide_gallery_buttons() {
    $('#back').css('display', 'none');
    $('#next').css('display', 'none');
}
var park_file;
function page_gallery_refresh(new_img) {
    $.modal.close();
    park_file = new_img;
    setTimeout(Restart_gallery, 1200);
}
function Restart_gallery() {
    page_gallery(park_file);
}

//PRELOAD IMMAGINI
(function($) {
    var cache = [];
    $.preLoadImages = function() {
        var args_len = arguments.length;
        for (var i = args_len; i--; ) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
})(jQuery)

function preload_page_gallery(images) {
    if (document.images) {
        var i = 0;
        var imageArray = new Array();
        imageArray = images.split(',');
        var imageObj = new Image();
        for (i = 0; i <= imageArray.length - 1; i++) {
            //document.write('<img src="' + imageArray[i] + '" />');// Write to page (uncomment to check images)
            imageObj.src = images[i];
        }
    }
}

//SLIDESHOW
var check_txt;
function slideshow(matrix) {

    //||url_foto#txt_foto#link_txt#||url_foto#txt_foto#link_txt#||
    var recupera = matrix;
    var esplora = recupera.split('||');
    var t = document.getElementById('my_top_park').innerHTML;
    var c = parseInt(t);
    setTimeout("fade()", 6300);
    if (c < esplora.length - 1) { c = c + 1; }
    else { c = 1; }
    document.getElementById('my_top_park').innerHTML = c.toString();
    if (esplora[c].split('#')[1] == "...") {
        document.getElementById('my_top_sopra').innerHTML = "";
        document.getElementById('my_top_sopra').style.display = "none";
        check_txt = false;
    }
    else {
        document.getElementById('my_top_sopra').innerHTML = "<a href='" + esplora[c].split('#')[2] + "'>" + esplora[c].split('#')[1].replace(/\^/g, "'") + "</a>";
        document.getElementById('my_top_sopra').style.display = "block";
        check_txt = true;
    }
    document.getElementById('my_top_box').style.backgroundImage = "url('/public/banner/" + esplora[c].split('#')[0] + ".jpg')";

    $('#my_top_box').fadeIn("slow");
    if (check_txt) {
        $('#my_top_sopra').fadeTo("slow", 0.70);
    }

    setTimeout("slideshow('" + recupera + "')", 7000);
}
function fade() {

    $('#my_top_box').fadeOut("slow");
    if (check_txt) {
        $('#my_top_sopra').fadeTo("slow", 0);
    }
}

//FLOATING LOG DIV
$.fn.stickyfloat = function(options, lockBottom) {
    var $obj = this;
    var parentPaddingTop = parseInt($obj.parent().css('padding-top'));
    var startOffset = $obj.parent().offset().top;
    var opts = $.extend({ startOffset: startOffset, offsetY: parentPaddingTop, duration: 200, lockBottom: true }, options);

    $obj.css({ position: 'absolute' });

    if (opts.lockBottom) {
        var bottomPos = $obj.parent().height() - $obj.height() + parentPaddingTop; //get the maximum scrollTop value
        if (bottomPos < 0)
            bottomPos = 0;
    }

    $(window).scroll(function() {
        $obj.stop(); // stop all calculations on scroll event

        var pastStartOffset = $(document).scrollTop() > opts.startOffset; // check if the window was scrolled down more than the start offset declared.
        var objFartherThanTopPos = $obj.offset().top > startOffset; // check if the object is at it's top position (starting point)
        var objBiggerThanWindow = $obj.outerHeight() < $(window).height(); // if the window size is smaller than the Obj size, then do not animate.

        // if window scrolled down more than startOffset OR obj position is greater than
        // the top position possible (+ offsetY) AND window size must be bigger than Obj size
        if ((pastStartOffset || objFartherThanTopPos) && objBiggerThanWindow) {
            var newpos = ($(document).scrollTop() - startOffset + opts.offsetY);
            if (newpos > bottomPos)
                newpos = bottomPos;
            if ($(document).scrollTop() < opts.startOffset) // if window scrolled < starting offset, then reset Obj position (opts.offsetY);
                newpos = parentPaddingTop;

            $obj.animate({ top: newpos }, opts.duration);
        }
    });
};

function start_motion() {
    $('#loggy').stickyfloat({ duration: 400, startOffset: 0, offsetY: 0 });
}
function close_loggy() {
    document.getElementById('loggy').style.display = "none";
}

// MISCELLANOUS
function targetBlank(url) {
    blankWin = window.open(url, '_blank', 'menubar=yes,toolbar=yes,location=yes,directories=yes,fullscreen=no,titlebar=yes,hotkeys=yes,status=yes,scrollbars=yes,resizable=yes');
}

function aumenta() {
    if (document.getElementById('body').style.fontSize != "13pt") {
        var size = document.getElementById('body').style.fontSize.substring(0, 2);
        var dimFont = parseInt(size, 10);
        dimFont = dimFont + 1;
        document.getElementById('body').style.fontSize = dimFont + 'pt';
        var stringa = document.getElementById('body').innerHTML.split("FONT-SIZE: ");
        var i = 0;
        var new_str = "";
        do {
            var old_value = parseInt(stringa[i].substring(0, 2), 10);
            var prima = new RegExp(old_value + "pt");
            var dopo = "FONT-SIZE: " + (old_value + 1) + "pt";
            stringa[i] = stringa[i].replace(prima, dopo);
            new_str += stringa[i];
            i = i + 1
        }
        while ((i < stringa.length))
        document.getElementById('body').innerHTML = new_str;
    }
}

function diminuisci() {
    if (document.getElementById('body').style.fontSize != "7pt") {
        var size = document.getElementById('body').style.fontSize.substring(0, 2);
        var dimFont = parseInt(size, 10);
        dimFont = dimFont - 1;
        document.getElementById('body').style.fontSize = dimFont + 'pt';
        var stringa = document.getElementById('body').innerHTML.split("FONT-SIZE: ");
        var i = 0;
        var new_str = "";
        do {
            var old_value = parseInt(stringa[i].substring(0, 2), 10);
            var prima = new RegExp(old_value + "pt");
            var dopo = "FONT-SIZE: " + (old_value - 1) + "pt";
            stringa[i] = stringa[i].replace(prima, dopo);
            new_str += stringa[i];
            i = i + 1
        }
        while ((i < stringa.length))
        document.getElementById('body').innerHTML = new_str;
    }
}






