var outAnimate = {'width':'0px',   'height':'0px',   'rotate':'360deg'};
var inAnimate  = {'width':'170px', 'height':'170px', 'rotate':'360deg'};
var img1Loaded = false;
var img2Loaded = false;
var greaterScoreID = 0;
var last_clicked;

$(window).load(function() {
    setTimeout(firstLoad, 1000);
});

function bindMatches()
{
    $('#user1pic').bind('click', function(e) {
        e.preventDefault();
        _vote(u1id, u2id, 'left');
    }).bind('mouseenter', function() {
        $('#user2pic').fadeTo('medium', 1);
    }).bind('mouseleave', function () {
        $('#user2pic').fadeTo('medium', 1);
    });
    $('#user2pic').bind('click', function(e) {
        e.preventDefault();
        _vote(u1id, u2id, 'right');
    }).bind('mouseenter', function() {
        $('#user1pic').fadeTo('medium', 1);
    }).bind('mouseleave', function () {
        $('#user1pic').fadeTo('medium', 1);
    });
}

function firstLoad()
{
    $("#user1pic").addClass('ca_shown').animate(inAnimate, 300, function() {
        img1Loaded = true;
        checkMatchLoad();
    });
    $("#user2pic").addClass('ca_shown').animate(inAnimate, 300, function() {
        img2Loaded = true;
        checkMatchLoad();
    });
    $('.show_winner, .show_vote').hide();
}


function _vote(winner, looser, clicked)
{
    last_clicked = clicked;
    var postDataScores = {__callHandler: 'get_scores',
                     winner: winner,
                     looser: looser
                   };
        postDataScores['__ajaxEventUID'] = ajaxEventUID;

    $('.photo_wrap').css('background', 'transparent url(\'../images/_loader.gif\') no-repeat center center');

    $.post(selfUrl, postDataScores,
    function(responseDataScores)
    {
        onGetScoresResponse(responseDataScores);
    },
    'json');


    setTimeout('_vote2('+winner+', '+looser+')', 2000);
}

function _vote2(winner, looser)
{
    var postData = {__callHandler: 'vote',
                     winner: winner,
                     looser: looser,
                     sex: sex
                   };
        postData['__ajaxEventUID'] = ajaxEventUID;

                $('#span_you_vote_value').text("");
                $('#span_project_winner_value').text("");

    $('.photo_wrap').css('background', 'transparent url(\'../images/_loader.gif\') no-repeat center center');
    vote = true;
    $("#user1pic").unbind('click mouseenter mouseleave').animate(outAnimate, 300, function() {
        img1Loaded = false;
    }).fadeTo('medium', 1);
    $("#user2pic").unbind('click mouseenter mouseleave').animate(outAnimate, 300, function() {
        img2Loaded = false;
    }).fadeTo('medium', 1);

    $.post(selfUrl, postData,
    function(responseData) {
        onGetVoteResponse(responseData);
    },
    'json');
}

function onGetVoteResponse(responseData)
{
    var responseData = responseData;

    if ((typeof(showAJAXDebugInfo) != 'undefined') && responseData.PHPAJAXDebug != null)
    {
        showAJAXDebugInfo(responseData.PHPAJAXDebug.Info, responseData.PHPAJAXDebug.Owner);
    }

    src1 = responseData.Response.U1PIC;
    $("#user1pic").attr('src', src1).animate(inAnimate, 300, function() {
        u1id = responseData.Response.U1ID;
        img1Loaded = true;
        checkMatchLoad();
    });
    src2 = responseData.Response.U2PIC;
    $("#user2pic").attr('src', src2).animate(inAnimate, 300, function() {
        u2id = responseData.Response.U2ID;
        img2Loaded = true;
        checkMatchLoad();
    });

    $('.show_winner, .show_vote').hide();

    $('.total_left').html('Total Puppy Battles: ' + responseData.Response.Votes);
}

function onGetScoresResponse(responseDataScores)
{
    var responseDataScores = responseDataScores;

    if ((typeof(showAJAXDebugInfo) != 'undefined') && responseDataScores.PHPAJAXDebug != null)
    {
        showAJAXDebugInfo(responseDataScores.PHPAJAXDebug.Info, responseDataScores.PHPAJAXDebug.Owner);
    }
    greaterScoreID = responseDataScores.Response.greaterScoreID;

    if (u1id == greaterScoreID)
    {
        $('.show_winner').attr('id', 'span_project_winner');
    } else
    {
        $('.show_winner').attr('id', 'span_project_winner2');
    }
    $('.show_winner').show();


    if (last_clicked == "left")
    {
        $('.show_vote').attr('id', 'span_you_vote');
    }
    else
    {
        $('.show_vote').attr('id', 'span_you_vote2');
    }
    $('.show_vote').show();
}

function checkMatchLoad()
{
    if (img1Loaded && img2Loaded)
    {
        $('.photo_wrap').css('background', 'transparent url(\'../images/pick_one.png\') no-repeat center center');
        vote = false;
        bindMatches();
    }
}
