$(function(){
 $("body").removeClass("coda-slider-no-js");
 $(".coda-slider").children('.panel').hide().end().prepend('<p class="loading">Loading...<br /><img src="images/ajax-loader.gif" alt="loading..." /></p>');
});
var sliderCount=1;
$.fn.codaSlider=function(settings) {
 settings= $.extend({
 autoHeight:false,
 autoHeightEaseDuration:1000,
 autoHeightEaseFunction: "easeInOutExpo",
 autoSlide:false,
 autoSlideInterval:7000,
 autoSlideStopWhenClicked:true,
 crossLinking:true,
 dynamicArrows:false,
 dynamicArrowLeftText: "&#171; left",
 dynamicArrowRightText: "right &#187;",
 dynamicTabs:true,
 dynamicTabsAlign: "left",
 dynamicTabsPosition: "bottom",
 externalTriggerSelector: "a.xtrig",
 firstPanelToLoad:1,
 panelTitleSelector: "h2.title",
 slideEaseDuration:1000,
 slideEaseFunction: "easeInOutExpo"
},settings);

 return this.each(function(){
 
 
 var slider= $(this);
 
 if(settings.dynamicArrows) {
 slider.parent().addClass("arrows");
 slider.before('<div class="coda-nav-left" id="coda-nav-left-'+sliderCount+ '"><a href="#">'+settings.dynamicArrowLeftText+ '</a></div>');
 slider.after('<div class="coda-nav-right" id="coda-nav-right-'+sliderCount+ '"><a href="#">'+settings.dynamicArrowRightText+ '</a></div>');
 };
 
 var panelWidth=slider.find(".panel").width();
 var panelCount=slider.find(".panel").size();
 var panelContainerWidth=panelWidth*panelCount;
 var navClicks=0; 
 $('.panel',slider).wrapAll('<div class="panel-container"></div>');
 $(".panel-container",slider).css({width:panelContainerWidth});
 
 if(settings.crossLinking&&location.hash&&parseInt(location.hash.slice(1)) <=panelCount) {
 var currentPanel=parseInt(location.hash.slice(1));
 var offset= - (panelWidth*(currentPanel-1));
 $('.panel-container',slider).css({marginLeft:offset});
 }else if(settings.firstPanelToLoad!=1&&settings.firstPanelToLoad<=panelCount) { 
 var currentPanel=settings.firstPanelToLoad;
 var offset= - (panelWidth*(currentPanel-1));
 $('.panel-container',slider).css({marginLeft:offset});
 }else{ 
 var currentPanel=1;
 };
 
 
 
 
 if(settings.dynamicTabs) {
 var dynamicTabs= '<div class="coda-nav" id="coda-nav-'+sliderCount+ '"><ul></ul></div>';
 switch(settings.dynamicTabsPosition) {
 case"bottom":
 slider.parent().append(dynamicTabs);
 break;
 default:
 slider.parent().prepend(dynamicTabs);
 break;
 };
 ul= $('#coda-nav-'+sliderCount+ ' ul');
 $('.panel',slider).each(function(n) {
 ul.append('<li class="tab'+ (n+1) + '"><a href="#'+ (n+1) + '">'+ $(this).find(settings.panelTitleSelector).text() + '</a></li>'); 
 });
 navContainerWidth=slider.width() +slider.siblings('.coda-nav-left').width() +slider.siblings('.coda-nav-right').width();
 ul.parent().css({width:navContainerWidth});
 switch(settings.dynamicTabsAlign) {
 case"center":
 ul.css({width: ($("li",ul).width() +2) *panelCount});
 break;
 case"right":
 ul.css({float: 'right'});
 break;
 };
 };
 
 $('#coda-nav-'+sliderCount+ ' a').each(function(z) {
 $(this).bind("click",function() {
 navClicks++;
 $(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current');
 offset= - (panelWidth*z);
 alterPanelHeight(z);
 currentPanel=z+1;
 $('.panel-container',slider).animate({marginLeft:offset},settings.slideEaseDuration,settings.slideEaseFunction);
 if(!settings.crossLinking) {return false}; });
 });
 
 
 
 if(settings.crossLinking&&location.hash&&parseInt(location.hash.slice(1)) <=panelCount) {
 $("#coda-nav-"+sliderCount+ " a:eq("+ (location.hash.slice(1) -1) + ")").addClass("current");
 }else if(settings.firstPanelToLoad!=1&&settings.firstPanelToLoad<=panelCount) {
 $("#coda-nav-"+sliderCount+ " a:eq("+ (settings.firstPanelToLoad-1) + ")").addClass("current");
 }else{
 $("#coda-nav-"+sliderCount+ " a:eq(0)").addClass("current");
 };
 
 if(settings.autoHeight) {
 panelHeight= $('.panel:eq('+ (currentPanel-1) + ')',slider).height();
 slider.css({height:panelHeight});
 };
 
 if(settings.autoSlide) {
 slider.ready(function() {
 setTimeout(autoSlide,settings.autoSlideInterval);
 });
 };
 
 function alterPanelHeight(x) {
 if(settings.autoHeight) {
 panelHeight= $('.panel:eq('+x+ ')',slider).height()
 slider.animate({height:panelHeight},settings.autoHeightEaseDuration,settings.autoHeightEaseFunction);
 };
 };
 
 function autoSlide() {
 if(navClicks==0|| !settings.autoSlideStopWhenClicked) {
 if(currentPanel==panelCount) {
 var offset=0;
 currentPanel=1;
 }else{
 var offset= - (panelWidth*currentPanel);
 currentPanel+=1;
 };
 alterPanelHeight(currentPanel-1);
 slider.siblings('.coda-nav').find('a').removeClass('current').parents('ul').find('li:eq('+ (currentPanel-1) + ') a').addClass('current');
 $('.panel-container',slider).animate({marginLeft:offset},settings.slideEaseDuration,settings.slideEaseFunction);
 setTimeout(autoSlide,settings.autoSlideInterval);
 };
 };
 
 $('.panel',slider).show().end().find("p.loading").remove();
 slider.removeClass("preload");
 
 sliderCount++;
 
});
};
