﻿/// <reference path="~/Scripts/IntelliSense/Intellisense.js" />
(function()
{
    BSC.UI.Ws.Subscription = function()
    {
        /// <summary>
        /// Bind events to ui elements
        /// </summary>
        var load = function(p1)
        {
            var guid = p1;
        };

        var bind_paying = function(p1)
        {
            var guid = p1;
            //            var product = $("input[name='" + guid + "_SubscriptionSelector']:checked").val();
            //            $("#" + guid + "_CurrentProduct").val(product);

            //            $("input[name='" + guid + "_SubscriptionSelector']").change(function(e)
            //            {
            //                // function(guid, ok_key, cancel_key, header, description, callback, data, icon)
            //                BSC.UI.TwoOptionAlert(BSC.T.Get("JS.BSC.UI.ChangeRenewalOk"), BSC.T.Get("JS.BSC.UI.ChangeRenewalCancel"), BSC.T.Get("JS.BSC.UI.ChangePeriodHeader"), BSC.T.Get("JS.BSC.UI.ChangePeriodDescription"), function()
            //                {
            //                    var newsub = $("input[name='" + guid + "_SubscriptionSelector']:checked").val();
            //                    var data = { newSubscription: newsub };
            //                    var product = $("#" + guid + "_CurrentProduct").val();

            //                    BSC.D.AjaxPost("/Subscription/SubscriptionPeriodUpdate", data, function(res)
            //                    {
            //                        if (res.success)
            //                        {
            //                            BSC.UI.Alert(BSC.T.Get("JS.BSC.UI.ChangeRenewalOk"), null, BSC.T.Get("JS.BSC.UI.ChangePeriodSuccess"), BSC.T.Get("JS.BSC.UI.ChangePeriodChanged"), null, null, "info");
            //                            var product = $("input[name='" + guid + "_SubscriptionSelector']:checked").val();
            //                            $("#" + guid + "_CurrentProduct").val(product);
            //                        }
            //                        else
            //                        {
            //                            alert("An error occured");
            //                            $("input[name='" + guid + "_SubscriptionSelector'][value=" + product + "]").attr("checked", "checked");
            //                        }
            //                    }, "json", guid);

            //                }, null, function()
            //                {
            //                    var product = $("#" + guid + "_CurrentProduct").val();
            //                    $("input[name='" + guid + "_SubscriptionSelector'][value=" + product + "]").attr("checked", "checked");
            //                }, null, "info"
            //                );

            //                return false;
            //            });

            // function(left_key, right_key, header, description, callback_left, data_left, callback_right, data_right, icon)

            $("#" + guid + "_ChangeRenewal").click(function(e)
            {
                BSC.UI.Alert("Ok", "Cancel", "Are you sure ?", "This will update your subscription settings.", function(e)
                {
                    var ischecked = $('#' + guid + '_checkrenewal').attr("checked");
                    var data = { isactive: ischecked };
                    var success = false;

                    BSC.D.AjaxPost("/Subscription/SubscriptionRenewalUpdate", data, function(res)
                    {
                        if (res.success)
                        {
                            // UPDATE PERIOD

                            var newsub = $("input[name='" + guid + "_SubscriptionSelector']:checked").val();
                            var data = { newSubscription: newsub };

                            BSC.D.AjaxPost("/Subscription/SubscriptionPeriodUpdate", data, function(res)
                            {
                                if (res.success)
                                {
                                    BSC.UI.Alert("Ok", null, "Success", "Settings where updated.", null, null, "info");
                                    //self.location.reload();
                                    BSC.UI.W.Reload(guid);
                                }
                                else
                                {
                                    alert("An error occured");
                                }
                            }, "json", guid);

                            // END UPDATE PERIOD
                        }
                        else
                        {
                            alert("An error occured");
                        }
                    }, "json", guid);

                }, null, "info");


                //            
                //                var ischecked = $('#' + guid + '_checkrenewal').attr("checked");

                //                alert(ischecked);

                //                var description = BSC.T.Get("JS.BSC.UI.ChangeRenewalEnable");
                //                if (!ischecked)
                //                {
                //                    description = BSC.T.Get("JS.BSC.UI.ChangeRenewalDisable");
                //                }

                //                BSC.UI.TwoOptionAlert(BSC.T.Get("JS.BSC.UI.ChangeRenewalOk"), BSC.T.Get("JS.BSC.UI.ChangeRenewalCancel"), BSC.T.Get("JS.BSC.UI.ChangeRenewalHeader"), description, function()
                //                {
                //                    var data = { isactive: ischecked };
                //                    var msg = BSC.T.Get("JS.BSC.UI.ChangeRenewaIslEnable");
                //                    if (!ischecked)
                //                    {
                //                        msg = BSC.T.Get("JS.BSC.UI.ChangeRenewaIsDisable");
                //                    }

                //                    BSC.D.AjaxPost("/Subscription/SubscriptionRenewalUpdate", data, function(res)
                //                    {
                //                        if (res.success)
                //                        {
                //                            BSC.UI.Alert("Ok", null, "Success", msg, null, null, "info");
                //                            GO("/subscription");
                //                        }
                //                        else
                //                        {
                //                            alert("An error occured");
                //                        }
                //                    }, "json", guid);
                //                },
                //                null, function()
                //                {
                //                    if (ischecked)
                //                        $('#' + guid + '_checkrenewal').attr("checked", false);
                //                    else
                //                        $('#' + guid + '_checkrenewal').attr("checked", true);
                //                },
                //                null, "info"
                //                );

                return false;
            });
        };

        var bind_notpaying = function(p1)
        {
            var guid = p1;

            $("#" + guid + " button.subbutton").click(function(e)
            {
                var id = this.id;
                var productid = (id.split("_"))[1];

                BSC.UI.AlertConfirmPurchase({ productid: productid }, function(res)
                {
                    BSC.UI.Alert(null, null, "Success", "The page will now reload.", function() { self.location.reload(); }, null, "info");
                    return false;
                },
                function(res)
                {
                    $("#Alert").hide(); // $("#AlertOverlay").hide();

                    BSC.UI.Alert("Enter new creditcard information", "Cancel", "Invalid creditcard information", "The creditcard information we have in the system is invalid.", function() { window.open('/subscription/ChoosePaymentType/?productid=' + res.response.productid + '&paymethod=createpayment', 'BeautifulPeople Subscription', 'height=630, width=670'); }, null, "info");
                    BSC.UI.W.Reload(guid);
                    return false;
                });
            });
        };

        /// <summary>
        /// Bind events to ui elements
        /// </summary>
        var bind = function(p1)
        {
            var guid = p1;

            BSC.E.MapHrefs();

            var w = BSC.UI.Ws.Get(guid);
            var jQ = BSC.U.ParseQuery(w.query); //, { id: 'string?' }
            var discountcodeQ = "";
            if (jQ.discountcode)
            {
                discountcodeQ = "&code=" + jQ.discountcode;
            }

            $("#subscription_standard").click(function(e)
            {
                var w = window.open(BSC.BASE_PAYMENT_PATH + 'subscription/ChooseSubscriptionType/?subscriptiontype=10' + discountcodeQ, 'BeautifulPeopleSubscription', 'height=630, width=670, scrollbars=1');
                if (window.focus) { w.focus(); }
                return false;
            });

            $("#subscription_premium").click(function(e)
            {
                var w = window.open(BSC.BASE_PAYMENT_PATH + 'subscription/ChooseSubscriptionType/?subscriptiontype=20' + discountcodeQ, 'BeautifulPeopleSubscription', 'height=630, width=670, scrollbars=1');
                if (window.focus) { w.focus(); }
                return false;
            });

            if (BSC.D.P.IsPaying())
                bind_paying(guid);
            else
                bind_notpaying(guid);
        };

        /// <summary>
        /// Unbind events to ui elements
        /// </summary>
        var unbind = function(p1)
        {
            var guid = p1;

        };
        return {
            /// <summary></summary>
            /// <param name="data"></param>
            /// <return></return>
            Load: load,

            /// <summary></summary>
            /// <param name="data"></param>
            /// <return></return>
            Bind: bind,

            /// <summary></summary>
            /// <param name="data"></param>
            /// <return></return>
            Unbind: unbind,

            ReloadPage: function(id)
            {
                self.location.href = "/subscription/updatepayment/" + id;
            }
        };
    } ();
})();
//BSC.E.Subscribe("load", BSC.UI.Ws.Subscription.Load, null, "subscription");
BSC.E.Subscribe("bind", BSC.UI.Ws.Subscription.Bind, null, "subscription");
//BSC.E.Subscribe("unbind", BSC.UI.Ws.Subscription.Unbind, null, "subscription");


(function()
{
    BSC.UI.Ws.Subscription.Upgrade = function()
    {

        /// <summary>
        /// Bind events to ui elements
        /// </summary>
        var bind = function(p1)
        {
            var guid = p1;
            $("#" + guid + "_upgrade").click(function(e)
            {
                var productid = 13;

                BSC.UI.AlertConfirmPurchase({ productid: productid }, function(res)
                {
                    BSC.UI.Alert(null, null, BSC.T.Get("Subscription.Common.Thank"), BSC.T.Get("Subscription.Common.Success"), function()
                    {
                        self.location.href = "/site#/subscription";
                        self.location.reload();

                        $("#Alert").hide();
                    }, null, "info");
                },
                function(res)
                {
                    if (res.response.reason == 4)
                    {
                        $("#Alert").hide(); // $("#AlertOverlay").hide();
                        BSC.UI.Alert(BSC.T.Get("JS.BSC.UI.ErrorAlert.Green"), BSC.T.Get("JS.BSC.UI.ErrorAlert.Red"), BSC.T.Get("JS.BSC.UI.ErrorAlert.Header"), BSC.T.Get("JS.BSC.UI.ErrorAlert.Message"), function() { window.open('/subscription/ChoosePaymentType/?productid=' + res.response.productid + '&paymethod=createpayment', 'BeautifulPeople Subscription', 'height=630, width=670'); }, null, "info");
                    }
                    else if (res.response.reason == 3)
                    {
                        BSC.UI.ShowHelpBubble("alert_confirmpurchase_password", "alert", res.response.header, res.response.message, { top: -10, left: 180 });
                    }
                    else
                    {
                        $("#Alert").hide(); // $("#AlertOverlay").hide();
                        BSC.UI.Alert(null, null, "Error", "An error occured", null, null, "info");
                    }
                    return false;
                });
                return false;
            });
        };

        /// <summary>
        /// Unbind events to ui elements
        /// </summary>
        var unbind = function(p1)
        {
            var guid = p1;

        };
        return {

            /// <summary></summary>
            /// <param name="data"></param>
            /// <return></return>
            Bind: bind,

            /// <summary></summary>
            /// <param name="data"></param>
            /// <return></return>
            Unbind: unbind
        };
    } ();
})();
BSC.E.Subscribe("bind", BSC.UI.Ws.Subscription.Upgrade.Bind, null, "subscription.upgrade");
BSC.E.Subscribe("unbind", BSC.UI.Ws.Subscription.Upgrade.Unbind, null, "subscription.upgrade");

