var subNavMenu = new function subNavMenuClass() {
    var _this = this;
    this.currentPage = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1).toLowerCase();
    this.init = function() {
        if ($("#subNav").length > 0)
            $.ajax({ url: "library/xml/trucksnav.xml", dataType: "xml", success: _this.drawMenu });
    };
	this.isIE6 = function() { return !$.support.cssFloat && typeof document.body.style.maxHeight == "undefined"; };
    this.dropdownHack = function() { return _this.isIE6() ? '<iframe id="menu4iframe" src="javascript:\'\';" marginwidth="0" marginheight="0" align="bottom" scrolling="no" frameborder="0" style="position:absolute; left:0; top:100px; display:block; filter:alpha(opacity=0);" ></iframe>' : ""; };

    this.showSubMenu = function() {
        $(this).addClass("ovr");

        if ($(this).find(".subNavLower").text().length > 0)
            $(this).addClass("ov");

        $(this).find(".subNavLower").fadeIn(200);
    };
    this.hideSubMenu = function() {
        $(this).removeClass("ovr");
        $(this).removeClass("ov");
        $(this).find(".subNavLower").fadeOut(50);
    };
    this.drawMenu = function(data, status) {
        $("#subNav").append('<ul class="subNavTopLevel"></ul>');
        $(data).find("item").each(function() {
            var onClass = ($(this).children("url").text() != "" && _this.currentPage.indexOf($(this).find("url").text()) != -1) ? ' class="on"' : "";
            var url = ($(this).children("url").text() != "") ? $(this).children("url").text() : "javascript:void(0)";
            var target = ($(this).children("url").text() != "" && typeof $(this).children("url").attr("target") != "undefined") ? ' target="' + $(this).children("url").attr("target") + '"' : "";

            $(".subNavTopLevel").append('<li><a href="' + url + '"' + onClass + target + '>' + $(this).find("label:first").text().replace("&sm;", "<sup>sm</sup>").toUpperCase() + '</a></li>');
            if ($(this).find("subItem").length > 0) {
                $(".subNavTopLevel").find("li:last").addClass("sub");
                $(".subNavTopLevel").find("li:last").append('<div class="subNavLower">' + _this.dropdownHack() + '</div>');
                $(this).find("subItem").each(function() {
                    var onClass = (_this.currentPage.indexOf($(this).find("url").text()) != -1) ? ' class="on"' : "";
                    var target = ($(this).find("url").text() != "" && typeof $(this).find("url").attr("target") != "undefined") ? ' target="' + $(this).find("url").attr("target") + '"' : "";
                    $(".subNavLower:last").append('<a' + onClass + ' href="' + $(this).find("url").text() + '">' + $(this).find("label").text() + '</a>');
                    if (onClass != "") {
                        $(".subNavLower:last").prev("a").addClass("on");
                        $(".subNavLower:last>a:last").addClass("on");
                        $(".subNavLower:last").parent().addClass("on");
                    }
                });
            }
        });
        $("#subNav").append('<div class="clr"><!-- clr --></ul>');
        $(".subNavTopLevel>li").hover(_this.showSubMenu, _this.hideSubMenu);
    };
}
$(subNavMenu.init);

var supplierListing = new function supplierListingClass()
{
	var _this = this;
	this.divs = [["#bg1", true], ["#bg2", false]];
	this.suppliers = [
		{name:"- Select a Category -",imgURL:"parts_brands_backdrop.jpg",w:0,h:0},
		{name:"Brakes (Air)",imgURL:"parts_brands_brake-air.jpg",w:662,h:262},
		{name:"Brakes (Hydraulic)",imgURL:"parts_brands_brake-hydro.jpg",w:662,h:262},
		{name:"Cab &amp; Hood; Frame/Attachments",imgURL:"parts_brands_cab-hood.jpg",w:662,h:262},
		{name:"Engine",imgURL:"parts_brands_engine.jpg",w:662,h:262},
		{name:"Maintenance",imgURL:"parts_brands_maintenance.jpg",w:662,h:262},
		{name:"Steering",imgURL:"parts_brands_steering.jpg",w:662,h:262},
		{name:"Suspension Parts",imgURL:"parts_brands_suspension.jpg",w:662,h:262},
		{name:"Trailer Parts",imgURL:"parts_brands_trailor.jpg",w:662,h:262},
		{name:"Transmission/Axle/Driveline/PTO",imgURL:"parts_brands_transmission.jpg",w:662,h:262}
	];
	this.changed = function()
	{
		var idx = $(this).val();
		$(_this.divs).each(function()
		{
			if(this[1])
			{
				$(this[0]).fadeOut(500);
				this[1] = false;
			}
			else
			{
				$(this[0]).css({backgroundImage:"url('" + _this.suppliers[idx].img.src + "')", width:_this.suppliers[idx].w + "px", height:_this.suppliers[idx].h + "px"});		
				$(this[0]).fadeIn(500);
				this[1] = true;
			}
		});
	};
	this.init = function()
	{
		if($("#suppliersDropDown").length > 0)
		{
			$(_this.suppliers).each(function(idx, item)
			{
				item.img = new Image(item.w, item.h);
				item.img.src = "assets/images/suppliers/" + item.imgURL;
				$("#suppliersDropDown").append('<option value="' + idx + '">' + item.name + '</option>');
			});
			$("#suppliersDropDown").change(_this.changed);			
			$("#bg1").css({backgroundImage:"url('" + _this.suppliers[0].img.src + "')", width:_this.suppliers[0].w + "px", height:_this.suppliers[0].h + "px"});		
			$("#bg1").fadeIn(1, function() { $("#suppliersDropDown").fadeIn(250); });
		}
	};
}
$(supplierListing.init);