/*
 * Load Images
 */
$(window).bind('load', function() {
    var preload = new Array();
    $(".hover").each(function() {
        s = $(this).attr("src").replace(/\.(.+)$/i, "_on.$1");
        preload.push(s)
    });
    var img = document.createElement('img');
    $(img).bind('load', function() {
        if(preload[0]) {
            this.src = preload.shift();
        }
    }).trigger('load');
});

/*
* hoverIntent
*/
(function($) {
	$.fn.hoverIntent = function(f,g) {
		// default configuration options
		var cfg = {
			sensitivity: 7,
			interval: 100,
			timeout: 0
		};
		// override configuration options with user supplied object
		cfg = $.extend(cfg, g ? { over: f, out: g } : f );

		// instantiate variables
		// cX, cY = current X and Y position of mouse, updated by mousemove event
		// pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
		var cX, cY, pX, pY;

		// A private function for getting mouse position
		var track = function(ev) {
			cX = ev.pageX;
			cY = ev.pageY;
		};

		// A private function for comparing current and previous mouse position
		var compare = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			// compare mouse positions to see if they've crossed the threshold
			if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
				$(ob).unbind("mousemove",track);
				// set hoverIntent state to true (so mouseOut can be called)
				ob.hoverIntent_s = 1;
				return cfg.over.apply(ob,[ev]);
			} else {
				// set previous coordinates for next time
				pX = cX; pY = cY;
				// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
				ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
			}
		};

		// A private function for delaying the mouseOut function
		var delay = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			ob.hoverIntent_s = 0;
			return cfg.out.apply(ob,[ev]);
		};

		// A private function for handling mouse 'hovering'
		var handleHover = function(e) {
			// next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
			var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
			while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } }
			if ( p == this ) { return false; }

			// copy objects to be passed into t (required for event object to be passed in IE)
			var ev = jQuery.extend({},e);
			var ob = this;

			// cancel hoverIntent timer if it exists
			if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }

			// else e.type == "onmouseover"
			if (e.type == "mouseover") {
				// set "previous" X and Y position based on initial entry point
				pX = ev.pageX; pY = ev.pageY;
				// update "current" X and Y position based on mousemove
				$(ob).bind("mousemove",track);
				// start polling interval (self-calling timeout) to compare mouse coordinates over time
				if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}

			// else e.type == "onmouseout"
			} else {
				// unbind expensive mousemove event
				$(ob).unbind("mousemove",track);
				// if hoverIntent state is true, then call the mouseOut function after the specified delay
				if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
			}
		};

		// bind the function to the two event listeners
		return this.mouseover(handleHover).mouseout(handleHover);
	};
})(jQuery);
/*
	Preload Images
*/
jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
};
$(document).ready(function(){
	/*
	 	Open External Links in a New Window/Tab
	 */
	$("a[@href^='http']").click(function(){window.open(this.href); return false;});
	/*
		Preload Images
	*/
	$.preloadImages("http://www.rmrsboulder.net/res/common/bkg-onhover.jpg", "http://www.rmrsboulder.net/res/servecontent/slide_01.jpg","http://www.rmrsboulder.net/res/servecontent/slide_02.jpg","http://www.rmrsboulder.net/res/servecontent/slide_03.jpg");
	Image1= new Image
    Image1.src = "http://www.rmrsboulder.net/res/common/bkg-onhover.jpg";
	/*
		Simple Sidebar Accordion
	*/
	function top1out(){
	    $('.content_left-slide1').animate({opacity: 0.6}, 500);
		return false;
	};
	function top2out(){
	    $('.content_left-slide2').animate({opacity: 0.6}, 500);
		return false;
	};
	function top3out(){
	    $('.content_left-slide3').animate({opacity: 0.6}, 500);
		return false;
	};
	function top6out(){
	    $('.content_left-slide6').animate({opacity: 0.6}, 500);
		return false;
	};
		
	$('.content_left-top1').click(function(){
		$('.content_left-slide2').removeClass("activecontent").slideUp(250);
		$('.content_left-slide3').removeClass("activecontent").slideUp(250);
		$('.content_left-slide6').removeClass("activecontent").slideUp(250);
		$('.content_left-slide7').removeClass("activecontent").slideUp(250);
	    $('.content_left-slide1').addClass("activecontent").slideDown("slow");
		return false;
	});
	$('.content_left-top2').click(function(){
		$('.content_left-slide1').removeClass("activecontent").slideUp(250);
		$('.content_left-slide3').removeClass("activecontent").slideUp(250);
		$('.content_left-slide6').removeClass("activecontent").slideUp(250);
		$('.content_left-slide7').removeClass("activecontent").slideUp(250);
        $('.content_left-slide2').addClass("activecontent").slideDown("slow");
		return false;
	});
	$('.content_left-top3').click(function(){
		$('.content_left-slide2').removeClass("activecontent").slideUp(250);
		$('.content_left-slide1').removeClass("activecontent").slideUp(250);
		$('.content_left-slide6').removeClass("activecontent").slideUp(250);
		$('.content_left-slide7').removeClass("activecontent").slideUp(250);
        $('.content_left-slide3').addClass("activecontent").slideDown("slow")
		return false;
	});
	$('.content_left-top6').click(function(){
		$('.content_left-slide2').removeClass("activecontent").slideUp(250);
		$('.content_left-slide3').removeClass("activecontent").slideUp(250);
		$('.content_left-slide1').removeClass("activecontent").slideUp(250);
		$('.content_left-slide7').removeClass("activecontent").slideUp(250);
	    $('.content_left-slide6').addClass("activecontent").slideDown("slow");
		return false;
	});
	
	function fadeitemin(){
		$(this).animate({opacity: 1.0}, 900);
	};
	function fadeitemout(){
		$(this).animate({opacity: 0.6}, 500);
	};
	$('.content_left-slide1').hover(fadeitemin, fadeitemout);
	$('.content_left-slide2').hover(fadeitemin, fadeitemout);
	$('.content_left-slide3').hover(fadeitemin, fadeitemout);
	$('.content_left-slide6').hover(fadeitemin, fadeitemout);	
/*
	Resources Button
*/
	$('#resourceslinkbtn').click(function(){
		$('#alertcontainer').fadeOut("slow");
		$('#menutabs').find("a").removeClass("active");
		$('#resourceslinkbtn').addClass("active");
		$('body').css({ background: "url(res/common/bkg-onhover.jpg)" });
        $('#linksdropdown').fadeIn("slow");
		jQuery.each(jQuery.browser, function(i) {
		if($.browser.msie){
		     var changeMarginIE = {
		        'margin-top' : '10.8em'
		     };
		     $('#content').css(changeMarginIE);
		  }
		else 
		{
		     var changeMargin = {
		        'margin-top' : '1.8em'
		     };
		     $('#content').css(changeMargin);
		  };
		});
	});
	$('#content,.header_logo').mouseover(function(){
		$('#resourceslinkbtn').removeClass("active");
		$('.page').addClass("active");
		$('#linksdropdown').fadeOut("slow");
		$('body').css({ background: "url(http://rmrsboulder.net/res/common/bkg.jpg)" });
		var changeMarginBack = {
        'margin-top' : '0.8em'
      	};
      	$('#content').css(changeMarginBack);
		return false;
	});
/*
	Catalog Button
*/
	$('#cataloglinkbtn').click(function(){
		$('#linksdropdown').fadeOut("slow");
		$('body').css({ background: "url(res/common/bkg.jpg)" });
		$('#menutabs').find("a").removeClass("active");
		$('#cataloglinkbtn').addClass("active");
		$('#alertcontainer').fadeIn("slow");
	});
	$('#cataloglinkclose').click(function(){
		$('#cataloglinkbtn').removeClass("active");
		$('.page').addClass("active");
		$('#alertcontainer').fadeOut("slow");
	});
	/*
$('#quickcatalog').find("a").click(function(){
		$('#alertcontainer').fadeIn("slow");
	});
*/
/*
	Searchbox
*/
	$(".box-search-input").mouseover(function(){
		$("#searchboxfield").val("Try Again Later");
	});
	$(".box-search-input").mouseout(function(){
		$("#searchboxfield").val("Search Catalog");
	});
	$("#searchboxfield").click(function(){
    	$("#searchboxfield").val("");
	});
	$(":text").fadeTo("slow", .60);
	$(":text").focus(function(){
	    $(this).fadeTo("slow", 1);
	});
	$(":text").blur(function(){
	    $(this).fadeTo("slow", .60);
	});	
});