// <![CDATA[
$(function() {
		   
// -------------------------- //
// -- -- Generic jQuery -- -- //
// -------------------------- //

	//Opens Links In External Window
	$("a[rel='external']").addClass("external").attr('title', function() { return this.title + ' (Opens in New Window)' }).click(function() { window.open(this.href); return false; });
	
	//Scroll To Back to Top
	$("a[href='#backtotop']").click(function() { $.scrollTo(0, 500); return false; }); 

	//Start Fancybox General
	$("a.fancyBox").fancybox({
		'hideOnContentClick': false,
		'overlayShow': true
	});
	
	//Overlay Fields
	$('label.overlay').labelOver();
	
	//ADD STYLE TO DOWNLOAD LINKS IN RIGHT COLUMN
	$("#contentRight > a[href*='.xls']").addClass('icon').addClass('xlsDoc');
	$("#contentRight > a[href*='.ppt']").addClass('icon').addClass('pptDoc');
	$("#contentRight > a[href*='.doc']").addClass('icon').addClass('docDoc');
	$("#contentRight > a[href*='.pdf']").addClass('icon').addClass('pdfDoc');
	$("#contentRight > a[href*='.jpg']").addClass('icon').addClass('jpgDoc');
	
	//A to Z Panel
	$('#AZList li a').mouseover(
		function () {
			$('#aToZResults').load("/assets/php/aToZCountPages.php", 
				{
					letter: $(this).html()
				}
			);
		}
	);
	
	$('#aToZ').mouseleave(
		function () {
			$('#aToZResults').html('Select a letter to search the site');
		}
	);
	
	
	//custom panel
	$('#customPanelCycle').cycle({ 
    	fx:     'fade', 
    	speed:   1000, 
    	timeout: 6000, 
    	next:   '#customPanelCycle', 
    	pause:   1 
	});
	
});
 
(function($) {
	$.extend($.fx.step,{
	    backgroundPosition: function(fx) {
            if (fx.state === 0 && typeof fx.end == 'string') {
                var start = $.curCSS(fx.elem,'backgroundPosition');
                start = toArray(start);
                fx.start = [start[0],start[2]];
                var end = toArray(fx.end);
                fx.end = [end[0],end[2]];
                fx.unit = [end[1],end[3]];
			}
            var nowPosX = [];
            nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
            nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
            fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

           function toArray(strg){
               strg = strg.replace(/left|top/g,'0px');
               strg = strg.replace(/right|bottom/g,'100%');
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
           }
        }
	});
})(jQuery);
	  
$.fn.pause = function(milli,type) {
	milli = milli || 1000;
	type = type || "fx";
	return this.queue(type,function(){
		var self = this;
		setTimeout(function(){
			$.dequeue(self);
		},milli);
	});
};

$.fn.clearQueue = $.fn.unpause = function(type) {
	return this.each(function(){
		type = type || "fx";
		if(this.queue && this.queue[type]) {
			this.queue[type].length = 0;
		}
	});
};
// ]]>