
var TabNavigation2=new Class({initialize:function(oConfig){this.sNavId=oConfig.sNavId;this.sActiveClassName=oConfig.sActiveClassName||'';this.sDisplayNoneClassName=oConfig.sDisplayNoneClassName;this.bAddClassToParentElement=oConfig.bAddClassToParentElement||0;this.aCustomElements=oConfig.aCustomElements;this.prefix=oConfig.prefix||'';this.aItems=[];this.oActive;},init:function(){this.getItemsFromAnchors();this.getItemsFromCustomElements();if(this.aItems.length==0)return;this.addEvent();this.getActive();this.run();},run:function(){this.aItems.each(function(item,i){if(item==this.oActive){this._show(item.target);if(this.sActiveClassName!='')
item.elWithClass.addClass(this.sActiveClassName);if(this.prefix!=''){location.replace('#'+item.prefix+item.target.id);}}else{this._hide(item.target);if(this.sActiveClassName!='')
item.elWithClass.removeClass(this.sActiveClassName);}},this);},addEvent:function(){var This=this;this.aItems.each(function(el,i){el.el.addEvent('click',function(e){This.handleEvent(e,el);});});},handleEvent:function(e,oItem){if(e)e.stop();this.oActive=oItem;this.run();},getItemsFromAnchors:function(){$(this.sNavId).getElements('a').each(function(el,i){var id=el.hash.substring(1);var targetEl=$(id);if(targetEl){this.aItems.push({el:el,target:targetEl,prefix:this.prefix,elWithClass:((this.bAddClassToParentElement)?el.getParent():el)});}},this);},getItemsFromCustomElements:function(){if(!this.aCustomElements||this.aCustomElements.length==0)return;this.aCustomElements.each(function(el,i){this.aItems.push({el:el.el,target:$(el.target),prefix:(el.prefix)?el.prefix:'',elWithClass:((el.elWidthClass)?el.elWidthClass:el.el)});},this);},getActive:function(){var hash=window.location.hash.substring(1);if(hash!=''){for(var i=0;i<this.aItems.length;i++){if(this.aItems[i].prefix+this.aItems[i].target.id==hash){this.oActive=this.aItems[i];return;}}}
if(this.sActiveClassName!=''){for(var i=0;i<this.aItems.length;i++){if(isClassName(this.aItems[i].elWithClass,this.sActiveClassName)){this.oActive=this.aItems[i];break;}}}else{this.oActive=this.aItems[0];}},_show:function(el){if(!this.sDisplayNoneClassName)
el.style.display="block";else
el.removeClass(this.sDisplayNoneClassName);},_hide:function(el){if(!this.sDisplayNoneClassName)
el.style.display="none";else
el.addClass(this.sDisplayNoneClassName);}});

var Validation=new Class({Implements:[Options,Events],options:{errorClass:'validation-element-error',errorContainerClass:'validation-branch-error',submitButtonName:'submit'},initialize:function(sFormId,conf,options){this.setOptions(options);this.oForm=$(sFormId);this.submit=this.oForm.getElement('input[name="'+this.options.submitButtonName+'"]');this.conf=conf;this.aItems=[];this.aErrors=[];},init:function(){this._getItems();this._addEvents();this._createBranchContainer();},_addEvents:function(){this.aItems.each(function(item,i){if(item.type=='radio'){var arr=this._getRadios(item);arr.each(function(radio,i){radio.addEvent('blur',this._checkItem.bindWithEvent(this,[item,1]));},this);}else
item.addEvent('blur',this._checkItem.bindWithEvent(this,[item,1]));},this);this.submit.addEvent('click',function(e){this.checkAll(e);}.bind(this));},checkAll:function(e){this.aErrors=[];for(var i=0;i<this.aItems.length;i++){this._checkItem(e,this.aItems[i],0);}
if(this.aErrors.length!=0){e.preventDefault();this.fireEvent('onBranchErrors',[this.aErrors,this.aItems]);this.showBranchOfErrorMsgs();return;}
this.branchContainer.empty();this.fireEvent('onNoerrors');},_checkItem:function(e,item,b){item.store('errorMsg',0);var rules=item.retrieve('rules');for(var metoda in rules){$try(function(){this[metoda](item,rules[metoda]);}.bind(this));}
this.fireEvent('onError',[item,b]);this._handleError(item,b);},setError:function(item,s){var msg=item.retrieve('errorMsg',0);if(!msg)msg=s;else msg+=' '+s;item.store('errorMsg',msg);this.aErrors.include(item);},_handleError:function(item,b){if(item.retrieve('errorMsg')!=0){this._handleClassName(item,'add');if(b==1)this._handleErrorMsg(item,'add');}else{this._handleClassName(item,'remove');if(b==1)this._handleErrorMsg(item,'remove');}},_handleClassName:function(item,action){var target;if(item.type=='radio')
target=this.oForm.getElement('label[for="'+item.name+'"]');else if(item.type=='checkbox')
target=this.oForm.getElement('label[for="'+item.id+'"]');else
target=item;if(!target)return;if(action=='add')
target.addClass(this.options.errorClass);else if(action=='remove')
target.removeClass(this.options.errorClass);},_handleErrorMsg:function(item,action){var span=$('validation-error-'+item.name);if(action=='add'){if(span)
span.set('text',item.retrieve('errorMsg'));else{span=new Element('span',{'id':'validation-error-'+item.name,'text':item.retrieve('errorMsg')}).inject(this.branchContainer);}}else if(action=='remove'){if(span)span.dispose();}},_createBranchContainer:function(){this.branchContainer=new Element('div',{'class':this.options.errorContainerClass}).inject(this.submit.getParent(),'top');},showBranchOfErrorMsgs:function(){this.branchContainer.empty();var f=document.createDocumentFragment();for(var i=0;i<this.aErrors.length;i++){var s=document.createElement('span');s.id='validation-error-'+this.aErrors[i].name;s.innerHTML=this.aErrors[i].retrieve('errorMsg');f.appendChild(s);}
this.branchContainer.appendChild(f);},_getItems:function(){var o;for(var i=0;i<this.conf.stale.length;i++){o=this.oForm.getElement('[name="'+this.conf.stale[i].name+'"]');if(!o)continue;o.store('rules',this.conf.stale[i].rules);o.store('clientName',this.conf.stale[i].clientName);this.aItems.push(o);}},_getRadios:function(el){return this.oForm.getElements('[name="'+el.name+'"]');}});

Validation.implement({notNull:function(item,msg){msg=(msg!=1)?msg:'Pole '+item.retrieve('clientName')+' nie może być puste.';if(item.value=='')
this.setError(item,msg);},post_code:function(item){var res=item.value.match(/^[\d]{2}-[\d]{3}$/);if(!res&&item.value!='')
this.setError(item,item.retrieve('clientName')+' jest błędnie wpisany.');},number:function(item,msg){msg=(msg!=1)?msg:'W polu '+item.retrieve('clientName')+' mogą występować tylko liczby.';var res=item.value.match(/^[\d]+$/);if(!res&&item.value!='')
this.setError(item,msg);},onlyLetters:function(item,msg){msg=(msg!=1)?msg:'W polu '+item.retrieve('clientName')+' mogą występować tylko litery.';var res=item.value.match(/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]+$/);if(!res&&item.value!='')
this.setError(item,msg);},minSize:function(item,num){if(item.value.length<num)
this.setError(item,item.retrieve('clientName')+' musi mieć minium '+num+' znaków.');},email:function(item,msg){msg=(msg!=1)?msg:item.retrieve('clientName')+' ma nieprawidłową formę.';var res=item.value.match(/^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/);if(!res)
this.setError(item,msg);},maxSize:function(item,num){if(item.value.length>num&&item.value!='')
this.setError(item,item.retrieve('clientName')+' moze mieć maksimum '+num+' znaków.');},size:function(item,num){if(item.value.length!=num&&item.value!='')
this.setError(item,item.retrieve('clientName')+' musi mieć '+num+' znaków.');},dateFormat:function(item,sep){if(sep==".")
var reg_date=/[0-3][0-9].(0|1)[0-9].(19|20)[0-9]{2}/;else if(sep=="-")
var reg_date=/[0-3][0-9]-(0|1)[0-9]-(19|20)[0-9]{2}/;if(item.value.match(reg_date)&&item.value!=''){var date_array=item.value.split(sep);var day=date_array[0];var month=date_array[1]-1;var year=date_array[2];source_date=new Date(year,month,day);if(year!=source_date.getFullYear())
this.setError(item,item.retrieve('clientName')+' ma niepoprawny rok (prawidłowy format daty: dd'+sep+'mm'+sep+'yyyy).');if(month!=source_date.getMonth())
this.setError(item,item.retrieve('clientName')+' ma niepoprawny miesiąc (prawidłowy format daty: dd'+sep+'mm'+sep+'yyyy).');if(day!=source_date.getDate())
this.setError(item,item.retrieve('clientName')+' ma niepoprawny dzień (prawidłowy format daty: dd'+sep+'mm'+sep+'yyyy).');}else{this.setError(item,item.retrieve('clientName')+' ma niepoprawny format (prawidłowy format daty: dd'+sep+'mm'+sep+'yyyy).');}},chosen:function(item,msg){msg=(msg!=1)?msg:'Pole '+item.retrieve('clientName')+' musi być zaznaczone.';var b=0,arr=this._getRadios(item);for(var i=0;i<arr.length;i++){if(arr[i].checked==true)b=1;}
if(b==0)this.setError(item,msg);},checked:function(item,msg){msg=(msg!=1)?msg:'Pole '+item.retrieve('clientName')+' musi być zaznaczone.';if(item.checked==false)
this.setError(item,msg);},selected:function(item,msg){msg=(msg!=1)?msg:'W polu '+item.retrieve('clientName')+' musi być wybrana opjca.';if(item.value=='0')
this.setError(item,msg);},custom:function(item,obj){if(!item.value.match(obj.re))this.setError(item,obj.msg);}});

Validation.step5=new Class({Extends:Validation,init:function(){this._getItems();this._getZmienne();this._addEvents();this._createBranchContainer();},_getZmienne:function(){if(!this.conf.zmienne)return;var p=this.conf.zmienne.persons,o,s;rooms=this._getRooms();for(var i=0;i<rooms.length;i++){for(var j=0;j<rooms[i];j++){for(var k=0;k<p.length;k++){s='room['+i+'][person]['+j+']['+p[k].name+']';o=this.oForm.getElement('[name="'+s+'"]');o.store('rules',p[k].rules);o.store('clientName',p[k].clientName);this.aItems.push(o);}}}},_getRooms:function(){var i=0,rooms=[];while(this.oForm['room['+i+'][id]']!=null){rooms[i]=this._countPersons(i);i++;}
return rooms;},_countPersons:function(iRoomIndex){var i=0;while(this.oForm['room['+iRoomIndex+'][person]['+i+'][type]']!=null){i++;}
return i;}});

var ReservActualisation=new Class({initialize:function(oForm,oTriggers){this.oForm=oForm;this.oTriggers=oTriggers;this.aFields=[];},init:function(){var This=this;this._getFields();for(var i=0;i<this.aFields.length;i++){if(!this.aFields[i])continue;pioEvent.addEvent(this.aFields[i],'change',function(e){This._handleChange(e);});}},_getFields:function(){var iNumRooms=1;if(this.oTriggers.zmienne.room)
iNumRooms=this._getNumRooms(this.oTriggers.zmienne.room[0]);for(var key in this.oTriggers.zmienne){for(var i=0;i<this.oTriggers.zmienne[key].length;i++){for(var j=0;j<iNumRooms;j++){if(this.oForm[key+'['+j+']['+this.oTriggers.zmienne[key][i]+']']!=null)
this.aFields.push(this.oForm[key+'['+j+']['+this.oTriggers.zmienne[key][i]+']']);}}}
for(var i=0;i<this.oTriggers.stale.length;i++){this.aFields.push(this.oForm[this.oTriggers.stale[i]]);}},_getNumRooms:function(s){var i=0;while(this.oForm['room['+i+']['+s+']']!=null){i++;}
return i;},_handleChange:function(){var input=document.createElement('input');input.type='hidden';input.name='update';input.value='1';this.oForm.appendChild(input);this.oForm.submit();}});

var ReservValidation=new Class({Implements:Events,initialize:function(oConfig){this.oConfig=oConfig;this.oForm=this.oConfig.form;this.aStale=this.oConfig.stale;this.oZmienne=this.oConfig.zmienne;this.errorClassName=this.oConfig.klasaBlednegoElementu||'reservation-error';this.errorDivId=this.oConfig.branchErrorDivId||'reservation-branch-error';this.sSubmitInputName=this.oConfig.sSubmitInputName||'booking';this.aItems=[];this.aRooms=[];this.aErrors=[];this.branchContainer={};},init:function(){this._getRooms();this._getItems();this._addEvents();this.createBranchContainer();},_addEvents:function(){var This=this,oRadio;for(var i=0;i<this.aItems.length;i++){if(this.aItems[i].obj.type==undefined){oRadio=this.aItems[i].obj;for(var j=0;j<oRadio.length;j++){pioEvent.addEvent(oRadio[j],'blur',function(){This.checkItem(This._getItem(this.name),1);});}
continue;}
pioEvent.addEvent(this.aItems[i].obj,'blur',function(){This.checkItem(This._getItem(this.name),1);});}
var submit=this.oForm[this.sSubmitInputName];if(!submit){throw new Error('ReservValidation._addEvents: zle zdefiniowane pole wysylajace formularz');return;}
pioEvent.addEvent(submit,'click',function(e){This.checkAll(e);});},checkAll:function(e){this.aErrors=[];for(var i=0;i<this.aItems.length;i++){this.checkItem(this.aItems[i],0);}
if(this.aErrors.length!=0){var e=pioEvent.getEvent();e.preventDefault();this.fireEvent('onBranchErrors',[this.aErrors,this.aItems]);this.showBranchOfErrorMsgs();return;}
this.clearBranchContainer();},checkItem:function(oItem,b){this.clearItemErrorMsg(oItem);if(oItem.rules.notNull)this.notNull(oItem);if(oItem.rules.post_code)this.post_code(oItem);if(oItem.rules.number)this.number(oItem);if(oItem.rules.onlyLetters)this.onlyLetters(oItem);if(oItem.rules.email)this.email(oItem);if(oItem.rules.chosen)this.chosen(oItem);if(oItem.rules.checked)this.checked(oItem);if(oItem.rules.selected)this.selected(oItem);if(oItem.rules.minSize)this.minSize(oItem,oItem.rules.minSize);if(oItem.rules.maxSize)this.maxSize(oItem,oItem.rules.maxSize);if(oItem.rules.size)this.size(oItem,oItem.rules.size);if(oItem.rules.dateFormat)this.dateFormat(oItem,oItem.rules.dateFormat);if(oItem.rules.doubleEmail)this.doubleEmail(oItem);if(oItem.rules.custom)this.custom(oItem);this.fireEvent('onError',[oItem,b]);this.handleError(oItem,b);},notNull:function(oItem){if(oItem.obj.value=='')
this.setError(oItem,'Pole '+oItem.clientName+' nie może być puste.');},post_code:function(oItem){var res=oItem.obj.value.match(/^[\d][\d]-?[\d]{3}$/gi);if(!res&&oItem.obj.value!=''||oItem.obj.value=='00-000')
this.setError(oItem,oItem.clientName+' jest błędnie wpisany.');},number:function(oItem){var res=oItem.obj.value.match(/^[\d]+$/gi);if(!res&&oItem.obj.value!='')
this.setError(oItem,'W polu '+oItem.clientName+' mogą występować tylko liczby.');},onlyLetters:function(oItem){var res=oItem.obj.value.match(/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]+$/);if(!res&&oItem.obj.value!='')
this.setError(oItem,'W polu '+oItem.clientName+' mogą występować tylko litery.');},minSize:function(oItem,num){if(oItem.obj.value.length<num)
this.setError(oItem,oItem.clientName+' musi mieć minium '+num+' znaków.');},email:function(oItem){var res=oItem.obj.value.match(/^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/);if(!res)
this.setError(oItem,oItem.clientName+' ma nieprawidłową formę.');},maxSize:function(oItem,num){if(oItem.obj.value.length>num&&oItem.obj.value!='')
this.setError(oItem,oItem.clientName+' moze mieć maksimum '+num+' znaków.');},size:function(oItem,num){if(oItem.obj.value.length!=num&&oItem.obj.value!='')
this.setError(oItem,oItem.clientName+' musi mieć '+num+' znaków.');},dateFormat:function(oItem,separator){if(separator=="."){var reg_date=/[0-3][0-9].(0|1)[0-9].(19|20)[0-9]{2}/;}
else if(separator=="-"){var reg_date=/[0-3][0-9]-(0|1)[0-9]-(19|20)[0-9]{2}/;}
if(oItem.obj.value.match(reg_date)&&oItem.obj.value!=''){var date_array=oItem.obj.value.split(separator);var day=date_array[0];var month=date_array[1]-1;var year=date_array[2];source_date=new Date(year,month,day);if(year!=source_date.getFullYear())
this.setError(oItem,oItem.clientName+' ma niepoprawny rok (prawidłowy format daty: d'+separator+'m'+separator+'Y).');if(month!=source_date.getMonth())
this.setError(oItem,oItem.clientName+' ma niepoprawny miesiÄ?c (prawidłowy format daty: d'+separator+'m'+separator+'Y).');if(day!=source_date.getDate())
this.setError(oItem,oItem.clientName+' ma niepoprawny dzieĹ? (prawidłowy format daty: d'+separator+'m'+separator+'Y).');}
else{this.setError(oItem,oItem.clientName+' ma niepoprawny format (prawidłowy format daty: d'+separator+'m'+separator+'Y).');}},chosen:function(oItem){var b=0;for(var i=0;i<oItem.obj.length;i++){if(oItem.obj[i].checked==true)b=1;}
if(b==0)this.setError(oItem,'Pole '+oItem.clientName+' musi być zaznaczone.');},checked:function(oItem){if(oItem.obj.checked==false)
this.setError(oItem,'Pole '+oItem.clientName+' musi być zaznaczone.');},selected:function(oItem){if(oItem.obj.value=='0')
this.setError(oItem,'W polu '+oItem.clientName+' musi być wybrana opjca.');},doubleEmail:function(oItem){if(oItem.obj.value!=this.oForm['client[email]'].value)
this.setError(oItem,'Pola email mają różne wartości.');},custom:function(oItem){var res=oItem.obj.value.match(oItem.rules.custom.re);if(!res)
this.setError(oItem,oItem.rules.custom.msg);},setError:function(oItem,s){if(!oItem.errorMsg)
oItem.errorMsg=s;else
oItem.errorMsg+=' '+s;if(this.aErrors.length==0){this.aErrors.push(oItem);return;}
for(var i=0;i<this.aErrors.length;i++){if(this.aErrors[i]==oItem){return;}}
this.aErrors.push(oItem);},clearItemErrorMsg:function(oItem){if(oItem.errorMsg)oItem.errorMsg=null;},handleError:function(oItem,b){if(oItem.errorMsg){this.setErrorCN(oItem);if(b==1)this.showErrorMsg(oItem);}else{this.removeErrorCN(oItem);if(b==1)this.removeErrorMsg(oItem);}},setErrorCN:function(oItem){var obj=this._getObj(oItem);if(!obj||(obj instanceof Array))return;try{if(isClassName(obj,this.errorClassName)==false)
addClassName(obj,this.errorClassName);}catch(e){}},removeErrorCN:function(oItem){var obj=this._getObj(oItem);if(!obj||(obj instanceof Array))return;try{if(isClassName(obj,this.errorClassName)==true&&!oItem.errorMsg)
removeClassName(obj,this.errorClassName);}catch(e){}},_getObj:function(oItem){var obj=oItem.obj;if(obj.type==undefined){var l=this.oForm.getElementsByTagName('label');for(var i=0;i<l.length;i++){if(l[i].getAttribute('for')==obj[0].name)
return l[i];}}
if(obj.type=='checkbox'){var l=this.oForm.getElementsByTagName('label');for(var i=0;i<l.length;i++){if(l[i].getAttribute('for')==obj.id)
return l[i];}}
return obj;},showErrorMsg:function(oItem){var s;if(s=document.getElementById('error_'+oItem.obj.name)){s.innerHTML=oItem.errorMsg;return;}
s=document.createElement('span');s.id='error_'+oItem.name;s.innerHTML=oItem.errorMsg;this.branchContainer.appendChild(s);},removeErrorMsg:function(oItem){var s;if(s=document.getElementById('error_'+oItem.name))
this.branchContainer.removeChild(s);},showBranchOfErrorMsgs:function(){this.clearBranchContainer();var f=document.createDocumentFragment();for(var i=0;i<this.aErrors.length;i++){var s=document.createElement('span');s.id='error_'+this.aErrors[i].name;s.innerHTML=this.aErrors[i].errorMsg;f.appendChild(s);}
this.branchContainer.appendChild(f);},createBranchContainer:function(){var el=this.oForm[this.sSubmitInputName];var fieldset=el.parentNode;this.branchContainer=document.createElement('div');this.branchContainer.id=this.errorDivId;fieldset.insertBefore(this.branchContainer,fieldset.firstChild);},clearBranchContainer:function(){this.branchContainer.innerHTML='';},_getItem:function(name){for(var i=0;i<this.aItems.length;i++){if(this.aItems[i].obj.type==undefined){if(this.aItems[i].obj[0].name==name){return this.aItems[i];}}
if(this.aItems[i].obj.name==name){return this.aItems[i];}}},_getItems:function(){var o,name;for(var i=0;i<this.aStale.length;i++){o=this.oForm[this.aStale[i].name];if(!o)continue;name=(o.name)?o.name:o[0].name;if(!name)throw new Error('ReservValidation._getItems: pole nie ma ustawionego atrybutu NAME.');this.aItems.push({obj:o,name:name,rules:this.aStale[i].rules,clientName:this.aStale[i].clientName});}
if(!this.oZmienne)return;var p=this.oZmienne.persons;for(var i=0;i<this.aRooms.length;i++){for(var j=0;j<this.aRooms[i];j++){for(var k=0;k<p.length;k++){o=this.oForm['room['+i+'][person]['+j+']['+p[k].name+']'];name=(o.name)?o.name:o[0].name;this.aItems.push({obj:o,name:name,rules:p[k].rules,clientName:p[k].clientName});}}}},_getRooms:function(){var i=0;while(this.oForm['room['+i+'][id]']!=null){this.aRooms[i]=this._countPersons(i);i++;}},_countPersons:function(iRoomIndex){var i=0;while(this.oForm['room['+iRoomIndex+'][person]['+i+'][type]']!=null){i++;}
return i;}});

var Basket=new Class({Implements:Options,options:{sCheckboxId:'basket_',sCheckboxClassName:'addToBasket',sRemoveLinkClassName:'removeFromBasket',msg:{time:1000,css:{border:'1px solid #ccc',background:'#fff',padding:'1em',position:'absolute',zIndex:9999},text:{add:'dodano do schowka',remove:'usunieto ze schowka'},iPlusPositionX:25,iPlusPositionY:-12}},initialize:function(options){this.setOptions(options);this.aChecks=[];this.aReoveLinks=[];},init:function(){var This=this,code;var check=$$('input.'+this.options.sCheckboxClassName);check.each(function(check,i){if(this._getOfferCodeFromId(check.id)!=false){check.disabled=false;check.addEvent('click',function(e){This._handleEvent(e,this,This._getOfferCodeFromId(check.id),0);});}},this);var link=$$('a.'+this.options.sRemoveLinkClassName);link.each(function(link,i){if(this._getOfferCodeFromHref(link.href)!=false){link.addEvent('click',function(e){This._handleEvent(e,this,This._getOfferCodeFromHref(link.href),1);});}},this);},_handleEvent:function(e,el,val,isLink){var sOperation,o={This:this,isLink:isLink,el:el};if(!isLink){if(el.checked){sOperation='add';o.sText=this.options.msg.text.add;}else{sOperation='delete';o.sText=this.options.msg.text.remove;}}else{e.stop();sOperation='delete';}
Ajax.addToQueue('turystyka_koszyk',1,{offer:val,oper:sOperation},o,o.This._getResponse);},_getResponse:function(o,oRes,sRes){if(oRes['state']!=0){if(o.isLink!=1){o.This.showStatus(o.el,o.sText);}else{if(oRes['state']=='del')o.This._removeRow(o.el);}}},showStatus:function(el,sText){var p=el.getPosition();var s=el.getSize();var m=new ModalWindow({sContent:sText,oWindowCss:this.options.msg.css,sWindowClassName:'basket-modal-window',position:{absolute:{x:p.x+this.options.msg.iPlusPositionX,y:p.y+this.options.msg.iPlusPositionY}}});m.flash(this.options.msg.time);},_removeRow:function(o){o=o.getParent('tr');if(o.getParent().getChildren('tr').length>1){(new Fx.Tween(o)).start('opacity',0).chain(function(){o.dispose();});}else{o=o.getParent('table');var h=new Element('h2',{'class':'error','text':'Schowek jest pusty'});(new Fx.Tween(o)).start('opacity',0).chain(function(){h.inject(o,'before');o.dispose();});}},_getOfferCodeFromId:function(s){var res=s.match(new RegExp(""+this.options.sCheckboxId+"(.+)","i"));if(!res)return false;return res[1];},_getOfferCodeFromHref:function(s){var res=s.match(new RegExp("del=(.+)","i"));if(!res)return false;return res[1];}});

var Newsletter=new Class({initialize:function(sNewsletterPriceSpliter){this.sNewsletterPriceSpliter=sNewsletterPriceSpliter||' ';this.aLinks=[];},init:function(){this._getLinks();if(this.aLinks.length==0)return;var This=this;if(window.opener&&window.opener.addNewsletterOffer){for(var i=0;i<this.aLinks.length;i++){this.aLinks[i].style.display='inline';pioEvent.addEvent(this.aLinks[i],'click',function(e){This._sendToNewsletter(e,this.getAttribute('newsletter'));});}}else{for(var i=0;i<this.aLinks.length;i++){this.aLinks[i].style.display='none';}}},_sendToNewsletter:function(e,sValue){var e=pioEvent.getEvent();e.stopPropagation();var aPricePosition=[5,13];for(var i=0;i<aPricePosition.length;i++){var iPrice=sValue.split('||_')[aPricePosition[i]].toString();if(iPrice.match(/^\s*[0-9]+\s*$/)){var sNewPrice='';for(var j=1;j<=iPrice.length;j++){sNewPrice=iPrice.charAt(iPrice.length-j)+sNewPrice;if(j%3==0&&j<iPrice.length)
sNewPrice=this.sNewsletterPriceSpliter+sNewPrice;}
sValue=sValue.replace(iPrice,sNewPrice);}}
var bReturn=window.opener.addNewsletterOffer(sValue);if(bReturn==-1){if(confirm('Podobna oferta juĹź zostaĹ?a dodana, mimo to kontynuowaÄ? ?')){bReturn=window.opener.addNewsletterOffer(sValue,true);}else{return false;}}else if(bReturn==1){alert('Oferta zostaĹ?a dodana do biuletynu.');return false;}else{alert('WystÄ?piĹ? bĹ?Ä?d podczas dodawania oferty.');return true;}},_getLinks:function(){var aTmp=document.getElementsByTagName('a');for(var i=0;i<aTmp.length;i++){if(aTmp[i].getAttribute('newsletter')){this.aLinks.push(aTmp[i]);}}}});

var DetailView=new Class({initialize:function(ob){this.sLinkClassName=ob.linkClassName||'detail';this.or=ob.obszarRoboczy;this.sTrId=ob.trId||'detail_';this.sTrHideClassName=ob.trHideClassName||'hide';this.aLinks=[];},init:function(){if(!this.or){echo('DETAIL VIEW: uzupelnij konfig o obszarRoboczy');return;}
this._getLinks();if(this.aLinks.length==0)return;this._addEvents();},_addEvents:function(){var This=this;for(var i=0;i<this.aLinks.length;i++){pioEvent.addEvent(this.aLinks[i],'click',function(e){This._handleEvent(e,this);});}},_handleEvent:function(e,o){var e=pioEvent.getEvent();e.preventDefault();var tr=document.getElementById(this.sTrId+this._re(o.id));if(isClassName(tr,this.sTrHideClassName)){removeClassName(tr,this.sTrHideClassName);}else{addClassName(tr,this.sTrHideClassName);}},_re:function(s){var res=s.match(/(\d+)$/gi);return parseInt(res);},_getLinks:function(){var links=this.or.getElementsByTagName('a');for(var i=0;i<links.length;i++){if(isClassName(links[i],this.sLinkClassName)){this.aLinks.push(links[i]);}}}});

function showPayment(This){var i;if(This.form.typP.length){for(i=0;i<This.form.typP.length;i++){if(This.form.typP[i].checked==true){if(This.form.typP[i].value=='online'){document.forms.dotpay_form_99.submit();return false;}}}}else if(This.form.typP.checked==true){if(This.form.typP.value=='online'){document.forms.dotpay_form_99.submit();return false;}}
return true;}
var WeatherCacheAjax=new Class({initialize:function(sSpanClass){this.sSpanClass=sSpanClass;},init:function(){var spans=$$('span.'+this.sSpanClass);spans.each(function(span,i){var o={This:this},region;region=span.getProperty('id').match(/_([0-9]+)/)[1];o.span_id=span.getProperty('id');if(region&&span.innerHTML==''){Ajax.addToQueue('turystyka_wycieczki',1,{state:'weather_step2',region_stolica_id:region},o,o.This.getResponse,1);}},this);},getResponse:function(o,oRes,sRes){$(o.span_id).set('html',oRes['weather_html']);}});var ReservPlatosci=new Class({initialize:function(){this.trigger1=$('przelew-1');this.trigger2=$('przelew-2');},init:function(){var arr,This=this;this.trigger1.addEvent('click',function(){This.show(['panel-1','panel-2']);});this.trigger2.addEvent('click',function(){This.show(['panel-1']);This.hide(['panel-2']);});},show:function(a){a.each(function(item,i){$(item).removeClass('hide');});},hide:function(a){a.each(function(item,i){$(item).addClass('hide');});}});var OpinieKolorujLabel=new Class({initialize:function(id,i){this.id=id;this.i=i;this.aItems=[];},init:function(){this.getItems();this.addEvents();if(this.oActive)this.set(this.oActive);},addEvents:function(){var This=this;for(var i=0;i<this.aItems.length;i++){pioEvent.addEvent(this.aItems[i].label,'click',function(){for(var j=0;j<This.aItems.length;j++){if(This.aItems[j].label==this)var ii=j;}
This.set(This.aItems[ii]);});pioEvent.addEvent(this.aItems[i].input,'click',function(){for(var j=0;j<This.aItems.length;j++){if(This.aItems[j].input==this)var ii=j;}
This.set(This.aItems[ii]);});}},set:function(o){for(var i=0;i<this.aItems.length;i++)
removeClassName(this.aItems[i].label,'active');addClassName(o.label,'active');},getItems:function(){for(var i=1;i<=this.i;i++){var inp=document.getElementById(this.id+i);var l=inp.parentNode.getElementsByTagName('label')[0];var o={input:inp,label:l}
if(inp.checked==true)
this.oActive=o;this.aItems.push(o);}}});var OpinieDodajOpinie=new Class({initialize:function(oConf){this.link=oConf.link;this.target=document.getElementById('opinion-section-selects');},init:function(){var This=this;pioEvent.addEvent(this.link,'click',function(e){This.handleEvent(e);});},handleEvent:function(e){var e=pioEvent.getEvent();e.preventDefault();if(isClassName(this.target,'hide'))
removeClassName(this.target,'hide');else
addClassName(this.target,'hide');}});var OpiniePokazUkryjSzczegoly=new Class({initialize:function(obszar,els){this.aEl=els;this.obszar=obszar;this.hideCN='hide';this.sShowCN='opinion-long-show';this.sCloseCN='opinion-long-close';this.sTriggerCN='opinion-long-trigger';this.aShowLinks=[];this.aHideLinks=[];this.aTriggerLinks=[];},init:function(){this.getLinks();this.addEvents();},addEvents:function(){var This=this;for(var i=0;i<this.aShowLinks.length;i++){pioEvent.addEvent(this.aShowLinks[i],'click',function(e){This.handleEvent(e,this);});}
for(var i=0;i<this.aHideLinks.length;i++){pioEvent.addEvent(this.aHideLinks[i],'click',function(e){This.handleEvent(e,this.parentNode);});}
for(var i=0;i<this.aTriggerLinks.length;i++){pioEvent.addEvent(this.aTriggerLinks[i],'click',function(e){This.handleEvent(e,this);});}},handleEvent:function(e,el){var e=pioEvent.getEvent();e.preventDefault();var nr=this._re(el.id);for(var i=0;i<this.aEl.length;i++){var el=document.getElementById(this.aEl[i]+nr);if(el)this.showHide(el);}},showHide:function(el){if(isClassName(el,this.hideCN)==false)
addClassName(el,this.hideCN);else
removeClassName(el,this.hideCN);},getLinks:function(){var a=this.obszar.getElementsByTagName('a');for(var i=0;i<a.length;i++){if(isClassName(a[i],this.sCloseCN)==true){this.aHideLinks.push(a[i]);}else if(isClassName(a[i],this.sShowCN)==true){this.aShowLinks.push(a[i]);}else if(isClassName(a[i],this.sTriggerCN)==true){this.aTriggerLinks.push(a[i]);}}},_re:function(s){var res=s.match(/(\d+)$/i);return parseInt(res);}});var OpiniePrzelaczWidokFormularzLista=new Class({initialize:function(oConfig){this.oConfig=oConfig;this.add=document.getElementById('opinion-add');this.show=document.getElementById('opinion-show');this.list=document.getElementById('opinion-list');this.form=document.getElementById('opinion-form');},init:function(){if(!this.add||!this.show||!this.list||!this.form)return;var This=this;pioEvent.addEvent(this.add,'click',function(e){This.change(e);});pioEvent.addEvent(this.show,'click',function(e){This.change(e);});},change:function(e){var e=pioEvent.getEvent();e.preventDefault();if(isClassName(this.list,'hide')){removeClassName(this.list,'hide');addClassName(this.form,'hide');}else{removeClassName(this.form,'hide');addClassName(this.list,'hide');}}});var PolecZnajomemu=new Class({initialize:function(o){this.ob=o.oObszar;this.cn=o.sLinkCN;this.loader='<img src="'+window.location.protocol+'//'+window.location.host+'/templates/default/images/ajax-loader-purple.gif" />';this.aItems=[];},init:function(){this.getItems();if(this.aItems.length==0)return;this.addEvent();},addEvent:function(){var This=this;for(var i=0;i<this.aItems.length;i++){pioEvent.addEvent(this.aItems[i],'click',function(e){This.handleEvent(e,this);});}},handleEvent:function(e,oLink){var e=pioEvent.getEvent(),This=this;e.preventDefault();var o={This:this,oLink:oLink,oLinkText:oLink.innerHTML};oLink.innerHTML=oLink.innerHTML+this.loader;Ajax.addToQueue('turystyka_wycieczki',1,{form:true,state:'tellAFriend'},o,This.getForm,1);},getForm:function(o,oRes,sRes){try{o.oLink.innerHTML=o.oLinkText;var con='<a id="modal-window-close" href="javascript:void(0);">zamknij</a><h2>Poleć tą wycieczkę znajomemu</h2>';con+=oRes.form;o.This.modal=new ModalWindow({sContent:con,bBackground:1,sWindowClassName:'modal-polec-znajomemu',bHideSelects:1,sHiddenClassNameForSelects:'hide'});o.This.modal.init();var close=document.getElementById('modal-window-close');pioEvent.addEvent(close,'click',function(){o.This.modal.close();o.This.modal=null;});o.This.addEventToForm(o.oLink);}catch(e){console.error('PolecZnajomemu.getForm zwraca wyjatek: %s',e)}},addEventToForm:function(oLink){var This=this;var form=document.getElementById('polec-znajomemu-form');pioEvent.addEvent(form['submit'],'click',function(e){This.handleFormEvent(e,form,oLink);});},handleFormEvent:function(e,form,oLink){var e=pioEvent.getEvent();e.preventDefault();var This=this,url=encodeURIComponent(oLink.href);var email=form['email_odbiorcy'].value;var nadaw=form['wysylajacy'].value;var info=document.getElementById('polec-znajomemu-form-info');info.innerHTML=this.loader;var o={This:this,info:info};var s={state:'tellAFriend',email_odbiorcy:email,wysylajacy:nadaw,url_wycieczka:url};Ajax.addToQueue('turystyka_wycieczki',1,s,o,This.readStatus,1);},readStatus:function(o,oRes,sRes){try{if(oRes.status){o.This.modal.insertContent('<span class="message-sent">'+oRes.message+'</span>');setTimeout(function(){o.This.modal.close();o.This.modal=null;},2000);}else{o.info.innerHTML=oRes.message;}}catch(e){console.error('PolecZnajomemu.readStatus zwraca wyjatek: %s',e);}},getItems:function(){var links=this.ob.getElementsByTagName('a');for(var i=0;i<links.length;i++){if(isClassName(links[i],this.cn)){this.aItems.push(links[i]);}}}});var ThomasBasket=new Class({Extends:Basket,_removeRow:function(o){o=o.getParent('tr');if(o.getParent().getChildren('tr').length>2){var n=o.getNext();(new Fx.Tween(o)).start('opacity',0).chain(function(){o.dispose();});(new Fx.Tween(n)).start('opacity',0).chain(function(){n.dispose();});}else{o=o.getParent('table');var h=new Element('h2',{'class':'error','text':'Schowek jest pusty'});(new Fx.Tween(o)).start('opacity',0).chain(function(){h.inject(o,'before');o.dispose();});}}});var GalleryNav=new Class({initialize:function(){this.oNav=document.getElementById('slideshow');this.oTarget=document.getElementById('placeholder');this.oLeft=document.getElementById('gallery-left');this.oRight=document.getElementById('gallery-right');this.aPics=[];this.iCurrent=0;this.oCurrent={};this.aTumbnails=[];this.iT=3;this.iAll;this.sInvisibleClassName='invisible';this.sPicIdName='pic_';this.sTumbnailHiddenCN='hide';this.sTumbnailNormalBorderStyle='3px solid #fff';this.sTumbnailActivBorderStyle='3px solid #f3c116';},init:function(){this._getPics();if(this.aPics.length==0)return;this._pokazMiniaturki();this._updateLeftRight();this._zmienObramowanie();this._addClickToNav();},_getPics:function(){this.aPics=this.oNav.getElementsByTagName('img');this.iAll=this.aPics.length;this.oCurrent=this._getPicByIndex(this.iCurrent);if(!this.oCurrent){var slider=$('slider');slider.setStyle('display','none');return;}
for(var i=0;i<this.aPics.length;i++){this.aTumbnails.push(i);if(i==this.iT-1)break;}
if(this.aTumbnails.length<this.iT){var toRem=(this.iT-this.aTumbnails.length)*91
var slider=$('slider');var sliderW=slider.getStyle('width').toInt();slider.setStyle('width',(sliderW-toRem)+'px');}},_addClickToNav:function(){var This=this;pioEvent.addEvent(this.oLeft,'click',function(){This._scroll(-This.iT);});pioEvent.addEvent(this.oRight,'click',function(){This._scroll(This.iT);});for(var i=0;i<this.aPics.length;i++){pioEvent.addEvent(this.aPics[i],'click',function(){This._showPic(This._re(this.id));});}},_re:function(s){var res=s.match(/(\d+)/gi);return parseInt(res);},_showPic:function(i){var img=this._getPicByIndex(i);if(img==null)return;this.oTarget.src=($(img).get('rel'))?$(img).get('rel'):$(img).get('src');this.iCurrent=i;this.oCurrent=img;this._zmienObramowanie();},_getPicByIndex:function(i){var pic=document.getElementById(this.sPicIdName+i);return pic;},_scroll:function(i){this._updateThumbnailArr(i);this._updateLeftRight(i);this._pokazMiniaturki();},_pokazMiniaturki:function(){for(var i=0;i<this.aPics.length;i++){this.aPics[i].className=this.sTumbnailHiddenCN;}
for(var i=0;i<this.aTumbnails.length;i++){this.aPics[this.aTumbnails[i]].className='';}},_zmienObramowanie:function(){for(var i=0;i<this.aPics.length;i++){this.aPics[i].style.border=this.sTumbnailNormalBorderStyle;}
this.oCurrent.style.border=this.sTumbnailActivBorderStyle;},_updateThumbnailArr:function(i){var tf=this.aTumbnails[0];var tl=this.aTumbnails[this.iT-1];var aTmp=[];if(i>0){for(var i=1;i<this.iT+1;i++){if(this._getPicByIndex(tl+i)){aTmp.push(tl+i);}}}else{for(var i=this.iT;i>0;i--){if(this._getPicByIndex(tf-i)){aTmp.push(tf-i);}}
if(aTmp.length<this.iT){while(aTmp.length=this.iT)
aTmp[aTmp.length]=aTmp.length;}}
this.aTumbnails=[];for(var i=0;i<aTmp.length;i++){this.aTumbnails.push(aTmp[i]);}},_updateLeftRight:function(i){this.oLeft.className='';this.oRight.className='';if(this.iAll<=this.iT){this.oLeft.className=this.sInvisibleClassName;this.oRight.className=this.sInvisibleClassName;return;}
if(i>0){if((this.iAll-1)-this.aTumbnails[this.aTumbnails.length-1]<=0){this.oRight.className=this.sInvisibleClassName;}}
else if(i<0){if(this.aTumbnails[0]==0){this.oLeft.className=this.sInvisibleClassName;}}else if(!i){this.oLeft.className=this.sInvisibleClassName;}}});var Przeloty=new Class({Implements:[Events,SearchEngineCore],sTrigger:'tripCountryName',sTarget:'scityid',init:function(){this.trigger=$(this.sTrigger);this.target=$(this.sTarget);this.iTmp=0;this.setFromUrl();this.addEventToCountry();this.updateMiastaPrzylotu();},setFromUrl:function(){if(this.vars.length==0)return;var arr=[],vars=$H(this.vars),value;this.oConfig.fieldsToSet.each(function(f,i){if(vars.has(f)){value=decodeURIComponent(vars[f]);arr.push({name:f,value:value});}});if(arr.length==0)return;var form=new Form(this.oForm);form.setValues(arr);},addEventToCountry:function(){var This=this;this.trigger.addEvent('change',function(e){This.updateMiastaPrzylotu();});},updateMiastaPrzylotu:function(){var s=this.getFieldValue(this.trigger);if(s=='0')return;var o={This:this};Ajax.addToQueue('turystyka_wycieczki',1,{state:'przeloty_miasta',country_value:s},o,o.This.getResponse,1);},getResponse:function(o,oRes,sRes){try{var res=oRes['result'],arr=[];if($type(res)!='array'){for(var x in res)
arr.push({name:res[x],key:x});}
if(arr.length==0){arr.push({name:'brak',key:'0'});}
o.This.update($(o.This.sTarget),arr,{blank:{name:'wybierz',value:'0'}});}catch(e){console.error('Przeloty.getResponse zwraca wyjatek %o',e);}
o.This.fireEvent('updateEnd',[o.This.iTmp]);o.This.iTmp++;}});var OfferCheckStep4=new Class({initialize:function(spans,time){this.time=time;for(i=0;i<spans.length;i++){this.addToAjax(spans[i]);}},addToAjax:function(oItem){if(oItem.id){var oOfferInfo=oItem.id.split('_');var oRegExNumber=new RegExp("[0-9]+");if(oOfferInfo[0]&&oRegExNumber.test(oOfferInfo[0])&&oOfferInfo[1]&&oRegExNumber.test(oOfferInfo[1])&&(!oOfferInfo[2]||oRegExNumber.test(oOfferInfo[2]))&&(!oOfferInfo[3]||oRegExNumber.test(oOfferInfo[3]))&&(!oOfferInfo[4]||oRegExNumber.test(oOfferInfo[4]))){var o={This:this};Ajax.add({mode:'turystyka_wycieczki',instance:0,priority:1,ttl:10000,data:{offer_code:oOfferInfo[0],trip:oOfferInfo[1],adult:oOfferInfo[2],child:oOfferInfo[3],infant:oOfferInfo[4]},onSuccess:function(res,errorMsg){if(res)
this._sendRequestHandle(oItem,res);else{this.error(oItem);console.error('OfferCheckStep4.addToAjax nie ma result: %s',errorMsg);}}.bind(this),onCancel:function(){this.error(oItem);}.bind(this)});}}},error:function(span){span.getNext('a.offer-check-no').removeClass('hide');span.getNext('a.offer-check-yes').dispose();span.dispose()},_sendRequestHandle:function(span,oResponse,sResponse){if(oResponse.state>0){span.getNext('a.offer-check-yes').removeClass('hide');span.getNext('a.offer-check-no').dispose();span.dispose()}else{span.getNext('a.offer-check-no').removeClass('hide');span.getNext('a.offer-check-yes').dispose();span.dispose()}}});var TabsThomas=new Class({Implements:Options,options:{prefix:'tab_',activeClass:'active',hideClass:'back',classToParent:1},initialize:function(els,links,options){this.setOptions(options);this.els=els;this.els.each(function(el){if(!el.retrieve('classElement'))el.store('classElement',(this.options.classToParent)?el.getParent():el)
el.addEvent('click',this._run.bindWithEvent(this,[el]));},this);links.each(function(el){var tg=null;for(var i=0,l=this.els.length;i<l;i++){if(this.els[i].href.match(/#(.+)/)[1]==el.retrieve('target'))tg=els[i];}
if(tg)el.addEvent('click',this._run.bindWithEvent(this,[tg,el.retrieve('scroll')]));},this);var hash=window.location.hash.substring(1);if(hash!=''){for(var i=0,l=this.els.length;i<l;i++){if(this.options.prefix+this.els[i].href.match(/#(.+)/)[1]==hash){this._run(null,this.els[i]);return;}}}
if(this.options.activeClass!=''){for(var i=0,l=this.els.length;i<l;i++){if(this.els[i].retrieve('classElement').hasClass(this.options.activeClass)){this._run(null,this.els[i]);return;}}}else{this._run(null,this.els[0]);return;}},_run:function(e,el,oth){if(e)e.stop();for(var i=0,l=this.els.length;i<l;i++){this.els[i].retrieve('classElement').removeClass(this.options.activeClass);$(this.els[i].href.match(/#(.+)/)[1]).addClass(this.options.hideClass);}
el.retrieve('classElement').addClass(this.options.activeClass);$(el.href.match(/#(.+)/)[1]).removeClass(this.options.hideClass);window.location.replace('#'+this.options.prefix+el.href.match(/#(.+)/)[1]);if(oth){window.scrollTo(0,oth);}else if(el.retrieve('scroll')){window.scrollTo(0,el.retrieve('scroll'));}}});var Zapytanie=new Class({Implements:[Events,Options],options:{onlyOne:1,ajax:{mode:'turystyka_wycieczki',instance:1,priority:1,state:'zapytanie'},onPrepareFormStart:$empty,onPrepareFormEnd:$empty,onFormSubmit:$empty},initialize:function(els,options){this.setOptions(options);els.each(function(el){el.addEvent('click',function(e){e.stop();if(this.options.onlyOne){if(this.locked){return;}
this.locked=1;}
this.fireEvent('prepareFormStart',el);this.send({termin:this.getDataFromId(el)},function(res){this.prepareForm(res.result,el);this.fireEvent('prepareFormEnd',el);})}.bind(this));},this);},send:function(data,callback){var ao=this.options.ajax,dataObj=$merge({state:ao.state},data||{});Ajax.add({mode:ao.mode,instance:ao.instance,priority:ao.priority,data:dataObj,onSuccess:function(res,msg){if(!res){console.error('Zapytanie.sendForm - %s',msg);return;}
callback.call(this,res);}.bind(this)});},prepareForm:function(html,el){},getDataFromId:function(el){return el.id.replace('termin_','');}});Zapytanie.thomas=new Class({Extends:Zapytanie,close:function(){this.container.destroy();if(Browser.Engine.trident4){this.iframe.destroy();}
if(this.options.onlyOne){this.locked=0;}
document.removeEvent('mousedown',this.mousedownFn);document.removeEvent('keypress',this.keypressFn);},prepareForm:function(html,el){var pos=el.getPosition();this.container=new Element('div',{'class':'zapytanie-container','styles':{'position':'absolute','left':pos.x-215-30,'top':pos.y-120,'width':215,'z-index':100}}).inject(document.body).store('el',el);this.insertContent(html);this.mousedownFn=function(e){var tg=$(e.target);if(tg!=this.container&&!this.container.hasChild(tg))this.close();}.create({'bind':this,'event':true});this.keypressFn=function(e){if(e.key=='esc')this.close();}.create({'bind':this,'event':true});document.addEvent('mousedown',this.mousedownFn);document.addEvent('keypress',this.keypressFn);},insertContent:function(html){this.container.set('html',html);if(Browser.Engine.trident4){var cords=this.container.getCoordinates();this.iframe=new Element('iframe',{'styles':{'display':'block','position':'absolute','z-index':99,'left':cords.left,'top':cords.top,'width':cords.width,'height':cords.height,'filter':'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)'}}).inject(document.body);}
var submit=this.container.getElement('input[name="submit"]');if(submit){submit.addEvent('click',function(e){e.stop();submit.disabled=true;var formObj=this.container.getElement('form'),form=new Form(formObj);form.getAllElements();this.fireEvent('formSubmit',formObj);this.send({form:form.aElements},function(res){this.insertContent(res.result);});}.bind(this));}else{this.fireEvent('submitEnd',this.container.retrieve('el'));this.close.delay(2000,this);}}});Validation.thomas=new Class({Extends:Validation,init:function(){this._getItems();this._addEvents();this._createBranchContainer();},checkAll:function(e){this.aErrors=[];for(var i=0;i<this.aItems.length;i++){this._checkItem(e,this.aItems[i]);}
if(this.aErrors.length!=0){e.preventDefault();this.fireEvent('onBranchErrors',[this.aErrors,this.aItems]);this.showInfo();return;}
this.branchContainer.empty();this.fireEvent('onNoerrors');},_getItems:function(){var o;for(var i=0;i<this.conf.stale.length;i++){o=this.oForm.getElement('[name="'+this.conf.stale[i].name+'"]');if(!o)continue;o.store('rules',this.conf.stale[i].rules);o.store('clientName',this.conf.stale[i].clientName);o.store('fn',this.conf.stale[i].fn);this.aItems.push(o);}},_handleError:function(item){if(item.retrieve('errorMsg')!=0){this._handleClassName(item,'add');this._handleErrorMsg(item,'add');}else{this._handleClassName(item,'remove');this._handleErrorMsg(item,'remove');}},_handleErrorMsg:function(item,action){var fn=item.retrieve('fn');if(!fn){return;}
var placeObj=fn.call(this,item),span=$('validation-error-'+item.name)||new Element('span',{'id':'validation-error-'+item.name}),container=placeObj.el.getElement('.validation-msg-container');if(action=='add'){if(!container){container=new Element('span',{'class':'validation-msg-container'}).inject(placeObj.el,placeObj.where);}
span.set('text',item.retrieve('errorMsg')).inject(container);}else if(action=='remove'){if(span){span.destroy();}
if(container&&container.getChildren().length==0){container.destroy();}}},showInfo:function(){this.branchContainer.empty().grab(new Element('h2',{'class':'error','text':'Wystąpiły błędy w formularzu. Proszę sprawdzić czy wszystkie wymagane pola zostały poprawnie wypełnione.'}));}});Validation.thomas.step5=new Class({Extends:Validation.thomas,init:function(){this._getItems();this._getZmienne();this._addEvents();this._createBranchContainer();},_getZmienne:function(){if(!this.conf.zmienne)return;var p=this.conf.zmienne.persons,o,s;var rooms=this._getRooms();for(var i=0;i<rooms.length;i++){for(var j=0;j<rooms[i];j++){for(var k=0;k<p.length;k++){s='room['+i+'][person]['+j+']['+p[k].name+']';o=this.oForm.getElement('[name="'+s+'"]');o.store('rules',p[k].rules);o.store('fn',p[k].fn);o.store('clientName',p[k].clientName);this.aItems.push(o);}}}},_getRooms:function(){var i=0,rooms=[];while(this.oForm['room['+i+'][person][0][sex]']!=null){rooms[i]=this._countPersons(i);i++;}
return rooms;},_countPersons:function(iRoomIndex){var i=0;while(this.oForm['room['+iRoomIndex+'][person]['+i+'][type]']!=null){i++;}
return i;}});

window.addEvent('domready',function(){weatherCacheAjax();tabsStep4Thomas();initPoradnikNawigation();activateDetailView2();initNewsletter2();initBasket();initGalleryNav();polecZnajomemu();initOfferCheckStep4();initRezerwacja();reservPlatosci();opiniePokazUkryjSzczegoly();opiniePrzelaczWidokFormularzLista();opinieDodajOpinie();opinieKolorujLabel();opinieValidacja();});window.addEvent('domready',function(){var przeloty_form=$('przeloty-form');if(przeloty_form){var przeloty=new Przeloty(przeloty_form,{fieldsToSet:['tripFrom','tripStartflight','tripDays','tripCountryName','tripAdults','dziecko1','dziecko2','tripTrip_range']});przeloty.init();var ct=new CountTrips({oForm:przeloty_form,oContainer:$('tripsCount-container'),aFields:[{name:'tripCountryName',conf:{event:'change'}},{name:'cityid',conf:{event:'change'}},{name:'tripFrom',conf:{event:'change'}},{name:'tripStartflight',conf:{event:'',specialEvent:'blur',iLitera:3,time:1000}},{name:'tripTrip_range',conf:{event:'change'}},{name:'tripDays',conf:{event:'change'}},{name:'tripAdults',conf:{event:'change'}},{name:'dziecko1',conf:{event:'change'}},{name:'dziecko2',conf:{event:'change'}}]},{iGlobalTimeOut:2000,loader:'<img src="'+window.location.protocol+'//'+window.location.host+'/templates/default/images/ajax-loader-purple.gif" />',state:'countTripsFlights'});ct.init();przeloty.addEvent('updateEnd',function(i){if(i==0){ct.prepareDataAndSend();}});}});window.addEvent('domready',function(){var zap_triggers=$$('.zapytanie');if(zap_triggers.length==0)return;var loader=new Element('img',{'src':SiteConfig.urlSite+'templates/default/images/ajax-loader-purple.gif'});new Zapytanie.thomas(zap_triggers,{onlyOne:1,ajax:{mode:'turystyka_wycieczki',instance:1,priority:2,state:'zapytanie'},onPrepareFormStart:function(trigger){trigger.set('text','Ładuję ...');},onPrepareFormEnd:function(trigger){trigger.set('text','Szybki kontakt');},onFormSubmit:function(form){loader.inject(form.getElement('input[name="submit"]'),'before');},onSubmitEnd:function(trigger){trigger.set('text','wysłano');}});});function weatherCacheAjax(){if($('tbl-destination')){var a=new WeatherCacheAjax('forWeather');a.init();}}
function polecZnajomemu(){var terminy=document.getElementById('table-terminy');if(terminy){var p=new PolecZnajomemu({oObszar:terminy,sLinkCN:'polec-znajomemu'});p.init();}}
function opinieValidacja(){var form=$('form');if(!form){return;}
var validacja=new Validation(form,{stale:[{name:'field_15',clientName:'dodaj opinię jako',rules:{chosen:1}},{name:'field_25',clientName:'w jednym zdaniu',rules:{notNull:1}},{name:'field_26',clientName:'tresc',rules:{notNull:1}},{name:'field_27',clientName:'czy polecasz ten hotel',rules:{chosen:1}},{name:'field_28',clientName:'termin wyjazdu',rules:{notNull:1,custom:{re:/^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/,msg:'Termin wyjazdu powinien mieć format dd.mm.rrrr'}}},{name:'field_29',clientName:'wiek',rules:{selected:1}},{name:'field_30',clientName:'autor opinii',rules:{notNull:1}},{name:'field_31',clientName:'email',rules:{notNull:1,email:1}},{name:'field_33',clientName:'przetwarzanie danych',rules:{checked:1}}]},{errorClass:'reservation-error',errorContainerClass:'reservation-branch-error',submitButtonName:'btnSubmit'});validacja.init();}
function activateDetailView2(){var step4=document.getElementById('terminy');if(step4){var dv=new DetailView({obszarRoboczy:step4,linkClassName:'detail',trId:'detail_',trHideClassName:'hide'});dv.init();}}
function initRezerwacja(){var id='frm-booking';var form=$(id);if(!form){return;}
new ReservActualisation(form,{stale:['trip[room_num]','trip[start_from_id]'],zmienne:{room:['id','board_id','adult_child','infant','adult','child']}}).init();var fn_daneOsobowe=function(el){return{el:el.getParent('div'),where:'bottom'}};var fn_oswiadczenia=function(el){return{el:el.getParent('div'),where:'bottom'}};var fn_osoby=function(el){return{el:el.getParent('div.person'),where:'bottom'}};var stale=[{name:'client[name]',clientName:'imię',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]+$/i,msg:'Proszę wpisać imię.'}},fn:fn_daneOsobowe},{name:'client[surname]',clientName:'nazwisko',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]+$/i,msg:'Proszę wpisać nazwisko.'}},fn:fn_daneOsobowe},{name:'client[street]',clientName:'ulica',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>{}]+$/i,msg:'Proszę wpisać nazwę ulicy.'}},fn:fn_daneOsobowe},{name:'client[street_nr0]',clientName:'nr doumu',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>{}&']+$/i,msg:'Proszę wpisać nr domu.'}},fn:fn_daneOsobowe},{name:'client[street_nr1]',clientName:'nr mieszkania',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>{}&']*$/i,msg:'Proszę wpisać nr mieszkania.'}},fn:fn_daneOsobowe},{name:'client[post_code]',clientName:'kod pocztowy',rules:{custom:{re:/^[0-9a-z\-# ]{3,10}$/i,msg:'Proszę wpisać kod pocztowy w formacie XX-XXX.'}},fn:fn_daneOsobowe},{name:'client[city]',clientName:'miasto',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>]+$/i,msg:'Proszę wpisać nazwę miejscowości.'}},fn:fn_daneOsobowe},{name:'client[phone]',clientName:'telefon kontaktowy',rules:{custom:{re:/^[\[\]0-9\-+()# ]{7,32}$/i,msg:'Proszę wpisać nr telefonu.'}},fn:fn_daneOsobowe},{name:'client[email]',clientName:'email',rules:{email:'Proszę wpisać adres e-mail np: jan@adres.pl'},fn:fn_daneOsobowe},{name:'pesel',clientName:'pesel',rules:{custom:{re:/^[0-9]{11}$/,msg:'Proszę wpisać nr pesel w formacie 12345678912'}},fn:fn_daneOsobowe},{name:'regulamin',clientName:'regulamin',rules:{checked:'Prosimy o akceptację regulaminu portalu.'},fn:fn_oswiadczenia},{name:'ochronadanych',clientName:'ochrona danych',rules:{checked:'Prosimy o wyrażenie zgody na umieszczenie danych osobowych w bazie danych.'},fn:fn_oswiadczenia}];var zmienne={persons:[{name:'name',clientName:'imię uczestnika',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]+$/i,msg:'Proszę wpisać imię.'}},fn:fn_osoby},{name:'surname',clientName:'nazwisko uczestnika',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]+$/i,msg:'Proszę wpisać nazwisko.'}},fn:fn_osoby},{name:'day',clientName:'dzień urodzenia uczestnika',rules:{notNull:'Pole dzień urodzenia uczestnika nie może być puste.',number:'Pole dzień urodzenia uczestnika nie może być puste.'},fn:fn_osoby},{name:'month',clientName:'miesiąc urodzenia uczestnika',rules:{notNull:'Pole miesiąc urodzenia uczestnika nie może być puste.',number:'Pole miesiąc urodzenia uczestnika nie może być puste.'},fn:fn_osoby},{name:'year',clientName:'rok urodzenia uczestnika',rules:{notNull:'Pole rok urodzenia uczestnika nie może być puste.',number:'Pole rok urodzenia uczestnika nie może być puste.'},fn:fn_osoby}]};var request_only=form.getElement('input[name="trip[only_request]"]').value=='1';if(request_only){stale=[{name:'client[name]',clientName:'imię',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]+$/i,msg:'Proszę wpisać imię.'}},fn:fn_daneOsobowe},{name:'client[surname]',clientName:'nazwisko',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]+$/i,msg:'Proszę wpisać nazwisko.'}},fn:fn_daneOsobowe},{name:'client[street]',clientName:'ulica',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>{}]*$/i,msg:'Proszę wpisać nazwę ulicy.'}},fn:fn_daneOsobowe},{name:'client[street_nr0]',clientName:'nr doumu',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>{}&']*$/i,msg:'Proszę wpisać nr domu.'}},fn:fn_daneOsobowe},{name:'client[street_nr1]',clientName:'nr mieszkania',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>{}&']*$/i,msg:'Proszę wpisać nr mieszkania.'}},fn:fn_daneOsobowe},{name:'client[post_code]',clientName:'kod pocztowy',rules:{custom:{re:/(^[0-9a-z\-# ]{3,10}$)|(^\s*$)/i,msg:'Proszę wpisać kod pocztowy w formacie XX-XXX.'}},fn:fn_daneOsobowe},{name:'client[city]',clientName:'miasto',rules:{custom:{re:/^[^`~!@#$%|?*=_+:";<>]*$/i,msg:'Proszę wpisać nazwę miejscowości.'}},fn:fn_daneOsobowe},{name:'client[phone]',clientName:'telefon kontaktowy',rules:{custom:{re:/(^[\[\]0-9\-+()# ]{7,32}$)|(^\s*$)/i,msg:'Proszę wpisać nr telefonu.'}},fn:fn_daneOsobowe},{name:'client[email]',clientName:'email',rules:{email:'Proszę wpisać adres e-mail np: jan@adres.pl'},fn:fn_daneOsobowe},{name:'regulamin',clientName:'regulamin',rules:{checked:'Prosimy o akceptację regulaminu portalu.'},fn:fn_daneOsobowe},{name:'ochronadanych',clientName:'ochrona danych',rules:{checked:'Prosimy o wyrażenie zgody na umieszczenie danych osobowych w bazie danych.'},fn:fn_daneOsobowe}];zmienne={persons:[{name:'name',clientName:'imię uczestnika',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]*$/i,msg:'Proszę wpisać imię.'}},fn:fn_osoby},{name:'surname',clientName:'nazwisko uczestnika',rules:{custom:{re:/^[^`~!@#$%|?&*()=_+{}:";,<>0-9]*$/i,msg:'Proszę wpisać nazwisko.'}},fn:fn_osoby},{name:'day',clientName:'dzień urodzenia uczestnika',rules:{number:'Pole dzień urodzenia uczestnika nie może być puste.'},fn:fn_osoby},{name:'month',clientName:'miesiąc urodzenia uczestnika',rules:{number:'Pole dzień urodzenia uczestnika nie może być puste.'},fn:fn_osoby},{name:'year',clientName:'rok urodzenia uczestnika',rules:{number:'Pole dzień urodzenia uczestnika nie może być puste.'},fn:fn_osoby}]};}
var validThomas=new Validation.thomas.step5(form,{stale:stale,zmienne:zmienne},{submitButtonName:'booking',errorClass:'reservation-error',errorContainerClass:'reservation-branch-error'});validThomas.init();}
function reservPlatosci(){if($('panel-1'))
var rp=(new ReservPlatosci()).init();}
function initBasket(){var id='terminy',id2='wyniki';if(document.getElementById(id)||document.getElementById(id2)){(new ThomasBasket()).init();}}
function initGalleryNav(){var id='gallery';if(document.getElementById(id)){var gn=new GalleryNav();gn.init();}}
function initNewTabSheet(){var tabs='tabs';if(document.getElementById(tabs)){var el1=$('opinion-show-tab');var tg1=$(el1.hash.substring(1));var tabSheet=new TabNavigation2({sNavId:'tabs',sActiveClassName:'front',sDisplayNoneClassName:'back',bAddClassToParentElement:1,prefix:'tab_',aCustomElements:[{el:el1,target:tg1,prefix:''}]});tabSheet.init();if($('shortLink')){$('shortLink').addEvent('click',function(e){var hash=this.hash;$('tabs').getElements('a').each(function(a){if(a.hash==hash){a.fireEvent('click');}});});}}}
function tabsStep4Thomas(){var nav=$('tabs');if(!nav)return;var els=nav.getElements('a');var op=$('opinion-show-tab');op.store('scroll',nav.getPosition().y-10).store('classElement',op);els.push(op);var links=[];var link=$('shortLink');if(link){link.store('target','opis').store('scroll',nav.getPosition().y-10)
links.push(link);}
new TabsThomas(els,links,{activeClass:'front'});}
function initPoradnikNawigation(){var linki='poradnik';if(document.getElementById(linki)){var i=0,id='por-menu_';while($(id+i)){var menu=new TabNavigation2({sNavId:'por-menu_'+i,sActiveClassName:'front',bAddClassToParentElement:1});menu.init();i++;}}
if(document.getElementById('por-menu')){var menu=new TabNavigation2({sNavId:'por-menu',sActiveClassName:'front',bAddClassToParentElement:1});menu.init();}}
function initNewsletter2(){var n=new Newsletter();n.init();}
function opinieKolorujLabel(){var l=document.getElementById('op_add_1');if(l){var o=new OpinieKolorujLabel('op_add_',4);o.init();}}
function opinieDodajOpinie(){var l=document.getElementById('opinion-add-button');if(l){var o=new OpinieDodajOpinie({link:l});o.init();}}
function opiniePokazUkryjSzczegoly(){var id='opinion-list',obszar;if(obszar=document.getElementById(id)){var showHide=['opinion-long_','opinion-long-show_','opinion-long-close_','opinion-short-text_','opinion-long-text_'];var o=new OpiniePokazUkryjSzczegoly(obszar,showHide);o.init();}}
function opiniePrzelaczWidokFormularzLista(){var id='opinion-list';if(document.getElementById(id)){var o=new OpiniePrzelaczWidokFormularzLista();o.init();}}
function initOfferCheckStep4(){var oTable,oCheck;if((oTable=$('table-terminy'))&&(oSpan=oTable.getElements('span.offer-check'))){var oOfferCheckStep4=new OfferCheckStep4(oSpan);}}
window.addEvent('domready',function(){step4Filters.init();});var step4Filters={add:function(el){Cookie.write('step4Filters',el.name+'__'+el.selectedIndex);},init:function(){var coo=Cookie.read('step4Filters');if(coo){var res=coo.split('__');document.forms['tab-search'][res[0]].selectedIndex=res[1];Cookie.dispose('step4Filters');}}}
function showPrzeladowanie(){var content=$('toplayer-rezerwacja');if(!content){return false;}
var newcontent=new Element('div'),nodes=content.clone().getChildren(),len=nodes.length,i=0;while(i<len){newcontent.grab(nodes[i]);i=(i+1);}
var m=new ModalWindow({oContent:newcontent,sWindowClassName:'toplayer-rezerwacja',sHiddenClassNameForSelects:'hide',bBackground:1});m.init();}
window.addEvent('domready',function(){if($('table-terminy')){$('table-terminy').addEvent('click',function(e){var tg=$(e.target);if(tg.hasClass('offer-check-yes'))showPrzeladowanie();});}});
