dojo.provide("dmc_Model_TravelRegion");dojo.require("dojo.rpc.JsonService");dojo.require("dojo.date");var b_dateChanged=false;function resetChanged(){b_dateChanged=false}var a_toolTips=new Array();function expediaHotel(a){dojo.query("#module-quicksearch-hotelname").style("display","block");dojo.query("#module-quicksearch-label-children-container").style("visibility","hidden");dojo.query("#module-quicksearch-duration").style("display","none");dojo.query("#module-quicksearch-options-show").style("visibility","hidden");onClick_hideSearchOptionsNew();dojo.disconnect(o_submitConnection);o_submitConnection=null;o_submitConnection=dojo.connect(dijit.byId("quickSearchForm"),"onSubmit","submitQuicksearchToExpediaHotelUrlaubsweltNoPackage");dijit.byId("quickSearchForm").preventSubmit=true;if(!b_dateChanged){dijit.byId("bis").attr("value",dojo.date.add(dijit.byId("von").attr("value"),"day",4));window.setTimeout("resetChanged()",500)}dojo.query("#quicksearch #quicksearchColumn01 div.dijitCheckBox input").forEach(function(b){dijit.byId(b.id).attr("checked",false);dijit.byId(b.id).attr("disabled",true);a_toolTips.push(new dijit.Tooltip({connectId:b.parentNode.parentNode,label:"Leider können Sie diese Auswahl zusammen mit Ihrem aktuellen Reiseziel nicht treffen..",position:"before",showDelay:"200"}))})}function resetExpediaHotel(){dojo.query("#module-quicksearch-hotelname").style("display","none");dojo.query("#module-quicksearch-label-children-container").style("visibility","visible");dojo.query("#module-quicksearch-duration").style("display","block");dojo.query("#module-quicksearch-options-show").style("visibility","visible");dojo.disconnect(o_submitConnection);o_submitConnection=null;dijit.byId("quickSearchForm").preventSubmit=false;dojo.query("#quicksearch #quicksearchColumn01 div.dijitCheckBox input").forEach(function(b){dijit.byId(b.id).attr("disabled",false)});for(var a=0;a<a_toolTips.length;a++){a_toolTips[a].destroy()}}function onChange_region(){dojo.forEach(dojo.byId("quickSearchForm").elements,(function(a){switch(a.name){case"positionangebote":case"pageangebote":case"hotelid":case"zielid":a.value=0;break;case"hotel":a.value="";break;default:}}));if(detectTravelType()!="Hotels"){return}if(dojo.byId("module-quicksearch-hotelname")&&dojo.byId("regionid").options[dojo.byId("regionid").options.selectedIndex].value.search(/^expedia_/)!=-1){expediaHotel(dojo.byId("regionid").options[dojo.byId("regionid").options.selectedIndex].value)}else{resetExpediaHotel()}}function onChange_ziel(){dojo.forEach(dojo.byId("quickSearchForm").elements,(function(a){switch(a.name){case"positionangebote":case"pageangebote":case"hotelid":a.value=0;break;case"hotel":a.value="";break;default:}}));if(detectTravelType()!="Hotels"){return}if(dojo.byId("module-quicksearch-hotelname")&&dijit.byId("zielid").value.search(/^expedia_/)!=-1){expediaHotel(dijit.byId("zielid").value)}else{resetExpediaHotel()}}function onFocus_ziel(){}function onChange_von(){var b=dijit.byId("von").attr("value");var a=dojo.date.add(b,"day",21);dijit.byId("bis").constraints.min=b;dijit.byId("bis").attr("value",a)}var s_filterCurrent="Pauschalreise";var a_filterBackup=new Object();var a_filterContent=new Object();var o_submitConnection=null;function detectTravelType(){if(isHorizontalQuicksearch()){var a=document.getElementsByName("reiseart");var d=0;var b=false;while(d<a.length&&!b){if(a[d].checked){var c=a[d].value;b=true}d++}}else{var e=dojo.byId("reiseart");var c=e.value}return c}function isHorizontalQuicksearch(){return(dojo.byId("reiseart")==null)}function onChange_reiseartQuickSearch(j){var j=j||"module-quicksearch-options";var c=isHorizontalQuicksearch();var a=detectTravelType();if(-1!=a.search(/http(?:s?)(?:\:\/\/)/)||(a=="Stadt")||(a=="Flug")||(a=="Lastminute")){window.location.href=a;return}var d=dojo.byId("thema");var b=d.value;var h=dojo.byId("regionid");dojo.byId("module-quicksearch-duration").style.display="block";if(c&&(a=="Pauschalreise"||a=="Lastminute")){dojo.byId("module-quicksearch-departureairport").style.display="block"}else{dojo.byId("module-quicksearch-departureairport").style.display="none"}dojo.query("#module-quicksearch-hotelname").style("display","none");if(null!=o_submitConnection){dojo.disconnect(o_submitConnection);o_submitConnection=null}dijit.byId("quickSearchForm").preventSubmit=false;if(a=="Flug"||a=="Stadt"){dojo.byId("module-quicksearch-duration").style.display="none";hideSearchOptions();hideSearchOptionButtons();dojo.byId("module-quicksearch-content").style.width="200px";dojo.byId("module-quicksearch-options-show").style.visibility="hidden";if(a=="Flug"){o_submitConnection=dojo.connect(dijit.byId("quickSearchForm"),"onSubmit","submitQuicksearchToExpediaFlightUrlaubswelt");dijit.byId("quickSearchForm").preventSubmit=true;dojo.byId("module-quicksearch-departureairport").style.display="block"}else{if(a=="Stadt"){o_submitConnection=dojo.connect(dijit.byId("quickSearchForm"),"onSubmit","submitQuicksearchToExpediaHotelUrlaubswelt");dijit.byId("quickSearchForm").preventSubmit=true;dojo.byId("module-quicksearch-hotelname").style.display="block"}}}else{dojo.byId("module-quicksearch-options-show").style.visibility="visible"}dojo.xhrGet({url:"/quicksearch/index/regionen/reiseart/"+a+"/thema/"+b,preventCache:false,handleAs:"json",load:function(l){var m=false;var e=h.value;h.value=0;if(h.options.length){for(var k=(h.options.length-1);k>=0;k--){h.options[k]=null}}dojo.query("option, optgroup",h).forEach(function(n){dojo.destroy(n)});dojo.forEach(l.items,function(o){if(dojo.isObject(o.region)){var q=dojo.create("optgroup",{label:o.regionid});for(var p in o.region){var n=o.region[p];dojo.create("option",{label:n,innerHTML:n,value:p},q);if(e==p){m=true}}dojo.place(q,h)}else{dojo.create("option",{label:o.region,innerHTML:o.region,value:o.regionid},h)}if(e==o.regionid){m=true}});if(m){h.value=e}else{dojo.byId("regionidtemp").value=""}},error:function(e){}});try{closeFormLayerElement()}catch(g){}var i=dijit.byId(j);dojo.query("input, select",j).forEach(function(e){if(e.name){a_filterBackup[e.id]=e.value}});dojo.forEach(i.getChildren(),function(e){a_filterBackup[e.attr("id")]=e.attr("value")});s_filterCurrent=a;i.destroyDescendants();var f=c?"horizontal":"vertical";if(!a_filterContent[s_filterCurrent]){dojo.addClass(dojo.byId(j),"element-spinner");dojo.xhrGet({url:"/quicksearch/index/filter/reiseart/"+a+"/thema/"+b+"/version/"+f,preventCache:false,handleAs:"text",load:function(k){a_filterContent[s_filterCurrent]=k;dojo.removeClass(dojo.byId(j),"element-spinner");i.attr("content",a_filterContent[s_filterCurrent]);if(a_filterBackup){dojo.query("input, select",j).forEach(function(e){if(e.id&&a_filterBackup[e.id]){e.value=a_filterBackup[e.id]}});dojo.forEach(i.getChildren(),function(e){if(a_filterBackup[e.attr("id")]){e.attr("value",a_filterBackup[e.attr("id")])}})}try{prepareFormLayerSelect();updateFormLayerDisplay()}catch(l){}},error:function(e){}})}else{i.attr("content",a_filterContent[s_filterCurrent]);if(a_filterBackup){dojo.query("input, select",j).forEach(function(e){if(e.name&&a_filterBackup[e.name]){e.value=a_filterBackup[e.name]}});dojo.forEach(i.getChildren(),function(e){if(a_filterBackup[e.attr("id")]){e.attr("value",a_filterBackup[e.attr("id")])}});try{prepareFormLayerSelect();updateFormLayerDisplay()}catch(g){}}}updateZielStore(a);resetExpediaHotel()}function updateZielStore(b){var a=dijit.byId("zielid");if(!a){return}a.store.close();a.store._loadFinished=false;a.store.url="/quicksearch/index/ziele/reiseart/"+b+"/thema/";a.store.fetch();a.attr("value","")}function onChange_flighttypeQuickSearch(){var b=dojo.query("#flighttype-element input:checked");var a=b.at(0).attr("value");if(null!=o_submitConnection){dojo.disconnect(o_submitConnection);o_submitConnection=null}if(a=="line"){o_submitConnection=dojo.connect(dijit.byId("quickSearchForm"),"onSubmit","submitQuicksearchToExpediaFlightUrlaubswelt");dijit.byId("quickSearchForm").preventSubmit=true;dojo.byId("module-quicksearch-zielid").style.display="none";dojo.byId("module-quicksearch-destinationtext").style.display="block"}else{dijit.byId("quickSearchForm").preventSubmit=false;dojo.byId("module-quicksearch-zielid").style.display="block";dojo.byId("module-quicksearch-destinationtext").style.display="none"}}function onChange_flighttypeselectQuickSearch(){var a=dojo.query("#flighttypeselect")[0];var c=a[a.selectedIndex];var b=c.value;if(null!=o_submitConnection){dojo.disconnect(o_submitConnection);o_submitConnection=null}if(b=="line"){o_submitConnection=dojo.connect(dijit.byId("quickSearchForm"),"onSubmit","submitQuicksearchToExpediaFlightUrlaubswelt");dijit.byId("quickSearchForm").preventSubmit=true;dojo.byId("module-quicksearch-zielid").style.display="none";dojo.byId("module-quicksearch-destinationtext").style.display="block"}else{dijit.byId("quickSearchForm").preventSubmit=false;dojo.byId("module-quicksearch-zielid").style.display="block";dojo.byId("module-quicksearch-destinationtext").style.display="none"}}function onChange_CharterOneway(){var a=dojo.query("#module-quicksearch-packetmask input:checked");var b=a.at(0).attr("value");if(b=="4"){dojo.byId("module-quicksearch-duration").style.display="none"}else{dojo.byId("module-quicksearch-duration").style.display="block"}}function onChange_packageQuickSearch(){var c=dojo.byId("module-quicksearch-departureairport");var b=dojo.byId("module-quicksearch-hotelname");if(c&&b){if(dojo.byId("packagetype")){var d=dojo.attr(dojo.byId("packagetype"),"value")}else{for(var a=0;a<dojo.byId("quickSearchForm").elements.packagetype.length;a++){if(dojo.byId("quickSearchForm").elements.packagetype[a].checked){var d=dojo.byId("quickSearchForm").elements.packagetype[a].value;break}}}switch(d){case"1":dojo.style(c,"display","");dojo.style(b,"display","none");break;case"2":dojo.style(c,"display","");dojo.style(b,"display","none");break;default:dojo.style(c,"display","none");dojo.style(b,"display","")}}}function showSearch(){var b=dojo.byId("module-quicksearch-minimized");var c=dojo.byId("module-quicksearch");var a=dojo.byId("module-filter");if(dojo.isIE>0&&dojo.isIE<7){b.style.display="none";c.style.visibility="hidden";c.style.display="block";c.style.height=c.scrollHeight+"px";c.style.zoom="1";c.style.width="100%";c.style.visibility="visible";c.style.position="static";a.style.position="relative"}else{c.style.display="block";c.style.position="relative";dojo.fx.wipeOut({node:c,duration:1,onEnd:function(){c.style.display="block";var e=dojo.fx.wipeOut({node:b,duration:500,onEnd:function(){c.style.display="block";c.style.height="0px";c.style.position="relative";c.style.top="0px";c.style.left="0px"}});var d=dojo.fx.wipeIn({node:c,duration:1000,onEnd:function(){c.style.display="block"}});dojo.fx.chain([e,d]).play()}}).play()}}function onClick_submit(){dijit.byId("quickSearchForm").submit()}function onClick_showSearchOptions(){dojo.byId("module-quicksearch-options-show").style.visibility="hidden";dojo.byId("module-quicksearch-submit").style.visibility="hidden";dojo.byId("module-quicksearch-options").style.display="";dojo.addClass(dojo.byId("module-quicksearch-content"),"module-quicksearch-content-opened");dojo.style(dojo.byId("module-quicksearch-content"),"width","787px");dojo.style(dojo.byId("module-quicksearch-options-reset"),"display","");dojo.style(dojo.byId("module-quicksearch-options-hide"),"display","");dojo.style(dojo.byId("module-quicksearch-options-submit"),"display","");if(dojo.isIE>0&&dojo.isIE<8){dojo.style(dojo.byId("module-quicksearch-content"),"position","relative");dojo.style(dojo.byId("module-quicksearch-content"),"right","587px")}}function onClick_hideSearchOptions(){hideSearchOptionButtons();if(dojo.isIE>0&&dojo.isIE<8){dojo.style(dojo.byId("module-quicksearch-content"),"position","");dojo.style(dojo.byId("module-quicksearch-content"),"right","auto")}dojo.style(dojo.byId("module-quicksearch-content"),"width","200px");hideSearchOptions()}function hideSearchOptionButtons(){dojo.style(dojo.byId("module-quicksearch-options-reset"),"display","none");dojo.style(dojo.byId("module-quicksearch-options-hide"),"display","none");dojo.style(dojo.byId("module-quicksearch-options-submit"),"display","none")}function hideSearchOptions(){dojo.removeClass(dojo.byId("module-quicksearch-content"),"module-quicksearch-content-opened");dojo.style(dojo.byId("module-quicksearch-options-show"),"visibility","visible");dojo.style(dojo.byId("module-quicksearch-submit"),"visibility","visible");dojo.style(dojo.byId("module-quicksearch-options"),"display","none")}function onClick_resetSearchOptions(a){var a=a||"module-quicksearch-options";dojo.query("select",dojo.byId(a)).forEach(function(c){c.selectedIndex=0});dojo.query("input[type=text]",dojo.byId(a)).forEach(function(c){c.value=""});dojo.query("input[type=checkbox]",dojo.byId(a)).forEach(function(c){var d=((c.value=="-1"||c.value=="reset")?true:false);try{dijit.byId(c.id).attr("checked",d)}catch(f){c.checked=d}});dojo.query("input[type=radio]",dojo.byId(a)).forEach(function(d){var c=((d.value=="-1"||d.value=="reset")?true:false);try{dijit.byId(d.id).attr("checked",c)}catch(f){d.checked=c}});try{updateFormLayerDisplay()}catch(b){}}function onClick_resetFilterOptions(){dojo.query("form","module-filter").forEach(function(b){dojo.forEach(a_connections[b.id],dojo.disconnect);dojo.query("select",b.id).forEach(function(d){d.selectedIndex=0});dojo.query("input[type=text]",b.id).forEach(function(d){d.value=""});dojo.query("input[type=checkbox]",b.id).forEach(function(d){var f=((d.value=="-1"||d.value=="reset")?true:false);try{dijit.byId(d.id).attr("checked",f)}catch(g){d.checked=f}});dojo.query("input[type=radio]",b.id).forEach(function(f){var d=((f.value=="-1"||f.value=="reset")?true:false);try{dijit.byId(f.id).attr("checked",d)}catch(g){f.checked=d}});try{updateFormLayerDisplay()}catch(c){}dojo.query(".dojoxMultiSelectSelect",b.id).forEach(function(d){b.elements[d.id].name=d.id+"[]"});if(dojo.byId("terminliste")){s_block="terminliste"}else{if(dojo.byId("maincontentWrap")){s_block="maincontentWrap"}else{s_block="maincontent"}}var a=dijit.byId(b.id).getValues();a[this.name]=this.value;dojo.query(".dojoxMultiSelectSelect",b.id).forEach(function(d){a[d.id+"[]"]=""});dojo.xhrPost({url:dojo.attr(b,"action"),handleAs:"text",preventCache:true,form:b,content:a,load:function(e,d){processLoadedContent(s_block,e);return e}});fadeOutResultSet(s_block)})}function onClick_showSearchOptionsNew(){dojo.query("#module-quicksearch-options-show").style("display","none");dojo.query("#module-quicksearch-submit").style("display","none");dojo.query("#module-quicksearch-options-hide").style("display","block");dojo.query("#module-quicksearch-options-submit").style("display","block");dojo.query("#module-quicksearch-options-new").style("display","block")}function onClick_hideSearchOptionsNew(){dojo.query("#module-quicksearch-options-show").style("display","block");dojo.query("#module-quicksearch-submit").style("display","block");dojo.query("#module-quicksearch-options-hide").style("display","none");dojo.query("#module-quicksearch-options-submit").style("display","none");dojo.query("#module-quicksearch-options-new").style("display","none")}var s_lastActive="";function quicksearchPreselect(c,b){var a=c.checked;deactivatePreselects();c.attr("checked",a);if(s_lastActive!=""){quicksearchPreselectAction(s_lastActive,false)}quicksearchPreselectAction(b,a);s_lastActive=b}function deactivatePreselects(){dojo.query("#quicksearch #quicksearchColumn01 div.dijitCheckBox input").forEach(function(a){dijit.byId(a.id).attr("checked",false)})}var actionBindingMap={leisure01:["boarding.AI"],lastminute01:["boarding.AI"],leisure02:["earlyBird"],leisure03:["family"],lastminute05:["family","price300"],hotel05:["family"],leisure04:["toprated"],lastminute02:["toprated"],hotel02:["toprated"],hotel03:["wellness"],hotel01:["luxury"],hotel04:["beach"],hotel06:["themepark"],leisure05:["price500"],lastminute03:["price300"],lastminute04:["club"],leisure06:["club"],typFewo01:["fewo.type1"],typFewo03:["fewo.type3"]};var actionSettingMap={"boarding.AI":{type:"input",element:"verpflegung",inactive:0,active:5},earlyBird:{type:"checkbox",element:"besonderheiten_multi-zfilter33554432"},family:{type:"checkbox",element:"besonderheiten_multi-familiekinder0100"},toprated:{type:"input",element:"hotelbewertung",inactive:0,active:3},price300:{type:"input",element:"preis",inactive:0,active:3},price500:{type:"input",element:"preis",inactive:0,active:5},club:{type:"checkbox",element:"besonderheiten_multi-typ0100"},luxury:{type:"input",element:"sterne",inactive:0,active:4},wellness:{type:"dijitRadio",element:"sportmoeglichkeiten-1",inactive:0,active:"sportmoeglichkeiten-wellness"},beach:{type:"dijitRadio",element:"strand-1",inactive:0,active:"strand-wellness"},themepark:{type:"input",element:"hotelbit",inactive:0,active:5},"fewo.type1":{type:"input",element:"typFewo",inactive:0,active:1},"fewo.type3":{type:"input",element:"typFewo",inactive:0,active:3}};function quicksearchPreselectAction(e,d){if(typeof(actionBindingMap[e])=="undefined"){return}var a="filter-";for(var b=0;b!=actionBindingMap[e].length;b++){actionRef=actionBindingMap[e][b];if(typeof(actionSettingMap[actionRef])=="undefined"){continue}var c=actionSettingMap[actionRef];switch(c.type){case"input":quicksearchPreselectInputSelect(c.element,c.inactive,c.active,d);quicksearchPreselectInputSelect(a+c.element,c.inactive,c.active,d);break;case"checkbox":dijit.byId(c.element).attr("checked",d);dijit.byId(a+c.element).attr("checked",d);break;case"dijitRadio":quicksearchPreselectInputDijitRadio(c.element,c.active,d);quicksearchPreselectInputDijitRadio(a+c.element,a+c.active,d);break}}}function updateActivePreselectItem(){if(s_lastActive==""){return}for(var a=0;a!=actionBindingMap[s_lastActive].length;a++){actionRef=actionBindingMap[s_lastActive][a];if(typeof(actionSettingMap[actionRef])=="undefined"){continue}var c=actionSettingMap[actionRef];var b=false;switch(c.type){case"input":b=(dojo.byId(c.element).selectedIndex!=c.active);break;case"dijitRadio":case"checkbox":b=!(dijit.byId(c.element).attr("checked")==true);break}if(b){deactivatePreselects();break}}}function quicksearchPreselectInputSelect(a,f,b,g){var d=f;if(g){d=b}try{dojo.byId(a).selectedIndex=d}catch(c){}}function quicksearchPreselectInputDijitRadio(a,d,c){try{dijit.byId(a).attr("checked",!c);dijit.byId(d).attr("checked",c)}catch(b){}}function onChange_abflughafenQuicksearchASN(){dojo.query("select","module-filter").forEach(function(a){if(a.id="filter_abflughafen"){a.selectedIndex=0}})};
