﻿//PAGE GALLERY
var my_data;
var do_open = true;
function page_gallery(my_thumb) {

    get_data(my_thumb);

    if (do_open) {
        $.modal(my_data, { overlayClose: true, onOpen: function (dialog) {
            dialog.overlay.fadeTo('slow', 0.7, function () {
                dialog.container.slideDown('slow', function () {
                    dialog.data.fadeIn('slow');
                    do_open = false;
                });
            });
        },
            onClose: function (dialog) {
                dialog.data.fadeOut('slow', function () {
                    dialog.container.slideUp('slow', function () {
                        dialog.overlay.fadeOut('slow', function () {
                            $.modal.close();
                            do_open = true;
                        });
                    });
                });
            },
            opacity: 40
        });
    }
}

function get_data(my_thumb) {
    var the_img = my_thumb;
    var esplora = document.getElementById("mask_gallery").innerHTML.split('|');
    var i = 0;
    var next = "";
    var back = "";
    do {
        if (esplora[i] != "") {
            if (esplora[i] == the_img) {
                if ((i + 1) < esplora.length) {
                    next = esplora[i + 1];
                }
                if ((i - 1) > 0) {
                    back = esplora[i - 1];
                }
            }
        }
        i = i + 1;
    }
    while (i < esplora.length)

    if (do_open) {
        my_data = "<div id='pippo' style='width:800px; height:600px; background-image:url(/public/gallery/page_img/" + the_img + ".jpg); background-repeat:no-repeat; background-position:center center;' ";
        my_data += "onmouseover='show_gallery_buttons()' ";
        my_data += "onmouseout='hide_gallery_buttons()'>";
        //back
        my_data += "<div id='back' style='float:left; display:none; position:relative; top:200px; left:0px; cursor:pointer;'>";
        if (back != "") {
            my_data += "<img src='/images/buttons/back.png' alt='' onClick='page_gallery(\"" + back + "\")'/>";
        }
        else {
            my_data += "&nbsp;";
        }
        my_data += "</div>";
        //next
        my_data += "<div id='next' style='float:right; display:none; position:relative; top:200px; right:0px; cursor:pointer;'>";
        if (next != "") {
            my_data += "<img src='/images/buttons/next.png' alt='' onClick='page_gallery(\"" + next + "\")'/>";
        }
        else {
            my_data += "&nbsp;";
        }
        my_data += "</div>";

        my_data += "</div>";
    }
    else {
        $('#pippo').fadeOut("slow");
        setTimeout("update_gallery('" + the_img + "', '" + back + "', '" + next + "')", 800);
    }
}

function update_gallery(the_img, back, next) {
    var bg = "url(/public/gallery/page_img/" + the_img + ".jpg)";
    document.getElementById("pippo").style.backgroundImage = bg;
    if (back != "") {
        document.getElementById("back").innerHTML = "<img src='/images/buttons/back.png' alt='' onClick='page_gallery(\"" + back + "\")'/>";
    }
    else {
        document.getElementById("back").innerHTML = "&nbsp;";
    }
    if (next != "") {
        document.getElementById("next").innerHTML = "<img src='/images/buttons/next.png' alt='' onClick='page_gallery(\"" + next + "\")'/>";
    }
    else {
        document.getElementById("next").innerHTML = "&nbsp;";
    }
    $('#pippo').fadeIn("slow");
}

function show_gallery_buttons() {
    $('#back').css('display', 'block');
    $('#next').css('display', 'block');
}
function hide_gallery_buttons() {
    $('#back').css('display', 'none');
    $('#next').css('display', 'none');
}

//CHAT
var xht_chat;
var xht_acc;
var xht_rif;
var cTimer;
// inizio timer di controllo per le richieste di altri utenti
function checkChat() {
    getChat();
}
function getChat() {
    var the_chat_id = "";
    if (document.getElementById("my_top_park_id").innerHTML != "") {
        the_chat_id = document.getElementById("my_top_park_id").innerHTML;
    }
     
    if (window.XMLHttpRequest) {
        xht_chat = new XMLHttpRequest();
    }
    else {
        xht_chat = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xht_chat.readyState == 4 || xht_chat.readyState == 0) {
        xht_chat.open("GET", "/scripts/notify_chat.ashx?type=notify&my_id=" + the_chat_id + "", true);
        xht_chat.onreadystatechange = handleChat;
        xht_chat.send(null);
    }
}
function handleChat() {
    if (xht_chat.readyState == 4) {
        var data = xht_chat.responseText
        if (data != "nothing") {
            document.getElementById("my_top_line").innerHTML = data;
            document.getElementById("my_top_line").style.display = "block";
        }
        else {
            document.getElementById("my_top_line").style.display = "none";
        }
        cTimer = setTimeout('getChat();', 2000);
    }
}
// accetta richiesta
function accetta(id_chat) {
    if (window.XMLHttpRequest) {
        xht_acc = new XMLHttpRequest();
    }
    else {
        xht_acc = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xht_acc.readyState == 4 || xht_acc.readyState == 0) {
        xht_acc.open("GET", "/scripts/notify_chat.ashx?type=accetta&id_chat=" + id_chat + "", true);
        xht_acc.onreadystatechange = handleAccetta;
        xht_acc.send(null);
    }
}
function handleAccetta() {
    if (xht_acc.readyState == 4) {
        var data = xht_acc.responseText;
        document.getElementById("my_top_line").style.display = "none";
        location.href = "/it/chat.aspx";
    }
}
// rifiuta richiesta
function rifiuta(id_chat) {
    if (window.XMLHttpRequest) {
        xht_rif = new XMLHttpRequest();
    }
    else {
        xht_rif = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xht_rif.readyState == 4 || xht_rif.readyState == 0) {
        xht_rif.open("GET", "/scripts/notify_chat.ashx?type=rifiuta&id_chat=" + id_chat + "", true);
        xht_rif.onreadystatechange = handleRifiuta;
        xht_rif.send(null);
    }
}
function handleRifiuta() {
    if (xht_rif.readyState == 4) {
        var data = xht_rif.responseText;
        document.getElementById("my_top_line").style.display = "none";
    }
}

//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)

//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 {
        if (esplora[c].split('#')[2] != "http://") {
            document.getElementById('my_top_sopra').innerHTML = "<a href='" + esplora[c].split('#')[2] + "'>" + esplora[c].split('#')[1].replace(/\^/g, "'") + "</a>";
        }
        else {
            document.getElementById('my_top_sopra').innerHTML = "" + esplora[c].split('#')[1].replace(/\^/g, "'") + "";
        }
        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";
}

// MISCELLANEOUS
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;
    }
}






