﻿/// <reference name="MicrosoftAjax.js"/>

PhotoVote = function (contentWId, isFacebookApp) {
	var loader = $get($("div[votePhotoContentLoader='true']").attr("id"));
	
	if (loader != null) {
		var updateParams = 'photoid=' + contentWId;
		if (isFacebookApp)
			updateParams += "&isfbapp=true"
		loader.Update(updateParams);
	}
}

function onVoteLoadComplete() {
    var contentId = $(".votePhotoHiddenField").val();
    if (contentId != null && contentId != "") {
        Petcentric.Web.Services.UserService.ContestEnded(onContestEndedComplete, onContestEndedError);
    }
}

onContestEndedComplete = function(result, eventArgs) {
    if (result == true) {
        $("#spVote").hide();
        $("#pPhotoInfo").hide();
        $("#spError").hide();
        $("#spEnded").show();
    }
    else {
        var contentId = $(".votePhotoHiddenField").val();
        if (contentId != null && contentId != "") {
            Petcentric.Web.Services.UserService.HasVoted(contentId, onHasVotedComplete, onHasVotedError);
        }
    }
}

onContestEndedError = function(result, eventArgs) {
    $("#spVote").hide();
    $("#pPhotoInfo").hide();
    $("#spError").show();
}

onHasVotedComplete = function(result, eventArgs) {
    if (result == true) {
        $("#spVote").hide();
        $("#pPhotoInfo").hide();
        $("#spSuccessVote").show();
        $("#recaptcha_box").hide();
    }
    else {
        $("#spVote").show();
        $("#pPhotoInfo").show();
    }
}

onHasVotedError = function(result, eventArgs) {
    $("#spVote").hide();
    $("#pPhotoInfo").hide();
    $("#recaptcha_widget").hide();
    $("#spError").show();
}

Vote = function (challengeField, responseField, gPhotoId)
{
	var isSuccess = Petcentric.Web.Services.UserService.VotePhoto(challengeField, responseField, gPhotoId, onVoteComplete, onVoteError);
}

var _justVoted = false;
onVoteComplete = function (result, eventArgs)
{
    if (result == "true")
    {
        $("#spVote").hide();
        $("#pPhotoInfo").hide();
        $("#spSuccessVote").show();
        $("#recaptcha_widget").hide();
        $("#spCatpchaError").hide();
        $("#spVote a img").removeAttr("onclick")
    }
    else if (result == "incorrect")
    {
        $("#spCatpchaError").show();
        Recaptcha.reload();
    }
    else
    {
        $("#spCatpchaError").hide();
        $("#spVote").hide();
        $("#pPhotoInfo").hide();
        $("#recaptcha_widget").hide();
        $("#spError").show();
    }

    _justVoted = true;
}

onVoteError = function(result, eventArgs) {
    $("#spVote").hide();
    $("#pPhotoInfo").hide();
    $("#spError").show();
}

//ID for ASP.NET UpdatePanel that must be refreshed after modal is closed.
closeVoteModal = function () {
	if (_justVoted) {
		UpdateRegisteredContentLoaders();
		_justVoted = false;
	}
	$.modal.close();
	$('.contestpic').attr('src', '../App_Themes/Global/images/petcentricLoading.gif');
	$("#spVote").hide();
	$("#pPhotoInfo").hide();
	$("#spError").hide();
	$("#spSuccessVote").hide();
}

var _contentLoadersToUpdateAfterVoting = new Array();

function UpdateRegisteredContentLoaders()
{
	for (var i = 0; i < _contentLoadersToUpdateAfterVoting.length; i++) {
		var loaderId = $("div[id='" + _contentLoadersToUpdateAfterVoting[i] + "']").attr("id");
		var loader = $get(loaderId);
		if (loader != null) {
			loader.Update();
		}
	}
}

function RegisterContentLoaderForVoteUpdates(contentLoaderId) {
	//alert('registering...' + contentLoaderId);
	_contentLoadersToUpdateAfterVoting[_contentLoadersToUpdateAfterVoting.length] = contentLoaderId;
}

showVote = function() {
    $("#vote").modal({
        opacity: 70,
        persist: true,
        position: [150, ]
    });
}
