window.OOS=window.OOS||{};OOS.Ctr_Map={map_container:"map-placeholder",map_type:null,map:null,initialize:function(){if(typeof OOS.Data==="undefined"||!("map_type" in OOS.Data)||!GBrowserIsCompatible()){return null;}var map=new google.maps.Map2(document.getElementById(this.map_container));this.map=map;this.map_type=OOS.Data.map_type;map.setCenter(this._center_point(),15);map.addControl(new google.maps.SmallMapControl());map.addControl(new google.maps.MapTypeControl());this._add_markers();},_center_point:function(){if(OOS.Data[this.map_type].length>0){return new google.maps.LatLng(OOS.Data[this.map_type][0].lat,OOS.Data[this.map_type][0].lon);}else{return new google.maps.LatLng(0,0);}},_add_markers:function(){var bounds=new google.maps.LatLngBounds();var num_items=OOS.Data[this.map_type].length;for(var i=0;i<num_items;i++){this._new_marker(OOS.Data[this.map_type][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 simple_icon=new google.maps.Icon();simple_icon=null;var marker=new google.maps.Marker(point,{icon:simple_icon});GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(OOS.Data.display(item));});this.map.addOverlay(marker);bounds.extend(point);}};var sections_list_ctr=Class.create({initialize:function(){this.replace_sections_forms();},replace_sections_forms:function(){$("form-sections").hide();var user_slug=location.pathname.split("/")[1];var sections=$$(".edit-section");for(var i=0;i<sections.length;i++){var section=new Section($("form-sections"),sections[i],user_slug);}$("form-sections").remove();}});var Section=Class.create({base_url:null,editHTML:new Template('<div id="edit-section-#{id}" class="edit-section ctr">'+'<label for="section-name-#{id}">'+_("nombre")+"</label>"+'<span><input id="section-name-#{id}" class="short" type="text" value="#{name}" maxlength="100" /></span>'+'<label for="section-description-#{id}">'+_("descripción")+"</label>"+'<span><input id="section-description-#{id}" class="medium" type="text" value="#{description}" maxlength="255" /></span>'+'<p class="user_actions"><a id="confirm_#{id}" href="sections?action=modify&id=#{id}" >'+_("realizar cambios")+'</a> | <a id="cancel_#{id}" href="sections?action=cancel&id=#{id}" >'+_("cancelar")+"</a></p>"+"</div>"),initialize:function(parent,section,base_url){this.base_url=base_url;this.id=section.id.substr(13);this.name=$F(section.down("input.section-name"));this.description=$F(section.down("input.section-description"));this.counter=section.down("span.counter").innerHTML.substring(1,section.down("span.counter").innerHTML.length-1);parent.insert({before:this.to_html()});this.bind_events();},to_html:function(){var url="/"+this.base_url+"/section/"+encodeURIComponent(this.name);var html=new Array();html.push('<div id="section_'+this.id+'" class="section">');html.push("<h3>");if(this.counter>0){html.push('<a href="'+url+'">');}html.push(this.name);if(this.counter>0){html.push("</a>");}html.push('<span class="counter"> ('+this.counter+")</span>");html.push("</h3> ");html.push('<p class="user_actions">');html.push('<a id="edit_'+this.id+'" class="action edit-section-link" href="sections?action=modify&id='+this.id+'">'+_("editar")+'</a><span class="ft"> / </span>');html.push('<a id="delete_'+this.id+'" class="action remove-section-link" href="sections?action=delete&id='+this.id+'">'+_("borrar")+"</a>");html.push("</p>");if(!this.description.blank()){html.push('<p class="description">');html.push('"'+this.description.escapeHTML()+'"');html.push("</p>");}html.push("</div>");return html.join("");},to_edit_html:function(){return this.editHTML.evaluate({id:this.id,name:this.name,description:this.description.escapeHTML()});},bind_events:function(){if($("edit_"+this.id)){$("edit_"+this.id).observe("click",this.edit.bindAsEventListener(this));}if($("delete_"+this.id)){$("delete_"+this.id).observe("click",this.remove.bindAsEventListener(this));}},bind_edit_events:function(){$("confirm_"+this.id).observe("click",this.confirm_edit.bindAsEventListener(this));$("cancel_"+this.id).observe("click",this.reset.bindAsEventListener(this));},edit:function(evt){$("section_"+this.id).replace(this.to_edit_html());$("section-name-"+this.id).focus();this.bind_edit_events();evt.stop();},confirm_edit:function(evt){this.name=$F("section-name-"+this.id);this.description=$F("section-description-"+this.id);this.save(evt.element().href);evt.stop();},save:function(base_url){var url=base_url+"&texto="+this.name+"&description="+this.description.escapeHTML();new Ajax.Request(url,{onComplete:this.save_complete.bind(this)});},save_complete:function(){this.reset();},remove:function(evt){if(!confirm(_("¿Estás seguro que quieres eliminar la sección?"))){evt.stop();return false;}var params=evt.element().href.toQueryParams();if(!params.id&&!$("section_"+params.id)){return false;}this.remove_confirm(evt.element().href);evt.stop();},remove_confirm:function(url){new Ajax.Request(url,{onComplete:this.remove_complete.bind(this)});},remove_complete:function(){$("section_"+this.id).remove();},reset:function(evt){var editSection=$("edit-section-"+this.id);editSection.replace(this.to_html());this.bind_events();if(evt){evt.stop();}}});function add_form_submit_onchange(){$$("input.sub-filter-submit").invoke("hide");var moreCities=$("more-cities");var moreSections=$("more-sections");var moreTags=$("more-tags");if(moreCities){selectOption(moreCities);}if(moreSections){selectOption(moreSections);}if(moreTags){selectOption(moreTags);}}function selectOption(elto){elto.observe("change",function(){if(this.getValue().indexOf("/")!=-1){location.href=this.getValue();}});}var OOS_TAGS={initialize:function(ul){var tags=ul.select("li");if(tags.size()===0){return false;}tags.invoke("observe","click",this.handle_click.bindAsEventListener(this));},handle_click:function(e){e.stop();var elto=Event.element(e);if(elto.hasClassName("edit")&&elto.hasAttribute("href")){this.edit(elto);}if(elto.hasClassName("delete")&&elto.hasAttribute("href")){this.remove(elto);}if(elto.hasAttribute("type")&&elto.readAttribute("type")==="button"){this.submit_changes(elto);}if(elto.hasClassName("cancel")&&elto.hasAttribute("href")){this.cancel(elto);}if(elto.hasClassName("tag")&&elto.hasAttribute("href")){document.location.href=elto.readAttribute("href");}},edit:function(link){var hlink=link.previousSiblings().first();var removeLink=link.nextSiblings().first();var text=hlink.innerHTML.escapeHTML();var tagId=link.href.toQueryParams().id;var input=new Element("input",{"type":"text","maxlength":"100","value":text});var button=new Element("input",{"type":"button","value":"ok","class":"ok-tag","current":text,"tagId":tagId});var cancel=new Element("a",{"href":"#","class":"cancel action"}).update(_("cancelar"));hlink.insert({before:input});hlink.insert({before:button});hlink.insert({before:cancel});hlink.hide();link.hide();removeLink.hide();input.observe("keypress",function(e){var key=e.which||e.keyCode;if(key!==Event.KEY_RETURN){return false;}else{this.submit_changes(input.up().select("input[type=button]").first());}}.bindAsEventListener(this,input));},remove:function(link){if(!confirm(_("¿estás seguro de que deseas borrar la etiqueta?"))){return false;}var li=link.up();var req=new Ajax.Request("/services/delete-tag",{method:"post",parameters:{id:link.href.toQueryParams().id},onSuccess:function(transport){var resp=transport.responseText.evalJSON();if(resp.status==="ok"){li.remove();}}});},submit_changes:function(button){var success=this.reset_ui;var error=this.error;var input=button.previousSiblings().first();if(input.getValue()===button.readAttribute("current")||input.getValue().blank()){this.reset_ui(button);return true;}var req=new Ajax.Request("/services/edit-tag",{method:"post",parameters:{id:button.readAttribute("tagId"),tag:input.getValue()},onSuccess:function(transport){var resp=transport.responseText.evalJSON();if(resp.status==="ok"){success(button,{id:resp.idTag,tag:input.getValue()});}else{error(button,resp.message);}}});},cancel:function(link){this.reset_ui(link);},reset_ui:function(elto,data){var li=elto.up();var error=li.select("span.error").first();if(error){error.remove();}li.select("input").invoke("remove");li.select("a").each(function(node){if(node.hasClassName("edit")||node.hasClassName("delete")||node.hasClassName("tag")){node.show();}if(node.hasClassName("cancel")){node.remove();}});if(typeof (data)!=="undefined"){li.select("a.tag").first().update(data.tag.escapeHTML());var editLink=li.select("a.edit").first();var deleteLink=li.select("a.delete").first();var oldEditHref=/\/services\/edit-tag\?id=[0-9]+/;var newEditHref=editLink.readAttribute("href").replace(oldEditHref,"/services/edit-tag?id="+data.id);var oldDeleteHref=/\/services\/delete-tag\?id=[0-9]+/;var newDeleteHref=deleteLink.readAttribute("href").replace(oldDeleteHref,"/services/delete-tag?id="+data.id);editLink.writeAttribute({href:newEditHref});deleteLink.writeAttribute({href:newDeleteHref});}},error:function(item,msg){var tagError=$("tag-error");if(!tagError){tagError=new Element("span",{id:"tag-error",className:"error"}).update(msg);item.up().insert(tagError);}else{tagError.update(msg);}}};OOS.Banners={initialize:function(){var banners=$$("#home #main .banner");for(var i=0;i<banners.size();i++){var node=banners[i];var link=new Element("a",{"class":"action close","campaign":node.identify().split("wb_")[1],"href":"#"});link.observe("click",this._close.bindAsEventListener(this));link.update(_("cerrar"));node.insert(link);}},_close:function(e){e.stop();var elto=e.element();var identifier=elto.readAttribute("campaign");new Ajax.Request("/intro/close-welcome-banner?idBanner="+identifier,{method:"get",onSuccess:function(transport){elto.up().remove();}});}};document.observe("dom:loaded",function(){if($("form-sections")){var slc=new sections_list_ctr();}var tags=$("tag-list");if(tags!==null&&tags.tagName==="UL"){OOS_TAGS.initialize(tags);}add_form_submit_onchange();var shareLinks=$$(".hreview .meta .share, #share-user-profile, #share-map, #share-list");var sharers=[];for(var i=0;i<shareLinks.length;i++){if(shareLinks[i]!=null){sharers.push(new OOS.Share(shareLinks[i]));}}OOS.Banners.initialize();OOS.Utils.track("#aboutMe a, .hreview .description a");OOS.Utils.add_one();});
