﻿var MagazinePages = new Array();
MagazinePages['Preview'] = 23;

MagazinePages['Nov2009'] = 20;
MagazinePages['Dec2009'] = 20;

MagazinePages['Jan2010'] = 20;
MagazinePages['Mar2010'] = 20;
MagazinePages['Apr2010'] = 20;
MagazinePages['May2010'] = 20;
MagazinePages['Jun2010'] = 20;
MagazinePages['Jul2010'] = 20;
MagazinePages['Sep2010'] = 20;
MagazinePages['Oct2010'] = 20;
MagazinePages['Nov2010'] = 20;
MagazinePages['Dec2010'] = 20;

MagazinePages['Jan2011'] = 24;
MagazinePages['Mar2011'] = 24;
MagazinePages['Apr2011'] = 24;
MagazinePages['May2011'] = 24;
MagazinePages['Jun2011'] = 24;
MagazinePages['Jul2011'] = 24;
MagazinePages['Sep2011'] = 24;
MagazinePages['Oct2011'] = 24;
MagazinePages['Nov2011'] = 24;
MagazinePages['Dec2011'] = 24;

MagazinePages['Jan2012'] = 28;

var today = new Date();
var gmtOffset = -today.getTimezoneOffset() / 60;
$(function () {
    FixDesign();
    if (jQuery.browser.msie || jQuery.browser.opera) {
        $(".AllTenRounded").corner("round 10px");
        $(".TopTenRounded").corner("round tl tr 10px");

        $(".AllFiveRounded").corner("round 5px");
        $(".TopFiveRounded").corner("round tl tr 5px");
    }
    FormValidator = $("#form1").validate({
        errorPlacement: function (error, element) {
            Errors += error.html() + "\n";
        }
    });
});
$(window).resize(function () { FixDesign(); });
function FixDesign() {
    if (typeof (CustomFix) == "function") CustomFix();
    else {
        var iw = 768;
        var ih = 497;
        var mh = 497;
        var ww = parseInt($(".MainContainer").width());
        var wh = parseInt($(".MainContainer").height());
        //window.status = (ww + 34) + "px x " + wh + "px";

        var nh = wh - 230;
        nh = nh < mh ? mh : nh;
        $(".PageContainer").css("height", nh + "px");

        var nw = parseInt(nh * (768 / 497)) + 222;
        $(".MainContainer").css("width", nw + "px");
    }
    setTimeout(function () {
        $(".MainNav,.MainNavMember,.RightNavs,.GoogleSearchMember,.RSSBarMember,.LogoutBtn,#RareWorldLogo").css("visibility", "visible");
    }, 200);
}

function ShowHint() {
    $('#LoginHint').css("opacity", "0.9");
    if ($('#LoginHint').is(":hidden")) $('#LoginHint').show("normal");
    else $('#LoginHint').hide("normal");
}

function VerifyPassCode() {
    if ($("#PassCode").val() != "") {
        $(".PassCode").fadeOut();
        $("#AjaxLoader").show();
        SubmitForm({ Action: "ValidatePassCode", PassCode: $("#PassCode").val() }, function (data) {
            ShowResult(data, function (data) {
                if (data.Status == "Ok") {
                    $("#AjaxLoader").hide();
                    $(".PassCode").fadeOut();
                    $(".Password").fadeIn(function () {
                        $(".Password input").focus();
                    });
                }
            }, function () {
                $(".PassCode").fadeIn();
                $("#AjaxLoader").hide();
            });
        });
    } else {
        ShowDialog("Please enter your login", "Error");
    }
    return false;
}

function VerifyLogin() {
    if ($("#Password").val() != "") {
        $("#AjaxLoader").show();
        SubmitForm({ Action: "VerifyLogin", Email: $("#PassCode").val(), Password: $("#Password").val(), gmtOffset: gmtOffset }, function (data) {
            ShowResult(data, function (data) {
                $("#AjaxLoader").hide();
                if (data.Status == "Ok") {
                    ShowPopupOnOverlay('ChangePassword',390);
                }
            }, function () {
                $("#AjaxLoader").hide();
                $("#Password").select();
                $("#Password").focus();
            });
        });
    } else {
        ShowDialog("Please enter your password", "Error");
    }
    return false;
}

function ShowMagazine(fName) {
    fName = fName.replace("\"", "").replace("\"", "");
    ShowFlashOnOverlay({
        FlashFile: BasePath + "Flash/MagazineLoader.swf?" + Math.random(),
        Width: parseInt($(window).width()) - 60,
        Height: parseInt($(window).height()) - 60,
        Params: { "XMLfn": BasePath + "flash/Magazine_" + MagazinePages[fName] + ".xml", "fName": fName, "BasePath": BasePath },
        CloseButton: true
    });

    SubmitForm({ Action: "MagazineHit", Issue: fName, PageNo: 1, URLName: document.location.href });
    return false;
}

function ShowMagazineAtPage(fName, pNo) {
    fName = fName.replace("\"", "").replace("\"", "");
    pNo = pNo.replace("\"", "").replace("\"", "");
    if (fName == "" || pNo == "") {
        ShowDialog("Magazine not available at this time!<br/>Please try again later.", "Error");
        return false;
    }
    ShowFlashOnOverlay({
        FlashFile: BasePath + "Flash/MagazineLoader.swf?" + Math.random(),
        Width: parseInt($(window).width()) - 60,
        Height: parseInt($(window).height()) - 60,
        Params: { "XMLfn": BasePath + "flash/Magazine_" + MagazinePages[fName] + ".xml", "fName": fName, "BasePath": BasePath },
        CloseButton: true
    });
    SubmitForm({ Action: "MagazineHit", Issue: fName, PageNo: pNo, URLName: document.location.href });
    return false;
}

function ShowOffer(name, oID, perFilled) {
    oID = oID.replace("\"", "").replace("\"", "");
    name = name.replace("\"", "").replace("\"", "");
    perFilled = perFilled.replace("\"", "").replace("\"", "");
    ShowImageOnOverlay("Temp/Offers/" + name + ".jpg", oID, perFilled);
    SubmitForm({ Action: "OfferHit", OfferName: name, OfferID: oID, URLName: document.location.href });
}

function UpdatePassword() {
    ClearValidations();
    $("#NewPassword").rules("add", { required: true, minlength: 6, messages: { required: "Please enter your new Password", minlength: "Your password must be atleast 6 characters long. Please re-enter your password."} });
    $("#ConfirmPassword").rules("add", { required: true, equalTo: "#NewPassword", messages: { required: "Please confirm your new Password", equalTo: "New Password and Confirm Password must be same"} });
    if (FormValidator.form()) {
        $("#AjaxLoader").show();
        SubmitForm("ChangePasswordForm", function (data) {
            ShowResult(data, function () {
                document.location.href = "MemberHome.aspx";
            }, function () {
                $("#AjaxLoader").hide();
                $("#NewPassword").focus();
                $("#NewPassword").select();
            });
        });
    } else { ShowDialog(Errors, "Error"); }
    return false;
}

function Logout() {
    ShowDialog("Are you sure, you want to signout from your account?", "Question", function (r) {
        if (r == "Yes") {
            SubmitForm({ Action: "SignOut" }, function (data) {
                ShowResult(data);
            });
        }
    }, "Yes,No");
    return false;
}

function ForceLogout() {
    ShowDialog("Your allocated website browsing time has elapsed. You will now be automatically logged out of the website.", "Info", function (r) {
        SubmitForm({ Action: "SignOut" }, function (data) {
            ShowResult(data);
        });
    });
    return false;
}

function ResetPassword() {
    RemoveDialog();
    EnableOverlay();
    SubmitForm({ Action: "ResetPassword", Email: $("#PassCode").val() }, function (data) {
        DisableOverlay();
        ShowResult(data, function (data) {
            $("#AjaxLoader").hide();
            $("#Password").val("");
            $("#Password").focus();
        });
    });
    return false;
}

function GoogleSearch() {
    SubmitForm({ Action: "SearchGoogle", Keyword: $("#GoogleSearchKeyword").val() }, function () {
        document.location.href = "http://www.google.com/search?q=" + $("#GoogleSearchKeyword").val();
    });
    return false;
}

function RedeemOffer(oID, obj) {
    if (obj) { if ($(obj).html() == "Please wait...") return false; }
    if (UserType == "Full Surrogate Member") return false;
    if (obj) $(obj).html("Please wait...");
    EnableOverlay();
    SubmitForm({ Action: "RedeemOffer", OfferID: oID }, function (data) {
        ShowResult(data, function () {
            if (obj) $(obj).html("Redeem");
        }, function () {
            if (obj) $(obj).html("Redeem");
        });
    });
    return false;
}

function MemberUpgrade(oID) {
    RemoveDialog();
    EnableOverlay();
    ShowPopupOnOverlay('ClientUpgrade', 800, 0, false, "oID=" + oID);
    //SubmitForm({ Action: "MemberUpgrade" }, function (data) {
    //    DisableOverlay();
    //    ShowResult(data);
    //});    
    return false;
}

function getGMTOffset() {
    return gmtOffset;
}

function UpdatePreferences() {
    var i = 0;
    var Params = { "Action": "UpdatePreferences" };
    $(".Block").each(function () {
        var Question = $(this).find("h5").html();
        var QuestionVar = "";
        var Answer = "";
        if ($(this).find("input[type=checkbox]").length > 0) {
            QuestionVar = $(this).find("input[type=checkbox]").attr("name").replace("[]", "");
            $(this).find("input[type=checkbox]").filter("[checked=true]").each(function () {
                Answer += $(this).val() + ",";
            });
            if (Answer.length > 0) Answer = Answer.substr(0, Answer.length - 1);
        } else if ($(this).find("input[type=radio]").length > 0) {
            QuestionVar = $(this).find("input[type=radio]").attr("name");
            Answer = $(this).find("input[type=radio]").filter("[checked=true]").val();
        } else if ($(this).find("input[type=text]").length == 1) {
            QuestionVar = $(this).find("input[type=text]").attr("name");
            Answer = $(this).find("input[type=text]").val();
        }
        Params["Question" + i] = Question;
        Params["QuestionVar" + i] = QuestionVar;
        Params["Answer" + i] = Answer;
        i += 1;
    });
    Params["Count"] = i - 1;
    $("#AjaxLoader").show();
    $(".ExtendScrollPane *").attr("disabled", "disabled").css("opacity","0.8");
    $.post(BasePath + "Controller.ashx", Params, function (data) {
        $(".ExtendScrollPane *").removeAttr("disabled").css("opacity", "1");
        $("#AjaxLoader").hide();
        ShowResult(data, function () {
            DisableOverlay();
        });
    }, "html");
    return false;
}

function CreateSubscription() {
    ClearValidations();
    $("#Email").rules("add", { required: true, email: true, messages: { required: "Please enter your new email address", email: "Invalid email address! Please try user@domain.com"} });
    $("#FirstName").rules("add", { required: true, messages: { required: "Please enter your first name"} });
    $("#LastName").rules("add", { required: true, messages: { required: "Please enter your last name"} });
    $("#Address").rules("add", { required: true, messages: { required: "Please enter your address"} });
    $("#City").rules("add", { required: true, messages: { required: "Please enter your city/town"} });
    if ($("#Country").val()!="United States") $("#State").rules("add", { required: true, messages: { required: "Please enter your state/county"} });
    $("#ZipCode").rules("add", { required: true, messages: { required: "Please enter your zip/post code"} });
    $("#CreditCardNo").rules("add", { required: true, messages: { required: "Please enter your credit card number"} });
    $("#SecurityCode").rules("add", { required: true, messages: { required: "Please enter your credit card security code"} });
    if (FormValidator.form()) {
        $("#AjaxLoader").show();
        $("#CreateSubscriptionForm input,#CreateSubscriptionForm select,#CreateSubscriptionForm a").attr("disabled", "disabled").css("opacity", "0.8");
        SubmitForm("CreateSubscriptionForm", function (data) {
            $("#CreateSubscriptionForm input,#CreateSubscriptionForm select,#CreateSubscriptionForm a").removeAttr("disabled").css("opacity", "1");
            $("#AjaxLoader").hide();
            ShowResult(data, function () {
                DisableOverlay();
            });
        });
    } else { ShowDialog(Errors, "Error"); }
    return false;
}

function ShowTerms() {
    ShowPopupOnOverlay('TheFinePrint', 800);
    return false;
}
