
YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(F,B){var E;var A=this.owner;var C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.method){this.method.call(A,F);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var A in B){if(A&&YAHOO.lang.hasOwnProperty(B,A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B){return undefined;}return B.value;},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var D=[];var B;for(var C in this._configs){B=this._configs[C];if(A.hasOwnProperty(this._configs,C)&&!A.isUndefined(B)){D[D.length]=C;}}return D;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(this._configs[E[D]]&&!A.isUndefined(this._configs[E[D]].value)&&!A.isNull(this._configs[E[D]].value)){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var D=YAHOO.util.Dom,F=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(G,H){if(arguments.length){this.init(G,H);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(G){G=G.get?G.get("element"):G;this.get("element").appendChild(G);},getElementsByTagName:function(G){return this.get("element").getElementsByTagName(G);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(G,H){G=G.get?G.get("element"):G;H=(H&&H.get)?H.get("element"):H;this.get("element").insertBefore(G,H);},removeChild:function(G){G=G.get?G.get("element"):G;this.get("element").removeChild(G);return true;},replaceChild:function(G,H){G=G.get?G.get("element"):G;H=H.get?H.get("element"):H;return this.get("element").replaceChild(G,H);},initAttributes:function(G){},addListener:function(K,J,L,I){var H=this.get("element");I=I||this;H=this.get("id")||H;var G=this;if(!this._events[K]){if(this.DOM_EVENTS[K]){YAHOO.util.Event.addListener(H,K,function(M){if(M.srcElement&&!M.target){M.target=M.srcElement;}G.fireEvent(K,M);},L,I);}this.createEvent(K,this);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},subscribe:function(){this.addListener.apply(this,arguments);},removeListener:function(H,G){this.unsubscribe.apply(this,arguments);},addClass:function(G){D.addClass(this.get("element"),G);},getElementsByClassName:function(H,G){return D.getElementsByClassName(H,G,this.get("element"));},hasClass:function(G){return D.hasClass(this.get("element"),G);},removeClass:function(G){return D.removeClass(this.get("element"),G);},replaceClass:function(H,G){return D.replaceClass(this.get("element"),H,G);},setStyle:function(I,H){var G=this.get("element");if(!G){return this._queue[this._queue.length]=["setStyle",arguments];}return D.setStyle(G,I,H);},getStyle:function(G){return D.getStyle(this.get("element"),G);},fireQueue:function(){var H=this._queue;for(var I=0,G=H.length;I<G;++I){this[H[I][0]].apply(this,H[I][1]);}},appendTo:function(H,I){H=(H.get)?H.get("element"):D.get(H);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:H});I=(I&&I.get)?I.get("element"):D.get(I);var G=this.get("element");if(!G){return false;}if(!H){return false;}if(G.parent!=H){if(I){H.insertBefore(G,I);}else{H.appendChild(G);}}this.fireEvent("appendTo",{type:"appendTo",target:H});},get:function(G){var I=this._configs||{};var H=I.element;if(H&&!I[G]&&!YAHOO.lang.isUndefined(H.value[G])){return H.value[G];}return F.prototype.get.call(this,G);},setAttributes:function(L,H){var K=this.get("element");for(var J in L){if(!this._configs[J]&&!YAHOO.lang.isUndefined(K[J])){this.setAttributeConfig(J);}}for(var I=0,G=this._configOrder.length;I<G;++I){if(L[this._configOrder[I]]!==undefined){this.set(this._configOrder[I],L[this._configOrder[I]],H);}}},set:function(H,J,G){var I=this.get("element");if(!I){this._queue[this._queue.length]=["set",arguments];if(this._configs[H]){this._configs[H].value=J;}return;}if(!this._configs[H]&&!YAHOO.lang.isUndefined(I[H])){C.call(this,H);}return F.prototype.set.apply(this,arguments);},setAttributeConfig:function(G,I,J){var H=this.get("element");if(H&&!this._configs[G]&&!YAHOO.lang.isUndefined(H[G])){C.call(this,G,I);}else{F.prototype.setAttributeConfig.apply(this,arguments);}this._configOrder.push(G);},getAttributeKeys:function(){var H=this.get("element");var I=F.prototype.getAttributeKeys.call(this);for(var G in H){if(!this._configs[G]){I[G]=I[G]||H[G];}}return I;},createEvent:function(H,G){this._events[H]=true;F.prototype.createEvent.apply(this,arguments);},init:function(H,G){A.apply(this,arguments);}};var A=function(H,G){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];G=G||{};G.element=G.element||H||null;this.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true};var I=false;if(YAHOO.lang.isString(H)){C.call(this,"id",{value:G.element});}if(D.get(H)){I=true;E.call(this,G);B.call(this,G);}YAHOO.util.Event.onAvailable(G.element,function(){if(!I){E.call(this,G);}this.fireEvent("available",{type:"available",target:G.element});},this,true);YAHOO.util.Event.onContentReady(G.element,function(){if(!I){B.call(this,G);}this.fireEvent("contentReady",{type:"contentReady",target:G.element});},this,true);};var E=function(G){this.setAttributeConfig("element",{value:D.get(G.element),readOnly:true});};var B=function(G){this.initAttributes(G);this.setAttributes(G,true);this.fireQueue();};var C=function(G,I){var H=this.get("element");I=I||{};I.name=G;I.method=I.method||function(J){H[G]=J;};I.value=I.value||H[G];this._configs[G]=new YAHOO.util.Attribute(I,this);};YAHOO.augment(YAHOO.util.Element,F);})();YAHOO.register("element",YAHOO.util.Element,{version:"2.5.2",build:"1076"});var Y=YAHOO.util,$E=Y.Event,$D=Y.Dom;function logoFormLoaded(req,action,form){var handleSubmit=function(){LMI.Panels.popupBucket.submit();}
var handleCancel=function(){LMI.Panels.popupBucket.cancel();}
LMI.Panels.popupBucket=new YAHOO.widget.Dialog("popupBucket",{visible:true,modal:true,close:false,fixedcenter:true,draggable:false,postmethod:'form',monitorresize:false,buttons:[{text:"",handler:handleSubmit,isDefault:true},{text:"<u>Cancel</u>",handler:handleCancel}]});LMI.Panels.popupBucket.render();}
function flagInappropriateConfirm(target,id){LMI.Panels.Confirm.handleYes=(function(){new Ajax.Updater("inappropriate","/guides/"+id+"/inappropriate",{asynchronous:true,evalScripts:true,parameters:{id:id}});LMI.Panels.Confirm.hidePanel();});LMI.Panels.Confirm.showPanel('Flag Confirmation','Are you sure you want to flag this guide as inappropriate? An email will be sent to the community manager to review the guide.',target);}
function editFormLoaded(widgetType,mode,guideId,args){var buttons,submitMode="";if(LMI.Panels.popupBucket){LMI.Panels.popupBucket.hide();}
if(mode!=null&&mode!=''){submitMode=mode;}
var handleSubmit=function(){if(widgetType==="text"){LMI.Editor.get('element').value=LMI.Editor.cleanHTML(LMI.Editor.getEditorHTML());}
if(widgetType==="image"){LMI.Panels.popupBucket.cfg.setProperty("postmethod","form");LMI.Panels.popupBucket.submit();}
else if(widgetType==="place"){new Ajax.Request("/widgets/find_places",{asynchronous:true,evalScripts:true,parameters:Form.serialize("widgetForm")});}
else{new Ajax.Request("/guides/"+guideId+"/widgets/"+submitMode,{asynchronous:true,evalScripts:true,parameters:Form.serialize("widgetForm"),method:'post'});}}
var handleCancel=function(){LMI.Panels.popupBucket.cancel();if(widgetType==="text"){LMI.Editor.destroy();}else if(widgetType==="location"&&"map_id"in args&&"marker"in args){LMI.Maps[args.map_id].removeMarker(args.marker);}}
buttons=[{text:"",handler:handleSubmit,isDefault:true},{text:"<u>Cancel</u>",handler:handleCancel}];if(widgetType==="place"){buttons=null;var searchButton=new YAHOO.widget.Button("searchButton",{onclick:{fn:handleSubmit}});}
LMI.Panels.popupBucket=new YAHOO.widget.Dialog("popupBucket",{visible:false,modal:true,close:false,fixedcenter:true,draggable:false,monitorresize:false,postmethod:"async",buttons:buttons});LMI.Panels.keyListener=new YAHOO.util.KeyListener(document,{keys:13},{fn:handleSubmit,scope:LMI.Panels.popupBucket,correctScope:true});LMI.Panels.popupBucket.cfg.queueProperty("keylisteners",LMI.Panels.keyListener);setupTextArea();LMI.Panels.popupBucket.render();LMI.Panels.popupBucket.center();LMI.Panels.popupBucket.show();if(widgetType==="text"){createRichTextEditor('widget_text',(mode?true:false));}
var bic=LMI.Element.getOne("#bucketInnerCont");if(bic&&!!YAHOO.env.ua.gecko){YAHOO.util.Dom.setStyle(bic,"overflow","auto");}
if(args&&args['focus']){focusFirst(args['focus'])}else{focusFirst('#widgetForm fieldset input');}}
function setupTextArea(){var textarea=LMI.Element.getOne("#popupArea textarea");if(textarea){YAHOO.util.Event.addListener(textarea,"focus",removeEnterListener);YAHOO.util.Event.addListener(textarea,"blur",addEnterListener);}}
function addEnterListener(){LMI.Panels.keyListener.enable();}
function removeEnterListener(){LMI.Panels.keyListener.disable();}
function createRichTextEditor(areaId,focus){var myConfig={height:'120px',width:'535px',animate:true,focusAtStart:focus,toolbar:{titlebar:false,buttons:[{group:'textstyle',label:'Font Style',buttons:[{type:'push',label:'Bold CTRL + SHIFT + B',value:'bold'},{type:'push',label:'Italic CTRL + SHIFT + I',value:'italic'},{type:'push',label:'Underline CTRL + SHIFT + U',value:'underline'},{type:'separator'},{type:'push',label:'Remove Formatting',value:'removeformat'}]},{type:'separator'},{group:'alignment',label:'Alignment',buttons:[{type:'push',label:'Align Left CTRL + SHIFT + [',value:'justifyleft'},{type:'push',label:'Align Center CTRL + SHIFT + |',value:'justifycenter'},{type:'push',label:'Align Right CTRL + SHIFT + ]',value:'justifyright'},{type:'push',label:'Justify',value:'justifyfull'}]},{type:'separator'},{group:'indentlist',label:'Lists',buttons:[{type:'push',label:'Create an Unordered List',value:'insertunorderedlist'},{type:'push',label:'Create an Ordered List',value:'insertorderedlist'}]}]}};LMI.Editor=new YAHOO.widget.SimpleEditor(areaId,myConfig);LMI.Editor.cleanHTML=lmiCleanHTML;LMI.Editor.render();}
function loadComments(request){$('guide_comments').innerHTML=request.responseText;toggleTabs(true);}
function toggleCommentForm(show){var button=$('showCommentButton'),form=$('commentForm');if(show){$D.addClass(button,'hidden');$D.removeClass(form,'hidden');$('shout_comment').focus();}else{$D.addClass(form,'hidden');$D.removeClass(button,'hidden');}
return false;}
function toggleCommunityGuide(){var checknotify=$('check_notify'),notifylabel=$('flags_notifyme'),checkcommunity=$('check_community'),communityicon=$('community_guide_icon');if(checkcommunity.checked){$D.removeClass(notifylabel,'disabled');$D.removeClass(communityicon,'hidden');checknotify.disabled=false;}else{$D.addClass(notifylabel,'disabled');$D.addClass(communityicon,'hidden');checknotify.disabled=true;}
return false;}
function toggleTabs(){var comments=$('guide_comments'),count=$('num_comments'),guide=$('guide_layout'),link=$('comments_link'),show=$D.hasClass(comments,'hidden');if(show){$D.addClass(guide,'hidden');$D.removeClass(comments,'hidden');link.innerHTML='Guide View';$D.addClass(count,'hidden')}else{$D.addClass(comments,'hidden');$D.removeClass(guide,'hidden');link.innerHTML='Comments';$D.removeClass(count,'hidden')}
link.blur();}
function lmiCleanHTML(html){if(!html){html=this.getEditorHTML();}
var markup=this.get('markup');html=this.pre_filter_linebreaks(html,markup);html=html.replace(/<img([^>]*)\/>/gi,'<YUI_IMG$1>');html=html.replace(/<img([^>]*)>/gi,'<YUI_IMG$1>');html=html.replace(/<input([^>]*)\/>/gi,'<YUI_INPUT$1>');html=html.replace(/<input([^>]*)>/gi,'<YUI_INPUT$1>');html=html.replace(/<ul([^>]*)>/gi,'<YUI_UL$1>');html=html.replace(/<\/ul>/gi,'<\/YUI_UL>');html=html.replace(/<blockquote([^>]*)>/gi,'<YUI_BQ$1>');html=html.replace(/<\/blockquote>/gi,'<\/YUI_BQ>');if((markup=='semantic')||(markup=='xhtml')){html=html.replace(/<i([^>]*)>/gi,'<em$1>');html=html.replace(/<\/i>/gi,'</em>');html=html.replace(/<b([^>]*)>/gi,'<strong$1>');html=html.replace(/<\/b>/gi,'</strong>');}
html=html.replace(/<font/gi,'<font');html=html.replace(/<\/font>/gi,'</font>');html=html.replace(/<span/gi,'<span');html=html.replace(/<\/span>/gi,'</span>');if((markup=='semantic')||(markup=='xhtml')||(markup=='css')){html=html.replace(new RegExp('<font([^>]*)face="([^>]*)">(.*?)<\/font>','gi'),'<span $1 style="font-family: $2;">$3</span>');html=html.replace(/<u/gi,'<span style="text-decoration: underline;"');html=html.replace(/\/u>/gi,'/span>');if(markup=='css'){html=html.replace(/<em([^>]*)>/gi,'<i$1>');html=html.replace(/<\/em>/gi,'</i>');html=html.replace(/<strong([^>]*)>/gi,'<b$1>');html=html.replace(/<\/strong>/gi,'</b>');html=html.replace(/<b/gi,'<span style="font-weight: bold;"');html=html.replace(/\/b>/gi,'/span>');html=html.replace(/<i/gi,'<span style="font-style: italic;"');html=html.replace(/\/i>/gi,'/span>');}
html=html.replace(/  /gi,' ');}else{html=html.replace(/<u/gi,'<u');html=html.replace(/\/u>/gi,'/u>');}
html=html.replace(/<ol([^>]*)>/gi,'<ol$1>');html=html.replace(/\/ol>/gi,'/ol>');html=html.replace(/<li/gi,'<li');html=html.replace(/\/li>/gi,'/li>');html=this.filter_safari(html);html=this.filter_internals(html);html=this.filter_all_rgb(html);html=this.post_filter_linebreaks(html,markup);if(markup=='xhtml'){html=html.replace(/<YUI_IMG([^>]*)>/g,'<img $1/>');html=html.replace(/<YUI_INPUT([^>]*)>/g,'<input $1/>');}else{html=html.replace(/<YUI_IMG([^>]*)>/g,'<img $1>');html=html.replace(/<YUI_INPUT([^>]*)>/g,'<input $1>');}
html=html.replace(/<YUI_UL([^>]*)>/g,'<ul$1>');html=html.replace(/<\/YUI_UL>/g,'<\/ul>');html=this.filter_invalid_lists(html);html=html.replace(/<\/li>\s*<li>\s*<ul>/gi,'<ul>');html=html.replace(/<\/li>\s*<li>\s*<ol>/gi,'<ol>');html=html.replace(/<YUI_BQ([^>]*)>/g,'<blockquote$1>');html=html.replace(/<\/YUI_BQ>/g,'<\/blockquote>');html=YAHOO.lang.trim(html);if(this.get('removeLineBreaks')){html=html.replace(/\n/g,'').replace(/\r/g,'');html=html.replace(/  /gi,' ');}
if(html.substring(0,6).toLowerCase()=='<span>'){html=html.substring(6);if(html.substring(html.length-7,html.length).toLowerCase()=='</span>'){html=html.substring(0,html.length-7);}}
return html;};LMI.LinkBehavior.add('print',function(e){if(window.print){window.print();}else{alert("Sorry, we cannot print from this link in this browser.  Please select print from the file menu.");}
$E.stopEvent(e);});function categoryWarningLoaded(){if(LMI.Panels.popupBucket){LMI.Panels.popupBucket.hide();}
var handleSubmit=function(){var categoryForm=$('guide_category_form_0'),guideId;guideId=categoryForm.id.value;document.location='/guides/'+guideId+'/category_warning_confirm';}
var handleCancel=function(){LMI.Panels.popupBucket.cancel();}
LMI.Panels.popupBucket=new YAHOO.widget.Dialog("popupBucket",{visible:false,modal:true,close:false,fixedcenter:true,draggable:false,monitorresize:false,underlay:false,postmethod:"async",buttons:[{text:"",handler:handleSubmit,isDefault:true}]});LMI.Panels.popupBucket.render();LMI.Panels.popupBucket.center();LMI.Panels.popupBucket.show();}
function previewGuide(url){document.location=url;}
LMI.LinkBehavior.add('preview',function(e){var categoryForm=$('guide_category_form_0'),categoryOne=$('guide_category_input_0'),categoryTwo=$('guide_category_input_1'),guideId,categoryOneValue,categoryTwoValue;guideId=categoryForm.id.value;categoryOneValue=categoryOne.options[categoryOne.selectedIndex].value;categoryTwoValue=categoryTwo.options[categoryTwo.selectedIndex].value;if(categoryOneValue==''&&categoryTwoValue==''){$E.stopEvent(e);new Ajax.Updater("popupArea","/guides/"+guideId+"/category_warning",{asynchronous:true,evalScripts:true,onComplete:categoryWarningLoaded});}else{if(LMI.Guide.getSaving()){$E.stopEvent(e);setTimeout("previewGuide('"+$E.getTarget(e).parentNode+"')",1500);}}});LMI.Init.addFunction(function(){var p=$("locsTitle");if(p){$E.on(p,"click",locationsToggle);}});function locationsToggle(e){var bg=$D.getStyle(this,"background-image"),bucket=$("locationsBucket"),open=$D.hasClass(bucket,"open");if(open){$D.setStyle(this,"background-image",bg.replace("_closed","_open"));$D.removeClass(bucket,"open");}else{$D.setStyle(this,"background-image",bg.replace("_open","_closed"));$D.addClass(bucket,"open");}}
LMI.Init.addFunction(function(){var p=$("expandCollapse");if(p){$E.on(p,"click",commentsToggle);}});function commentsToggle(e){var ec=$$(".element_comments");var ec_count="";var ec_jc="";if($('expandCollapse').innerHTML.include("expand all")){ec.each(function(c){ec_count=c.id.gsub("ec_","ec_count_");ec_jc=c.id.gsub("ec_","ec_jc_");if($(ec_count).firstDescendant().innerHTML.include("View Comment")&&$(ec_jc).getStyle('display')=="none"){Effect.BlindUp($(ec_count));Effect.BlindDown($(ec_jc));}});$('expandCollapse').update("collapse all");}else if($('expandCollapse').innerHTML.include("collapse all")){ec.each(function(c){ec_count=c.id.gsub("ec_","ec_count_");ec_jc=c.id.gsub("ec_","ec_jc_");if($(ec_count).getStyle('display')=="none"){Effect.BlindDown($(ec_count));Effect.BlindUp($(ec_jc));}});$('expandCollapse').update("expand all");}}
function SetAllCheckBoxes(FormName,FieldName,CheckValue)
{if(!document.forms[FormName])
return;var objCheckBoxes=document.forms[FormName].elements[FieldName];if(!objCheckBoxes)
return;var countCheckBoxes=objCheckBoxes.length;if(!countCheckBoxes)
objCheckBoxes.checked=CheckValue;else
for(var i=0;i<countCheckBoxes;i++)
objCheckBoxes[i].checked=CheckValue;}
function focusFirst(what){var foc=LMI.Element.getOne(what+".focus")||LMI.Element.getOne(what);if(foc){foc.focus();}}
function checkWidgetControls(guideId){var type,small=$('embed_small_radio'),large=$('embed_large_radio'),link=$('embed_link_radio'),tos=$('embed_tos_check'),source=$('embed_source');if(small.checked===true){type='small';}else if(large.checked===true){type='large';}else if(link.checked===true){type='link';}
if(tos.checked===true){source.value='';}
new Ajax.Request("embed_code",{asynchronous:true,evalScripts:true,parameters:{id:guideId,size:type,agree:tos.checked}});}
function deleteGuideCommentConfirm(guide_id,comment_id,author,anchor,update_div_id,target){LMI.Panels.Confirm.handleYes=(function(){LMI.Panels.Confirm.hidePanel();new Ajax.Request("/guides/"+guide_id+"/comments/"+comment_id,{asynchronous:true,evalScripts:true,method:'delete',parameters:{update_div_id:update_div_id}});});LMI.Panels.Confirm.showPanel('Delete Comment?','Delete comment from "'+author+'"?',$(anchor),"tr");return false;}
function deleteGuideElementCommentConfirm(guide_id,element_id,comment_id,author,update_div_id,target){LMI.Panels.Confirm.handleYes=(function(){LMI.Panels.Confirm.hidePanel();new Ajax.Request("/guides/"+guide_id+"/widgets/"+element_id+"/guide_entry_comments/"+comment_id,{asynchronous:true,evalScripts:true,method:'delete',parameters:{update_div_id:update_div_id}});});LMI.Panels.Confirm.showPanel('Delete Comment?','Delete comment from "'+author+'"?',$(update_div_id),"tr");return false;}
function deleteGuideConfirm(id,guide,author,target){LMI.Panels.Confirm.handleYes=(function(){new Ajax.Request("/accounts/delete_guide",{asynchronous:true,evalScripts:true,parameters:{id:id}});document.location='/authors/'+author;});LMI.Panels.Confirm.showPanel('Delete This Guide?','This Guide: "'+guide+'" will be deleted',target,"tl");return false;}
function convertSingleColumnConfirm(id,target){LMI.Panels.Confirm.handleYes=(function(){new Ajax.Request("/guides/"+id+"/edit",{asynchronous:true,evalScripts:true,parameters:{id:id,single_column:true},onComplete:function(request){document.location.reload();}});});LMI.Panels.Confirm.showPanel('Convert To Single Column?','Please confirm you want to save the guide in a single-column. After saving, you can revert back to the two column format; however, you will have to drag and drop your guide objects back into the other column for your desired layout.',target,"tr");return false;}
function toggleChoiceGuides(pick){var choices=['top','fresh','nearby'];choices.each(function(choice){if(choice===pick){$(choice+'_guides').removeClassName('hidden');$(choice+'_tab').addClassName('selected');$$('#'+choice+'_tab a').first().blur();}else{$(choice+'_guides').addClassName('hidden');$(choice+'_tab').removeClassName('selected');}});}
LMI.Lang.getObject('LMI.Panels',true);LMI.Panels.Rating=(function(){var Y=YAHOO.util,$D=Y.Dom,$E=Y.Event,_E=LMI.Element,$=_E.getOne,$$=_E.getAll;var widget,errorWidget,icons,counter,properties={visible:false,constraintoviewport:false,zIndex:1000,close:false,width:"250px",draggable:true,monitorresize:false,y:0,postmethod:"none"};function showRating(rating,hover){var add,remove;if(hover){add='ratingHover';remove='ratingFull';}else{add='ratingFull';remove='ratingHover';}
LMI.Lang.forEach($$('#ratingHelpText span'),function(s){if(s.id==='ratingHelp'+rating){$D.addClass(s,'ratingSelected');}else{$D.removeClass(s,'ratingSelected');}});LMI.Lang.forEach(icons,function(icon,index){$D.removeClass(icon,remove);if(index<rating){$D.addClass(icon,add);}else{$D.removeClass(icon,add);}});}
function loadRateItContent(id){}
function resetRating(){var rating=widget.form.num_stars.value||0;showRating(rating);}
function ratingHandler(e){var icon=$E.getTarget(e),rating=icon.id.charAt(11),hover;if(rating){if(e.type==='click'){hover=false;widget.form.num_stars.value=rating;}else{hover=true;}
showRating(rating,hover);}}
var Rating={showRatingWidget:function(id){if(widget){resetRating();widget.show();}else{errorWidget.show();}},ratingLinkHandler:function(){var id=$('user_rating');if(widget){widget.cfg.setProperty('context',['user_rating','tl','tl']);}else{errorWidget.cfg.setProperty('context',[this.id,'tl','tl']);}
Rating.showRatingWidget(id);},getSaveCallback:function(formData){return function(data){saveCallback(data,formData);};},getWidget:function(){return widget;},getErrorWidget:function(){return errorWidget;},onSuccess:new Y.CustomEvent('success'),onFail:new Y.CustomEvent('fail'),onSubmit:new Y.CustomEvent('submit'),onClose:new Y.CustomEvent('close')};function saveCallback(data,formData){if(data&&data.success){Rating.onSuccess.fire(data.valueObject,data.displayMessages,formData);Rating.onClose.fire();widget.hide();}else{Rating.onFail.fire(data.valueObject,data.displayMessages,formData);}}
function handleSubmit(e){if(this.disabled)return;var formData=widget.getData();new Ajax.Updater("user_rating","/guides/"+widget.form.id.value+"/rate_guide",{asynchronous:true,evalScripts:true,parameters:formData});widget.cancel();$E.stopEvent(e);}
function handleCancel(e){widget.cancel();Rating.onClose.fire();$E.stopEvent(e);}
function handleOverLimit(){$("#ratingSubmit").disabled=true;}
function handleUnderLimit(){$("#ratingSubmit").disabled=false;}
LMI.LinkBehavior.add('ratingCancel',handleCancel);LMI.Init.addFunction(function(){var d=$('#ratingIcons');var buttons=[{text:"",handler:handleSubmit,isDefault:true},{text:"<u>Cancel</u>",handler:handleCancel}];if(!d){errorWidget=new YAHOO.widget.Dialog('ratingsWidget',properties);errorWidget.render();}else{widget=new YAHOO.widget.Dialog("ratingsWidget",properties);widget.cfg.queueProperty('buttons',buttons);widget.cfg.queueProperty('context',['user_rating','tr','tr']);widget.render();if(widget){$E.on(d,'mouseout',resetRating);$E.on(d,'mouseover',ratingHandler);$E.on(d,'click',ratingHandler);}}
icons=$$('#ratingIcons .ratingIcon');});return Rating;})();if(Object.isUndefined(Effect))
throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(element){this.drops=this.drops.reject(function(d){return d.element==$(element)});},add:function(element){element=$(element);var options=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(options.containment){options._containers=[];var containment=options.containment;if(Object.isArray(containment)){containment.each(function(c){options._containers.push($(c))});}else{options._containers.push($(containment));}}
if(options.accept)options.accept=[options.accept].flatten();Element.makePositioned(element);options.element=element;this.drops.push(options);},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i)
if(Element.isParent(drops[i].element,deepest.element))
deepest=drops[i];return deepest;},isContained:function(element,drop){var containmentNode;if(drop.tree){containmentNode=element.treeNode;}else{containmentNode=element.parentNode;}
return drop._containers.detect(function(c){return containmentNode==c});},isAffected:function(point,element,drop){return((drop.element!=element)&&((!drop._containers)||this.isContained(element,drop))&&((!drop.accept)||(Element.classNames(element).detect(function(v){return drop.accept.include(v)})))&&Position.within(drop.element,point[0],point[1]));},deactivate:function(drop){if(drop.hoverclass)
Element.removeClassName(drop.element,drop.hoverclass);this.last_active=null;},activate:function(drop){if(drop.hoverclass)
Element.addClassName(drop.element,drop.hoverclass);this.last_active=drop;},show:function(point,element){if(!this.drops.length)return;var drop,affected=[];this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))
affected.push(drop);});if(affected.length>0)
drop=Droppables.findDeepestChild(affected);if(this.last_active&&this.last_active!=drop)this.deactivate(this.last_active);if(drop){Position.within(drop.element,point[0],point[1]);if(drop.onHover)
drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));if(drop!=this.last_active)Droppables.activate(drop);}},fire:function(event,element){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(event),Event.pointerY(event)],element,this.last_active))
if(this.last_active.onDrop){this.last_active.onDrop(element,this.last_active.element,event);return true;}},reset:function(){if(this.last_active)
this.deactivate(this.last_active);}};var Draggables={drags:[],observers:[],register:function(draggable){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);}
this.drags.push(draggable);},unregister:function(draggable){this.drags=this.drags.reject(function(d){return d==draggable});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress);}},activate:function(draggable){if(draggable.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=draggable;}.bind(this),draggable.options.delay);}else{window.focus();this.activeDraggable=draggable;}},deactivate:function(){this.activeDraggable=null;},updateDrag:function(event){if(!this.activeDraggable)return;var pointer=[Event.pointerX(event),Event.pointerY(event)];if(this._lastPointer&&(this._lastPointer.inspect()==pointer.inspect()))return;this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer);},endDrag:function(event){if(this._timeout){clearTimeout(this._timeout);this._timeout=null;}
if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null;},keyPress:function(event){if(this.activeDraggable)
this.activeDraggable.keyPress(event);},addObserver:function(observer){this.observers.push(observer);this._cacheObserverCallbacks();},removeObserver:function(element){this.observers=this.observers.reject(function(o){return o.element==element});this._cacheObserverCallbacks();},notify:function(eventName,draggable,event){if(this[eventName+'Count']>0)
this.observers.each(function(o){if(o[eventName])o[eventName](eventName,draggable,event);});if(draggable.options[eventName])draggable.options[eventName](draggable,event);},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName];}).length;});}};var Draggable=Class.create({initialize:function(element){var defaults={handle:false,reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur,queue:{scope:'_draggable',position:'end'}});},endeffect:function(element){var toOpacity=Object.isNumber(element._opacity)?element._opacity:1.0;new Effect.Opacity(element,{duration:0.2,from:0.7,to:toOpacity,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[element]=false}});},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect))
Object.extend(defaults,{starteffect:function(element){element._opacity=Element.getOpacity(element);Draggable._dragging[element]=true;new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.7});}});var options=Object.extend(defaults,arguments[1]||{});this.element=$(element);if(options.handle&&Object.isString(options.handle))
this.handle=this.element.down('.'+options.handle,0);if(!this.handle)this.handle=$(options.handle);if(!this.handle)this.handle=this.element;if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=$(options.scroll);this._isScrollChild=Element.childOf(this.element,options.scroll);}
Element.makePositioned(this.element);this.options=options;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this);},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this);},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')]);},initDrag:function(event){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)){var src=Event.element(event);if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)];var pos=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});Draggables.activate(this);Event.stop(event);}},startDrag:function(event){this.dragging=true;if(!this.delta)
this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex;}
if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._originallyAbsolute=(this.element.getStyle('position')=='absolute');if(!this._originallyAbsolute)
Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element);}
if(this.options.scroll){if(this.options.scroll==window){var where=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=where.left;this.originalScrollTop=where.top;}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}}
Draggables.notify('onStart',this,event);if(this.options.starteffect)this.options.starteffect(this.element);},updateDrag:function(event,pointer){if(!this.dragging)this.startDrag(event);if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element);}
Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height];}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight);}
var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed);}
if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);},finishDrag:function(event,success){this.dragging=false;if(this.options.quiet){Position.prepare();var pointer=[Event.pointerX(event),Event.pointerY(event)];Droppables.show(pointer,this.element);}
if(this.options.ghosting){if(!this._originallyAbsolute)
Position.relativize(this.element);delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null;}
var dropped=false;if(success){dropped=Droppables.fire(event,this.element);if(!dropped)dropped=false;}
if(dropped&&this.options.onDropped)this.options.onDropped(this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&Object.isFunction(revert))revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){if(dropped==0||revert!='failure')
this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]);}else{this.delta=d;}
if(this.options.zindex)
this.element.style.zIndex=this.originalZ;if(this.options.endeffect)
this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset();},keyPress:function(event){if(event.keyCode!=Event.KEY_ESC)return;this.finishDrag(event,false);Event.stop(event);},endDrag:function(event){if(!this.dragging)return;this.stopScrolling();this.finishDrag(event,true);Event.stop(event);},draw:function(point){var pos=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);pos[0]+=r[0]-Position.deltaX;pos[1]+=r[1]-Position.deltaY;}
var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){p=this.options.snap(p[0],p[1],this);}else{if(Object.isArray(this.options.snap)){p=p.map(function(v,i){return(v/this.options.snap[i]).round()*this.options.snap[i]}.bind(this));}else{p=p.map(function(v){return(v/this.options.snap).round()*this.options.snap}.bind(this));}}}
var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))
style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))
style.top=p[1]+"px";if(style.visibility=="hidden")style.visibility="";},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null;}},startScrolling:function(speed){if(!(speed[0]||speed[1]))return;this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1]);}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}
Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)
Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)
Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer);}
if(this.options.change)this.options.change(this);},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight;}}
return{top:T,left:L,width:W,height:H};}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(element,observer){this.element=$(element);this.observer=observer;this.lastValue=Sortable.serialize(this.element);},onStart:function(){this.lastValue=Sortable.serialize(this.element);},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))
this.observer(this.element)}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(element){while(element.tagName.toUpperCase()!="BODY"){if(element.id&&Sortable.sortables[element.id])return element;element=element.parentNode;}},options:function(element){element=Sortable._findRootElement($(element));if(!element)return;return Sortable.sortables[element.id];},destroy:function(element){element=$(element);var s=Sortable.sortables[element.id];if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id];}},create:function(element){element=$(element);var options=Object.extend({element:element,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:element,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(element);var options_for_draggable={revert:true,quiet:options.quiet,scroll:options.scroll,scrollSpeed:options.scrollSpeed,scrollSensitivity:options.scrollSensitivity,delay:options.delay,ghosting:options.ghosting,constraint:options.constraint,handle:options.handle};if(options.starteffect)
options_for_draggable.starteffect=options.starteffect;if(options.reverteffect)
options_for_draggable.reverteffect=options.reverteffect;else
if(options.ghosting)options_for_draggable.reverteffect=function(element){element.style.top=0;element.style.left=0;};if(options.endeffect)
options_for_draggable.endeffect=options.endeffect;if(options.zindex)
options_for_draggable.zindex=options.zindex;var options_for_droppable={overlap:options.overlap,containment:options.containment,tree:options.tree,hoverclass:options.hoverclass,onHover:Sortable.onHover};var options_for_tree={onHover:Sortable.onEmptyHover,overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass};Element.cleanWhitespace(element);options.draggables=[];options.droppables=[];if(options.dropOnEmpty||options.tree){Droppables.add(element,options_for_tree);options.droppables.push(element);}
(options.elements||this.findElements(element,options)||[]).each(function(e,i){var handle=options.handles?$(options.handles[i]):(options.handle?$(e).select('.'+options.handle)[0]:e);options.draggables.push(new Draggable(e,Object.extend(options_for_draggable,{handle:handle})));Droppables.add(e,options_for_droppable);if(options.tree)e.treeNode=element;options.droppables.push(e);});if(options.tree){(Sortable.findTreeElements(element,options)||[]).each(function(e){Droppables.add(e,options_for_tree);e.treeNode=element;options.droppables.push(e);});}
this.sortables[element.id]=options;Draggables.addObserver(new SortableObserver(element,options.onUpdate));},findElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.tag);},findTreeElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.treeTag);},onHover:function(element,dropon,overlap){if(Element.isParent(dropon,element))return;if(overlap>.33&&overlap<.66&&Sortable.options(dropon).tree){return;}else if(overlap>0.5){Sortable.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,dropon);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}else{Sortable.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,nextElement);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}},onEmptyHover:function(element,dropon,overlap){var oldParentNode=element.parentNode;var droponOptions=Sortable.options(dropon);if(!Element.isParent(dropon,element)){var index;var children=Sortable.findElements(dropon,{tag:droponOptions.tag,only:droponOptions.only});var child=null;if(children){var offset=Element.offsetSize(dropon,droponOptions.overlap)*(1.0-overlap);for(index=0;index<children.length;index+=1){if(offset-Element.offsetSize(children[index],droponOptions.overlap)>=0){offset-=Element.offsetSize(children[index],droponOptions.overlap);}else if(offset-(Element.offsetSize(children[index],droponOptions.overlap)/2)>=0){child=index+1<children.length?children[index+1]:null;break;}else{child=children[index];break;}}}
dropon.insertBefore(element,child);Sortable.options(oldParentNode).onChange(element);droponOptions.onChange(element);}},unmark:function(){if(Sortable._marker)Sortable._marker.hide();},mark:function(dropon,position){var sortable=Sortable.options(dropon.parentNode);if(sortable&&!sortable.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);}
var offsets=Position.cumulativeOffset(dropon);Sortable._marker.setStyle({left:offsets[0]+'px',top:offsets[1]+'px'});if(position=='after')
if(sortable.overlap=='horizontal')
Sortable._marker.setStyle({left:(offsets[0]+dropon.clientWidth)+'px'});else
Sortable._marker.setStyle({top:(offsets[1]+dropon.clientHeight)+'px'});Sortable._marker.show();},_tree:function(element,options,parent){var children=Sortable.findElements(element,options)||[];for(var i=0;i<children.length;++i){var match=children[i].id.match(options.format);if(!match)continue;var child={id:encodeURIComponent(match?match[1]:null),element:element,parent:parent,children:[],position:parent.children.length,container:$(children[i]).down(options.treeTag)};if(child.container)
this._tree(child.container,options,child);parent.children.push(child);}
return parent;},tree:function(element){element=$(element);var sortableOptions=this.options(element);var options=Object.extend({tag:sortableOptions.tag,treeTag:sortableOptions.treeTag,only:sortableOptions.only,name:element.id,format:sortableOptions.format},arguments[1]||{});var root={id:null,parent:null,children:[],container:element,position:0};return Sortable._tree(element,options,root);},_constructIndex:function(node){var index='';do{if(node.id)index='['+node.position+']'+index;}while((node=node.parent)!=null);return index;},sequence:function(element){element=$(element);var options=Object.extend(this.options(element),arguments[1]||{});return $(this.findElements(element,options)||[]).map(function(item){return item.id.match(options.format)?item.id.match(options.format)[1]:'';});},setSequence:function(element,new_sequence){element=$(element);var options=Object.extend(this.options(element),arguments[2]||{});var nodeMap={};this.findElements(element,options).each(function(n){if(n.id.match(options.format))
nodeMap[n.id.match(options.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n);});new_sequence.each(function(ident){var n=nodeMap[ident];if(n){n[1].appendChild(n[0]);delete nodeMap[ident];}});},serialize:function(element){element=$(element);var options=Object.extend(Sortable.options(element),arguments[1]||{});var name=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:element.id);if(options.tree){return Sortable.tree(element,arguments[1]).children.map(function(item){return[name+Sortable._constructIndex(item)+"[id]="+
encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));}).flatten().join('&');}else{return Sortable.sequence(element,arguments[1]).map(function(item){return name+"[]="+encodeURIComponent(item);}).join('&');}}};Element.isParent=function(child,element){if(!child.parentNode||child==element)return false;if(child.parentNode==element)return true;return Element.isParent(child.parentNode,element);};Element.findChildren=function(element,only,recursive,tagName){if(!element.hasChildNodes())return null;tagName=tagName.toUpperCase();if(only)only=[only].flatten();var elements=[];$A(element.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||(Element.classNames(e).detect(function(v){return only.include(v)}))))
elements.push(e);if(recursive){var grandchildren=Element.findChildren(e,only,recursive,tagName);if(grandchildren)elements.push(grandchildren);}});return(elements.length>0?elements.flatten():[]);};Element.offsetSize=function(element,type){return element['offset'+((type=='vertical'||type=='height')?'Height':'Width')];};