var j = jQuery.noConflict();

// Konami code
var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";
    j(document).keydown(function(e) {
	kkeys.push(e.keyCode);
	if ( kkeys.toString().indexOf( konami ) >= 0 ){
	    j(document).unbind('keydown', arguments.callee);
		alert("KonamiCode");
	}
});

// Tooltip
j.fn.InnerTooltip = function() {
    j(this).hover(
        function() {
            var item = j(this).find(".tooltip");
            var h = item.height();
            item.css("margin-top", "-" + h + "px");
            item.show();
        },
        function() {
            var item = j(this).find(".tooltip");
            item.hide();
        }
    );
}

j.fn.OutTooltip = function() {
    j(this).hover(
        function() {
            var item = item = j(this).parent().find(".tooltip");
            item.show();
            var h = item.height();
            if (j.browser.msie && j.browser.version.substring(0, 1) == "7") {
                h = h + 120;
            } else {
                h = h + 70;
            }
            item.css("margin-top", "-" + h + "px");
        },
        function() {
            var item = item = j(this).parent().find(".tooltip");
            item.hide();
        }
    );
}

//Gmap
var infowindow = null;
var map;
var markers = new Array();
var latDefault = 48.69096039092549;
var longDefault = -16.611328125;
var zoomDefault = 2;

function initGmap() {
    var latlng = new google.maps.LatLng(latDefault, longDefault);
    var myOptions = {
        zoom: zoomDefault,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("gMap"), myOptions);
    j.GetMarkers("/handlers/GetOffices.ashx", map);
}

j.extend({
    GetMarkers: function(jSonUrl, map) {
        j.getJSON(jSonUrl, function(data) {
            j.each(data, function(i, item) {
                if (item.Latitude != "" && item.Longitude != "") {
                    var latlng = new google.maps.LatLng(parseFloat(item.Latitude), parseFloat(item.Longitude));
                    var image = "/Design/images/map-marker.png";
                    var marker = new google.maps.Marker({ position: latlng, map: map, icon: image });
                    var infoWindowContent = "<div style=\"height:100px; font-size:12px\"><strong>" + item.Title + "</strong><br />" + item.Address + "<br /><a href=\"" + item.Website + "\">" + item.Website + "</a></div>";
                    var iw = new google.maps.InfoWindow({ content: infoWindowContent });
                    google.maps.event.addListener(marker, "click", function() {
                        j.CloseInfoWindow();
                        iw.open(map, marker);
                        infowindow = iw;
                    });
                    markers[item.ID] = new Array(marker, iw);
                }
            });
        });
    },
    CloseInfoWindow: function() {
        if (infowindow) {
            infowindow.close();
        }
    }
});

j.fn.addEventOnGmapLink = function() {
    j(this).click(function() {
        var officeId = j(this).attr("id");
        j.CloseInfoWindow();
        markers[officeId][1].open(map, markers[officeId][0]);
        infowindow = markers[officeId][1];
    });
}


// Menu functions
j.fn.hideMenu = function() {
    j(this).find("table").hide();
    j(this).find("div").hide();
    j("#subMenuBg").hide();
    j(this).removeClass("selected");
}

j.fn.showMenu = function() {
    j(this).find("table").show();
    j(this).find("div").show();
    j("#subMenuBg").show();
    j(this).addClass("selected");
}

//M+a+i+l function
function noSP(one, two, three) {
    window.location = "m" + "ai" + "lt" + "o:" + one + "@" + two + "." + three + "?sub" + "ject=" + "contact via lbigroup.be";
}

(function(j) {
    var userAgent = navigator.userAgent.toLowerCase();

    j.browser = {
        version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1],
        safari: /webkit/.test(userAgent),
        opera: /opera/.test(userAgent),
        msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
        mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
    };

})(j);


//Load
j(document).ready(function() {
    //Top menu
    j("#mainMenu ul li.subMenu").hover(
	    function() {
	        j("#mainMenuBorder").removeClass("top");
	        j("#mainMenuBorder").addClass("bottom");
	        j(this).showMenu();
	    },
	    function() {
	        j("#mainMenuBorder").addClass("top");
	        j("#mainMenuBorder").removeClass("bottom");
	        j(this).hideMenu();
	    }
    );

    var selectedItem = j("#mainMenu ul li.selected");
    if (selectedItem.length > 0) {
        j("#mainMenu ul li:not(#mainMenu ul li ul li)").each(function() {
            j(this).mouseover(function() {
                if (this != selectedItem[0]) {
                    selectedItem.hideMenu();
                }
            }).mouseout(function() {
                selectedItem.showMenu();
            });
        });
    }

    //ToolTip
    j(".innerTooltip").InnerTooltip();
    j(".outTooltip").OutTooltip();

    //GmapLink
    j(".linkToGmap").addEventOnGmapLink();
});









