/*
Library meant for easy to use Javascript functions to add dynamic content to Sitecore Sites utilizing jQuery
*/

var drexel = {
    HideShow: function(toggleID) {
        $j("#" + toggleID).toggle();
    },

    Hover: {
        Init: function() {
            drexel.Hover.Preload();

            $j(".DUHover").hover(
				function() { $j(this).attr('src', drexel.Hover.NewImage($j(this).attr('src'))); },
				function() { $j(this).attr('src', drexel.Hover.OldImage($j(this).attr('src'))); }
			);
        },

        Preload: function() {
            $j(window).bind('load', function() {
                $j('.DUHover').each(function(key, elm) {
                    var sHoverImage = drexel.Hover.NewImage($j(this).attr('src'));
                    var currObj = $j(this);

                    var imageTest = new Image();
                    imageTest.onerror = function() {
                        $j(currObj).removeClass("DUHover");
                        $j(currObj).unbind("mouseenter").unbind("mouseleave");
                    };
                    imageTest.onload = function() {
                        $j('<img>').attr('src', sHoverImage);
                    };
                    imageTest.src = sHoverImage;
                });
            });
        },

        NewImage: function(src) {
            var iExtensionPoint = src.search(".ashx");
            return src.substring(0, iExtensionPoint) + '_hover' + src.substring(iExtensionPoint);
        },

        OldImage: function(src) {
            return src.replace(/_hover\./, '.');
        }
    },

    EnlargeImageHover: function() {
        $j(".DUEnlargeImage").parent().hover(
			function() { $j(this).children(".DUEnlargeImage").attr('src', '/sc_images/sacramento/interface/enlarge-image-hover.gif'); },
			function() { $j(this).children(".DUEnlargeImage").attr('src', '/sc_images/sacramento/interface/enlarge-image.gif'); }
		);
    },

    SacramentoSearchBox: function() {
        location.href = "http://sacramento.drexel.edu/search.aspx?q=" + escape(document.getElementById("textTopMenuSearch").value);
    }
}

$j(document).ready(function() {
    $j("ul:not(:has(li))").remove();

    iBox.setPath('/sc_scripts/ibox/');
    // If an object has the class DUHover, make our magic happen
    if ($j('.DUHover').length > 0) {
        drexel.Hover.Init();
    }

    // If an object has the class DUEnlargeImage, make our magic happen
    if ($j('.DUEnlargeImage').length > 0) {
        drexel.EnlargeImageHover();
    }

    // If an object with the mediaPlayer class exists, include the needed JS file and initiate them
    if ($j('.mediaPlayer').length > 0) {
        $j.getScript("/sc_scripts/jquery.media.js", function() {
            $j('.mediaPlayer').media();
        });
    }

    if ($j('.DUTabs').length > 0) {
        $j.getScript("/sc_scripts/jquery-ui-1.6.custom.min.js", function() {
            $j('.DUTabs').tabs();
        });
    }

    if ($j('.DUCorner').length > 0) {
        $j.getScript("/sc_scripts/jquery.corner.js", function() {
            $j('.DUCorner').corner();
        });
    }

    if ($j("#sac-footer").length > 0) {
        $j("#lnkSearch").attr("href", "javascript: drexel.SacramentoSearchBox();");

        var sb = document.getElementById("textTopMenuSearch");
        sb.onkeypress = null;
        $j('#textTopMenuSearch').keyup(function(e) {
            //alert(e.keyCode);
            if (e.keyCode == 13) {
                drexel.SacramentoSearchBox();
            }
        });
    }
	
	if($j(".DUVendors").length > 0)
	{
		$j.getScript("/sc_scripts/table-sort.js");
		$j('head').append("<link id=\"table-sort-stylesheet\" href=\"/sc_styles/procurement-vendor.css\" rel=\"stylesheet\">");
	}
	
	if($j(".DUPhotoGallery").length > 0)
	{
		$j('head').append("<link id=\"jquerylightbox\" href=\"/sc_styles/jquery.lightbox-0.5.css\" rel=\"stylesheet\">");
		$j.getScript("/sc_scripts/jquery.lightbox-0.5.min.js", function() {
			$j(".DUPhotoGallery a.DUPhoto").lightBox();
		});
	}
});