﻿$(document).ready(function()
{
	EggoProductDetail.characterCount();
	EggoProductDetail.emailModalValidation();
	
	// Setting email variable
	$('#email-share-form').data('allowSend', false);
});

// Creating a namespace for all Eggo Waffles functions
var EggoProductDetail = {};

EggoProductDetail.characterCount = function()
{
	$('#optMessage').characterCount({
		charLimit: 400
	});
}

EggoProductDetail.emailModalValidation = function() {
    $("#share-submit").click(function() {
        $('#email-share-form').trigger('submit');
    });

    $('#email-share-form').validate({
        rules: {
            recvEmail: {
                required: true,
                email: true
            },
            sendName: { required: true },
            sendEmail: {
                required: true,
                email: true
            }
        },
        messages: {
            recvEmail: {
                required: false,
                email: false
            },
            sendName: { required: false },
            sendEmail: {
                required: false,
                email: false
            }
        },
        submitHandler: function(form) {
            $('#email-share-form').data('allowSend', true);
        }
    });

    $('#email-share-form').submit(function(event) {
        if ($('#email-share-form').data('allowSend') == true) {

            var toAddress = $("#recvEmail").val();
            var fromName = $("#sendName").val();
            var fromAddress = $("#sendEmail").val();
            var message = $("#optMessage").val();
            var kicId = $("#product-kicid").val();

            var item = {
                "RecipientEmail": toAddress,
                "SenderName": fromName,
                "SenderEmail": fromAddress,
                "Message": message,
                "ProductKicId": kicId
            };

            var item = $.toJSON(item);

            $.ajax({
                cache: false,
                contentType: "application/json; charset=utf-8",
                data: item,
                type: 'POST',
                dataType: 'JSON',
                url: '/Products/EmailToFriend',
                success: function(data) {

                    // Converting return JSON to a JS object
                    var errorObject = $.evalJSON(data);

                    // If there was an error with validation
                    if (errorObject.ReturnCode == 4) {
                        $("#form-error").html("Your message contains inappropriate language and cannot be sent.");
                        //populate each text box with the return text.
                        $("#sendName").val(errorObject.ResultPacket.SenderName);
                        $("#optMessage").val(errorObject.ResultPacket.Message);


                    } else {
                        //based on result do new popup.
                        $('#global-modal-share').dialog('close');
                        clearFormValues();

                        $('#global-modal-thankyou').dialog('option', 'dialogClass', 'thankyou-modal');
                        $('#global-modal-thankyou').dialog('open');
                        $('#close-thankyou-modal-btn').bind("click", function(event) {
                            event.preventDefault();

                            $('#global-modal-thankyou').dialog('close');
                        });

                        $('#tellmore-thankyou-modal-btn').bind("click", function(event) {
                            event.preventDefault();
                            $('#global-modal-thankyou').dialog('close');

                            $('#global-modal-share').dialog('option', 'dialogClass', 'share-modal');
                            $('#global-modal-share').dialog('open');
                        });
                    }
                },
                error: function(data) {
                    //alert(data);
                }
            });
        }

        return false;
    });
}

function clearFormValues() {
    $("#recvEmail").val("");
    $("#sendName").val("");
    $("#sendEmail").val("");
    $("#optMessage").val("");
    $("#form-error").html("");
}