
function image_get_src(img){if(DSBrowser.browser=='Explorer'&&DSBrowser.version<7){if(img&&img.filters&&img.filters[0]){return img.filters[0].src}else if(img){return img.src;}}else if(img){return img.src;}}
function image_set_src(img,src,sizing){if(DSBrowser.browser=='Explorer'&&DSBrowser.version<7){if(src.match(/\.png(;|$)/)&&!img.className.match(/notTransparent/)){var s=sizing?', sizingMethod="'+sizing+'"':'';img.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+src+'"'+s+')';img.src='img/pixel_trans.gif';}else if(img.src!=src){img.src=src;}}else if(img){img.src=src;}}
function CheckAll_TblFinder(evt){var e=new DSBrowserEventObject(evt,window.event,this);var controlCb=e.getCurrentTarget();var cbs=new Array();var tbl=DOMNode.findAncestor(controlCb,'table');var bodies=tbl.getElementsByTagName('tbody');array_walk(bodies,function(o){var moreCbs=array_grep(o.getElementsByTagName('input'),function(p){return(p.type=='checkbox');});cbs=cbs.concat(moreCbs);});CheckAllHandler(controlCb,1,cbs);}
function CheckAll_LiFinder(evt){var e=new DSBrowserEventObject(evt,window.event,this);var controlCb=e.getCurrentTarget();var cbs=new Array();var ul=controlCb;while(ul&&ul.tagName.toLowerCase()!='ul'){ul=ul.parentNode;}
var lis=ul.getElementsByTagName('li');for(var i=0;i<lis.length;i++){var inputs=lis[i].getElementsByTagName('span')[0].getElementsByTagName('input');for(var j=0;j<inputs.length;j++){if(inputs[j].type=='checkbox'&&!DOMNode.isClass(inputs[j],'skip')){cbs.push(inputs[j]);}}}
CheckAllHandler(controlCb,1,cbs);}
function CheckAllHandler(controlCb,doCheck,cbs){var state=controlCb.checked;for(var i=0;i<cbs.length;++i){if(doCheck){if(state==false&&!cbs[i].checked){continue;}
var remove=((state==true&&cbs[i].checked)?0:1);dsform.setVar(cbs[i].name,cbs[i].value,1,remove);cbs[i].checked=state;}}
toggle_behavior(state,controlCb.id);}
function checkboxes_check_state(id){var toggleFunc=(id=='mapSearchResults'?mapresctrls_toggle_behavior:resultctrls_toggle_behavior);var t=document.getElementById(id);if(t){var cbs=t.getElementsByTagName('input');for(var i=0;i<cbs.length;++i){if(cbs[i].checked){toggleFunc(true);return;}}}
toggleFunc(false);}
function error_message_add(msg){var m=document.getElementById('msgErr');var d;if(m){d=DOMNode.getByTagAndClass(m,'div','msgTxt')}
if(!d){var h=document.getElementById('hdr');if(h&&h.nextSibling){var e=h.nextSibling;d=document.createElement('div');d.id='msgErr';d.className='msgBox err'
h.parentNode.insertBefore(d,e);d=DOMNode.create(d,'','div','class','msgTxt');DOMNode.create(d,'','img','src',urls.img+'misc_error.png','alt',lcl.getString('js.err'));}}
if(d){DOMNode.create(d,msg,'p','class','msg');var c=DOMNode.getByTagAndClass(document,'div','callout');for(var i=0;i<c.length;++i){c[i].style.display='none';c[i].style.display='block';}}}
function itinerary_get_icon(val,disabled,advertiser){var lets=lcl.getString('js.letters');var blank=disabled?'img/map_icon_blank_dis.png':'img/'+(advertiser?'map_nodes/advertiser/':'')+'map_icon_blank.png';if(parseInt(val)==val){if(val<0||val>(lets.length-1)){return blank;}
val=lets.charAt(val);}else if(lets.indexOf(val)==-1){return blank;}
if(val.length!=1){return blank;}
return'img/map_nodes/'+(advertiser?'advertiser/':'')+'map_icon_'+val+(disabled?'_dis':'')+'.png';}
function mapresctrls_toggle_behavior(state){var d=document.getElementById('mapResCont');if(d){var callout=DOMNode.getByTagAndClass(d,'div','callout')[0];if(callout){var as=callout.getElementsByTagName('a');array_walk(as,function(o){if(DOMNode.isClass(o,'addToPlaces')||DOMNode.isClass(o,'addToItinerary')){if(state){DSBrowserEvent.removeListener(o,'click',null_func);DSBrowserEvent.addListener(o,'click',mylist_add_checked);DOMNode.removeClass(o,'disabled');}else{DSBrowserEvent.removeListener(o,'click',mylist_add_checked);DSBrowserEvent.addListener(o,'click',null_func);DOMNode.addClass(o,'disabled');}}});}}}
function resultctrls_toggle_behavior(state){var d=document.getElementById('resultCtrls');if(d){var as=d.getElementsByTagName('a');array_walk(as,function(o){if(DOMNode.isClass(o,'addToPlaces')||DOMNode.isClass(o,'addToItinerary')){if(state){DSBrowserEvent.removeListener(o,'click',null_func);DSBrowserEvent.addListener(o,'click',mylist_add_checked);DOMNode.removeClass(o,'disabled');}else{DSBrowserEvent.removeListener(o,'click',mylist_add_checked);DSBrowserEvent.addListener(o,'click',null_func);DOMNode.addClass(o,'disabled');}}});}}
function mapresctrls_check_state(){return checkboxes_check_state('mapSearchResults');}
function AdEnlarge(evt){var e=new DSBrowserEventObject(evt,window.event,this);var a=e.getCurrentTarget();var img;while(a&&a.nodeName!='A'){a=a.parentNode;}
var p;if((p=DOMNode.findNextSibling(a,'div'))){img=p.getElementsByTagName('img')[0];}else if((p=DOMNode.findPrevSibling(a.parentNode,'p'))){img=p.getElementsByTagName('img')[0];}
if(a&&(img||(img=a.getElementsByTagName('img')[0])||(img=DOMNode.findPrevSibling(a,'img'))||(img=DOMNode.findNextSibling(a,'img')))){var src=image_get_src(img).replace(/_small|_medium/,'_large');window.setTimeout(function(){var newImg=document.createElement('img');DSBrowserEvent.addListener(newImg,'load',AdEnlargePosition);newImg.src=src;newImg.galleryImg='no';newImg.style.position='absolute';},0);}}
function AdEnlargePosition(evt){var e=new DSBrowserEventObject(evt,window.event,this);var i=e.getCurrentTarget();DSBrowserEvent.removeListener(i,'load',AdEnlargePosition);var m=DOMNode.create(null,'','div','class','adModal');m.style.height=document.documentElement.scrollHeight+"px";DSBrowserEvent.addListener(m,'click',function(){m.parentNode.removeChild(m)});var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('msie')!=-1&&ua.indexOf('win')!=-1){var ifrm=DOMNode.create(m,'','iframe','src','javascript:void(0)');ifrm.style.position='absolute';ifrm.style.width='100%';ifrm.style.height='100%';ifrm.style.filter='alpha(opacity=0)';}
document.getElementsByTagName('body')[0].appendChild(m);var d=DOMNode.create(m,'','div','class','adWin');d.appendChild(i);var thresh=.85;var ww,wh;if(window.innerWidth){ww=window.innerWidth;wh=window.innerHeight;}else if(document.documentElement&&document.documentElement.clientWidth){ww=document.documentElement.clientWidth;wh=document.documentElement.clientHeight;}else{ww=wh=0;}
var height=i.height;var width=i.width;var pctW=(width/ww);var pctH=(height/wh);if(pctW>thresh||pctH>thresh){var top=(pctW>pctH?pctW:pctH);var factor=1-(top-thresh);width=Math.floor(i.width*=factor);height=Math.floor(i.height*=factor);}
i.width=width;i.height=height;image_set_src(i,i.src,'scale');d.style.width=width+20+'px';d.style.height=height+22+'px';m.removeChild(d);d.style.backgroundColor='#fffbcb';var wrapper=document.createElement('div');wrapper.style.position='absolute';wrapper.style.left=Math.floor((ww-width)/2)+'px';var tmpTop=Math.floor((wh-height)/2);if(document&&document.documentElement&&document.documentElement.scrollTop){tmpTop+=document.documentElement.scrollTop;}
wrapper.style.top=tmpTop+'px';DSBrowserEvent.addListener(wrapper,'click',null_func);var title=document.createElement('p');title.style.backgroundColor='#00729b';title.style.margin=0;title.style.textAlign='right';title.style.marginRight='-14px';var c=DOMNode.create(title,lcl.getString('js.closewin'),'a','href','javascript:void(0)');DSBrowserEvent.addListener(c,'click',function(){m.parentNode.removeChild(m)});var wrapped=new DSShadow(title,d);wrapper.appendChild(wrapped);m.appendChild(wrapper);m.style.visibility='visible';}
function mylist_add_checked(evt){var e=new DSBrowserEventObject(evt,window.event,this);var ids=new Array();var checked=new Array();var savedIds=new Array();var savedLocs=new Array();var behaviorId;var f=document.getElementById('searchResultsForm');if(f){behaviorId='searchResCCb';}else{f=document.getElementById('mapResCont');behaviorId='mapResCCb';}
if(f){array_walk(f.getElementsByTagName('input'),function(o){if(o.type=='checkbox'&&o.checked){if(o.name=='listingId'){if(o.value){ids.push(o.value);}
checked.push(o);}else if(o.name=='savedLocationId'){if(o.value){savedIds.push(o.value);}
savedLocs.push(o);}}});}
var d,ajaxFunc,type;if(e&&e.getCurrentTarget()&&e.getCurrentTarget().className&&DOMNode.isClass(e.getCurrentTarget(),'addToItinerary')){type='Itin';d=document.getElementById('myItinList');ajaxFunc=mapping.addListingsToItinerary;}else{type='Places';d=document.getElementById('myPlacesList');ajaxFunc=mapping.addToMyList;}
DOMNode.truncate(d);DOMNode.addClass(DOMNode.create(d,lcl.getString('js.loading'),'p'),'load');ajaxFunc(mylist_dwr_callback_factory(type),ids,savedIds,u.uid,u.ptkn);if(document.getElementById('searchResultsTbl')){array_walk(ids,function(o){mylist_update_search_results(o);});}
array_walk(checked,function(o){o.checked=false;});array_walk(savedLocs,function(o){o.checked=false;});var ccb=document.getElementById(behaviorId);if(ccb){ccb.checked=false;}
toggle_behavior(false,behaviorId);return true;}
function mylist_dwr_callback_factory(type){return function(data){mylist_dwr_callback(type,data);}}
function mylist_update_search_results(id){var tb=document.getElementById('t'+id);if(tb&&(DOMNode.getByTagAndClass(tb,'span','inlist')).length==0){var p=tb.getElementsByTagName('p')[0];if(p){var il=document.createElement('span');il.appendChild(document.createTextNode(lcl.getString('js.inplaces')));DOMNode.addClass(il,'inlist');p.parentNode.insertBefore(il,p);}
var span=tb.getElementsByTagName('span')[0];if(span){DOMNode.addClass(span,'inlistNumber');}
var a=DOMNode.getByTagAndClass(tb,'a','resList')[0];if(a){a.parentNode.removeChild(a);}}}
function mylist_add_one_get_id(evt){var e=new DSBrowserEventObject(evt,window.event,this);var id=mylist_get_id(e);mylist_add_one(id);}
function myitin_add_one_get_id(evt){var e=new DSBrowserEventObject(evt,window.event,this);var id=myitin_get_id(e);myitin_add_one(id);}
function mylist_get_id(e){var id=e.getCurrentTarget().id;return id.replace(/^addML/,'');}
function myitin_get_id(e){var id=e.getCurrentTarget().id;return id.replace(/^addMI/,'');}
function mylist_add_one(id){var d=document.getElementById('myPlacesList');if(d){DOMNode.truncate(d);d.style.height='auto';d.style.visibility='visible';DOMNode.addClass(DOMNode.create(d,lcl.getString('js.loading'),'p'),'load');}
mapping.addToMyList(mylist_dwr_callback_factory('Places'),[id],null,u.uid,u.ptkn);var a=document.getElementById('addML'+id);if(a){var parent=a.parentNode;p=document.createElement('p');p.appendChild(document.createTextNode(lcl.getString('js.inplacespc')));parent.replaceChild(p,a);}}
function myitin_add_one(id){var d=document.getElementById('myItinList');if(d){DOMNode.truncate(d);d.style.height='auto';d.style.visibility='visible';DOMNode.addClass(DOMNode.create(d,lcl.getString('js.loading'),'p'),'load');}
mapping.addListingsToItinerary(mylist_dwr_callback_factory('Itin'),[id],null,u.uid,u.ptkn);var a=document.getElementById('addML'+id);if(a){var parent=a.parentNode;p=document.createElement('p');p.appendChild(document.createTextNode(lcl.getString('js.inplacespc')));parent.replaceChild(p,a);}}
function mylist_add_details_page(evt){var e=new DSBrowserEventObject(evt,window.event,this);var id=e.getCurrentTarget().id;id=id.replace(/^addML/,'');mapping.addToMyList(mylist_dwr_callback_factory('Places'),[id],null,u.uid,u.ptkn);var p=e.getCurrentTarget().parentNode;var parent=p.parentNode;parent.removeChild(p);p=document.createElement('p');p.id='detInList';p.appendChild(document.createTextNode(lcl.getString('js.inplacespc')));parent.appendChild(p);}
function mylist_add_profile_page(evt){var e=new DSBrowserEventObject(evt,window.event,this);var id=e.getCurrentTarget().id;id=id.replace(/^addML/,'');mapping.addToMyList(mylist_dwr_callback_factory('Places'),[id],null,u.uid,u.ptkn);var a=e.getCurrentTarget();var parent=a.parentNode;parent.removeChild(a);DOMNode.create(parent,lcl.getString('js.inplacespc'),null);DOMNode.removeClass(parent,'detAddMyPlace');}
function controlCb_checkerFinder(evt){var e=new DSBrowserEventObject(evt,window.event,this);var pNode=e.getCurrentTarget();while(pNode&&!DOMNode.isClass(pNode,'cbParent')){pNode=pNode.parentNode;}
controlCb_checker(pNode);}
function controlCb_checker(node){if(node&&DOMNode.isClass(node,'cbParent')){var controlCb=DOMNode.getByTagAndClass(node,'input','controlCb')[0];var cbs=controlCb_get_checkboxes(node,true);var numChecked=0;var numOtherCbs=0;var numOtherChecked=0;array_walk(cbs,function(o){if(DOMNode.isClass(o,'otherCb')){numOtherCbs++;if(o.checked){numOtherChecked++;}}else if(!DOMNode.isClass(o,'controlCb')&&o.checked){numChecked++;}});var totalNumChecked=numChecked+numOtherChecked;var numRegularCbs=cbs.length-numOtherCbs;if(numChecked<numRegularCbs){controlCb.checked=false;}else{controlCb.checked=true;}
if(totalNumChecked==0){toggle_behavior(false,controlCb.id);}else{toggle_behavior(true,controlCb.id);}}}
function toggle_behavior(state,id){switch(id){case'searchResCCb':resultctrls_toggle_behavior(state);break;case'mapResCCb':mapresctrls_toggle_behavior(state);break;case'myPlacesCCb':myplaces_toggle_behavior(state);break;case'myItinCCb':myitin_toggle_behavior(state);break;}}
function controlCb_get_checkboxes(cont,trim){var cbs=array_grep(cont.getElementsByTagName('input'),function(o){return(o.type=='checkbox'&&(!trim||!DOMNode.isClass(o,'controlCb')));})
return cbs;}
function RemoveRecentSearches(){dsform.go(urls.removeRecentSearches,1)}
function RemoveRecentLocations(){dsform.go(urls.removeRecentLocations,1)}