﻿var Harrods = function(){}
var h = Harrods;
h.prototype.init = function() {

    var _self = this;
    if ($(".managed_content").length > 0) { 
        var theHash = window.location.hash;
        if (theHash != "") {
            theHash = theHash.replace(/#/g, '').substr(0, 2).replace(/_/g, '') - 1;
            $('.managed_content dl.accordion dt').eq(theHash).addClass('active');
            $('.managed_content dl.accordion dd').eq(theHash).show();
            var targetOffset = $('.managed_content dl.accordion dt').eq(theHash).offset().top;
            $('html,body').animate({ scrollTop: targetOffset }, "slow");
        } else {
            $('.managed_content dl.accordion dt').eq(0).addClass('active');
            $('.managed_content dl.accordion dd').eq(0).show();
        };    
    }


    if ($("form[action^='login']").length > 0) {
        $('.login a').eq(0).addClass('selected');
    }
    if ($("form[action^='register']").length > 0) {
        $('.login a').eq(1).addClass('selected');
    }
    if ($("body").hasClass('experience')) {
        $('.header_nav2 li').eq(0).children('a').addClass('selected');
    } else if ($("body").hasClass('brands')) {
        $('.header_nav2 li').eq(1).children('a').addClass('selected');
    } else if ($("body").hasClass('events')) {
        $('.header_nav2 li').eq(2).children('a').addClass('selected');
    } else if ($("body").hasClass('contactus')) {
        $('.header_nav2 li').eq(3).children('a').addClass('selected');
    } else if ($("body").hasClass('launches')) {
        $('.header_nav2 li').eq(4).children('a').addClass('selected');
    } else if ($("body").hasClass('Christmas')) {
        $('.header_nav2 li').eq(5).children('a').addClass('selected');
    }

    if ($(".product_features").length > 0) {
        $(".product_features > ul").tabs();
    }
    if ($("table.sv-products").length > 0) {
        $("table.sv-products > tbody > tr").each(function() {
            $(this).children("td").eq(3).addClass("last");
        })
    }
    if ($("#product_hamper_landscape").length > 0) {
        $("#product_hamper_landscape .product_related ul li").eq(2).addClass("first");
        $("#product_hamper_landscape .accordion dd span").eq(0).addClass("clearfix");
    }
    $('.landing_main').hover(function() {
        $('.landing_main_nav, .landing_main_nav_bg, .landing_main_nav_cont').stop().animate({ width: "246px" }, 300, "linear", function() {
            $('.landing_main_nav_cont ul').slideDown("slow");
        });
    }, function() {
        $('.landing_main_nav_cont ul').slideUp("fast", function() {
            $('.landing_main_nav, .landing_main_nav_bg, .landing_main_nav_cont').stop().animate({ width: "40px" }, 100, "linear");
        });
    })
    $('.footer_search_field').focus(function() { $(this).addClass('focused'); })
    this.leftNavOpenClose();
    this.altImages();
    this.collectionThumbs();
    this.searchValidation();
    this.newsLetterValidation();
    this.fadeProdList();
    this.makeModal($(".email_it"), 350, 490, 1, "email_iframe");
    this.makeModal($(".sizingguide"), 750, 500, 1, "size_iframe");
    this.makeModal($(".shoppingbag_test"), 750, 500, 1, "size_iframe");
    this.tinymce();
    this.accordion();
    this.internationalDelivery();
    this.magicNumber();
    this.beautyPastels();

    if ($("#TrackingNumber").length > 0) {
        var trackingNumber = this.getQueryVariable("trackingnumber");
        if (!isNaN(trackingNumber) && trackingNumber.length <= 10) {
            $("#TrackingNumber").text("Your order number is: " + trackingNumber);
        }
    }
}
h.prototype.beautyPastels = function() {
function ImagePreload(p_aImages, p_pfnPercent, p_pfnFinished) {   // Call-back routines
            this.m_pfnPercent = p_pfnPercent;
            this.m_pfnFinished = p_pfnFinished;
            // Class Member Vars
            this.m_nLoaded = 0;
            this.m_nProcessed = 0;
            this.m_aImages = new Array;
            this.m_nICount = p_aImages.length;

            // Preload Array of Images
            for (var i = 0; i < p_aImages.length; i++) {
                this.Preload(p_aImages[i]);
            }
        }
        ImagePreload.prototype.Preload = function(p_oImage) {
            var oImage = new Image;
            this.m_aImages.push(oImage);
            oImage.onload = ImagePreload.prototype.OnLoad;
            oImage.onerror = ImagePreload.prototype.OnError;
            oImage.onabort = ImagePreload.prototype.OnAbort;
            oImage.oImagePreload = this;
            oImage.bLoaded = false;
            oImage.source = p_oImage;
            oImage.src = p_oImage;
        }
        ImagePreload.prototype.OnComplete = function() {
            this.m_nProcessed++;
            if (this.m_nProcessed == this.m_nICount) {
                this.m_pfnFinished();
            } else {
                this.m_pfnPercent(Math.round((this.m_nProcessed / this.m_nICount) * 10));
            }
        }
        ImagePreload.prototype.OnLoad = function() {   // 'this' pointer points to oImage Object
            this.bLoaded = true;
            this.oImagePreload.m_nLoaded++;
            this.oImagePreload.OnComplete();
        }
        ImagePreload.prototype.OnError = function() {   // 'this' pointer points to oImage Object
            this.bError = true;
            this.oImagePreload.OnComplete();
        }
        ImagePreload.prototype.OnAbort = function() {   // 'this' pointer points to oImage Object
            this.bAbort = true;
            this.oImagePreload.OnComplete();
        }
        
        var g_iStep = 0;
        function OnImgUpdate(iProgress) {
            if ((iProgress >= 1) && (iProgress <= 10) && (iProgress > g_iStep)) {
                g_iStep++;
                var oSpan = document.getElementById("sDot" + iProgress + "");
                oSpan.className = 'FullDot';
            }
        }
        function OnCompletion() {
            var slidesnum = $('.slider_elements > li').length;
            var slidewidth = 745;
            var leftposition = 0;
            var ulwidth = slidesnum * slidewidth;
            var rightposition = (slidesnum - 1) * slidewidth;
            $('.OuterBorder').hide()
            $('.slider_elements').css("width", ulwidth);
            if (leftposition == 0) {
                $(".prevslide, .prevslide2").hide();
            }
            $('.slider_elements').fadeIn("800", function() {
                $(".nextslide, .nextslide2, .nextslide3").fadeIn("400");
            });
            $(".nextslide").hover(function() { $(this).stop().animate({ right: 10 }, 200, 'linear') }, function() { $(this).stop().animate({ right: 15 }, 200, 'linear') });
            $(".prevslide").hover(function() { $(this).stop().animate({ left: 10 }, 200, 'linear') }, function() { $(this).stop().animate({ left: 15 }, 200, 'linear') });
            $(".nextslide, .nextslide2, .nextslide3").click(function() {
                if (leftposition == 0) {
                    $(".prevslide, .prevslide2").show();
                    leftposition = (leftposition + slidewidth) * -1;
                    $('.slider_elements').stop().animate({ left: leftposition }, 700, 'linear');
                } else if (leftposition < 0) {
                    leftposition = leftposition - slidewidth;
                    $('.slider_elements').stop().animate({ left: leftposition }, 700, 'linear');
                }
                if (leftposition == (-1 * rightposition)) {
                    $(".nextslide, .nextslide2, .nextslide3").hide();
                }
                return false;
            });
            $(".prevslide, .prevslide2").click(function() {
                if (leftposition == (-1 * rightposition)) {
                    $(".nextslide, .nextslide2, .nextslide3").show();
                    leftposition = leftposition + slidewidth;
                    $('.slider_elements').stop().animate({ left: leftposition }, 700, 'linear');
                } else if (leftposition < 0) {
                    leftposition = leftposition + slidewidth;
                    $('.slider_elements').stop().animate({ left: leftposition }, 700, 'linear');
                }
                if (leftposition == 0) {
                    $(".prevslide, .prevslide2").hide();
                }
                return false;
            })
        }
        function StartPreload() {
            var szImages = new Array("/harrodsstore/new_images/beauty_pastels/article_page1.png",
                                    "/harrodsstore/new_images/beauty_pastels/article_page2.png",
                                    "/harrodsstore/new_images/beauty_pastels/article_page3.png",
                                    "/harrodsstore/new_images/beauty_pastels/article_page4.png",
                                    "/harrodsstore/new_images/beauty_pastels/article_page5.png",
                                    "/harrodsstore/new_images/beauty_pastels/shop_the_look1.png",
                                    "/harrodsstore/new_images/beauty_pastels/shop_the_look2.png",
                                    "/harrodsstore/new_images/beauty_pastels/shop_the_look3.png",
                                    "/harrodsstore/new_images/beauty_pastels/shop_the_look4.png",
                                    "/harrodsstore/new_images/beauty_pastels/shop_the_look5.png",
                                    "/harrodsstore/new_images/beauty_pastels/prod_list1.png",
                                    "/harrodsstore/new_images/beauty_pastels/prod_list2.png", 
                                    "/harrodsstore/new_images/beauty_pastels/prod_list3.png",
                                    "/harrodsstore/new_images/beauty_pastels/prod_list4.png", 
                                    "/harrodsstore/new_images/beauty_pastels/prod_list5.png",
                                    "/harrodsstore/new_images/beauty_pastels/yellow_fever.png",
                                    "/harrodsstore/new_images/beauty_pastels/peachy_keen.png",
                                    "/harrodsstore/new_images/beauty_pastels/pink_lady.png",
                                    "/harrodsstore/new_images/beauty_pastels/lilac_blossom.png",
                                    "/harrodsstore/new_images/beauty_pastels/water_colour.png",
                                    "/harrodsstore/new_images/beauty_pastels/next_w.png",
                                    "/harrodsstore/new_images/beauty_pastels/prev_w.png",
                                    "/harrodsstore/new_images/beauty_pastels/view_next_look_w.png",
                                    "/harrodsstore/new_images/beauty_pastels/view_next_look_b.png",
                                    "/harrodsstore/new_images/beauty_pastels/view_previous_look_b.png");
            // Execute Image Preloader
            var oPreload = new ImagePreload(szImages, OnImgUpdate, OnCompletion);
        };
        if ($(".b_pastels_c").length > 0) {
            StartPreload();
        }
}
h.prototype.magicNumber = function() {
function ImagePreload(p_aImages, p_pfnPercent, p_pfnFinished) {   // Call-back routines
            this.m_pfnPercent = p_pfnPercent;
            this.m_pfnFinished = p_pfnFinished;
            // Class Member Vars
            this.m_nLoaded = 0;
            this.m_nProcessed = 0;
            this.m_aImages = new Array;
            this.m_nICount = p_aImages.length;

            // Preload Array of Images
            for (var i = 0; i < p_aImages.length; i++) {
                this.Preload(p_aImages[i]);
            }
        }
        ImagePreload.prototype.Preload = function(p_oImage) {
            var oImage = new Image;
            this.m_aImages.push(oImage);
            oImage.onload = ImagePreload.prototype.OnLoad;
            oImage.onerror = ImagePreload.prototype.OnError;
            oImage.onabort = ImagePreload.prototype.OnAbort;
            oImage.oImagePreload = this;
            oImage.bLoaded = false;
            oImage.source = p_oImage;
            oImage.src = p_oImage;
        }
        ImagePreload.prototype.OnComplete = function() {
            this.m_nProcessed++;
            if (this.m_nProcessed == this.m_nICount) {
                this.m_pfnFinished();
            } else {
                this.m_pfnPercent(Math.round((this.m_nProcessed / this.m_nICount) * 10));
            }
        }
        ImagePreload.prototype.OnLoad = function() {   // 'this' pointer points to oImage Object
            this.bLoaded = true;
            this.oImagePreload.m_nLoaded++;
            this.oImagePreload.OnComplete();
        }
        ImagePreload.prototype.OnError = function() {   // 'this' pointer points to oImage Object
            this.bError = true;
            this.oImagePreload.OnComplete();
        }
        ImagePreload.prototype.OnAbort = function() {   // 'this' pointer points to oImage Object
            this.bAbort = true;
            this.oImagePreload.OnComplete();
        }

        var g_iStep = 0;
        function OnImgUpdate(iProgress) {
            if ((iProgress >= 1) && (iProgress <= 10) && (iProgress > g_iStep)) {
                g_iStep++;
                var oSpan = document.getElementById("sDot" + iProgress + "");
                oSpan.className = 'FullDot';
            }
        }
        function OnCompletion() {
            var slidesnum = $('.slider_elements2 > li').length;
            var slidewidth = 745;
            var leftposition = 0;
            var ulwidth = slidesnum * slidewidth;
            var rightposition = (slidesnum - 1) * slidewidth;
            $('.OuterBorder').hide()
            $('.slider_elements2').css("width", ulwidth);
            if (leftposition == 0) {
                $(".prevslide").hide();
            }
            $('.slider_elements').fadeIn("800");
            $(".nextslide").hover(function() { $(this).stop().animate({ right: 10 }, 200, 'linear') }, function() { $(this).stop().animate({ right: 20 }, 200, 'linear') });
            $(".prevslide").hover(function() { $(this).stop().animate({ left: 10 }, 200, 'linear') }, function() { $(this).stop().animate({ left: 20 }, 200, 'linear') });
            $(".nextslide").click(function() {
                if (leftposition == 0) {
                    $(".prevslide").show();
                    leftposition = (leftposition + slidewidth) * -1;
                    $('.slider_elements2').stop().animate({ left: leftposition }, 700, 'linear');
                } else if (leftposition < 0) {
                    leftposition = leftposition - slidewidth;
                    $('.slider_elements2').stop().animate({ left: leftposition }, 700, 'linear');
                }
                if (leftposition == (-1 * rightposition)) {
                    $(".nextslide").hide();
                }
                return false;
            });
            $(".prevslide").click(function() {
                if (leftposition == (-1 * rightposition)) {
                    $(".nextslide").show();
                    leftposition = leftposition + slidewidth;
                    $('.slider_elements2').stop().animate({ left: leftposition }, 700, 'linear');
                } else if (leftposition < 0) {
                    leftposition = leftposition + slidewidth;
                    $('.slider_elements2').stop().animate({ left: leftposition }, 700, 'linear');
                }
                if (leftposition == 0) {
                    $(".prevslide").hide();
                }
                return false;
            })
            $(".open_modal").click(function() {
                $(this).next(".modal_wrapp").fadeIn("slow");
                return false;
            });
            $(".yellow_fever").click(function() {
                $(this).children(".modal_wrapp").fadeIn("slow");
                return false;
            });
		$(".modal_wrapp a").click(function(){
			window.location = $(this).attr("href");
			return false;
		})

            $('.close_modal, .modal_opac').click(function() {
                $(this).parents('.modal_wrapp').fadeOut("slow");
                return false;
            });
        }
        function StartPreload() {
            var szImages = new Array("/harrodsstore/new_images/beauty_pastels/magic_number.png",
                                "/harrodsstore/new_images/beauty_pastels/magic_number_h.png",
                                "/harrodsstore/new_images/beauty_pastels/prev_p.png",
                                "/harrodsstore/new_images/beauty_pastels/next_p.png",
                                "/harrodsstore/new_images/beauty_pastels/redline.png",
                                "/harrodsstore/new_images/beauty_pastels/redline_h1.png",
                                "/harrodsstore/new_images/beauty_pastels/view_redline.png",
                                "/harrodsstore/new_images/beauty_pastels/redline2.png",
                                "/harrodsstore/new_images/beauty_pastels/bucci.png",
                                "/harrodsstore/new_images/beauty_pastels/bucci2.png",
                                "/harrodsstore/new_images/beauty_pastels/bucci_h1_1.png",
                                "/harrodsstore/new_images/beauty_pastels/bucci_h1_1.png",
                                "/harrodsstore/new_images/beauty_pastels/view_bucci.png",
                                "/harrodsstore/new_images/beauty_pastels/vinader.png",
                                "/harrodsstore/new_images/beauty_pastels/vinader_h1.png",
                                "/harrodsstore/new_images/beauty_pastels/view_vinader.png");
            // Execute Image Preloader
            var oPreload = new ImagePreload(szImages, OnImgUpdate, OnCompletion);
        };
        if ($(".magic_number_c").length > 0) {
            StartPreload();
        }
}
h.prototype.internationalDelivery = function() {
    $(".inter_delivery_box a").click(function() {
        hamperModal($(this), 510, 540, $("#inter_delivery_modal"));
        return false;
    })
    function hamperModal(ele, mdw, mdh, cont) {
        var theTitle = ele.attr("title");
        var theContent = cont.html();
        $("#email_box").text("");
        $("#harrods_experience").hide();
        $('.fullhomepage > object').hide();

        $("#email_box").dialog({
            width: mdw,
            height: mdh,
            title: theTitle,
            modal: true,
            overlay: {
                opacity: 0.9,
                background: "#000000"
            }
        }).fadeIn("slow");
        $(".ui-dialog-titlebar-close").text('');
        $("#email_box").append(theContent).fadeIn("slow");
        $('.ui-dialog-titlebar a').click(function() {
            $('.fullhomepage > object').show(); $("#harrods_experience").show();
        })
    }
}
h.prototype.accordion = function() {
    $('.accordion dt').live("click", function() {
        if ($(this).next('dd').is(':hidden')) {
            //$(this).siblings('dt').removeClass('active');
            //$(this).siblings('dd').slideUp('fast');
            $(this).addClass('active');
            $(this).next('dd').slideDown('fast');
        } else {
            //$(this).siblings('dt').removeClass('active');
            //$(this).siblings('dd').slideUp('fast');
            $(this).removeClass('active');
            $(this).next('dd').slideUp('fast');
        };
    });
    //if ($('.accordion').length > 0) { $('.accordion dt:first').click(); }
    if ($('.to_tabs').length > 0) { $('.to_tabs').tabs(); }

}
h.prototype.leftNavOpenClose = function(){
    var _self = this;
    if ($(".sub_left_nav > li > dl").length > 0) {
        $(".sub_left_nav > li > dl > dt.selected").addClass("open_dt");
        $(".sub_left_nav > li > dl > dt.selected").next("dd").show();

        $(".sub_left_nav > li > dl").find("dt").click(function() {
            //if (!$(this).next("dd").is(':visible')) {
                //$(".sub_left_nav > li > dl").find("dd:visible").slideToggle("slow");
                $(this).next("dd").slideToggle("slow");
                $(this).toggleClass("open_dt");
                //$(this).siblings("dt").removeClass("open_dt");
            //};
        })

    }
}
h.prototype.collectionThumbs = function(){
    $(".itemImg > a.zoom").hover(
        function(){
        $(this).css("cursor", "pointer"); 
        var this_src = $(this).children("img").attr("src");

        this_src = this_src.substring(0,this_src.indexOf("?"));
        this_src +="?wid=245&hei=245&fmt=jpeg&qlt=100,0&op_sharpen=1&resMode=sharp2&op_usm=1.0,0.25,0,0&iccEmbed=0";
        
        var this_alt = $(this).children("img").attr("alt");
        var big_thumb = "<img class='big_thumb' src='"+this_src+"' alt='"+this_alt+"' />";
                
        $(this).parent("div.itemImg").append(big_thumb);
        $(".big_thumb").hide().css("border", "1px solid #e0e0e0").fadeIn("slow");
        
        }, function(){
            $(".big_thumb").fadeOut("slow").remove();
        }
     ); 
}

h.prototype.altImages = function() {
    var _self = this;
    $(".prod_thumb > li").eq(0).children("a").children("img").addClass("image_on1");
    $(".prod_thumb > li > a > img").hover(
        function() {
            if ($(this).hasClass("image_on1")) { } else { $(this).removeClass("image_off").addClass("image_on"); }
        }, function() {
            if ($(this).hasClass("image_on1")) { } else { $(this).removeClass("image_on").addClass("image_off"); }
        });
    $(".prod_thumb > li > a > img").click(function() {
            var new_src = $(this).parent("a").attr("href");
        if ($("#product_hamper_landscape").length > 0) {
            var new_big_src = new_src.replace(/(\$productdetail_hamper_landscape\$)/g, "$productdetail_hamper_landscape_zoom$");
        } else if ($("#product_hamper_portrait").length > 0) {
        var new_big_src = new_src.replace(/(\$productdetail_hamper_portrait\$)/g, "$productdetail_hamper_portrait_zoom$");
        } else {
            var new_big_src = new_src.replace(/(\$productdetail_main_new\$)/g, "$productdetail_zoom_new$");
        }
        $(".main_prod_img_wrap > a > img").hide();
        $(".main_prod_img_wrap > a > img").attr("src", new_src);
        $(".main_prod_img_wrap > a").attr("href", new_big_src);
        $(".main_prod_img_wrap > a > img").fadeIn("slow");
        

        //_self.makeZoom();
        $(".mojomagnify_zoom").parent('div').remove();
        var theImage = $(".main_prod_img > img");
        MojoMagnify.init(theImage);

        $(this).parent("a").parent("li").siblings("li").children("a").children("img").removeClass("image_on1").addClass("image_off");
        $(this).removeClass("image_off").addClass("image_on1");
        return false;
    })
}
h.prototype.searchValidation = function() {

    var searchBt = $("#search_go");
    var searchErr = "<span class='search_msg'>Please enter a Keyword or Product Code</span>";

    $("#search_field").focus(function() {
        $(this).val("");
        $(this).addClass("focus_on");
        if ($(".search_msg").length > 0) {
            $(".search_msg").remove();
        }

    })
    $("#search_field").blur(function() {
        if ($(this).val() == '') {
            $(this).val("Keyword or Product Code");
            $(this).removeClass("focus_on");
        }
        if ($(".search_msg").length > 0) {
            $(".search_msg").remove();
        }
    })

    function trim(str, chars) {
        return ltrim(rtrim(str, chars), chars);
    }

    function ltrim(str, chars) {
        chars = chars || "\\s";
        return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
    }

    function rtrim(str, chars) {
        chars = chars || "\\s";
        return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
    }

    function replaceSpecialChar(str) {
        var cleanStr = "";
        cleanStr = str.replace("%", "");
        cleanStr = cleanStr.replace("&", "+");
        cleanStr = cleanStr.replace(" ", "+");

        return cleanStr;
    }

    searchBt.click(function() {
        //var url="<%=DotComHelper.BuildUrl(Pages.Search)+"?"+QueryString.SearchTextKey+"="%>";
        var url = "/HarrodsStore/find/k/";
        var keyWord = trim(document.getElementById("search_field").value, " ");
        if ((keyWord == "") || (keyWord == "Keyword or Product Code")) {
            if ($(".search_msg").length > 0) {
                return false;
            } else {
                //$(".header_login_search").prepend(searchErr);
                //$(".search_msg").fadeOut(5000);
                $("#search_field").css("border", "1px solid red");
                setTimeout(function() {$("#search_field").css("border", "1px solid #ccc");}, 700)
                return false;
            }
        }
        keyWord = replaceSpecialChar(keyWord);
        //var keyWord = document.getElementById("search_field").value;
        var searchText = "";
        if (keyWord.length > 4) {
            var IsInt = parseInt(keyWord, 10);
            if (IsInt) {
                searchText = url + padLeft(keyWord, "0", 18);
            }
        }
        if (searchText == "") {
            searchText = url + keyWord;
        }
        if ((keyWord != "") && (keyWord != "Keyword or Product Code")) {
            window.location.href = searchText;
        }
    })

    function padLeft(str, pad, count) {
        while (str.length < count)
            str = pad + str;
        return str;
    }

    function check(e) {
        var code;
        if (!e) var e = window.event;
        if (e.keyCode) code = e.keyCode;
        else if (e.which) code = e.which;
        if (code == 13) {
            return true;
        }
        return false;
    }
    $("#search_field").keypress(function(event) {
        if (check(event)) {
            searchBt.click();
        }
    })

}
//h.prototype.sendOmnitureData = function() {
//    //omniture code comes over here
//    s.events = "event4";
//    /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
//    var s_code = s.t(); if (s_code) document.write(s_code);
//}
h.prototype.newsLetterValidation = function() {
    var _self = this;
    $(".footer_search_field").focus(function() {
        $(this).val("");
        $(this).addClass("focus_on");
    })
    $(".footer_search_field").blur(function() {
        if ($(this).val() == '') {
            $(this).val("Enter email address");
            $(this).removeClass("focus_on");
        }
    })
    $("#SignUp_field").keypress(function(e) {
        if (e.which == 13) {
            news_click($(this).attr("id"));
        }
    })
    $("#SignUp_go").click(function(e) {
        news_click("SignUp_field");
    })
    function news_click(id) {

        var news_success = '<p class="success1">You\'ve successfully subscribed to the harrods.com e-newsletter.</p><p class="success_copy clearfix"><strong>Harrods catalogues</strong> Offer another great way to shop the best of our collections from home. Simply complete our quick sign-up form below to receive upcoming catalogues.<br /><a href="/HarrodsStore/user/request-catalogue?email=yes">Sign me up</a></p><p class="return_to_shop"><a href="/HarrodsStore/default.aspx?email=yes">Return to shop</a></p>';
        var news_error = '<p>We were not able to add your email address to our mailing list, please try with a different email address.</p>';
        var hasError = false;
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
        //var field_val = $(this).parent("span").siblings("input.user_email").val();
        var field_val = $("#" + id).val();
        if (!emailReg.test(field_val)) {
            hasError = true;
        }
        //console.log(field_val);
        if (field_val == '' || field_val == 'enter email address' || hasError == true) {
            $("#news_letter_dialog").text("");
            $("#harrods_experience").hide();
            $('.fullhomepage > object').hide();
            $("#news_letter_dialog").dialog({
                width: 395,
                height: 140,
                title: "SORRY",
                modal: true,
                buttons: {
                    "Try again": function() { $('.fullhomepage > object').show(); $(this).dialog("close"); $("#harrods_experience").show(); }
                },
                overlay: {
                    opacity: 0.9,
                    background: "#000000"
                }
            }).fadeIn("slow");
            $(".ui-dialog-titlebar-close").text('');
            $("#news_letter_dialog").append(news_error).fadeIn("slow");
            return false;
        } else {
            $.ajax({
                type: "POST",
                url: "/harrodsstore/Services/Account/PersonalisationService.svc/EmailSignupSimple",
                data: '{"emailAddress":"' + field_val + '"}',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    if (msg) {
                        $("#news_letter_dialog").text("");
                        $("#harrods_experience").hide();
                        $('.fullhomepage > object').hide();
                        $("#news_letter_dialog").dialog({
                            width: 395,
                            height: 280,
                            title: "THANKS!",
                            modal: true,
                            overlay: {
                                opacity: 0.9,
                                background: "#000000"
                            }
                        }).fadeIn("slow");
                        $(".ui-dialog-titlebar-close").text('');
                        $("#news_letter_dialog").append(news_success).fadeIn("slow");


                    } else {
                        $("#news_letter_dialog").text("");
                        $("#news_letter_dialog").dialog({
                            width: 395,
                            height: 140,
                            title: "SORRY",
                            modal: true,
                            buttons: {
                                "Try again": function() { $('.fullhomepage > object').show(); $(this).dialog("close"); $("#harrods_experience").show(); }
                            },
                            overlay: {
                                opacity: 0.9,
                                background: "#000000"
                            }
                        }).fadeIn("slow");
                        $(".ui-dialog-titlebar-close").text('');
                        $("#news_letter_dialog").append(news_error).fadeIn("slow");
                    }
                }
            });
        }
    }
}
h.prototype.fadeProdList = function(){
    setTimeout('$("div.inner > a > img").fadeIn()',300);
}
h.prototype.makeModal = function(el, modalWidth, modalHeight, type, ifId){
    var _self = this;
    var el = el;
    var modalWidth =  modalWidth;
    var modalHeight =  modalHeight;
    var type = type;
    var ifId = ifId;
    if($(".product_image > div > a > img" )[0] != undefined){
        var enlarged_src = $(".product_image > div > a > img").attr("src").replace(/(\$productDetailMain\$)/g, "wid=680&hei=680&fmt=jpeg&qlt=100,0&op_sharpen=1&resMode=sharp2&op_usm=1.0,0.25,0,0&iccEmbed=0");
    } 
     
    el.click(function(){
        $("#email_box > iframe").remove();
        $("#email_box > .enlarge_img_c").remove();
        $("#email_box > .emailPrefForm_in").remove(); 

        var the_title = $(this).attr("title"); 
        var iframe_url = $(this).attr("href");
        var email_iframe = "<iframe frameborder='0' id='"+ifId+"' src='"+iframe_url+"'></iframe>";
        var the_enlarge_img = "<div class='enlarge_img_c'><img src='"+enlarged_src+"'alt='"+the_title+"' /></div>"; 
    
        $("#email_box").dialog({ 
            width: modalWidth,
            height: modalHeight,
            title: the_title,
            modal: true,
            overlay: { 
                opacity: 0.5, 
                background: "#ffffff" 
                     } 
        }).fadeIn("slow");
        $(".ui-dialog-titlebar-close > span").text('');
        if(type == 1){$("#email_box").append(email_iframe).fadeIn("slow");}else{$("#email_box").append(the_enlarge_img).fadeIn("slow");} 
        
        return false;
    })
}
h.prototype.makeZoom = function(){
    var options = {
        zoomWidth: 543,
        zoomHeight: 335,
        xOffset:20, 
        zoomType:'reverse',
        showEffect:'show',
        hideEffect:'fadeout',
        fadeoutSpeed: 'slow',
        showPreload: false,
		preloadText : 'Loading zoom',
		preloadPosition : 'center', 
        title :false
        }
    $(".main_prod_img").jqzoom(options);
}
h.prototype.tinymce = function() {
    if ($(".tinymce").length > 0) {
        $('textarea.tinymce').tinymce({
            script_url: '/harrodsstore/javascript/tiny_mce/tiny_mce.js',
            mode: "textareas",
            theme: "advanced",
            plugins: "paste, spellchecker",
            theme_advanced_buttons1: "spellchecker",
            spellchecker_rpc_url: "/harrodsstore/check.spell?module=SpellChecker"
        });
        setTimeout('$(".mceToolbarRow2").hide();', 1000);
        setTimeout('$(".mceToolbarRow3").hide();', 1000); 
    }
}
h.prototype.getQueryVariable = function(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) { return pair[1]; }
    }
    return (false);
}
$(document).ready(
    function() {
        myHarrods = new Harrods();
        myHarrods.init();
    }
);


