/*! * jQuery UI 1.8 * * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * http://docs.jquery.com/UI */ /* * jQuery UI 1.8 * * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * http://docs.jquery.com/UI */ jQuery.ui||(function(a){a.ui={version:"1.8",plugin:{add:function(c,d,f){var e=a.ui[c].prototype;for(var b in f){e.plugins[b]=e.plugins[b]||[];e.plugins[b].push([d,f[b]])}},call:function(b,d,c){var f=b.plugins[d];if(!f||!b.element[0].parentNode){return}for(var e=0;e0){return true}e[b]=1;d=(e[b]>0);e[b]=0;return d},isOverAxis:function(c,b,d){return(c>b)&&(c<(b+d))},isOver:function(g,c,f,e,b,d){return a.ui.isOverAxis(g,f,b)&&a.ui.isOverAxis(c,e,d)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};a.fn.extend({_focus:a.fn.focus,focus:function(b,c){return typeof b==="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus();(c&&c.call(d))},b)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var b;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){b=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{b=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!b.length?a(document):b},zIndex:function(e){if(e!==undefined){return this.css("zIndex",e)}if(this.length){var c=a(this[0]),b,d;while(c.length&&c[0]!==document){b=c.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){d=parseInt(c.css("zIndex"));if(!isNaN(d)&&d!=0){return d}}c=c.parent()}}return 0}});a.extend(a.expr[":"],{data:function(d,c,b){return !!a.data(d,b[3])},focusable:function(c){var d=c.nodeName.toLowerCase(),b=a.attr(c,"tabindex");return(/input|select|textarea|button|object/.test(d)?!c.disabled:"a"==d||"area"==d?c.href||!isNaN(b):!isNaN(b))&&!a(c)["area"==d?"parents":"closest"](":hidden").length},tabbable:function(c){var b=a.attr(c,"tabindex");return(isNaN(b)||b>=0)&&a(c).is(":focusable")}})})(jQuery);;/* * jQuery UI Datepicker 1.8 * * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * http://docs.jquery.com/UI/Datepicker * * Depends: * jquery.ui.core.js */ (function($){$.extend($.ui,{datepicker:{version:"1.8"}});var PROP_NAME="datepicker";var dpuuid=new Date().getTime();function Datepicker(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"_default",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('
')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([^A-Za-z0-9_])/g,"\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('
'))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}this._attachments(input,inst);input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});this._autoSize(inst);$.data(target,PROP_NAME,inst)},_attachments:function(input,inst){var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(inst.append){inst.append.remove()}if(appendText){inst.append=$(''+appendText+"");input[isRTL?"before":"after"](inst.append)}input.unbind("focus",this._showDatepicker);if(inst.trigger){inst.trigger.remove()}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==input[0]){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(input[0])}return false})}},_autoSize:function(inst){if(this._get(inst,"autoSize")&&!inst.inline){var date=new Date(2009,12-1,20);var dateFormat=this._get(inst,"dateFormat");if(dateFormat.match(/[DM]/)){var findMax=function(names){var max=0;var maxI=0;for(var i=0;imax){max=names[i].length;maxI=i}}return maxI};date.setMonth(findMax(this._get(inst,(dateFormat.match(/MM/)?"monthNames":"monthNamesShort"))));date.setDate(findMax(this._get(inst,(dateFormat.match(/DD/)?"dayNames":"dayNamesShort")))+20-date.getDay())}inst.input.attr("size",this._formatDate(inst,date).length)}},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst),true);this._updateDatepicker(inst);this._updateAlternate(inst)},_dialogDatepicker:function(input,date,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});date=(date&&date.constructor==Date?this._formatDate(inst,date):date);this._dialogInput.val(date);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=document.documentElement.clientWidth;var browserHeight=document.documentElement.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",(this._pos[0]+20)+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i-1)}},_doKeyUp:function(event){var inst=$.datepicker._getInst(event.target);if(inst.input.val()!=inst.lastVal){try{var date=$.datepicker.parseDate($.datepicker._get(inst,"dateFormat"),(inst.input?inst.input.val():null),$.datepicker._getFormatConfig(inst));if(date){$.datepicker._setDateFromField(inst);$.datepicker._updateAlternate(inst);$.datepicker._updateDatepicker(inst)}}catch(event){$.datepicker.log(event)}}return true},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return}var inst=$.datepicker._getInst(input);if($.datepicker._curInst&&$.datepicker._curInst!=inst){$.datepicker._curInst.dpDiv.stop(true,true)}var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));inst.lastVal=null;$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim");var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;var borders=$.datepicker._getBorders(inst.dpDiv);inst.dpDiv.find("iframe.ui-datepicker-cover").css({left:-borders[0],top:-borders[1],width:inst.dpDiv.outerWidth(),height:inst.dpDiv.outerHeight()})};inst.dpDiv.zIndex($(input).zIndex()+1);if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim||"show"]((showAnim?duration:null),postProcess)}if(!showAnim||!duration){postProcess()}if(inst.input.is(":visible")&&!inst.input.is(":disabled")){inst.input.focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var self=this;var borders=$.datepicker._getBorders(inst.dpDiv);inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({left:-borders[0],top:-borders[1],width:inst.dpDiv.outerWidth(),height:inst.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).removeClass("ui-datepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).addClass("ui-datepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();var numMonths=this._getNumberOfMonths(inst);var cols=numMonths[1];var width=17;if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")}else{inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")}inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst==$.datepicker._curInst&&$.datepicker._datepickerShowing&&inst.input&&inst.input.is(":visible")&&!inst.input.is(":disabled")){inst.input.focus()}},_getBorders:function(elem){var convert=function(value){return{thin:1,medium:2,thick:3}[value]||value};return[parseFloat(convert(elem.css("border-left-width"))),parseFloat(convert(elem.css("border-top-width")))]},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth();var dpHeight=inst.dpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=document.documentElement.clientWidth+$(document).scrollLeft();var viewHeight=document.documentElement.clientHeight+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=Math.min(offset.left,(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0);offset.top-=Math.min(offset.top,(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(dpHeight+inputHeight):0);return offset},_findPos:function(obj){var inst=this._getInst(obj);var isRTL=this._get(inst,"isRTL");while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj[isRTL?"previousSibling":"nextSibling"]}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(this._datepickerShowing){var showAnim=this._get(inst,"showAnim");var duration=this._get(inst,"duration");var postProcess=function(){$.datepicker._tidyDialog(inst);this._curInst=null};if($.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide"))]((showAnim?duration:null),postProcess)}if(!showAnim){postProcess()}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target);if($target[0].id!=$.datepicker._mainDivId&&$target.parents("#"+$.datepicker._mainDivId).length==0&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker()}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input.focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_selectDay:function(id,month,year,td){var target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}var inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{this._hideDatepicker();this._lastInput=inst.input[0];if(typeof(inst.input[0])!="object"){inst.input.focus()}this._lastInput=null}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");var date=this._getDate(inst);var dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getTime());checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();checkDate.setMonth(0);checkDate.setDate(1);return Math.floor(Math.round((time-checkDate)/86400000)/7)+1},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=(typeof value=="object"?value.toString():value+"");if(value==""){return null}var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var doy=-1;var literal=false;var lookAhead=function(match){var matches=(iFormat+1-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(((1970-1)*365+Math.floor(1970/4)-Math.floor(1970/100)+Math.floor(1970/400))*24*60*60*10000000),formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+112?date.getHours()+2:0);return date},_setDate:function(inst,date,noChange){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._restrictMinMax(inst,this._determineDate(inst,date,new Date()));inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if((origMonth!=inst.selectedMonth||origYear!=inst.selectedYear)&&!noChange){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return startDate},_generateHTML:function(inst){var today=new Date();today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));var isRTL=this._get(inst,"isRTL");var showButtonPanel=this._get(inst,"showButtonPanel");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));var minDate=this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-(numMonths[0]*numMonths[1])+1,maxDate.getDate()));maxDraw=(minDate&&maxDrawmaxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?''+prevText+"":(hideIfNoPrevNext?"":''+prevText+""));var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?''+nextText+"":(hideIfNoPrevNext?"":''+nextText+""));var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var controls=(!inst.inline?'":"");var buttonPanel=(showButtonPanel)?'
'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'":"")+(isRTL?"":controls)+"
":"";var firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=(isNaN(firstDay)?0:firstDay);var showWeek=this._get(inst,"showWeek");var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var monthNamesShort=this._get(inst,"monthNamesShort");var beforeShowDay=this._get(inst,"beforeShowDay");var showOtherMonths=this._get(inst,"showOtherMonths");var selectOtherMonths=this._get(inst,"selectOtherMonths");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var defaultDate=this._getDefaultDate(inst);var html="";for(var row=0;row1){switch(col){case 0:calender+=" ui-datepicker-group-first";cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+=" ui-datepicker-group-last";cornerClass=" ui-corner-"+(isRTL?"left":"right");break;default:calender+=" ui-datepicker-group-middle";cornerClass="";break}}calender+='">'}calender+='
'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,row>0||col>0,monthNames,monthNamesShort)+'
';var thead=(showWeek?'":"");for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;thead+="=5?' class="ui-datepicker-week-end"':"")+'>'+dayNamesMin[day]+""}calender+=thead+"";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(var dRow=0;dRow";var tbody=(!showWeek?"":'");for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=(otherMonth&&!selectOtherMonths)||!daySettings[0]||(minDate&&printDatemaxDate);tbody+='";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+""}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="
'+this._get(inst,"weekHeader")+"
'+this._get(inst,"calculateWeek")(printDate)+""+(otherMonth&&!showOtherMonths?" ":(unselectable?''+printDate.getDate()+"":''+printDate.getDate()+""))+"
"+(isMultiMonth?""+((numMonths[0]>0&&col==numMonths[1]-1)?'
':""):"");group+=calender}html+=group}html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'':"");inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,secondary,monthNames,monthNamesShort){var changeMonth=this._get(inst,"changeMonth");var changeYear=this._get(inst,"changeYear");var showMonthAfterYear=this._get(inst,"showMonthAfterYear");var html='
';var monthHtml="";if(secondary||!changeMonth){monthHtml+=''+monthNames[drawMonth]+""}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='"}if(!showMonthAfterYear){html+=monthHtml+(secondary||!(changeMonth&&changeYear)?" ":"")}if(secondary||!changeYear){html+=''+drawYear+""}else{var years=this._get(inst,"yearRange").split(":");var thisYear=new Date().getFullYear();var determineYear=function(value){var year=(value.match(/c[+-].*/)?drawYear+parseInt(value.substring(1),10):(value.match(/[+-].*/)?thisYear+parseInt(value,10):parseInt(value,10)));return(isNaN(year)?thisYear:year)};var year=determineYear(years[0]);var endYear=Math.max(year,determineYear(years[1]||""));year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='"}html+=this._get(inst,"yearSuffix");if(showMonthAfterYear){html+=(secondary||!(changeMonth&&changeYear)?" ":"")+monthHtml}html+="
";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._restrictMinMax(inst,this._daylightSavingAdjust(new Date(year,month,day)));inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_restrictMinMax:function(inst,date){var minDate=this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&datemaxDate?maxDate:date);return date},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax){return this._determineDate(inst,this._get(inst,minMax+"Date"),null)},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[0]*numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var minDate=this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");return((!minDate||date.getTime()>=minDate.getTime())&&(!maxDate||date.getTime()<=maxDate.getTime()))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate"||options=="widget")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.8";window["DP_jQuery_"+dpuuid]=$})(jQuery);; function Matkavaraus() { this.enabledDays = new Array(); this.calendarId = ''; this.departPlace = 'H'; this.routeIds = new Array(0, 0, 0, 0, 0, 0); this.pricegroupIds = new Array(0, 0, 0, 0, 0, 0); this.pricegroup = ''; this.selectedRoute = -1; this.destinations = new Array( {id: 'OCVTTS1', name: 'Tallinna, 1 yö (Tallink Star/Superstar)', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'ATAL', class3_id: 'null'}, {id: 'OCVTTS2', name: 'Tallinna, 2 yötä (Tallink Star/Superstar)', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'ATAL', class3_id: 'null'}, {id: 'OCVTTS3', name: 'Tallinna, 3 yötä (Tallink Star/Superstar)', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'ATAL', class3_id: 'null'}, {id: 'OCVTX1', name: 'Tallinna, 1 yö (Viking XPRS)', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'ATAL', class3_id: 'null'}, {id: 'OCVTX2', name: 'Tallinna, 2 yötä (Viking XPRS)', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'ATAL', class3_id: 'null'}, {id: 'OCVTX3', name: 'Tallinna, 3 yötä (Viking XPRS)', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'ATAL', class3_id: 'null'}, {id: 'OFBERTS', name: 'Berliinin monet kasvot', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'BERL', class3_id: 'null'}, {id: 'OFBUDKL', name: 'Budapest ja Tonavan lumo', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'BUDA', class3_id: 'null'}, {id: 'OCVTART', name: 'Tartto to-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'DTAR', class3_id: 'null'}, {id: 'OFVISTS', name: 'Visby to-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'FVIS', class3_id: 'null'}, {id: 'OFVILPM', name: 'Vilna pe-ma', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'GVIL', class3_id: 'null'}, {id: 'OCVHST', name: 'Haapsalu kaupunkimatka su-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'HAKY', class3_id: 'null'}, {id: 'OCVHTS', name: 'Haapsalu kaupunkimatka to-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'HAKY', class3_id: 'null'}, {id: 'OFISTKL', name: 'Taianomainen Istanbul', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'ISTA', class3_id: 'null'}, {id: 'OCVLST', name: 'Laulasmaa kaupunkiloma su-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'LACI', class3_id: 'null'}, {id: 'OCVLTS', name: 'Laulasmaa kaupunkiloma to-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'LACI', class3_id: 'null'}, {id: 'OCVPSS', name: 'Pärnun kaupunkimatkat su-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PACI', class3_id: 'PCLA'}, {id: 'OCVPST', name: 'Pärnun kaupunkimatkat su-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PACI', class3_id: 'PCLA'}, {id: 'OCVPSTI', name: 'Pärnun kaupunkimatka su-ti', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PACI', class3_id: 'PCLA'}, {id: 'OCVPTIT', name: 'Pärnun kaupunkimatka ti-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PACI', class3_id: 'PCLA'}, {id: 'OCVPTS', name: 'Pärnun kaupunkimatkat to-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PACI', class3_id: 'PCLA'}, {id: 'OCVPTT', name: 'Pärnun kaupunkimatkat to-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PACI', class3_id: 'PCLA'}, {id: 'OCVPLE', name: 'Pärnu kaupunkimatka lentäen', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PAKY', class3_id: 'PCLE'}, {id: 'OCVRSS', name: 'Rakvere kaupunkimatka su-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'RACI', class3_id: 'null'}, {id: 'OCVRST', name: 'Rakvere kaupunkimatka su-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'RACI', class3_id: 'null'}, {id: 'OCVRTS', name: 'Rakvere kaupunkimatka to-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'RACI', class3_id: 'null'}, {id: 'OCVRTT', name: 'Rakvere kaupunkimatka to-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'RACI', class3_id: 'null'}, {id: 'OCVSSS', name: 'Saarenmaa kaupunkimatkat su-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'SACI', class3_id: 'SALA'}, {id: 'OCVSST', name: 'Saarenmaa kaupunkimatkat su-to', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'SACI', class3_id: 'SALA'}, {id: 'OCVSTS', name: 'Saarenmaa kaupunkimatkat to-su', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'SACI', class3_id: 'SALA'}, {id: 'OCVSLE', name: 'Saarenmaa kaupunkimatka lentäen', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'SACI', class3_id: 'SALE'}, {id: 'OCRHETU', name: 'Tukholman kaupunkiloma Helsingistä', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'TUCI', class3_id: 'null'}, {id: 'OCRTUTU', name: 'Tukholman kaupunkiloma Turusta', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'TUCI', class3_id: 'null'}, {id: 'OFVARPM', name: 'Varsova-luksusviikonloppu pe-ma', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'VAPS', class3_id: 'null'}, {id: 'OXADRIA', name: 'Adrianmeren kierros', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'ADRI', class3_id: 'null'}, {id: 'OXALPMS', name: 'Alppien postikorttimaisemat', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'ALPP', class3_id: 'null'}, {id: 'OXAMSKI', name: 'Amsterdam-Bryssel-Pariisi', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'AMSK', class3_id: 'null'}, {id: 'OXBERKI', name: 'Berliini-Dresden-Praha', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'BERKI', class3_id: 'null'}, {id: 'OXISLKI', name: 'Ihmeiden Islanti', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'BISK', class3_id: 'null'}, {id: 'OXBUDKI', name: 'Budapest-Bratislava-Wien', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'BUDKI', class3_id: 'null'}, {id: 'OXENGKI', name: 'Kuninkaallinen Etelä-Englanti', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'ENGL', class3_id: 'null'}, {id: 'OXHURTI', name: 'Hurtigruten', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'IHUR', class3_id: 'null'}, {id: 'OXISLSA', name: 'Islanti-suuri saarikierros', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'ISLA', class3_id: 'null'}, {id: 'OXJOKIL', name: 'Romanttiset jokilaaksot', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'JOKIL', class3_id: 'null'}, {id: 'OXKATPT', name: 'Barcelona ja Katalonian jalokivet', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'KATA', class3_id: 'null'}, {id: 'OXITAPO', name: 'Pohjois-Italian järvialueen puutarhat', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'KITA', class3_id: 'null'}, {id: 'OXITARO', name: 'Rooma-Umbria-Toscana', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'KITA', class3_id: 'null'}, {id: 'OXITARU', name: 'Ruoka- ja viinimatka Piemonte ja Veneto', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'KITA', class3_id: 'null'}, {id: 'OXITAVE', name: 'Veronan oopperajuhlat ja Venetsia', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'KITA', class3_id: 'null'}, {id: 'OXVUONO', name: 'Vuonojen Norja', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'KVUO', class3_id: 'null'}, {id: 'OXLAPPI', name: 'Lapin kiertomatka', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'LAPK', class3_id: 'null'}, {id: 'OXLOFOO', name: 'Lofootit', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'LLOF', class3_id: 'null'}, {id: 'OXRANKI', name: 'Samppanjan ja linnojen Ranska', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'RANS', class3_id: 'null'}, {id: 'OXVISIO', name: 'Royal Caribbean Itämeren kierros', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'RITA', class3_id: 'null'}, {id: 'OXRUSKA', name: 'Ruskamatka Ivaloon ja Jäämeren rannalle', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'RUSK', class3_id: 'null'}, {id: 'OXRCVUO', name: 'Royal Caribbean Vuonoristeily', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'RVUO', class3_id: 'null'}, {id: 'OXPUVI', name: 'Puutarhamatka Viroon', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'VIKI', class3_id: 'null'}, {id: 'OXPVKPS', name: 'Pohjois-Viron kartanot', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'VIKI', class3_id: 'null'}, {id: 'OXMAKU', name: 'Makumatka Viroon', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'VIKI', class3_id: 'null'}, {id: 'OXHAATS', name: 'Haapsalu- Hiidenmaa- Saarenmaa', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'VIKI', class3_id: 'null'}, {id: 'OXEEVTS', name: 'Erilainen Etelä-Viro', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'VIKI', class3_id: 'null'}, {id: 'OXCOSKI', name: 'Costa Rican kiertomatka', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'CORI', class3_id: 'null'}, {id: 'OXKARIN', name: 'Itäinen Karibia, jouluristeily', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'KARB', class3_id: 'null'}, {id: 'OXKARAI', name: 'Miami 3 vrk - Itäinen Karibian risteily 7 vrk', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'KARB', class3_id: 'null'}, {id: 'OXKARAL', name: 'Miami 3 vrk - Läntinen Karibian risteily 7 vrk', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'KARB', class3_id: 'null'}, {id: 'OXKENIA', name: 'Kenian safari ja Mombasa', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'KENI', class3_id: 'null'}, {id: 'OXKISHA', name: 'Shanghai-Suzhou-Hangzhou, 10 pv', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'KIIN', class3_id: 'null'}, {id: 'OXMYAN', name: 'Myanmarin kiertomatka', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'MYAN', class3_id: 'null'}, {id: 'OXSINPL', name: 'Singapore ja Bintanin saari', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'SING', class3_id: 'null'}, {id: 'OXUSAKI', name: 'USA:n ja Kanadan itärannikon kiertomatka', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'USKI', class3_id: 'null'}, {id: 'OXVIEKI', name: 'Vietnamin kiertomatka', class1_id: 'KM', class1_name: 'Kaukomatkat', class2_id: 'VIET', class3_id: 'null'}, {id: 'OKVHSS', name: 'Haapsalu kylpyläloma su-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'HAKY', class3_id: 'null'}, {id: 'OKVHST', name: 'Haapsalu kylpyläloma su-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'HAKY', class3_id: 'null'}, {id: 'OKVHTS', name: 'Haapsalu kylpyläloma to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'HAKY', class3_id: 'null'}, {id: 'OKVLPS', name: 'Laulasmaa MiniSpa pe-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'LAKY', class3_id: 'null'}, {id: 'OKVLSS', name: 'Laulasmaa kylpyläloma su-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'LAKY', class3_id: 'null'}, {id: 'OKVLST', name: 'Laulasmaa kylpyläloma su-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'LAKY', class3_id: 'null'}, {id: 'OKVLTS', name: 'Laulasmaa kylpyläloma to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'LAKY', class3_id: 'null'}, {id: 'OKVPLE', name: 'Pärnu kylpyläloma lentäen la-la', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PACI', class3_id: 'PKLE'}, {id: 'OKVPSS', name: 'Pärnu kylpyläloma su-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PKLA'}, {id: 'OKVPST', name: 'Pärnu kylpyläloma su-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PKLA'}, {id: 'OKVPTS', name: 'Pärnu kylpyläloma to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PKLA'}, {id: 'OKVPTT', name: 'Pärnu kylpyläloma to-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PKLA'}, {id: 'OKVPLL', name: 'Pärnu pelkkä lento', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PKLE'}, {id: 'OKVPMYS', name: 'Pärnu My First Spa su-to (aikuinen+lapsi)', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PMFS'}, {id: 'OKVPMYT', name: 'Pärnu My First Spa to-su (aikuinen+lapsi)', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PMFS'}, {id: 'OKVRSS', name: 'Rakvere kylpyläloma su-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'RAKY', class3_id: 'null'}, {id: 'OKVRST', name: 'Rakvere kylpyläloma su-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'RAKY', class3_id: 'null'}, {id: 'OKVRTS', name: 'Rakvere kylpyläloma to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'RAKY', class3_id: 'null'}, {id: 'OKVRTT', name: 'Rakvere kylpyläloma to-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'RAKY', class3_id: 'null'}, {id: 'OKVSTT', name: 'Saarenmaan kylpyläloma to-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SACI', class3_id: 'SKLA'}, {id: 'OKVSSS', name: 'Saarenmaa,kylpyläloma su-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SAKY', class3_id: 'SKLA'}, {id: 'OKVSST', name: 'Saarenmaa,kylpyläloma su-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SAKY', class3_id: 'SKLA'}, {id: 'OKVSTS', name: 'Saarenmaa,kylpyläloma to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SAKY', class3_id: 'SKLA'}, {id: 'OKVSLE', name: 'Saarenmaa,kylpyläloma lentäen la-la', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SAKY', class3_id: 'SKLE'}, {id: 'OKSANDA', name: 'Sandanski', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SAND', class3_id: 'null'}, {id: 'OKVTPS', name: 'Tallinna Mini Spa -loma 2 yötä', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'TAKY', class3_id: 'null'}, {id: 'OKVTSS', name: 'Tallinna kylpyläloma su-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'TAKY', class3_id: 'null'}, {id: 'OKVTST', name: 'Tallinna kylpyläloma su-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'TAKY', class3_id: 'null'}, {id: 'OKVTTS', name: 'Tallinna kylpyläloma to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'TAKY', class3_id: 'null'}, {id: 'OKVTTT', name: 'Tallinna kylpyläloma to-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'TAKY', class3_id: 'null'}, {id: 'OEYOT1', name: 'YÖ Tallinnassa, Tallink 30.11.-1.12.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEYOT2', name: 'YÖ Tallinnassa, Tallink 30.11.-2.12.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEYOVL', name: 'YÖ Tallinnassa, Viking Line 30.11.-1.12.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEELAKE', name: 'Eläkeläiset Pinnalla-risteily, Baltic Princess 9.-10.10.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OESOFT1', name: 'Sofi-matka Tallinnaan, Tallink 30.-31.8..2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OESOFT2', name: 'Sofi-matka Tallinnaan, Tallink 30.8.-1.9..2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OESOFVL', name: 'Sofi-matka Tallinnaan, Viking Line 30.-31.8..2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEUINTI', name: 'Uintigaala Baltic Princess 21.-22.12.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OELOITS', name: 'Vesa-Matti Loiri Tallinnassa, Tallink 5.-6.10..2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OELOIVL', name: 'Vesa-Matti Loiri Tallinnassa, Viking Line 5.-6.10.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEMNAI', name: 'Me Naiset-kirjallisuusristeilly, Baltic Princess 6.-7.6.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEPAUT1', name: 'Paula Koivuniemi Tallinnassa, Tallink 9.-10.11.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEPAUT2', name: 'Paula Koivuniemi Tallinnassa, Tallink 9.-11.11.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEPAUVL', name: 'Paula Koivuniemi Tallinnassa, Viking Line 9.-10.11.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEWACKB', name: 'Wacken, Hampuri, bussi-laiva', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'JOOS', class3_id: 'null'}, {id: 'OEWACKL', name: 'Wacken Metallifestareiden ylipäällikkö 1.-5.8.2012', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'JOOS', class3_id: 'null'}, {id: 'OEROCK', name: 'Radio Rock, Baltic Princess', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'ROCK', class3_id: 'null'}, {id: 'OPLEG01', name: 'Legoland lentäen pe-ma', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'ALEG', class3_id: 'null'}, {id: 'OPLEG02', name: 'Legoland lentäen ma-ke', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'ALEG', class3_id: 'null'}, {id: 'OPLEG03', name: 'Legoland lentäen ke-pe', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'ALEG', class3_id: 'null'}, {id: 'OPLEGLE', name: 'Legoland, pelkkä lento', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'ALEG', class3_id: 'null'}, {id: 'OPDISTS', name: 'Disneyland', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'DISN', class3_id: 'null'}, {id: 'OPKRHMK', name: 'Päivä Kolmårdenissa Helsingistä ma-ke, Viking Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'null'}, {id: 'OPKRHTT', name: 'Päivä Kolmårdenissa Helsingistä ti-to, Viking Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'null'}, {id: 'OPKRTMK', name: 'Päivä Kolmårdenissa Turusta ma-ke, Silja Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'null'}, {id: 'OPKRTTT', name: 'Päivä Kolmårdenissa Turusta ti-to, Viking Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'null'}, {id: 'OPKHHTS', name: '2 päivää Kolmårdenissa Helsingistä to-su, Silja Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'null'}, {id: 'OPKHTMT', name: '2 päivää Kolmårdenissa Turusta ma-to, Silja Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'null'}, {id: 'OPKHTTS', name: 'Kolmården ja Gröna Lund Turusta to-su, Viking Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'null'}, {id: 'OPKHHMT', name: 'Kolmården ja Gröna Lund Helsingistä ma-to, Silja Line', class1_id: 'PE', class1_name: 'Perhelomat', class2_id: 'KOLM', class3_id: 'KOL'}, {id: 'ORPIETA', name: 'Päivä Pietarissa-risteily, St. Peter Line', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'HEPI', class3_id: 'null'}, {id: 'ORBPTAL', name: 'Baltic Princess-risteily', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'HETA', class3_id: 'HBP'}, {id: 'ORXPRPA', name: 'XPRS - Päiväristeily Tallinnaan', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'HETA', class3_id: 'HPX'}, {id: 'ORXPRTA', name: 'XPRS - Yö laivalla', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'HETA', class3_id: 'HRX'}, {id: 'ORSILHT', name: 'Päivä Tukholmassa Helsingistä, Silja Line', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'HETU', class3_id: 'HST'}, {id: 'ORVIKHT', name: 'Päivä Tukholmassa Helsingistä, Viking Line', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'HETU', class3_id: 'HVT'}, {id: 'OREUROP', name: 'Silja Europa miniristeily', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'TUTU', class3_id: 'TEU'}, {id: 'ORISABE', name: 'Viking Isabella miniristeily', class1_id: 'RI', class1_name: 'Risteilyt', class2_id: 'TUTU', class3_id: 'TIS'}, {id: 'OYBPPAL', name: '1 yö Baltic Princess.kaupunkiloma 4 yötä Pärnussa', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'PACI', class3_id: 'null'}, {id: 'OYBPPAR', name: '1 yö Baltic Princess, kaupunkiloma 3 yötä Pärnussa', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'PACI', class3_id: 'null'}, {id: 'OYBPKYK', name: '1 yö Baltic Princess, kylpyläloma 3 yötä Pärnussa', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'PAKY', class3_id: 'null'}, {id: 'OYBPKYL', name: '1 yö Baltic Princess,kylpyläloma 4 yötä Pärnussa', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'PAKY', class3_id: 'null'}, {id: 'OYBPSAA', name: '1 yö Baltic Princess, kaupunkiloma 3 yötä Saarenmaalla', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'SARI', class3_id: 'null'}, {id: 'OYBSKYK', name: '1 yö Baltic Princess, kylpyläloma 3 yötä Saarenmaalla', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'SARI', class3_id: 'null'}, {id: 'OYXPHOT', name: '1 yö Viking XPRS, 1 yö Tallinnassa', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'TARI', class3_id: 'null'}, {id: 'OYBPHOT', name: '1 yö Baltic Princess, 1 yö Tallinnassa', class1_id: 'RK', class1_name: 'Risteily + kaupunki- tai kylpylämatka', class2_id: 'TARI', class3_id: 'null'}); } Matkavaraus.prototype.updateTripSelect = function() { document.getElementById('lahtoloader').style.display = 'none'; document.getElementById('search_content').style.display = 'none'; document.getElementById('satama_lentokentta_bussi').style.display = 'none'; document.getElementById('satama_lentokentta_bussi_1').checked = true; this.enabledDays = new Array(); $("#" + this.calendarId).datepicker("refresh"); this.makeCalendar(this.calendarId); var trip_type_select = document.getElementById('trip_type'); var trip_select = document.getElementById('trip'); var type = trip_type_select.options[trip_type_select.selectedIndex].value; for(i = trip_select.options.length - 1; i >= 0; i--) trip_select.remove(i); var option = document.createElement("option"); option.text = 'Valitse matka'; option.value = ''; trip_select.options.add(option); for(var i = 0; i < this.destinations.length; i++) { if(this.destinations[i].class1_id == type) { var option = document.createElement("option"); option.text = this.destinations[i].name; option.value = this.destinations[i].id; trip_select.options.add(option); } } if(window.deb){ window.deb.trace("after_updateTripSelect"); } } Matkavaraus.prototype.selectTab = function(id) { for(var i = 1; i <= 3; i++) { if(i == id) { document.getElementById('matkavaraus_tab' + id).style.display = 'block'; document.getElementById('matkavaraus_link' + id).className = 'link' + id + '_active'; } else { document.getElementById('matkavaraus_tab' + i).style.display = 'none'; document.getElementById('matkavaraus_link' + i).className = 'link' + i; } } } Matkavaraus.prototype.enableDays = function(date) { var day = date.getDate(); var enable = false; var onlyBusRoutes = false; //document.getElementById('satama_lentokentta_bussi_2').checked; for(var i = 0; i < matkavaraus.enabledDays.length; i++) { var y = parseInt(matkavaraus.enabledDays[i].date.substr(0, 4), 10); var m = parseInt(matkavaraus.enabledDays[i].date.substr(5, 2) - 1, 10); var d = parseInt(matkavaraus.enabledDays[i].date.substr(8, 2), 10); // When departure dates are related to the bus routes //if(date.getDate() == d && date.getMonth() == m && date.getFullYear() == y && (!onlyBusRoutes || (onlyBusRoutes && matkavaraus.enabledDays[i].busroute))) // When only the first bus route flag is taken into account (dep. dates and bus routes are not related) if(date.getDate() == d && date.getMonth() == m && date.getFullYear() == y && (!onlyBusRoutes || (onlyBusRoutes && matkavaraus.enabledDays[0].busroute))) { enable = true; break; } } return [enable, '']; } Matkavaraus.prototype.makeCalendar = function(id) { this.calendarId = id; $("#" + this.calendarId).datepicker({ beforeShowDay: matkavaraus.enableDays, dayNamesMin: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], monthNames: ['Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu'], firstDay: 1, minDate: new Date(2012, 4, 18), showOtherMonths: true, onSelect: function(dateText, inst) { matkavaraus.selectDate(dateText); } }); } Matkavaraus.prototype.unselectRoute = function() { document.getElementById('change_route_link').style.display='none'; this.pricegroupIds = new Array(0, 0, 0, 0, 0, 0); this.pricegroup = ''; $("#" + this.calendarId).datepicker("refresh"); if(window.deb){ window.deb.trace("after_unselectRoute"); } } Matkavaraus.prototype.selectDate = function(date) { document.getElementById('departdate').value = date; if(window.deb){ window.deb.trace("after_selectDate"); } } Matkavaraus.prototype.selectFlightDepartDate = function(date) { var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); var monthNames = ['Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu']; document.getElementById('lennot_lahto_paiva').selectedIndex = day - 1; document.getElementById('lennot_lahto_kuukausivuosi').value = monthNames[month - 1] + " " + year; $("#lennot_paluu_kalenteri").datepicker("option", "minDate", new Date(year, month - 1, day + 1)); if(window.deb){ window.deb.trace("after_selectFlightDepartDate"); } } Matkavaraus.prototype.selectFlightReturnDate = function(date) { var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); var monthNames = ['Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu']; document.getElementById('lennot_paluu_paiva').selectedIndex = day - 1; document.getElementById('lennot_paluu_kuukausivuosi').value = monthNames[month - 1] + " " + year; // $("#lennot_lahto_kalenteri").datepicker("option", "maxDate", new Date(year, month - 1, day - 1)); if(window.deb){ window.deb.trace("after_selectFlightReturnDate"); } } Matkavaraus.prototype.selectHotelDepartDate = function(date) { var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); var monthNames = ['Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu']; document.getElementById('hotellit_saavun_paiva').selectedIndex = day - 1; document.getElementById('hotellit_saavun_kuukausivuosi').value = monthNames[month - 1] + " " + year; $("#hotellit_lahden_kalenteri").datepicker("option", "minDate", new Date(year, month - 1, day + 1)); if(window.deb){ window.deb.trace("after_selectHotelDepartDate"); } } Matkavaraus.prototype.selectHotelReturnDate = function(date) { var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); var monthNames = ['Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu']; document.getElementById('hotellit_lahden_paiva').selectedIndex = day - 1; document.getElementById('hotellit_lahden_kuukausivuosi').value = monthNames[month - 1] + " " + year; // $("#hotellit_saavun_kalenteri").datepicker("option", "maxDate", new Date(year, month - 1, day + 1)); if(window.deb){ window.deb.trace("after_selectHotelReturnDate"); } } Matkavaraus.prototype.hideMap = function() { document.getElementById('matkavaraus_map_wrapper').style.display = 'none'; for(var i = 1; i <= 6; i++) document.getElementById('helsinki_route' + i).style.display = 'none'; for(var i = 1; i <= 3; i++) document.getElementById('turku_route' + i).style.display = 'none'; if(window.deb){ window.deb.trace("after_hideMap"); } } Matkavaraus.prototype.showMap = function() { document.getElementById('standlist').innerHTML = ''; document.getElementById('standid').value = ''; document.getElementById('karttaloader').style.display = 'block'; this.routeIds = new Array(0, 0, 0, 0, 0, 0); this.pricegroupIds = new Array(0, 0, 0, 0, 0, 0); var trip_type_select = document.getElementById('trip_type'); var trip_select = document.getElementById('trip'); var class1_id = trip_type_select.options[trip_type_select.selectedIndex].value; var destination_id = trip_select.options[trip_select.selectedIndex].value; $.get("/stc/jsp/matkavaraus/getRoutes.jsp", {destination_id: destination_id, class1_id: class1_id, depart_place: matkavaraus.departPlace}, function(data) { for(var i = 1; i <= 6; i++) document.getElementById('helsinki_route' + i).style.display = 'none'; for(var i = 1; i <= 3; i++) document.getElementById('turku_route' + i).style.display = 'none'; var helsinkiRoutes = new Array( new Array('mynämäki', 'turku', 'salo'), new Array('isojoki', 'kankaanp', 'noormarkku', 'pori', 'por', 'rauma', 'eura', 'forssa'), new Array('kokkola', 'pietarsaari', 'vaasa', 'vaa', 'seinäjoki', 'tampere', 'tre', 'hämeenlinna', 'hml', 'hyvinkää'), new Array('äänekoski', 'jyväskylä', 'jyv', 'jkl', 'jämsä', 'padasjoki', 'lahti', 'lah', 'vaajakoski', 'äänekoski'), new Array('iisalmi', 'iis', 'kuopio', 'kuo', 'varkaus', 'vrk', 'mikkeli', 'heinola', 'lahti', 'lah', 'kajaani'), new Array('joensuu', 'joe', 'parikkala', 'imatra', 'ima', 'lappeenranta', 'lpr', 'kouvola', 'porvoo', 'nurmes') ); var turkuRoutes = new Array( new Array('vaasa', 'vaa', 'seinäjoki', 'kankaanpää', 'noormarkku', 'pori', 'por', 'rauma'), new Array('iisalmi', 'iis', 'kuopio', 'kuo', 'varkaus', 'vrk', 'pieksämäki', 'jyväskylä', 'jämsä', 'orivesi', 'tampere', 'valkeakoski', 'nokia', 'kajaani', 'jyv', 'jkl', 'tre', 'nok'), new Array('lahti', 'lah', 'hämeenlinna', 'hml', 'forssa') ); var dataArray = data.split("\n"); for(var i = 0; i < dataArray.length; i++) { if(dataArray[i].length > 0) { var stop = false; var index = ''; if(matkavaraus.departPlace == 'T' || matkavaraus.departPlace == 'Å') { for(var k = 0; k < turkuRoutes.length; k++) { for(var j = 0; j < turkuRoutes[k].length; j++) { if(dataArray[i].toLowerCase().indexOf(turkuRoutes[k][j].toLowerCase()) >= 0) { index = k + 1; matkavaraus.routeIds[k] = dataArray[i].substr(0, 2); matkavaraus.pricegroupIds[k] = dataArray[i].substr(3, 2); stop = true; break; } } if(stop) break; } } else { for(var k = 0; k < helsinkiRoutes.length; k++) { for(var j = 0; j < helsinkiRoutes[k].length; j++) { if(dataArray[i].toLowerCase().indexOf(helsinkiRoutes[k][j].toLowerCase()) >= 0) { index = k + 1; matkavaraus.routeIds[k] = dataArray[i].substr(0, 2); matkavaraus.pricegroupIds[k] = dataArray[i].substr(3, 2); stop = true; break; } } if(stop) break; } } if(matkavaraus.departPlace == 'H') element = document.getElementById('helsinki_route' + index); else if(matkavaraus.departPlace == 'T' || matkavaraus.departPlace == 'Å') element = document.getElementById('turku_route' + index); if(element != null) element.style.display = 'block'; } } document.getElementById('karttaloader').style.display = 'none'; } ); if(this.departPlace == 'T' || matkavaraus.departPlace == 'Å') { document.getElementById('matkavaraus_routemap').style.backgroundImage = 'url(/stc/images/matkavaraus/kartta_tku.gif)'; document.getElementById('matkavaraus_routelinks').useMap = '#Turku_routelinks'; } else { document.getElementById('matkavaraus_routemap').style.backgroundImage = 'url(/stc/images/matkavaraus/kartta_hel.gif)'; document.getElementById('matkavaraus_routelinks').useMap = '#Helsinki_routelinks'; } document.getElementById('matkavaraus_map_wrapper').style.display = 'block'; if(window.deb){ window.deb.trace("after_showMap"); } } Matkavaraus.prototype.selectRoute = function(id) { this.selectedRoute = id; document.getElementById('standlist').innerHTML = ''; document.getElementById('standloader').style.display = 'block'; var trip_type_select = document.getElementById('trip_type'); var trip_select = document.getElementById('trip'); var class1_id = trip_type_select.options[trip_type_select.selectedIndex].value; var destination_id = trip_select.options[trip_select.selectedIndex].value; var pricegroupId = this.pricegroupIds[id - 1]; var routeId = this.routeIds[id - 1]; if(routeId <= 0) return false; $.get("/stc/jsp/matkavaraus/getStands.jsp", {destination_id: destination_id, class1_id: class1_id, depart_place: matkavaraus.departPlace, route: routeId}, function(data) { document.getElementById('standloader').style.display = 'none'; var dataArray = data.split("\n"); var content = ''; for(var i = 0; i < dataArray.length; i++) { if(dataArray[i].length > 3) content += '
' + dataArray[i].substr(dataArray[i].indexOf(" ")) + '
'; } document.getElementById('standlist').innerHTML = content; if(window.deb){ window.deb.trace("after_selectRoute_callback"); } } ); if(window.deb){ window.deb.trace("after_selectRoute"); } } Matkavaraus.prototype.selectStand = function(id) { document.getElementById('standid').value = id; document.getElementById('change_route_link').style.display = 'block'; $("#" + this.calendarId).datepicker("refresh"); this.hideMap(); if(window.deb){ window.deb.trace("after_selectStand"); } } Matkavaraus.prototype.submitTab1 = function() { var trip_type_select = document.getElementById('trip_type'); var trip_select = document.getElementById('trip'); var aikuisia_select = document.getElementById('aikuisia'); var lapset_yli_2v_select = document.getElementById('lapset_yli_2v'); var lapset_01v_select = document.getElementById('lapset_0-1v'); var aikuisia = aikuisia_select.options[aikuisia_select.selectedIndex].value; var lapset_yli_2v = lapset_yli_2v_select.options[lapset_yli_2v_select.selectedIndex].value; var lapset_01v = lapset_01v_select.options[lapset_01v_select.selectedIndex].value; var destination_id = trip_select.options[trip_select.selectedIndex].value; var class1_id = trip_type_select.options[trip_type_select.selectedIndex].value; var destination_id = trip_select.options[trip_select.selectedIndex].value; var stand_id = document.getElementById('standid').value; var pricegroup_id = this.pricegroupIds[this.selectedRoute - 1]; if(document.getElementById('satama_lentokentta_bussi_1').checked) pricegroup_id = this.departPlace + '0'; if(this.pricegroup != 'N0'){ this.pricegroup = this.departPlace + '0'; } var class2_id = ''; var class3_id = ''; var date = document.getElementById('departdate').value; var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); var departdate = day + "." + month + "." + year; for(var i = 0; i < this.destinations.length; i++) { if(this.destinations[i].id == destination_id && this.destinations[i].class1_id == class1_id) { class2_id = this.destinations[i].class2_id; break; } } if(class2_id != '') { for(var i = 0; i < this.destinations.length; i++) { if(this.destinations[i].id == destination_id && this.destinations[i].class1_id == class1_id && this.destinations[i].class2_id == class2_id) { class3_id = this.destinations[i].class3_id; if(class3_id == 'null') class3_id = ''; break; } } } var now = new Date(); if(month == '' || isNaN(month)) month = now.getMonth() + 1; if(year == '' || isNaN(year)) year = now.getFullYear(); if(day == '' || isNaN(day)) day = now.getDate(); var url = 'http://varaamo.matkaverkko.fi/scripts/matkavekka/fi/Intres4.dll/Oma_matkat'; url += '?Tyyppi=AS'; url += '&MAA=FIN'; url += '&Valittu_Aikuisia=' + aikuisia; url += '&Valittu_Paiva=' + day; url += '&Valittu_Kuukausi=' + month; url += '&Valittu_IlmLapsia=' + lapset_01v; url += '&Valittu_Lapsia=' + lapset_yli_2v; url += '&CLASS1=' + class1_id; url += '&CLASS2=' + class2_id; if(class3_id != '') url += '&CLASS3=' + class3_id; url += '&Valittu_HinnastoRyhma='+ this.pricegroup; //url += '&Valittu_Pysakki=' + stand_id; if(window.deb){ window.deb.trace("after_submitTab1"); } window.open(url); } Matkavaraus.prototype.submitTab2 = function() { var aikuisia_select = document.getElementById('lennot_aikuisia'); var lapset_yli_2v_select = document.getElementById('lennot_lapset_yli_2v'); var lapset_01v_select = document.getElementById('lennot_lapset_0-1v'); var lahtopaikka_select = document.getElementById('lennot_lahtopaikka'); var aikuisia = aikuisia_select.options[aikuisia_select.selectedIndex].value; var lapset_yli_2v = lapset_yli_2v_select.options[lapset_yli_2v_select.selectedIndex].value; var lapset_01v = lapset_01v_select.options[lapset_01v_select.selectedIndex].value; var lahtopaikka_iata = lahtopaikka_select.options[lahtopaikka_select.selectedIndex].value; var kohdepaikka = document.getElementById('lennot_kohdepaikka').value; var kohdepaikka_iata = ''; var paluupaiva_date = document.getElementById('lennot_paluu_kalenteri').value; var paluupaiva_year = parseInt(paluupaiva_date.substr(6, 4), 10); var paluupaiva_month = parseInt(paluupaiva_date.substr(0, 2), 10); var paluupaiva_day = parseInt(paluupaiva_date.substr(3, 2), 10); var lahtopaiva_date = document.getElementById('lennot_lahto_kalenteri').value; var lahtopaiva_year = parseInt(lahtopaiva_date.substr(6, 4), 10); var lahtopaiva_month = parseInt(lahtopaiva_date.substr(0, 2), 10); var lahtopaiva_day = parseInt(lahtopaiva_date.substr(3, 2), 10); var now = new Date(); if(lahtopaiva_month == '' || isNaN(lahtopaiva_month)) lahtopaiva_month = now.getMonth() + 1; if(lahtopaiva_year == '' || isNaN(lahtopaiva_year)) lahtopaiva_year = now.getFullYear(); if(lahtopaiva_day == '' || isNaN(lahtopaiva_day)) lahtopaiva_day = now.getDate(); if(paluupaiva_month == '' || isNaN(paluupaiva_month)) paluupaiva_month = now.getMonth() + 1; if(paluupaiva_year == '' || isNaN(paluupaiva_year)) paluupaiva_year = now.getFullYear(); if(paluupaiva_day == '' || isNaN(paluupaiva_day)) paluupaiva_day = now.getDate(); if(paluupaiva_day < 10) paluupaiva_day = '0' + paluupaiva_day; if(paluupaiva_month < 10) paluupaiva_month = '0' + paluupaiva_month; if(lahtopaiva_day < 10) lahtopaiva_day = '0' + lahtopaiva_day; if(lahtopaiva_month < 10) lahtopaiva_month = '0' + lahtopaiva_month; $.get("/stc/jsp/matkavaraus/getCities.jsp", {city: kohdepaikka}, function(data) { var dataArray = data.split("\n"); var row = dataArray[0].split(";"); kohdepaikka_iata = row[0]; var url = 'http://varaamo.matkaverkko.fi/scripts/matkavekka/pac/fi/Intres4.dll/SearchFlights'; url += '?Oper=FlightsOnly'; url += '&Maa=FIN'; url += '&SectorNumber=2'; url += '&DepartureIATA=' + lahtopaikka_iata; url += '&ArrivalAirport=' + kohdepaikka_iata; url += '&depDay=' + lahtopaiva_day; url += '&depMonthYear=' + lahtopaiva_month + '_' + lahtopaiva_year; url += '&retDay=' + paluupaiva_day; url += '&retMonthYear=' + paluupaiva_month + '_' + paluupaiva_year; url += '&PassengerClass=Y'; url += '&Adults=' + aikuisia; url += '&Children=' + lapset_yli_2v; url += '&Infants=' + lapset_01v; if(window.deb){ window.deb.trace("after_submitTab2_callback"); } window.open(url); } ); if(window.deb){ window.deb.trace("after_submitTab2"); } } Matkavaraus.prototype.submitTab3 = function() { var aikuisia_select = document.getElementById('hotellit_aikuisia'); var lapset_yli_2v_select = document.getElementById('hotellit_lapset_yli_2v'); var lapset_01v_select = document.getElementById('hotellit_lapset_0-1v'); var huoneita_select = document.getElementById('hotellit_huoneita'); var aikuisia = aikuisia_select.options[aikuisia_select.selectedIndex].value; var lapset_yli_2v = lapset_yli_2v_select.options[lapset_yli_2v_select.selectedIndex].value; var lapset_01v = lapset_01v_select.options[lapset_01v_select.selectedIndex].value; var huoneita = huoneita_select.options[huoneita_select.selectedIndex].value; var kohdepaikka = document.getElementById('hotellit_kaupunki').value; var kohdepaikka_iata = ''; var paluupaiva_date = document.getElementById('hotellit_lahden_kalenteri').value; var paluupaiva_year = parseInt(paluupaiva_date.substr(6, 4), 10); var paluupaiva_month = parseInt(paluupaiva_date.substr(0, 2), 10); var paluupaiva_day = parseInt(paluupaiva_date.substr(3, 2), 10); var lahtopaiva_date = document.getElementById('hotellit_saavun_kalenteri').value; var lahtopaiva_year = parseInt(lahtopaiva_date.substr(6, 4), 10); var lahtopaiva_month = parseInt(lahtopaiva_date.substr(0, 2), 10); var lahtopaiva_day = parseInt(lahtopaiva_date.substr(3, 2), 10); var now = new Date(); if(lahtopaiva_month == '' || isNaN(lahtopaiva_month)) lahtopaiva_month = now.getMonth() + 1; if(lahtopaiva_year == '' || isNaN(lahtopaiva_year)) lahtopaiva_year = now.getFullYear(); if(lahtopaiva_day == '' || isNaN(lahtopaiva_day)) lahtopaiva_day = now.getDate(); if(paluupaiva_month == '' || isNaN(paluupaiva_month)) paluupaiva_month = now.getMonth() + 1; if(paluupaiva_year == '' || isNaN(paluupaiva_year)) paluupaiva_year = now.getFullYear(); if(paluupaiva_day == '' || isNaN(paluupaiva_day)) paluupaiva_day = now.getDate(); if(paluupaiva_day < 10) paluupaiva_day = '0' + paluupaiva_day; if(paluupaiva_month < 10) paluupaiva_month = '0' + paluupaiva_month; if(lahtopaiva_day < 10) lahtopaiva_day = '0' + lahtopaiva_day; if(lahtopaiva_month < 10) lahtopaiva_month = '0' + lahtopaiva_month; $.get("/stc/jsp/matkavaraus/getCities.jsp", {city: kohdepaikka}, function(data) { var dataArray = data.split("\n"); var row = dataArray[0].split(";"); kohdepaikka_iata = row[0]; var url = 'http://varaamo.matkaverkko.fi/scripts/matkavekka/pac/fi/Intres4.dll/searchaccomodationsh'; url += '?Maa=Fin'; url += "&DestCity=" + kohdepaikka_iata; url += '&depDay=' + lahtopaiva_day; url += '&depMonthYear=' + lahtopaiva_month + '_' + lahtopaiva_year; url += '&retDay=' + paluupaiva_day; url += '&retMonthYear=' + paluupaiva_month + '_' + paluupaiva_year; url += "&accNr=" + huoneita; url += "&Adults=" + aikuisia; url += "&Children=" + lapset_yli_2v; url += "&Infants=" + lapset_01v; if(window.deb){ window.deb.trace("after_submitTab3_callback"); } window.open(url); } ); if(window.deb){ window.deb.trace("after_submitTab3"); } } Matkavaraus.prototype.getRoutes = function() { document.getElementById('lahtoloader').style.display = 'block'; document.getElementById('search_content').style.display = 'none'; document.getElementById('satama_lentokentta_bussi').style.display = 'none'; document.getElementById('satama_lentokentta_bussi_1').checked = true; this.enabledDays = new Array(); $("#" + this.calendarId).datepicker("refresh"); var trip_type_select = document.getElementById('trip_type'); var trip_select = document.getElementById('trip'); var class1_id = trip_type_select.options[trip_type_select.selectedIndex].value; var destination_id = trip_select.options[trip_select.selectedIndex].value; $.get("/stc/jsp/matkavaraus/getSubmitData.jsp", {destination_id: destination_id, class1_id: class1_id}, function(data) { if(data != null && data.length >= 2) matkavaraus.pricegroup = data.substr(0, 2); if(window.deb){ window.deb.trace("after_getSubmitData_callback"); } } ); $.get("/stc/jsp/matkavaraus/getDeparts_.jsp", {days: true, destination_id: destination_id, class1_id: class1_id}, function(data) { var bus = false; var dataArray = data.split("\n"); for(var i = 0; i < dataArray.length; i++) { var date = dataArray[i].substr(0, 10); var busroute = dataArray[i].substr(11, 1) == '1' ? true : false; var depPlace = dataArray[i].substr(13, 1); if(depPlace == 'T' || depPlace == 'H' || depPlace == 'Å') { matkavaraus.departPlace = depPlace; } //else // matkavaraus.departPlace = depPlace; matkavaraus.enabledDays.push({date: date, busroute: busroute}); if(busroute) bus = true; //alert(matkavaraus.enabledDays.length + "\n\n" + matkavaraus.enabledDays); $("#" + matkavaraus.calendarId).datepicker("refresh"); } /* if(bus) document.getElementById('satama_lentokentta_bussi').style.display = 'block'; */ document.getElementById('lahtoloader').style.display = 'none'; document.getElementById('search_content').style.display = 'block'; matkavaraus.responseData = data; if(window.deb){ window.deb.trace("after_getDeparts_callback"); } } ); if(window.deb){ window.deb.trace("after_getRoutes"); } } Matkavaraus.prototype.getDestinations = function(element_id, autocomplete_element_id) { var element = document.getElementById(element_id); if(element.value.length < 3) { document.getElementById(autocomplete_element_id).innerHTML = ''; document.getElementById(autocomplete_element_id).style.display = 'none'; return false; } $.get("/stc/jsp/matkavaraus/getCities.jsp", {city: element.value}, function(data) { var content = ''; var dataArray = data.split("\n"); for(var i = 0; i < dataArray.length; i++) { if(dataArray[i].length > 0) { var row = dataArray[i].split(";"); content += '
' + row[1] + '
'; if(i > 20) break; } } if(content.length > 0) document.getElementById(autocomplete_element_id).style.display = 'block'; else document.getElementById(autocomplete_element_id).style.display = 'none'; document.getElementById(autocomplete_element_id).innerHTML = content; if(window.deb){ window.deb.trace("after_getCities_callback"); } } ); if(window.deb){ window.deb.trace("after_getDestinations"); } } Matkavaraus.prototype.clearDefaultValue = function(element_id, default_value) { var element = document.getElementById(element_id); if(element.value == default_value) element.value = ''; if(window.deb){ window.deb.trace("after_getDefaultValue"); } } Matkavaraus.prototype.setFlightDepartDay = function(newday) { var date = document.getElementById('lennot_lahto_kalenteri').value; var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); if(day < 10) day = '0' + day; if(month < 10) month = '0' + month; if(newday < 10) newday = '0' + newday; $('#lennot_lahto_kalenteri').datepicker('setDate', month + '/' + newday + '/' + year); $("#lennot_lahto_kalenteri").datepicker('refresh'); // $('#lennot_paluu_kalenteri').datepicker('option', 'minDate', new Date(year, month - 1, newday + 1)); // $('#lennot_paluu_kalenteri').datepicker('refresh'); if(window.deb){ window.deb.trace("after_setFlightDepartDay"); } } Matkavaraus.prototype.setFlightReturnDay = function(newday) { var date = document.getElementById('lennot_paluu_kalenteri').value; var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); if(day < 10) day = '0' + day; if(month < 10) month = '0' + month; if(newday < 10) newday = '0' + newday; $('#lennot_paluu_kalenteri').datepicker('setDate', month + '/' + newday + '/' + year); $('#lennot_paluu_kalenteri').datepicker('refresh'); if(window.deb){ window.deb.trace("after_setFlightReturnDay"); } } Matkavaraus.prototype.setHotelDepartDay = function(newday) { var date = document.getElementById('hotellit_lahden_kalenteri').value; var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); if(day < 10) day = '0' + day; if(month < 10) month = '0' + month; if(newday < 10) newday = '0' + newday; $('#hotellit_saavun_kalenteri').datepicker('setDate', month + '/' + newday + '/' + year); $("#hotellit_saavun_kalenteri").datepicker('refresh'); // $('#lennot_paluu_kalenteri').datepicker('option', 'minDate', new Date(year, month - 1, newday + 1)); // $('#lennot_paluu_kalenteri').datepicker('refresh'); if(window.deb){ window.deb.trace("after_setHotelDepartDay"); } } Matkavaraus.prototype.setHotelReturnDay = function(newday) { var date = document.getElementById('hotellit_saavun_kalenteri').value; var year = parseInt(date.substr(6, 4), 10); var month = parseInt(date.substr(0, 2), 10); var day = parseInt(date.substr(3, 2), 10); if(day < 10) day = '0' + day; if(month < 10) month = '0' + month; if(newday < 10) newday = '0' + newday; $('#hotellit_lahden_kalenteri').datepicker('setDate', month + '/' + newday + '/' + year); $('#hotellit_lahden_kalenteri').datepicker('refresh'); if(window.deb){ window.deb.trace("after_setHotelReturnDay"); } } var matkavaraus = new Matkavaraus();