var a,K_mapactive=window.GBrowserIsCompatible&&GBrowserIsCompatible();function Trip(){this.tripSteps=[];this.countriesCode=[];this.selectedStepid=this.boundingBox=null}a=Trip.prototype;
a.load=function(b){var c=this;this.tripid=b.tripID;this.tripStartDate=$.KuKuDate.parseDate(b.tripStartDate);this.tripEndDate=$.KuKuDate.parseDate(b.tripEndDate);this.nodate=b.nodate;this.triptitle=b.tripTitle;this.shorturl=b.shorturl;$.each(b.tripDestinations,function(d,e){e.userContent||$.inArray(e.countryCode,c.countriesCode)==-1&&c.countriesCode.push(e.countryCode)});if(b.tripSteps){$.each(b.tripSteps,function(d,e){var f=new Step;f.parentTrip=c;f.stepid=e.stepID;f.tripid=c.tripid;f.stepStartDate=
$.KuKuDate.parseDate(e.stepStartDate);f.stepEndDate=$.KuKuDate.parseDate(e.stepEndDate);f.checkIn=$.KuKuDate.parseDate(e.checkIn);f.checkOut=$.KuKuDate.parseDate(e.checkOut);f.leaving=f.stepEndDate.getTime()==f.checkOut.getTime()?1:0;f.cityid=e.stepCity.id;f.cityName=e.stepCity.name;f.latitude=e.stepCity.coordinates.latitude;f.longitude=e.stepCity.coordinates.longitude;f.countryCode=e.stepCity.countryCode;e.stepFavorites&&$.each(e.stepFavorites,function(g,h){if(typeof h=="object"){g=new Item;g.load(h);
f.items.push(g)}});c.tripSteps.push(f)});this.sortSteps()}};a.save=function(b){var c={};c.format="json";c.trip=$.toJSON(this.toObject());$.ajax({type:"POST",url:getbaseurl()+"/ajax/savetripstructure/",data:c,async:b,success:function(){}})};a.getStepById=function(b){var c=null;$.each(this.tripSteps,function(d,e){if(e.stepid==b){c=e;return false}});return c};a.getStepIndexById=function(b){var c=null;$.each(this.tripSteps,function(d,e){if(e.stepid==b){c=d;return false}});return c};
a.getStepIdByIndex=function(b){return b<this.tripSteps.length?this.tripSteps[b].stepid:-1};a.getStepByIndex=function(b){return this.tripSteps[b]};a.getSelectedStep=function(){if(this.selectedStepid>0)return this.getStepById(this.selectedStepid);return null};a.nextStep=function(b){b=this.getStepIndexById(b.stepid);b++;return b<this.tripSteps.length?this.tripSteps[b]:null};a.previousStep=function(b){b=this.getStepIndexById(b.stepid);b--;return b>=0?this.tripSteps[b]:null};a.sortSteps=function(){this.tripSteps.sort(this.sortRule)};
a.sortRule=function(b,c){if(b.stepEndDate.getTime()==c.stepEndDate.getTime())return 0;if(b.stepEndDate.getTime()>c.stepEndDate.getTime())return 1;return-1};
a.adjustCheckInCheckOut=function(){$.each(this.tripSteps,function(){if(!this.parentTrip.isStepJustBefore(this))this.checkIn=this.getStartDate();if(this.leaving==0||this.isFinalStep()){this.checkOut=this.getEndDate();this.leaving=0}else{this.checkOut=this.getEndDatePlusOne();this.leaving=1}if(this.parentTrip.isStepJustAfter(this))this.parentTrip.nextStep(this).checkIn=this.checkOut})};
a.refreshMap=function(){$.KuKuMap.clearOverlays("trip");$.KuKuMap.clearOverlays("search");$.KuKuMap.clearOverlays("infowindow");if(this.tripSteps.length>0){$.KuKuMap.setRouteType("curve");$.KuKuMap.drawTrip(this,0);$.KuKuMap.centerMapToMarkers(["search","trip"])}else $.KuKuMap.centerMapToCentroid(31.9521,-2.1093,2)};
a.toObject=function(){var b={};b.tripID=this.tripid;b.tripStartDate=$.KuKuDate.formatDate(this.tripStartDate,"Y-m-d");b.tripEndDate=$.KuKuDate.formatDate(this.tripEndDate,"Y-m-d");b.countriesCode=this.countriesCode;b.tripSteps=[];$.each(this.tripSteps,function(c,d){c={};c.stepID=d.stepid;c.cityid=d.cityid;c.cityName=d.cityName;c.stepStartDate=$.KuKuDate.formatDate(d.stepStartDate,"Y-m-d");c.stepEndDate=$.KuKuDate.formatDate(d.stepEndDate,"Y-m-d");c.checkIn=$.KuKuDate.formatDate(d.checkIn,"Y-m-d");
c.checkOut=$.KuKuDate.formatDate(d.checkOut,"Y-m-d");c.stepNumberOfDays=$.KuKuDate.diffDays(d.stepStartDate,d.stepEndDate);b.tripSteps.push(c)});return b};a.nextFreeDay=function(){var b=this.getSelectedStep();if(b){var c=b;do{b=c;c=this.nextStep(b)}while(c&&b.stepEndDate.getTime()==c.stepStartDate.getTime());return b.stepEndDate}else return this.tripStartDate};a.isStepJustAfter=function(b){var c=this.nextStep(b);if(c==null)return false;return c.stepStartDate.getTime()==b.stepEndDate.getTime()};
a.isStepJustBefore=function(b){var c=this.previousStep(b);if(c==null)return false;return c.stepEndDate.getTime()==b.stepStartDate.getTime()};a.isOverlapping=function(b){var c=false;$.each(this.tripSteps,function(d,e){if(b.stepid!=e.stepid)if(b.stepEndDate.getTime()>e.stepStartDate.getTime()&&b.stepStartDate.getTime()<e.stepEndDate.getTime()){c=true;return false}});return c};
a.isEmptyDay=function(b){var c=true;$.each(this.tripSteps,function(d,e){if(b>=e.stepStartDate.getTime()&&b<e.stepEndDate.getTime())return c=false});return c};a.numberOfSteps=function(){return this.tripSteps.length};a.numberOfDays=function(){return $.KuKuDate.diffDays(this.tripStartDate,this.tripEndDate)+1};
a.numberOfEmptyDays=function(){var b=$.KuKuDate.diffDays(this.tripStartDate,this.tripEndDate)+1,c=this;$.each(this.tripSteps,function(d,e){d=e.stepStartDate.getTime();do{d>=c.tripStartDate.getTime()&&d<=c.tripEndDate.getTime()&&b--;d+=$.KuKuDate.oneday}while(d<e.stepEndDate.getTime())});return b};a.getCities=function(){var b=[];$.each(this.tripSteps,function(){$.inArray(this.cityName,b)==-1&&b.push(this.cityName)});return b};
a.getOneLineCities=function(b){var c=this.getCities();if(c.length>b)c=c.slice(0,b).join(", ")+",... ";else if(c.length>1){b=c.pop();c=c.join(", ")+" and "+b+". "}else c=c[0]+". ";return c};
a.addStepDay=function(b,c){var d=this.getStepIndexById(b);if($.KuKuDate.diffDays(this.tripSteps[d].stepStartDate,this.tripSteps[d].stepEndDate)<=-c)return false;if(this.tripSteps[d+1]&&$.KuKuDate.diffDays(this.tripSteps[d].stepEndDate,this.tripSteps[d+1].stepStartDate)<c)return false;$.KuKuDate.addDays(this.tripSteps[d].stepEndDate,c);$.KuKuCal2.renderSteps();$.KuKuStep.render();this.selectStep(b);this.save(true)};
a.selectStep=function(b){var c=this.selectedStepid;this.selectedStepid=b;if(b>0){$.KuKuCal2.selectStep(this.selectedStepid);$.KuKuStep.selectStep(this.selectedStepid);$.KuKuMap.redrawTripMarkers(this,this.getStepIndexById(this.selectedStepid))}c!=b&&$.KuKuNext3.refresh()};
a.removeStep=function(b){this.tripSteps.splice(this.getStepIndexById(b),1);this.adjustCheckInCheckOut();$.KuKuCal2.renderSteps();$.KuKuStep.render();this.refreshMap();this.selectedStepid==b?this.selectStep(this.getStepIdByIndex(0)):this.selectStep(this.selectedStepid);this.save(true)};
a.moveStep=function(b){if(!this.isOverlapping(b)){this.tripSteps[this.getStepIndexById(b.stepid)]=b;this.sortSteps();this.adjustCheckInCheckOut();$.KuKuStep.render();this.refreshMap();this.save(true)}$.KuKuCal2.renderSteps();$.isFunction($.fn.kukualert)&&$.fn.kukualert("STEP_MOVE",this);this.selectStep(b.stepid)};
a.addNewStep=function(b,c,d){var e=this,f=false;b.parentTrip=this;if(!b.cityName||!b.latitude||!b.longitude)f=true;var g=$.KuKuDate.formatDate(b.stepStartDate,"Y-m-d"),h=$.KuKuDate.addDays(cloneDate(b.stepStartDate),1);h=$.KuKuDate.formatDate(h,"Y-m-d");var i=g;$.each(this.tripSteps,function(){if(this.stepEndDate.getTime()==b.stepStartDate.getTime()){i=$.KuKuDate.formatDate(this.getCheckOutDate(),"Y-m-d");return false}});var j=b.stepStartDate.getTime()==e.tripEndDate.getTime()?g:h;$.getJSON(getbaseurl()+
"/ajax/insertstep/",{format:"json",tripid:this.tripid,stepstart:g,stepend:h,checkin:i,checkout:j,cityid:b.cityid,citydata:f,googledata:$.toJSON(c)},function(k){b.stepid=k.stepid;if(f){b.cityid=k.cityid;b.cityName=k.cityname;b.longitude=k.longitude;b.latitude=k.latitude}e.tripSteps.push(b);e.sortSteps();e.adjustCheckInCheckOut();$.KuKuCal2.renderSteps();$.KuKuStep.render();$.KuKuNext3.resetCache();e.refreshMap();e.selectStep(b.stepid);$.isFunction($.fn.kukualert)&&$.fn.kukualert("ADD_STEP",e);$.isFunction(d)&&
d.call()})};function Step(){this.longitude=this.latitude=this.cityName=null;this.items=[]}a=Step.prototype;
a.clone=function(){var b=new Step;b.stepid=this.stepid;b.tripid=this.tripid;b.parentTrip=this.parentTrip;b.stepStartDate=cloneDate(this.stepStartDate);b.stepEndDate=cloneDate(this.stepEndDate);b.checkIn=cloneDate(this.checkIn);b.checkOut=cloneDate(this.checkOut);b.leaving=this.leaving;b.cityid=this.cityid;b.cityName=this.cityName;b.latitude=this.latitude;b.longitude=this.longitude;b.items=this.items;return b};a.numberOfDays=function(){return $.KuKuDate.diffDays(this.stepStartDate,this.stepEndDate)};
a.getCheckInDate=function(){return this.checkIn};a.getCheckOutDate=function(){return this.checkOut};a.getNumberOfNights=function(){return $.KuKuDate.diffDays(this.checkIn,this.checkOut)};a.getStartDate=function(){return this.stepStartDate};a.getEndDate=function(){return $.KuKuDate.addDays(cloneDate(this.stepEndDate),-1)};a.getEndDatePlusOne=function(){return this.stepEndDate};
a.isFinalStep=function(){if($.KuKuDate.addDays(cloneDate(this.parentTrip.tripEndDate),1).getTime()==this.stepEndDate.getTime())return true;return false};a.setCheckOut=function(b){this.checkOut=b;this.leaving=this.checkOut.getTime()==this.stepEndDate.getTime()?1:0;if(this.parentTrip.isStepJustAfter(this))this.parentTrip.nextStep(this).checkIn=b;this.parentTrip.save(true)};
a.addItem=function(b,c){var d=getbaseurl()+"/ajax/additemtostep/",e={format:"json",tripid:this.tripid,stepid:this.stepid,cityid:this.cityid,itemid:b.id};if(b.category==0&&b.newcategory){e.newcategory=b.newcategory;b.category=b.newcategory}if(b.newthumb)e.newthumb=b.newthumb;$.getJSON(d,e,function(f){$.isFunction(c)&&c(f.stepitem)});_gaq.push(["_trackEvent","Item","Save",b.id])};
a.removeItem=function(b){var c=getbaseurl()+"/ajax/removeitemfromstep/";$.getJSON(c,{format:"json",tripid:this.tripid,stepid:this.stepid,itemid:b.id});_gaq.push(["_trackEvent","Item","Remove",b.id])};a.changeItemDay=function(b,c){var d=getbaseurl()+"/ajax/setitemday/",e={format:"json",tripid:this.tripid,stepid:this.stepid,itemid:b.id,stepitem:b.stepitem,numday:c};parseInt(c)!=b.numday&&$.getJSON(d,e)};function Item(){}
Item.prototype.load=function(b){this.id=b.id;this.name=b.name;this.locality=b.locality;this.category=parseInt(b.category);this.newcategory=parseInt(b.newcategory);this.thumb=b.thumb;this.address=b.address;this.geotype=b.geotype;this.latitude=b.coordinates.latitude;this.longitude=b.coordinates.longitude;if(b.stepitem){this.stepitem=parseInt(b.stepitem);this.numday=parseInt(b.numday)}};Item.prototype.setStepItem=function(b){this.stepitem=b;this.numday=0};
Item.prototype.unsetStepItem=function(){this.numday=this.stepitem=null};Item.prototype.updatedesc=function(b){var c=getbaseurl()+"/item/updatedescription/";$.getJSON(c,{format:"json",itemid:this.id,text:b})};function FlickrGallery(){this.key_=K_Flickr_key;this.baseurl_="http://api.flickr.com/services/rest/?method=flickr.photos.search"}
FlickrGallery.prototype.buildPhoto_=function(b){var c={};c.url="http://farm"+b.farm+".static.flickr.com/"+b.server+"/"+b.id+"_"+b.secret+".jpg";c.title=b.title;c.owner=b.owner;return c};FlickrGallery.prototype.buildImageUrl_=function(b){return"http://farm"+b.farm+".static.flickr.com/"+b.server+"/"+b.id+"_"+b.secret+".jpg"};FlickrGallery.prototype.buildApiUrl_=function(b){var c=this.baseurl_;for(key in b)c+="&"+key+"="+b[key];return c};
FlickrGallery.prototype.search=function(b,c,d){b=this.buildApiUrl_({text:b.name+"%20"+b.locality,sort:"relevance",media:"photos",per_page:c,api_key:this.key_,format:"json"});var e=this;$.ajax({url:b,dataType:"jsonp",jsonp:"jsoncallback",success:function(f){var g=[];debugGG(f.photos);$.each(f.photos.photo,function(){g.push(e.buildPhoto_(this))});d(g)}})};function cloneDate(b){return new Date(+b)}function getbaseurl(){return $("#baseurl").text()}
function debugGG(b){window.console&&window.console.log&&window.location.hostname=="localhost"&&window.console.log(b)}
if(K_mapactive){function KukunuMapOverlay(b,c,d,e){this.marker_=b;this.text_=c;this.cityid_=d;this.gdata_=e}KukunuMapOverlay.prototype=new GOverlay;a=KukunuMapOverlay.prototype;a.initialize=function(b){var c=document.getElementById("on-map-overlay").cloneNode(true);c.style.display="block";$(".omo-title",c).html(this.text_);var d=this;$(".omo-add",c).click(function(){var e=new Step;e.cityid=d.cityid_;var f=$.KuKuCal2.addCityDate?cloneDate($.KuKuCal2.addCityDate):cloneDate($.KuKuCal2.trip.nextFreeDay());
e.stepStartDate=f;e.stepEndDate=$.KuKuDate.addDays(cloneDate(e.stepStartDate),1);$.KuKuCal2.trip.addNewStep(e,d.gdata_);$.KuKuMap.clearOverlays("infowindow")});$(".omo-close",c).click(function(){$.KuKuMap.clearOverlays("infowindow")});b.getPane(G_MAP_FLOAT_PANE).appendChild(c);this.map_=b;this.div_=c};a.remove=function(){this.div_.parentNode.removeChild(this.div_)};a.copy=function(){return new KukunuMapOverlay(this.marker_)};a.redraw=function(b){if(b){var c=this.map_.fromLatLngToDivPixel(this.marker_.getLatLng());
b=jQuery(this.div_).outerWidth();var d=jQuery(this.div_).outerHeight(),e=parseInt(jQuery(this.div_).css("marginBottom").replace("px","")),f=c.x-b/2;c=c.y-$.KuKuMap.baseIcon.iconSize.height-d-e;this.div_.style.left=f+"px";this.div_.style.top=c+"px";this.southWest_=this.map_.fromDivPixelToLatLng(new GPoint(f,c+d));this.northEast_=this.map_.fromDivPixelToLatLng(new GPoint(f+b,c))}};a.getSouthWest=function(){return this.southWest_};a.getNorthEast=function(){return this.northEast_}}
(function(b){b.fn.kukutooltip=function(c,d){var e=b.extend({position:"bottom",mask:false,dismiss:true},d);return this.each(function(){var f=b("<div/>").addClass("tooltip").addClass(e.position).html(c);e.dismiss==true&&b("<span/>").addClass("close").addClass("dismiss").html("dismiss").appendTo(f);var g;switch(e.position){case "top":g="top center";break;case "bottom":g="bottom center";break;case "right":g="center right";break;case "left":g="center left";break}b(this).after(f).tooltip({position:g,relative:true,
events:{def:"no,no",input:"no,no"}});var h=b(this).data("tooltip").getTip();f=b(".close",h);if(f.length==0)f=h;var i=this;b.isFunction(e.action)&&b(".action",h).click(function(j){h.remove();b(i).data("tooltip",null);e.action.call(this);j.preventDefault()});f.click(function(j){h.remove();b(i).data("tooltip",null);j.preventDefault()});b(this).data("tooltip").show()})};b.fn.kukutooltip_remove=function(){return this.each(function(){if(b(this).data("tooltip")){b(this).data("tooltip").getTip().remove();
b(this).data("tooltip",null)}})};b.fn.formselect=function(){return this.each(function(){var c=this,d=b(this).val(),e=b("<span/>").addClass("frm-select").addClass("select-open").insertBefore(b(this)),f=b("<span/>").addClass("select-window").disableSelection().appendTo(e),g=b("<span/>").addClass("select-button").appendTo(e);f.html(b("option[value="+d+"]",this).text());var h=b("<ul/>").addClass("select-dropdown").appendTo(e).hide();b("option",this).each(function(){var i=b("<li/>").text(b(this).text()).data("value",
b(this).attr("value")).appendTo(h);i.mouseover(function(){b("li",h).removeClass("selected")});i.click(function(j){j.stopPropagation();f.html(b(this).text());d=b(this).data("value");b(c).val(d);h.hide()})});g.click(function(i){i.stopPropagation();h.toggle();h.is(":hidden")||b("li",h).removeClass("selected").each(function(){b(this).data("value")==d&&b(this).addClass("selected")})});b("body").click(function(){h.hide()});b(this).hide()})};b.fn.kukualert=function(c,d){d.numberOfDays();d.numberOfEmptyDays();
d.numberOfDays();d=d.numberOfSteps();c=="CITY_SEARCH"&&b("form#city-search input[name=q]").kukutooltip_remove();if(c=="INIT"&&d==0){c="Search for a city to add to your itinerary";b("form#city-search input[name=q]").kukutooltip(c,{position:"left"})}else if(c=="ADD_STEP"&&d==1){c="Add days to this city by pulling the edges in your calendar";b("#kukucal .step-segment:first").kukutooltip(c,{position:"left"})}else if(c=="ADD_STEP"&&d==2){c="Click on a City tab to choose your Activities, Hotel, Restaurants, ...";
b("ul#mn-city-list li:first").kukutooltip(c,{position:"top"})}else if(c=="ADD_STEP"&&d==3){c="Manage all your transportation in the Transport tab";b("#tn-transport").kukutooltip(c,{position:"bottom"})}};b.fn.kukucarousel2=function(c,d){var e=b.extend({perpage:3,speed:400},c),f=function(j,k){b(".scroller-nav li",j).removeClass("selected").each(function(){b(this).data("page")&&k==b(this).data("page")&&b(this).addClass("selected")})},g=function(j){b(".results-table",j).css("left","0px");var k=b(".carousel-mask",
j).width(),l=b(".kukuitem",j).length,m=Math.ceil(l/e.perpage);j=b(".scroller-nav",j);j.empty();if(m>1){l=b("<li/>").addClass("sn-prev").appendTo(j);b("<a/>").attr("href","").html("Previous").click(function(n){var o=b(this).parents(".carousel").get(0),q=parseInt(1-b(".results-table",o).position().left/k);if(q==1)return false;b(".results-table",o).animate({left:"+="+k},e.speed);q-=1;f(o,q);n.preventDefault()}).appendTo(l);for(l=1;l<=m;l++){var p=b("<li/>").data("page",l).appendTo(j);l==1&&p.addClass("selected");
b("<a/>").attr("href","").html(l).data("page",l).click(function(n){var o=b(this).parents(".carousel").get(0),q=parseInt(1-b(".results-table",o).position().left/k),r=b(this).data("page");if(q==r)return false;q=(q-r)*k;b(".results-table",o).animate({left:"+="+q},e.speed);f(o,r);n.preventDefault()}).appendTo(p)}j=b("<li/>").addClass("sn-next").appendTo(j);b("<a/>").attr("href","").html("Next").click(function(n){var o=b(this).parents(".carousel").get(0),q=parseInt(1-b(".results-table",o).position().left/
k);if(q==m)return false;b(".results-table",o).animate({left:"-="+k},e.speed);q+=1;f(o,q);n.preventDefault()}).appendTo(j)}},h=function(j,k){b(".results-table",j).load(getbaseurl()+"/ajax/itemscarousel/",{format:"html",tripid:e.tripid,stepid:e.stepid,cat:e.category,limit:9,offset:0,hash:e.hash,filters:k},function(){g(j);b.isFunction(d)&&d.call(j)})},i=function(j,k){k=b(".rn-view-all",j).attr("href").split("?")[0]+"?filters="+k.join(";");b(".rn-view-all",j).attr("href",k)};return this.each(function(){var j=
this;g(this);b.isFunction(d)&&d.call(this);b(".filter",this).niceSelect({inplace_tag:"a",inplace_class:"rn-change-view",overlay_class:"carousel-dropdown"},function(k){k=[k.value];i(j,k);h(j,k)},function(k){k=[k.value];i(j,k);h(j,k)})})};b.fn.stepTabs=function(){var c=b("#cl-more .cl-dropdown ul",this),d=0;c.empty();b.each(b("li.mn-city",this),function(){d+=b(this).outerWidth();if(d>512){b(this).hide();var e=b("a",this),f=e.html();e=e.attr("href");var g=b("<li/>").appendTo(c);b(this).hasClass("selected")&&
g.addClass("selected");b("<a/>").html(f).attr("href",e).appendTo(g)}});if(b("li",c).length==0)b("li#cl-more",this).hide();else{b("li#cl-more",this).show();b("li#cl-more a#cl-arrow",this).show().simpleMenu(".cl-dropdown")}};b.fn.niceSelect=function(c,d,e){var f=b.extend({},c);return this.each(function(){var g=b(this).get(0).tagName;if(g=="SELECT"){var h=[],i=0;b("option",this).each(function(){var n={};n.text=b(this).text();n.value=b(this).attr("value");h.push(n);if(b(this).is(":selected"))i=h.length-
1});b.isFunction(d)&&d(h[i]);g=f.inplace_tag?b("<"+f.inplace_tag+"/>"):b("<span/>");g.text(h[i].text);f.inplace_class&&g.addClass(f.inplace_class);g.data("value",h[i].value);b(this).after(g);var j=b("<div/>");f.overlay_class&&j.addClass(f.overlay_class);var k=b("<ul/>").appendTo(j);for(var l in h){var m=b("<li/>").appendTo(k);b("<a/>").text(h[l].text).data("index",l).appendTo(m).click(function(n){var o=b(this).data("index");g.text(h[o].text);prevvalue=g.data("value");g.data("value",h[o].value);p.close();
prevvalue!=g.data("value")&&b.isFunction(e)&&e(h[o]);n.preventDefault()})}j.appendTo(b("body"));var p=g.overlay({api:true,absolute:true,target:j,expose:{color:"#fff",loadSpeed:0,opacity:0},onBeforeLoad:function(){var n=this.getTrigger().offset().top+this.getTrigger().height(),o=this.getTrigger().offset().left;this.getConf().top=n;this.getConf().left=o}});b(this).remove()}})};b.fn.kukunuItem=function(c,d){var e=b.extend({removeitem:false,thumbnoenlarge:false},d),f=function(h){b(h).removeClass("btn-small").removeClass("btn-large");
b(h).hasClass("large")?b(h).addClass("ico-remove").text("Remove from my trip"):b(h).addClass("ico-remove").text("Remove");b(h).removeClass("item-saveit").addClass("item-remove")},g=function(h){if(b(h).hasClass("large")){b(h).addClass("btn-large");b(h).removeClass("ico-remove").text("Save to my trip")}else{b(h).addClass("btn-small");b(h).removeClass("ico-remove").text("Save it")}b(h).removeClass("item-remove").addClass("item-saveit")};return this.each(function(){var h=this;if(!b(this).hasClass("kukuitem"))return false;
var i=eval("("+b(".item-json",this).text()+")"),j=new Item;j.load(i);b(this).data("item",j);b(".item-thumb",this).resizeImagesPlugin({noenlarge:e.thumbnoenlarge});b(".ri-save",this).click(function(m){if(b(this).hasClass("item-saveit")){b(".kukuitem").each(function(){b(this).data("item").id==j.id&&f(b(".ri-save",this))});c.addItem(j,function(o){j.setStepItem(o)});b.KuKuItemsList.is()&&b.KuKuItemsList.addItem(j)}else if(b(this).hasClass("item-remove")){b(".kukuitem").each(function(){b(this).data("item").id==
j.id&&g(b(".ri-save",this))});c.removeItem(j);j.unsetStepItem();b.KuKuItemsList.is()&&b.KuKuItemsList.removeItem(j);e.removeitem==true&&b(h).remove();var p="#nitems-cat-"+j.category;if(b(p).length==1){var n=parseInt(b(p).text());b(p).text(n-1)}}m.preventDefault()});if(b(".item-map",this).length!=0&&b("#map-overlay").length==0){i=b("<div/>").attr("id","map-overlay").appendTo("#content-wrapper");b("<div/>").addClass("cross").html("x").click(function(){b("#map-overlay").css("top","0px").css("left","-1000px")}).appendTo(i);
b("<h3/>").attr("id","mo-name").appendTo(i);b("<p/>").attr("id","mo-address").appendTo(i);b("<div/>").attr("id","mo-map").appendTo(i)}b(".item-map",this).click(function(m){var p=b("#map-overlay"),n=b(this),o=b("#content-wrapper"),q=n.offset().top-p.outerHeight()-15;n=n.offset().left+n.outerWidth()/2-p.outerWidth()/2-o.offset().left;b("#mo-name",p).empty().html(j.name);b("#mo-address",p).empty().html(j.address);b("#mo-map",p).KuKuMap({width:"260px",height:"200px",mapType:"G_NORMAL_MAP",notypecontrol:true,
nocontrol:true});if(K_mapactive){o=new GLatLng(j.latitude,j.longitude);b.KuKuMap.clearOverlays();b.KuKuMap.drawMarkerLight(o,"search",15)}p.css("left",n+"px").css("top",q+"px");m.preventDefault()});b(".item-addanote",this).click(function(m){b(".item-note",h).toggle();if(b(".item-note",h).is(":hidden"))if(b.trim(b(".item-note textarea",h).val())==""){b(this).html("Add a note");b(this).removeClass("ico-noteblue").addClass("ico-note")}else{b(this).html("Edit note");b(this).removeClass("ico-note").addClass("ico-noteblue")}else b(this).html("Hide note");
m.preventDefault()});if(b(".item-note",this).length==1){b(".item-note-info",this).kukutip({overlayid:"kukutip-note",textclass:"item-note-info-text"});var k=b(".item-note",this),l;b("textarea",k).bind("textchange",function(){clearTimeout(l);b("#ajaxStatus",k).html("<span>Typing...</span>");var m=this;l=setTimeout(function(){b("#ajaxStatus",k).html("<span>Saving...</span>");b.getJSON(getbaseurl()+"/ajax/editnote/",{format:"json",stepitem:j.stepitem,text:b(m).val()},function(){b("#ajaxStatus",k).html("<span>Saved</span>")})},
1E3)})}})};b.fn.kukutabs=function(){return this.each(function(){if(b("ul.tab-nav").length==0)return false;b(".tab-content",this).hide();b("ul.tab-nav li:first",this).addClass("selected");b(".tab-content:first",this).show();var c=this;b("ul.tab-nav li",this).click(function(d){b("ul.tab-nav li").removeClass("selected");b(this).addClass("selected");b(".tab-content",c).hide();var e=b("a",this).attr("href");b(e).show();d.preventDefault()})})};this.tooltip=function(){xOffset=10;yOffset=20;b("a.tooltip").hover(function(c){this.t=
this.title;this.title="";b("body").append("<p id='tooltip'>"+this.t+"</p>");b("#tooltip").css("top",c.pageY-xOffset+"px").css("left",c.pageX+yOffset+"px").fadeIn("fast")},function(){this.title=this.t;b("#tooltip").remove()});b("a.tooltip").mousemove(function(c){b("#tooltip").css("top",c.pageY-xOffset+"px").css("left",c.pageX+yOffset+"px")})};b.fn.kukutip=function(c){var d=b.extend({yOffset:20,overlayid:"kukutip",textclass:"policy-tooltip-text"},c);return this.each(function(){b(this).hover(function(e){this.title=
"";var f=b(this).nextAll("."+d.textclass).html(),g=b("<p/>").attr("id",d.overlayid);g.html(f);b("body").append(g);f=g.width()/2;g.css("top",e.pageY+d.yOffset+"px").css("left",e.pageX-f+"px").show()},function(){b("#"+d.overlayid).remove()});b(this).mousemove(function(e){var f=b("#"+d.overlayid).width()/2;b("#"+d.overlayid).css("top",e.pageY+d.yOffset+"px").css("left",e.pageX-f+"px")});b(this).click(function(e){e.preventDefault()})})};b.fn.simpleMenu=function(c,d){return this.each(function(){b(c).hide();
b(this).click(function(e){e.preventDefault()}).hover(function(){b(c).show()},function(){b(c).hide()});b(c).hover(function(){b(c).show()},function(){b(c).hide()});b.isFunction(d)&&b("a",c).click(function(e){d.call(this);e.preventDefault()})})};b.fn.imagepreview=function(c){var d={xOffset:30,yOffset:10,overlayid:"img-preview-ov",showcaption:false};c&&b.extend(d,c);return this.each(function(){b(this).hover(function(e){this.t=this.title;this.title="";var f=this.t!=""?"<br/>"+this.t:"",g=b("<p/>").attr("id",
d.overlayid);d.showcaption==true&&g.text(f);b("<img/>").attr("src",this.href).attr("alt","Image preview").appendTo(g);b("body").append(g);g.css("top",e.pageY-d.yOffset+"px").css("left",e.pageX+d.xOffset+"px").fadeIn("fast")},function(){this.title=this.t;b("#"+d.overlayid).remove()});b(this).mousemove(function(e){b("#"+d.overlayid).css("top",e.pageY-d.yOffset+"px").css("left",e.pageX+d.xOffset+"px")});b(this).click(function(e){e.preventDefault()})})};b.fn.resizeImagesPlugin=function(c){var d=b.extend({mode:"crop",
noenlarge:false,overlay:false},c),e=function(f){b(f).show();var g=b(f).parent().get(0),h={width:b(g).width(),height:b(g).height()},i=b(f).width(),j=b(f).height(),k=i/j,l=h.width/h.height,m=d.mode=="crop"?k<l?h.width/i:h.height/j:k<l?h.height/j:h.width/i;if(d.noenlarge==true&&m>1)m=1;k=j*m;l=-(k-h.height)/2;m=i*m;h=-(m-h.width)/2;if(d.noenlarge==true){if(m<b(g).width()){b(g).width(m);h=0}if(k<b(g).height()){b(g).height(k);l=0}}b(".img-thumb-loading",g).remove();b(f).width(m);b(f).height(k);b(f).css({position:"absolute",
top:l,left:h});if(d.overlay){var p={x:0,y:20};b(f).mouseenter(function(n){var o=b(this).attr("src");o=b("<img/>").attr("src",o);o.css({position:"absolute","z-index":999});o.css("top",n.pageY+p.y);o.css("left",n.pageX+p.x);n=Math.max(i,j);n=n>250?250/n:1;o.width(i*n);o.height(j*n);o.addClass("img-thumb-overlay");o.appendTo("body")}).mousemove(function(n){var o=b(".img-thumb-overlay");o.css("top",n.pageY+p.y);o.css("left",n.pageX+p.x)}).mouseleave(function(){b(".img-thumb-overlay").remove()})}};return this.each(function(){var f=
b(this).parent().get(0);if(b(f).hasClass("img-thumb-canvas")){d.noenlarge==true?b(f).css("background","#FFFFFF"):b(f).css("background","#EFEFEF");b("<div/>").addClass("img-thumb-loading").css({top:(b(f).height()-32)/2,left:(b(f).width()-32)/2}).appendTo(f);b(this).hide();this.complete?e(this):b(this).load(function(){e(this)})}})};b.fn.clearForm=function(){return this.each(function(){var c=this.type,d=this.tagName.toLowerCase();if(d=="form")return b(":input",this).clearForm();if(c=="text"||c=="password"||
d=="textarea")this.value="";else if(c=="checkbox"||c=="radio")this.checked=false;else if(d=="select")this.selectedIndex=-1})};b.fn.putCursorAtEnd=function(){return this.each(function(){b(this).focus();if(this.setSelectionRange){var c=b(this).val().length*2;this.setSelectionRange(c,c)}else b(this).val(b(this).val());this.scrollTop=999999})};b.KuKuCal2={numWeeks:5,weekStart:1,newStepOverlayElement:"#ov-addacity-new",borderColor:"#999999",borderColorSelected:"#49B0F2",dragdropMode:2,readonly:false,staticview:false,
addOnCalendar:true,totalWidth:0,totalHeight:0,nodate:false,element:null,trip:null,startDate:null,endDate:null,container:null,subcontainer:null,firstDay:null,stepsMatrix:[],newStepOverlay:null,isDragging:false,draggedStep:null,dragTmpStep:null,cellWidth:0,cellHeight:0,subtitle:"Plan it",addCityDate:null,initialize:function(c,d,e){this.element=c;this.trip=d;if(e)this.readonly=e;this.totalWidth=b(this.element).width();this.totalHeight=b(this.element).height();this.cellWidth=Math.floor((this.totalWidth-
8)/7);this.cellHeight=Math.floor((this.totalHeight-63-this.numWeeks-1)/this.numWeeks)},setReadOnly:function(){this.readonly=true},setStatic:function(){this.readonly=this.staticview=true},setStartDate:function(){this.nodate=this.trip.nodate;this.startDate=cloneDate(this.trip.tripStartDate);if(this.nodate)this.weekStart=this.startDate.getDay();else{b.KuKuDate.addDays(this.startDate,-((this.startDate.getDay()-this.weekStart+7)%7));this.trip.numberOfDays()<21&&b.KuKuDate.addDays(this.startDate,-7)}},
shiftStartDate:function(c){b.KuKuDate.addDays(this.startDate,c);this.renderGrid();this.renderSteps()},render:function(){this.setStartDate();this.renderGrid();this.renderSteps()},renderGrid:function(){var c=this;b(this.element).empty();var d=b("<div/>").width(this.cellWidth*7+6).addClass("title").addClass("group").appendTo(this.element),e=b("<div/>").html("&nbsp;").addClass("title-text").appendTo(d);b("<div/>").addClass("title-down").html("down").appendTo(d).click(function(k){c.shiftStartDate(7);k.preventDefault()});
d=b("<div/>").addClass("title-up").html("up").appendTo(d).click(function(k){c.shiftStartDate(-7);k.preventDefault()});this.nodate&&this.startDate.getTime()==this.trip.tripStartDate.getTime()&&d.hide();d=b("<div/>").appendTo(this.element);for(var f=0;f<7;f++){var g=b("<div/>").addClass("daytitle").width(this.cellWidth);f==0&&g.css("border-left-width","1px").css("border-left-color","#e4e4e4");f==6&&g.css("border-right-color","#e4e4e4");g.appendTo(d);var h=this.nodate?"&nbsp":b.KuKuDate.dayNames[(f+
this.weekStart)%7];b("<div/>").html(h).addClass("daytitle-text").appendTo(g)}b("<div/>").addClass("clear").appendTo(this.element);this.container=b("<div/>").appendTo(this.element);this.subcontainer=b("<div/>").addClass("container").appendTo(this.container);g=cloneDate(this.startDate);var i="";for(h=0;h<this.numWeeks;h++)for(f=0;f<7;f++){var j="day"+g.getTime();d=b.KuKuDate.formatDate(g,"M");j=b("<div/>").attr("id",j).addClass("daycell");j.width(this.cellWidth).height(this.cellHeight);h==0&&j.css("border-top-width",
"1px");h==this.numWeeks-1&&j.css("border-bottom-color","#e4e4e4");f==0&&j.css("border-left-width","1px").css("border-left-color","#e4e4e4");f==6&&j.css("border-right-color","#e4e4e4");h==this.numWeeks-1&&f==0&&j.addClass("roundedSW");h==this.numWeeks-1&&f==6&&j.addClass("roundedSE");j.disableSelection();if(c.readonly!=true&&c.addOnCalendar==true){j.hover(function(){var k=b(this).attr("id").replace("day","");!c.isDragging&&c.trip.isEmptyDay(k)&&b(this).addClass("add-new-city")},function(){b(this).removeClass("add-new-city")});
j.click(function(){var k=b(this).attr("id").replace("day","");if(!c.trip.isEmptyDay(k))return false;b(this).removeClass("add-new-city");c.newStepOverlay.getConf().top=b(this).offset().top+b(this).height()/2;c.newStepOverlay.getConf().left=b(this).offset().left-b(this).width()+5;c.newStepOverlay.getOverlay().find("input[name='qsfac']").val("");k=b(this).attr("id").replace("day","");var l=new Date;l.setTime(k);c.addCityDate=l;c.newStepOverlay.load()})}g.getTime()==this.trip.tripStartDate.getTime()&&
j.addClass("tripstart");g.getTime()==this.trip.tripEndDate.getTime()&&j.addClass("tripend");if(g.getTime()<this.trip.tripStartDate.getTime()||g.getTime()>this.trip.tripEndDate.getTime())j.addClass("other-month");i=(d!=i?d+" ":"")+g.getDate();if(this.nodate)i=b.KuKuDate.diffDays(this.trip.tripStartDate,g)+1;b("<div/>").html(i).addClass("day-number").disableSelection().appendTo(j);j.appendTo(this.subcontainer);b.KuKuDate.addDays(g,1);i=d;if(h==0&&f==0)this.firstDay=j}this.endDate=cloneDate(g);f=cloneDate(this.endDate);
b.KuKuDate.addDays(f,-1);g="";d=this.startDate.getMonth();h=this.startDate.getFullYear();for(i=true;i;){g+=b.KuKuDate.monthNames[d];if(d==f.getMonth())i=false;if(d==11||d==f.getMonth())g+=" "+h;if(d!=f.getMonth())g+=" / ";d=(d+1)%12;d==0&&h++}if(this.nodate)g=parseInt(b.KuKuDate.diffDays(this.trip.tripStartDate,this.trip.tripEndDate)+1)+" days";e.html(g);b("<div/>").addClass("clear").appendTo(this.element)},drawStart:function(){var c=b("#day"+this.trip.tripStartDate.getTime()),d=this.cellHeight,e=
d-6,f=b("<div>").html("Start from<br/>Brussels").appendTo(this.subcontainer);f.css({background:"#CCC"});f.css({position:"absolute",width:e,height:22,padding:3});if(f.get(0).filters){f.get(0).style.filter="progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand');";f.get(0).filters.item(0).M11=0;f.get(0).filters.item(0).M12=1;f.get(0).filters.item(0).M21=-1;f.get(0).filters.item(0).M22=0;e=c.position().left;c=c.position().top}else{f.css("-moz-transform","matrix(0, -1, 1, 0, 0, 0)");e=c.position().left-
(d-28)/2;c=c.position().top+(d-28)/2}f.css({top:c,left:e})},renderSteps:function(){var c=this.trip.selectedStepid;b(".step-segment").each(function(){var e=b(this);if(e){e.kukutooltip_remove();e.remove()}});this.computeStepsMatrix();var d=this;b.each(this.stepsMatrix,function(e,f){if(f.start.getTime()>=d.startDate.getTime()&&f.end.getTime()<=d.endDate.getTime()){var g=b("#day"+f.start.getTime()),h=cloneDate(f.end.getTime());b.KuKuDate.addDays(h,-1);b("#day"+h.getTime());h=g.position().left-1;var i=
g.position().top-1;if(g.position().left<0)h+=(d.cellWidth+1)*7+1;var j=d.cellWidth*f.nbrdays+(f.nbrdays-1);g=d.cellHeight;if(f.start.getDay()==d.weekStart)h+=f.isStart?1:2;if(b.KuKuDate.diffDays(d.startDate,f.start)<7)i+=1;e=b("<div>").attr("id","step_"+f.step.stepid+"_"+e).addClass("step-segment");if(f.isStart){b("<div class='step-cityname' />").html(f.step.cityName).disableSelection().appendTo(e);if(d.staticview!=true){var k=b("<div class='subtitle' />").disableSelection().appendTo(e);b("<a/>").html(d.subtitle).attr("href",
getbaseurl()+"/trip/myitems/id/"+d.trip.tripid+"/step/"+f.step.stepid).appendTo(k)}else{k=b("<div class='subtitle' />").disableSelection().appendTo(e);b("<a/>").html("View details").attr("href","#step-"+f.step.stepid).appendTo(k)}}f.isEnd&&d.readonly!=true&&b("<div class='step-remove' />").disableSelection().appendTo(e).overlay({target:"#ov-confirm-new",absolute:true,closeOnClick:true,speed:0,expose:{color:"#FFF",loadSpeed:0,closeSpeed:0,opacity:0},onBeforeLoad:function(){var l="Are you sure you want to delete <b>"+
f.step.cityName+"</b> from your trip?";b(".question",this.getOverlay()).html(l);var m=this;b(".cancel",this.getOverlay()).html("Cancel").unbind("click").click(function(p){m.close();p.preventDefault()});b(".valid",this.getOverlay()).html("Delete").unbind("click").click(function(p){d.trip.removeStep(f.step.stepid);m.close();p.preventDefault()});l=this.getTrigger().offset().left-this.getTrigger().width()-this.getOverlay().width()/2;this.getConf().left=l;l=this.getTrigger().offset().top-this.getOverlay().height()-
65;this.getConf().top=l}});e.css({position:"absolute",top:i,left:h,width:j,height:g});e.css("border-top","1px solid "+d.borderColor);e.css("border-bottom","1px solid "+d.borderColor);f.isStart&&e.css("border-left","1px solid "+d.borderColor);f.isEnd&&e.css("border-right","1px solid "+d.borderColor);e.disableSelection();e.click(function(){d.trip.selectStep(f.step.stepid)});d.readonly!=true&&d.initDragDrop(e);if(f.isEnd&&d.readonly!=true){h=b("<div class='resize-right' />").attr("id","resizeE_"+f.step.stepid).disableSelection().appendTo(e);
h.css({position:"absolute",top:10,left:j-7,width:7,height:g-10});b("<div/>").addClass("double-pipe").addClass("double-pipeEast").appendTo(h);d.initResize(h,"east")}if(f.isStart&&d.readonly!=true){h=b("<div class='resize-left' />").attr("id","resizeW_"+f.step.stepid).disableSelection().appendTo(e);h.css({position:"absolute",top:10,left:0,width:7,height:g-10});b("<div/>").addClass("double-pipe").addClass("double-pipeWest").appendTo(h);d.initResize(h,"west")}e.appendTo(d.subcontainer)}});this.trip.selectStep(c)},
computeStepsMatrix:function(){this.stepsMatrix=[];var c=this;b.each(this.trip.tripSteps,function(d,e){d=c.computeSegments(e);b.each(d,function(f,g){c.stepsMatrix.push(g)})})},computeSegments:function(c){var d=[],e=cloneDate(c.stepStartDate);b.KuKuDate.addDays(e,1+(6+this.weekStart-e.getDay())%7);var f=cloneDate(c.stepStartDate),g;do{newSegment={};newSegment.step=c;newSegment.start=cloneDate(f);newSegment.isStart=newSegment.start.getTime()==c.stepStartDate.getTime()?true:false;if(c.stepEndDate<=e.getTime()){newSegment.end=
cloneDate(c.stepEndDate);g=newSegment.isEnd=true}else{newSegment.end=cloneDate(e);f=cloneDate(e);g=newSegment.isEnd=false}newSegment.nbrdays=b.KuKuDate.diffDays(newSegment.start,newSegment.end);b.KuKuDate.addDays(e,7);d.push(newSegment)}while(!g);return d},renderOneStep:function(c){b(".tempStep").remove();var d=this,e=this.computeSegments(c);b.each(e,function(f,g){if(g.start.getTime()>=d.startDate.getTime()&&g.end.getTime()<=d.endDate.getTime()){var h=b("#day"+g.start.getTime()),i=cloneDate(g.end.getTime());
b.KuKuDate.addDays(i,-1);b("#day"+i.getTime());i=h.position().left-1;var j=h.position().top-1,k=d.cellWidth*g.nbrdays+(g.nbrdays-1)-1,l=d.cellHeight-2;if(h.position().left<0)i+=(d.cellWidth+1)*7+1;if(g.start.getDay()==d.weekStart)i+=2;if(g.start.getTime()<d.startDate.getTime()+6048E5)j+=1;f=b("<div>").attr("id","step_"+g.step.stepid+"_"+f).addClass("step-segment");f.css("cursor",c.cursor);if(g.isStart){b("<div class='step-cityname' />").html(g.step.cityName).disableSelection().appendTo(f);c.cursor!=
"move"&&b("<div class='subtitle' />").html(d.subtitle).disableSelection().appendTo(f)}f.css({top:j,left:i,width:k,height:l});f.css("border-top","2px solid "+d.borderColorSelected);f.css("border-bottom","2px solid "+d.borderColorSelected);g.isStart&&f.css("border-left","2px solid "+d.borderColorSelected);g.isEnd&&f.css("border-right","2px solid "+d.borderColorSelected);f.disableSelection();f.addClass("tempStep");f.appendTo(d.subcontainer)}})},selectStep:function(c){if(this.staticview==true)return false;
var d=this;b(".step-segment").each(function(){var e=b(this),f=e.attr("id").split("_")[1],g=e.attr("id").split("_")[2];g=d.stepsMatrix[g];if(f==c){e.css("border-width","2px");e.css("border-color",d.borderColorSelected);f=d.cellWidth*g.nbrdays+(g.nbrdays-1)-1;e.width(f);e.height(d.cellHeight-2);e.css("z-index","4");b(".double-pipe",e).css("margin-top","18px");b(".double-pipeWest",e).css("margin-left","2px");b(".double-pipeEast",e).css("margin-left","0px");b(".step-cityname",e).css("margin-top","21px");
b(".step-cityname",e).css("margin-left","9px");b(".step-cityname",e).css("margin-right","8px");b(".subtitle",e).css("margin-left","9px");b(".step-remove",e).show()}else{e.css("border-width","1px");e.css("z-index","3");f=d.cellWidth*g.nbrdays+(g.nbrdays-1);e.width(f);e.height(d.cellHeight);e.css("border-color",d.borderColor);b(".double-pipe",e).css("margin-top","19px");b(".double-pipeWest",e).css("margin-left","3px");b(".double-pipeEast",e).css("margin-left","1px");b(".step-cityname",e).css("margin-top",
"22px");b(".step-cityname",e).css("margin-left","10px");b(".step-cityname",e).css("margin-right","8px");b(".subtitle",e).css("margin-left","10px");b(".step-remove",e).hide()}})},initNewStepOverlay:function(){if(this.readonly==true)return false;if(this.addOnCalendar!=true)return false;this.newStepOverlay=b(this.newStepOverlayElement).overlay({absolute:true,expose:{color:"#fff",loadSpeed:0,opacity:0},closeOnClick:true,closeOnEsc:true,api:true,onBeforeLoad:function(){this.getOverlay().find("form").submit(function(){return false})},
onLoad:function(){this.getOverlay().find("input[name=qsfac]").focus()}});var c=this;this.newStepOverlay.getOverlay().find(".cancel").click(function(d){c.newStepOverlay.close();d.preventDefault()});this.newStepOverlay.getOverlay().find(".submit").click(function(d){c.addNewStep();d.preventDefault()});this.newStepOverlay.getOverlay().find("form").submit(function(){c.addNewStep();return false})},addNewStep:function(){var c=this.newStepOverlay.getOverlay().find("input[name=qsfac]").val(),d=this;b.KuKuMap.geocode(c,
function(){var e=this.Placemark[0],f=new Step;f.stepStartDate=d.addCityDate;f.stepEndDate=b.KuKuDate.addDays(cloneDate(f.stepStartDate),1);var g=b("#day"+d.addCityDate.getTime());g.addClass("ajax-loader");d.trip.addNewStep(f,e,function(){g.removeClass("ajax-loader")});b.KuKuMap.clearOverlays("infowindow")});this.newStepOverlay.close();return false},initDragDrop:function(c){var d=this;c.draggable({zIndex:4,delay:50,cursor:"move",start:function(e){d.isDragging=true;var f=this.id.split("_")[1];d.trip.selectStep(f);
d.draggedStep=d.trip.getStepById(f);var g=Math.floor((e.pageY-b(d.firstDay).offset().top)/(d.cellHeight+1))+1;e=Math.floor((e.pageX-b(d.firstDay).offset().left)/(d.cellWidth+1))+1;var h=cloneDate(d.startDate);b.KuKuDate.addDays(h,(g-1)*7+(e-1));g=b.KuKuDate.diffDays(d.draggedStep.stepStartDate,h);d.dragInitDiff=g;b.each(d.stepsMatrix,function(i,j){j.step.stepid==f&&b("#"+("step_"+f+"_"+i)).hide()});b(".subtitle").hide();g=d.draggedStep.clone();g.cursor="move";d.renderOneStep(g)},drag:function(e){var f=
Math.floor((e.pageY-b(d.firstDay).offset().top)/(d.cellHeight+1))+1,g=Math.floor((e.pageX-b(d.firstDay).offset().left)/(d.cellWidth+1))+1;if(f<1)f=1;if(f>d.numWeeks)f=d.numWeeks;if(g<1)g=1;if(d.dragdropMode==1&&g>7)g=7;if(d.dragdropMode==2&&g>7+d.dragInitDiff)g=7+d.dragInitDiff;e=cloneDate(d.startDate);b.KuKuDate.addDays(e,(f-1)*7+(g-1));f=d.draggedStep.clone();f.cursor="move";e=b.KuKuDate.diffDays(d.draggedStep.stepStartDate,e);if(d.dragdropMode==2)e-=d.dragInitDiff;b.KuKuDate.addDays(f.stepStartDate,
e);b.KuKuDate.addDays(f.stepEndDate,e);d.trip.isOverlapping(f)||d.renderOneStep(f);d.dragTmpStep=f},stop:function(){d.isDragging=false;d.trip.moveStep(d.dragTmpStep)}})},initResize:function(c,d){var e=this;c.hover(function(){var f=b(this).parents(".step-segment").get(0);b(f).draggable("disable")},function(){var f=b(this).parents(".step-segment").get(0);b(f).draggable("enable")});c.draggable({zIndex:4,cursor:"col-resize",delay:50,start:function(){e.isDragging=true;var f=this.id.split("_")[1];e.trip.selectStep(f);
e.draggedStep=e.trip.getStepById(f);d=="east"?cloneDate(e.draggedStep.stepEndDate):cloneDate(e.draggedStep.stepStartDate);var g=e.draggedStep.numberOfDays();e.dragInitDiff=g-1;b.each(e.stepsMatrix,function(h,i){i.step.stepid==f&&b("#"+("step_"+f+"_"+h)).hide()});g=e.draggedStep.clone();g.cursor="col-resize";e.renderOneStep(g)},drag:function(f){var g=Math.floor((f.pageY-b(e.firstDay).offset().top)/(e.cellHeight+1))+1,h=d=="east"?Math.floor((f.pageX-b(e.firstDay).offset().left)/(e.cellWidth+1)-0.5)+
1:Math.floor((f.pageX-b(e.firstDay).offset().left)/(e.cellWidth+1)+0.5)+1;if(g<1)g=1;if(g>e.numWeeks)g=e.numWeeks;if(h<1)h=1;if(h>7)h=7;f=cloneDate(e.startDate);b.KuKuDate.addDays(f,(g-1)*7+(h-1));g=e.draggedStep.clone();g.cursor="col-resize";f=d=="east"?b.KuKuDate.diffDays(e.draggedStep.stepStartDate,f)-e.dragInitDiff:b.KuKuDate.diffDays(f,e.draggedStep.stepEndDate)-e.dragInitDiff-1;if(f>-g.numberOfDays()){d=="east"?b.KuKuDate.addDays(g.stepEndDate,f):b.KuKuDate.addDays(g.stepStartDate,-f);if(!e.trip.isOverlapping(g)){e.renderOneStep(g);
e.dragTmpStep=g}}},stop:function(){e.isDragging=false;e.trip.moveStep(e.dragTmpStep)}})}};b.fn.KuKuMap=function(c){if(!c||typeof c!="object")c={};c.mapOptions=c.mapOptions||{};c.width&&c.height&&this.css({width:c.width,height:c.height});if(!window.GBrowserIsCompatible||!GBrowserIsCompatible()){this.css("background-color","#c5d7a7");return this}if(!b.KuKuMap.map){var d=b.KuKuMap.map=new GMap2(this[0],c.mapOptions);d.addControl(new GSmallZoomControl3D);c.notypecontrol||d.addControl(new GMenuMapTypeControl);
d.setMapType(G_PHYSICAL_MAP);c.mapType&&d.setMapType(G_NORMAL_MAP);d.addMapType(G_PHYSICAL_MAP);d.removeMapType(G_SATELLITE_MAP);d.removeMapType(G_HYBRID_MAP);c=new GIcon;c.shadow=getbaseurl()+"/img/mapmarkers/shadow.png";c.shadowSize=new GSize(42,32);c.iconSize=new GSize(24,31);c.iconAnchor=new GPoint(11,30);c.infoWindowAnchor=new GPoint(11,2);b.KuKuMap.baseIcon=c}};b.KuKuMap={map:null,trip:null,routeType:null,markers:[],routes:[],infowindows:[],baseicon:null,noselection:false,is:function(){if(this.map)return true;
return false},deleteMap:function(){this.clearOverlays();this.map=null},clearOverlays:function(c){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;var d=this.map;if(c||typeof c=="string"){var e=[];b.each(this.markers,function(g,h){h.tag==c?d.removeOverlay(h):e.push(h)});this.markers=e;var f=[];b.each(this.routes,function(g,h){h.tag==c?d.removeOverlay(h):f.push(h)});this.routes=f;b.each(this.infowindows,function(g,h){h.tag==c?d.removeOverlay(h):f.push(h)})}else{this.map.clearOverlays();
this.markers=[];this.routes=[]}this.infowindows=[]},setRouteType:function(c){this.routeType=c},drawTrip:function(c,d){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;var e=null,f=null,g=1;b.each(c.tripSteps,function(h,i){h=i.latitude;var j=i.longitude,k=i.cityName;f=e;e=new GLatLng(h,j);d==g-1&&self.noselection==false?b.KuKuMap.drawMarker(e,k,g,"selected","trip"):b.KuKuMap.drawMarker(e,k,g,"location","trip",i.stepid);g>1&&i.route!="no"&&b.KuKuMap.drawSegment(f,e,i.route,"trip");
g++})},redrawTripMarkers:function(c,d){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;var e=this.map,f=[];b.each(this.markers,function(i,j){j.tag=="trip"?e.removeOverlay(j):f.push(j)});this.markers=f;var g=this,h=1;b.each(c.tripSteps,function(i,j){i=j.cityName;LatLng=new GLatLng(j.latitude,j.longitude);d==h-1&&g.noselection==false?b.KuKuMap.drawMarker(LatLng,i,h,"selected","trip"):b.KuKuMap.drawMarker(LatLng,i,h,"location","trip",j.stepid);h++})},drawMarkerLight:function(c,d,
e){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;if(!c)return null;var f=new GIcon(this.baseIcon);if(d=="location")f.image=getbaseurl()+"/img/mapmarkers/location"+index+".png";else if(d=="selected")f.image=getbaseurl()+"/img/mapmarkers/locationselected.png";else if(d=="popular")f.image=getbaseurl()+"/img/mapmarkers/popular.png";else if(d=="search")f.image=getbaseurl()+"/img/mapmarkers/search.png";else if(d=="searchadded")f.image=getbaseurl()+"/img/mapmarkers/searchadded.png";
d=new GMarker(c,{icon:f});this.map.addOverlay(d);this.markers.push(d);this.map.setCenter(c,e)},drawMarkerCitySearch:function(c,d,e,f,g){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;if(!c)return null;var h=new GIcon(this.baseIcon);h.image=getbaseurl()+"/img/mapmarkers/popular.png";var i=new GMarker(c,{icon:h}),j=this;GEvent.addListener(i,"click",function(){j.clearOverlays("infowindow");var k=new KukunuMapOverlay(i,d,e,f);j.map.addOverlay(k);k.tag="infowindow";j.infowindows.push(k);
j.map.panTo(i.getLatLng())});this.map.addOverlay(i);i.tag="search";this.markers.push(i);g==true&&GEvent.trigger(i,"click")},drawMarker:function(c,d,e,f,g,h,i){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;if(!c)return null;var j=new GIcon(this.baseIcon);if(f=="location")j.image=getbaseurl()+"/img/mapmarkers/location"+e+".png";else if(f=="selected")j.image=getbaseurl()+"/img/mapmarkers/locationselected.png";else if(f=="popular")j.image=getbaseurl()+"/img/mapmarkers/popular.png";
else if(f=="search")j.image=getbaseurl()+"/img/mapmarkers/search.png";else if(f=="searchadded")j.image=getbaseurl()+"/img/mapmarkers/searchadded.png";var k=new GMarker(c,{icon:j}),l=this;if(f=="location"){var m=false;b.each(this.markers,function(p,n){if(n.tag=="trip")if(c.equals(n.getLatLng())){m=true;return false}});if(m)return null;GEvent.addListener(k,"click",function(){if(l.noselection==true)return false;l.trip.selectStep(h)})}l=this;g=="search"&&GEvent.addListener(k,"click",function(){l.clearOverlays("infowindow");
var p=new KukunuMapOverlay(k,"mapOverlay",d,e,i);l.map.addOverlay(p);p.tag="infowindow";l.infowindows.push(p);l.centerMapToMarkers(["search"])});g=="poi"&&GEvent.addListener(k,"click",function(){l.clearOverlays("infowindow");l.resetIconImage();var p=new KukunuMapOverlay(this,"mapOverlayPoi",d,e);l.map.addOverlay(p);this.setImage(getbaseurl()+"/img/mapmarkers/searchselected.png");p.tag="infowindow";l.infowindows.push(p);l.map.getZoom()>13?l.map.panTo(k.getLatLng()):l.map.setCenter(k.getLatLng(),14)});
this.map.addOverlay(k);k.tag=g;this.markers.push(k);g=="search"&&GEvent.trigger(k,"click")},resetIconImage:function(){b.each(this.markers,function(c,d){c=d.getIcon().image;d.setImage(c)})},drawSegment:function(c,d,e,f){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;if(c.equals(d))return this;var g=this.map;e=this.routeType?this.routeType:e;if(e=="segment"){c=new GPolyline([c,d],"#0000ff",5,0.5,{geodesic:true});c.tag=f;b.KuKuMap.routes.push(c);this.map.addOverlay(c)}else if(e==
"route"){dir=new GDirections;dir.load(c.lat()+", "+c.lng()+" to "+d.lat()+", "+d.lng(),{getPolyline:true});GEvent.addListener(dir,"load",function(){var h=this.getPolyline();h.tag=f;b.KuKuMap.routes.push(h);g.addOverlay(h)})}else if(e=="curve"){c=this.computeCircle(c,d);c=new GPolyline(c,"#58b7f5",3,0.75,{geodesic:false});c.tag=f;b.KuKuMap.routes.push(c);this.map.addOverlay(c)}},getMapBounds:function(c){var d=90,e=-90,f=180,g=-180;b.each(this.infowindows,function(h,i){c.push(i.getNorthEast());c.push(i.getSouthWest())});
b.each(c,function(h,i){i=i instanceof GLatLng?i:i.getLatLng();h=i.lat();i=i.lng();if(parseFloat(h)<parseFloat(d))d=h;if(parseFloat(h)>parseFloat(e))e=h;if(parseFloat(i)<parseFloat(f))f=i;if(parseFloat(i)>parseFloat(g))g=i;e+=(e-d)*0.05});return new GLatLngBounds(new GLatLng(d,f),new GLatLng(e,g))},centerMapToMarkers:function(c){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;if(c||typeof c=="object"){selectedMarkers=[];b.each(this.markers,function(f,g){for(f=0;f<c.length;f++)c[f]==
g.tag&&selectedMarkers.push(g)})}else selectedMarkers=this.markers;if(selectedMarkers.length>1){var d=b.KuKuMap.getMapBounds(selectedMarkers);this.map.setCenter(d.getCenter(),this.map.getBoundsZoomLevel(d))}else if(selectedMarkers.length==1){d=selectedMarkers[0];var e=d.getLatLng();e=new GLatLng(e.lat(),e.lng());d=d.tag=="search"?8:d.tag=="poi"?14:6;this.map.getCenter()==null||this.map.getZoom()<6?this.map.setCenter(e,d):this.map.panTo(e)}},centerMapToBbox:function(c){if(!window.GBrowserIsCompatible||
!GBrowserIsCompatible())return this;c=new GLatLngBounds(new GLatLng(c.swlat,c.swlng),new GLatLng(c.nelat,c.nelng));this.map.setCenter(c.getCenter(),this.map.getBoundsZoomLevel(c))},centerMapToCentroid:function(c,d,e){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;this.map.setCenter(new GLatLng(c,d),e)},geocode:function(c,d){var e=new GClientGeocoder;this.trip.countriesCode.length==1&&e.setBaseCountryCode(this.trip.countriesCode[0].toUpperCase());e.getLocations(c,function(f){f.Status.code==
200&&b.isFunction(d)&&d.call(f)})},fromXYtoLatLng:function(c,d,e){var f=c.lat();c=c.lng();var g=f/180*Math.PI;g=Math.sin(d/2/6371E3)/Math.cos(g);g=Math.abs(2*Math.asin(g));d=d>0?c+g*180/Math.PI:c-g*180/Math.PI;c=Math.abs(e/6371E3);return new GLatLng(e>0?f+c*180/Math.PI:f-c*180/Math.PI,d)},computeCircle:function(c,d){var e,f=[];e=new GLatLng(c.lat(),d.lng());e=new GPolyline([c,e]);var g=e.getLength();if(c.lng()>d.lng())g=-g;e=new GLatLng(d.lat(),c.lng());e=new GPolyline([c,e]);y1=e.getLength();if(c.lat()>
d.lat())y1=-y1;e=new GPolyline([c,d]);d=0.9*e.getLength();var h=g*g+y1*y1;e=(g+Math.sqrt(g*g-4*(h/4-y1*y1*d*d/h)))/2;h=-g/y1*e+h/2/y1;var i=Math.atan2(-h,-e);if(i<0)i+=2*Math.PI;g=Math.atan2(y1-h,g-e);if(g<0)g+=2*Math.PI;for(var j,k,l=0;l<12;l++){k=i+l*(g-i)/11;j=e+d*Math.cos(k);k=h+d*Math.sin(k);j=this.fromXYtoLatLng(c,j,k);f.push(j)}return f}};b.KuKuDate={monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbrevs:["Jan",
"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayAbbrevs:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],oneday:864E5,addDays:function(c,d,e){c.setDate(c.getDate()+d);if(e)return c;return this.clearTime(c)},clearTime:function(c){c.setHours(0);c.setMinutes(0);c.setSeconds(0);c.setMilliseconds(0);return c},diffDays:function(c,d){return Math.round((d.getTime()-c.getTime())/864E5)},formatDate:function(c,
d){for(var e=b.KuKuDate.dateFormatters,f="",g=0;g<d.length;g++){var h=d.charAt(g);if(h=="+"){f+=d.charAt(g+1);g++}else f+=e[h]?e[h](c):h}return f},dateFormatters:{a:function(c){return c.getHours()<12?"am":"pm"},A:function(c){return c.getHours()<12?"AM":"PM"},x:function(c){return c.getHours()<12?"a":"p"},X:function(c){return c.getHours()<12?"A":"P"},g:function(c){return c.getHours()%12||12},G:function(c){return c.getHours()},h:function(c){return b.KuKuDate.zeroPad(c.getHours()%12||12)},H:function(c){return b.KuKuDate.zeroPad(c.getHours())},
i:function(c){return b.KuKuDate.zeroPad(c.getMinutes())},F:function(c){return b.KuKuDate.monthNames[c.getMonth()]},m:function(c){return b.KuKuDate.zeroPad(c.getMonth()+1)},d:function(c){return b.KuKuDate.zeroPad(c.getDate())},D:function(c){return b.KuKuDate.dayNames[c.getDay()]},b:function(c){return b.KuKuDate.dayAbbrevs[c.getDay()]},M:function(c){return b.KuKuDate.monthAbbrevs[c.getMonth()]},n:function(c){return c.getMonth()+1},Y:function(c){return c.getFullYear()},y:function(c){return(c.getFullYear()+
"").substring(2)},c:function(c){return c.getUTCFullYear()+"-"+zeroPad(c.getUTCMonth()+1)+"-"+zeroPad(c.getUTCDate())+"T"+zeroPad(c.getUTCHours())+":"+zeroPad(c.getUTCMinutes())+":"+zeroPad(c.getUTCSeconds())+"Z"}},parseDate:function(c){if(typeof c=="object")return c;if(typeof c=="undefined")return null;if(typeof c=="number")return new Date(c*1E3);return b.KuKuDate.parseISO8601(c,true)||Date.parse(c)||new Date(parseInt(c)*1E3)},parseISO8601:function(c,d){c=c.match(new RegExp("([0-9]{4})(-([0-9]{2})(-([0-9]{2})(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?"));
if(!c)return null;var e=0,f=new Date(c[1],0,1);c[3]&&f.setMonth(c[3]-1);c[5]&&f.setDate(c[5]);c[7]&&f.setHours(c[7]);c[8]&&f.setMinutes(c[8]);c[10]&&f.setSeconds(c[10]);c[12]&&f.setMilliseconds(Number("0."+c[12])*1E3);if(!d){if(c[14]){e=Number(c[16])*60+Number(c[17]);e*=c[15]=="-"?1:-1}e-=f.getTimezoneOffset()}return new Date(Number(f)+e*60*1E3)},zeroPad:function(c){return(c<10?"0":"")+c},niceTimeFromNow:function(c){var d=Math.round(((new Date).getTime()/1E3-c)/60);if(d<=1)return d==0?"less than a minute ago":
"1 minute ago";if(d<60)return d+" minutes ago";if(d<90)return"1 hour ago";if(d<720)return Math.round(d/60)+" hours ago";if(d<2160)return"1 day ago";if(d<10080)return Math.round(d/1440)+" days ago";d=new Date;d.setTime(c*1E3);return this.formatDate(d,"F d, Y +a+t g:i a")}};b.KuKuStep={element:null,trip:null,readonly:false,dateformat:"b M, d",debug:false,initialize:function(c,d,e){this.element=c;this.trip=d;if(e)this.readonly=e;this.steptabs=b("ul#mn-city-list");this.steplist=b("ul#steplist")},render:function(){b(this.element).empty();
b(".mn-city",this.steptabs).remove();b("#cl-add-city",this.steptabs).remove();var c=b("#cl-more",this.steptabs);this.steplist.empty();var d=this,e=this.trip;b.each(this.trip.tripSteps,function(f,g){f=b("<li/>").addClass("mn-city");c.before(f);var h=getbaseurl()+"/trip/myitems/id/"+e.tripid+"/step/"+g.stepid;b("<a/>").attr("href",h).html(g.cityName).appendTo(f);f=b("<li/>").appendTo(d.steplist);h=b("<div/>").addClass("sc-details").appendTo(f);b("<h3/>").html(g.cityName).appendTo(h);var i=g.numberOfDays(),
j=g.getNumberOfNights();j=j>1?j+" nights":j+" night";var k=b.KuKuDate.formatDate(g.getStartDate(),d.dateformat),l=b.KuKuDate.formatDate(g.getEndDate(),d.dateformat);if(i>1){i=i+" days";i=e.nodate?"<strong>"+i+"</strong> ("+j+")":"<strong>"+i+"</strong> from <strong>"+k+"</strong> to <strong>"+l+"</strong> ("+j+")";b("<p/>").html(i).appendTo(h)}else{i="1 day";b("<p/>").html("<strong>"+i+"</strong> on <strong>"+k+" ("+j+")").appendTo(h)}f=b("<div/>").addClass("sc-options").appendTo(f);b("<p/>").addClass("sc-options-from").html("Leaving "+
g.cityName).appendTo(f);f=b("<div/>").addClass("sc-options-dates").appendTo(f);if(e.nodate){i=parseInt(b.KuKuDate.diffDays(e.tripStartDate,g.getEndDate())+1);h="day "+i;i=parseInt(b.KuKuDate.diffDays(e.tripStartDate,g.getEndDatePlusOne())+1);i="day "+i}else{h=b.KuKuDate.formatDate(g.getEndDate(),d.dateformat);i=b.KuKuDate.formatDate(g.getEndDatePlusOne(),d.dateformat)}h=b("<a/>").attr("href","").html(h);i=b("<a/>").attr("href","").html(i);if(g.isFinalStep()){h.addClass("selected").click(function(m){m.preventDefault()});
b("<p/>").append(h).appendTo(f)}else{if(g.getEndDate().getTime()==g.checkOut.getTime())h.addClass("selected").click(function(m){m.preventDefault()});else d.readonly!=true?h.click(function(m){g.setCheckOut(g.getEndDate());b.KuKuStep.render();m.preventDefault()}):h.click(function(m){m.preventDefault()});if(g.getEndDatePlusOne().getTime()==g.checkOut.getTime())i.addClass("selected").click(function(m){m.preventDefault()});else d.readonly!=true?i.click(function(m){g.setCheckOut(g.getEndDatePlusOne());
b.KuKuStep.render();m.preventDefault()}):i.click(function(m){m.preventDefault()});b("<p/>").append(h).appendTo(f);b("<p/>").append(b("<span/>").html("or")).appendTo(f);b("<p/>").append(i).appendTo(f)}});d.steptabs.stepTabs()},selectStep:function(){}};b.KuKuItemsList={element:null,items:[],categories:[],max:3,initialize:function(c,d,e){this.element=b(c);this.items=d;this.items.reverse();this.categories.push(e);this._render()},is:function(){if(this.element==null)return false;return true},addItem:function(c){this.items.unshift(c);
this._render()},removeItem:function(c){var d=-1;b.each(this.items,function(e){if(this.id==c.id){d=e;return false}});if(d!=-1){this.items.splice(d,1);this._render()}},_filter:function(c){if(this.categories.length==0)return true;if(b.inArray(c.category,this.categories)!=-1)return true;return false},_render:function(){b(this.element).empty();var c=this,d=0;b.each(this.items,function(){if(c._filter(this)){var e=b("<li/>").appendTo(c.element);b("<a/>").attr("href","").html(this.name).appendTo(e).click(function(f){f.preventDefault()});
d+=1;if(d==c.max)return false}})}};b.KuKuNext3={element:null,trip:null,readonly:false,cache:{},initialize:function(c,d,e){this.element=c;this.trip=d;if(e)this.readonly=e},resetCache:function(){this.cache={}},render:function(c){return;var d=this;b(this.element).empty();if(this.trip.tripSteps.length>0)var e=this.trip.getSelectedStep().cityName,f=false;else f=true;var g=false;if(f==true&&K_mapactive&&d.readonly!=true)g=true;if(g==true){b.KuKuMap.clearOverlays("search");b.KuKuMap.clearOverlays("infowindow")}e=
f==true?"Popular locations: ":"After "+e+" you could visit: ";c.next.length>0&&b("<span/>").html(e).appendTo(d.element);b.each(c.next,function(h,i){var j=i.name;if(h<c.next.length-1)j+=",&nbsp;";h=b("<a/>").attr("href","").html(j);h.appendTo(d.element);h.click(function(k){b.KuKuCal2.addCityDate=null;if(d.readonly!=true)if(K_mapactive)if(i.cityid==0){var l=i.name;if(i.country)l=l+", "+i.country;b.KuKuMap.geocode(l,function(){var m=this.Placemark[0],p=m.address,n=new GLatLng(m.Point.coordinates[1],
m.Point.coordinates[0]);b.KuKuMap.clearOverlays("search");b.KuKuMap.clearOverlays("infowindow");b.KuKuMap.drawMarkerCitySearch(n,p,0,m,true)})}else{b.KuKuMap.clearOverlays("search");b.KuKuMap.clearOverlays("infowindow");l=new GLatLng(i.latitude,i.longitude);b.KuKuMap.drawMarkerCitySearch(l,i.name,i.cityid,null,true)}k.preventDefault()});if(g==true){h=new GLatLng(i.latitude,i.longitude);b.KuKuMap.drawMarkerCitySearch(h,i.name,i.cityid,null,false)}});if(g==true){b.KuKuMap.clearOverlays("infowindow");
b.KuKuMap.centerMapToMarkers(["search"])}},refresh:function(){return;if(this.element==null)return false;var c=this,d=this.trip.tripSteps.length>0?this.trip.getSelectedStep().cityid:0;if(b.isEmptyObject(c.cache[d])){var e={};b.each(c.trip.tripSteps,function(){e[this.cityid]=this.cityName});b.getJSON(getbaseurl()+"/ajax/nextsteps/",{format:"json",cityid:d,cities:e,countries:c.trip.countriesCode},function(f){c.cache[d]=f;c.render(f)})}else c.render(c.cache[d])}};b.KuKuLib2={};b.KuKuLib2.indexIndex=function(){swfobject.embedSWF("http://www.youtube.com/v/AM6sYgs23nk?enablejsapi=1&autoplay=1&playerapiid=ytplayer&rel=0&showsearch=0",
"embedded-video-whatis","640","385","8",null,null,{allowScriptAccess:"always"},{id:"myytplayer"});b("#demo-video .video-img, #demo-video .ico-play").overlay({target:b("#overlay-video"),top:"20%",speed:0,closeOnClick:false,expose:{color:"#FFF",loadSpeed:0,opacity:0},onClose:function(){var c=b("#myytplayer").get(0);try{c.stopVideo()}catch(d){}}})};b.KuKuLib2.layout=function(){b("<div/>").addClass("ajax-load").attr("id","Loading").html("Loading...").ajaxStart(function(){b(this).show()}).ajaxStop(function(){b(this).hide()}).appendTo(b("body"));
b(".zend_form span.frm-info").hide();b(".zend_form input").focus(function(){b(".zend_form span.frm-info").hide();b(this).parent().nextAll("span.frm-info").show();b(this).parent().nextAll("span.frm-error").hide()});b.KuKuLib2.flashMessenger.length>0&&b.fn.bar(b.KuKuLib2.flashMessenger[0]);b(".fblogin").click(function(c){FB.init({appId:K_FB_appId,status:true,cookie:true,xfbml:true});FB.login(function(d){d.session&&window.location.reload()},{perms:"email, publish_stream"});c.preventDefault()});b("#share-by-email").overlay({target:b("#overlay-url"),
top:"25%",speed:0,closeOnClick:false,expose:{color:"#FFF",loadSpeed:0,opacity:0},onBeforeLoad:function(){b("#shorturl",this.getOverlay()).text(b.KuKuLib2.trip.shorturl)}});b("#share-on-twitter").overlay({target:b("#overlay-twitter"),top:"25%",speed:0,closeOnClick:false,expose:{color:"#FFF",loadSpeed:0,opacity:0},onBeforeLoad:function(){var c=this.getOverlay();if(b.KuKuLib2.identity){var d=b("#firsttime",c);if(b.KuKuLib2.identity.istwitter==true)b.KuKuLib2.identity.twittername&&d.text("@"+b.KuKuLib2.identity.twittername);
else d.text("After clicking on Tweet, we'll redirect you to Twitter to connect your account to Kukunu.")}d="I'm planning a trip on Kukunu to "+b.KuKuLib2.trip.getOneLineCities(2)+"Come have a look and give me some suggestions. "+b.KuKuLib2.trip.shorturl;var e=b("textarea[name=text]",c);e.bind("textchange",function(){var f=140-parseInt(b(this).val().length);f<0?b("#nbchar",c).addClass("negative"):b("#nbchar",c).removeClass("negative");b("#nbchar",c).html(f)});e.val(d).trigger("textchange")}});b("#share-on-facebook").click(function(c){FB.init({appId:K_FB_appId,
status:true,cookie:true,xfbml:true});var d="I'm planning a trip on Kukunu to "+b.KuKuLib2.trip.getOneLineCities(3)+"Come have a look and give me some suggestions.";FB.ui({method:"stream.publish",message:d,attachment:{name:b.KuKuLib2.trip.triptitle,caption:"A Trip Built on Kukunu,",description:"Travel is Better when you Plan it Yourself.",href:b.KuKuLib2.trip.shorturl},user_message_prompt:"Share your trip with your friends (they won't be able to see any of your personal notes and booking details)."},
function(e){e&&e.post_id&&_gaq.push(["_trackEvent","Facebook","Share"])});c.preventDefault()})};b.KuKuLib2.tripNew=function(){b("#startdate, #enddate").datepicker({firstDay:1,yearRange:"2008:2015",dateFormat:"dd-mm-yy",duration:0,onClose:function(){b(this).focus()}});b("#startdate, #enddate").change(function(){var c=b("#startdate").datepicker("getDate"),d=b("#enddate").datepicker("getDate"),e=b("#nbrdays").val();if(c!=null&&d!=null){c=b.KuKuDate.diffDays(c,d);c+=1;c>=0?b("#nbrdays").val(c):b("#nbrdays").val(0)}else if(c!=
null&&e>0){c=cloneDate(c);b.KuKuDate.addDays(c,parseInt(b("#nbrdays").val())-1);b("#enddate").val(b.KuKuDate.formatDate(c,"d-m-Y"))}else c==null&&d!=null&&b("#enddate").val("")});b("#nbrdays").change(function(){var c=b("#startdate").datepicker("getDate");b("#enddate").datepicker("getDate");var d=b("#nbrdays").val();if(c!=null&&d>0){c=cloneDate(c);b.KuKuDate.addDays(c,parseInt(b("#nbrdays").val())-1);b("#enddate").val(b.KuKuDate.formatDate(c,"d-m-Y"))}});b("#startdate").change(function(){b("#enddate").datepicker("option",
"minDate",b(this).datepicker("getDate"))});b(".zend_form input").blur(function(){if(b("#destination").val()!=""&&b("#nbrdays").val()!=""){var c=b("#destination").val().split(","),d=[];b.each(c,function(g,h){h=h.replace(/^\s+/g,"").replace(/\s+$/g,"");h!=""&&d.push(h)});var e="",f=d.length;b.each(d,function(g,h){e+=h;if(g<f-2)e+=", ";if(g==f-2)e+=" and "});c=b("#nbrdays").val()+" days in "+e;b("#title").val()==""&&b("#title").val(c)}})};b.KuKuLib2.tripItinerary=function(c){b("#kukumap").KuKuMap({width:"330px",
height:"407px"});var d=b.KuKuLib2.trip;b.KuKuCal2.initialize("#kukucal",d,c);b.KuKuStep.initialize("#stepsList",d,c);b.KuKuNext3.initialize("#city-suggestions",d,c);b.KuKuCal2.initNewStepOverlay();b.KuKuCal2.render();b.KuKuStep.render();d.refreshMap();d.selectStep(d.getStepIdByIndex(0));b.isFunction(b.fn.kukualert)&&b.fn.kukualert("INIT",d);b.KuKuMap.trip=d;c=b("form#city-search");var e=b("input[name=q]",c);e.example("Search for a city");c.submit(function(f){var g=e.val();e.val("");b.KuKuCal2.addCityDate=
null;b.KuKuMap.geocode(g,function(){var h=this.Placemark[0],i=h.address,j=new GLatLng(h.Point.coordinates[1],h.Point.coordinates[0]);b.KuKuMap.clearOverlays("search");b.KuKuMap.clearOverlays("infowindow");b.KuKuMap.drawMarkerCitySearch(j,i,0,h,true)});b.isFunction(b.fn.kukualert)&&b.fn.kukualert("CITY_SEARCH",d);f.preventDefault()});b(window).bind("beforeunload",function(){b.ajax({type:"POST",url:getbaseurl()+"/ajax/unlocktrip/",data:{format:"json",tripid:d.tripid},async:false})})};b.KuKuLib2.tripEdit=
function(){var c=b("form#delete-trip");b("#delete-trip-button").overlay({target:"#ov-confirm-new",absolute:true,closeOnClick:true,speed:0,expose:{color:"#FFF",loadSpeed:0,closeSpeed:0,opacity:0},onBeforeLoad:function(){b(".question",this.getOverlay()).html("Please confirm you wish to delete this trip");var d=this;b(".cancel",this.getOverlay()).html("Cancel").unbind("click").click(function(f){d.close();f.preventDefault()});b(".valid",this.getOverlay()).html("Delete").unbind("click").click(function(f){b(c).submit();
d.close();f.preventDefault()});var e=this.getTrigger().offset().left-this.getTrigger().width()/2;this.getConf().left=e;e=this.getTrigger().offset().top-this.getOverlay().height()-75;this.getConf().top=e}})};b.KuKuLib2.tripTransport=function(c){var d=new Trip;d.load(c);var e=d.tripid,f=b("#overlay-transport");b(".add-transport, .edit-transport").overlay({top:100,target:f,expose:{color:"#000",loadSpeed:0,opacity:0.5},closeOnClick:false,closeOnEsc:false,speed:0,onBeforeLoad:function(){b("form",this.getOverlay()).clearForm().hide();
b(".title",this.getOverlay()).hide();b("form ul.book-links",this.getOverlay()).empty();b("ul.tab-nav",this.getOverlay()).show();b("ul.tab-nav li.option",this.getOverlay()).removeClass("selected");b("form input[name=tripid]",this.getOverlay()).val(e);b("form input[name=id]",this.getOverlay()).val(0);if(b(this.getTrigger()).hasClass("add-transport")){b(".title-add",this.getOverlay()).show();b("ul.tab-nav li.default",this.getOverlay()).trigger("click");if(this.getTrigger().parents(".header-box").length!=
0){var g=this.getTrigger().parents(".header-box").get(0),h=eval("("+b(".segment-json",g).text()+")");b("form input[name=type]",this.getOverlay()).each(function(){var k=b(this).val();j=b(this).parents("form").get(0);if(h[k]){b(j).populate(h[k]);if(h[k].bookurl){var l=b("<li/>").appendTo(b("ul.book-links",j));b("<a/>").attr("href",h[k].bookurl.url).attr("target","_blank").html(h[k].bookurl.message).appendTo(l)}}})}}else if(b(this.getTrigger()).hasClass("edit-transport")){b(".title-edit",this.getOverlay()).show();
b("ul.tab-nav",this.getOverlay()).hide();g=this.getTrigger().parents(".transport-detail").get(0);var i=eval("("+b(".transport-json",g).text()+")"),j;b("form input[name=type]").each(function(){if(b(this).val()==i.type){j=b(this).parents("form").get(0);b(j).show();return false}});b(j).populate(i)}}});b("ul.tab-nav li.option",f).click(function(g){b("ul.tab-nav li.option").removeClass("selected");b(this).addClass("selected");b("form",f).hide();var h=b("a",this).attr("href");b(h,f).show();g.preventDefault()});
b("form input.datepicker",f).datepicker({firstDay:1,dateFormat:"dd-mm-yy",duration:"fast"});b(".delete-transport").overlay({target:"#ov-confirm",absolute:true,closeOnClick:false,speed:0,expose:{color:"#000",loadSpeed:0,opacity:0},onBeforeLoad:function(){b(".question",this.getOverlay()).html("Are you sure you want to delete this transport?");var g=this.getTrigger().nextAll("form.delete-transport"),h=this;b(".cancel",this.getOverlay()).html("Cancel").unbind("click").click(function(j){h.close();j.preventDefault()});
b(".valid",this.getOverlay()).html("Delete").unbind("click").click(function(j){b(g).submit();h.close();j.preventDefault()});var i=this.getTrigger().offset().left+50;this.getConf().left=i;i=this.getTrigger().offset().top-this.getOverlay().height()/2-20;this.getConf().top=i}})};b.KuKuLib2.tripBrowseitems=function(c,d,e){var f=new Trip;f.load(c);c=f.getStepById(d);d=c.cityName;b("form.quick-search input[name=q]").example("Search for an hotel in "+d);b(".kukuitem").kukunuItem(c);b.KuKuItemsList.initialize("#saved-items ul",
c.items,e)};b.KuKuLib2.tripShowitems=function(c,d,e,f){var g=new Trip;g.load(c);c=g.tripid;var h=g.getStepById(d);g=h.cityName;var i;switch(e){case 1:i="Search for an hotel in";break;case 2:i="Search for an activity in";break;case 3:i="Search for a restaurant in";break;case 4:i="Search for an event in";break;default:i=""}b("form.quick-search input[name=q]").example(i+" "+g);b(".carousel").kukucarousel2({tripid:c,stepid:d,category:e,hash:f},function(){b(".kukuitem",this).kukunuItem(h)});b.KuKuItemsList.initialize("#saved-items ul",
h.items,e)};b.KuKuLib2.tripPublic=function(c){var d=new Trip;d.load(c);b("#kukumap").KuKuMap({width:"675px",height:"300px"});b.KuKuMap.trip=d;b.KuKuMap.noselection=true;d.refreshMap();b(".item-thumb").resizeImagesPlugin();b(".box-header a").click(function(e){var f=b(this).parents(".box-header").get(0);b(f).nextAll(".box-body").toggle();e.preventDefault()})};b.KuKuLib2.tripPublic2=function(c){var d=new Trip;d.load(c);b("#kukumap").KuKuMap({width:"330px",height:"407px"});b.KuKuMap.trip=d;b.KuKuMap.noselection=
true;d.refreshMap();b.KuKuCal2.initialize("#kukucal",d);b.KuKuCal2.setStatic();b.KuKuCal2.render();b(".item-thumb").resizeImagesPlugin()};b.KuKuLib2.tripPrint=function(c){var d=new Trip;d.load(c);b("#kukumap").KuKuMap({width:"640px",height:"320px"});b.KuKuMap.trip=d;b.KuKuMap.noselection=true;d.refreshMap()};b.KuKuLib2.tripMyitems=function(c,d){var e=new Trip;e.load(c);c=e.getStepById(d);d=c.cityName;b(".kukuitem").kukunuItem(c,{removeitem:true});b("form.quick-search input[name=q]").example("Search for an item in "+
d)};b.KuKuLib2.tripSearchitems=function(c,d,e){var f=new Trip;f.load(c);c=f.getStepById(d);b(".kukuitem").kukunuItem(c);b.each(b(".kukuitem"),function(){b(this).data("item").newcategory=e});b.KuKuItemsList.initialize("#saved-items ul",c.items,e);b(".kukuitem").each(function(){var g=b(this).data("item");if(typeof g.thumb=="undefined"){var h=new FlickrGallery,i=b(".img-thumb-canvas",this);h.search(g,1,function(j){if(j.length==1){i.empty();var k=b("<img/>").addClass("item-thumb").attr("src",j[0].url).appendTo(i);
g.newthumb=j[0].url;k.resizeImagesPlugin()}})}})};b.KuKuLib2.itemCreate=function(){b("select#category").formselect()};b.KuKuLib2.itemView=function(c,d){if(c!=null){var e=new Trip;e.load(c);c=e.getStepById(d)}else c=null;b(".kukuitem").kukunuItem(c,{thumbnoenlarge:true});var f=b(".kukuitem").data("item");b(".to-img-list li a").imagepreview({xOffset:-100,yOffset:-20});if(typeof f.thumb=="undefined"){c=new FlickrGallery;var g=b(".img-thumb-canvas");c.search(f,1,function(h){if(h.length==1){g.empty();
var i=b("<img/>").addClass("item-thumb").attr("src",h[0].url).appendTo(g);f.newthumb=h[0].url;i.resizeImagesPlugin()}})}b(".adm-change-thumbnail").live("click",function(h){var i=b(this).attr("href");b.getJSON(getbaseurl()+"/ajax/changeitemthumb/",{format:"json",id:f.id,src:i},function(){window.location.reload()});h.preventDefault()});b("#adm-load-pictures").click(function(h){(new FlickrGallery).search(f,12,function(i){if(i.length>1){var j=b("#adm-pictures-more");b.each(i,function(){var k=b("<a/>").addClass("adm-change-thumbnail").attr("href",
this.url).appendTo(j);b("<img/>").addClass("item-thumb").attr("src",this.url).css("width","80px").css("height","80px").css("margin","5px").appendTo(k)})}});h.preventDefault()});b("#adm-savedesc").click(function(h){var i=b("form#adm-description textarea").val(),j=b("form#adm-description input[name=source]").val(),k=b("form#adm-description input[name=source_url]").val();b.getJSON(getbaseurl()+"/ajax/changeitemdesc/",{format:"json",id:f.id,text:i,source:j,source_url:k},function(){window.location.reload()});
h.preventDefault()})}})(jQuery);
