﻿var EmailPanel = null;
var SendEmailProgress = true;

if (initCaller != null)
    initCaller.push("initSendEmail()");


function initSendEmail() {
    $("a.btnSendEmail").live("click", function() {
        if (SendEmailProgress) {
            var panel = $(this).parents("div.tipAFriend").get(0);
            var validateEmailForm = new HHus.Web.ValidationClass(panel);
            if (validateEmailForm.Validate()) {
                var txtName = null;
                var txtNameItems = $("#TipAFriendFromName", panel);
                if (txtNameItems.length > 0)
                    txtName = txtNameItems[0].value;

                var txtEmail = null;
                var txtEmailItems = $("#TipAFriendFromMail", panel);
                if (txtEmailItems.length > 0)
                    txtEmail = txtEmailItems[0].value;

                var txtAddresseeName = null;
                var txtAddresseeNameItems = $("#TipAFriendToName", panel);
                if (txtAddresseeNameItems.length > 0)
                    txtAddresseeName = txtAddresseeNameItems[0].value;

                var txtAddresseeEmailItems = $("#TipAFriendToMail", panel);
                if (txtAddresseeEmailItems.length > 0) {
                    txtAddresseeEmail = txtAddresseeEmailItems[0].value;
                }

                var txtMessage = null;
                var txtMessageItems = $("#TipAFriendMessage", panel);
                if (txtMessageItems.length > 0)
                    txtMessage = txtMessageItems[0].value;

                var subjectTemplate = $("input[ id *= 'hdnSubject' ]", panel)[0].value;
                var link = $("input[ id *= 'hdnLink' ]", panel)[0].value;
                var emailTemplateID = $("input[ id *= 'hdnEmailTemplate' ]", panel)[0].value;
                var curEmail = new HHus.Web.EmailClass(txtAddresseeEmail, txtAddresseeName, txtEmail, txtName, null, subjectTemplate, txtMessage, link, keyCaptcha, getCaptchaText(panel), emailTemplateID);
                SendEmailProgress = false;
                HHus.Web.CommonMethods.SendEmail(okEmailSent, errorEmailSent, curEmail);
                EmailPanel = panel;
            }
            else {
                clearMessage(panel);
                for (var j = 0; j < validateEmailForm.ErrorArray.length; j++) {
                    switch (validateEmailForm.ErrorArray[j]) {
                        case "email":
                            addListMessage("InvalidEmail", panel);
                            break;
                        case "required":
                            addListMessage("Required", panel);
                            break;
                    }
                }
            }
        }
        return false;
    });

    $("a.btnSendEmailSMS").live("click", function() {
        if (SendEmailProgress) {
            var panel = $(this).parents("#shoppingList").get(0);
            var validateEmailForm = new HHus.Web.ValidationClass(panel);

            var txtMobileNumber = null;
            var txtMobileNumberItems = $("#shopingListSendSMS", panel);
            if (txtMobileNumberItems.length > 0) {
                txtMobileNumber = txtMobileNumberItems[0].value;
                if (txtMobileNumber == txtMobileNumberItems.attr('title')) {
                    txtMobileNumber = '';
                }
                else {
                    txtMobileNumber = txtMobileNumber.replace(/ /g, '');
                }
            }

            if (validateEmailForm.Validate()) {
                var txtAddresseEmail = null;
                var txtAddresseEmailItems = $("#shopingListSendMail", panel);
                if (txtAddresseEmailItems.length > 0) {
                    txtAddresseEmail = txtAddresseEmailItems[0].value;
                    if (txtAddresseEmail == txtAddresseEmailItems.attr('title')) {
                        txtAddresseEmail = '';
                    }
                }

                var txtMessage = null;
                var txtMessageItems = $("textarea[ id $= shoppingListTextarea]", panel);
                if (txtMessageItems.length > 0)
                    txtMessage = txtMessageItems[0].value;

                var linksContainer = $("#linksToPagesContainer").get(0);
                txtMessage += '\n';
                txtMessage += linksContainer.innerHTML;

                var subjectTemplate = $("input[ id *= 'hdnSubject' ]", panel)[0].value;
                var link = $("input[ id *= 'hdnLink' ]", panel)[0].value;
                var emailTemplateID = $("input[ id *= 'hdnEmailTemplate' ]", panel)[0].value;

                if ($("span[ id $= 'lblShoppingList' ]").length > 0) {
                    if ($.trim(txtMessage) != '') {
                        $("span[ id $= 'lblShoppingList' ]").text($("input[ id *= 'hdnCaptionContin' ]")[0].value);
                    }
                    else {
                        $("span[ id $= 'lblShoppingList' ]").text($("input[ id *= 'hdnCaptionAdd' ]")[0].value);
                    }
                }
                var curEmail = new HHus.Web.EmailClass(txtAddresseEmail, null, null, null, txtMobileNumber, subjectTemplate, txtMessage, link, keyCaptcha, getCaptchaText(panel), emailTemplateID);
                SendEmailProgress = false;
                HHus.Web.CommonMethods.SendEmail(okEmailSent, errorEmailSent, curEmail);
                EmailPanel = panel;
            }
            else {
                clearMessage(panel);
                for (var j = 0; j < validateEmailForm.ErrorArray.length; j++) {
                    switch (validateEmailForm.ErrorArray[j]) {
                        case "halfRequired":
                            addListMessage("HalfRequired", panel);
                            return;
                        case "email":
                            addListMessage("InvalidEmail", panel);
                            break;
                        case "mobile":
                            addListMessage("InvalidMobile", panel);
                            break;
                    }
                }
            }
        }
        return false;
    });
}

function okEmailSent(retResult) {
    if (retResult && retResult.d == 1) {
        setListMessage("Emailsent", EmailPanel);
        setNewCaptcha(EmailPanel);
        setTimeout('$("div.tipAFriend").hide()',1500);
        
    }
    else if (retResult && retResult.d == 9) {
        setListMessage("EmailAndSmsSent", EmailPanel);
        setNewCaptcha(EmailPanel);
        setTimeout('$("div.tipAFriend").hide()', 1500);
       
    }
    else if (retResult && retResult.d == 0) {
        setListMessage("IncorrectCaptcha", EmailPanel);
        setNewCaptcha(EmailPanel);
    }
    else if (retResult && retResult.d == 2) {
        setListMessage("Emailsenterror", EmailPanel);
        setNewCaptcha(EmailPanel);
    }
    else if (retResult && retResult.d == 5) {
        setListMessage("EmailsentSmsError", EmailPanel);
        setNewCaptcha(EmailPanel);
    }
    else if (retResult && retResult.d == 6) {
        setListMessage("EmailEndSMSError", EmailPanel);
        setNewCaptcha(EmailPanel);
    }
    else if (retResult && retResult.d == 10) {
        setListMessage("SmssentEmailError", EmailPanel);
        setNewCaptcha(EmailPanel);
    }
    else if (retResult && retResult.d == 8) {
        setListMessage("Smssent", EmailPanel);
        setNewCaptcha(EmailPanel);
        setTimeout('$("div.tipAFriend").hide()', 1500);
       
    }
    else if (retResult && retResult.d == 4) {
        setListMessage("SmssentError", EmailPanel);
        setNewCaptcha(EmailPanel);
    }

    EmailPanel = null;
    HHus.Web.CommonMethods.HideAjax("SendEmail");
    SendEmailProgress = true;
}
function errorEmailSent() {
    setListMessage("EmailServiceIsNotAv", EmailPanel);
    setNewCaptcha(EmailPanel);
    EmailPanel = null;
    HHus.Web.CommonMethods.HideAjax("SendEmail");
    SendEmailProgress = true;
}

function clearSendEmailForm() {
    var txtNameItems = $("#TipAFriendFromName", EmailPanel);
    if (txtNameItems.length > 0)
        txtNameItems[0].value = '';

    var txtEmailItems = $("#TipAFriendFromMail", EmailPanel);
    if (txtEmailItems.length > 0)
        txtEmailItems[0].value = '';

    var txtAddresseeNameItems = $("#TipAFriendToName", EmailPanel);
    if (txtAddresseeNameItems.length > 0)
        txtAddresseeNameItems[0].value = '';

    var txtAddresseeEmailItems = $("#TipAFriendToMail", EmailPanel);
    if (txtAddresseeEmailItems.length > 0) {
        txtAddresseeEmailItems[0].value = '';
    }
    else {
        $("#shopingListSendMail", EmailPanel)[0].value = '';
    }

    var txtMessageItems = $("#TipAFriendMessage", EmailPanel);
    if (txtMessageItems.length > 0)
        txtMessageItems[0].value = '';

    $('input[title!=undefined]', EmailPanel).hint();
    $('textarea[title!=undefined]', EmailPanel).hint();
    setBlankCaptcha(EmailPanel);

}

function setListMessage(messageTemplate, parent) {
    $("p.system-message", parent).html(getAlertMessage(messageTemplate)).fadeIn("slow");
}

function addListMessage(messageTemplate, parent) {
    var curValue = $.trim($("p.system-message", parent).html());
    if (curValue != '&nbsp;' && curValue != '') {
        curValue += "<br />";
    }
    else {
        curValue = '';
    }
    $("p.system-message", parent).html(curValue + getAlertMessage(messageTemplate)).fadeIn("slow");
}

function clearMessage(parent) {
    $("p.system-message", parent).html('').hide();
}