﻿var WEBSERVICEURL = "http://www.raceforlife.org/R4LShareWebSvc/";
var WEBSERVICEURLSECURE = "https://www.raceforlife.org/R4LShareWebSvc/"; 
var SHARE = 0;
var INVITE = 1;
var INVITEGENERIC = 2;
var headerShare = "Share this page";
var headerInvite = "Invite your friends to this Race for Life event";
var headerInviteGeneric = "Invite your friends to Race for Life";

$(document).ready(function() {

    function clear() {
        $("#yourname").val("");
        $("#youremail").val("");
        $("#friends").val("");
        $("#yourmessage").val("");
        $("#error1").removeClass("tick");
        $("#error2").removeClass("tick");
        $("#error3").removeClass("tick");
        $("#mes1").addClass("hidden");
        $("#mes2").addClass("hidden");
        $("#mes3").addClass("hidden");
    }

    $('textarea[maxlength]').keyup(function() {
        var max = parseInt($(this).attr('maxlength'));
        if ($(this).val().length > max) {
            $(this).val($(this).val().substr(0, $(this).attr('maxlength')));
        }

        $(this).parent().find('.charsRemaining').html('You have ' + (max - $(this).val().length) + ' characters remaining');
    });

    function thankyou(friends) {

        var string = friends;
        var items = string.split(',');
        var list1 = '';
        var list2 = '';

        for (i = 0; i < items.length; i++) {

            if (i % 2) {
                list2 = list2 + '<p>' + items[i] + '</p>';
            }
            else {
                list1 = list1 + '<p>' + items[i] + '</p>';
            }
        }
        $("#thankyou1").html(list1);
        $("#thankyou2").html(list2);
    }

    $("#clear").click(function() {
        clear();
        return false;
    })

    //if using https then call secure webservice
    function getWebSvcURL() {

        var pathname = window.location;
        if (pathname.href.substring(4, 5) == "s")
            return WEBSERVICEURLSECURE;

        return WEBSERVICEURL;
    }

    $(".sponsorAFriend_link").click(function() {
        var rid = $("#RID").html();
        $("#form").removeClass("hidden");
        $("#thanks").addClass("hidden");
        $("#race").removeClass("hidden");
        $("#sharelinks").addClass("hidden");
        $("#share3").removeClass("share2");
        $("#share3").removeClass("share3");
        $("#share3").addClass("share1");
        $("#header").html(headerInvite);
        $("#sub-header").html("Send an email to your friends and family to let them know about this Race for Life event.");
        $("#thanksheader").html("Thank you for inviting your friends");
        $("#yourmessage").val("Join me at Race for Life this summer.");
        $("#share3").addClass("windowfixed");
        $("#mapContentLarge").css("visibility", "hidden");

        $(".shareImage").attr('src', '/images/2010/share/buttons/send-grad-off.jpg');

        //IE6 hack
        if ($.browser.msie && $.browser.version.substring(0, 1) === '6') {

            //var location = $(window).height();
            var scrollTop = $(window).scrollTop();
            var popup_offset = -175;

            $(".window").css({ "margin-top": (scrollTop + popup_offset) + "px" });
        }

        $.ajax({
            type: "POST",
            url: getWebSvcURL() + "Share.asmx/ShareGetRaces",
            data: "{'rid': '" + $("#RID").html() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                var html = "<select class='formselect' name='title' id='racedetail'>";
                html = html + msg.d;
                html = html + "</select>";
                $("#racedd").html(html);
            },
            error: function(xhr, ajaxOptions, thrownError) {
                //alert(xhr.status);
                //alert(thrownError);
            }
        });

    })

    $("#link1").click(function() {
        $("#form").removeClass("hidden");
        $("#thanks").addClass("hidden");
        $("#race").addClass("hidden");
        $("#sharelinks").removeClass("hidden");
        $("#share3").removeClass("share1");
        $("#share3").removeClass("share2");
        $("#share3").addClass("share3");
        $("#header").html(headerShare);
        $("#sub-header").html("Share this page to your friends and family to let them know about Race for Life 2010.");
        $("#thanksheader").html("Thank you for sharing this page");
        $("#yourmessage").val("I found this on the Race for Life website and thought you'd be interested. Visit " + $("#url").val());
        $("#racedd").html("");
        $("#share3").removeClass("windowfixed");
        $("#mapContentLarge").css("visibility", "hidden");
        $(".shareImage").attr('src', '/images/2010/share/buttons/send-white-off.jpg');

        //IE6 hack
        if ($.browser.msie && $.browser.version.substring(0, 1) === '6') {

            $(".window").css({ "margin-top": "65px" });
        }
    })

    $("#inviteFriendGeneric_link").click(function() {

        $("#form").removeClass("hidden");
        $("#thanks").addClass("hidden");
        $("#race").addClass("hidden");
        $("#sharelinks").addClass("hidden");
        $("#share3").removeClass("share2");
        $("#share3").removeClass("share3");
        $("#share3").addClass("share1");
        $("#header").html(headerInviteGeneric);
        $("#sub-header").html("Send an email to your friends and family to let them know about<br /> Cancer Research UK's Race for Life.");
        $("#thanksheader").html("Thank you for inviting your friends");
        $("#yourmessage").val("Come and join me at Cancer Research UK's Race for Life 2010 - we'll have an amazing time! Take a look at the Race for Life website to find out a bit more about it and sign up.");
        $("#share3").removeClass("windowfixed");
        $("#mapContentLarge").css("visibility", "hidden");

        $(".shareImage").attr('src', '/images/2010/share/buttons/send-grad-off.jpg');

        //IE6 hack
        if ($.browser.msie && $.browser.version.substring(0, 1) === '6') {

            $(".window").css({ "margin-top": "65px" });
        }
    })
    
    
    $("#inviteemail_link").click(function() {

        $("#form").removeClass("hidden");
        $("#thanks").addClass("hidden");
        $("#race").addClass("hidden");
        $("#sharelinks").addClass("hidden");
        $("#share3").removeClass("share2");
        $("#share3").removeClass("share3");
        $("#share3").addClass("share1");
        $("#header").html(headerInviteGeneric);
        $("#sub-header").html("Send an email to your friends and family to let them know about<br /> Cancer Research UK's Race for Life.");
        $("#thanksheader").html("Thank you for inviting your friends");
        $("#yourmessage").val("Come and join me at Cancer Research UK's Race for Life 2010 - we'll have an amazing time! Take a look at the Race for Life website to find out a bit more about it and sign up.");
        $("#share3").addClass("windowfixed");
        $("#mapContentLarge").css("visibility", "hidden");

        $(".shareImage").attr('src', '/images/2010/share/buttons/send-grad-off.jpg');

        //IE6 hack
        if ($.browser.msie && $.browser.version.substring(0, 1) === '6') {
            var scrollTop = $(window).scrollTop();
            var popup_offset = -175;

            $(".window").css({ "margin-top": (scrollTop + popup_offset) + "px" });

            //$(".window").css({ "margin-top": "65px" });
        }
    })

    
    
    
    

    $("#sendmore").click(function() {
        var header = $("#header").html();

        if (header == headerShare) {
            $("#share3").removeClass("share2");
            $("#share3").addClass("share3");
        }
        else {
            $("#share3").removeClass("share2");
            $("#share3").removeClass("share3");
            $("#share3").addClass("share1");
        }

        $("#form").removeClass("hidden");
        $("#thanks").addClass("hidden");
        $("#friends").val("");
        $("#error3").removeClass("tick");
        $("#mes3").addClass("hidden");
        return false;
    })
    
    
    

    $(".url").focus(function() {
        this.select();
    })

    $(".share-close").click(function() {
        clear();
    })

    $("#yourname").keyup(function() {
        $.ajax({
            type: "POST",
            url: getWebSvcURL() + "Share.asmx/ValidateName",
            data: "{'data': '" + $("#yourname").val() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                var msg = msg.d;
                if (msg == "0") {
                    $("#error1").removeClass("tick");
                }
                else {
                    $("#error1").addClass("tick");
                }
            }
        });
    });

    $("#youremail").keyup(function() {
        $.ajax({
            type: "POST",
            url: getWebSvcURL() + "Share.asmx/ValidateEmail",
            data: "{'data': '" + $("#youremail").val() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                var msg = msg.d;
                if (msg == "0") {
                    $("#error2").removeClass("tick");
                }
                else {
                    $("#error2").addClass("tick");
                }
            }
        });
    });

    $("#friends").keyup(function() {
        $.ajax({
            type: "POST",
            url: getWebSvcURL() + "Share.asmx/ValidateEmail",
            data: "{'data': '" + $("#friends").val() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                var msg = msg.d;
                if (msg == "0") {
                    $("#error3").removeClass("tick");
                }
                else {
                    $("#error3").addClass("tick");
                }
            }
        });
    });


    $("#share").click(function() {
        var emailType;
        var header = $("#header").html();

        if (header == headerInvite)
            emailType = INVITE;
        else if (header == headerInviteGeneric)
            emailType = INVITEGENERIC;
        else
            emailType = SHARE;

        var message = escape($("#yourmessage").val());
        var params = "{'yourname': '" + $("#yourname").val() + "','youremail': '" + $("#youremail").val() + "','friends': '" + $("#friends").val() + "','message': '" + message + "','sendme': '" + $("#sendme").attr('checked') + "','url': '" + $("#url").val() + "','race': '" + $("#racedetail option:selected").val() + "', 'emailtype':'" + emailType + "'}";
        $.ajax({
            type: "POST",
            url: getWebSvcURL() + "Share.asmx/SendMail",
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                if (msg.d == "finished") {
                    $("#share3").removeClass("share3");
                    $("#share3").addClass("share2");
                    $("#form").addClass("hidden");
                    $("#thanks").removeClass("hidden");
                    thankyou($("#friends").val());
                    if (header == headerInvite)
                        pageTracker._trackEvent('invite', 'lightbox', 'venue');
                    else if (header == headerInviteGeneric)
                        pageTracker._trackEvent('invite', 'lightbox', 'general');
                    else
                        pageTracker._trackEvent('share', 'button', 'send');
                }
                else {
                    var string = msg.d;
                    var items = string.split(',');

                    if (items[0] == "0") {
                        $("#mes1").removeClass("hidden");
                    }
                    else {
                        $("#mes1").addClass("hidden");
                    }

                    if (items[1] == "0") {
                        $("#mes2").removeClass("hidden");
                    }
                    else {
                        $("#mes2").addClass("hidden");
                    }

                    if (items[2] == "0") {
                        $("#mes3").removeClass("hidden");
                    }
                    else {
                        $("#mes3").addClass("hidden");
                    }
                }

            }
        });
        return false;
    });

});