//Detect Mobile Browser in Javascript
//
var isMobile = false;
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
    || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0, 4))) isMobile = true;


var defaultColour = "#100f19";
var dataColour;
var prevColour;
var timeout;


$(document).ready(function () {

	$('.tile-carousel').slick({
	  infinite: true,
	  slidesToShow: 4,
	  slidesToScroll: 4,
	  dots: true,
	  appendDots: $('.carousel-nav'),
		responsive: [
		{
		  breakpoint: 1361,
		  settings: {
			slidesToShow: 4,
			slidesToScroll: 4,
			appendArrows: $('.carousel-nav')
		  }
		},
		{
		  breakpoint: 1025,
		  settings: {
			slidesToShow: 3,
			slidesToScroll: 3,
			appendArrows: $('.carousel-nav')
		  }
		},
		{
		  breakpoint: 769,
		  settings: {
			slidesToShow: 2,
			slidesToScroll: 2,
			appendArrows: $('.carousel-nav')
		  }
		},
		{
		  breakpoint: 551,
		  settings: {
			slidesToShow: 1,
			slidesToScroll: 1,
			appendArrows: $('.carousel-nav')
		  }
		}

		// You can unslick at a given breakpoint now by adding:
		// settings: "unslick"
		// instead of a settings object
	  ]
	});

    $(".more-details").click(function (e) {

        var t = $(this);
        var goto = t.data("scrollto");

        $("html, body").animate({
            scrollTop: $(goto).offset().top
        }, 1000);

    });
    
    
    
    // Page Accordions
	//
	$(".page-accordion-title").click(function (e) {
		
        var t = $(this);
        
        if (t.hasClass("active")) {
            t.removeClass("active");
            t.next(".page-accordion-text").slideUp();
        } else {
            t.addClass("active");
            t.next(".page-accordion-text").slideDown();
        }
        
        e.preventDefault();
    });
    
    // Handle the Accordion Auto Opens...
    //
    const urlParams = new URLSearchParams(window.location.search);
    const a = urlParams.get('a');


    if (a) {
        if (!isNaN(a)) {
            expandMe($(".header-text-content-page h3[data-id=" + a + "]"), ".acc-01");
        }
    }


	
	// CDD Accordions
	//
	$(".header-text-content-page h3").click(function (e) {
		
        expandMe($(this), ".acc-01");
        
        e.preventDefault();
    });
	
	// CDD Sub Accordions
	//
	$(".header-text-content-page h4").click(function (e) {
		
        expandMe($(this), ".acc-02");
        
        e.preventDefault();
    });
	
	
	$(".acc-01 a, acc-02 a").click(function (e) {
        
		var t = $("h3[data-id=" + $(this).data("id") + "]");
		
		var yPos = t.offset().top;
		
		expandMe(t,".acc-01");
		
		$("html, body").animate({
			scrollTop: yPos
		},1000);
	
        e.preventDefault();
    });
	
	
	
	
	
	
	
	

    $(".acceptBtn").click(function (e) { $("body").removeClass(); $("#cookieBar").hide(); });

    $(".dropdown-container .dropdown-inner a.btn").click(function (e) {
        $(".contacts-container").toggleClass("active");
        e.preventDefault();
    });

    $(".arrow-down").click(function (e) {
        $('html, body').animate({
            scrollTop: $(".filter-container").offset().top
        }, 1000);

        e.preventDefault();
    });

	$(".header-search").click(function(e){
		$(".search-container").toggleClass("active");
        $("a.header-search").toggleClass("active");
        e.preventDefault();
	});
	
	$(".toggle-dropdown").click(function(e){
        $(".dropdown-container").toggleClass("active");
        $(".logo-lockup").toggleClass("hide");
	});
	
    $(".toggle-contact").click(function (e) {

        // position .contacts-container
        //
        var left = e.pageX
        var width = $(".contacts-container").width();
        var side = "left"
        var pos = left - (width / 2);
        if (pos < 1040) {
            side = "right";
            pos = 5;
        }


        $(".contacts-container").css(side, pos + "px");
        $(".contacts-container").toggleClass("active");
    });

    $(".close").click(function (e) {
        $(".contacts-container").removeClass("active");
        $(".contacts-container").css("left", "");
        $(".contacts-container").css("right", "");
    });


	
	
	$(".mobile-contact-btn").click(function(e){
        $(".talk-to-us-container").toggleClass("active");
        e.preventDefault();
	});
	
	$(".contacts-container a.close").click(function(e){
        $(".talk-to-us-container").removeClass("active");
        e.preventDefault();
	});
	
	
	// This function should remove the active class on the contacts container when clicking outside of it.
	// 
	$(document).mouseup(function(e) 
	{
		var button 		= $(".talk-to-us-container");
		var container 	= $(".contacts-container");

		// if the target of the click isn't the button nor a descendant of the button
		//
		if (!button.is(e.target) && button.has(e.target).length === 0) 
		{
			container.removeClass("active");
		}
	});
	
	// This function should remove the active class on the How Can We Help Menu when clicking outside of it.
	// 
	$(document).mouseup(function(e) 
	{
		var button 		= $(".dropdown-button");
		var container 	= $(".dropdown-container");

		// if the target of the click isn't the button nor a descendant of the button
		//
		if (!button.is(e.target) && button.has(e.target).length === 0) 
		{
			container.removeClass("active");
		}
	});
	
	
	
	$(".read-more-toggle").click(function(e){
		$(".text-expanded").slideToggle();
		$(this).hide();
        e.preventDefault();
	});
	
	matchHeight();


	$(".nav-toggle").click(function(e){
		$("#nav-container").toggleClass("active");
		if ($("#nav-container").hasClass("active")) {
			$("body").css("overflow","hidden");
			$(".header-hamburger").addClass("active");
			if(isMobile){
				setTimeout(
				function() {
					$(".wrapper").css("display","none");
				},
				500);
			}
		} else {
			$("body").css("overflow","visible");
			$(".header-hamburger").removeClass("active");
			if(isMobile){$(".wrapper").css("display","block");}
		}
		
        if (isMobile && $(window).width() < 768) {

		    var paddingtop = $(".nav-cell-right").css("padding-top");
            var menuHeight = 0;

		    paddingtop = paddingtop.replace("px", "");
		    paddingtop = parseInt(paddingtop);
		    menuHeight = ($(window).outerHeight() - paddingtop);
		    menuHeight = (menuHeight - 10);

            $(".nav-scroller").css({
			    "max-height": menuHeight + "px",
			    "height": menuHeight + "px"
            });

        }

        e.preventDefault();
	});
	
	
    var ww = $(window).width();
    var indexC = 4;

    if (ww >= 1024) {
        indexC = 4;
    } else if (ww < 1024 && ww > 768) {
        indexC = 3;
    } else if (ww <= 768 && ww > 550) {
        indexC = 2
    } else if (ww < 550) {
        indexC = 1;
    } else {
        indexC = 4;
    }

    $(".col-1").each(function (index) {

        if (index > (indexC - 1)){
            $(this).addClass("hide-default");
        }

    });

	window.sr = ScrollReveal();
	sr.reveal('.col-1.hide-default', { duration: 1200, distance: '40px' });

    //Main Navigation Load - find active page and set colour/text if applicable
    //
    if ($("ul.main-nav li.active").length) {
        ShowActiveNavOnLoad();
    } else {
        ShowDefaultNavOnLoad();
    }

    //Main Navigation Hover
    //
    if (!isMobile) {

        $("ul.main-nav li a").hover(function () {

            //Mouse over
            var t = $(this).parent("li");
            var dataID = 0;

            // The Solution Class Name is applied to the Menu Item
            // Set it here as a var
            //
            var dataSolution = $(this).get(0).className;


            $("#nav-container").removeClass("active-hover").removeAttr("style");
            $(".nav-left-cell-text").children(".menu-hover-text").removeClass("active").hide();
            $("ul.main-nav li.active").removeClass("remove-dot");

            if ((t.attr("data-id") != null) && (typeof t.attr("data-id") != "undefined")) {

                clearTimeout(timeout);

                prevColour = dataColour;
                if (prevColour == null || typeof prevColour == "undefined") { prevColour = defaultColour; }
                dataID = t.attr("data-id");
                //dataColour = $(".nav-left-cell-text").children(".menu-hover-text[data-id=" + dataID + "]").attr("data-colour");

                $(".nav-left-cell-text").children(".menu-hover-text[data-id=" + dataID + "]:not(.active)").addClass("active").fadeIn(300);
                //$("#nav-container").css("background-color", dataColour);

                $("#nav-container").removeClass("funds");
                $("#nav-container").removeClass("corporate");
                $("#nav-container").removeClass("private-wealth");

                if (!$("#nav-container").hasClass("active-hover")) {
                    $("#nav-container").addClass("active-hover");
                    $("#nav-container").addClass(dataSolution);
                }

                $("ul.main-nav li.active").addClass("remove-dot");

                prevColour = dataColour;
            }


        }, function () {

            //Mouse out
            $("#nav-container").removeClass("active-hover").removeAttr("style");
            $(".nav-left-cell-text").children(".menu-hover-text").removeClass("active").hide();

            prevColour = defaultColour;

            if ($("ul.main-nav li.active").length) {
                timeout = setTimeout(function () {
                    ShowActiveNavOnLoad();
                }, 300);

            } else {
                timeout = setTimeout(function () {
                    ShowDefaultNavOnLoad();
                }, 100);
            }
            
            $("ul.main-nav li.active").removeClass("remove-dot");

        });
    }
    //


    $(".filter-container a.filter").click(function (e) {

        var t = $(this);
        var tFilter = t.attr("data-filter");
        var filterObj = $("#filter");

        if (tFilter != null && typeof tFilter != "undefined") {

            if (t.hasClass("active")) {
                //check to see if we are unfiltering the current filter, therefore returning it back to the previous state
                //

                $("#filter").fadeOut(500, function () {
                    $(".col-row-grid").fadeIn(500);
                    $("#filter").empty().removeAttr("data-filter");
                });


                t.removeClass("active");


            } else {

                $(".filter-container a.filter").removeClass("active");
				
				//history.pushState(null, null, '#' + tFilter);

                $.ajax({
                    url: '/_ajax/HomepageFilteredContent.ashx',
                    type: 'POST',
                    data: {
                        "filterType": tFilter
                    },
                    success: function (data) {

                        if (filterObj.attr("data-filter") != null && typeof filterObj.attr("data-filter") != "undefined") {

                            $("#filter").fadeOut(500, function () {
                                $("#filter").html(data).attr("data-filter", tFilter);
                                $("#filter").fadeIn(500);
                            });

                            t.addClass("active");

                        } else {

                            $("#filter").html(data).attr("data-filter", tFilter);
                            $(".col-row-grid").fadeOut(500, function () {
                                $("#filter").fadeIn(500);
                            });

                            t.addClass("active");

                        }


                    },
                    error: function () {

                    }

                });

            }

            
        }
        
        

        e.preventDefault();
    });

    $(".search-name").keypress(function (e) {

        if (e.which == 13) {
            FilterPeople();
            e.preventDefault();
        }

    });


    $(".btn-search-people").click(function (e) {

        FilterPeople();
        e.preventDefault();
    });

    $(".btn-search-news").click(function (e) {

        FilterNews();
        e.preventDefault();
    });

});




$(window).scroll(function(){
/*	
	var w = $(window);
	var windowTop = w.scrollTop();
	var windowBottom = w.height();

	if (scOffset < 70 ) 
	{
		$(".header-box").addClass("show-header-box")	
	} else {
		$(".header-box").removeClass("show-header-box")	
	}


	// play the video when it comes onto screen


	var v = $("#video").offset().top;
	var voff = windowTop - v + windowBottom - $("#video").height();
	
	if (voff>0)
	{
		$('#video')[0].play()
	}

	
	$('.col-1').each(function(){
		
		var col = $(this);
		var thisy = col.offset().top - windowBottom;
		var thisx = col.offset().left;
		var thisDistance = 10;
		var diid =  $(this).attr("data-sr-id");
		
		console.log("a"+col+thisy);
		console.log(diid);
		console.log("b"+windowTop);
		console.log("c"+windowBottom);
		
		if (thisy < windowBottom){
			
			sr.reveal(col, { duration: 1000, opacity: 0, scale: 1, distance: thisDistance + 'px' });
			
		}
		
				
	});

	*/

});		



$(window).on("load", function () {
	
	


});


// ************************************************************************************************************
// ************************************************************************************************************
// Functions
//

function fbTrackEvent(evt) {

    console.log("fb Tracking Event: " + evt);

    // CompleteRegistration

    fbq('track', evt);

    console.log("fb Tracked Event");

}



function matchHeight() {
    console.log("test")
    $(".panel").matchHeight({
		mobile: true,
		byRow: true
	});
}


function FilterPeople() {

    var tSolution = $("#cpBody_ddlSolutions").val();
    var tPosition = $("#cpBody_ddlPosition").val();
    var tName = $("#cpBody_tbName").val();

    // if ((tSolution != '0') || (tPosition != '0') || (tName != '')) {

        $.ajax({
            url: '/_ajax/GetPeopleWithFilter.ashx',
            type: 'POST',
            data: {
                "name": tName, "position": tPosition, "solutionID": tSolution
            },
            success: function (data) {

                if ($("#pnlTilesFilter").hasClass("active")) {
                    $("#pnlTilesFilter").fadeOut(500, function () {
                        $("#pnlTilesFilter").html(data);
                        $("#pnlTilesFilter").fadeIn(500);
                    });
                } else {
                    $("#pnlTilesFilter").html(data).addClass("active");
                    $(".col-row-grid").fadeOut(500, function () {
                        $("#pnlTilesFilter").fadeIn(500);
                    });
                }
            },
            error: function () {

            }

        });

}

function FilterNews() {

    var sid = $("#cpBody_ddlSolutions").val();
    var pid = $("#cpBody_ddlPeople").val();

    // if ((tSolution != '0') || (tPosition != '0') || (tName != '')) {

    $.ajax({
        url: '/_ajax/GetNewsWithFilter.ashx',
        type: 'POST',
        data: {
            "sid": sid, "pid": pid
        },
        success: function (data) {

            if ($("#pnlTilesFilter").hasClass("active")) {
                $("#pnlTilesFilter").fadeOut(500, function () {
                    $("#pnlTilesFilter").html(data);
                    $("#pnlTilesFilter").fadeIn(500);
                });
            } else {
                $("#pnlTilesFilter").html(data).addClass("active");
                $(".col-row-grid").fadeOut(500, function () {
                    $("#pnlTilesFilter").fadeIn(500);
                });
            }


        },
        complete: function (data) {

            setTimeout(matchHeight(), 3000);
           
        },
        error: function () {

        }

    });

}







function ShowActiveNavOnLoad() {

    //We need to show the active pages colour and text
    var t = $("ul.main-nav li.active")

    
    if ((t.attr("data-id") != null) && (typeof t.attr("data-id") != "undefined")) {

        prevColour = defaultColour;
        dataID = t.attr("data-id");
        //dataColour = $(".nav-left-cell-text").children(".menu-hover-text[data-id=" + dataID + "]").attr("data-colour");

        $(".nav-left-cell-text").children(".menu-hover-text[data-id=" + dataID + "]:not(.active)").addClass("active").fadeIn(300);
        //$("#nav-container").css("background-color", dataColour);

        if (!$("#nav-container").hasClass("active-hover")) {
            $("#nav-container").addClass("active-hover");
        }

    }
    

}

function ShowDefaultNavOnLoad() {

    //We need to show the active pages colour and text
    $(".menu-hover-text.default-text").show();

}

function AddWrapperImage(imageurl) {	
    $(".wrapper").css("background-image", "url('" + imageurl + "')");
}

function InitSlick() {
    $(".bg-wrapper-carousel-inner").slick({
        arrows: false,
        dots: false,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: true,
        autoplaySpeed: 3000,
        fade: true,
        infinite: true,
        speed: 1000,
        slide: '.page-carousel'
    });
}

jQuery.cookie = function (name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};



function expandMe(t,p) {
	
		var n = t.next(p);
		
		if (t.hasClass("active")) {
			t.removeClass("active");
			n.slideUp();
		} else {
			t.addClass("active");
			n.slideDown();
		}
	
}

