(function(a){a.preLoadImages=function(e,d){var c=[],b,g,f=0;if(typeof e!="undefined")if(a.isArray(e)){g=e.length;for(b=0;b<g;b++)c[b]=new Image,c[b].onload=function(){f++;f==g&&a.isFunction(d)&&d()},c[b].src=e[b]}else c[0]=new Image,c[0].onload=function(){a.isFunction(d)&&d()},c[0].src=e;c=void 0}})(jQuery);
ISP.namespace("ISP.SlideShow",function(){return{Init:function(){var a=$("#main_slideshow_buttons a"),e=null,d=$("#slideshow_image_1"),c=$("#slideshow_image_2").hide();a.first().addClass("selected");var b=function(f,c){var b=f.next();b.length==0&&(b=a.first());e=setTimeout(function(){g(b)},c*1E3)},g=function(f){a.removeClass("selected");f.addClass("selected");var h=f.data("src");c.attr("src",h).hide();c.fadeIn(1200);d.fadeOut(1200);h=d;d=c;c=h;b(f,3)};a.click(function(){clearTimeout(e);g($(this));
clearTimeout(e);b($(this),10);return!1});var f=$.map(a,function(a){return $(a).data("src")});$.preLoadImages(f,function(){b(a.first(),3)})}}});
ISP.namespace("ISP.Specials",function(){return{Init:function(){var a=$("#specials_link_animator"),e=a.children().length;a.width(288*e);var d=-(a.width()-864);$("#specials_arrow_left").hover(function(){var c=parseInt(a.css("left"));c<0&&a.animate({left:0},{easing:"easeInOutQuad",duration:Math.abs(c/288*750)});return!1},function(){a.stop();var c=parseInt(a.css("left"));if(c<0){var b=0;c<-50&&(b="+=50");a.animate({left:b},{easing:"easeOutQuad",duration:Math.abs(50/288*1E3)})}}).click(function(){return!1});
$("#specials_arrow_right").hover(function(){var c=parseInt(a.css("left"));c>d&&a.animate({left:d},{easing:"easeInOutQuad",duration:Math.abs((d-c)/288*750)});return!1},function(){a.stop();var c=parseInt(a.css("left"));if(c>d){var b=d;c>d+50&&(b="-=50");a.animate({left:b},{easing:"easeOutQuad",duration:Math.abs(50/288*1E3)})}}).click(function(){return!1})}}});
ISP.namespace("ISP.ItinerarySuggest",function(){var a={},e=function(a){if(a.success){var c=$("#cruiseline > option:last");$("#cruiseline > option.removable").remove();for(var b=0;b<a.cruiselines.length;b++){var d=$('<option class="removable"></option>').val(a.cruiselines[b].id).text(a.cruiselines[b].name+" - "+a.cruiselines[b].ship);c.before(d)}$("#cruiseline").removeClass("disabled").attr("disabled","").val("");$("#category > option.removable").remove();$("#category").addClass("disabled").attr("disabled",
"disabled");$("#suggest_click").addClass("disabled")}else alert("Date is an invalid format.  Please enter a valid date in mm/dd/yyyy format.")},d=function(a){if(a.success){var c=$("#category");$("#category > option.removable").remove();for(var b=0;b<a.categories.length;b++){var d=$('<option class="removable"></option>').val(a.categories[b].id).text(a.categories[b].name);c.append(d)}$("#category").removeClass("disabled").attr("disabled","");$("#suggest_click").removeClass("disabled")}else alert("Date is an invalid format.  Please enter a valid date in mm/dd/yyyy format.")},
c=function(b){/^\d{1,2}\/\d{1,2}\/\d{4}/.test(b)?($("#category > option.removable").remove(),$("#cruiseline > option.removable").remove(),$("#cruiseline,#category").addClass("disabled").attr("disabled","disabled"),$("#suggest_click").addClass("disabled"),$.ajax({type:"POST",url:a.getVisitsURL,data:{date:b},dataType:"json",success:e,error:function(a,b,c){alert("An error occurred: "+c)}})):alert("Date is an invalid format.  Please enter a valid date in mm/dd/yyyy format.")},b=function(){var b=$(this).val();
$.ajax({type:"POST",url:a.getCategoriesURL,data:{date:$("#date").val(),cruiselinevisitid:b},dataType:"json",success:d,error:function(a,b,c){alert("An error occurred: "+c)}})},g=function(b){for(var c=0;c<a.visits.length;c++){var d=visits[c];if(b.getMonth()===d.month-1&&b.getDate()===d.day&&b.getFullYear()===d.year)return[!0,"",""]}return[!1,"","No Ships in Port"]};return{Init:function(d){a=d;var e=d=null;a.visits.length>0&&(e=a.visits.slice(-1),d=new Date(a.visits[0].year,a.visits[0].month-1,a.visits[0].day),
e=new Date(e[0].year,e[0].month-1,e[0].day));$("#suggest_click").click(function(){$(this).hasClass("disabled")||$("form.suggest_form").submit();return!1});$("#date").datepicker({onSelect:c,beforeShowDay:g,minDate:d,maxDate:e});$("#cruiseline").change(b);$("#cruiseline,#category").addClass("disabled").attr("disabled","disabled");$("#suggest_click").addClass("disabled")}}});ISP.namespace("ISP.Home",function(){return{Init:function(a){ISP.SlideShow.Init();ISP.Specials.Init();ISP.ItinerarySuggest.Init(a)}}});
