<!--
var agent = navigator.userAgent.toLowerCase();
var win = !! /(windows)/.test(agent);
var mac = !! (/(macintosh)/.test(agent) || /(mac os x)/.test(agent));
var language = (navigator.language || navigator.browserLanguage).split("-", 1)[0];
var total = 0;
var thumb = 72;
var close = 12;
var card = 0;
var fadeIn = 70;
var chatrow;
var chat = false;
var preload = false;
var filter = false;
var thisfilter = false;
var thisreload = false;
var autoscroll = true;
var rnd = new Array();
var tooltipTimeout;
var isCtrl = false;
var blockUsers = new Array();
var resizable = false;
var bordercolor = 'black';
var textcolor = '#ffffff';
var bold = false;
var italic = false;
var minrow = 0;
var maskTop = 0;
var maskLeft = 0;
var hoverIntervalId;
var boxIntervalId;
var connected = true;
var female = false;
var male = false;				
var terms = false;
var signup = false;
var action = false;
var titlemail = false;
var titlepass= false;
var titlename= false;
var pic;
var crop;
var xid;

var snapshotClass =
    {
    w : 640,
    h : 480,
    serviceURL : '/snapshot',
    thumb : 60,
    medium : 72,
    quality : 100,
    audio : true,

    switchButtons: function (ready2save){
        if(ready2save){
            $('#cropimage_capture_btn').hide();
            $('#cropimage_capturedelay_btn').hide();
            $('#cropimage_save_btn').show();
            $('#cropimage_retry_btn').show();
        }else{
            $('#cropimage_capture_btn').show();
            $('#cropimage_capturedelay_btn').show();
            $('#cropimage_save_btn').hide();
            $('#cropimage_retry_btn').hide();
        }
    },
    // JS <- AS3
    ready: function (){
        this.switchButtons(true);
    },
    pict_saved: function (data){
        alert("cropimage_pict_saved: "+data);
    },
    // JS -> AS3
    capture: function (){
        snapshotFlash.capture();
    },
    capture_delay: function (){
        $('#cropimage_capture_btn').hide();
        $('#cropimage_capturedelay_btn').hide();
        snapshotFlash.capture_delay();
    },
    save: function (){
        snapshotFlash.save();
    },
    retry: function (){
        snapshotFlash.retry();
        this.switchButtons();
    }
}

var chatClass =
    {
    // JS -> AS //////////////////////////////////
    chkKey: function (e){
        if(e.keyCode == 13){
            var tx = $('#chat_input').val();
            var rtm = JSON.encode({'type':'msg', 'to':[], 'data':{'val':''+tx+''}});
            chatFlash.sendRTM(rtm);
            $('#chat_input').attr("value",'');
        }
    },
    // AS -> JS ////////////////////////////////////
    receiveRTM: function (type_from_to_data){
        alert(type_from_to_data);
        fluid.receiveRTM(type_from_to_data);
    },
    fmsSync: function (so_data_json){
        alert(so_data_json);
        fluid.fmsSync(so_data_json);
    }
}



var fluid = {
    card: function () {
        card++;
        $("#view-profile").html(card + " / " + total);
        if (card >= (total - 10)) {
            fluid.pointer();
            fluid.closePreload()
        }
    },
    pointer: function () {
        $("#pointer").html('<a class="reload" id="reload" href="javascript:void(0);"></a>');
        $("#reload").hover(function () {
            fluid.resetMask()
        });
        fluid.reload()
    },
    tooltip: function () {
        var xOffset = -10;
        var yOffset = 15;
        $(".tooltip").hover(function (e) {
            this.titletooltip = this.title;
            if(!this.titletooltip) return;
            this.title = "";
            $("body").append("<div id='tooltip' style='min-width: 120px'>" + this.titletooltip + "</div>");
            var elemPos = $(this).offset();
            if ((elemPos.left + $(this).width() + $("#tooltip").outerWidth() + yOffset) > ($(window).width() + $(window).scrollLeft())) {
                $("#tooltip").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX - $("#tooltip").outerWidth()) - yOffset + "px").fadeIn(fadeIn)
            } else {
                $("#tooltip").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px").fadeIn(fadeIn)
            }
            tooltipTimeout = setTimeout('$("#tooltip").remove()', 2500)
        }, function () {
            clearTimeout(tooltipTimeout);
            this.title = this.titletooltip;
            $("#tooltip").remove();
            fluid.chatfocus()
        });
        $(".tooltip").mousemove(function (e) {
            var elemPos = $(this).offset();
            if ((elemPos.left + $(this).width() + $("#tooltip").outerWidth() + yOffset) > ($(window).width() + $(window).scrollLeft())) {
                $("#tooltip").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX - $("#tooltip").outerWidth()) - yOffset + "px").fadeIn(fadeIn)
            } else {
                $("#tooltip").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px").fadeIn(fadeIn)
            }
        })
    },
    chat: function () {
        fluid.bordercolor();
        fluid.textcolor();
        fluid.bold();
        fluid.italic();
        fluid.minus();
        fluid.plus();
        fluid.roomClass();
        fluid.userClass();
        $("#input").css({
            color: textcolor,
            borderColor: bordercolor
        });
        $("#chat").click(function () {
            var elemPos = $("#content").offset();
            var chatHeight = $("#content").height();
            $("#chatroom").css({
                left: 0,
                top: elemPos.top,
                width: (chatrow * thumb),
                height: chatHeight
            });
            if ($("#chatroom").css('display') == "none") {
                $("#chatroom").css({
                    width: ((chatrow * thumb) - (minrow * thumb)),
                    minWidth: 360,
                    height: $("#content").height()
                });
                $("#chatroom").show();
                fluid.input();
                fluid.chatfocus();
                fluid.sendimg()
            } else {
                if ($("#user_menu").css('display') != "none") {
                    $('#user_class').click()
                }
                if ($("#room_menu").css('display') != "none") {
                    $('#room_class').click()
                }
                $('.picker').each(function (index) {
                    if ($(this).css('display') != "none") {
                        $("#" + $(this).attr("title")).click()
                    }
                });
                $("#chatroom").hide()
            }
            if (preload) fluid.preload()
        })
    },
    overlayImg: function () {
        $("#details-img").css({
            width: $("#details-src").width(),
            height: $("#details-src").height()
        });
        $("#display-Details").css({
            width: ($("#details-src").width() + $("#details").width()),
            height: $("#details-src").height()
        });
        $("#details").css({
            height: $("#details-src").height() - 18
        })
    },
    mask: function () {
        $("#mask").click(function () {
            var rel = $("#mask").attr('rel');
            var border = ($("#mask").outerHeight() - $("#mask").height()) / 2;
            if ($("#simpleinfo").css('display') == "block" && pic.width > 0 && pic.height > 0) {
                $("#simpleinfo").hide();
                $("#mask").css({
                    top: maskTop - border,
                    left: maskLeft - border,
                    width: thumb,
                    cursor: 'pointer'
                });
                $('#display-Details').css({
                    'margin-left': '-5000px'
                });
                $('#display-Details').show();
                $("#details-img").css({
                    width: pic.width
                });
                $("#display-Details").css({
                    width: pic.width + $("#details").width()
                });
                $("#details").css({
                    height: pic.height - 18
                });
                if ((pic.width + $("#details").width()) > $(window).width()) {
                    var picwidth = $(window).width() - 240 - ($("#display-Details").outerWidth() - $("#display-Details").width());
                    $("#details-src").attr({
                        width: picwidth
                    });
                    var picheight = $("#details-src").height()
                } else {
                    var picheight = pic.height;
                    var picwidth = pic.width
                }
                $("#details-src").css({
                    cursor: 'url("/global/img/zoomout.cur"), pointer'
                });
                if ($.browser.mozilla) {
                    $("#details-src").css({
                        cursor: '-moz-zoom-out'
                    });
                }
                $("#details-src").attr({
                    width: picwidth
                });
                fluid.overlayImg();
                $('#display-Details').hide();
                fluid.OverlayBox();
                $("#display-Details").fadeIn(300);
                fluid.display("display-Details", "center");
                setTimeout('fluid.overlayImg(),fluid.display("display-Details","center")', 300);
                xid = false;
                points[1] = points[1] + 1;
                fluid.countpoints();
            } else {
                var sId = rel.split(',');
                var id = sId[1];
                if (id == xid) return;
                xid = id;
                $("#simpleinfo").css({
                    top: maskTop,
                    left: maskLeft + thumb
                });
                pic = false;
                $("#details-src").attr('src', '');
                $.post("/card", {
                    id: id
                },
                function(data, status){
                    if(status=='success'){
                        pic = new Image();
                        pic.src = data.upic;
                        $("#details-src").attr({
                            src: pic.src
                        });
                        $('#card-img').attr('src', '/global/img/' + data.usex + '.png');
                        $("#card-name").html(data.uname);
                        $("#card-age").html(data.uage);
                        $("#card-city").html(data.ucountry + ", " + data.ucity);
                        $("#card-site").html(data.usite);
                        $('#card-link').attr('href', data.ulink);
                        $("[id^=\'cardid\']").attr({
                            'lang': '' + data.uname + ',' + id + ''
                        }).css({
                            cursor: 'pointer'
                        });
                        $("#mask").css({
                            width: $("#simpleinfo").outerWidth(true) + thumb,
                            cursor: 'url("/global/img/zoomin.cur"), pointer'
                        });
                        if ($.browser.mozilla) {
                            $("#mask").css({
                                cursor: '-moz-zoom-in'
                            });
                        }
                        var maskPos = $("#mask").offset();
                        if ((maskPos.left + $("#mask").outerWidth()) > ($(window).width() + $(window).scrollLeft())) {
                            $("#mask").css({
                                width: thumb
                            });
                            $("#simpleinfo").css({
                                left: maskLeft - $("#simpleinfo").width()
                            });
                            $("#mask").css({
                                left: maskLeft - border - $("#simpleinfo").width(),
                                width: $("#simpleinfo").outerWidth(true) + $("#mask").width()
                            });
                            $("#simpleinfo").show()
                        } else $("#simpleinfo").show();
                        $("#details-name").css({
                            background: 'url(/global/img/' + data.usex + '.png) no-repeat 0 center'
                        });
                        if(data.descrizione)
                            $("#details-other").html(data.descrizione);
                        else
                            $("#details-other").html('');
                        $("#details-name").html(data.uname);
                        $("#details-country").html(data.ucountry);
                        $("#details-city").html(data.ucity);
                        $("#details-age").html(data.uage);
                        $("#details-site").html(data.usite);
                        $('#details-vote').attr('lang', '' + data.uname + ',' + id + '');
                        $("#details-vote").html(data.uvote);
                        $('#details-link').attr('href', data.ulink);
                        $("[id^=\'detailsid\']").attr({
                            'lang': '' + data.uname + ',' + id + ''
                        }).css({
                            cursor: 'pointer',
                            color: '#808080'
                        });
                    }
                }); // , "json"
            }
        })
    },
    display: function (el, pos) {
        $('#' + el).css({
            'margin-left': '-' + $('#' + el).outerWidth() / 2 + 'px'
        });
        if (pos == 'center') {
            $('#' + el).css({
                'margin-top': '-' + $('#' + el).outerHeight() / 2 + 'px'
            })
        }
        $("[id^=\'alert-\']").each(function () {
            if ($(this).css('display') != "none") {
                var elemPos = $('#' + el).offset();
                $('#display-close').css({
                    top: elemPos.top - close,
                    left: ($(window).width() / 2) + ($('#' + el).outerWidth() / 2) - close
                });
                if ($("#display-close").css('display') == "none") $('#display-close').fadeIn(300)
            }
        })
    },
    filter: function () {
        if (filter) {
            filter = false;
            fluid.resetMask();
            fluid.contentResize()
        } else {
            filter = true;
            fluid.resetMask();
            fluid.contentResize()
        }
    },
    resetMask: function () {
        $("#vote").hide();
        $("#mask").hide();
        $("#simpleinfo").hide();
        $("#mask").css({
            width: thumb,
            cursor: 'pointer'
        })
    },
    preload: function () {
        if ($("#chatroom").css('display') == "none") {
            var W = 0
        } else {
            var W = $("#chatroom").outerWidth()
        }
        $("#preload").css({
            width: $(window).width() - W,
            height: $(window).height() - 40,
            left: W,
            top: 20,
            opacity: 0
        });
        if ($("#preload").css('display') == "none") {
            $("#preload").show();
            preload = true
        }
    },
    closePreload: function () {
        $("#preload").hide();
        preload = false
    },
    Modal: function () {
        if ($("#modalBox").css('display') == "none") {
            $("#modalBox").fadeIn(200)
        }
    },
    closeModal: function () {
        $("#modalBox").hide();
        $("[id^=\'alert-\']").each(function () {
            if ($(this).css('display') != "none") {
                $(this).hide();
                $('#display-close').hide()
            }
        })
    },
    OverlayBox: function () {
        $("#overlayBox").css({
            cursor: 'pointer'
        });
        if ($("#overlayBox").css('display') == "none") {
            $("#overlayBox").fadeIn(200)
        }
    },
    closeOverlayBox: function () {
        $("#overlayBox").hide();
        $("[id^=\'display-\']").each(function () {
            if ($(this).css('display') != "none") {
                $(this).hide();
                $('#display-close').hide()
            }
        });
        $("[id^=\'alert-\']").each(function () {
            if ($(this).css('display') != "none") {
                $(this).hide();
                $('#display-close').hide()
            }
        });
        $("#details-src").attr({
            src: ''
        })
    },
    contentResize: function () {
        var index = 0;
        var html = '';
        var rows = Math.ceil($(window).width() / thumb);
        var cols = Math.ceil(($(window).height() - $("#menubar").height() - $("#footer").height()) / thumb);
        var ccols = parseInt(cols / 2);
        var crows = parseInt(rows / 2);
        for (c = 0; c < cols; c++) {
            html += '<div class="col">';
            for (r = 0; r < rows; r++) {
                randcolor = Math.floor(Math.random() * (color.length - 2)) + 1;
                if ((c == ccols) && (r == crows)) {
                    var reload = index;
                    var classes = "reloadpointer";
                    chatrow = crows;
                    html += '<div class="' + classes + '" style="position: relative;" id="ib-' + index + '"><div id="pointer"></div></div>'
                } else {
                    var classes = "row";
                    var colors = color[randcolor];
                    html += '<div class="' + classes + '" style="position: relative; background-color: #' + colors + ';" id="ib-' + index + '"></div>'
                }
                index++
            }
            html += "</div>"
        }
        $('#content').empty();
        $('#content').append(html);
        $('#content').css({
            'top': $("#menubar").height(),
            'left': 0,
            'width': rows * thumb
        });
        if ($("#chatroom").css('display') != "none" && resizable) {
            $("#chat").click();
            chat = true
        }
        if (resizable) return;
        if (chat) {
            chat = false;
            $("#chat").click()
        }
        fluid.preload();
        if (!thisreload) {
            rnd = new Array();
            for (i = 0; i != rows * cols; i++) {
                rnd.push(i)
            }
            fluid.fisherYates(rnd)
        }
        var html = '';
        var x = 0;
        card = 0;
        for (i = 0; i != rows * cols; i++) {
            if (filter == true && thisfilter) {
                if (usersex[i] == thisfilter) {
                    html = ''
                } else {
                    html = '<div id="filter-' + x + '"></div>';
                    x++;
                }
            }
            
            
            var str = '<a href="javascript:void(0)" style="position: absolute; height: 72px; width: 72px;" id="infouser' + rnd[i] + '" rel="' + uservote[i] + ',' + userpic[i] + ',' + usersex[i] + ',' + i + '">';
            str += '<img src="http://img.boxpix.com/public/m/' + $.md5(userpic[i]) + '" border="0" alt="" onload="this.style.display=\'block\'; fluid.card();" height="' + thumb + '" width="' + thumb + '" />';
            str += '</a>';
            
            /*
            var str = '<a href="javascript:void(0)" style="position: absolute; height: 72px; width: 72px;" id="infouser' + rnd[i] + '" rel="' + uservote[i] + ',' + userpic[i] + ',' + usersex[i] + ',' + i + '">';
            str += '<img src="/public/' + userpic[i] + '" border="0" alt="" onload="this.style.display=\'block\'; fluid.card();" height="' + thumb + '" width="' + thumb + '" />';
            str += '</a>';
            */
            if (reload != rnd[i]) {
                $('#ib-' + rnd[i]).html(str + html)
            }
        }
        if (!thisreload) {
            positionlogo = fluid.randomLogo(cols, rows, ccols + 1);
            $("#logo").css({
                top: (positionlogo[0] + $("#menubar").height()),
                left: positionlogo[1]
            });
            $("#logo").show()
        }
        if (filter == true && thisfilter) {
            $("#mask").css({
                '-moz-box-shadow': '0px 0px 50px #fff',
                '-webkit-box-shadow': '0px 0px 50px #fff'
            })
        } else {
            $("#mask").css({
                '-moz-box-shadow': '0px 0px 50px #000',
                '-webkit-box-shadow': '0px 0px 50px #000'
            })
        }
        $("[id^=\'infouser\']").hover(function () {
            var elemPos = $(this).offset();
            var rel = this.rel;
            $("#mask").attr({
                rel: rel
            });
            $("#go-vote").attr({
                lang: rel
            });
            var sRel = rel.split(',');
            $("#simpleinfo").hide();
            $("#vote").hide();
            $("#mask").hide();
            maskTop = elemPos.top;
            maskLeft = elemPos.left;
            var border = ($("#mask").outerHeight() - $("#mask").height()) / 2;
            $("#mask").css({
                width: thumb,
                cursor: 'pointer',
                top: maskTop - border,
                left: maskLeft - border
            });
            $("#totalvote").html(sRel[0]);
            $("#vote").css({
                top: (maskTop + thumb) - $("#vote").outerHeight(true),
                left: maskLeft
            });
            $("#mask, #vote").show();
            xid = false
        }, function () {
            $("#simpleinfo").hide();
            $("#mask").css({
                width: thumb,
                cursor: 'pointer'
            });
            $("#mask").show();
            $("#menubar").show()
        });
        if (filter == true && thisfilter) {
            $("[id^=\'filter-\']").css({
                position: 'absolute',
                background: '#000000',
                top: 0,
                left: 0,
                height: thumb,
                width: thumb,
                opacity: 0.75
            })
        }
        $("[id^=\'filter-\'], #chatroom, #logo, #menubar, #footer, .reload, #pointer, #points").hover(function () {
            fluid.resetMask()
        });
        thisreload = true
    },
    fisherYates: function (myarray) {
        var i = myarray.length;
        if (i == 0) return false;
        while (--i) {
            var j = Math.floor(Math.random() * (i + 1));
            var tempi = myarray[i];
            var tempj = myarray[j];
            myarray[i] = tempj;
            myarray[j] = tempi
        }
    },
    input: function () {
        if ($('#content-chat').width() > 0) $('#input').css({
            'max-width': $('#content-chat').width() - 42,
            'width': $('#content-chat').width() - 42
        })
    },
    randomLogo: function (c, r, cc) {
        if (Math.floor(Math.random() * 2) == 0) {
            pd = 0;
            pl = 0
        } else {
            pd = 1;
            pl = cc
        }
        var upx = r - 3;
        var upy = c - (cc + pd);
        var j = Math.floor(Math.random() * upx);
        var k = Math.floor(Math.random() * upy) + pl;
        return Array(k * thumb, j * thumb)
    },
    chatfocus: function () {
        $('#input').focus()
    },
    overlay: function () {
        fluid.chatfocus()
    },
    login: function () {
        fluid.chatfocus();
        $('#login').toggle(function () {
            action = 'login';
            $("#fbconnect").remove();
            $("#fbbutton-login").html('<iframe name="fbconnect" id="fbconnect" src="/fbconnect/'+referer+'/login" frameborder="0" marginwidth="0" marginheight="0" scrolling="No" height="22" width="205"></iframe>');
        }, function () {
            if ($('#login-user').css('display') != "none") {
                $('#login-user').hide();
                action=false;
            }
        })
    },
    signup: function () {
        if(!titlemail){
            titlemail = $('#uemail').attr('title');
            $("#uemail").click(function() {
                $('#uemail').css({
                    border: '1px solid #00ff00'
                });
            }).blur(function() {
                $('#uemail').attr({
                    title: ''+titlemail+''
                });
            });
        }
        if(!titlename){
            titlename = $('#uname').attr('title');
            $("#uname").click(function() {
                $('#uname').css({
                    border: '1px solid #00ff00'
                });
            }).blur(function() {
                $('#uname').attr({
                    title: ''+titlename+''
                });
            });
        }
        if(!titlepass){
            titlepass = $('#upassword').attr('title');
            $("#upassword").click(function() {
                $('#upassword').css({
                    border: '1px solid #00ff00'
                });
            }).blur(function() {
                $('#upassword').attr({
                    title: ''+titlepass+''
                });
            });
        }
        $("#terms").toggle(function() {
            $(this).css({
                background: 'url(/global/img/checkbox_on_dark) no-repeat 0 center'
            });
            $('#terms-text').css({
                color: '#000000'
            });
            terms = true;
        },function() {
            $(this).css({
                background: 'url(/global/img/checkbox_off_dark) no-repeat 0 center'
            });
            terms = false;
        });
        $("#female").click(function() {
            $(this).css({
                background: 'url(/global/img/radio_on_dark.png) no-repeat 0 center'
            });
            $("#male").css({
                background: 'url(/global/img/radio_off_dark.png) no-repeat 0 center'
            });
            $('#female-text').css({
                color: '#000000'
            });
            $('#male-text').css({
                color: '#000000'
            });
            female = true;
            male = false;
        });
        $("#male").click(function() {
            $(this).css({
                background: 'url(/global/img/radio_on_dark.png) no-repeat 0 center'
            });
            $("#female").css({
                background: 'url(/global/img/radio_off_dark.png) no-repeat 0 center'
            });
            $('#female-text').css({
                color: '#000000'
            });
            $('#male-text').css({
                color: '#000000'
            });
            female = false;
            male = true;
        });
        $('#signup-start-close, #signup-end-close').click(function () {
            if ($('#signup-plus').css('display') != "none") {
                $('#signup-email').click()
            }
            $('#content-signup').hide();
            $('#content-signup-end').hide();
            fluid.closeModal();
        });
        $('#signup').click(function () {
            if ($('#login-user').css('display') != "none") {
                $('#login').click();
            }
            fluid.Modal();
            if(!signup){
                action = 'signup';
                $("#fbconnect").remove();
                $("#fbbutton-signup").html('<iframe name="fbconnect" id="fbconnect" src="/fbconnect/'+referer+'/signup" frameborder="0" marginwidth="0" marginheight="0" scrolling="No" height="22" width="205"></iframe>');
            }else{
                $('#content-signup-end').fadeIn(200);
            }
        });
        $('#signup-email').toggle(function () {
            $('#signup-plus').slideDown();
        }, function () {
            fluid.chatfocus();
            $('#signup-plus').slideUp();
        })
        $('#sign-up').click(function () {
            $('#uemail').val(trim($('#uemail').val()));
            var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
            if (!email_reg_exp.test($('#uemail').val()) || ($('#uemail').val() == "") || ($('#uemail').val() == "undefined")) {
                $('#uemail').css({
                    border: '1px solid #ff0000'
                });
                $('#uemail').attr({
                    title: 'La E-mail non &#233; valida'
                });
                $('#uemail').focus();
                return false;
            }
            $('#uname').val(trim($('#uname').val()));
            if (($('#unick').val() == "") || ($('#uname').val() == "undefined") || ($('#uname').val().length < 4)) {
                $('#uname').css({
                    border: '1px solid #ff0000'
                });
                $('#uname').attr({
                    title: 'Il nome devi essere maggiore di 3 caratteri'
                });
                $('#uname').focus();
                return false;
            }
            $('#upassword').val(trim($('#upassword').val()));
            if (($('#upassword').val() == "") || ($('#upassword').val() == "undefined") || ($('#upassword').val().length < 4) || ($('#upassword').val().length > 16)){
                $('#upassword').css({
                    border: '1px solid #ff0000'
                });
                $('#upassword').attr({
                    title: 'La password devi essere maggiore di 3 caratteri e minore di 17'
                });
                $('#upassword').focus();
                return false;
            }
            if((!female) && (!male)){
                $('#female-text').css({
                    color: '#ff0000'
                });
                $('#male-text').css({
                    color: '#ff0000'
                });
                return false;
            }
            if(!terms){
                $('#terms-text').css({
                    color: '#ff0000'
                });
                return false;
            }
            if(male){
                var sex = 'male';
            }else{
                var sex = 'female';
            };
            $('#sign-up').attr({
                disabled: true
            });
            $.post("/signup", {
                uemail: $('#uemail').val(),
                upassword: $('#upassword').val(),
                uname: $('#uname').val(),
                usex: sex,
                usite: site,
                utrack: trackid,
                uid: uid,
                uterms: terms
            },
            function(data){
                if(data.error == true && data.uemail == true){
                    $('#uemail').css({
                        border: '1px solid #ff0000'
                    });
                    $('#uemail').attr({
                        title: data.text
                    });
                    $('#uemail').focus();
                    $('#sign-up').attr({
                        disabled: false
                    });
                    return;
                }
                if(data.error == true && data.uemail == false){
                    $('#uemail').css({
                        border: '1px solid #ff0000'
                    });
                    $('#uemail').attr({
                        title: data.text
                    });
                    $('#uemail').focus();
                    $('#sign-up').attr({
                        disabled: false
                    });
                    return;
                }
                if ($('#signup-plus').css('display') != "none") {
                    $('#signup-email').click();
                }
                signup = true;
                $('#recover-email').show();
                $('#recover-true').hide();
                $('#newuser').html($('#uname').val());
                $('#newemail').html($('#uemail').val());
                $('#newemailplus').html($('#uemail').val());
                $('#urlemail').attr({
                    href: data.href
                });
                var elemPos = $("#content-signup").offset();
                $('#content-signup-end').css({
                    top: elemPos.top
                });
                $('#content-signup').fadeOut(200);
                $('#content-signup-end').fadeIn(200);
                $('#sign-up').attr({
                    disabled: true
                });
                $('#recover-email').click(function(){
                    fluid.replyemail($('#uemail').val(), $('#uname').val());
                });
                $('#modified-email').click(function(){
                    $('#newmail').val(trim($('#newmail').val()));
                    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
                    if (!email_reg_exp.test($('#newmail').val()) || ($('#newmail').val() == "") || ($('#newmail').val() == "undefined")) {
                        $('#newmail').css({
                            border: '1px solid #ff0000'
                        });
                        $('#newmail').attr({
                            title: 'La E-mail non &#233; valida'
                        });
                        $('#newmail').focus();
                        return false;
                    }
                    fluid.changemail($('#uemail').val(), $('#uname').val(), $('#newmail').val());
                });
            });// , "json"
        })
    },
    changemail: function(uemail, uname, newmail){
        $('#newmail').css({
            border: '1px solid #00ff00'
        });
        $.post("/changemail", {
            uemail: uemail,
            uname: uname,
            newmail: newmail
        },
        function(data){
            if(data.error == true && data.newmail == true){
                $('#newmail').css({
                    border: '1px solid #ff0000'
                });
                $('#newmail').attr({
                    title: data.text
                });
                $('#newmail').focus();
                return;
            }
            if(data.error == true && data.newmail == false){
                $('#newmail').css({
                    border: '1px solid #ff0000'
                });
                $('#newmail').attr({
                    title: data.text
                });
                $('#newmail').focus();
                return;
            }
            signup = true;
            $('#newmail').val('');
            $('#newmail').attr({
                title: ''
            });
            $('#recover-email').show();
            $('#recover-true').hide();
            $('#newuser').html(data.uname);
            $('#newemail').html(data.newmail);
            $('#uemail').val(data.newmail)
            $('#newemailplus').html(data.newmail);
            $('#urlemail').attr({
                href: data.href
            });
        });
    },
    replyemail: function(uemail, uname){
        $.post("/replyemail", {
            uemail: uemail,
            uname: uname
        },
        function(data){
            if(data.mailsend){
                $('#recover-email').hide();
                $('#recover-true').fadeIn(500);
            }
        });
    },
    formatnumber: function(num){
        num = num.toString().replace(/\$|\,/g,'');
        if(isNaN(num)) num = "0";
        num = Math.floor(num*100+0.50000000001);
        num = Math.floor(num/100).toString();
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
            num = num.substring(0,num.length-(4*i+3)) + "'" + num.substring(num.length-(4*i+3));
        return  num;
    },
    countpoints: function(){
        var total = 0;
        for (i = 0; i < 7; i++) {
            var el = 'points'+i;
            var x = points[i];
            $("#"+el).html(fluid.formatnumber(x) + " " + point_sym);
            total = total + points[i];
        }
        $("#point").html(fluid.formatnumber(total) + " " + point_sym);
        var cookie = {
            points: points
        };
        var cookiencoded = $.toJSON(cookie);
        set_cookie('points', cookiencoded, 7, '/', "."+site);
    },
    points: function () {
        $("#points").click(function () {
            $('#point').click()
        });
        $('#point').toggle(function () {
            $("#points").show()
        }, function () {
            $('#points').hide()
        })
    },
    roomClass: function () {
        $('#room_class').toggle(function () {
            $('#room_menu').css({
                'max-height': $('#main-chat').height(),
                height: $('#main-chat').height(),
                top: 45,
                left: 10
            });
            $('#room_menu').show();
            $("#roomMenuImage").html('<img border="0" alt="" src="/global/img/arrow_up.png" />')
        }, function () {
            fluid.chatfocus();
            $('#room_menu').hide();
            $("#roomMenuImage").html('<img border="0" alt="" src="/global/img/arrow_down.png" />')
        })
    },
    userClass: function () {
        $('#user_class').toggle(function () {
            $('#user_menu').css({
                'max-height': $('#main-chat').height(),
                height: $('#main-chat').height(),
                top: 45,
                left: $('#menu-chat').width() - $('#user_menu').width()
            });
            $('#user_menu').show();
            $("#userMenuImage").html('<img border="0" alt="" src="/global/img/arrow_up.png" />')
        }, function () {
            fluid.chatfocus();
            $('#user_menu').hide();
            $("#userMenuImage").html('<img border="0" alt="" src="/global/img/arrow_down.png" />')
        })
    },
    reload: function () {
        clearInterval(hoverIntervalId);
        clearInterval(boxIntervalId);
        $("#reload").click(function () {
            $.post("/reload", {
                total: Math.ceil($(window).width() / thumb) * Math.ceil(($(window).height() - $("#menubar").height() - $("#footer").height()) / thumb)
            },
            function(data, status){
                if (status == 'success') {
                    total = data.total - 1;
                    userpic = [];
                    usersex = [];
                    uservote = [];
                    userpic = data.upic;
                    usersex = data.usex;
                    uservote = data.uvote;
                    thisreload = false;
                    resizable = false;
                    fluid.resizeall();
                    points[0] = points[0] + 1;
                    fluid.countpoints();
                }
            }, "json");
        })
    },
    scrollHeight: function () {
        $('#content-chat').scrollTop($("#content-chat").attr("scrollHeight") + 100000);
        $('#content-chat').attr("scrollTop", $("#content-chat").attr("scrollHeight") + 100000)
    },
    sendimg: function () {
        $('.sendimg').css({
            'max-width': $('.msg').width() - 14
        });
        $('#sendimg').show();
        if (autoscroll) {
            fluid.scrollHeight()
        }
    },
    emptyTextarea: function () {
        $("#dropimage").val('');
        $('#input').val('')
    },
    cleardrop: function (e) {
        var imgdrop = false;
        if ($("#dropimage").val()) {
            imgdrop = $("#dropimage").val();
            $('#dropimage').css({
                background: 'url(/global/img/drag_img_over.png) no-repeat center center'
            });
        }
        if ($("#textmodalBox").val()) {
            imgdrop = $("#textmodalBox").val();
            $('#dropimage').css({
                background: 'url(/global/img/drag_img_over.png) no-repeat center center'
            });
        }
        if (imgdrop) {
            var tx = escape(fluid.tomatchStr(imgdrop));
            var rtm = $.toJSON({
                'type': 'msg',
                'to': [],
                'data': {
                    'val': tx,
                    'sex': usex,
                    'uid': uid,
                    'border': escape(bordercolor),
                    'text': escape(textcolor),
                    'bold': bold,
                    'italic': italic
                }
            });
            points[4] = points[4] + 10;
            fluid.countpoints();
            flashchat.sendRTM(rtm);
            fluid.sendimg();
            fluid.emptyTextarea();
            $('#dropimage').css({
                background: 'url(/global/img/drag_img.png) no-repeat center center'
            });
        }
        if (autoscroll) {
            fluid.scrollHeight()
        }
    },
    clearArea: function (e) {
        fluid.stopPropagation(e);
        fluid.emptyTextarea()
    },
    bordercolor: function () {
        $("#bordercolor").colorPicker({
            'callback': function (color) {
                if (unick.indexOf('guest_') >= 0) {
                    bordercolor = 'black';
                    fluid.guestLogin()
                } else {
                    bordercolor = color
                }
                $("#input, #bordercolor").css({
                    borderColor: bordercolor
                });
            }
        })
    },
    textcolor: function () {
        $("#textcolor").colorPicker({
            'callback': function (color) {
                textcolor = color;
                $("#input").css({
                    color: textcolor,
                    borderColor: bordercolor
                });
                $("#textcolor").css({
                    backgroundColor: textcolor
                })
            }
        })
    },
    bold: function () {
        $('#bold').toggle(function () {
            $('#bold').css({
                color: '#00ff00'
            });
            $("#input").css({
                fontWeight: 'bold'
            });
            bold = true
        }, function () {
            $('#bold').css({
                color: 'white'
            });
            $("#input").css({
                fontWeight: ''
            });
            bold = false
        })
    },
    italic: function () {
        $('#italic').toggle(function () {
            $('#italic').css({
                color: '#00ff00'
            });
            $("#input").css({
                fontStyle: 'italic'
            });
            italic = true
        }, function () {
            $('#italic').css({
                color: 'white'
            });
            $("#input").css({
                fontStyle: ''
            });
            italic = false
        })
    },
    minus: function () {
        $('#minus').click(function () {
            minrow = minrow + 1;
            if (minrow >= chatrow - 4) minrow = minrow - 1;
            $("#chatroom").css({
                width: ((chatrow * thumb) - (minrow * thumb)),
                minWidth: 360,
                height: $("#content").height()
            });
            $('#user_menu').css({
                'max-height': $('#main-chat').height(),
                height: $('#main-chat').height(),
                top: 45,
                left: $('#menu-chat').width() - $('#user_menu').width()
            });
            fluid.input();
            fluid.sendimg();
            if (preload) fluid.preload()
        })
    },
    plus: function () {
        $('#plus').click(function () {
            minrow = minrow - 1;
            if (minrow < 0) minrow = 0;
            $("#chatroom").css({
                width: ((chatrow * thumb) - (minrow * thumb)),
                minWidth: 360,
                height: $("#content").height()
            });
            $('#user_menu').css({
                'max-height': $('#main-chat').height(),
                height: $('#main-chat').height(),
                top: 45,
                left: $('#menu-chat').width() - $('#user_menu').width()
            });
            fluid.input();
            fluid.sendimg();
            if (preload) fluid.preload()
        })
    },
    resizeall: function () {
        $("[id^=\'infouser\']").empty();
        $("[id^=\'ib-\']").empty();
        fluid.resetMask();
        fluid.contentResize()
    },
    close: function () {
        $("#display-close").click(function () {
            fluid.closeOverlayBox();
            fluid.closeModal()
        })
    },
    resize: function () {
        $(window).resize(function () {
            if ($("#content-privacy").css('display') != "none")
                $("#this-privacy").css({
                    height: $("#content-privacy").height()-4,
                    width: $("#content-privacy").width() -4
                });
            card = total;
            resizable = true;
            $("#textmodalBox").remove();
            fluid.resizeall();
            fluid.pointer();
            fluid.preload();
            $("[id^=\'display-\']").each(function () {
                if ($(this).css('display') != "none") {
                    close = 0;
                    fluid.display($(this).attr('id'), 'center')
                }
            });
            $("[id^=\'alert-\']").each(function () {
                if ($(this).css('display') != "none") {
                    close = 0;
                    fluid.display($(this).attr('id'))
                }
            });
            $("#logo").hide();
            $("#mask").hide();
            $("#logo").css({
                top: -72,
                left: 0
            })
        })
    },
    flashchat: function () {
        $('#flashchat').remove();
        $('#flashchat-cont').html('');
        flashchat = $('#flashchat-cont').flashembed({
            src: "/global/swf/chat_engine.swf",
            wmode: "opaque",
            id: "flashchat",
            width: "5px",
            height: "5px",
            menu: "false",
            allowScriptAccess: "sameDomain",
            bgcolor: '#000000',
            flashvars: flashvars
        }).getApi()
    },
    guestLogin: function () {
        if ($('#guest-login').css('display') == "none") {
            var windowWidth = (($(window).width()) / 2) - ($('#guest-login').width() / 2);
            height = $('#guest-login').height();
            $('#guest-login').fadeIn(200);
            $('#guest-login').css({
                'margin-left': '-' + $('#guest-login').outerWidth() / 2 + 'px',
                zIndex: 1100,
                '-moz-box-shadow': '0px 0px 15px #000',
                '-webkit-box-shadow': '0px 0px 15px #000'
            });
            setTimeout('$("#guest-login").fadeOut(200)', 3000)
        }
    },
    voteid: function () {
        $('#details-vote, #go-vote').click(function () {
            var sId = this.lang.split(',');
            if (unick.indexOf('guest_') >= 0) {
                fluid.guestLogin()
            } else {}
        })
    },
    actionid: function () {
        $("[id^=\'cardid\'], [id^=\'detailsid\']").click(function () {
            var cId = this.id.split('-');
            var sId = this.lang.split(',');
            if (unick.indexOf('guest_') >= 0) {
                fluid.guestLogin()
            } else {}
        })
    },
    tomatchStr: function (str) {
        if (str == undefined) return;
        if (str == '') return;
        if (str == ' ') return;
        if (str.indexOf(" ") >= 0) {
            var myarray = str.split(" ")
        } else {
            var myarray = new Array('' + str + '')
        }
        var l = myarray.length;
        var line = "";
        for (i = 0; i < l; i++) {
            newstr = myarray[i];
            newstr = fluid.tomatchMail(newstr);
            newstr = fluid.tomatchUrl(newstr);
            line += newstr + ' '
        }
        return trim(line)
    },
    tomatchMail: function (themail) {
        var r = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
        if (r.test(themail)) {
            var themail = '<a href="mailto:' + themail + '" target="new">' + themail + '</a>';
            return themail
        } else {
            return themail
        }
    },
    tomatchUrl: function (theurl) {
        var tomatch = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
        if (tomatch.test(theurl)) {
            var ext = ['.jpg', '.JPG', '.jpeg', '.JPEG', '.gif', '.GIF', '.png', '.PNG'];
            var extimg = false;
            for (i = 0; i < ext.length; i++) {
                if (theurl.indexOf(ext[i]) > 0) {
                    extimg = true
                }
            }
            if (extimg) {
                html = '<a href="' + theurl + '" target="_blank">';
                html += '<img class="sendimg" style="display: none;" border="0" onError="this.style.display=\'none\'" onload="this.style.display=\'block\'" src="' + theurl + '" /></a>';
                theurl = html
            } else {
                theurl = '<a href="' + theurl + '" target="new">' + theurl + '</a>'
            }
            return theurl
        } else {
            return theurl
        }
    },
    hover: function () {
        $(document).hover(function () {
            setTimeout('fluid.offHover()', 50)
        }, function () {
            fluid.onHover()
        })
    },
    blockUser: function (needle, haystack) {
        fluid.Modal();
        var windowWidth = (($(window).width()) / 2) - ($('#alert-blockuser').width() / 2);
        height = $('#alert-blockuser').height();
        $('#blockid').val(needle);
        $('#alert-blockuser').fadeIn(200);
        fluid.display('alert-blockuser')
    },
    addFromArray: function (needle) {
        if (!fluid.in_array(needle, blockUsers)) blockUsers.push(needle)
    },
    removeFromArray: function (val, ar) {
        s = String(ar);
        reRemove = new RegExp("," + val, "g");
        s = s.replace(reRemove, "");
        reRemove = new RegExp("^" + val + ",");
        s = s.replace(reRemove, "");
        reRemove = new RegExp("^" + val + "$");
        s = s.replace(reRemove, "");
        blockUsers = new Array(s)
    },
    in_array: function (needle, haystack) {
        var key = '';
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true
            }
        }
        return false
    },
    stopPropagation: function (e) {
        if (!e) var e = window.event;
        e.cancelBubble = true;
        e.returnValue = false;
        if (e.stopPropagation) {
            e.stopPropagation();
            e.preventDefault()
        }
    },
    upKey: function (e) {
        if (e.keyCode == 16) isCtrl = false
    },
    chkKey: function (e) {
        if (e.which == 16) isCtrl = true;
        if (e.keyCode == 13 && isCtrl == false) {
            var tx = $('#input').val();
            fluid.stopPropagation(e);
            isCtrl = false;
            var strInputCode = tx;
            strInputCode = strInputCode.replace(/&(lt|gt);/g, function (strMatch, p1) {
                return (p1 == "lt") ? "<" : ">"
            });
            tx = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
            tx = escape(tx);
            while (tx.substring(0, 3) == '%0A') {
                tx = tx.substring(3, tx.length)
            }
            tx = tx.replace("%0D%0A", escape("<br />"));
            tx = tx.replace("%0D", escape("<br />"));
            tx = tx.replace("%0A", escape("<br />"));
            if (!tx) return;
            var letters = [];
            var re = /(<([^>]+)>)/gi;
            for (i = 0; i < tx.length; i++) {
                letters[i] = tx.substring(i, (i + 1)).replace(re, "")
            }
            tx = unescape(letters.join(''));
            tx = escape(trim(fluid.tomatchStr(tx)));
            var rtm = $.toJSON({
                'type': 'msg',
                'to': [],
                'data': {
                    'val': tx,
                    'sex': usex,
                    'uid': uid,
                    'border': escape(bordercolor),
                    'text': escape(textcolor),
                    'bold': bold,
                    'italic': italic
                }
            });
            points[3] = points[3] + 3;
            fluid.countpoints();
            flashchat.sendRTM(rtm);
            fluid.emptyTextarea();
            setTimeout('fluid.emptyTextarea()', 50)
        }
    },
    receiveRTM: function (type_from_to_data) {
        var data = new Date();
        var Hh, Mm, Ss;
        Hh = data.getHours() + ":";
        Mm = data.getMinutes();
        if (Mm < 10) {
            Mm = "0" + Mm
        }
        var rtm = $.parseJSON('' + type_from_to_data + '');
        if (!fluid.in_array(rtm.from.name, blockUsers)) {
            var databold = '';
            var dataitalic = '';
            if (rtm.data.bold == true) {
                databold = ' font-weight: bold;'
            }
            if (rtm.data.italic == true) {
                dataitalic = ' font-style: italic;'
            }
            if (rtm.data.border == 'black' || rtm.data.border == '#000000') var html = '<div class="' + rtm.type + '" style="padding: 3px;">';
            else var html = '<div class="' + rtm.type + '" style="padding: 5px; border: 1px solid ' + unescape(rtm.data.border) + ';">';
            if (rtm.from.type.indexOf('guest') >= 0) {
                var imgsex = 'trans'
            } else {
                var imgsex = rtm.data.sex
            }
            html += '<img border="0" alt="[' + Hh + Mm + ']" title="[' + Hh + Mm + ']" src="/global/img/' + imgsex + '.png" />';
            if (unick == rtm.from.name) {
                html += '&nbsp;&nbsp;' + rtm.from.name + ': '
            } else {
                html += '&nbsp;&nbsp;<a class="tooltip" href="javascript:fluid.blockUser(\'' + rtm.from.name + '\',blockUsers)" title="Blocca utente">' + rtm.from.name + '</a>: '
            }
            html += '<span style="color: ' + unescape(rtm.data.text) + ';' + databold + '' + dataitalic + '">' + unescape(rtm.data.val) + '</span></div><div style="padding-top: 2px;"></div>';
            $('#content-chat').append(html)
        }
        fluid.input();
        fluid.sendimg();
        if (autoscroll) {
            fluid.scrollHeight()
        }
    },
    fmsSync: function (so_data_json) {
        var so_data = $.parseJSON('' + so_data_json + '');
        $('#usercontent').empty();
        var users = 0;
        for (var n in so_data) {
            var u = so_data[n];
            if (u.type.indexOf('guest') >= 0) {
                var imgsex = 'trans'
            } else {
                var imgsex = u.sex
            }
            html = '<div style="height: 12px; padding-top: 4px; padding-bottom: 4px;"><a class="' + u.type + '" href="javascript:alert(\'' + u.id + '\')">';
            html += '<img border="0" alt="" src="/global/img/' + imgsex + '.png" />&nbsp;&nbsp;' + u.name + '</a></div><div style="height: 1px; width: 90px; background-color:#fff;"></div>';
            $('#usercontent').append(html);
            users++
        }
        $('#users').html(users)
    },
    offHover: function () {
        $("[id^=\'filter-\']").css({
            opacity: 0.75
        });
        $("#input").val('');
        $("#input").focus();
        clearInterval(hoverIntervalId);
        clearInterval(boxIntervalId);
        fluid.cleardrop();
        $("#logo").show();
        $("#textmodal, #textmodalBox").remove();
        $("#input").click()
    },
    onHover: function () {
        $("#mask, #vote, #logo, #simpleinfo").hide();
        $("[id^=\'filter-\']").css({
            opacity: 0
        });
        $("#mask, #vote").css({
            left: 0,
            top: 0
        });
        var elemPos = $("#dropimage").offset();
        $('<textarea border="0" name="textmodal" id="textmodal" style="width:100%; height:100%; top:0; left:0; color: transparent;"></textarea>').appendTo(document.body);
        if ($("#chatroom").css('display') != "none") {
            $('<textarea border="0" name="textmodalBox" style="color: transparent;" id="textmodalBox" ></textarea>').appendTo(document.body);
            $("#textmodalBox").css({
                top: elemPos.top,
                left: elemPos.left,
                width: $("#dropimage").outerWidth(true),
                height: $("#dropimage").outerHeight(true)
            })
        }
        if (!$.browser.msie) {
            hoverIntervalId = setInterval(function () {
                fluid.cleardrop();
                $("#textmodal, #textmodalBox, #input").val('')
            }, 200)
        }
        boxIntervalId = setInterval(function () {
            var randIndex = Math.floor(Math.random() * (rnd.length - 2));
            var inforel = false;
            if(rel = $("#infouser" + randIndex).attr('rel')){
                inforel = rel;
            }
            if(inforel){
                var elemPos = $("#infouser" + randIndex).offset();
                sRel = inforel.split(',');
                $("#mask").css({
                    width: thumb
                });
                $("#simpleinfo").hide();
                $("#mask").attr({
                    rel: inforel
                });
                var border = ($("#mask").outerHeight() - $("#mask").height()) / 2;
                $("#mask").css({
                    top: elemPos.top - border,
                    left: elemPos.left - border
                });
                $("#totalvote").html(sRel[0]);
                $("#vote").css({
                    top: (elemPos.top + thumb) - $("#vote").outerHeight(true),
                    left: elemPos.left
                });
                $("#mask, #vote").show()
            }
        }, 3000)
    },
    facebooklogin: function(data){
        var str = $.base64Encode(data);
        $.post("/facebook", {
            value: str,
            uid: uid
        },
        function(data, status){
            if(status=='success'){
                $("#ajax-load").hide();
                fluid.closeModal();
                login = true;
                $(".menu-logout").each(function () {
                    $(this).hide();
                });
                $(".menu-login").each(function () {
                    $(this).show();
                });
                unick = data.unick;
                uid = data.uid;
                usex = data.usex;
                $("#chat-unick").html(unick);
                flashvars = $.base64Decode(data.flashvars);
                fluid.flashchat();
            }
        });
    },
    facebookconnect: function(val){
        fbconnected = val;
        if(val==true){
            fluid.Modal();
            $("#ajax-load").show();
            $.post("/fb", {
                uid: uid
            },
            function(data, status){
                if(status=='success'){
                    fluid.facebooklogin(data);
                }
            });
        }
    },
    connect: function(){
        var old_unik = unick;
        $.post("/sid", {
            uid: uid,
            connect: connected
        },
        function(data){
            if(str = get_cookie('sid')){
                var uid_data = $.parseJSON(''+$.base64Decode(str)+'');
                if(data.md5 == $.md5(uid_data.uid+''+uid_data.unick+''+uid_data.usex+''+uid_data.type+''+uid_data.expires+'')){
                    var sid_date = new Date ();
                    if(uid_data.expires > sid_date.setTime(sid_date.getTime())){
                        if(uid_data.connect=='true'){
                            login = true;
                            $(".menu-logout").each(function () {
                                $(this).hide();
                            });
                            $(".menu-login").each(function () {
                                $(this).show();
                            });
                            unick = uid_data.unick;
                            uid = uid_data.uid;
                            usex = uid_data.usex;
                            $("#chat-unick").html(unick);
                            flashvars = $.base64Decode(data.flashvars);
                            fluid.flashchat();
                            return true;
                        }
                    }
                }
            }
            fluid.flashchat();
            return false;
        }, "json");
    },
    disconnect: function(val){
        $.post("/logout", {
            uid: uid,
            disconnect: val
        },
        function(data){
            var old_unik = unick;
            var randid = Math.floor(Math.random() * 8999) +1000;
            unick = "guest_" + randid;
            if (flashvars.indexOf('type&quot;:&quot;member') >= 0) flashvars = flashvars.replace('type&quot;:&quot;member', 'type&quot;:&quot;guest');
            flashvars = flashvars.replace(old_unik, unick);
            fluid.flashchat();
            $("#chat-unick").html(unick);
            login = false;
            $(".menu-logout").each(function () {
                $(this).show();
            });
            $(".menu-login").each(function () {
                $(this).hide();
            });
            bordercolor = 'black';
            $("#input, #bordercolor").css({
                borderColor: bordercolor
            });
        }, "json");
    }
}

$(document).ready(function() {		
    $(window).unload( function () {
        fluid.disconnect(false);
    });
    if(get_cookie('points')){
        if(cookiepoint = $.evalJSON(get_cookie('points')).points){
            points = cookiepoint;
        }
    }
    $('#logout').click(function() {
        if(referer=='facebook'){
            spawn('/disconnect','fb', 400,200);
        }
        fluid.disconnect(true);
    });
    $.post("/reload", {
        total: Math.ceil($(window).width() / thumb) * Math.ceil(($(window).height() - $("#menubar").height() - $("#footer").height()) / thumb)
    },
    function(data, status){
        if(status=='success'){
            userpic = data.upic;
            usersex = data.usex;
            uservote = data.uvote;
            total = data.total - 1;
            fluid.connect();
            fluid.contentResize();
            fluid.login();
            fluid.signup();
            fluid.points();
            fluid.mask();
            fluid.actionid();
            fluid.voteid();
            fluid.tooltip();
            fluid.chat();
            fluid.resize();
            fluid.hover();
            fluid.close();
            fluid.countpoints();
            $("#chat-unick").html(unick);
        }
    }, "json");
    $('#blockB').click(function() {
        fluid.addFromArray($('#blockid').val());
        fluid.closeModal();
    });
    $('#blockS').click(function() {
        fluid.removeFromArray($('#blockid').val(), blockUsers);
        fluid.closeModal();
    });
    $('#profile').click(function() {
    });
    $("#menufilter").hover(function() {
        $("#menufilter").show();
    },
    function(){
        $("#menufilter").hide();
    });
    $("#filter").hover(function() {
        var elemPos = $("#filter").offset();
        $("#menufilter").css({
            top: elemPos.top+$("#filter").height(),
            left: elemPos.left - 5
        });
        $("#menufilter").show();
    },
    function(){
        $("#menufilter").hide();
    }); 
    $("#lang").hover(function() {
        $("#lang").show();
    },
    function(){
        $("#lang").hide();
    });
    $("#languages").hover(function() {
        var elemPos = $("#languages").offset();
        $("#lang").css({
            top: elemPos.top+$("#languages").height(),
            left: elemPos.left - 5
        });
        $("#lang").show();
    },
    function(){
        $("#lang").hide();
    });
    $("#overlayBox").click(function() {
        fluid.closeOverlayBox();
    });
    $(".filteruser").click(function() {
        $(".filteruser").css({
            background: 'url(/global/img/radio_off.png) no-repeat 0 top'
        });
        $(this).css({
            background: 'url(/global/img/radio_on.png) no-repeat 0 top'
        });
        var ele = this;
        filter = false;
        thisreload = true;
        $('.filteruser').each(function (index) {
            if(this === ele){
                filter = true;
                if(index > 0){
                    if(index == 1){
                        if(thisfilter!="male"){
                            thisfilter	= "male";
                            fluid.resizeall();
                            thisreload = true;
                        }
                    }
                    if(index == 2){
                        if(thisfilter!="female"){
                            thisfilter	= "female";
                            fluid.resizeall();
                            thisreload = true;
                        }
                    }
                }else{
                    if(thisfilter!= false){
                        thisfilter	= false;
                        fluid.resizeall();
                        thisreload = true;
                    }
                }
            }
        });
    });
    $(".filteronline").toggle(function() {
        $(this).css({
            background: 'url(/global/img/checkbox_on.png) no-repeat 0 top'
        });
    },function() {
        $(this).css({
            background: 'url(/global/img/checkbox_off.png) no-repeat 0 top'
        });
    });
    $(".filterview").click(function() {
        $(".filterview").css({
            background: 'url(/global/img/radio_off.png) no-repeat 0 top'
        });
        $(this).css({
            background: 'url(/global/img/radio_on.png) no-repeat 0 top'
        });
        var ele = this;
        $('.filterview').each(function (index) {
            if(this === ele){
                // alert(index);
            }
        });
    });     
    $(document).mouseover(function(){
        clearInterval(hoverIntervalId);
        clearInterval(boxIntervalId);
        if($.browser.msie){
            setTimeout('$("#textmodal, #textmodalBox").remove()', 100);
            $("#input").click();
        }
        if(resizable) {
            $("#reload").click();
            resizable= false;
        }
    });
    $(window).blur(function(){
        if(/chrome/.test(agent) && mac){
            fluid.onHover();
        }
    });
    $(window).focus(function(){
        if(/chrome/.test(agent) && mac){
            fluid.offHover();
        }
    });
    $('#privacy').click(function(){
        if ($("#content-privacy").css('display') == "none"){
            $("#this-privacy").load("/privacy");
            $("#content-privacy").fadeIn(200);
            $("#this-privacy").css({
                height: $("#content-privacy").height()-4,
                width: $("#content-privacy").width() -4
            });
        }else{
            $("#content-privacy").hide();
            $("#this-privacy").html('');
        }
    });
    $("#content-privacy").click(function(){
        $("#content-privacy").hide();
        $("#this-privacy").html('');
    });
    $("#log-in").click(function(){
        var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
        if (!email_reg_exp.test($('#email').val()) || ($('#email').val() == "") || ($('#email').val() == "undefined")) {
            $('#email').css({
                border: '1px solid #ff0000'
            });
            $('#email').attr({
                title: 'La E-mail non &#233; valida'
            });
            $('#email').focus();
            return false;
        }
        $('#password').val(trim($('#password').val()));
        if (($('#password').val() == "") || ($('#password').val() == "undefined") || ($('#password').val().length < 4) || ($('#password').val().length > 16)){
            $('#password').css({
                border: '1px solid #ff0000'
            });
            $('#password').attr({
                title: 'La password devi essere maggiore di 3 caratteri e minore di 17'
            });
            $('#password').focus();
            return false;
        }
        $.post("/login", {
            email: $("#email").val(),
            password: $("#password").val(),
            connect: connected,
            site: $("#site").val(),
            ref: $("#ref").val(),
            uid: $("#uid").val()
        },
        function(data){
            var sid;
            if(data.error==false){
                login = true;
                $(".menu-logout").each(function () {
                    $(this).hide();
                });
                $(".menu-login").each(function () {
                    $(this).show();
                });
                unick = data.unick;
                uid = data.uid;
                usex = data.usex;
                $("#chat-unick").html(unick);
                flashvars = $.base64Decode(data.flashvars);
                fluid.flashchat();
                $("#login").click();
            }
            if(data.error==true){
                if(data.email==true){
                    $('#email').css({
                        border: '1px solid #ff0000'
                    });
                    $('#email').attr({
                        title: 'La E-mail non &#233; presente'
                    });
                    if(data.password==false)
                        $('#password').attr({
                            title: ''
                        });
                }else{
                    $('#email').attr({
                        title: ''
                    });
                }
                if(data.password==true){
                    $('#password').css({
                        border: '1px solid #ff0000'
                    });
                    $('#password').attr({
                        title: 'La Password non &#233; correta'
                    });
                }else{
                    $('#password').attr({
                        title: ''
                    });
                }
                if(!data.password && !data.email){
                    $('#password').css({
                        border: '1px solid #ff0000'
                    });
                }
            }
        });
    });
    $("#recover-pass").click(function(){
        $('#login').click();
    });
    $("#connected").toggle(function() {
        $(this).css({
            background: 'url(/global/img/checkbox_off.png) no-repeat 0 top'
        });
        connected = false;
    },function() {
        $(this).css({
            background: 'url(/global/img/checkbox_on.png) no-repeat 0 top'
        });
        connected = true;
    });
    if(referer=='facebook'){
        if(!fbconnected){
            $("#fb-roots").show();
            $('#fb-roots').bind('click', function() {
                spawn('/connect/'+ uid + '/null','fb', 400,200);
            });
        }
    }




    $("#photo-pc").click(function(){
        alert("serviceURL="+serviceURL+"&buttonLabel="+buttonLabel+"&maxW="+maxW+"&maxH="+maxH+"&minW="+minW+"&minH="+minH+"&ratio="+ratio+"&freeCanvas="+freeCanvas+"&showDetails="+showDetails+"&maskAlpha="+maskAlpha+"&maskColor="+maskColor+"&icoURL="+icoURL+"&quality="+quality+"");
        $('#uploadphoto').remove();
        shapshotphoto = $('#flash_photo').flashembed({
            flashvars: "serviceURL="+serviceURL+"&buttonLabel="+buttonLabel+"&maxW="+maxW+"&maxH="+maxH+"&minW="+minW+"&minH="+minH+"&ratio="+ratio+"&freeCanvas="+freeCanvas+"&showDetails="+showDetails+"&maskAlpha="+maskAlpha+"&maskColor="+maskColor+"&icoURL="+icoURL+"&quality="+quality+"",
            id: "uploadphoto",
            src: "/global/swf/cropimage.swf?v=1",
            width: initW,
            height: initH,
            salign: 'top',
            play: 'true',
            align: 'middle',
            loop: 'true',
            quality: 'high',
            bgcolor: '#333333',
            allowScriptAccess: 'sameDomain',
            menu: "false",
            wmode: "opaque"
        }).getApi();
        switchButtons();
        $('#upload-photo').fadeIn(100);
    });

    
    $("#photo-webcam").click(function(){
        $('#shapshotphoto').remove();
        $('#shapshot-start').show();
        $('#shapshot-end').hide();
        shapshotphoto = $('#flash_shapshot').flashembed({


            //flashvars: "nameSpace=snapshotClass&serviceURL="+snapshotClass.serviceURL+"&thumb="+snapshotClass.thumb+"&medium="+snapshotClass.medium+"&quality="+snapshotClass.quality
            flashvars: "serviceURL="+serviceURL+"&thumb="+thumb+"&medium="+medium+"&quality="+quality+"&audio="+audio+"",
            id: "shapshotphoto",
            src: "/global/swf/snapshot_noui.swf?v=2",
            width: photowidth,
            height: photoheight,
            salign: 'top',
            play: 'true',
            align: 'middle',
            loop: 'true',
            quality: 'high',
            bgcolor: '#333333',
            allowScriptAccess: 'sameDomain',
            menu: "false",
            wmode: "opaque"
        }).getApi();
        switchButtons();
        $('#shapshot').fadeIn(100);
    });
    
    
    $("#pubbicit").click(function(){
        $('#updatprofile').show();
    });
    
    $("#updatprofile-close").click(function(){
        $('#updatprofile').hide();
    });
    
    
    
    $('#dropimage').hover(function(){
        $(this).css({
            background: 'url(/global/img/drag_img_over.png) no-repeat center center'
        });
    },function(){
        $(this).css({
            background: 'url(/global/img/drag_img.png) no-repeat center center'
        });
    })
    /*if(!get_cookie('uid')){
        if ($('#guest-cookies').css('display') == "none") {
        	fluid.Modal();
            var windowWidth = (($(window).width()) / 2) - ($('#guest-cookies').width() / 2);
            height = $('#guest-cookies').height();
            $('#guest-cookies').fadeIn(200);
            $('#guest-cookies').css({
                'margin-left': '-' + $('#guest-cookies').outerWidth() / 2 + 'px',
                zIndex: 1100,
                '-moz-box-shadow': '0px 0px 15px #000',
                '-webkit-box-shadow': '0px 0px 15px #000'
            });
        }
	}*/


});
function set_cookie( cookie_name, value, ndays, path, domain, secure) {
    var cookie_string = cookie_name + "=" + escape ( value );
    var today = new Date();
    var expire = new Date();
    if (ndays==null || ndays==0 || !ndays) ndays=1;
    expire.setTime(today.getTime() + 3600000*24*ndays);
    cookie_string += "; expires=" + expire.toGMTString();
    if ( path ) cookie_string += "; path=" + escape ( path );
    if ( domain ) cookie_string += "; domain=" + escape ( domain );
    if ( secure ) cookie_string += "; secure";
    document.cookie = cookie_string;
}
function get_cookie(cookie_name) {
    var results = document.cookie.match('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
    if (results) {
        return (unescape(results[2]))
    } else return false
}
function delete_cookie ( cookie_name )
{
    var cookie_date = new Date ( );
    cookie_date.setTime ( cookie_date.getTime() - 1 );
    document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
function spawn(url, Wname, w, h) {
    var left = (screen.width/2)-(w/2);
    var top = (screen.height/2)-(h/2);
    var popup = window.open(url, Wname, 'height='+h+',width='+w+',scrollbars=0,resizable=0,menubar=0,toolbar=0,status=0,location=0,copyhistory=no,left='+left+',top='+top);
    action = true;
}
function connect(val) {
    var fbs;
    if(fbs = get_cookie('fbs_102988699738342')){
        if(val==true && action) {
            $("#fb-roots").hide();
            if (action=='login') $("#login").click();
            if ($('#content-signup').css('display') != "none" && action=='signup') $('#content-signup').hide();
            action = false;
            fluid.facebookconnect(val);
        }
    }
    if(action=='signup' && val==false ){
        $('#content-signup').fadeIn(200);
    }
    if(action=='login' && val==false ){
        if ($('#login-user').css('display') == "none") {
            $("#login-user").show();
        }
    }
}
function disconnect(val) {
    fbconnected = val;
    $("#fb-roots").hide();
}
function trim(stringa){
    while (stringa.substring(0,1) == ' '){
        stringa = stringa.substring(1, stringa.length);
    }
    while (stringa.substring(stringa.length-1, stringa.length) == ' '){
        stringa = stringa.substring(0,stringa.length-1);
    }
    return stringa;
}
function receiveRTM(type_from_to_data) {
    // type: String -> msg, evt, act
    // from: Object -> { id:xyz, name:pippo, ... }
    // to: Array of Objects -> [ {id:xyz, name:pippo, ...}, {id:ert, name:maria,
    // ...} ]
    // data: Object -> { val:ciao, col:ff0000, brd:00ff00, size:10, weight:bold,
    // style:italic } o { type:status, val:3 }
    fluid.receiveRTM(type_from_to_data);
}
function fmsSync(so_data_json) {
    fluid.fmsSync(so_data_json);
}
function switchButtons(ready2save){
    if(ready2save){
        $('#capture_btn, #capturedelay_btn').hide();
        $('#save_btn, #retry_btn, #close_btn').show();
    }else{
        $('#capture_btn, #capturedelay_btn, #close_btn').show();
        $('#save_btn, #retry_btn').hide();
    }
}
// JS <- AS3
function ready(){
    switchButtons(true);
}
// JS -> AS3
function capture(){
    shapshotphoto.capture();
}
function capture_delay(){
    $('#capture_btn, #capturedelay_btn').hide();
    shapshotphoto.capture_delay();
}
function save(){
    $('#shapshot-start').hide();
    $('#shapshot-end').show();
    shapshotphoto.save();
}
function retry(){
    shapshotphoto.retry();
    switchButtons();
}
function pict_crop(crop){
    var width = crop.width + 24;
    var height = crop.height + 108;
    var date = new Date ();
    $('#preview, #cropbox').attr({
        src: '/readimage/'+date.setTime(date.getTime()),
        width: crop.width,
        height: crop.height
    });
    $('#crop').css({
        width: width,
        height: height,
        marginLeft: -parseInt(width/2),
        marginTop: -parseInt(height/2)
    });
    $('#content-crop').css({
        height: crop.height + 84
    });
    $('#crop-desc').css({
        width: crop.width - 84
    })
    var api = $('#cropbox').Jcrop({
        onChange: showPreview,
        onSelect: showPreview,
        minSize: [72,72],
        setSelect: [ parseInt(crop.width/2)-36, parseInt(crop.height/2)-36, (parseInt(crop.width/2)-36) + 72, (parseInt(crop.height/2)-36) + 72 ],
        aspectRatio: 1,
        bgColor: 'black',
        bgOpacity: .6
    });
    $('#crop').show();
    $('#shapshot').hide();
    $('#shapshotphoto').remove();
}
function pict_saved(data){
    var data = $.parseJSON(data);
    if(data.result == true){
        $('#cropbox, #preview').remove();
        var date = new Date ();
        crop = new Image();
        crop.src = '/readimage/'+date.setTime(date.getTime());
        crop.width = data.width;
        crop.height = data.height;
        $('#cropimg').html('<img src="" width="'+crop.width+'" height="'+crop.height+'" id="cropbox" alt="" />');
        $('#previewimg').html('<img src="" id="preview" alt="" />');
        pict_crop(crop);
    }else{
        if(data.result=='login'){
            alert(data.result + ": Please");
            $('#shapshot').hide();
            $('#shapshotphoto').remove();
            $("#login").click();
        }else{
            alert(data.result+ ": Please try again");
            $('#shapshot').hide();
            $('#shapshotphoto').remove();
            $("#pubbicit").click();
        }
    }
}
function showPreview(coords)
{
    if (parseInt(coords.w) > 0)
    {
        var rx = 72 / coords.w;
        var ry = 72 / coords.h;
        $('#x').val(coords.x);
        $('#y').val(coords.y);
        $('#w').val(coords.w);
        $('#h').val(coords.h);
        $('#preview').css({
            width: Math.round(rx * crop.width) + 'px',
            height: Math.round(ry * crop.height) + 'px',
            marginLeft: '-' + Math.round(rx * coords.x) + 'px',
            marginTop: '-' + Math.round(ry * coords.y) + 'px'
        });
    }
}
function checkCoords()
{				
    if (parseInt($('#w').val())) {
    	$.post("/crop", {
    		x: $('#x').val(),
    		y: $('#y').val(),
    		w: $('#w').val(),
    		h: $('#h').val()
    	},
    	function(data, status){
        	if(status=='success'){
        		if(data.error==0){
        			$('#updatprofile').hide();
        			$('#crop').hide();
        			alert(data.error);
        		}
            	
        	}
    	}); //, "json"
    	return false;
    }
    alert('Please select a crop region then press submit.');
    return false;
}

//-->
