/*! * 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: 'OJFBERT', name: 'Berliinin joulutorit', class1_id: 'JO', class1_name: 'Joulun ajan matkat', class2_id: 'JFBE', class3_id: 'null'}, {id: 'OJFLINT', name: 'Linnajoulu Ranskassa', class1_id: 'JO', class1_name: 'Joulun ajan matkat', class2_id: 'JFRA', class3_id: 'null'}, {id: 'OJFSALM', name: 'Joulun tunnelmaa Salzburgissa', class1_id: 'JO', class1_name: 'Joulun ajan matkat', class2_id: 'JFSA', class3_id: 'null'}, {id: 'OJFVERT', name: 'Herkutellen Jouluun Veronassa', class1_id: 'JO', class1_name: 'Joulun ajan matkat', class2_id: 'JFVE', class3_id: 'null'}, {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: 'OFAMSPT', name: 'Amsterdam pe-ti', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'CAMS', class3_id: 'null'}, {id: 'OFVILPM', name: 'Vilna pe-ma', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'GVIL', class3_id: 'null'}, {id: 'OCVPST', name: 'Pärnun kaupunkimatkat su-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: 'OCVPLE', name: 'Pärnu kaupunkimatka lentäen', class1_id: 'KA', class1_name: 'Kaupunkimatkat', class2_id: 'PACI', class3_id: 'PCLE'}, {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: '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: 'OXALPKK', name: 'Alppien aatelia', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'AALP', class3_id: 'null'}, {id: 'OXALSLL', name: 'Alsace-viinien valtiatar', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'DALS', class3_id: 'null'}, {id: 'OXPOHKK', name: 'Pohjois-Italian suuret järvet', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'FITA', class3_id: 'null'}, {id: 'OXKROLP', name: 'Kroatian kiertomatka', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'GKRO', class3_id: 'null'}, {id: 'OFVAKPT', name: 'Varsova-Krakova yhdistelmämatka', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'HVAK', class3_id: 'null'}, {id: 'OXHURTI', name: 'Hurtigruten', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'IHUR', class3_id: 'null'}, {id: 'OXVARMT', name: 'Varanginvuono', class1_id: 'KI', class1_name: 'Kiertomatkat', class2_id: 'JVAR', 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: '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: 'OKVPLE', name: 'Pärnu kylpyläloma lentäen la-la', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PKLE'}, {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', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PMFS'}, {id: 'OKVPMYT', name: 'Pärnu My First Spa to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PAKY', class3_id: 'PMFS'}, {id: 'OKVPJSS', name: 'Pühajärve kylpylämatka su-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'PJKY', 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: '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: 'OKVSMYS', name: 'Saarenmaa My First Spa su-to', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SAKY', class3_id: 'SMFS'}, {id: 'OKVSMYT', name: 'Saarenmaa My First Spa to-su', class1_id: 'KY', class1_name: 'Kylpylämatkat', class2_id: 'SAKY', class3_id: 'SMFS'}, {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: 'OEKEPU', name: 'Keskustan risteily Riikaan', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEROCK', name: 'Radio Rock, Baltic Princess', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'null', class3_id: 'null'}, {id: 'OEDEIT1', name: 'Sinkkuristeily, XPRS', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'HETA', class3_id: 'HRX'}, {id: 'OEDEIT2', name: 'Sinkkuristeily, XPRS', class1_id: 'OE', class1_name: 'Erikoislähdöt', class2_id: 'HETA', class3_id: 'HRX'}, {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: 'OYBPPAR', name: '1 yö Baltic Princess ja 3 yötä Pärnussa', class1_id: 'RK', class1_name: 'Risteily + kaupunkimatka', class2_id: 'PARI', class3_id: 'null'}, {id: 'OYXPHOT', name: '1 yö Viking XPRS, 1 yö Tallinnassa', class1_id: 'RK', class1_name: 'Risteily + kaupunkimatka', class2_id: 'TARI', class3_id: 'null'}, {id: 'OYBPHOT', name: '1 yö Baltic Princess, 1 yö Tallinnassa', class1_id: 'RK', class1_name: 'Risteily + kaupunkimatka', 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); } } } 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 = 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)); var m = parseInt(matkavaraus.enabledDays[i].date.substr(5, 2) - 1); var d = parseInt(matkavaraus.enabledDays[i].date.substr(8, 2)); if(date.getDate() == d && date.getMonth() == m && date.getFullYear() == y && (!onlyBusRoutes || (onlyBusRoutes && matkavaraus.enabledDays[i].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(2010, 8, 6), 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"); } Matkavaraus.prototype.selectDate = function(date) { document.getElementById('departdate').value = date; } Matkavaraus.prototype.selectFlightDepartDate = function(date) { var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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)); } Matkavaraus.prototype.selectFlightReturnDate = function(date) { var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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)); } Matkavaraus.prototype.selectHotelDepartDate = function(date) { var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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)); } Matkavaraus.prototype.selectHotelReturnDate = function(date) { var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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)); } 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'; } 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'; } 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; } ); } Matkavaraus.prototype.selectStand = function(id) { document.getElementById('standid').value = id; document.getElementById('change_route_link').style.display = 'block'; $("#" + this.calendarId).datepicker("refresh"); this.hideMap(); } 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'; var class2_id = ''; var class3_id = ''; var date = document.getElementById('departdate').value; var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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; 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)); var paluupaiva_month = parseInt(paluupaiva_date.substr(0, 2)); var paluupaiva_day = parseInt(paluupaiva_date.substr(3, 2)); var lahtopaiva_date = document.getElementById('lennot_lahto_kalenteri').value; var lahtopaiva_year = parseInt(lahtopaiva_date.substr(6, 4)); var lahtopaiva_month = parseInt(lahtopaiva_date.substr(0, 2)); var lahtopaiva_day = parseInt(lahtopaiva_date.substr(3, 2)); 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; window.open(url); } ); } 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)); var paluupaiva_month = parseInt(paluupaiva_date.substr(0, 2)); var paluupaiva_day = parseInt(paluupaiva_date.substr(3, 2)); var lahtopaiva_date = document.getElementById('hotellit_saavun_kalenteri').value; var lahtopaiva_year = parseInt(lahtopaiva_date.substr(6, 4)); var lahtopaiva_month = parseInt(lahtopaiva_date.substr(0, 2)); var lahtopaiva_day = parseInt(lahtopaiva_date.substr(3, 2)); 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; window.open(url); } ); } 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); } ); $.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.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; } ); } Matkavaraus.prototype.clearDefaultValue = function(element_id, default_value) { var element = document.getElementById(element_id); if(element.value == default_value) element.value = ''; } Matkavaraus.prototype.setFlightDepartDay = function(newday) { var date = document.getElementById('lennot_lahto_kalenteri').value; var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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'); } Matkavaraus.prototype.setFlightReturnDay = function(newday) { var date = document.getElementById('lennot_paluu_kalenteri').value; var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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'); } Matkavaraus.prototype.setHotelDepartDay = function(newday) { var date = document.getElementById('hotellit_lahden_kalenteri').value; var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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'); } Matkavaraus.prototype.setHotelReturnDay = function(newday) { var date = document.getElementById('hotellit_saavun_kalenteri').value; var year = parseInt(date.substr(6, 4)); var month = parseInt(date.substr(0, 2)); var day = parseInt(date.substr(3, 2)); 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'); } var matkavaraus = new Matkavaraus();