LBi = window.LBi || {};
LBi.utils = {
    cookie_monster: {
        create: function (c, d, e) {
            if (e) {
                var b = new Date();
                b.setTime(b.getTime() + (e * 24 * 60 * 60 * 1000));
                var a = "; expires=" + b.toGMTString()
            } else {
                var a = ""
            }
            document.cookie = c + "=" + d + a + "; path=/"
        },
        read: function (b) {
            var e = b + "=";
            var a = document.cookie.split(";");
            for (var d = 0; d < a.length; d++) {
                var f = a[d];
                while (f.charAt(0) == " ") {
                    f = f.substring(1, f.length)
                }
                if (f.indexOf(e) == 0) {
                    return f.substring(e.length, f.length)
                }
            }
            return null
        },
        erase: function (a) {
            lbi_scratch.cookie_monster.create(a, "", -1)
        }
    },
    lazy_load: {
        image: function (b) {
            var a = $(b).find(".lazy_image");
            $.each(a, function () {
                var d = $(this);
                var e = LBi.utils.get_class_data(d, "lazy_image");
                e = e.split(",");
                var c = "<img src='" + e[0] + "' alt='" + e[1] + "' />";
                d.before(c).remove();
                if (IE6) {
                    pngDetect()
                }
            })
        },
        files: function (a) {
            $.each(a, function (b, c) {
                $.get(c)
            })
        }
    },
    forms: {
        rollover_inputs: function () {
            var b = ".rollover",
                a = "input_active",
                c = $(b);
            c.each(function () {
                var d = $(this).parents(".cta");
                d.hover(function () {
                    d.addClass(a)
                }, function () {
                    d.removeClass(a)
                })
            })
        },
        clear_on_focus: function () {
            var a = $("input.PE_clearFocus");
            a.each(function () {
                var c = $(this);
                var b = c.val();
                c.focus(function () {
                    if (c.val() === b) {
                        c.val("")
                    }
                });
                c.blur(function () {
                    if (c.val() === "") {
                        c.val(b)
                    }
                })
            })
        }
    },
    get_class_data: function (b, d) {
        var a = b.className;
        var c = a.substring(a.indexOf(d + "(") + d.length + 1);
        c = c.substring(0, c.indexOf(")"));
        return c
    }
};
LBi.load_defered_scripts = {
    js_location: "/btbassets/trunk/js/ext/ui/accordian.js",
    load_code: function () {
        $.getScript(LBi.load_defered_scripts.js_location, function (a, b) {
            LBi.load_defered_scripts.check_ready()
        })
    },
    check_ready: function () {
        if (typeof $(".accordion").accordion == "undefined") {
            setTimeout(LBi.load_defered_scripts.check_ready, 100)
        } else {
            LBi.load_defered_scripts.action_code()
        }
    },
    action_code: function () {
        if (jQuery.support.boxModel) {
            $(".accordion").accordion()
        } else {
            $(".accordion").accordion({
                animated: false
            })
        }
        
    }
};

/***************************************
LBi - CMS Integration - 23/08/10
***************************************/
/*
LBi.dropdown_products = {
    dropDownPanels: function () {
        LBi.dropdown_products.dropDownPanels.isOpen = false;
        var c = function (d) {
            var f = $(".close", $(".has_drop_down")).get(0);
            f.className = "drop_down";
            f.innerHTML = "Open";
            f.title = "Open";
            ddLink.find("a").removeClass("selected");
            ddWindow.css({
                display: "none"
            });
            ddLink.css({
                zIndex: 0
            });
            b.css({
                display: "none"
            });
            LBi.dropdown_products.dropDownPanels.isOpen = false;
            $("#primeNav li").css({
                borderBottom: "none"
            });
            f.blur();
            document.onkeydown = null
        };
        var a = $(".has_drop_down .drop_down");
        var b = $("#bgPanel");
        b.click(c);
        for (i = 0, j = a.length; i < j; i++) {
            ddLink = $(a[i].parentNode);
            ddWindow = $('<div class="ddWindow"></div>').appendTo($("body"));
            $(a[i]).click(function () {
                s_linkTrackVars = "eVar19";
                s_linkType = "o";
                s_linkName = "BTB:Home Page:LightBox Opened";
                s_eVar19 = "BTB:Home Page:LightBox Opened";
                s_lnk = s_co(this);
                s_gs("btcom");
                $(ddWindow).html($("#footer").html());
                this.className = "close";
                this.title = "Close";
                this.innerHTML = "Close";
                if (ddLink.className != "selected") {
                    ddLink.find("a").addClass("selected")
                }
                $("#primeNav li").css({
                    borderBottom: "1px solid #cccccc"
                });
                $("#primeNav li.openedDropDown").css({
                    borderBottom: "1px solid white"
                });
                var d = $(".close", ddWindow);
                if (LBi.dropdown_products.dropDownPanels.isOpen) {
                    c();
                    return false
                } else {
                    LBi.dropdown_products.dropDownPanels.isOpen = true;
                    d.click(c);
                    var e = $("#content").get(0);
                    var g = (document.all) ? e.offsetParent.offsetLeft : e.offsetLeft;g = g - 6;
                    var f = e.offsetTop;ddWindow.css({
                        display: "block",
                        zIndex: 100,
                        position: "absolute",
                        left: g,
                        top: f
                    });LBi.dropdown_products.dropDownPanels.setUpDD(this, b);document.onkeydown = function (h) {
                        if (h == null) {
                            keycode = event.keyCode
                        } else {
                            keycode = h.which
                        }
                        if (keycode == 27) {
                            c()
                        }
                    }
                }
                return false
            })
        }
        LBi.dropdown_products.dropDownPanels.setUpDD = function (g, f) {
            g = g.parentNode.parentNode;
            var e = $("#page").get(0).offsetHeight;
            var d = g.offsetTop + g.offsetHeight + 1;
            f.css({
                height: e - d + "px",
                top: d + "px",
                display: "block",
                zIndex: 99
            })
        };
        LBi.dropdown_products.dropDownPanels.repositionDropDown = function () {
            if (LBi.dropdown_products.dropDownPanels.isOpen) {
                var e = $(".has_drop_down .close").get(0);
                var k = e.parentNode;
                var d = $("#content").get(0);
                var g = $(".ddWindow").get(0);
                var h = (document.all) ? d.offsetParent.offsetLeft : d.offsetLeft;h = h - 6;
                var f = d.offsetTop;$(g).css({
                    left: h,
                    top: f
                })
            }
        }
    }
};*/
$.fn.infiniteCarousel = function (a) {
    function b(d, e) {
        return new Array(e + 1).join(d)
    }
    function c(f, d, e) {
        var g = "<div role='toolbar' class='controls " + f + "'>";
        g += "<a class='prev' href='#'><span>Previous promo</span></a>";
        if (f === "steps") {
            g += "<ol>";
            for (i = 1, len = d; i <= len; i++) {
                g += "<li><a href='#' role='button' aria-controls=" + e + ">Go to promo " + i + "</a></li>"
            }
            g += "</ol>"
        }
        g += "<a class='next' href='#'><span>Next promo</a></span></div>";
        return g
    }
    $.fn.infiniteCarousel.defaults = {
        timeout: false,
        control_style: "steps",
        fade_in_controls: false
    };
    return this.each(function () {
        var m = $("> div", this).css("overflow", "hidden").wrap("<div class='background_wrapper'></div>").after('<div class="modBase"></div>'),
            o = m.find("> ul:first").width(9999).attr("role", "listbox"),
            n = o.find(".carousel_fragment").attr("role", "option"),
            k = n.filter(":first"),
            d = $.extend({}, $.fn.infiniteCarousel.defaults, a),
            f = $(this).attr("id"),
            p = k.outerWidth(),
            h = Math.ceil(m.innerWidth() / p),
            l = 1,
            g = Math.ceil(n.length / h),
            s = "<em> (current panel)</em>";
        if (n.length % h != 0) {
            o.append(b('<li class="empty" />', h - (n.length % h)));
            n = o.find("> li")
        }
        n.filter(":first").before(n.slice(-h).clone().addClass("cloned"));
        n.filter(":last").after(n.slice(0, h).clone().addClass("cloned"));
        n = o.find("> li");
        m.scrollLeft(p * h);

        function r(u) {
            var t = u < l ? -1 : 1,
                w = Math.abs(l - u),
                v = p * t * h * w;m.filter(":not(:animated)").animate({
                scrollLeft: "+=" + v
            }, 500, function () {
                if (u > g) {
                    m.scrollLeft(p * h);
                    u = 1
                } else {
                    if (u == 0) {
                        u = g;
                        m.scrollLeft(p * h * g)
                    }
                }
                l = u;
                if (d.control_style === "steps") {
                    m.parent().find("ol a.current").removeClass("current").find("em").remove();
                    m.parent().find("ol a:eq(" + (u - 1) + ")").addClass("current").append(s)
                }
            })
        }
        m.before(c(d.control_style, g, f));
        $(".prev", this).click(function () {
            r(l - 1);
            return false
        });
        $(".next", this).click(function () {
            r(l + 1);
            return false
        });
        if (d.control_style === "steps") {
            var e = $(".steps ol a");
            e.filter(":first").addClass("current").append(s);
            e.click(function () {
                var t = e.index(this) + 1;
                r(t);
                return false
            })
        }
        if (d.fade_in_controls) {
            m.parent().find(".controls").hide().fadeIn("slow")
        }
        if (d.timeout) {
            var q = true;
            m.parent().hover(function () {
                q = false
            }, function () {
                q = true
            });
            window.setInterval(function () {
                if (q) {
                    r(l + 1)
                }
            }, d.timeout)
        }
    })
};

LBi.utils.forms.rollover_inputs();
$("#products").infiniteCarousel({
    control_style: "paddles"
});
/***************************************
LBi - CMS Integration - 23/08/10
***************************************/
/*
LBi.dropdown_products.dropDownPanels();
*/
/*
$(window).resize(function () {
    LBi.dropdown_products.dropDownPanels.repositionDropDown()
});*/

LBi.load_defered_scripts.load_code();




/***************************************
LBi - CMS Integration - 23/08/10
***************************************/
var BTB = window.BTB || {};

var BTB = window.BTB || {};
		
BTB.dropdown_nav = (function() {

    var container =  $('.has_drop_down').length,
        $content = $("#content"),
        pageHeight = $('#contentAreas').height(),
        winWidth = $('body').outerWidth(),
        $trigger = $('.has_drop_down a'),
        $triggerArrow = $('.drop_down'),
        bg_panel = '<div id="bgPanel"></div>',
        ddWindow = '<div class="ddWindow"><div class="menu_links"><p class="title">Browse</p><ul class="primary"></ul><ul class="additional"></ul></div><p class="title">Popular BT Business products</p><ul class="category_list"></ul></div>',
        linkImg = '.category_list li a img',
        clear_overlay;
        
    
    function setup() {
        var pos_y = $($content).get(0).offsetTop;

        //create overlay background and drop down
        $('body').append(bg_panel);
        $('#bgPanel').css({'top' : pos_y, 'height' : pageHeight, 'width' : winWidth});
        $('body').append(ddWindow);
        $('.ddWindow').css({'top' : pos_y});
        
        $.getJSON('/assets/js/submenu_data.json?location='+window.location+'', function(data, textStatus) {
            
            // get the JSON response 
            DI_linksData = data.dropDownMenu;
            
            $.each(DI_linksData.browseLinks, function(link, value){
                var LINK_CONTENT = value.content,
                    LINK_URL = value.url,
                    LINK_OMNITURE = value.omniture,
                    LINK_CLASS = value.linkClass,
                    LINK_ALT = value.alt,
                    LINK_SRC = value.src
                
                $('ul.primary').append('<li><a href="' + LINK_URL + '" onclick="' + LINK_OMNITURE + '">' + LINK_CONTENT + '</a></li>');
            });
            
            $.each(DI_linksData.addLinks, function(link, value){
                var LINK_CONTENT = value.content,
                    LINK_URL = value.url,
                    LINK_OMNITURE = value.omniture,
                    LINK_CLASS = value.linkClass,
                    LINK_ALT = value.alt,
                    LINK_SRC = value.src
                
                $('ul.additional').append('<li><a href="' + LINK_URL + '" class="' + LINK_CLASS + '" onclick="' + LINK_OMNITURE + '">' + LINK_CONTENT + '</a></li>');
            });
            
            $.each(DI_linksData.btProducts, function(link, value){
                var LINK_CONTENT = value.content,
                    LINK_URL = value.url,
                    LINK_OMNITURE = value.omniture,
                    LINK_CLASS = value.linkClass,
                    LINK_ALT = value.alt,
                    LINK_SRC = value.src
                
                $('ul.category_list').append('<li><a href="' + LINK_URL + '" onclick="' + LINK_OMNITURE + '"><img alt="' + LINK_ALT + '" src="' + LINK_SRC + '"></a></li>');
            });
                
        });
    }
    
    function toggleIcon() {
        if ($triggerArrow.hasClass('close')) {
            BTB.dropdown_nav.hideOverlay();
        } else {
            BTB.dropdown_nav.showOverlay();
        }
    }
    
    var openAPI = {
        showOverlay: function() {
        
            //change arrow image
            $($triggerArrow).addClass('close');
            
            //display the lightbox
            $('#bgPanel').css({'display' : 'block'});
            $('.ddWindow').css({'display' : 'block'});
        },
        
        hideOverlay: function() {
        
            //change arrow image
            $($triggerArrow).removeClass('close');
            
            //hide the lightbox
            $('#bgPanel').css({'display' : 'none'});
            $('.ddWindow').css({'display' : 'none'});
        },
        
        init: function() {
            if(container > 0) {
                setup();
                winPosition();
               
                //event handlers
                $($trigger).mouseover(function(){
                    delay_overlay = setTimeout(function() {
                        BTB.dropdown_nav.showOverlay();
                    }, 200);
                    clearTimeout(clear_overlay);
                });
                $($trigger).mouseout(function(){
                    clear_overlay = setTimeout(function() {
                        BTB.dropdown_nav.hideOverlay();
                    }, 300);
                    clearTimeout(delay_overlay);
                });
                $('.ddWindow').mouseover(function(){
                    clearTimeout(clear_overlay);
                });
                $('.ddWindow').mouseout(function(){
                    clear_overlay = setTimeout(function() {
                        BTB.dropdown_nav.hideOverlay();
                    }, 300);
                });
                $($triggerArrow).click(function() {
                    toggleIcon();
                   return false; 
                });
            }
        }
    };
    return openAPI;
}());


function winPosition() {
    var $container = $("#content").length;
    if ($container > 0) {
        var pos_y = $("#content").get(0).offsetTop;
        var pos_x = (document.all) ? $("#content").get(0).getBoundingClientRect().left : $("#content").get(0).offsetLeft;
    
        // Repostion overlay menu
        $('#bgPanel').attr('style', 'z-index:99;top:'+pos_y+'px;height:' + $("#page").get(0).offsetHeight +'px');
        $('.ddWindow').attr('style', 'position:absolute;top:'+pos_y+'px;left:'+(pos_x-6)+'px;');
    }
}

$(document).ready(function () {
	BTB.dropdown_nav.init();
});
