function FDResultBox(message, compMoves) {
    $.post('ajax_get_boxes.php', { FDResultBox: true, message: message, compMoves: compMoves }, function(response) {
        $('#pageWrapper').prepend(response);
        $('#alertBox').show();
        $('.black_overlay').show();
    }, 'html' );
}

function createStatusBox(ajaxResponse,where){
    $.post('ajax_get_boxes.php',{statusBox: ajaxResponse.status,message: ajaxResponse.message},function(response){
        var statusBox = response;
        var content = document.getElementById(where);
        var hasBox = hasStatusBox(content);
        if( hasBox !== false) {
            //$('.black_overlay').hide();
            $('.'+hasBox,content).remove();
        }
        $('#'+where).prepend(statusBox);
        //$('.black_overlay').show();
    },'html');
}

// missing parameter means the page won't be refreshed upon hitting the OK or Close button
function createAlertBox(message, redirectTo){

    if ( typeof(redirectTo) == 'undefined' )
        redirectTo = 0;

    $.ajax({
        type: "POST",
        url: 'ajax_get_boxes.php',
        async: false,
        cache: false,
        dataType: 'html',
        data: "alertBox=true&message=" + message + "&redirectTo=" + redirectTo,
        success: function(response){
            $('#pageWrapper').prepend(response);
            $('#alertBox').show();
            $('.black_overlay').show();
        }
    });

}

function closeAlertBox(redirectTo) {
    $('#alertBox').fadeOut('fast', function() { $('#alertBox').remove(); $('.black_overlay').hide(); });
    if (redirectTo != 0) {
        if (redirectTo == 1)
            redirectTo = document.location.href;

        redirectTo = redirectTo.replace("#playerComments", "");
        redirectTo = redirectTo.replace("?go=card", "");
        redirectTo = redirectTo.replace("?open=club", "");
        window.location.href=redirectTo;
    }
    $('#fancy_overlay').remove();
    return false;
}

function _createConfirmBox( message, file, func ) {
    $.post('ajax_get_boxes.php',{confirmBox: true, message: message, file: file, func: func },function(response){
        $('#pageWrapper').prepend(response);
        $('#confirmBox').show();
        $('.black_overlay').show();
    },'html');
}

function createConfirmBox(message, file, param, param2){
    $.post('ajax_get_boxes.php',{confirmBox: true, message: message, file: file, param: param, param2: param2},function(response){
        $('#pageWrapper').prepend(response);
        $('#confirmBox').show();
        $('.black_overlay').show();
    },'html');
}

function confirmAction(file, param, param2) {

    if ( typeof(param2) == 'undefined' )
        param2 = 0;

    $.post(file,{param: param, param2: param2}, function(response) {

            closeConfirmBox();
            var obj = window.location.href;

            if ( typeof(response.status) != 'undefined' && typeof(response.message) != 'undefined' ) {
                if ( param == 'buyPet' )
                    obj = obj.replace("?go=cart", "?store=24");
                createAlertBox(response.message, obj);
            } else {
                if ( typeof(param2) == 'undefined' )
                    obj = obj.replace("?go=cart","");
                window.location.href=obj;
            }
        return false;
    }, 'json' );

}

function closeConfirmBox() {
    $('#confirmBox').fadeOut('fast', function() { $('#confirmBox').remove(); $('.black_overlay').hide(); });
    return false;
}

function createIsEligibleBox (message, url) {
    $.post('ajax_get_boxes.php',{cancelAction: true, message: message, url: url},function(response){
        $('#pageWrapper').prepend(response);
        $('#confirmBox').show();
        $('.black_overlay').show();
    },'html');
}

function closeIsEligibleBox(url) {
    $('#confirmBox').fadeOut('fast', function() { $('#confirmBox').remove(); $('.black_overlay').hide(); });
    if (typeof(url) != "undefined")
        document.location.href = url;
    else {
        // Lady pressed "Proceed". Set field `eligible` in table `player_info` to 1.
        $.post("options.php", {setEligible: 1}, function(response) {
            createAlertBox(transl['NoConfirm']);
        }, 'json' );
    }
    return false;
}

function openQuickMessage(p_id, player_to, from_id, from_player) {
    // do not allow messages to be sent to ladies under the age of 14
    $.post( 'send_quick_message.php', { checkAge: p_id }, function(response) {
        if ( response.status == 1 ) {
            if (p_id == from_id)
                createAlertBox( transl.NoMessageToYourself);
            else {
                $.get('ajax_get_boxes.php', { quickMessage: true, p_id: p_id, player_to: player_to, from_id: from_id,
                    from_player: from_player }, function(response){
                    $('#pageWrapper').prepend(response);
                    $('#quickMessage').fadeIn('fast');
                    $('.black_overlay').show();
                },'html');
            }
        } else
            createAlertBox( transl.UnderAgeLady );
    }, 'json' );
}

function closeQuickMessage() {
    $('#quickMessage').fadeOut('fast',function(){ $('#quickMessage').remove(); $('.black_overlay').hide(); });
    return false;
}

function sendQuickMessage() {
    $.post('send_quick_message.php', {p_id: $('#p_id').val(), player_to: $('#player_to').val(), from_id: $('#from_id').val(),
           from_player: $('#from_player').val(), msg: $('#msg').val() }, function(response) {
        if (response.status == 1) {
            closeQuickMessage();
            createAlertBox( transl.MessageSent);
        } else {
            $('#messNoUser').hide();
            $('#messInvalidUser').hide();
            $('#messNoMess').hide();
            if (response.noUser)
                $('#messNoUser').show();

            if (response.invalidUser)
                $('#messInvalidUser').show();

            if (response.noMsg)
                $('#messNoMess').show();

        }
    }, 'json');
    return false;
}

function openFeedback()
{
	// temporary alert window until the admin panel is fixed
    alert("Feedback is currently under maintenance. Please use the forum to contact us. Thank you.");
    return;

    $.get('ajax_get_boxes.php',{feedbackForm: true},function(response){
        $('#pageWrapper').prepend(response);
        $('#feedbackForm').fadeIn('fast');
        $('.black_overlay').show();
    },'html');
}


function closeFeedback() {
    $('#feedbackForm').fadeOut('fast', function() { $('#feedbackForm').remove(); $('.black_overlay').hide(); });
    return false;
}

function sendFeedback() {
    $.post('send_feedback.php', {user: $('#ffUser').val(), email: $('#ffEmail').val(), message: $('#ffMessage').val() }, function (response) {
        if (response.status == 1) {
            closeFeedback();
            createAlertBox( transl.FeedbackThanks);
        } else {
            $('#feedbackNoUser').hide();
            $('#feedbackInvalidUser').hide();
            $('#feedbackNoEmail').hide();
            $('#feedbackInvalidEmail').hide();
            $('#feedbackNoMessage').hide();
            if (response.noUser == 1)
                $('#feedbackNoUser').show();

            if (response.invalidUser == 1)
                $('#feedbackInvalidUser').show();

            if (response.noEmail == 1)
                $('#feedbackNoEmail').show();

            if (response.invalidEmail == 1)
                $('#feedbackInvalidEmail').show();

            if (response.noMessage == 1)
                $('#feedbackNoMessage').show();

        }
    }, 'json');
    return false;
}

function open_terms()
{
    $.get('ajax_get_boxes.php',{terms_and_conditions: true},function(response){
        $('#pageWrapper').prepend(response);
        $('#terms_conditions').fadeIn('fast');
        $('.black_overlay').show();
        $('#terms_conditions > #activityBox > a.dialogClose').focus();
    },'html');
}

function close_terms() {
    $('#terms_conditions').fadeOut('fast', function() { $('#terms_conditions').remove(); $('.black_overlay').hide(); });
    return false;
}


function openInviteFriends() {
    $.get('ajax_get_boxes.php',{inviteFriends: true},function(response){
        $('#pageWrapper').prepend(response);
        $('#inviteFriends').fadeIn('fast');
        $('.black_overlay').show();
    },'html');
}

function closeInviteFriends() {
    $('#inviteFriends').fadeOut('fast', function() { $('#inviteFriends').remove(); $('.black_overlay').hide(); });
    return false;
}

function inviteFriends() {
    $.post('invite_friends.php', {user: $('#ffUser').val(), email: $('#ffEmail').val(), friends: $('#ffFriends').val(), message: $('#ffMessage').val() }, function (response) {
        if ( response.status == 1 ) {
            closeInviteFriends();
            createAlertBox( transl.InviteFriendsThanks );
        } else {
            $('#invFrNoUser').hide();
            $('#invFrInvalidUser').hide();
            $('#invFrNoEmail').hide();
            $('#invFrInvalidEmail').hide();
            $('#invFrInvalidEmails').hide();
            $('#invFrNoEmails').hide();
            $('#invFrNoMessage').hide();

            if (response.noUser == 1)
                $('#invFrNoUser').show();

            if (response.invalidUser == 1)
                $('#invFrInvalidUser').show();

            if (response.noEmail == 1)
                $('#invFrNoEmail').show();

            if (response.invalidEmail == 1)
                $('#invFrInvalidEmail').show();

            if (response.noEmails == 1)
                $('#invFrNoEmails').show();

            if (response.invalidEmails == 1)
                $('#invFrInvalidEmails').show();

            if (response.noMessage == 1)
                $('#invFrNoMessage').show();

        }
    }, 'json');
    return false;
}

function openPhotoBox() {
    $.get('ajax_get_boxes.php',{takePhoto: true},function(response){
        $('#pageWrapper').prepend(response);
        $('#takePhoto').fadeIn('fast');
        $('.black_overlay').show();
    },'html');
}

function closePhotoBox() {
    $('#takePhoto').fadeOut('fast', function() { $('#takePhoto').remove(); $('.black_overlay').hide(); });
    return false;
}

var openTour = function( step ) {
    $.get( 'gatetour.php', { step: step }, function( response ) {

        var box = $('#gameTour');

        $('.tourImage').attr('id','tour-'+step);
        $('.tourText').html( response.tourText );
        $('.tourNav').html( response.tourNav );

        if ( box.css('display') == 'none' )
            box.css('display','block');

		$('.tourNav > a.next').focus();

    }, 'json' );
    return false;
}

function catchKeyUnicode(e) {
	var unicode=e.keyCode? e.keyCode : e.charCode;
	// Esc key is pressed
	if ( unicode == 27 ) {
		$('#register').hide();
		closeFeedback();
		$('#sendPass').hide();
		$('#gameTour').hide();
		$('#jquery-lightbox').remove();
		$('#jquery-overlay').remove();
		close_terms();
		$('.black_overlay').hide();
		$('#username').focus();
	}
}