var knu={};
knu.facebook={appid:null,activetoken:false,perms:["email","publish_stream","read_stream","offline_access"],init:function(c){knu.facebook.appid=c;FB.init({appId:knu.facebook.appid,status:true,cookie:true,xfbml:true});FB.getLoginStatus(function(d){if(d.session){var e=eval("("+d.perms+")");knu.facebook.activetoken=true;$.each(knu.facebook.perms,function(){if($.inArray($.trim(this),e.extended)==-1)return knu.facebook.activetoken=false})}})},connect:function(c,d){$.KuKuLib2.identity.isfacebook==false&&
FB.login(function(e){if(e.session)$.getJSON(getbaseurl()+"/facebook/ajaxlink/",{format:"json"},function(f){if(f.status==200){knu.facebook.activetoken=true;$.isFunction(c)&&c()}else $.isFunction(d)&&d()});else $.isFunction(d)&&d()},{perms:knu.facebook.perms.join(",")})}};
knu.twitter={connect:function(c,d){if($.KuKuLib2.identity.istwitter==false){var e=getbaseurl()+"/twitter/requestlink";window.kukunuTwitterCallbackSuccess=function(){$.KuKuLib2.identity.istwitter=true;$.isFunction(c)&&c()};window.kukunuTwitterCallbackError=function(){$.KuKuLib2.identity.istwitter=status;$.isFunction(d)&&d()};window.open(e,"kukunutwitter","left=100,top=100,width=800,height=450,toolbar=0,resizable=0")}}};knu.flickr={key:null};
knu.mapactive=typeof google!="undefined"?google.maps?true:false:false;$.tools&&$.extend($.tools.overlay.conf,{fixed:false,speed:0,mask:{color:"#000",loadSpeed:0,opacity:0.5,closeSpeed:0}});function Trip(){this.tripSteps=[];this.countriesCode=[];this.selectedStepid=this.boundingBox=null}
Trip.prototype.load=function(c){var d=this;this.tripid=c.tripID;this.tripStartDate=$.KuKuDate.parseDate(c.tripStartDate);this.tripEndDate=$.KuKuDate.parseDate(c.tripEndDate);this.nodate=c.nodate;this.triptitle=c.tripTitle;this.shorturl=c.shorturl;$.each(c.tripDestinations,function(e,f){f.userContent||$.inArray(f.countryCode,d.countriesCode)==-1&&d.countriesCode.push(f.countryCode)});this.origin={};if(c.tripOriginName){this.origin.name=c.tripOriginName;if(c.tripOrigin){this.origin.cityid=c.tripOrigin.id;
this.origin.latitude=c.tripOrigin.coordinates.latitude;this.origin.longitude=c.tripOrigin.coordinates.longitude}}if(c.tripSteps){$.each(c.tripSteps,function(e,f){var g=new Step;g.parentTrip=d;g.stepid=f.stepID;g.tripid=d.tripid;g.stepStartDate=$.KuKuDate.parseDate(f.stepStartDate);g.stepEndDate=$.KuKuDate.parseDate(f.stepEndDate);g.checkIn=$.KuKuDate.parseDate(f.checkIn);g.checkOut=$.KuKuDate.parseDate(f.checkOut);g.leaving=g.stepEndDate.getTime()==g.checkOut.getTime()?1:0;g.cityid=f.stepCity.id;
g.cityName=f.stepCity.name;g.latitude=f.stepCity.coordinates.latitude;g.longitude=f.stepCity.coordinates.longitude;g.countryCode=f.stepCity.countryCode;g.bbox=knu.mapactive?new google.maps.LatLngBounds(new google.maps.LatLng(f.stepCity.bBox.southWest.latitude,f.stepCity.bBox.southWest.longitude),new google.maps.LatLng(f.stepCity.bBox.northEast.latitude,f.stepCity.bBox.northEast.longitude)):null;f.stepFavorites&&$.each(f.stepFavorites,function(h,i){if(typeof i=="object"){var k=new Item;k.load(i);g.items.push(k)}});
if(f.transports)g.transports=f.transports;g.trmodein=0;g.trmodeout=0;g.longurl=f.longurl;g.shorturl=f.shorturl;d.tripSteps.push(g)});this.sortSteps()}};Trip.prototype.save=function(c){var d={};d.format="json";d.trip=$.toJSON(this.toObject());$.ajax({type:"POST",url:getbaseurl()+"/ajax/savetripstructure/",data:d,async:c,success:function(){}})};Trip.prototype.getStepById=function(c){var d=null;$.each(this.tripSteps,function(e,f){if(f.stepid==c){d=f;return false}});return d};
Trip.prototype.getStepIndexById=function(c){var d=null;$.each(this.tripSteps,function(e,f){if(f.stepid==c){d=e;return false}});return d};Trip.prototype.getStepIdByIndex=function(c){return c<this.tripSteps.length?this.tripSteps[c].stepid:-1};Trip.prototype.getStepByIndex=function(c){return this.tripSteps[c]};Trip.prototype.getSelectedStep=function(){if(this.selectedStepid>0)return this.getStepById(this.selectedStepid);return null};
Trip.prototype.nextStep=function(c){c=this.getStepIndexById(c.stepid);c++;return c<this.tripSteps.length?this.tripSteps[c]:null};Trip.prototype.previousStep=function(c){c=this.getStepIndexById(c.stepid);c--;return c>=0?this.tripSteps[c]:null};Trip.prototype.departureStep=function(){var c=null;$.each(this.tripSteps,function(){if(this.isDepartureStep()){c=this;return false}});return c};
Trip.prototype.finalStep=function(){var c=null;$.each(this.tripSteps,function(){if(this.isFinalStep()){c=this;return false}});return c};Trip.prototype.sortSteps=function(){this.tripSteps.sort(this.sortRule)};Trip.prototype.sortRule=function(c,d){if(c.stepEndDate.getTime()==d.stepEndDate.getTime())return 0;if(c.stepEndDate.getTime()>d.stepEndDate.getTime())return 1;return-1};
Trip.prototype.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})};
Trip.prototype.refreshMapV2=function(){$.KuKuMapV2.clearOverlays();if(this.tripSteps.length>0){$.KuKuMapV2.setRouteType("curve");$.KuKuMapV2.drawTrip(this);$.KuKuMapV2.centerMapToMarkers()}else $.KuKuMapV2.centerMapToCentroid(31.9521,-2.1093,2)};Trip.prototype.refreshMap=function(){$.KuKuMap.clearOverlays();if(this.tripSteps.length>0){$.KuKuMap.setRouteType("curve");$.KuKuMap.drawTrip(this,0,true);$.KuKuMap.centerMapToMarkers(["trip"])}else $.KuKuMap.centerMapToCentroid(31.9521,-2.1093,2)};
Trip.prototype.toObject=function(){var c={};c.tripID=this.tripid;c.tripStartDate=$.KuKuDate.formatDate(this.tripStartDate,"Y-m-d");c.tripEndDate=$.KuKuDate.formatDate(this.tripEndDate,"Y-m-d");c.countriesCode=this.countriesCode;c.tripSteps=[];$.each(this.tripSteps,function(d,e){var f={};f.stepID=e.stepid;f.cityid=e.cityid;f.cityName=e.cityName;f.stepStartDate=$.KuKuDate.formatDate(e.stepStartDate,"Y-m-d");f.stepEndDate=$.KuKuDate.formatDate(e.stepEndDate,"Y-m-d");f.checkIn=$.KuKuDate.formatDate(e.checkIn,
"Y-m-d");f.checkOut=$.KuKuDate.formatDate(e.checkOut,"Y-m-d");f.stepNumberOfDays=$.KuKuDate.diffDays(e.stepStartDate,e.stepEndDate);c.tripSteps.push(f)});return c};Trip.prototype.nextFreeDay=function(){var c=this.getSelectedStep();if(c){var d=c;do{c=d;d=this.nextStep(c)}while(d&&c.stepEndDate.getTime()==d.stepStartDate.getTime());return c.stepEndDate}else return this.tripStartDate};
Trip.prototype.isStepJustAfter=function(c){var d=this.nextStep(c);if(d==null)return false;return d.stepStartDate.getTime()==c.stepEndDate.getTime()};Trip.prototype.isStepJustBefore=function(c){var d=this.previousStep(c);if(d==null)return false;return d.stepEndDate.getTime()==c.stepStartDate.getTime()};
Trip.prototype.isOverlapping=function(c){var d=false;$.each(this.tripSteps,function(e,f){if(c.stepid!=f.stepid)if(c.stepEndDate.getTime()>f.stepStartDate.getTime()&&c.stepStartDate.getTime()<f.stepEndDate.getTime()){d=true;return false}});return d};Trip.prototype.isEmptyDay=function(c){var d=true;$.each(this.tripSteps,function(e,f){if(c>=f.stepStartDate.getTime()&&c<f.stepEndDate.getTime())return d=false});return d};Trip.prototype.numberOfSteps=function(){return this.tripSteps.length};
Trip.prototype.numberOfDays=function(){return $.KuKuDate.diffDays(this.tripStartDate,this.tripEndDate)+1};Trip.prototype.numberOfEmptyDays=function(){var c=$.KuKuDate.diffDays(this.tripStartDate,this.tripEndDate)+1,d=this;$.each(this.tripSteps,function(e,f){var g=f.stepStartDate.getTime();do{g>=d.tripStartDate.getTime()&&g<=d.tripEndDate.getTime()&&c--;g+=$.KuKuDate.oneday}while(g<f.stepEndDate.getTime())});return c};
Trip.prototype.getCities=function(){var c=[];$.each(this.tripSteps,function(){$.inArray(this.cityName,c)==-1&&c.push(this.cityName)});return c};Trip.prototype.getOneLineCities=function(c){var d=this.getCities();if(d.length>c)d=d.slice(0,c).join(", ")+",... ";else if(d.length>1){c=d.pop();d=d.join(", ")+" and "+c+", "}else d=d[0]+", ";return d};
Trip.prototype.addStepDay=function(c,d){var e=this.getStepIndexById(c);if($.KuKuDate.diffDays(this.tripSteps[e].stepStartDate,this.tripSteps[e].stepEndDate)<=-d)return false;if(this.tripSteps[e+1]&&$.KuKuDate.diffDays(this.tripSteps[e].stepEndDate,this.tripSteps[e+1].stepStartDate)<d)return false;$.KuKuDate.addDays(this.tripSteps[e].stepEndDate,d);$.KuKuCal2.renderSteps();this.selectStep(c);$.KuKuStep.render();this.save(true)};
Trip.prototype.selectStep=function(c){this.selectedStepid=c;if(c>0){$.KuKuCal2.selectStep(this.selectedStepid);$.KuKuStep.selectStep(this.selectedStepid)}};Trip.prototype.removeStep=function(c){this.tripSteps.splice(this.getStepIndexById(c),1);this.adjustCheckInCheckOut();$.KuKuCal2.renderSteps();$.KuKuStep.render();this.refreshMap();this.selectedStepid==c?this.selectStep(this.getStepIdByIndex(0)):this.selectStep(this.selectedStepid);this.save(true)};
Trip.prototype.moveStep=function(c){if(!this.isOverlapping(c)){this.tripSteps[this.getStepIndexById(c.stepid)]=c;this.sortSteps();this.adjustCheckInCheckOut();$.KuKuStep.render();this.refreshMap();this.save(true)}this.selectStep(c.stepid);$.KuKuCal2.renderSteps();$.isFunction($.fn.kukualert)&&$.fn.kukualert("STEP_MOVE",this)};
Trip.prototype.addNewStep=function(c,d,e){var f=this,g=false;c.parentTrip=this;if(!c.cityName||!c.latitude||!c.longitude)g=true;var h=$.KuKuDate.formatDate(c.stepStartDate,"Y-m-d"),i=$.KuKuDate.addDays(cloneDate(c.stepStartDate),1);i=$.KuKuDate.formatDate(i,"Y-m-d");var k=h;$.each(this.tripSteps,function(){if(this.stepEndDate.getTime()==c.stepStartDate.getTime()){k=$.KuKuDate.formatDate(this.getCheckOutDate(),"Y-m-d");return false}});var j=c.stepStartDate.getTime()==f.tripEndDate.getTime()?h:i;$.post(getbaseurl()+
"/ajax/insertstep/",{format:"json",tripid:this.tripid,stepstart:h,stepend:i,checkin:k,checkout:j,cityid:c.cityid,citydata:g,googledata:$.toJSON(d)},function(l){c.stepid=l.stepid;c.longurl=l.longurl;c.shorturl=l.shorturl;if(g){c.cityid=l.cityid;c.cityName=l.cityname;c.longitude=l.longitude;c.latitude=l.latitude}f.tripSteps.push(c);f.sortSteps();f.adjustCheckInCheckOut();$.KuKuCal2.renderSteps();$.KuKuStep.render();f.refreshMap();f.selectStep(c.stepid);$.isFunction($.fn.kukualert)&&$.fn.kukualert("ADD_STEP",
f);$.isFunction(e)&&e.call()})};function Step(){this.longitude=this.latitude=this.cityName=null;this.items=[];this.transports={leaving:[],arriving:[],inside:[]}}
Step.prototype.clone=function(){var c=new Step;c.stepid=this.stepid;c.tripid=this.tripid;c.parentTrip=this.parentTrip;c.stepStartDate=cloneDate(this.stepStartDate);c.stepEndDate=cloneDate(this.stepEndDate);c.checkIn=cloneDate(this.checkIn);c.checkOut=cloneDate(this.checkOut);c.leaving=this.leaving;c.cityid=this.cityid;c.cityName=this.cityName;c.latitude=this.latitude;c.longitude=this.longitude;c.bbox=this.bbox;c.items=this.items;c.transports=this.transports;c.trmodein=this.trmodein;c.trmodeout=this.trmodeout;
c.longurl=this.longurl;c.shorturl=this.shorturl;return c};Step.prototype.numberOfDays=function(){return $.KuKuDate.diffDays(this.stepStartDate,this.stepEndDate)};Step.prototype.getCheckInDate=function(){return this.checkIn};Step.prototype.getCheckOutDate=function(){return this.checkOut};Step.prototype.getNumberOfNights=function(){return $.KuKuDate.diffDays(this.checkIn,this.checkOut)};Step.prototype.getStartDate=function(){return this.stepStartDate};
Step.prototype.getEndDate=function(){return $.KuKuDate.addDays(cloneDate(this.stepEndDate),-1)};Step.prototype.getEndDatePlusOne=function(){return this.stepEndDate};Step.prototype.isDepartureStep=function(){if(this.parentTrip.tripStartDate.getTime()==this.stepStartDate.getTime())return true;return false};
Step.prototype.isOutsideTrip=function(c){if(c){if(this.parentTrip.tripEndDate.getTime()<this.getEndDate().getTime())return true;if(this.parentTrip.tripStartDate.getTime()>this.getStartDate().getTime())return true}else{if(this.parentTrip.tripEndDate.getTime()<this.stepStartDate.getTime())return true;if(this.parentTrip.tripStartDate.getTime()>this.getEndDate().getTime())return true}return false};
Step.prototype.isFinalStep=function(){if($.KuKuDate.addDays(cloneDate(this.parentTrip.tripEndDate),1).getTime()==this.stepEndDate.getTime())return true;return false};Step.prototype.setCheckOut=function(c){this.checkOut=c;this.leaving=this.checkOut.getTime()==this.stepEndDate.getTime()?1:0;if(this.parentTrip.isStepJustAfter(this))this.parentTrip.nextStep(this).checkIn=c;this.parentTrip.save(true)};
Step.prototype.setTransportMode=function(c,d){if(d==0)this.trmodein=c;else if(d==1)this.trmodeout=c;var e=getbaseurl()+"/ajax/setsteptrmode/";$.getJSON(e,{format:"json",tripid:this.tripid,stepid:this.stepid,stepmode:d,mode:c});this.parentTrip.refreshMap();this.parentTrip.selectStep(this.parentTrip.selectedStepid)};
Step.prototype.addItem=function(c,d){var e=getbaseurl()+"/ajax/additemtostep/",f={format:"json",tripid:this.tripid,stepid:this.stepid,cityid:this.cityid,itemid:c.id};if(c.category==0&&c.newcategory){f.newcategory=c.newcategory;c.category=c.newcategory}if(c.newthumb)f.newthumb=c.newthumb;$.getJSON(e,f,function(g){$.isFunction(d)&&d(g.stepitem)});_gaq.push(["_trackEvent","Item","Save",c.id])};
Step.prototype.removeItem=function(c){var d=getbaseurl()+"/ajax/removeitemfromstep/";$.getJSON(d,{format:"json",tripid:this.tripid,stepid:this.stepid,stepitem:c.stepitem});_gaq.push(["_trackEvent","Item","Remove",c.id])};Step.prototype.changeItemDay=function(c,d){var e=getbaseurl()+"/ajax/setitemday/",f={format:"json",tripid:this.tripid,stepid:this.stepid,itemid:c.id,stepitem:c.stepitem,numday:d};parseInt(d)!=c.numday&&$.getJSON(e,f)};
Step.prototype.getDatesText=function(){var c=this.numberOfDays(),d=$.KuKuDate.formatDate(this.getStartDate(),"M, d"),e=$.KuKuDate.formatDate(this.getEndDate(),"M, d");if(c>1){c=c+" days";d=this.parentTrip.nodate?c:c+" from "+d+" to "+e}else{c="1 day";d=this.parentTrip.nodate?c:c+" on "+d}return d};function Item(){}
Item.prototype.load=function(c){this.id=c.id;this.name=c.name;this.locality=c.locality;this.category=parseInt(c.category);this.newcategory=parseInt(c.newcategory);this.thumb=c.thumb;this.address=c.address;this.geotype=c.geotype;this.latitude=c.coordinates.latitude;this.longitude=c.coordinates.longitude;if(c.stepitem){this.stepitem=parseInt(c.stepitem);this.numday=parseInt(c.numday)}};Item.prototype.setStepItem=function(c){this.stepitem=c;this.numday=0};
Item.prototype.unsetStepItem=function(){this.numday=this.stepitem=null};Item.prototype.updatedesc=function(c){var d=getbaseurl()+"/item/updatedescription/";$.getJSON(d,{format:"json",itemid:this.id,text:c})};function FlickrGallery(){this.key_=knu.flickr.key;this.baseurl_="http://api.flickr.com/services/rest/?method=flickr.photos.search"}
FlickrGallery.prototype.buildPhoto_=function(c){var d={};d.url="http://farm"+c.farm+".static.flickr.com/"+c.server+"/"+c.id+"_"+c.secret+".jpg";d.title=c.title;d.owner=c.owner;return d};FlickrGallery.prototype.buildImageUrl_=function(c){return"http://farm"+c.farm+".static.flickr.com/"+c.server+"/"+c.id+"_"+c.secret+".jpg"};FlickrGallery.prototype.buildApiUrl_=function(c){var d=this.baseurl_;for(key in c)d+="&"+key+"="+c[key];return d};
FlickrGallery.prototype.search=function(c,d,e){c=this.buildApiUrl_({text:c.name?c.name+"%20"+c.locality:c,sort:"relevance",media:"photos",per_page:d,api_key:this.key_,format:"json"});var f=this;$.ajax({url:c,dataType:"jsonp",jsonp:"jsoncallback",success:function(g){var h=[];$.each(g.photos.photo,function(){h.push(f.buildPhoto_(this))});e(h)},complete:function(g,h){debugGG(h)}})};function cloneDate(c){return new Date(+c)}function getbaseurl(){return $("#baseurl").text()}
function distance(c,d,e,f){if($.KuKuMap.isActive()==false)return false;c=new google.maps.LatLng(c,d);e=new google.maps.LatLng(e,f);return $.KuKuMap.distance(c,e)}function debugGG(c){window.console&&window.console.log&&window.location.hostname=="www.kukunu.dev"&&window.console.log(c)}
$.fn.kukutooltip=function(c,d){var e=$.extend({position:"bottom",mask:false,dismiss:true},d);return this.each(function(){var f=$("<div/>").addClass("tooltip").addClass(e.position).html(c);e.dismiss==true&&$("<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"}$(this).after(f).tooltip({position:g,relative:true,events:{def:"mouseclick,mouseclick",
input:"mouseclick,mouseclick",tooltip:"mouseclick,mouseclick"}});f=$(this).data("tooltip").getTip();g=$(".close",f);if(g.length==0)g=f;var h=this;$.isFunction(e.action)&&$(".action",f).click(function(i){$(h).data("tooltip").getTip().remove();$(h).data("tooltip",null);e.action.call(this);i.preventDefault()});g.click(function(i){$(h).data("tooltip").getTip().remove();$(h).data("tooltip",null);i.preventDefault()});$(this).data("tooltip").show()})};
$.fn.kukutooltip_remove=function(){return this.each(function(){if($(this).data("tooltip")){$(this).data("tooltip").getTip().remove();$(this).data("tooltip",null)}})};$.fn.kukualert=function(c,d){var e=d.numberOfSteps();c=="ADD_STEP"&&e==1&&$("#kukucal .step-segment:first").kukutooltip("Add days to this city by pulling the edges in your calendar",{position:"left"})};
$.fn.kukutabs=function(){return this.each(function(){if($(".tab-nav").length==0)return false;if($(".tab-content").length==0)return false;$(".tab-content",this).hide();$(".tab-nav:first",this).addClass("active");$(".tab-content:first",this).show();var c=this;$(".tab-nav",this).click(function(d){$(".tab-nav",c).removeClass("active");$(this).addClass("active");$(".tab-content",c).hide();var e=$(this).attr("href");$(e).show();d.preventDefault()})})};
$.fn.kukutip=function(c){var d=$.extend({yOffset:20,overlayid:"kukutip",textclass:"policy-tooltip-text"},c);return this.each(function(){$(this).hover(function(e){this.title="";var f=$(this).nextAll("."+d.textclass).html(),g=$("<p/>").attr("id",d.overlayid);g.html(f);$("body").append(g);f=g.width()/2;g.css("top",e.pageY+d.yOffset+"px").css("left",e.pageX-f+"px").show()},function(){$("#"+d.overlayid).remove()});$(this).mousemove(function(e){var f=$("#"+d.overlayid).width()/2;$("#"+d.overlayid).css("top",
e.pageY+d.yOffset+"px").css("left",e.pageX-f+"px")});$(this).click(function(e){e.preventDefault()})})};$.fn.simpleMenu=function(c,d){return this.each(function(){$(c).hide();$(this).click(function(e){e.preventDefault()}).hover(function(){$(c).show()},function(){$(c).hide()});$(c).hover(function(){$(c).show()},function(){$(c).hide()});$.isFunction(d)&&$("a",c).click(function(e){d.call(this);e.preventDefault()})})};
$.fn.imagepreview=function(c){var d={xOffset:30,yOffset:10,overlayid:"img-preview-ov",showcaption:false};c&&$.extend(d,c);return this.each(function(){$(this).hover(function(e){this.t=this.title;this.title="";var f=this.t!=""?"<br/>"+this.t:"",g=$("<p/>").attr("id",d.overlayid);d.showcaption==true&&g.text(f);$("<img/>").attr("src",this.href).attr("alt","Loading...").appendTo(g);$("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;$("#"+d.overlayid).remove()});$(this).mousemove(function(e){$("#"+d.overlayid).css("top",e.pageY-d.yOffset+"px").css("left",e.pageX+d.xOffset+"px")});$(this).click(function(e){e.preventDefault()})})};
$.fn.clearForm=function(c){return this.each(function(){var d=this.type,e=this.tagName.toLowerCase(),f=$(this).attr("name");if(e=="form")return $(":input",this).clearForm(c);if(d=="text"||d=="password"||e=="textarea")this.value="";else if(c&&d=="hidden"&&f!="redirect")this.value="";else if(d=="checkbox"||d=="radio")this.checked=false;else if(e=="select")this.selectedIndex=-1})};
$.fn.twittercheckbox=function(){return this.each(function(){$(this).change(function(){$(this).is(":checked")&&knu.twitter.connect(function(){},function(){$(self).attr("checked","")})})})};$.fn.facebookcheckbox=function(){return this.each(function(){var c=this;$(this).click(function(){$(this).is(":checked")&&$.KuKuLib2.identity.isfacebook==false&&knu.facebook.connect(function(){},function(){$(c).attr("checked","")})})})};
$.fn.confirmation=function(c){var d=$.extend({text:"Are you sure?",cancelText:"Cancel",submitText:"Submit",leftmode:0},c);return this.each(function(){$(this).overlay({target:"#ov-confirm-new",mask:{color:"#FFF",loadSpeed:0,closeSpeed:0,opacity:0},onBeforeLoad:function(){$(".question",this.getOverlay()).html(d.text);var e=this;$(".cancel",this.getOverlay()).html(d.cancelText).unbind("click").click(function(g){e.close();g.preventDefault()});$(".valid",this.getOverlay()).html(d.submitText).unbind("click").click(function(g){d.submit.call();
e.close();g.preventDefault()});var f=d.leftmode==0?this.getTrigger().offset().left-(this.getOverlay().width()-this.getTrigger().width())/2:this.getTrigger().offset().left-this.getTrigger().width()-this.getOverlay().width()/2;this.getConf().left=f-$(window).scrollLeft();f=this.getTrigger().offset().top-this.getOverlay().height()-65-$(window).scrollTop();this.getConf().top=f}})})};
$.fn.resizeImagesPlugin=function(c){var d=$.extend({mode:"crop",noenlarge:false,overlay:false},c),e=function(f){$(f).show();var g=$(f).parent().get(0),h={width:$(g).width(),height:$(g).height()},i=$(f).width(),k=$(f).height(),j=i/k,l=h.width/h.height,m=d.mode=="crop"?j<l?h.width/i:h.height/k:j<l?h.height/k:h.width/i;if(d.noenlarge==true&&m>1)m=1;j=k*m;l=-(j-h.height)/2;m=i*m;h=-(m-h.width)/2;if(d.noenlarge==true){if(m<$(g).width()){$(g).width(m);h=0}if(j<$(g).height()){$(g).height(j);l=0}}$(".img-thumb-loading",
g).remove();$(f).width(m);$(f).height(j);$(f).css({position:"absolute",top:l,left:h});if(d.overlay){var n={x:0,y:20};$(f).mouseenter(function(o){var p=$(this).attr("src");p=$("<img/>").attr("src",p);p.css({position:"absolute","z-index":999});p.css("top",o.pageY+n.y);p.css("left",o.pageX+n.x);o=Math.max(i,k);o=o>250?250/o:1;p.width(i*o);p.height(k*o);p.addClass("img-thumb-overlay");p.appendTo("body")}).mousemove(function(o){var p=$(".img-thumb-overlay");p.css("top",o.pageY+n.y);p.css("left",o.pageX+
n.x)}).mouseleave(function(){$(".img-thumb-overlay").remove()})}};return this.each(function(){var f=$(this).parent().get(0);if($(f).hasClass("img-thumb-canvas")){d.noenlarge==true&&$(f).css("background","#FFFFFF");$(this).hide();if(this.complete)e(this);else{$(f).addClass("img-thumb-loading");$(this).load(function(){$(f).removeClass("img-thumb-loading");e(this)})}}})};
$.kukumiles={element:null,settings:null,numbers:[],_initialPos:[1,-400,-800,-1200,-1600,-2E3,-2320,-2720,-3120,-3520],_currentvalue:0,_increment:0,_animationFrames:4,_frameShift:80,init:function(c,d){$.kukumiles.element=$(c);$.kukumiles.settings=$.extend({initial:0,increment:3,speed:250},d);$.kukumiles._currentvalue=$.kukumiles.settings.initial;$.kukumiles._increment=$.kukumiles.settings.increment;$("li.number",$.kukumiles.element).each(function(){$.kukumiles.numbers.unshift(this)});$.kukumiles._initialDigitCheck();
setInterval($.kukumiles._doCount,$.kukumiles.settings.speed)},_initialDigitCheck:function(){for(var c=$.kukumiles._splitToArray($.kukumiles._currentvalue.toString()),d=0,e=c.length;d<e;d++)$($.kukumiles.numbers[d]).css({"background-position":"0 "+$.kukumiles._initialPos[c[d]]+"px"})},_splitToArray:function(c){for(var d=[],e=0,f=c.length;e<f;e++){subStart=c.length-(e+1);subEnd=c.length-e;d[e]=c.substring(subStart,subEnd)}return d},_doCount:function(){var c=$.kukumiles._currentvalue.toString();$.kukumiles._currentvalue+=
$.kukumiles._increment;var d=$.kukumiles._currentvalue.toString();$.kukumiles._digitCheck(c,d)},_digitCheck:function(c,d){for(var e=$.kukumiles._splitToArray(c),f=$.kukumiles._splitToArray(d),g=0,h=f.length;g<h;g++)f[g]!=e[g]&&$.kukumiles._animateDigit(g,e[g],f[g])},_animateDigit:function(c,d,e){var f;switch(c){case 0:f=$.kukumiles.settings.speed/8;break;case 1:f=$.kukumiles.settings.speed/4;break;default:f=$.kukumiles.settings.speed/2}f=f>100?100:f;d=$.kukumiles._initialPos[d];for(var g=0;g<$.kukumiles._animationFrames;g++){d-=
$.kukumiles._frameShift;g==$.kukumiles._animationFrames-1?$($.kukumiles.numbers[c]).delay(f).animate({"background-position":"0 "+d+"px"},0,function(){$($.kukumiles.numbers[c]).css({"background-position":"0 "+$.kukumiles._initialPos[e]+"px"},0)}):$($.kukumiles.numbers[c]).delay(f).animate({"background-position":"0 "+d+"px"},0)}}};
$.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=$.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 $.KuKuDate.zeroPad(c.getHours()%12||12)},H:function(c){return $.KuKuDate.zeroPad(c.getHours())},i:function(c){return $.KuKuDate.zeroPad(c.getMinutes())},F:function(c){return $.KuKuDate.monthNames[c.getMonth()]},m:function(c){return $.KuKuDate.zeroPad(c.getMonth()+1)},d:function(c){return $.KuKuDate.zeroPad(c.getDate())},j:function(c){return c.getDate()},D:function(c){return $.KuKuDate.dayNames[c.getDay()]},b:function(c){return $.KuKuDate.dayAbbrevs[c.getDay()]},
M:function(c){return $.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 $.KuKuDate.parseISO8601(c,true)||Date.parse(c)||new Date(parseInt(c)*1E3)},parseISO8601:function(c,d){var e=c.match(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(!e)return null;var f=0,g=new Date(e[1],0,1);e[3]&&g.setMonth(e[3]-1);e[5]&&g.setDate(e[5]);e[7]&&g.setHours(e[7]);e[8]&&g.setMinutes(e[8]);e[10]&&g.setSeconds(e[10]);e[12]&&g.setMilliseconds(Number("0."+e[12])*1E3);if(!d){if(e[14]){f=Number(e[16])*
60+Number(e[17]);f*=e[15]=="-"?1:-1}f-=g.getTimezoneOffset()}return new Date(Number(g)+f*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")}};
$.KuKuAnalytics={init:function(c,d){_gaq.push(["_setAccount",c]);_gaq.push(["_trackPageview"]);d==1?this.setEvent("user","kukunaut","cookie"):this.setEvent("user","visitor","");this._eventActions();var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var f=document.getElementsByTagName("script")[0];f.parentNode.insertBefore(e,f)},_eventActions:function(){var c=this;$(document).ready(function(){$url=
c._urlSplit();$("#account-control .login-button").live("click",function(d){c.setEvent("login","login-link","top - "+$url.type+$url.id);d.preventDefault()});$("#account-control .fblogin").live("click",function(d){c.setEvent("facebook","fb-login","top - "+$url.type+$url.id);d.preventDefault()});$("#account-control .signup-button").live("click",function(d){c.setEvent("signup","signup-link","top - "+$url.type+$url.id);d.preventDefault()});$("#page-header .signup-button").live("click",function(d){c.setEvent("signup",
"signup-button","homepage button");d.preventDefault()});$("#login-form #login-button").live("click",function(){c.setCustVar("user-type","kukunaut",2);c.setEvent("login","login-submit","login overlay")});$("#login-form .facebook-signin").live("click",function(){c.setEvent("facebook","fb-login","login overlay")});$("#signup-form #signup-button").live("click",function(){c.setCustVar("user-type","new user",2);c.setEvent("signup","signup-submit","signup overlay")});$("#signup-form .facebook-signin").live("click",
function(){c.setEvent("facebook","fb-login","signup overlay")});$(".commenting-system .button").live("click",function(d){$(this).attr("id")>0?c.setEvent("comment","reply","reply - "+$url.type+$url.id):c.setEvent("comment","post","comment - "+$url.type+$url.id);$(".commenting-system #share_facebook").is(":checked")&&c.setEvent("facebook","fb-share","itinerary comment");$(".commenting-system #share_twitter").is(":checked")&&c.setEvent("twitter","twitter-share","itinerary comment");d.preventDefault()});
$("#share-on-facebook").live("click",function(){c.setEvent("facebook","fb-share-link","side itinerary link");$("#comment_share_facebook").is(":checked")&&c.setEvent("facebook","fb-share","itinerary overlay");$("#comment_share_twitter").is(":checked")&&c.setEvent("twitter","twitter-share","itinerary overlay")});$("#share-on-twitter").live("click",function(){c.setEvent("twitter","twitter-share-link","side itinerary-link");$("#comment_share_facebook").is(":checked")&&c.setEvent("facebook","fb-share",
"itinerary overlay");$("#comment_share_twitter").is(":checked")&&c.setEvent("twitter","twitter-share","itinerary overlay")});$("#get-advices").live("click",function(){c.setEvent("advice","get-advice-link","side itinerary-link")});$("#overlay-transport .button").live("click",function(){c.setEvent("transport","add","transport add overlay "+$url.type+$url.id)});$("#overlay-additem .button").live("click",function(){if($(this).val()=="Suggest"){c.setEvent("place","suggest","place suggest overlay");$(".sharing-social input[name=sharefacebook]").is(":checked")&&
c.setEvent("facebook","fb-share","place share overlay");$(".sharing-social input[name=sharetwitter]").is(":checked")&&c.setEvent("twitter","twitter-share","place share overlay")}else{c.setEvent("place","add","place add overlay");$(".sharing-social input[name=facebook]").is(":checked")&&c.setEvent("facebook","fb-share","place add overlay");$(".sharing-social input[name=twitter]").is(":checked")&&c.setEvent("twitter","twitter-share","place add overlay")}});$(".item-content .button").live("click",function(){c.setEvent("comment-item",
"post","item comment - "+$url.type+$url.id)});$(".bf-rooms .btn-large").live("click",function(){c.setEvent("hotel","book","book room hotel - "+$url.type+$url.id)});$(".item-meta #booknow").live("click",function(){c.setEvent("hotel","book","item booknow link - "+$url.type+$url.id)})})},_urlSplit:function(){var c=[];pathArray=window.location.pathname.split("/");pathArray[1]?c.type=pathArray[1]+"-":c.type="homepage";if(pathArray[2]){ids=pathArray[2].split("-");c.id=ids[0]}else c.id="";return c},setEvent:function(c,
d,e){_gaq.push(["_trackEvent",c,d,e,0])},setCustVar:function(c,d,e){var f=1;switch(c){case "user-type":f=1}_gaq.push(["_setCustomVar",f,c,d,e])},setVirtualPage:function(c){_gaq.push(["_trackPageview",c])}};
$.fn.kukumagicadd=function(c){return this.each(function(){var d={};$(this).autocomplete({minLength:3,delay:500,source:function(e,f){e.term in d?f(d[e.term]):$.ajax({url:getbaseurl()+"/ajax/itemsearch/",dataType:"json",data:{format:"json",q:e.term,lat:c.lat,lng:c.lng,debug:0},success:function(g){d[e.term]=g.response;g.response.push({name:e.term,source:99,locality:c.name,cityid:c.id,notfound:true,nitems:g.response.length});f(g.response)}})},open:function(){var e=$(this).data("autocomplete").menu;e.activate($.Event({type:"mouseenter"}),
e.element.children().first())}});$(this).data("autocomplete")._renderItem=function(e,f){var g=f.notfound!=true?"<a><div class='title'>"+f.name+"</div><div class='subtitle'>"+f.address+"</div></a>":"<a class='notfound'><div>"+(f.nitems>0?"Not finding what you are looking for?":"Your search &laquo;"+f.name+"&raquo; did not match any places")+"</div><div class='action'>Create a new place &raquo;</div></a>";return $("<li></li>").data("item.autocomplete",f).append(g).appendTo(e)}})};
$.fn.kukumagiccityadd=function(){var c=function(d){var e=[];$.each(d,function(){this.geometry.location.lat=this.geometry.location.lat();this.geometry.location.lng=this.geometry.location.lng();if(this.geometry.bounds){this.geometry.bounds.southwest={lat:this.geometry.bounds.getSouthWest().lat(),lng:this.geometry.bounds.getSouthWest().lng()};this.geometry.bounds.northeast={lat:this.geometry.bounds.getNorthEast().lat(),lng:this.geometry.bounds.getNorthEast().lng()}}if($.inArray("locality",this.types)!=
-1){var f,g,h,i;$.each(this.address_components,function(){if($.inArray("locality",this.types)!=-1)f=this.long_name;if($.inArray("administrative_area_level_1",this.types)!=-1)g=this.long_name;if($.inArray("country",this.types)!=-1){h=this.long_name;i=this.short_name}});this.label=i!="US"?f+", "+h:f+", "+g+", "+h}else this.label=this.formatted_address;e.push(this)});return e};return this.each(function(){var d={};$(this).autocomplete({minLength:3,delay:500,source:function(e,f){e.term in d?f(d[e.term]):
$.KuKuMap.geocode(e.term,function(g){g=c(g);d[e.term]=g;f(g)})},open:function(){var e=$(this).data("autocomplete").menu;e.activate($.Event({type:"mouseenter"}),e.element.children().first())}});$(this).data("autocomplete")._renderItem=function(e,f){return $("<li></li>").data("item.autocomplete",f).append("<a><div class='title'>"+f.label+"</div></a>").appendTo(e)};$(this).data("autocomplete")._renderMenu=function(e,f){var g=this;$.each(f,function(h,i){g._renderItem(e,i)})}})};
$.additemoverlay={element:"#overlay-additem",content:null,overlay:null,item:null,step:null,tripslist:null,city:null,status:null,suggest:false,initialize:function(){var c=this;if(this.overlay)return false;this.overlay=$(this.element).overlay({api:true});$("input[name=sharetwitter]",this.element).twittercheckbox();$("input[name=sharefacebook]",this.element).facebookcheckbox();$("form").submit(function(){$(".saving",c.element).show();$("input[type=submit]",c.element).hide()});this.content=$(".overlay-save-item-content",
this.element).clone(true)},setTripsList:function(c){this.tripslist=c},hasTripsList:function(){return this.tripslist?true:false},setCity:function(c){this.city=c},open:function(c,d,e){this.item=c;this.step=d?d:null;this.suggest=e?true:false;this._resetoverlay();this._setstatus();this._showhide();this._populateform();this._populatehtml();this._imageswidget();this._stepselection();$(this.overlay).load()},_resetoverlay:function(){$(this.element).empty();this.content.clone(true).appendTo(this.element)},
_showhide:function(){if(this.status.mode==0){$(".item-suggest",this.element).hide();$(".item-own",this.element).show()}else if(this.status.mode==1){$(".item-own",this.element).hide();$(".item-suggest",this.element).show()}if(this.status.source==0){$(".item-usergen",this.element).hide();$(".item-catalog",this.element).show()}else if(this.status.source==1){$(".item-catalog",this.element).hide();$(".item-usergen",this.element).show()}this.status.type==1?$(".sharing-social",this.element).hide():$(".sharing-social",
this.element).show()},_populateform:function(){if(this.status.step==0){this.item.tripid=this.step.tripid;this.item.stepid=this.step.stepid;this.item.cityid=this.step.cityid}else{this.item.tripid=0;this.item.stepid=0;this.item.cityid=0}if(this.status.mode==0){this.item.suggest=0;this.item.submit="Save"}else if(this.status.mode==1){this.item.suggest=1;this.item.submit="Suggest"}if(this.item.gdata)this.item.gdata=$.toJSON(this.item.gdata);$("form",this.element).populate(this.item)},_populatehtml:function(){if(this.status.source==
0){this.item.name&&$("#item-name",this.element).text(this.item.name);this.item.address&&$("#item-address",this.element).text(this.item.address);this.item.phone&&$("#item-phone",this.element).text(this.item.phone)}},_imageswidget:function(){var c=$("input[name=thumb]",this.element),d=$("#item-img-container",this.element);if(this.item.thumb)var e=$("<div/>").data("url",this.item.thumb).addClass("img-thumb-canvas").width(150).height(150).css("margin-bottom","10px").appendTo(d),f=$("<img/>").addClass("item-thumb").attr("src",
this.item.thumb).appendTo(e),g=setInterval(function(){if(e.width()!=0){f.resizeImagesPlugin();clearInterval(g)}},500);var h=this;if(this.item.source==5||this.item.source==99){var i=this.item.name+" "+this.item.locality;(new FlickrGallery).search(i,8,function(k){k.length>1&&$.each(k,function(l,m){if(h.item.thumb&&h.item.thumb==m.url)return true;var n=$("<div/>").data("url",m.url).addClass("img-thumb-canvas").width(150).height(150).css("margin-bottom","10px").appendTo(d),o=$("<img/>").addClass("item-thumb").attr("src",
m.url).appendTo(n);if($("div",d).length==1){n.show();c.val(m.url);var p=setInterval(function(){if(n.width()!=0){o.resizeImagesPlugin();clearInterval(p)}},500)}});k=$("<div/>").data("url","").hide().appendTo(d);var j=getbaseurl()+"/mystyles/images/no-image.jpg";$("<img/>").addClass("item-thumb").attr("src",j).attr("height","150").appendTo(k);if($("div",d).length==1){k.show();c.val("")}$("div",d).length>1&&$("a#item-img-next",this.element).show().click(function(l){var m=$("div:visible",d),n=m.next("div");
if(n.length==0)n=$("div:first-child",d);m.hide();n.show();$("img",n).resizeImagesPlugin();c.val(n.data("url"));l.preventDefault()})})}},_stepselection:function(){if(this.status.type==1)return false;var c=this;if(this.status.step==0){$(".onestep",this.element).show();$("#triptitle",this.element).text(this.step.parentTrip.triptitle);$("#cityname",this.element).text(this.step.cityName)}else if(this.status.step==1){var d=$(".multistep",this.element);d.show();var e=$("<select/>").appendTo(d);$.each(this.tripslist,
function(){var g=this.tripid,h=$("<optgroup/>").attr("label",this.title).appendTo(e);$.each(this.steps,function(){var i=g+"_"+this.stepid;i=$("<option/>").attr("value",i).html(this.cityname).appendTo(h);this.selected==1&&i.attr("selected","selected")})});d=$(e).val().split("_")[0];var f=$(e).val().split("_")[1];$("input[name=tripid]",c.element).val(d);$("input[name=stepid]",c.element).val(f);e.change(function(){var g=$(this).val().split("_")[0],h=$(this).val().split("_")[1];$("input[name=tripid]",
c.element).val(g);$("input[name=stepid]",c.element).val(h)})}},_setstatus:function(){this.status={type:this.item.stepitem?1:0,mode:this.suggest?1:0,source:this.item.source==99?1:0};this.status.step=this.step?0:this.tripslist?1:2}};$.newtripoverlay={element:"#overlay-please-create-trip",overlay:null,open:function(){if(this.overlay==null)this.overlay=$(this.element).overlay({api:true});this.overlay.load()}};
$.fn.kukunuItemNew=function(c,d){var e=$.extend({thumbnoenlarge:false,onemap:true},d);return this.each(function(){var f=this;if($(".item-json",this).length!=1)return false;var g=eval("("+$(".item-json",this).text()+")");$(".item-thumb",this).resizeImagesPlugin({noenlarge:e.thumbnoenlarge});$.additemoverlay.initialize();!$.additemoverlay.hasTripsList()&&$.KuKuLib2.tripslist&&$.KuKuLib2.tripslist.length>0&&$.additemoverlay.setTripsList($.KuKuLib2.tripslist);$(".item-add",this).click(function(j){if($.KuKuLib2.identity){g.stepitem=
0;if(c)$.additemoverlay.open(g,c);else $.additemoverlay.hasTripsList()?$.additemoverlay.open(g):$.newtripoverlay.open();j.preventDefault()}else $.authoverlay.open({title:"To save a place, please login on Kukunu or register",afterOpen:function(){$("#suggest-place").val(exampletext).addClass($.fn.example.defaults.class_name)}})});$(".item-remove",this).confirmation({text:"Are you sure you want to delete this item from your trip?",submitText:"Delete",submit:function(){c.removeItem(g);$(f).remove();$.KuKuMap.is()&&
e.onemap==true&&$.each($.KuKuMap.markers,function(){if(this.itemid==g.id){this.setMap(null);return false}})}});$(".item-edit",this).click(function(j){$.additemoverlay.open(g,c);j.preventDefault()});if($.KuKuMap.is()&&e.onemap==true){var h=new google.maps.LatLng(g.coordinates.latitude,g.coordinates.longitude);if(g.geotype==0){$.KuKuMap.drawMarkerWithOverlay(h,"search",g.name,g.address).itemid=g.id;$(".item-map",this).click(function(j){$.each($.KuKuMap.markers,function(){if(this.itemid==g.id){google.maps.event.trigger(this,
"click");return false}});$.KuKuMap.scrollToMap();j.preventDefault()})}}if(e.onemap==false){if($(".item-map",this).length!=0&&$("#map-overlay").length==0){h=$("<div/>").attr("id","map-overlay").appendTo("#content-wrapper");$("<div/>").addClass("cross").html("x").click(function(){$("#map-overlay").css("top","0px").css("left","-1000px")}).appendTo(h);$("<h3/>").attr("id","mo-name").appendTo(h);$("<p/>").attr("id","mo-address").appendTo(h);$("<div/>").attr("id","mo-map").appendTo(h)}$(".item-map",this).click(function(j){var l=
$("#map-overlay"),m=$(this),n=$("#content-wrapper"),o=m.offset().top-l.outerHeight()-15;m=m.offset().left+m.outerWidth()/2-l.outerWidth()/2-n.offset().left;$("#mo-name",l).empty().html(g.name);$("#mo-address",l).empty().html(g.address);$("#mo-map",l).KuKuMap({width:"260px",height:"200px",mapType:"G_NORMAL_MAP",notypecontrol:true,nocontrol:true});if(knu.mapactive){n=new google.maps.LatLng(g.coordinates.latitude,g.coordinates.longitude);$.KuKuMap.clearOverlays();$.KuKuMap.drawMarkerLight(n,"search",
15)}l.css("left",m+"px").css("top",o+"px");j.preventDefault()})}var i=$(".item-desc-long",this),k=$(".item-desc-short",this);$("a.item-desc-more",this).click(function(j){k.hide();i.show();j.preventDefault()});$("a.item-desc-less",this).click(function(j){i.hide();k.show();j.preventDefault()});$(".item-comment",this).click(function(j){$(".item-comment-box",f).toggle();j.preventDefault()});$(".item-viewnote",this).click(function(j){$(".item-note-box",f).toggle();j.preventDefault()})})};
$.authoverlay={element:"#overlay-login",overlay:null,loginform:null,signupform:null,loginformvalid:false,signupformvalid:false,defaultTitle:"Plan awesome holiday now with your friends and get ready for more...",initialize:function(){var c=this;this.loginform=$("form#login-form",this.element);this.signupform=$("form#signup-form",this.element);this.overlay=$(this.element).overlay({api:true});$(".signup-link",this.element).click(function(d){c._clearForms();c._showsignup();d.preventDefault()});$(".login-link",
this.element).click(function(d){c._clearForms();c._showlogin();d.preventDefault()});this.loginform.submit(function(){var d=this;if(c.loginformvalid==false){c._clearValidations();$.post(getbaseurl()+"/auth/loginvalidation/",$(d).serialize(),function(e){if(e.status==200){c.loginformvalid=true;$(d).submit()}else e.status==300&&c._loginError()});return false}});this.signupform.submit(function(){var d=this;if(c.signupformvalid==false){c._clearValidations();$.post(getbaseurl()+"/auth/signupvalidation/",
$(d).serialize(),function(e){if(e.status==200){$.KuKuAnalytics.setVirtualPage("/signup-complete.html");c.signupformvalid=true;$(d).submit()}else e.status==300&&c._signupError(e.errors)});return false}})},open:function(c){var d=$.extend({title:this.defaultTitle,pane:"login"},c);this._setTitle(d.title);this._clearForms();d.redirect&&this._setRedirect(d.redirect);this.overlay.load();d.pane=="login"?this._showlogin():this._showsignup();$.isFunction(d.afterOpen)&&setTimeout(function(){d.afterOpen()},500)},
_setTitle:function(c){$(".title",this.element).html(c)},_showsignup:function(){this.loginform.hide();this.signupform.show();$("input[name=firstname]",this.signupform).focus()},_showlogin:function(){this.signupform.hide();this.loginform.show();$("input[name=email]",this.loginform).focus()},_clearForms:function(){$("input[type=text], input[type=password]",this.element).val("");this._clearValidations()},_setRedirect:function(c){$("input[name=redirect]",this.element).val(c)},_clearValidations:function(){$("p.error",
this.loginform).empty();$("small.error",this.signupform).html("&nbsp;");$("input",this.element).removeClass("error")},_loginError:function(){$("input[type=password]",this.loginform).val("");$("p.error",this.loginform).html("Something is wrong with your username and password")},_signupError:function(c){var d=this;$("input[type=password]",this.signupform).val("");$.each(c,function(e,f){var g=$("input[name="+e+"]",d.signupform).next("small");$.each(f,function(h,i){g.html(i);return false})})}};
$.shareoverlay={element:"#overlay-share",elementconnect:"#overlay-connect",overlay:null,overlayconnect:null,defaultTitle:"Share on Facebook and Twitter",initialize:function(c){if(c.tripid)this.tripid=c.tripid;if(c.stepid)this.stepid=c.stepid;var d=this;this.FBcheckbox=$("input[name=sharefacebook]",this.element);this.TWcheckbox=$("input[name=sharetwitter]",this.element);this.overlay=$(this.element).overlay({api:true});this.overlayconnect=$(this.elementconnect).overlay({api:true});this.FBcheckbox.facebookcheckbox();
this.TWcheckbox.twittercheckbox();$("input[type=submit]",this.element).click(function(e){d._share();d.overlay.close();e.preventDefault()});$("#overlay-connect-facebook",this.elementconnect).click(function(e){if($(this).hasClass("connected"))return false;var f=this;$("#overlay-connect-loading",this.elementconnect).show();$("#overlay-connect-error",this.elementconnect).html("");knu.facebook.connect(function(){d._connectCallback(f)},function(){$("#overlay-connect-loading",this.elementconnect).hide();
$("#overlay-connect-error",this.elementconnect).html("An error occured when connecting to Facebook.")});e.preventDefault()});$("#overlay-connect-twitter",this.elementconnect).click(function(e){if($(this).hasClass("connected"))return false;var f=this;$("#overlay-connect-loading",this.elementconnect).show();$("#overlay-connect-error",this.elementconnect).html("");knu.twitter.connect(function(){d._connectCallback(f)},function(){$("#overlay-connect-loading",this.elementconnect).hide();$("#overlay-connect-error",
this.elementconnect).html("An error occured when connecting to Twitter.")});e.preventDefault()});$("a.overlay-connect-skip",this.elementconnect).click(function(e){d.overlayconnect.close();d.overlay.load();e.preventDefault()})},_connectCallback:function(c){$("#overlay-connect-loading",this.elementconnect).hide();$.KuKuLib2.identity.isfacebook==true&&this.FBcheckbox.attr("checked","checked");$.KuKuLib2.identity.istwitter==true&&this.TWcheckbox.attr("checked","checked");if($.KuKuLib2.identity.isfacebook==
true&&$.KuKuLib2.identity.istwitter==true){this.overlayconnect.close();this.overlay.load()}else{$(c).addClass("connected");if($.KuKuLib2.identity.isfacebook!=true)var d="Connect to Facebook or";if($.KuKuLib2.identity.istwitter!=true)d="Connect to Twitter or";$("span.overlay-connect-skip",this.elementconnect).text(d);$(".overlay-connect-skip",this.elementconnect).show()}},open:function(c){c=$.extend({title:this.defaultTitle},c);this._clearForm();this._clearConnect();c.message&&$("textarea",this.element).val(c.message);
$.KuKuLib2.identity.isfacebook==true&&this.FBcheckbox.attr("checked","checked");$.KuKuLib2.identity.istwitter==true&&this.TWcheckbox.attr("checked","checked");$.KuKuLib2.identity.isfacebook==false&&$.KuKuLib2.identity.istwitter==false?this.overlayconnect.load():this.overlay.load()},_setTitle:function(c){$(".title",this.element).html(c)},_clearForm:function(){$("textarea",this.element).val("");$("input[type=checkbox]",this.element).attr("checked","")},_clearConnect:function(){$("#overlay-connect-error",
this.elementconnect).empty();$("#overlay-connect-facebook",this.elementconnect).removeClass("connected");$("#overlay-connect-twitter",this.elementconnect).removeClass("connected");$(".overlay-connect-skip",this.elementconnect).hide();$("#overlay-connect-loading",this.elementconnect).hide()},_share:function(){var c=getbaseurl()+"/ajax/share/",d={format:"json",tripid:this.tripid,stepid:this.stepid,message:$("textarea",this.element).val(),shareonfacebook:this.FBcheckbox.is(":checked"),shareontwitter:this.TWcheckbox.is(":checked")};
$.getJSON(c,d,function(){})}};
$.KuKuCal2={numWeeks:5,weekStart:1,newStepOverlayElement:"#ov-addacity-new",borderColor:"#999999",borderColorSelected:"#49B0F2",dragdropMode:2,readonly:false,staticview:false,addOnCalendar:true,newstart:false,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.setSize()},setSize:function(){this.totalWidth=$(this.element).width();this.totalHeight=$(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{$.KuKuDate.addDays(this.startDate,-((this.startDate.getDay()-this.weekStart+7)%7));this.trip.numberOfDays()<21&&$.KuKuDate.addDays(this.startDate,-7)}},shiftStartDate:function(c){$.KuKuDate.addDays(this.startDate,c);this.renderGrid();this.renderSteps()},render:function(){this.setSize();this.setStartDate();this.renderGrid();this.renderSteps()},renderGrid:function(){var c=this;$(this.element).empty();var d=$("<div/>").width(this.cellWidth*7+
6).addClass("title").addClass("group").appendTo(this.element),e=$("<div/>").html("&nbsp;").addClass("title-text").appendTo(d);$("<div/>").addClass("title-down").html("down").appendTo(d).click(function(j){c.shiftStartDate(7);j.preventDefault()});d=$("<div/>").addClass("title-up").html("up").appendTo(d).click(function(j){c.shiftStartDate(-7);j.preventDefault()});this.nodate&&this.startDate.getTime()==this.trip.tripStartDate.getTime()&&d.hide();d=$("<div/>").appendTo(this.element);for(var f=0;f<7;f++){var g=
$("<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":$.KuKuDate.dayNames[(f+this.weekStart)%7];$("<div/>").html(h).addClass("daytitle-text").appendTo(g)}$("<div/>").addClass("clear").appendTo(this.element);this.container=$("<div/>").appendTo(this.element);this.subcontainer=$("<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 k="day"+g.getTime();d=$.KuKuDate.formatDate(g,"M");k=$("<div/>").attr("id",k).addClass("daycell");k.width(this.cellWidth).height(this.cellHeight);h==0&&k.css("border-top-width","1px");h==this.numWeeks-1&&k.css("border-bottom-color","#e4e4e4");f==0&&k.css("border-left-width","1px").css("border-left-color","#e4e4e4");f==6&&k.css("border-right-color","#e4e4e4");h==this.numWeeks-1&&f==0&&k.addClass("roundedSW");h==this.numWeeks-1&&f==6&&k.addClass("roundedSE");
k.disableSelection();if(c.readonly!=true&&c.addOnCalendar==true){k.hover(function(){var j=$(this).attr("id").replace("day","");!c.isDragging&&c.trip.isEmptyDay(j)&&$(this).addClass("add-new-city")},function(){$(this).removeClass("add-new-city")});k.click(function(){var j=$(this).attr("id").replace("day","");if(!c.trip.isEmptyDay(j))return false;var l=new Date;l.setTime(j);c.addCityDate=l;$("div#add-city-box").expose({color:"#000",loadSpeed:0,opacity:0.6,closeSpeed:0,onClose:function(){c.addCityDate=
null}});$("input#add-city").focus()})}if(!this.newstart){g.getTime()==this.trip.tripStartDate.getTime()&&k.addClass("tripstart");g.getTime()==this.trip.tripEndDate.getTime()&&k.addClass("tripend")}if(g.getTime()<this.trip.tripStartDate.getTime()||g.getTime()>this.trip.tripEndDate.getTime())k.addClass("other-month");i=(d!=i?d+" ":"")+g.getDate();if(this.nodate)i=$.KuKuDate.diffDays(this.trip.tripStartDate,g)+1;$("<div/>").html(i).addClass("day-number").disableSelection().appendTo(k);k.appendTo(this.subcontainer);
$.KuKuDate.addDays(g,1);i=d;if(h==0&&f==0)this.firstDay=k}this.endDate=cloneDate(g);f=cloneDate(this.endDate);$.KuKuDate.addDays(f,-1);g="";d=this.startDate.getMonth();h=this.startDate.getFullYear();for(i=true;i;){g+=$.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($.KuKuDate.diffDays(this.trip.tripStartDate,this.trip.tripEndDate)+1)+" days";e.html(g);$("<div/>").addClass("clear").appendTo(this.element)},
drawStart:function(){var c=$("#day"+this.trip.tripStartDate.getTime()),d=this.cellHeight,e=d-6,f=$("<div>").html("Start from<br/>"+this.trip.origin.name).appendTo(this.subcontainer);f.css({background:"#9FC54E"});f.css({position:"absolute",width:e,height:22,padding:3,color:"#FFF"});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)");f.css("-webkit-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;$(".step-segment").each(function(){var e=$(this);if(e){e.kukutooltip_remove();e.remove()}});this.newstart&&this.drawStart();this.computeStepsMatrix();var d=this;$.each(this.stepsMatrix,function(e,f){if(f.start.getTime()>=
d.startDate.getTime()&&f.end.getTime()<=d.endDate.getTime()){var g=$("#day"+f.start.getTime()),h=cloneDate(f.end.getTime());$.KuKuDate.addDays(h,-1);$("#day"+h.getTime());var i=g.position().left-1;if(d.newstart&&f.start.getTime()==d.trip.tripStartDate.getTime())i+=28;var k=g.position().top-1;if(g.position().left<0)i+=(d.cellWidth+1)*7+1;var j=d.cellWidth*f.nbrdays+(f.nbrdays-1);g=d.cellHeight;if(f.start.getDay()==d.weekStart)i+=f.isStart?1:2;if($.KuKuDate.diffDays(d.startDate,f.start)<7)k+=1;h=$("<div>").attr("id",
"step_"+f.step.stepid+"_"+e).addClass("step-segment");if(f.isStart){$("<div class='step-cityname' />").html(f.step.cityName).disableSelection().appendTo(h);if(d.staticview!=true){var l=$("<div class='subtitle' />").disableSelection().appendTo(h);$("<a/>").html(d.subtitle).attr("href",getbaseurl()+f.step.longurl).appendTo(l)}else{l=$("<div class='subtitle' />").disableSelection().appendTo(h);$("<a/>").html("View details").attr("href","#step-"+f.step.stepid).appendTo(l)}}f.isEnd&&d.readonly!=true&&
$("<div class='step-remove' />").disableSelection().appendTo(h).confirmation({text:"Are you sure you want to delete <b>"+f.step.cityName+"</b> from your trip?",submitText:"Delete",leftmode:1,submit:function(){d.trip.removeStep(f.step.stepid)}});h.css({position:"absolute",top:k,left:i,width:j,height:g});h.css("border-top","1px solid "+d.borderColor);h.css("border-bottom","1px solid "+d.borderColor);f.isStart&&h.css("border-left","1px solid "+d.borderColor);f.isEnd&&h.css("border-right","1px solid "+
d.borderColor);h.disableSelection();h.click(function(){d.trip.selectStep(f.step.stepid)});d.readonly!=true&&d.initDragDrop(h);if(f.isEnd&&d.readonly!=true){i=$("<div class='resize-right' />").attr("id","resizeE_"+f.step.stepid).disableSelection().appendTo(h);k=j-7;if(d.newstart&&f.start.getTime()==d.trip.tripStartDate.getTime())k-=28;i.css({position:"absolute",top:10,left:k,width:7,height:g-10});$("<div/>").addClass("double-pipe").addClass("double-pipeEast").appendTo(i);d.initResize(i,"east")}if(f.isStart&&
d.readonly!=true){i=$("<div class='resize-left' />").attr("id","resizeW_"+f.step.stepid).disableSelection().appendTo(h);i.css({position:"absolute",top:10,left:0,width:7,height:g-10});$("<div/>").addClass("double-pipe").addClass("double-pipeWest").appendTo(i);d.initResize(i,"west")}h.appendTo(d.subcontainer)}});this.trip.selectStep(c)},computeStepsMatrix:function(){this.stepsMatrix=[];var c=this;$.each(this.trip.tripSteps,function(d,e){var f=c.computeSegments(e);$.each(f,function(g,h){c.stepsMatrix.push(h)})})},
computeSegments:function(c){var d=[],e=cloneDate(c.stepStartDate);$.KuKuDate.addDays(e,1+(6+this.weekStart-e.getDay())%7);var f=cloneDate(c.stepStartDate),g;do{var h={};h.step=c;h.start=cloneDate(f);h.isStart=h.start.getTime()==c.stepStartDate.getTime()?true:false;if(c.stepEndDate<=e.getTime()){h.end=cloneDate(c.stepEndDate);g=h.isEnd=true}else{h.end=cloneDate(e);f=cloneDate(e);g=h.isEnd=false}h.nbrdays=$.KuKuDate.diffDays(h.start,h.end);$.KuKuDate.addDays(e,7);d.push(h)}while(!g);return d},renderOneStep:function(c){$(".tempStep").remove();
var d=this,e=this.computeSegments(c);$.each(e,function(f,g){if(g.start.getTime()>=d.startDate.getTime()&&g.end.getTime()<=d.endDate.getTime()){var h=$("#day"+g.start.getTime()),i=cloneDate(g.end.getTime());$.KuKuDate.addDays(i,-1);$("#day"+i.getTime());i=h.position().left-1;var k=h.position().top-1,j=d.cellWidth*g.nbrdays+(g.nbrdays-1)-1,l=d.cellHeight-2;if(d.newstart&&g.start.getTime()==d.trip.tripStartDate.getTime()){i+=28;j-=28}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)k+=1;h=$("<div>").attr("id","step_"+g.step.stepid+"_"+f).addClass("step-segment");h.css("cursor",c.cursor);if(g.isStart){$("<div class='step-cityname' />").html(g.step.cityName).disableSelection().appendTo(h);c.cursor!="move"&&$("<div class='subtitle' />").html(d.subtitle).disableSelection().appendTo(h)}h.css({top:k,left:i,width:j,height:l});h.css("border-top","2px solid "+d.borderColorSelected);h.css("border-bottom","2px solid "+
d.borderColorSelected);g.isStart&&h.css("border-left","2px solid "+d.borderColorSelected);g.isEnd&&h.css("border-right","2px solid "+d.borderColorSelected);h.disableSelection();h.addClass("tempStep");h.appendTo(d.subcontainer)}})},selectStep:function(c){if(this.staticview==true)return false;var d=this;$(".step-segment").each(function(){var e=$(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;if(d.newstart&&g.start.getTime()==d.trip.tripStartDate.getTime())f-=28;e.width(f);e.height(d.cellHeight-2);e.css("z-index","4");$(".double-pipe",e).css("margin-top","18px");$(".double-pipeWest",e).css("margin-left","2px");$(".double-pipeEast",e).css("margin-left","0px");$(".step-cityname",e).css("margin-top","21px");$(".step-cityname",e).css("margin-left","9px");$(".step-cityname",e).css("margin-right","8px");$(".subtitle",e).css("margin-left","9px");$(".step-remove",
e).show()}else{e.css("border-width","1px");e.css("z-index","3");f=d.cellWidth*g.nbrdays+(g.nbrdays-1);if(d.newstart&&g.start.getTime()==d.trip.tripStartDate.getTime())f-=28;e.width(f);e.height(d.cellHeight);e.css("border-color",d.borderColor);$(".double-pipe",e).css("margin-top","19px");$(".double-pipeWest",e).css("margin-left","3px");$(".double-pipeEast",e).css("margin-left","1px");$(".step-cityname",e).css("margin-top","22px");$(".step-cityname",e).css("margin-left","10px");$(".step-cityname",e).css("margin-right",
"8px");$(".subtitle",e).css("margin-left","10px");$(".step-remove",e).hide()}})},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-$(d.firstDay).offset().top)/(d.cellHeight+1))+1;e=Math.floor((e.pageX-$(d.firstDay).offset().left)/(d.cellWidth+1))+1;var h=cloneDate(d.startDate);$.KuKuDate.addDays(h,(g-1)*7+(e-1));g=$.KuKuDate.diffDays(d.draggedStep.stepStartDate,
h);d.dragInitDiff=g;$.each(d.stepsMatrix,function(i,k){k.step.stepid==f&&$("#"+("step_"+f+"_"+i)).hide()});$(".subtitle").hide();g=d.draggedStep.clone();g.cursor="move";d.renderOneStep(g)},drag:function(e){var f=Math.floor((e.pageY-$(d.firstDay).offset().top)/(d.cellHeight+1))+1,g=Math.floor((e.pageX-$(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);
$.KuKuDate.addDays(e,(f-1)*7+(g-1));f=d.draggedStep.clone();f.cursor="move";e=$.KuKuDate.diffDays(d.draggedStep.stepStartDate,e);if(d.dragdropMode==2)e-=d.dragInitDiff;$.KuKuDate.addDays(f.stepStartDate,e);$.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=$(this).parents(".step-segment").get(0);$(f).draggable("disable")},
function(){var f=$(this).parents(".step-segment").get(0);$(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;$.each(e.stepsMatrix,function(h,i){i.step.stepid==f&&$("#"+("step_"+f+"_"+h)).hide()});g=e.draggedStep.clone();
g.cursor="col-resize";e.renderOneStep(g)},drag:function(f){var g=Math.floor((f.pageY-$(e.firstDay).offset().top)/(e.cellHeight+1))+1,h=d=="east"?Math.floor((f.pageX-$(e.firstDay).offset().left)/(e.cellWidth+1)-0.5)+1:Math.floor((f.pageX-$(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+=7;h%=7;g--}if(h>7){h-=7;h%=7;g++}f=cloneDate(e.startDate);$.KuKuDate.addDays(f,(g-1)*7+(h-1));g=e.draggedStep.clone();g.cursor="col-resize";f=d=="east"?$.KuKuDate.diffDays(e.draggedStep.stepStartDate,
f)-e.dragInitDiff:$.KuKuDate.diffDays(f,e.draggedStep.stepEndDate)-e.dragInitDiff-1;if(f>-g.numberOfDays()){d=="east"?$.KuKuDate.addDays(g.stepEndDate,f):$.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)}})}};
if(knu.mapactive&&$.isFunction(google.maps.OverlayView)){var KukunuMapOverlayV3=function(c,d,e,f){this.map_=c;this.marker_=d;this.title_=e;this.subtitle_=f;this.div_=null;this.setMap(c)};KukunuMapOverlayV3.prototype=new google.maps.OverlayView;KukunuMapOverlayV3.prototype.onAdd=function(){var c=document.getElementById("on-map-overlay2").cloneNode(true);c.style.display="block";$(".omo-title",c).html(this.title_);typeof this.subtitle_=="undefined"?$(".omo-subtitle",c).remove():$(".omo-subtitle",c).html(this.subtitle_);
$(".omo-close",c).click(function(){$.KuKuMap.clearInfoWindows()});this.div_=c;this.getPanes().floatPane.appendChild(c)};KukunuMapOverlayV3.prototype.draw=function(){var c=this.getProjection().fromLatLngToDivPixel(this.marker_.getPosition()),d=jQuery(this.div_).outerWidth(),e=jQuery(this.div_).outerHeight(),f=parseInt(jQuery(this.div_).css("marginBottom").replace("px",""));e=c.y-31-e-f;this.div_.style.left=c.x-d/2+"px";this.div_.style.top=e+"px";e<5&&this.map_.panBy(0,e-5)};KukunuMapOverlayV3.prototype.onRemove=
function(){this.div_.parentNode.removeChild(this.div_);this.div_=null}}
$.fn.KuKuMap=function(c){if(this.length==0)return false;c.width&&c.height&&this.css({width:c.width,height:c.height});if(knu.mapactive==false){this.css("background-color","#c5d7a7");return false}c=$.extend({mapTypeId:google.maps.MapTypeId.ROADMAP,mapTypeControlOptions:{mapTypeIds:[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.TERRAIN],style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL},scrollwheel:false},c.mapOptions);
if(!$.KuKuMap.map)$.KuKuMap.map=new google.maps.Map(this[0],c)};
$.KuKuMap={map:null,trip:null,routeType:null,markers:[],routes:[],infowindows:[],baseicon:null,noselection:false,iconshadow:getbaseurl()+"/img/mapmarkers/shadow.png",is:function(){return this.map?true:false},isActive:function(){return google?google.maps?true:false:false},setRouteType:function(c){this.routeType=c},imageFile:function(c,d){d||(d=1);var e;switch(c){case "location":e="location"+d+".png";break;case "selected":e="locationselected.png";break;case "out":e="locationout.png";break;case "popular":e=
"popular.png";break;case "search":e="search.png";break;case "flag":e="searchadded.png";break;default:e="popular.png"}return e=getbaseurl()+"/img/mapmarkers/"+e},scrollToMap:function(){if(!this.is())return false;var c=$(this.map.getDiv()).offset().top-20;$(window).scrollTop()>c&&$("html,body").animate({scrollTop:c},200)},clearInfoWindows:function(){if(this.isActive()==false)return false;$.each(this.infowindows,function(){this.setMap(null)});this.infowindows=[]},clearMarkers:function(){if(this.isActive()==
false)return false;$.each(this.markers,function(){this.setMap(null)});this.markers=[]},clearRoutes:function(){if(this.isActive()==false)return false;$.each(this.routes,function(){this.setMap(null)});this.routes=[]},clearOverlays:function(){if(this.isActive()==false)return false;this.clearInfoWindows();this.clearMarkers();this.clearRoutes()},geocode:function(c,d){if(this.isActive()==false)return false;var e=new google.maps.Geocoder,f={address:c,language:"en"};if(this.map)f.bounds=this.map.getBounds();
e.geocode(f,function(g,h){if(h==google.maps.GeocoderStatus.OK)$.isFunction(d)&&d.call(e,g);else h==google.maps.GeocoderStatus.ZERO_RESULTS&&$.isFunction(d)&&d.call(e,[])})},drawTrip:function(c,d,e){if(this.isActive()==false)return false;var f=this,g=0;$.each(c.tripSteps,function(k,j){j.isOutsideTrip()||g++;var l=j.latitude,m=j.longitude,n=j.cityName,o=j.isOutsideTrip()?"Outside your trip":j.getDatesText();l=new google.maps.LatLng(l,m);m=j.isOutsideTrip()?"out":"in";$.KuKuMap.drawStepMarker(l,n,o,
g,m);if(e==true&&!j.isOutsideTrip()){n=c.nextStep(j);if(n!=null&&!n.isOutsideTrip()){n=c.nextStep(j).latitude;o=c.nextStep(j).longitude;n=new google.maps.LatLng(n,o);f.drawSegment(l,n,j.trmodeout==2?"route":"curve","trip")}}});if(c.origin.cityid){d=new google.maps.LatLng(c.origin.latitude,c.origin.longitude);$.KuKuMap.drawStepMarker(d,c.origin.name,null,null,"flag");if(e==true){var h=c.departureStep();if(h){var i=new google.maps.LatLng(h.latitude,h.longitude);h=h.trmodein==2?"route":"curve";f.drawSegment(d,
i,h,"trip","#999")}if(h=c.finalStep()){i=new google.maps.LatLng(h.latitude,h.longitude);h=h.trmodeout==2?"route":"curve";f.drawSegment(d,i,h,"trip","#999")}}}},drawMarkerWithOverlay:function(c,d,e,f){if(this.isActive()==false)return false;if(!c)return null;var g=this.map;d=this.imageFile(d);var h=new google.maps.Marker({position:c,map:g,icon:d,shadow:this.iconshadow});this.markers.push(h);var i=this;google.maps.event.addListener(h,"click",function(){i.clearInfoWindows();var k=new KukunuMapOverlayV3(i.map,
h,e,f);i.map.panTo(h.getPosition());i.infowindows.push(k)});return h},drawStepMarker:function(c,d,e,f,g){if(this.isActive()==false)return false;if(!c)return false;var h=false;$.each(this.markers,function(n,o){if(c.equals(o.getPosition())){h=true;return false}});if(h==true)return false;var i=this.map;if(g=="in")var k=this.imageFile("location",f),j="trip";if(g=="out"){k=this.imageFile("out");j="trip"}else if(g=="flag"){k=this.imageFile("flag");j="origin"}var l=new google.maps.Marker({position:c,map:i,
icon:k,shadow:this.iconshadow}),m=this;google.maps.event.addListener(l,"click",function(){m.clearInfoWindows();var n=new KukunuMapOverlayV3(m.map,l,d,e);m.map.panTo(l.getPosition());m.infowindows.push(n)});l.tag=j;this.markers.push(l)},addMarkerWithoutDraw:function(c){if(this.isActive()==false)return false;if(!c)return null;this.markers.push(new google.maps.Marker({position:c,map:null}))},drawSegment:function(c,d,e,f,g){if(this.isActive()==false)return false;if(c.equals(d))return false;var h=this.map;
e=e?e:this.routeType;if(typeof g=="undefined")g="#58b7f5";e="curve";if(e=="segment"){g=new google.maps.Polyline({map:h,path:[c,d],strokeColor:g,geodesic:true,strokeOpacity:0.5,strokeWeight:5});g.tag=f;this.routes.push(g)}else if(e=="directions"){f=new google.maps.DirectionsService;var i=new google.maps.DirectionsRenderer({hideRouteList:true,map:h,polylineOptions:{strokeColor:g,strokeOpacity:0.5,strokeWeight:5},preserveViewport:true,suppressInfoWindows:true,suppressMarkers:true});f.route({origin:c,
destination:d,travelMode:google.maps.DirectionsTravelMode.DRIVING},function(k,j){j==google.maps.DirectionsStatus.OK&&i.setDirections(k)})}else if(e=="curve"){c=this.getCircleArc_(c,d);g=new google.maps.Polyline({map:h,path:c,strokeColor:g,geodesic:false,strokeOpacity:0.5,strokeWeight:5});g.tag=f;this.routes.push(g)}},centerMapToMarkers:function(c){if(this.isActive()==false)return false;if(c||typeof c=="object"){selectedMarkers=[];$.each(this.markers,function(f,g){$.inArray(g.tag,c)!=-1&&selectedMarkers.push(g)})}else selectedMarkers=
this.markers;if(selectedMarkers.length>1){this.map.fitBounds($.KuKuMap.getMapBounds(selectedMarkers));return true}else if(selectedMarkers.length==1){var d=selectedMarkers[0],e=d.getPosition();d=d.tag=="trip"?8:14;this.map.setCenter(e);this.map.setZoom(d);return true}else return false},centerMapToCentroid:function(c,d,e){if(this.isActive()==false)return false;this.map.setCenter(new google.maps.LatLng(c,d));this.map.setZoom(e)},getMapBounds:function(c){if(this.isActive()==false)return false;var d=90,
e=-90,f=180,g=-180;$.each(c,function(h,i){var k=i instanceof google.maps.LatLng?i:i.getPosition(),j=k.lat();k=k.lng();if(parseFloat(j)<parseFloat(d))d=j;if(parseFloat(j)>parseFloat(e))e=j;if(parseFloat(k)<parseFloat(f))f=k;if(parseFloat(k)>parseFloat(g))g=k;e+=(e-d)*0.05});return new google.maps.LatLngBounds(new google.maps.LatLng(d,f),new google.maps.LatLng(e,g))},centerMapToBbox:function(c){if(this.isActive()==false)return false;this.map.fitBounds(c)},distance:function(c,d){if(this.isActive()==
false)return false;var e=(d.lat()-c.lat())*Math.PI/180,f=(d.lng()-c.lng())*Math.PI/180;e=Math.sin(e/2)*Math.sin(e/2)+Math.cos(c.lat()*Math.PI/180)*Math.cos(d.lat()*Math.PI/180)*Math.sin(f/2)*Math.sin(f/2);return 6371E3*2*Math.atan2(Math.sqrt(e),Math.sqrt(1-e))},getCircleArc_:function(c,d){var e=[],f=this.distance(c,new google.maps.LatLng(c.lat(),d.lng()));if(c.lng()>d.lng())f=-f;var g=this.distance(c,new google.maps.LatLng(d.lat(),c.lng()));if(c.lat()>d.lat())g=-g;var h=0.9*this.distance(c,d),i=f*
f+g*g,k=(f+1*Math.sqrt(f*f-4*(i/4-g*g*h*h/i)))/2;i=-f/g*k+i/2/g;var j=Math.atan2(-i,-k);if(j<0)j+=2*Math.PI;f=Math.atan2(g-i,f-k);if(f<0)f+=2*Math.PI;for(g=0;g<12;g++){var l=j+g*(f-j)/11;l=this.fromXYtoLatLng_(c,k+h*Math.cos(l),i+h*Math.sin(l));e.push(l)}return e},fromXYtoLatLng_:function(c,d,e){var f=c.lat();c=c.lng();var g=Math.abs(2*Math.asin(Math.sin(d/2/6371E3)/Math.cos(f/180*Math.PI))),h=Math.abs(e/6371E3);return new google.maps.LatLng(e>0?f+h*180/Math.PI:f-h*180/Math.PI,d>0?c+g*180/Math.PI:
c-g*180/Math.PI)}};
$.fn.KuKuMapV2=function(c){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return false;if(!c||typeof c!="object")c={};c.mapOptions=c.mapOptions||{};c.width&&c.height&&this.css({width:c.width,height:c.height});if(!$.KuKuMapV2.map){var d=$.KuKuMapV2.map=new GMap2(this[0],c.mapOptions);d.addControl(new GSmallZoomControl3D);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);$.KuKuMapV2.baseIcon=c}};
$.KuKuMapV2={map:null,trip:null,routeType:null,markers:[],routes:[],baseicon:null,is:function(){if(this.map)return true;return false},deleteMap:function(){this.clearOverlays();this.map=null},clearOverlays:function(){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;this.map.clearOverlays();this.markers=[];this.routes=[]},setRouteType:function(c){this.routeType=c},drawTrip:function(c){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;var d=null,e=null,f=1;$.each(c.tripSteps,
function(g,h){var i=h.latitude,k=h.longitude,j=h.cityName;e=d;d=new GLatLng(i,k);$.KuKuMapV2.drawMarker(d,j,f);f>1&&$.KuKuMapV2.drawSegment(e,d,h.route,"trip");f++})},drawMarker:function(c,d,e){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;if(!c)return null;d=new GIcon(this.baseIcon);d.image=getbaseurl()+"/img/mapmarkers/location"+e+".png";e=new GMarker(c,{icon:d});var f=false;$.each(this.markers,function(g,h){if(c.equals(h.getLatLng())){f=true;return false}});if(f)return null;
this.map.addOverlay(e);this.markers.push(e)},drawSegment:function(c,d,e){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;if(c.equals(d))return this;var f=this.map;e=this.routeType?this.routeType:e;if(e=="segment"){c=new GPolyline([c,d],"#0000ff",5,0.5,{geodesic:true});$.KuKuMapV2.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 g=
this.getPolyline();$.KuKuMapV2.routes.push(g);f.addOverlay(g)})}else if(e=="curve"){c=this.computeCircle(c,d);c=new GPolyline(c,"#58b7f5",3,0.75,{geodesic:false});$.KuKuMapV2.routes.push(c);this.map.addOverlay(c)}},getMapBounds:function(c){var d=90,e=-90,f=180,g=-180;$.each(c,function(h,i){var k=i instanceof GLatLng?i:i.getLatLng(),j=k.lat();k=k.lng();if(parseFloat(j)<parseFloat(d))d=j;if(parseFloat(j)>parseFloat(e))e=j;if(parseFloat(k)<parseFloat(f))f=k;if(parseFloat(k)>parseFloat(g))g=k;e+=(e-d)*
0.05});return new GLatLngBounds(new GLatLng(d,f),new GLatLng(e,g))},centerMapToMarkers:function(){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;var c=this.markers;if(c.length>1){c=$.KuKuMapV2.getMapBounds(c);this.map.setCenter(c.getCenter(),this.map.getBoundsZoomLevel(c))}else if(c.length==1){c=c[0];var d=c.getLatLng();d=new GLatLng(d.lat(),d.lng());c=c.tag=="search"?8:c.tag=="poi"?14:6;this.map.getCenter()==null||this.map.getZoom()<6?this.map.setCenter(d,c):this.map.panTo(d)}},
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)},fromXYtoLatLng:function(c,d,e){var f=c.lat();c=c.lng();var g=Math.abs(2*Math.asin(Math.sin(d/2/6371E3)/Math.cos(f/
180*Math.PI))),h=Math.abs(e/6371E3);return new GLatLng(e>0?f+h*180/Math.PI:f-h*180/Math.PI,d>0?c+g*180/Math.PI:c-g*180/Math.PI)},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]);e=0.9*e.getLength();var h=g*g+y1*y1,i=(g+Math.sqrt(g*g-4*(h/4-y1*y1*e*e/h)))/2;h=-g/y1*i+h/2/y1;var k=Math.atan2(-h,
-i);if(k<0)k+=2*Math.PI;g=Math.atan2(y1-h,g-i);if(g<0)g+=2*Math.PI;for(var j,l,m=0;m<12;m++){l=k+m*(g-k)/11;j=i+e*Math.cos(l);l=h+e*Math.sin(l);j=this.fromXYtoLatLng(c,j,l);f.push(j)}return f}};
$.KuKuStep={element:null,trip:null,readonly:false,dateformat:"M, j",trOvElmt:"#overlay-transport",transportoverlay:null,debug:false,initialize:function(c,d,e){this.element=c;this.trip=d;if(e)this.readonly=e;this.stepmenu=$("ul#left-menu");this.steplist=$("table.table-transport tbody");this.initOverlayTransport()},render:function(){$(this.element).empty();$("li.step",this.stepmenu).remove();$("#page-header h3").next(".button").remove();this.steplist.empty();var c=this,d=this.trip;if(this.trip.tripSteps.length==
0)c.renderNostep_();else{var e=this.trip.tripSteps[0].cityName;e='<a class="button" href="'+(getbaseurl()+this.trip.tripSteps[0].longurl)+'"><span class="button-right">Plan '+e+"</span></a>";$("#page-header h3").after(e)}$.each(this.trip.tripSteps,function(f,g){var h=$("<li/>").addClass("step").appendTo(c.stepmenu),i=getbaseurl()+g.longurl;h=$("<a/>").attr("href",i).appendTo(h);$("<b/>").html(g.cityName).appendTo(h);i=g.getDatesText();$("<span/>").html(i).appendTo(h);c.renderSegment_(g,0);c.renderCity_(g);
c.renderSegment_(g,1);!g.isFinalStep()&&!d.isStepJustAfter(g)&&!g.isOutsideTrip()&&c.renderHole_("You've empty days in your calendar")});$("tr:last",c.steplist).addClass("last");$(".overlay-transparent").click(function(){$(".button-add-transport").next("div").hide();$(".overlay-transparent").hide()})},renderCity_:function(c){if(!c.isOutsideTrip()){var d=this.trip,e=$("<tr/>").addClass("city").attr("valign","middle").appendTo(this.steplist),f=$("<td/>").addClass("first-row").appendTo(e),g=$("<td/>").appendTo(e);
e=$("<td/>").addClass("actions").addClass("dropdown").appendTo(e);var h=c.numberOfDays(),i=c.getNumberOfNights();i=i>1?i+" nights":i+" night";var k=$.KuKuDate.formatDate(c.getStartDate(),this.dateformat),j=$.KuKuDate.formatDate(c.getEndDate(),this.dateformat);if(h>1){h="<b>"+h+" days</b>";h=d.nodate?h:h+" from <b>"+k+"</b> to <b>"+j+"</b>"}else{h="<b>1 day</b>";h=d.nodate?h:h+" on <b>"+k+"</b>"}c.isOutsideTrip()||(h+=" ("+i+")");$("<p/>").html(c.cityName).appendTo(f);$("<span/>").html(h).appendTo(f);
d.nodate||this.renderTransport_(g,e,c,2,{id:0,tripid:d.tripid,stepid:c.stepid,stepmode:2,departure:c.cityName,arrival:c.cityName})}},renderHole_:function(c){var d=$("<tr/>").addClass("hole").attr("valign","middle").appendTo(this.steplist);$("<td/>").attr("colspan","3").appendTo(d).html(c)},renderSegment_:function(c,d){if(!(d==0&&!c.isDepartureStep()))if(!c.isOutsideTrip()){var e=this.trip,f=$("<tr/>").addClass("trip").attr("valign","middle").appendTo(this.steplist),g=$("<td/>").addClass("first-row").appendTo(f),
h=$("<td/>").appendTo(f);f=$("<td/>").addClass("actions").addClass("dropdown").appendTo(f);var i=false;if(d==1){var k=c.cityName;if(c.isFinalStep()){if(e.origin.name){var j=c.cityName+" - "+e.origin.name,l=e.origin.name;if(e.origin.cityid){var m=distance(c.latitude,c.longitude,e.origin.latitude,e.origin.longitude);if(m!=null)j+=" ("+Math.round(m/1E3)+" km)"}}else{j="Leaving "+c.cityName;l=""}i=true}else if(e.isStepJustAfter(c)){l=e.nextStep(c);m=distance(c.latitude,c.longitude,l.latitude,l.longitude);
j=c.cityName+" - "+l.cityName;l=l.cityName;if(m!=null)j+=" ("+Math.round(m/1E3)+" km)"}else{j="Leaving "+c.cityName;l=""}}else if(d==0){l=c.cityName;if(e.origin.name){j=e.origin.name+" - "+c.cityName;k=e.origin.name;if(e.origin.cityid){m=distance(c.latitude,c.longitude,e.origin.latitude,e.origin.longitude);if(m!=null)j+=" ("+Math.round(m/1E3)+" km)"}}else{j="Arriving in "+c.cityName;k=""}i=true}$("<p/>").html(j).appendTo(g);i&&g.addClass("departure");j=[];if(d==1){if(e.nodate){m=parseInt($.KuKuDate.diffDays(e.tripStartDate,
c.getEndDate())+1);i="day "+m;m=parseInt($.KuKuDate.diffDays(e.tripStartDate,c.getEndDatePlusOne())+1);m="day "+m}else{i=$.KuKuDate.formatDate(c.getEndDate(),this.dateformat);m=$.KuKuDate.formatDate(c.getEndDatePlusOne(),this.dateformat)}if(c.isFinalStep())i={date:c.getEndDate(),text:i,selected:true};else{i={date:c.getEndDate(),text:i,selected:c.getEndDate().getTime()==c.checkOut.getTime()?true:false};j.push(i);i={date:c.getEndDatePlusOne(),text:m,selected:c.getEndDatePlusOne().getTime()==c.checkOut.getTime()?
true:false}}j.push(i)}else if(d==0){if(e.nodate){m=parseInt($.KuKuDate.diffDays(e.tripStartDate,c.getStartDate())+1);i="day "+m}else i=$.KuKuDate.formatDate(c.getStartDate(),this.dateformat);if(c.isDepartureStep()){i={date:c.getStartDate(),text:i,selected:true};j.push(i)}}g=$("<span/>").appendTo(g);if(j.length==1){var n="on "+j[0].text;g.html(n)}else if(this.readonly==true){n="on ";$.each(j,function(){if(this.selected){n+=this.text;return false}});g.html(n)}else{g.html("on ");var o=$("<select/>").appendTo(g);
$.each(j,function(){var q=$("<option/>").text(this.text).appendTo(o);q.attr("value",this.date.getTime());this.selected&&q.attr("selected","selected")});o.change(function(){var q=new Date;q.setTime($(this).val());c.setCheckOut(q);$.KuKuStep.render()})}if(!e.nodate){var p="";$.each(j,function(){if(this.selected)p=$.KuKuDate.formatDate(this.date,"d-m-Y")});this.renderTransport_(h,f,c,d,{id:0,tripid:e.tripid,stepid:c.stepid,stepmode:d,departure:k,arrival:l,departure_date:p,arrival_date:p})}}},renderTransport_:function(c,
d,e,f,g){var h=this,i=[];if(e.transports){if(f==1)i=e.transports.leaving;else if(f==0)i=e.transports.arriving;else if(f==2)i=e.transports.inside;$.each(i,function(){var k=$("<a/>").attr("href","#").addClass("button-view").html("<b>View</b>").appendTo(c);switch(this.type){case "1":k.addClass("plane");break;case "2":k.addClass("car");break;case "4":k.addClass("train");break;case "5":k.addClass("boat");break;case "6":k.addClass("bus");break;default:k.addClass("other")}k.data("prefill",this);k.click(function(j){$(h.trOvElmt).data("prefill",
$(this).data("prefill"));h.transportoverlay.load();j.preventDefault()})})}i.length==0&&f!=2&&$("<small/>").html("You've no transport").appendTo(c);e=$("<a/>").addClass("button-add-transport").attr("href","#").html("Add").appendTo(d);this.renderAddMenu(g).appendTo(d);e.click(function(k){$(this).next("div").toggle();$(".overlay-transparent").toggle();k.preventDefault()})},renderAddMenu:function(c){var d=this,e=$("<div/>"),f=$("<ul/>").addClass("blue-gradient").appendTo(e);$.each([{id:1,name:"Plane"},
{id:2,name:"Car"},{id:4,name:"Train"},{id:5,name:"Boat"},{id:6,name:"Bus"},{id:99,name:"Other"}],function(g,h){var i=$("<li/>").appendTo(f);$("<a/>").attr("href","#").html(h.name).appendTo(i).click(function(k){c.type=h.id;$(d.trOvElmt).data("prefill",c);d.transportoverlay.load();$($(this).parents("div").get(0)).hide();k.preventDefault()})});return e},renderNostep_:function(){var c=this.trip;debugGG(c.origin);if(c.origin.name){var d=$("<tr/>").addClass("trip").attr("valign","middle").appendTo(this.steplist),
e=$("<td/>").addClass("first-row").addClass("departure").appendTo(d);$("<td/>").appendTo(d);$("<td/>").addClass("actions").appendTo(d);$("<p/>").html(c.origin.name).appendTo(e);if(c.nodate){d=1;d="day "+d}else d=$.KuKuDate.formatDate(c.tripStartDate,this.dateformat);$("<span/>").html("on "+d).appendTo(e)}this.renderHole_("Add a first city in your calendar.");if(c.origin.name){d=$("<tr/>").addClass("trip").attr("valign","middle").appendTo(this.steplist);e=$("<td/>").addClass("first-row").addClass("departure").appendTo(d);
$("<td/>").appendTo(d);$("<td/>").addClass("actions").appendTo(d);$("<p/>").html(c.origin.name).appendTo(e);if(c.nodate){d=parseInt($.KuKuDate.diffDays(c.tripStartDate,c.tripEndDate)+1);d="day "+d}else d=$.KuKuDate.formatDate(c.tripEndDate,this.dateformat);$("<span/>").html("on "+d).appendTo(e)}},initOverlayTransport:function(){var c=this,d=this.trip,e=$(this.trOvElmt);this.transportoverlay=e.overlay({api:true,closeOnClick:false,closeOnEsc:false,onBeforeLoad:function(){$("form",this.getOverlay()).clearForm().hide();
$(".title",this.getOverlay()).hide();$(".delete",this.getOverlay()).hide();$(".saving",this.getOverlay()).hide();$("form input[type=submit]",this.getOverlay()).show();var g=$(this.getTrigger()).data("prefill"),h;$("form input[name=type]").each(function(){if($(this).val()==g.type){h=$(this).parents("form").get(0);return false}});$(h).show();$(h).populate(g);if(g.id==0)$(".title-add",this.getOverlay()).show();else{$(".title-edit",this.getOverlay()).show();$(".delete",h).show()}}});e.draggable({handle:".overlay-title"});
var f=this.trip.tripStartDate;$("form input.datepicker",e).datepicker({firstDay:1,dateFormat:"dd-mm-yy",duration:"fast",defaultDate:f,onSelect:function(g,h){debugGG(h)}});$(".delete",e).hide().click(function(g){var h=$(c.transportoverlay.getTrigger()).data("prefill");h={format:"json",id:h.id,hash:h.deletehash};$.ajax({type:"POST",url:getbaseurl()+"/transport/delete/",data:h,dataType:"json",success:function(i){var k=i.message,j=d.getStepById(i.stepid),l=i.stepmode;if(l==1)var m=j.transports.leaving;
else if(l==0)m=j.transports.arriving;else if(l==2)m=j.transports.inside;var n=null;$.each(m,function(o){if(this.id==i.id){n=o;return false}});m.splice(n,1);$.KuKuStep.render();c.transportoverlay.close();$.fn.bar(k)}});g.preventDefault()});$("form",e).submit(function(){$("form input[type=submit]",e).hide();$("form .saving",e).show();var g=$(this).serialize();$.ajax({type:"POST",url:getbaseurl()+"/transport/save/",data:{format:"json",form:g},dataType:"json",success:function(h){var i=d.getStepById(h.details.stepid),
k=h.mode,j=h.details.stepmode,l=h.message;if(j==1)var m=i.transports.leaving;else if(j==0)m=i.transports.arriving;else if(j==2)m=i.transports.inside;if(k==1)m.push(h.details);else if(k==2){var n=null;$.each(m,function(o){if(this.id==h.details.id){n=o;return false}});m[n]=h.details}$.KuKuStep.render();c.transportoverlay.close();$.fn.bar(l)}});return false})},selectStep:function(){}};
$.KuKuComment={trip:null,tripid:null,stepid:null,url:null,init:function(c,d){this.trip=c;$.getJSON(getbaseurl()+"/comments/init/",{format:"json"},function(e){e.status==200&&$(".login").hide()});if(this.trip.tripid!=0){this.tripid=this.trip.tripid;this.stepid=d;this.url="/comments/get/tripid/"+this.tripid+"/stepid/"+this.stepid}else return false;this.stepid==0&&this._buildForm("comment",0);this.getSocial("/comments/social/networks/all/tripid/"+this.tripid,6E4,0);this.getContents();this._clickActions()},
getContents:function(){var c=this;if(c.stepid==0){$(".comment-container").remove();$("<div>").addClass("comment-container").appendTo(".commenting-system")}$.getJSON(getbaseurl()+c.url,{format:"json"},function(d){if(d.contents.length==0)return false;d.status==200&&$(".form-main .ajaxStatus").hide();$.each(d.contents,function(e,f){if(f.user_access=="viewonly"&&e==0){$(".mark-private").hide();$(".commenting-system h2").html("Help plan the "+c.trip.triptitle+" trip by posting a tip.")}else e==0&&$(".commenting-system h2").html("Ask for suggestions from your friends and share information with your co-travellers.");
f.type!=-1&&c._outputComments(f)});typeof FB!="undefined"&&FB.XFBML.parse()})},getSocial:function(c,d,e){var f=this;$.getJSON(getbaseurl()+c,{format:"json"},function(g){if(g.status==200){g.contents>0&&$(".ajaxStatus").show().html("<h2>"+g.contents+" NEW message/s from Facebook/Twitter - click to refresh</h2>");e<5&&f.stepid==0&&setTimeout(function(){f.getSocial(c,d,e)},d);e++}})},_buildForm:function(c,d){var e="f"+d,f=[];if($.KuKuLib2.identity){f.image='<img src="'+$.KuKuLib2.identity.picture+'" class="avatar"/>';
f.username=$.KuKuLib2.identity.username}else{f.image='<img src="/img/default-profile.png" class="avatar"/>';f.username="Not Logged In"}switch(c){case "comment":$(".templates>.form-main").clone().attr("id",e).appendTo($(".commenting-system"));$(".form-main fieldset").prepend(f.image);$("#"+e+" .button").attr("id",d);if($.KuKuLib2.identity){$(".sharing-social input[name=facebook]").attr("id","share_facebook").facebookcheckbox();$(".sharing-social input[name=twitter]").attr("id","share_twitter").twittercheckbox();
$(".mark-private input[name=private]").attr("id","share_private")}else $(".form-main .sharing-social").hide();break;case "reply":$(".templates>div.comment-reply").clone().attr("id",e).appendTo($(".comment-container"));$("#"+e+">.comment>div.comment-content").remove();$("#"+e+">div.comment").append($(".templates>div.comment-content-reply").clone());$("#"+e+" .comment-content-reply").prepend(f.image);$("#"+e+" .comment-content-reply>.msie").prepend($("<span/>").html("<b>"+f.username+"</b>"));$("#"+
e+" textarea").data("rel_form",e).attr("name","reply_text");$("#"+e+" .button").attr("id",d);$("#"+e+" fieldset").append($("<input/>").attr("type","hidden").attr("id","cid").attr("value",d));$("#"+e+" .blank-textarea").val("Write a comment...");if($("#"+e+" textarea").val()==""){$("#"+e+" .avatar").hide();$("#"+e+" span").hide();$("#"+e+" .commenting-actions").hide();$("#"+e+" textarea").hide();$("#"+e+" fieldset").css("marginTop","0px");$("#"+e+" .blank-textarea").show()}break;case "stepreply":$("#"+
e+" .button").attr("id",d);$("#"+e+" .comment-content-reply").prepend(f.image);$("#"+e+" .comment-content-reply>.msie").prepend($("<span/>").html("<b>"+f.username+"</b>"));$("#"+e+" fieldset").append($("<input/>").attr("type","hidden").attr("id","sid").attr("value",d));$("#"+e+" textarea").data("rel_form",d+"r")}return e},_buildComment:function(c){var d=[],e="c"+c.comment_id;c.thumb?d.image='<img src="'+c.thumb+'" class="avatar"/>':d.image='<img src="/img/default-profile.png" class="avatar"/>';d["private"]=
'<img src="/img/lock_closed.png" /><span class="private">This message is private</span>';d.meta='<span class="meta">'+$.KuKuDate.niceTimeFromNow(c.timestamp)+"</span>";d.content="<span><b>"+c.name+"</b> "+c.text+"</span>";c["private"]==1&&(d.content+=d["private"]);d.addons=c.stepitem==0?$(".templates>div.seperator").clone():"";$(".templates>div.comment").clone().attr("id",e).appendTo($(".comment-container"));$("#"+e+">.comment-content").html(d.image+d.content);$("#"+e+">.comment-meta").html(d.meta);
c.reply_num>0&&this._buildReply(0,e,c.replies,c.reply_num,c.name);$(d.addons).insertAfter("#"+this._buildForm("reply",c.comment_id))},_buildReply:function(c,d,e,f,g){var h=d+"r",i=[];switch(c){case 1:c=$("#"+h+"> div").size();i.content='<img src="'+e.thumb+'" class="avatar"/><div><span><b>'+e.name+"</b> "+e.text+'</span><span class="meta">'+$.KuKuDate.niceTimeFromNow(e.timestamp)+"</span></div>";if(c==0){$(".templates>div.replies").clone().attr("id",h).insertAfter($("#"+d));$(".templates>div.comment-reply").clone().attr("id",
h).appendTo("#"+h);g=$("<div/>").addClass("comment").append($("<span/>").addClass("answers").html("1 answer."));$("#"+h+" >.comment-reply").html(g)}else $("#"+h+" >.comment-reply>.answers").html(c+" answers.");$(".templates>div.comment-reply").clone().attr("id",h+c).appendTo("#"+h);$("#"+h+c+">.comment>.comment-content").html(i.content);break;case 2:$.each(e,function(k,j){switch(j.source){case "facebook":i.name='<fb:name uid="'+j.userid+'"></fb:name>';i.source=" - via <b>facebook</b>";i.image='<fb:profile-pic uid="'+
j.userid+'" linked="false" width="25" height="25"></fb:profile-pic>';break;default:i.name=j.name;j.source=="kukunu"?i.source="":i.source=" - via <b>"+j.source+"</b>";j.thumb?i.image='<img src="'+j.thumb+'" class="avatar"/>':i.image='<img src="/img/default-profile.png" class="avatar"/>'}i.content=i.image+"<div><span><b>"+i.name+"</b> "+j.text+'</span><span class="meta">'+$.KuKuDate.niceTimeFromNow(j.timestamp)+i.source+"</span></div>";$(".templates>div.comment-reply").clone().attr("id",h+k).insertBefore("#"+
h);$("#"+h+k+">.comment>.comment-content").html(i.content);$(".item-meta>a.vc"+d).show().html("View comments <i>("+f+")</i>").addClass("highlight")});e.length==0&&$(".item-meta>a.vc"+d).show().html("Post comment");break;case 3:c=$(".stepitem-c"+d+" > div").size();i.content='<img src="'+e.thumb+'" class="avatar"/><div><span><b>'+e.name+"</b> "+e.text+'</span><span class="meta">'+$.KuKuDate.niceTimeFromNow(e.timestamp)+"</span></div>";$(".templates>div.comment-reply").clone().attr("id",h+c).insertBefore("#"+
h);$("#"+h+c+">.comment>.comment-content").html(i.content);$(".item-meta>a.vc"+d).show().html("Hide comments <i>("+c+")</i>").addClass("highlight");break;default:f==1?txtNum=" answer to ":txtNum=" answers to ";$(".templates>div.replies").clone().attr("id",h).appendTo($(".comment-container"));$(".templates>div.comment-reply").clone().attr("id",h).appendTo("#"+h);f>3?i.seemore=' - <a href="#" id="'+h+'">click to see all replies</a>':i.seemore="";g=$("<div/>").addClass("comment").append($("<span/>").addClass("answers").html(f+
txtNum+g+i.seemore));$("#"+h+" >.comment-reply").html(g);$.each(e,function(k,j){switch(j.source){case "facebook":i.name='<fb:name uid="'+j.userid+'"></fb:name>';i.source=" - via <b>facebook</b>";i.image='<fb:profile-pic uid="'+j.userid+'" linked="false" width="25" height="25" class="avatar"></fb:profile-pic>';break;default:i.name=j.name;j.source=="kukunu"?i.source="":i.source=" - via <b>"+j.source+"</b>";j.thumb?i.image='<img src="'+j.thumb+'" class="avatar"/>':i.image='<img src="/img/default-profile.png" class="avatar"/>'}i.content=
i.image+"<div><span><b>"+i.name+"</b> "+j.text+'</span><span class="meta">'+$.KuKuDate.niceTimeFromNow(j.timestamp)+i.source+"</span></div>";$(".templates>div.comment-reply").clone().attr("id",h+k).appendTo("#"+h);$("#"+h+k+">.comment>.comment-content").html(i.content);f-k>3&&$("#"+h+k).hide();$("#f"+d+" textarea").val("").focus()})}},_outputComments:function(c){if(this.stepid>0){this._buildReply(2,c.comment_id,c.replies,c.reply_num,"");this._buildForm("stepreply",c.comment_id)}else this._buildComment(c)},
_clickActions:function(){var c=this;$(document).ready(function(){$(".ajaxStatus").live("click",function(d){$(this).fadeIn("slow",c.getContents());d.preventDefault()});$(".comment-reply .answers a").live("click",function(d){$("#"+$(this).attr("id")+">div.comment-reply").fadeIn("slow");d.preventDefault()});$(".commenting-system textarea.post-tip").live("click",function(){$.KuKuLib2.identity||$.authoverlay.open({title:"To post a comment, please login on Kukunu or register"})});$(".commenting-actions input[type=submit].button").live("click",
function(d){$.KuKuLib2.identity?c._postComments($(this).attr("id")):$.authoverlay.open({title:"To post a comment, please login on Kukunu or register"});d.preventDefault()});$(".comment-content-reply .blank-textarea").live("click",function(d){if($.KuKuLib2.identity){var e=$(this).data("rel_form");$("#"+e+" .avatar").show();$("#"+e+" span").show();$("#"+e+" .commenting-actions").show();$("#"+e+" textarea").show();$("#"+e+" fieldset").css("marginTop","5px");$("#"+e+" .blank-textarea").hide();$("#"+e+
" textarea").focus()}else $.authoverlay.open({title:"To post a reply, please login on Kukunu or register"});d.preventDefault()});$(".item-meta a.comments").live("click",function(d){var e=$(".stepitem-c"+$(this).attr("id"));e.toggle();var f=$(this).html();e=e.is(":visible")?f.replace("View","Hide"):f.replace("Hide","View");$(this).html(e);d.preventDefault()});$(".comment-content-reply textarea").live("blur",function(){if($(this).val()==""){var d=$(this).data("rel_form");$("#"+d+" .avatar").hide();
$("#"+d+" span").hide();$("#"+d+" .commenting-actions").hide();$("#"+d+" textarea").hide();$("#"+d+" fieldset").css("marginTop","0px");$("#"+d+" .blank-textarea").val("Write a comment...").show()}});$(".comment-content-reply textarea").live("keyup",function(){c._setSize(this)});$(".login a.not-logged").live("click",function(d){$.authoverlay.open({title:"To post a comment or reply, please login on Kukunu or register"});d.preventDefault()})})},_postComments:function(c){var d=this,e=[],f=new Date;if($("#f"+
c+" textarea").attr("name")=="reply_text"){e.reply=$("#f"+c+" textarea").val();e.text=$("#f"+c+" textarea").val();e.comment=""}else{e.comment=$("#f"+c+" textarea").val();e.text=$("#f"+c+" textarea").val();e.reply=""}$("#f"+c+" #cid").val()>0?e.id=$("#f"+c+" #cid").val():e.id=0;$("#f"+c+" #sid").val()>0?e.stepitemid=$("#f"+c+" #sid").val():e.stepitemid=0;$("#f"+c+" #share_private").is(":checked")?e["private"]=1:e["private"]=0;$("#f"+c+" #share_facebook").is(":checked")&&(e.facebook=true);$("#f"+c+
" #share_twitter").is(":checked")&&(e.twitter=true);e.timestamp=f;e.thumb=$.KuKuLib2.identity.picture;e.name=$.KuKuLib2.identity.username;e.source="kukunu";if(c!=0&&e.stepitemid>0)d._buildReply(3,e.stepitemid,e,0,"");else c!=0&&d._buildReply(1,"c"+e.id,e,0,"");$.post(getbaseurl()+"/comments/post/",{format:"json",comment_text:e.comment,reply_text:e.reply,tripid:d.tripid,stepid:d.stepid,item_id:0,stepitem:e.stepitemid,commentid:e.id,comment_source:"kukunu",comment_private:e["private"],comment_share_facebook:e.facebook,
comment_share_twitter:e.twitter},function(g){var h="";if(g.status==200){c==0&&d.getContents();$("#f"+c+" textarea").val("").focus();$(".commenting-system :input").not(":button, :submit, :hidden").removeAttr("checked").removeAttr("selected");h="<p>Your tip/reply was posted successfully and will display below.</p>"}else g.errors.length!=0&&$.each(g.errors,function(i,k){h+="<p>"+k+"</p>"})},"json")},_setSize:function(c){a=c.value.split("\n");b=1;for(x=0;x<a.length;x++)if(a[x].length>=c.cols)b+=Math.floor(a[x].length/
c.cols);b+=a.length;if(b>c.rows)c.rows=b}};
$.KuKuActivity={element:null,contents:[],pagination:[],options:[],init:function(c){this.element=$(c);$.getJSON(getbaseurl()+"/activity/init/",{format:"json"},function(d){if(d.status==200){$("<span/>").addClass("refresh-feed").hide().appendTo(".activity-feed-new");$("<span/>").addClass("refresh-feed").hide().appendTo(".activity-feed-more")}});if($.KuKuLib2.identity){this.options.load="friends";this.options.limit=20;this.pagination.limit=10;this.options.timestamp=0;this._getActivities();this._clickActions()}},
_getActivities:function(){var c=this;c.options.timestamp==0&&$(".activity-feed>.activity-item",c.element).remove();if(c.options.limit!=0)c.pagination.numToLoad=c.options.limit;$.getJSON(getbaseurl()+"/activity/display/load/"+c.options.load+"/limit/"+c.options.limit+"/timestamp/"+c.options.timestamp,{format:"json"},function(d){if(d.contents.length==0)return false;if(c.options.timestamp==0)$.each(d.contents,function(f,g){c._buildItem(g).insertBefore(".activity-feed-more",c.element);if(f==0)c.options.timestamp=
g.timestamp});else{$.each(d.contents,function(f,g){c._buildItem(g).hide().insertAfter(".activity-feed-new",c.element);c.options.timestamp=g.timestamp});var e=$(".activity-feed>.activity-item",c.element).filter(":hidden").size();$(".activity-feed-new .refresh-feed",c.element).slideDown("slow",function(){$(this).html(e+" new activities, click here to show them")})}$(".activity-feed-more .refresh-feed",c.element).html("Older activities, click here to show them").hide();d.contents.length==c.options.limit&&
$(".activity-feed-more .refresh-feed",c.element).show()});c.options.timer=setTimeout(function(){c.options.limit=0;c._getActivities()},2E4)},_buildItem:function(c){var d=[];c.text!=""?d.text="<span>"+c.text+"</span>":d.text="";c.object_img?d.itemImg='<img src="'+c.object_img+'" />':d.itemImg="";d.text!=""||d.itemImg!=""?d.div='<div class="box-subcontent">'+d.itemImg+d.text+'<div class="clear"></div></div>':d.div="";return $("<div/>").addClass("activity-item").html('<img src="'+c.actor_img+'" class="avatar" /><div class="item-content">\t<p><b>'+
c.actor+"</b> "+c.activity+"</p>"+d.div+'\t<div class="item-meta">\t\t<span>'+$.KuKuDate.niceTimeFromNow(c.timestamp)+' in the trip <a href="'+c.url+'">'+c.target+'</a></span>\t</div></div><div class="clear"></div>')},_buildMsg:function(c){return c.actor+" "+c.verb+" "+c.object+' <a class="small-button" href="'+c.url+'">'+c.target+"</a>."},_clickActions:function(){var c=this;$(document).ready(function(){$(".activity-feed-new .refresh-feed",c.element).live("click",function(d){$(".activity-feed>.activity-item",
c.element).fadeIn("slow");$(".activity-feed-new .refresh-feed",c.element).html("").hide();d.preventDefault()});$(".activity-feed-more .refresh-feed",c.element).live("click",function(d){c.options.limit=c.pagination.numToLoad+c.pagination.limit;c.options.timestamp=0;clearTimeout(c.options.timer);c._getActivities();d.preventDefault()})})}};$.KuKuLib2={};
$.KuKuLib2.indexHomepage=function(c){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"});$("#demo-video").overlay({target:$("#overlay-video"),top:"20%",closeOnClick:false,mask:{color:"#FFF",loadSpeed:0,opacity:0},onClose:function(){var d=$("#myytplayer").get(0);try{d.stopVideo()}catch(e){}}});$(".carousel-step").click(function(d){var e=
$(this).attr("rel");$(".hr-home").hide();$(".hr-home-"+e).fadeIn();$(".carousel-step").removeClass("active");$(".step"+e).addClass("active");d.preventDefault()});$.kukumiles.init("#miles-counter",c);$(".k-scroller-user").billy({slidePause:7500,indicators:$(".k-indicators-user")});$(".k-scroller-press").billy({slidePause:9E3,indicators:$(".k-indicators-press")})};$.KuKuLib2.indexMykukunu=function(){$(".travellers-widget a").click(function(c){c.preventDefault()});$.KuKuActivity.init("div#activity-feed")};
$.KuKuLib2.layout=function(){$("#ajax-error").overlay({api:true,top:"25%",closeOnClick:false,closeOnEsc:false});var c=["/ajax/savetripstructure","/ajax/insertstep","/transport/save","/transport/delete"];$("#ajax-error").ajaxError(function(d,e,f,g){if($.browser.msie){window.location.hostname=="www.kukunu.dev"&&alert("AJAX error");return false}if(g&&g.message=="syntax error")return false;if($.inArray(f.url.split("/",3).join("/"),c)==-1)return false;$(this).data("overlay").load()});$(".zend_form span.frm-info").hide();
$(".zend_form input").focus(function(){$(".zend_form span.frm-info").hide();$(this).parent().nextAll("span.frm-info").show();$(this).parent().nextAll("span.frm-error").hide()});$.KuKuLib2.flashMessenger.length>0&&$.fn.bar($.KuKuLib2.flashMessenger[0]);if(!$.KuKuLib2.identity){$.authoverlay.initialize();$(".login-button").click(function(d){$.authoverlay.open();d.preventDefault()});$(".signup-button").click(function(d){$.authoverlay.open({pane:"signup"});d.preventDefault()})}$(".fblogin").click(function(d){FB.login(function(e){if(e.session){$("#facebook-loading").show();
$.getJSON(getbaseurl()+"/facebook/ajaxauth/",{format:"json"},function(f){$("#facebook-loading").hide();f.status==200&&window.location.reload()})}},{perms:knu.facebook.perms.join(",")});d.preventDefault()})};
$.KuKuLib2.tripSidebarPrivate=function(c){var d=$.KuKuLib2.trip,e=d.getStepById(c);$.shareoverlay.initialize({tripid:d.tripid,stepid:c});var f=e==null?d.shorturl:e.shorturl;$("#share-by-email").overlay({target:$("#overlay-url"),onBeforeLoad:function(){$("#shorturl",this.getOverlay()).text(f)}});var g=e==null?d.numberOfSteps()>0?"I'm planning a trip to "+d.getOneLineCities(2)+"any good tip?":"I'm planning a trip on Kukunu, any good tip?":"I'm planning to visit "+e.cityName+", any good tip?";$("#get-advices").click(function(h){$.shareoverlay.open({message:g});
h.preventDefault()});$(".travellers-widget a").click(function(h){h.preventDefault()})};$.KuKuLib2.tripSidebarPublic=function(){$("#clone-trip").click(function(c){if(!$.KuKuLib2.identity){$.authoverlay.open({title:"To clone a trip, please login on Kukunu or register",redirect:$(this).attr("href")});c.preventDefault()}})};
$.KuKuLib2.tripNew=function(){$("#startdate, #enddate").datepicker({firstDay:1,yearRange:"2008:2015",dateFormat:"dd-mm-yy",duration:0,onClose:function(){$(this).focus()}});$("#startdate, #enddate").change(function(){var d=$("#startdate").datepicker("getDate"),e=$("#enddate").datepicker("getDate"),f=$("#nbrdays").val();if(d!=null&&e!=null){d=$.KuKuDate.diffDays(d,e);d+=1;d>=0?$("#nbrdays").val(d):$("#nbrdays").val(0)}else if(d!=null&&f>0){d=cloneDate(d);$.KuKuDate.addDays(d,parseInt($("#nbrdays").val())-
1);$("#enddate").val($.KuKuDate.formatDate(d,"d-m-Y"))}else d==null&&e!=null&&$("#enddate").val("")});$("#nbrdays").change(function(){var d=$("#startdate").datepicker("getDate");$("#enddate").datepicker("getDate");var e=$("#nbrdays").val();if(d!=null&&e>0){d=cloneDate(d);$.KuKuDate.addDays(d,parseInt($("#nbrdays").val())-1);$("#enddate").val($.KuKuDate.formatDate(d,"d-m-Y"))}});$("#startdate").change(function(){$("#enddate").datepicker("option","minDate",$(this).datepicker("getDate"))});var c=["Enter destination city",
"Destination country or region"];$("#newtrip input").blur(function(){var d=$("input[name=triptype]:checked").val(),e=$("#destination"+d);if(e.val()!=""&&e.val()!=c[d]&&$("#nbrdays").val()!=""){d=$("#nbrdays").val()+" days in "+e.val();$("#title").val()==""&&$("#title").val(d)}});$("input#destination0").example(c[0]);$("input#destination1").example(c[1]);$("input#destination0").kukumagiccityadd().bind("autocompleteselect",function(d,e){e.item&&$("input#destinationGdata").val($.toJSON(e.item))});$("input[name=triptype]").change(function(){var d=
$(this).val();$("input#destination0").val(c[0]).addClass($.fn.example.defaults.class_name);$("input#destination1").val(c[1]).addClass($.fn.example.defaults.class_name);$("input#destinationGdata").val("");if(d==0){$("input#destination0").show();$("input#destination1").hide()}else{$("input#destination1").show();$("input#destination0").hide()}});$("input#origin").kukumagiccityadd().bind("autocompleteselect",function(d,e){e.item&&$("input#originGdata").val($.toJSON(e.item))});$("input#origin").example("Enter departure city");
$(".step").mouseover(function(){$("span.help",this).show()}).mouseout(function(){$("span.help",this).hide()})};
$.KuKuLib2.tripItineraryPrivate=function(c){knu.mapactive&&$("#kukumap").KuKuMap({width:"675px",height:"400px",mapOptions:{mapTypeId:google.maps.MapTypeId.TERRAIN}});var d=$.KuKuLib2.trip;$.KuKuCal2.initialize("#kukucal",d,c);$.KuKuStep.initialize("#stepsList",d,c);$.KuKuCal2.render();$.KuKuStep.render();d.refreshMap();d.selectStep(d.getStepIdByIndex(0));$.KuKuMap.trip=d;$("#kukumap-switch").click(function(e){$("#kukumap-wrapper").css("top","0px");$("#kukucal-wrapper").css("top","-2000px");$(this).hide();
$("#kukucal-switch").show();e.preventDefault()});$("#kukucal-switch").click(function(e){$("#kukucal-wrapper").css("top","0px");$("#kukumap-wrapper").css("top","-2000px");$(this).hide();$("#kukumap-switch").show();e.preventDefault()});$("input#add-city").kukumagiccityadd().bind("autocompleteselect",function(e,f){if(f.item){var g=new Step;if($.KuKuCal2.addCityDate){var h=cloneDate($.KuKuCal2.addCityDate);$.KuKuCal2.addCityDate=null}else h=cloneDate($.KuKuCal2.trip.nextFreeDay());g.stepStartDate=h;g.stepEndDate=
$.KuKuDate.addDays(cloneDate(g.stepStartDate),1);$.KuKuCal2.trip.addNewStep(g,f.item);$(this).val("Add a city to your itinerary").addClass($.fn.example.defaults.class_name).blur();$.mask.close()}}).example("Add a city to your itinerary");$(window).bind("beforeunload",function(){$.ajax({type:"POST",url:getbaseurl()+"/ajax/unlocktrip/",data:{format:"json",tripid:d.tripid},async:false})});$.KuKuComment.init(d,0)};
$.KuKuLib2.tripEdit=function(){var c=$("form#delete-trip");$("#delete-trip-button").confirmation({text:"Please confirm you wish to delete this trip",submitText:"Delete",submit:function(){$(c).submit()}})};$.KuKuLib2.tripUsers=function(){$(".step").mouseover(function(){$("span.help",this).show()}).mouseout(function(){$("span.help",this).hide()})};
$.KuKuLib2.tripItineraryPublic=function(){var c=$.KuKuLib2.trip;knu.mapactive&&$("#kukumap").KuKuMap({width:"675px",height:"400px",mapOptions:{mapTypeId:google.maps.MapTypeId.TERRAIN}});$.KuKuMap.trip=c;$.KuKuMap.noselection=true;c.refreshMap();$.KuKuComment.init(c,0)};
$.KuKuLib2.tripStepPublic=function(c){var d=$.KuKuLib2.trip,e=d.getStepById(c);$("#kukumap").KuKuMap({width:"675px",height:"300px"});$(".kukuitem").kukunuItemNew();$.KuKuMap.centerMapToMarkers()||$.KuKuMap.centerMapToBbox(e.bbox);var f={lat:e.latitude,lng:e.longitude,name:e.cityName,id:e.cityid};$.additemoverlay.initialize();var g="Suggest a place in "+e.cityName;$.KuKuLib2.identity?$("#suggest-place").kukumagicadd(f).bind("autocompleteselect",function(h,i){i.item&&$.additemoverlay.open(i.item,e,
true)}).bind("autocompleteclose",function(){$(this).val(g).addClass($.fn.example.defaults.class_name)}).example(g):$("#suggest-place").focus(function(){$.authoverlay.open({title:"To suggest a place, please login on Kukunu or register",afterOpen:function(){$("#suggest-place").val(g).addClass($.fn.example.defaults.class_name)}})}).example(g);$.KuKuComment.init(d,c)};
$.KuKuLib2.placesBrowse=function(c,d){var e=null;if(c){e=new Trip;e.load(c);e=e.getStepById(d)}$("#kukumap").KuKuMap({width:"675px",height:"300px"});$(".kukuitem").kukunuItemNew(e);$.KuKuMap.centerMapToMarkers()||$.KuKuMap.centerMapToBbox(e.bbox)};
$.KuKuLib2.placesView=function(c,d){var e=null;if(c){e=new Trip;e.load(c);e=e.getStepById(d)}$("#kukumap").KuKuMap({width:"240px",height:"178px",mapOptions:{mapTypeControl:false}});$(".kukuitem").kukunuItemNew(e);$.KuKuMap.centerMapToMarkers()||e&&$.KuKuMap.centerMapToBbox(e.bbox);$("a.item-smallthumb").imagepreview({xOffset:-20,yOffset:-20});$(".kukutabs").kukutabs();$("input.dates").datepicker({firstDay:1,dateFormat:"dd-mm-yy",duration:"fast"})};
$.KuKuLib2.tripPrint=function(c){var d=new Trip;d.load(c);$("#kukumap").KuKuMapV2({width:"672px",height:"400px"});$.KuKuMapV2.trip=d;d.refreshMapV2()};
$.KuKuLib2.tripStepPrivate=function(c,d){var e=new Trip;e.load(c);var f=e.tripid,g=e.getStepById(d);$("#kukumap").KuKuMap({width:"675px",height:"300px",mapType:"G_NORMAL_MAP"});$(".kukuitem").kukunuItemNew(g);$.KuKuMap.centerMapToMarkers()||$.KuKuMap.centerMapToBbox(g.bbox);$.additemoverlay.initialize();var h={lat:g.latitude,lng:g.longitude,name:g.cityName,id:g.cityid},i="Add a place in "+g.cityName;$("#magic-add").kukumagicadd(h).bind("autocompleteselect",function(k,j){j.item&&$.additemoverlay.open(j.item,
g)}).bind("autocompleteclose",function(){$(this).val(i).addClass($.fn.example.defaults.class_name)}).example(i);f={format:"html",cityid:g.cityid,cityname:g.cityName,tripid:f,stepid:d};$("#browse-links").load(getbaseurl()+"/ajax/browselinks/",f);$.KuKuComment.init(e,d)};

