
window.OOS=window.OOS||{};OOS.Dropdown=new Class.create({close_button:'/static/imgs/ddm-close.png',initialize:function(trigger,direction,size){this.trigger=trigger;this.trigger_params=trigger.href.toQueryParams();this.id=trigger.identify();this.direction=direction||null;this.size=size||null;this._build();},_build:function(){var h=[];h.push('<div class="ddown" id="dd_');h.push(this.id);h.push('">');h.push('<a class="tab">');h.push(this.trigger.innerHTML);h.push('</a>');h.push('<div class="content" id="cc_');h.push(this.id);h.push('">');h.push('<img class="close" src="');h.push(this.close_button);h.push('" alt="" />');h.push('<div class="inner">');h.push("</div></div></div>");this.trigger.up().insert(h.join(''));this.trigger.remove();this.hide();this._set_handlers();this._fix_ui();},_set_handlers:function(){var dd=$('dd_'+this.id);var tab=dd.down('.tab'),close=dd.down('.close');tab.observe('click',function(e){e.stop();if(this.built){var menu=$('cc_'+this.id);if(menu.visible()){this.hide();}else{this.show();}}else{this.set_build_function();}}.bind(this));close.observe('click',function(e){e.stop();this.hide();}.bind(this));},_fix_ui:function(){var content=$('cc_'+this.id);var tab=$('dd_'+this.id).down('.tab');if(this.size){if(this.size.width)
content.setStyle({width:this.size.width+'px'});if(this.size.height)
content.setStyle({height:this.size.height+'px'});}
if(this.direction){var t_w=tab.getDimensions().width;var c_w=content.getDimensions().width;switch(this.direction){case'center':content.setStyle({left:'-'+(Math.round(c_w/2)-Math.round(t_w/2))+'px'});break;case'right':content.setStyle({left:'-'+(c_w-t_w)+'px'});}}},show:function(){var content=$("cc_"+this.id);var ddown=$("dd_"+this.id);if(typeof OOS.Ctr!='undefined'){OOS.Ctr.clear_menus(this.id);}
if(Prototype.Browser.IE){$$('.ddown').invoke('setStyle',{zIndex:'10'});ddown.setStyle({zIndex:'100'});ddown.down('.tab').setStyle({zIndex:'1000'});if(this.id!=='filter-contacts'){$$('form select').invoke('hide');}}
content.show();ddown.addClassName('open');},hide:function(){$("cc_"+this.id).hide();$("dd_"+this.id).removeClassName('open');if(Prototype.Browser.IE&&this.id!=='filter-contacts'){$$('form select').invoke('show');}},update_content:function(c){$("cc_"+this.id).down('.inner').update(c);this.built=this.built||true;}});window.OOS=window.OOS||{};OOS.Filters={initialize:function(form,selected_attrs,contacts){this.form=form;if(!this.form){return false;}
this.form.enable();this.form.select('input[type=checkbox]').invoke('observe','click',this._handle_form.bind(this));var options=this.form.select('select');if(options){options.invoke('observe','change',this._handle_form.bind(this));}
this.init_selected_attributes('selected-attributes');this.init_selected_contacts('selected-contacts');},switchToDeals:function(elem){var chbox=$(elem);var that=this;if(!chbox){return false}else{var ischecked=chbox.checked;chbox.observe('click',function(e){if(that.form&&that.form.category){$('isonlyoffers').setValue(!ischecked);that._filter();if(ischecked){chbox.up().removeClassName("sel");}else{chbox.up().addClassName("sel");}}else{var regex=new RegExp('/k(/([^/]{3,}))?((/[^/]{3,})*)(/([a-z]{2}))(/([a-z]{2}))(/([a-z0-9-]+))?(/([a-z0-9-]+))?(/map)?(/page([0-9]+))?');var matcher=regex.exec(window.location.href);if(matcher){if(!ischecked){var url="";var idx=11;if(!(matcher[11]==undefined)){url+="/k";if(!(matcher[11].indexOf('/page')>-1||matcher[11].indexOf('/map')>-1)){idx=13;}
for(var i=1;i<idx;i=i+2){if(matcher[i]!=undefined)
url+=matcher[i];}
url+="/deals";for(var i=idx;i<matcher.length;i=i+2){if(matcher[i]!=undefined){try{var n=parseInt(matcher[i]);}catch(e){url+=matcher[i]!=undefined?matcher[i]:'';}}}}else{url+=matcher[0]+"/deals";}
if(window.location.search.substring(1)!=undefined)
url+=window.location.search;window.location.href=url;}else{var url=window.location.href;window.location.href=url.replace("/deals","");}}}});}},init_selected_attributes:function(selected_attributes){var container=$(selected_attributes);if(!container){return false;}
container.observe('click',function(e){var elto=e.element();if(elto.tagName.toLowerCase()==='img'){elto=elto.up();}
if(elto.hasClassName('remove')){e.stop();this.unselect_attribute(elto.identify().gsub(/^attr-/,''));}}.bind(this));},init_selected_contacts:function(selected_contacts){var container=$(selected_contacts);if(!container){return false;}
container.observe('click',function(e){e.stop();var elto=e.element();if(elto.tagName.toLowerCase()==='img'){elto=elto.up();}
if(elto.hasClassName('remove')){this.unselect_contact(elto.identify().gsub(/^user-/,''));}}.bind(this));},_handle_form:function(e){var elto=e.element();if(elto.tagName.toLowerCase()=='label'){return false;}
this._filter();},_buildUrlForTracker:function(params){var url='k/';url+=params.category+"/";var attrs=params.attributes;if(typeof(params.attributes)!='string'){attrs=$A(params.attributes).toArray();}else{attrs=params.attributes.split(',');}
attrs.each(function(s){if(s&&s.length>0)
url+=s+'/';});url+=OOS.user_lang;url+=params.area;return url;},_filter:function(){var req=new Ajax.Request(this.form.readAttribute('action'),{method:'get',parameters:$(this.form.id).serialize(),onSuccess:function(transport){this._halt_gui.delay(0.5,false);if(typeof OOS.Ctr_map!='undefined'){$('services-map').update(transport.responseText);OOS.Data.services=[];var response=$('res');var data=(response!=null)?response.innerHTML.trim():'';var services=data.split('@');if(!services.first().blank()&&services.length>0){for(var i=0;i<services.length;i++){var attr=services[i].split('#');if(typeof parseFloat(attr[1])==='number'&&!attr[0].blank()){OOS.Data.services.push({id:attr[0],lat:parseFloat(attr[1]),lon:parseFloat(attr[2])});}}}
OOS.Ctr_map.redraw();var map_wrapper=$('map-wrapper');var too_many_spots=$('too-many-spots');var update_map_notice=$('update-map-notice');if(too_many_spots&&!update_map_notice){too_many_spots.remove();}else if(!too_many_spots&&update_map_notice){map_wrapper.insert(update_map_notice.innerHTML);}
if($('zero-results')){map_wrapper.hide();}else{map_wrapper.show();}}else{var sl=$('services-list');sl.update(transport.responseText);this.reattach_service_handlers();var purchase=$('update-purchase-options');if(purchase){sl.up().insert(purchase.innerHTML);}else{$$('.popt').invoke('remove');}}
$('page-title').down('h1').update($('update-page-title').innerHTML);$('services-counter').update($('update-page-counter').innerHTML);var expertus=$('expertus');if(expertus){expertus.update($('update-expert').innerHTML);}
this.init_selected_attributes('selected-attributes');this.init_selected_contacts('selected-contacts');this.switchToDeals('switchToDeals')
OOS.Ctr.init_contacts('filter-contacts');$$('.sharer').invoke('remove');var shareLink=$$('.oos a.share').first();shareLink.stopObserving('click');shareLink.href="/services/share?url="+
$('update-sharer').innerHTML+"&type="+((OOS.Ctr_map!=='undefined')?"kategory_map":"kategory_list");var sharer=new OOS.Share(shareLink);this._update_area_hrefs();var pageTrackerUrl=this._buildUrlForTracker(transport.request.parameters);try{_gaq.push(['_setAccount','UA-1021351-2']);_gaq.push(['_trackPageview',pageTrackerUrl]);}catch(e){}
OOS.Utils.add_one();}.bind(this),onFailure:function(transport){}});this._halt_gui(true);},reattach_service_handlers:function(){switch(OOS.user_type){case'matilde':$$('a.matilde').invoke('observe','click',manageContact);break;case'joaquin':$$('a.service-action').invoke('observe','click',ManageService.handleClick);break;case'natalio':$$('a.service-action').invoke('observe','click',show.bind({msg:'services'}));break;}},_halt_gui:function(flag){(flag)?OOS.Filters.form.disable():OOS.Filters.form.enable();},unselect_attribute:function(value){var items=this.form.getInputs('checkbox');items.push(this.form.select('option'));var unselect=this._find_filter_value(items.flatten(),value);if(unselect.checked){unselect.checked=false;this._filter();}else if(unselect.selected){unselect.up().down('.reset-options').selected=true;this._filter();}},unselect_contact:function(value){if(value==='all'){this.unselect_all_contacts();return;}
var unselect=this._find_filter_value($(this.form.id).getInputs('hidden'),value);unselect.remove();this._filter();},unselect_all_contacts:function(){var $form=$(this.form.id),all=$form.select('input[name=allcontacts]'),contacts=$form.select('input[name=contacts]');if(all&&all.size()>0){all.invoke('remove');if(contacts.size()>0){contacts.invoke('remove');}
this._filter();}},select_contact:function(value){var $form=$(this.form.id),all=$form.select('input[name=allcontacts]');if(!this._find_filter_value(this.form.getInputs('hidden'),value)){$form.insert('<input type="hidden" name="contacts" value="'+value+'" />');all.invoke('remove');this._filter();}},select_all_contacts:function(){var form=$(this.form.id),all=form.select('input[name=allcontacts]'),contacts=form.select('input[name=contacts]');if(all.size()===0){form.insert('<input type="hidden" name="allcontacts" value="true" />');}
contacts.invoke('remove');this._filter();},_find_filter_value:function(collection,value){return collection.find(function(item){return item.readAttribute('value')==value;}.bind(value));},_update_area_hrefs:function(){var regex=new RegExp('/k(/([^/]{3,}))?((/[^/]{3,})*)/[a-z]{2}/');var href=$('filter-list').href;var matches=regex.exec(href);if(matches){var root=$('area-selector');var links=null;if(root.select('map').size()>0){links=root.select('map area');}else{links=root.select('.area-siblings li a');}
if(links.size()>0){for(var i=0;i<links.size();i++){var m=regex.exec(links[i].href);links[i].href=links[i].href.replace(m[0],matches[0]);}}}}}
document.observe('dom:loaded',function(){OOS.Filters.initialize($('k-filters'));OOS.Filters.switchToDeals('switchToDeals');});OOS.Ctr={loading_template:new Template('<p class="loading"><img src="/static/imgs/ajax_activity_indicator_silver.gif" />#{msg}</p>'),menus:new Hash(),clear_menus:function(id){var menus=this.menus.keys();for(var i=0;i<menus.length;i++){var menu=this.menus.get(menus[i]);if(id!=menu.id&&$('dd_'+menu.id).visible()){menu.hide();}}},init_contacts:function(contacts){var contacts=$(contacts);if(!contacts){this.menus.unset('filter-contacts');return false;}
var dd=new OOS.Dropdown(contacts,null,{width:260,height:150});dd.update_content($('contacts-list').removeClassName('jhide'));$('dd_'+dd.id).down('.tab').addClassName('box');this.menus.set(dd.id,dd);$$('#contacts-list input[type="checkbox"]').invoke('observe','click',function(e){var input=e.element();if(input.name==='allcontacts'){if(!input.checked){OOS.Filters.unselect_all_contacts(input.value);}else{OOS.Filters.select_all_contacts(input.value);}}else{if(!input.checked){OOS.Filters.unselect_contact(input.value);}else{OOS.Filters.select_contact(input.value);}}
OOS.Ctr.menus.get('filter-contacts').hide();OOS.Ctr.menus.unset('filter-contacts');});}}
document.observe('dom:loaded',function(){var k_filters=$('k-filters');if(k_filters){var option_selected=k_filters.select('option').find(function(node){return node.readAttribute('selected')==="selected";});var reset_options=$('reset-options');if(!option_selected&&reset_options){reset_options.writeAttribute('selected','selected');}
if(Prototype.Browser.IE){if(reset_options){reset_options.insert({after:'<optgroup></optgroup>'});}}
var select=k_filters.down('select');if(select){k_filters.select('.group').invoke('setStyle',{height:select.getHeight()+'px'});}}
var area_breadcrumb=$$('.area-selector');area_breadcrumb.each(function(node){var dd=new OOS.Dropdown(node);dd.set_build_function=function(){dd.show();$('cc_'+dd.id).down('.inner').insert(OOS.Ctr.loading_template.evaluate({msg:_("cargando...")}));var req=new Ajax.Request('/services/load-areas',{method:'get',parameters:dd.trigger_params,onSuccess:function(transport){dd.update_content(transport.responseText);}});}.bind(dd);OOS.Ctr.menus.set(dd.id,dd);});var kg=$('kg-longtail-trigger');if(kg){var dd_content=$('kg-longtail');var size=(dd_content.select('ul').size()>1)?{width:500}:null;var dd=new OOS.Dropdown(kg,'center',size);dd.update_content(dd_content.removeClassName('jhide'));OOS.Ctr.menus.set(dd.id,dd);}
var skg=$('skg-longtail-trigger');if(skg){var dd_content=$('skg-longtail');var size=(dd_content.select('ul').size()>1)?{width:480}:null;var dd=new OOS.Dropdown(skg,'center',size);dd.update_content(dd_content.removeClassName('jhide'));OOS.Ctr.menus.set(dd.id,dd);}
var map_selector=$('map-trigger-'+OOS.area_type);if(map_selector){var dd=new OOS.Dropdown(map_selector,'center',{width:458,height:500});dd.update_content($('map-'+OOS.area_type).removeClassName('jhide'));$('dd_'+dd.id).down('.tab').addClassName('box');OOS.Ctr.menus.set(dd.id,dd);}
var list_selector=$('list-trigger-'+OOS.area_type);if(list_selector){var dd=new OOS.Dropdown(list_selector);dd.update_content($('list-'+OOS.area_type).removeClassName('jhide'));$('dd_'+dd.id).down('.tab').addClassName('box');OOS.Ctr.menus.set(dd.id,dd);}
if($('filter-contacts')){OOS.Ctr.init_contacts('filter-contacts');}
var shareSelectors='.oos a.share';if($('geo-ktag-expert-list')){shareSelectors+=', .hreview .metadata a.share';}
var shareLinks=$$(shareSelectors);var sharers=[];for(var i=0;i<shareLinks.length;i++){if(shareLinks[i]!=null)
sharers.push(new OOS.Share(shareLinks[i]));}
OOS.Utils.track('#contact-budget, .btn_molokai');OOS.Utils.add_one();});window.OOS=window.OOS||{};OOS.Ctr_map={initialize:function(map_container){if(typeof OOS.Data==='undefined'||!GBrowserIsCompatible()){return null;}
this.map=new google.maps.Map2(document.getElementById(map_container));this.map.setCenter(this._center_point(),15);this.map.addControl(new google.maps.SmallMapControl());this.map.addControl(new google.maps.MapTypeControl());this._add_markers();},redraw:function(){this.map.clearOverlays();this._add_markers();},_center_point:function(){return new google.maps.LatLng(OOS.Data.area.lat,OOS.Data.area.lng);},_add_markers:function(){var num_items=OOS.Data.services.length;if(num_items>0){var bounds=new google.maps.LatLngBounds();for(var i=0;i<num_items;i++){this._new_marker(OOS.Data.services[i],bounds);}
this.map.setZoom(this.map.getBoundsZoomLevel(bounds));this.map.setCenter(bounds.getCenter());}},_new_marker:function(item,bounds){if(typeof item.lat!=='number'){return false;}
var point=new google.maps.LatLng(item.lat,item.lon);var marker=new MarkerLight(point,{image:'/static/imgs/geo/dot_map.gif',height:15,width:11});GEvent.addListener(marker,"click",function(){var too_many_spots=$('too-many-spots');if(too_many_spots){too_many_spots.hide();}
OOS.Data.service_info(point,item);});this.map.addOverlay(marker);bounds.extend(point);}}
function MarkerLight(latlng,opts){this.latlng=latlng;if(!opts)opts={};this.height_=opts.height||7;this.width_=opts.width||7;this.image_=opts.image;this.imageOver_=opts.imageOver;this.clicked_=0;}
MarkerLight.prototype=new GOverlay();MarkerLight.prototype.initialize=function(map){var me=this;var div=document.createElement("div");div.style.position="absolute";div.style.paddingLeft="0px";div.style.cursor='pointer';var img=document.createElement("img");img.src=me.image_;img.style.width=me.width_+"px";img.style.height=me.height_+"px";div.appendChild(img);GEvent.addDomListener(div,"click",function(event){me.clicked_=1;GEvent.trigger(me,"click");});map.getPane(G_MAP_MARKER_PANE).appendChild(div);this.map_=map;this.div_=div;};MarkerLight.prototype.remove=function(){this.div_.parentNode.removeChild(this.div_);};MarkerLight.prototype.copy=function(){var opts={};opts.color=this.color_;opts.height=this.height_;opts.width=this.width_;opts.image=this.image_;opts.imageOver=this.image_;return new MarkerLight(this.latlng,opts);};MarkerLight.prototype.redraw=function(force){if(!force)return;var divPixel=this.map_.fromLatLngToDivPixel(this.latlng);this.div_.style.width=this.width_+"px";this.div_.style.left=(divPixel.x)+"px"
this.div_.style.height=(this.height_)+"px";this.div_.style.top=(divPixel.y)-this.height_+"px";};MarkerLight.prototype.getZIndex=function(m){return GOverlay.getZIndex(marker.getPoint().lat())-m.clicked*10000;}
MarkerLight.prototype.getPoint=function(){return this.latlng;};MarkerLight.prototype.setStyle=function(style){for(s in style){this.div_.style[s]=style[s];}};MarkerLight.prototype.setImage=function(image){this.div_.style.background='url("'+image+'")';}
window.OOS=window.OOS||{};OOS.LoginMsg={save:_("necesitas estar registrado para añadir servicios a tu agenda"),relationship:_("necesitas estar registrado para añadir contactos"),liveOpinion:_("por favor, identifícate para añadir tu opinión"),like:_("por favor, identifícate para expresar que te gusta esa opinión"),addComment:_("por favor, identifícate para comentar algo sobre esa opinión")}
function manageContact(evt){evt.stop();var el=evt.element();if(el.tagName.toLowerCase()==='img'){el=el.up();}
var url=el.href?el.href:el.action;var header=_("necesitas estar registrado");if(url.indexOf('save-pro')>-1){header=OOS.LoginMsg.save;}else if(url.indexOf('manage-relationship')>-1){header=OOS.LoginMsg.relationship;}else if(url.indexOf('ilikeit')>-1){header=OOS.LoginMsg.like;}else if(url.indexOf('liveopinion')>-1){header=OOS.LoginMsg.liveOpinion;}else if(url.indexOf('addComment')>-1){header=OOS.LoginMsg.addComment;}
var container=new ResizableBox('box-login'),html=new Array(),post=OOS.postActivationAction.initialize(el,url),pars=post.toParams(true),parsForFacebook=post.toParams(false);container.resize([550]);html.push('<div  class="ajax-controls clearfix">');html.push('<h2>');html.push(header);html.push('</h2>');html.push('<div id="qLogin" class="door">');if(window.location.hostname){html.push('<form action="https://'+window.location.hostname+'/login" method="post">');}else{html.push('<form action="/login" method="post">');}
html.push('<input type="hidden" name="referer" value="');html.push(url);html.push('" />');html.push('<input type="hidden" name="origin" value="');html.push(window.location.href);html.push('"/><p class="error" id="error-login-ajax" style="display:none;">');html.push(_("los datos de acceso son incorrectos"));html.push('</p>');html.push('<label for="email">');html.push(_("e-mail:"));html.push('</label><input type="text" class="text" id="email" name="email" />');html.push('<label for="password">');html.push(_("contraseña:"));html.push('</label><input type="password" class="text" id="password" name="password"  />');html.push('<p><a href="/remember" id="password-recover">');html.push(_("¿olvidaste la contraseña?"));html.push('</a></p>');html.push('<p class="button"><input type="submit" value="');html.push(_("entrar"));html.push('" id="submit" />');html.push("<span id=\"submitting\" style=\"display:none;\">");html.push("<img src=\"/static/imgs/ajax_activity_indicator.gif\" />");html.push(_("un momento..."));html.push("</span>");html.push('</p>');html.push('</form>');html.push('</div>');html.push('<div id="qSignup" class="door">');html.push('<h3 style="text-align:center;font-size:15px">');html.push(_("¿primera vez en 11870.com?"))
html.push('</h3>');html.push('<p>');html.push(_("crea tu cuenta para añadir opiniones, fotos, vídeos, valoraciones..."));html.push('</p>');var dest="/signup-choice";if(pars.length>0){dest="/signup"+pars;}
html.push('<p style="text-align:center"><a href="'+dest+'" id="signup-choice-link" class="action">');html.push(_("alta en 11870.com"));html.push('</a></p>');html.push('</div>');html.push('</div>');$('box-login').update(html.join(''));container.contentLoaded();}
OOS.postActivationAction={action:'',objectId:'',type:'',params:new Object(),initialize:function(obj,url){if(url.indexOf('ilikeit')>-1){this.type='ilikeit';this.action=0;this.objectId=url.substr(url.indexOf('?')).toQueryParams()['userServiceId'];}else if(url.indexOf('liveopinion')>-1){this.params=obj.serialize(true);this.action=1;this.type='liveOpinion';this.objectId=this.params['sId'];var matilde_post=new Ajax.Request('/services/unlogged-liveopinion',{method:'post',parameters:this.params,onSuccess:function(transport){try{_gaq.push(['_trackPageview','/services/liveopinion']);}catch(e){}}});}else if(url.indexOf('addComment')>-1){this.params=obj.serialize(true);this.action=2;this.type='commentsOnComments';this.objectId=this.params['userServiceId'];var matilde_post=new Ajax.Request('/services/unlogged-addComment',{method:'post',parameters:this.params,onSuccess:function(transport){}});}
return this;},toParams:function(isFirst){if(isNaN(this.action)||!(this.objectId.length>0)){return'';}
return(isFirst?'?':'&')+'a='+this.action+'&oId='+this.objectId;}};function validate(evt){var form=evt.element();form.select('.error').invoke('remove');var text=form.down('textarea').getValue();if(!text.blank()){manageContact(evt)}else{evt.stop();var error=new Element('p',{className:'error'});error.update(_("¿un comentario vacío?"));form.select('textarea').first().insert({before:error});}};document.observe('dom:loaded',function(){$$('a.matilde').invoke('observe','click',manageContact);if(typeof OOS.Comments!='undefined'){OOS.Comments.init(manageContact,null,null);}
if(typeof OOS.ILikeIt!='undefined'){OOS.ILikeIt.init(manageContact);}
var lo=$('liveopinion'),joinusFacebook=$('joinus_facebook');if(lo){lo.observe('submit',validate);}
if(joinusFacebook){joinusFacebook.observe('click',function(e){e.stop();var elto=e.element(),category='join',action='joinus-facebook';try{_gaq.push(['_trackEvent',category,action,escape(document.URL)]);}catch(e){}
directFacebookSubmit(elto.href);});}
OOS.Utils.track('#joinus_service, #joinus_joaquin');});
