function showAnswer(ans) {
    $("#answer").show();
    $("#answer").empty();
    $("#answer").append(ans);
}

var switchDate;
var lockFindUrl = false;

function setCookie (name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function getCookie(name) {
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) {
        offset = cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return(setStr);
}


function triggerFind() {
    if (!lockFindUrl) {
        lockFindUrl = true;
        setTimeout(findSameUrl, 3000, this);
    }
}

function addcomment(item, uName, text) {
    $.post(
        "/announcement/addcomment",
        {
            "aId" : item,
            "uName" : uName,
            "text" : text
        },
        function(data) {
            $('#namecomment').val('');
            $('#newcomment').val('');
            if ($("answer",data).text()!='false') {
                top.location.reload();
            }
        }
        );
    return false;
}

function findSameUrl(who) {
    lockFindUrl = false;
    adr = $(who).val();

    var regexp = /^http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,5}(\/.*)?$/;
    if (!regexp.test(adr)) {
        return;
    }

    adr = adr.indexOf('http://')==0?adr.substr(adr.indexOf('http://')+7):adr;
    adr = adr.indexOf('/')!=-1?adr.substr(0, adr.indexOf('/')):adr;

    $.post(
        "/announcement/find-same-url",
        {
            "url" : adr
        },
        function (data) {
            if ($("url", data).length) {
                $("#messageBox").html('<p style="color: #666; text-align: center;">Сайт с таким адресом уже существует в каталоге! <br><a href="/link/'+$("url:first", data).attr("id")+'" class="link">'+$("url:first", data).text()+'</a></p>').dialog('open');
                $("#subbtnfrm").empty();
            } else {
                $("#subbtnfrm").empty().append('<input type="submit" name="subm" id="subm" value="Отправить">');
                $("#subm").click(function () {
                    if (testInputData()) {
                        document.forms["sdata"].submit();
                    }
                });
            }
        },
        "xml"
        );
}

function rotateSite() {
    $.post(
        '/participants/random',
        {},
        function(data) {
            $("div.preview-cell div.preview").removeClass('safari').addClass('no-safari');
            $("div.preview-cell img").attr('src', '/public/img/card.gif');
            $("card", data).each(function(i, data) {
                window.setTimeout(function() {
                    showCard(i+1, data);
                }, 500*(i+1));
            });
        }
        );
}

function showCard(num, card) {
    $("div.preview-cell[num=" + num + "]").html('<div class="preview safari"><a href="/participants/show/'
        + $("id", card).text() + '"><img src="http://linkme.ufanet.ru/box/80x7000x94'
        + $("image", card).text() + '" width="80"'
        + ' alt="' + $("name", card).text() +'"></a></div><div class="r-site-name">'
        + '<a href="/participants/show/' + $("id", card).text() +'">' + $("name", card).text()
        + '</a></div><p>' + $("cname", card).text() + '</p>');
}

function clickVote(event) {
    var func;
    if ($(event.target).hasClass("plus")) {
        func = "plus";
    } else {
        func = "minus";
    }
    var nId = $(event.target).attr('newsid');
    if (getCookie("n"+nId)) {
        alert('Вы уже голосовали.');
        return false;
    }
    $.post(
        '/participants/vote',
        {},
        function(data) {
            $("#not-a-robot").html('<img width="200" height="50" alt="" src="/public/captcha/'
                + $("link", data).text() + '.png" style="margin: 15px 0 10px;"><br>'
                + '<input type="text" id="nar-input" value=""'
                + ' style="border: 1px solid #c3c2c1; padding: 3px;">'
                + '<a href="#" id="nar-vote" style="font-size: 13pt;" narid="'
                + $("link", data).text() + '">Оценить</a><p style="color: #999;'
                + ' font-size: 9pt; margin: 0;">Введите код с картинки (защита от ботов)</p>');
            $("#nar-vote").click(function(event) {
                doVote(func, nId, $(event.target).attr('narid'));
                return false;
            });
        });
    return false;
}

function doVote(type, id, cid) {
    $.post(
        "/announcement/" + type,
        {
            "an_id": id,
            "cId" : cid,
            "cData" : $("#nar-input").val()
        },
        function(data) {
            if ($("answer", data).text() != "err") {
                $("#new_score").html($("answer",data).text());
                $("#not-a-robot").empty();
                setCookie("n"+id, "1", new Date(2010, 1, 1), "/");
            } else {
                $("a." + type).click();
            }
        },
        "xml"
        );
}

$(document).ready(function(){
    $("#urlLink").keypress(triggerFind);

    $("a.plus").click(clickVote);
    $("a.minus").click(clickVote);

    $("#rotateC").click(function() {
        rotateSite();
        return false;
    });
});
