﻿// -- Constants -- //
var urlHandlerPopUpGenerator = "/Handlers/PopUpGenerator.ashx";
var urlHandlerAccountLogin = "/Handlers/AccountLogin.ashx";
var urlHandlerQuickSearch = "/Handlers/QuickSearch.ashx";
var urlAboutIphone = "http://www.apple.com/fr/channel/iphone/iphone-4/telandcom/";

$(document).ready(function() 
{
    
    //Popup footer Iphone
    $("#aboutiphone, #overlayiphone").click(function(e) 
    {
        e.preventDefault();
        if($("#PopUp").length == 0)
        {
            $("body form").before("<div id='PopUp'></div>");
            var popUp = $("#PopUp");

            if($.browser.msie && $.browser.version < 7)
            {
                popUp.dialog({
                    autoOpen: false,
                    bgiframe: true,
			        modal: true,
			        overlay: {
				        backgroundColor: "#fff",
				        opacity: 0.7
			        }
		        });
            }
            else
            {
                popUp.dialog({
                    autoOpen: false,
			        modal: true,
			        overlay: {
				        backgroundColor: "#fff",
				        opacity: 0.7
			        },
			        open : function(event, ui) { $(".btFermerIPhone").click(btClosePopUPiPhone); }
		        });
            };
        }
        $(".ui-dialog-titlebar").remove();
        $("#PopUp").empty();
        $("#PopUp").append("<a class=\"btFermerIPhone\" title=\"Fermer\" href=\"#\" style=\"float: right;\"><img height=\"26\" width=\"26\" title=\"Fermer\" alt=\"Fermer\" src=\"/Content/Images/Common/Popup/picto-fermer.gif\"></a>");
        $("#PopUp").append("<iframe src=\"" + urlAboutIphone + "\" frameborder=\"0\" width=\"880\" height=\"586\"></iframe>");
        $("#PopUp").dialog("open");        
    });

    initCustomCheckBox("input[type='checkbox'].design, span.design input[type='checkbox'] ");
    initBigCustomCheckBox("input[type='checkbox'].designBig");

    $(".scrollTop").click(function(e) 
    {
        e.preventDefault();
        var targetOffset = $("#topPage").offset().top;
        $('html,body').animate({ scrollTop: targetOffset }, 600);
    });

    // Autocompletion
    $(".master-search").autocomplete(urlHandlerQuickSearch,
    {
        width: 260,
        minChars: 2,
        selectFirst: false,
        scroll: true,
        scrollHeight: 200,
        formatItem: function(row) {
            return "<strong>" + row[1] + "</strong><br/>";
        },
        formatResult: function(row) {
            return row[1];
        }
    });

    $(".master-search").result(function(event, data, formatted) {
        event.preventDefault();
        $(".master-search").attr("disabled", "disabled");
        $(".bt-ok-recherche, .btOkRecherche").click(function(e) {
            e.preventDefault();
        });
        document.location.href = data[3];
    });

    $("input.autoclear:text, input.autoclear:password, textarea.autoclear").each(function() {

        var $this = $(this);

        $this
        .focus(function() {
            if (this.defaultValue == $this.val())
                $this.val("");
        })
	    .blur(function() {
	        if ($this.val() == "")
	            $this.val(this.defaultValue);
	    });
    });

    // Configuration du lanceur de popUp Identification
    $(".login-account").live("click", function() {
        var LinkToRedirect = this.href;
        var TitlePopUp = "Accédez à votre compte :";
        var DefaultNavigateUrlAccountSubscription = "/Creation-de-compte.html";

        if ($(this).hasClass("rating")) {
            DefaultNavigateUrlAccountSubscription = "/Creation-de-mini-compte.html?fromUrl=" + LinkToRedirect;
            LinkToRedirect += "?r=1";

            if ($(this).hasClass("advice"))
                TitlePopUp = "Vous souhaitez noter cette fiche conseil ?";
            else if ($(this).hasClass("product"))
                TitlePopUp = "Vous souhaitez noter ce produit ?";
        }

        showPopUp(
            urlHandlerPopUpGenerator,
            {
                WucType: "AccountLogin",
                NavigateUrlAccountLostPassword: "/Mot-de-passe-oublie.html",
                NavigateUrlAccountSubscription: DefaultNavigateUrlAccountSubscription,
                Title: TitlePopUp
            },
            "POST",
            function() {

                // Afficher / Masque la valueur par default "Email"
                $(".account-login-email").focus(function() {
                    if ($(".account-login-email").val() == "Votre adresse e-mail")
                        $(".account-login-email").val("");
                });
                $(".account-login-email").blur(function() {
                    if ($(".account-login-email").val() == "")
                        $(".account-login-email").val("Votre adresse e-mail");
                });

                // Validation de l'identification
                $("#formLogin").submit(function() {
                    $.ajax({ type: "POST",
                        url: urlHandlerAccountLogin,
                        data: {
                            email: $("#PopUp .account-login-email").val(),
                            password: $("#PopUp .account-login-password").val()
                        },
                        dataType: "json",
                        cache: false,
                        success: function(result, message) {
                            var bCustomerIsValid = result["CustomerIsValid"];
                            var bEmailIsValid = result["EmailIsValid"];
                            var bPasswordIsValid = result["PasswordIsValid"];
                            var sErrorMessage = result["ErrorMessage"];

                            if (bEmailIsValid == true) {
                                var AccountLostPasswordUrl = "/Mot-de-passe-oublie.html?email=" + $("#PopUp .account-login-email").val();
                                $(".HyperLinkAccountLostPassword").attr("href", AccountLostPasswordUrl);
                            }

                            if (bCustomerIsValid == false) {
                                $("#PopUp .msg-erreur").html("<ul>" + sErrorMessage + "</ul>");
                                if (bEmailIsValid == false)
                                    $("#PopUp .account-login-email").addClass("error");
                                if (bPasswordIsValid == false)
                                    $("#PopUp .account-login-password").addClass("error");
                            }
                            else
                                document.location.replace(LinkToRedirect);
                        }
                        // Fin SUCCESS
                    });
                    return false;
                });
                // Fin LOGIN
            }
        );
        return false;
    });


    // Script affichage du texte en entier pour les options
    $(".right-column").each(function(i, container) {
        $(container).find(".options").each(function(j, item) {
            var item = $(item);
            item.find(".nom span").hover(function() {
                var textTooltips = $(this).parent().find(".tooltips").html();
                if (textTooltips) {
                    item.parent().append('<p class="mini-tooltip"></p>');
                    var posY = j * 21 + parseInt(item.parent().find(".mini-tooltip").css("top"));
                    item.parent().find(".mini-tooltip").css("top", posY).html(textTooltips);
                }
            }, function() {
                item.parent().find(".mini-tooltip").remove();
            }
            );
        });
    });
});

/**
 * PopUp Envoyer à un ami
 */

// Handler de traitement du formulaire et d'envois de l'email
var urlHandlerSendToFriend = "/Handlers/SendToFriend.ashx";

// Evénement d'ouverture de la popup
$(document).ready(function() {
    $("#ASendToFriend_Site").click(ASendToFriend_Click);
    $("#ASendToFriend_Product").click(ASendToFriend_Click);
});

var ASendToFriend_Click = function(e)
{
    e.preventDefault();

    // SendToFriendType : 2 types de recommandation possible : Site, Product (le site ou un produit)
    var AHrefValue = $(this).attr("href");
    var AHrefIndexOf = parseInt(AHrefValue.indexOf('#', 0)) + 1;
    var SendToFriendType = AHrefValue.substr(AHrefIndexOf, AHrefValue.length)

    var IdProduct = "0";
    if (SendToFriendType == "Product")
    {
        IdProduct = $(".productIdentifier").val();
    }
    showPopUp(urlHandlerPopUpGenerator,
    {
        WucType          : "SendToFriend",
        SendToFriendType : SendToFriendType,
        IdProduct        : IdProduct
    },
    "POST",
    function()
    {
        $("#SendToFriend_Submit").live("click", SendToFriend);
    });
};

var btClosePopUPiPhone = function() {
    $("#PopUp").dialog("close");
    return false;
};

var SendToFriend = function(e)
{
    e.preventDefault();

     $("#SendToFriend_ErrorMessage").hide();
     $("#SendToFriend_Firstname").removeClass("error");
     $("#SendToFriend_Email").removeClass("error");
     $("#SendToFriend_FriendFirstname").removeClass("error");
     $("#SendToFriend_FriendEmail").removeClass("error");

    $.ajax({ type: "POST",
        url: urlHandlerSendToFriend,
        data:
        {
            IdProduct        : $("#SendToFriend_IdProduct").val(),
            Firstname        : $("#SendToFriend_Firstname").val(),
            Email            : $("#SendToFriend_Email").val(),
            Message          : $("#SendToFriend_Message").val(),
            FriendFirstname  : $("#SendToFriend_FriendFirstname").val(),
            FriendEmail      : $("#SendToFriend_FriendEmail").val(),
            PageUrl          : document.location.href,
            SendToFriendType : $("#SendToFriend_SendToFriendType").val()
        },
        dataType: "json",
        cache: false,
        success: function(result, message)
        {
            var SendToFriendType       = $("#SendToFriend_SendToFriendType").val();

            var IsValid                = result["IsValid"];
            var FirstnameIsValid       = result["FirstnameIsValid"];
            var EmailIsValid           = result["EmailIsValid"];
            var FriendFirstnameIsValid = result["FriendFirstnameIsValid"];
            var FriendEmailIsValid     = result["FriendEmailIsValid"];

            if (IsValid)
            {
                $("#SendToFriend_Form").hide();

                $(".SendToFriend_Firstname").text($("#SendToFriend_Firstname").val());
                $(".SendToFriend_FriendFirstname").text($("#SendToFriend_FriendFirstname").val());

                if (SendToFriendType == "Site")
                    $("#SendToFriend_SiteSendOk").show();
                if (SendToFriendType == "Product")
                {
                    $("#SendToFriend_ProductSendOk").show();
                    pageTracker._trackEvent('ActionVirales', 'PartagerAmi', document.title.replace(' - Tél And Com', ''));
                }
            }
            else
            {
                $("#SendToFriend_ErrorMessage").show();

                if (FirstnameIsValid == false)
                    $("#SendToFriend_Firstname").addClass("error");
                if (EmailIsValid == false)
                    $("#SendToFriend_Email").addClass("error");
                if (FriendFirstnameIsValid == false)
                    $("#SendToFriend_FriendFirstname").addClass("error");
                if (FriendEmailIsValid == false)
                    $("#SendToFriend_FriendEmail").addClass("error");
            }
        }
    });
};