//Featured Content Glider: By http://www.dynamicdrive.com
//Created: Dec 22nd, 07'
//Updated (Jan 29th, 08): Added four possible slide directions: "updown", "downup", "leftright", or "rightleft"
//Updated (Feb 1st, 08): Changed glide behavior to reverse direction when previous button is clicked
//Updated (Feb 12th, 08): Added ability to retrieve gliding contents from an external file using Ajax ("remotecontent" variable added to configuration)
//Updated (July 21st, 09): Updated to work in jQuery 1.3.x
jQuery.noConflict();var featuredcontentglider={csszindex:100,ajaxloadingmsg:"<b>Fetching Content. Please wait...</b>",glide:function(a,b,c){var d=parseInt(b);if(d>=a.$contentdivs.length){alert("No content exists at page "+(d+1)+"! Loading 1st page instead.");d=0}var e=a.$contentdivs.eq(d);if(a.$togglerdiv.attr("lastselected")==null||parseInt(a.$togglerdiv.attr("lastselected"))!=d){var f=a.$toc.eq(d);a.$next.attr("loadpage",d<a.$contentdivs.length-1?d+1+"pg":0+"pg");a.$prev.attr("loadpage",d==0?a.$contentdivs.length-1+"pg":d-1+"pg");var g=c=="previous"?-a.startpoint:a.startpoint;e.css(a.leftortop,g).css("zIndex",this.csszindex++);var h=a.leftortop=="left"?{left:0}:{top:0};e.animate(h,a.speed);a.$toc.removeClass("selected");f.addClass("selected");a.$togglerdiv.attr("lastselected",d+"pg")}},getremotecontent:function(a,b){b.$glider.html(this.ajaxloadingmsg);a.ajax({url:b.remotecontent,error:function(a){b.$glider.html("Error fetching content.<br />Server Response: "+a.responseText)},success:function(c){b.$glider.html(c);featuredcontentglider.setuptoggler(a,b)}})},aligncontents:function(a,b){b.$contentdivs=a("#"+b.gliderid+" ."+b.contentclass);b.$contentdivs.css(b.leftortop,b.startpoint).css({height:b.$glider.height(),visibility:"visible"})},setuptoggler:function(a,b){this.aligncontents(a,b);b.$togglerdiv.hide();b.$toc.each(function(c){a(this).attr("pagenumber",c+"pg");if(c>b.$contentdivs.length-1)a(this).css({display:"none"})});var c=a("#"+b.togglerid+" .next, #"+b.togglerid+" .prev");c.click(function(a){clearInterval(window[b.togglerid+"timer"]);featuredcontentglider.glide(b,this.getAttribute("loadpage"),this.getAttribute("buttontype"));a.preventDefault();featuredcontentglider.autorotate(b)});b.$toc.click(function(a){clearInterval(window[b.togglerid+"timer"]);featuredcontentglider.glide(b,this.getAttribute("pagenumber"));a.preventDefault();featuredcontentglider.autorotate(b)});b.$togglerdiv.fadeIn(1e3,function(){featuredcontentglider.glide(b,b.selected);if(b.autorotate==true){b.stepcount=0;b.totalsteps=b.$contentdivs.length*b.autorotateconfig[1];featuredcontentglider.autorotate(b)}});b.$togglerdiv.click(function(){})},autorotate:function(a){var b=a.speed+a.autorotateconfig[0];window[a.togglerid+"timer"]=setInterval(function(){if(a.totalsteps>0&&a.stepcount>=a.totalsteps){clearInterval(window[a.togglerid+"timer"])}else{a.$next.triggerHandler("click");a.stepcount++}},b)},cancelautorotate:function(a){if(window[a+"timer"])clearInterval(window[a+"timer"])},getCookie:function(a){var b=new RegExp(a+"=[^;]+","i");if(document.cookie.match(b))return document.cookie.match(b)[0].split("=")[1];return null},setCookie:function(a,b){document.cookie=a+"="+b},init:function(a){jQuery(document).ready(function(b){a.$glider=b("#"+a.gliderid);a.$togglerdiv=b("#"+a.togglerid);a.$toc=a.$togglerdiv.find(".toc");a.$next=a.$togglerdiv.find(".next");a.$prev=a.$togglerdiv.find(".prev");a.$prev.attr("buttontype","previous");var c=a.persiststate?featuredcontentglider.getCookie(a.gliderid):a.selected;a.selected=isNaN(parseInt(c))?a.selected:c;a.leftortop=/up/i.test(a.direction)?"top":"left";a.heightorwidth=/up/i.test(a.direction)?a.$glider.height():a.$glider.width();a.startpoint=/^(left|up)/i.test(a.direction)?-a.heightorwidth:a.heightorwidth;if(typeof a.remotecontent!="undefined"&&a.remotecontent.length>0)featuredcontentglider.getremotecontent(b,a);else featuredcontentglider.setuptoggler(b,a);b(window).bind("unload",function(){a.$togglerdiv.unbind("click");a.$toc.unbind("click");a.$next.unbind("click");a.$prev.unbind("click");if(a.persiststate)featuredcontentglider.setCookie(a.gliderid,a.$togglerdiv.attr("lastselected"));a=null})})}}
