/**
 * Add to Favorite
 * Tip a Friend
 * Send abuse  
 */

TRAVEL.AddToFavorite = function (type, id) {
    var ajaxLink = baseUrl + "ajaxCommand.service?command=travel.AddToFavoriteCommand";

    TRAVEL.getJSON(ajaxLink, {'type': type, 'id': id}, function (model) {
        if (model && model.count) {
            $('#favCounter').text(model.count);
        }
    });
}


TRAVEL.TipAFriend = function (type, id, e) {
	var assets = TRAVEL.Assets.AddToFavorite;

    var win = TRAVEL.Popup.create(assets.friendicontitle, e.target);
    var obj = [];

    var msg = [
        assets.friendemail,
        assets.yourname,
        assets.messagetext
    ];

    var rxEmail = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;

    obj.push('<table class="popup-form"><tbody>',
            '<tr>',
                '<td style="width: 50%;"><div class="text wrap-lp"><input class="text" type="text" value="', msg[0], '" /></div></td>',
                '<td style="width: 50%;"><div class="text wrap-rp"><input class="text" type="text" value="', msg[1], '" /></div></td>',
            '</tr>',
            '<tr>',
                '<td colspan="2"><div class="text wrap-tbp"><textarea rows="7" class="text">', msg[2], '</textarea></div></td>',
            '</tr>',
        '</tbody></table>',
        '<div class="clearer">',
            '<div class="ftr">',
                '<table class="btn btn20"><tr>',
                    '<td class="btn-left"><span></span></td>',
                    '<td class="btn-center">',
                        '<span unselectable="on"><button type="button" class="btn-text">'+assets.cancel+'</button></span>',
                    '</td>',
                    '<td class="btn-right"><span></span></td>',
                '</tr></table>',
            '</div>',
            '<div class="ftr">',
                '<table class="btn btn20" style="margin-right: 10px;"><tr>',
                    '<td class="btn-left"><span></span></td>',
                    '<td class="btn-center">',
                        '<span unselectable="on"><button disabled="disabled" type="button" class="btn-text">'+assets.send+'</button></span>',
                    '</td>',
                    '<td class="btn-right"><span></span></td>',
                '</tr></table>',
            '</div>',
        '</div>');

    $(win).append(obj.join(''));

    var sendButton = $('.btn:eq(1) button', win);

    $('input, textarea', win).each(function(i, obj) {
        $(obj).focus(function () {
            $(this).addClass('focus');
            if ($(this).val() === msg[i]) {
                $(this).val('');
            }
        }).blur(function () {
            if ($(this).val() === '') {
                $(this).removeClass('focus');
                $(this).val(msg[i]);
            }
        });
    });

    // validate email
    $('input:eq(0)', win).keyup(function () {
        if (rxEmail.test(this.value)) {
            $(sendButton).attr('disabled', '');
        } else {
            $(sendButton).attr('disabled', 'disabled');
        }
    });

    var btn = $('.btn', win);

    TRAVEL.Button(btn.get(1), 'click', function () {

        $("button", this).attr('disabled', 'disabled');

        var ajaxLink = baseUrl + "ajaxCommand.service?command=travel.SendTipAFriendCommand";
        var email = $('input:eq(0)', win).val();
        var name = $('input:eq(1)', win).val();
        var text = $('textarea', win).val();

        $.post(ajaxLink, 'sp=' + type + '&sp=' + id + '&sp=' + email + '&sp=' + name + '&sp=' + text, function(responseText) {
            var jsonExpression = "(" + responseText + ")";
            var model = eval(jsonExpression);

            if (model.result) {
                $(win).html('<p>' + model.result + '</p>');
            } else {
                $(win).html('<p>Something wrong.</p>');
            }

            setTimeout(function () {
                TRAVEL.Popup.destroy();
            }, 5000);
        });
    });

    TRAVEL.Button(btn.get(0), 'click', function () {
        TRAVEL.Popup.destroy();
    });

};




TRAVEL.SendAbuse = function (type, id, e) {

	var assets = TRAVEL.Assets.AddToFavorite;

    var win = TRAVEL.Popup.create(assets.abuseicontitle, e.target, true);
    var obj = [];

    var msg = [
        assets.messagetext
    ];

    obj.push('<table class="popup-form"><tbody>',
            '<tr>',
                '<td><div class="text wrap-tbp"><textarea rows="7" class="text">', msg[0], '</textarea></div></td>',
            '</tr>',
        '</tbody></table>',
        '<div class="clearer">',
            '<div class="ftr">',
                '<table class="btn btn20"><tr>',
                    '<td class="btn-left"><span></span></td>',
                    '<td class="btn-center">',
                        '<span unselectable="on"><button type="button" class="btn-text">'+assets.cancel+'</button></span>',
                    '</td>',
                    '<td class="btn-right"><span></span></td>',
                '</tr></table>',
            '</div>',
            '<div class="ftr">',
                '<table class="btn btn20" style="margin-right: 10px;"><tr>',
                    '<td class="btn-left"><span></span></td>',
                    '<td class="btn-center">',
                        '<span unselectable="on"><button type="button" class="btn-text">'+assets.send+'</button></span>',
                    '</td>',
                    '<td class="btn-right"><span></span></td>',
                '</tr></table>',
            '</div>',
        '</div>');

    $(win).append(obj.join(''));

    $('textarea', win).each(function(i, obj) {
        $(obj).focus(function () {
            $(this).addClass('focus');
            if ($(this).val() === msg[i]) {
                $(this).val('');
            }
        }).blur(function () {
            if ($(this).val() === '') {
                $(this).removeClass('focus');
                $(this).val(msg[i]);
            }
        });
    });

    var btn = $('.btn', win);

    $(btn.get(1)).click(function () {

        $("button", this).attr('disabled', 'disabled');

        var ajaxLink = baseUrl + "ajaxCommand.service?command=travel.SendAbuseCommand";
        var text = $('textarea', win).val();
		var url = window.location.href;
        $.post(ajaxLink, 'sp=' + type + '&sp=' + id + '&sp=' + text+'&sp=' + url, function(responseText) {
            var jsonExpression = "(" + responseText + ")";
            var model = eval(jsonExpression);

            if (model.result) {
                $(win).html('<p>' + model.result + '</p>');
            } else {
                $(win).html('<p>Something wrong.</p>');
            }

            setTimeout(function () {
                TRAVEL.Popup.destroy();
            }, 5000);
        });
    });

    $(btn.get(0)).click(function () {
        TRAVEL.Popup.destroy();
    });


};