/*
YUI 3.4.1 (build 4118)
Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
YUI.add("event-simulate",function(a){(function(){var k=a.Lang,j=a.Array,f=k.isFunction,d=k.isString,g=k.isBoolean,o=k.isObject,n=k.isNumber,m=a.config.doc,p={click:1,dblclick:1,mouseover:1,mouseout:1,mousedown:1,mouseup:1,mousemove:1},l={keydown:1,keyup:1,keypress:1},c={blur:1,change:1,focus:1,resize:1,scroll:1,select:1},e={scroll:1,resize:1,reset:1,submit:1,change:1,select:1,error:1,abort:1};a.mix(e,p);a.mix(e,l);function i(v,z,u,s,B,r,q,A,x,D,C){if(!v){a.error("simulateKeyEvent(): Invalid target.");}if(d(z)){z=z.toLowerCase();switch(z){case"textevent":z="keypress";break;case"keyup":case"keydown":case"keypress":break;default:a.error("simulateKeyEvent(): Event type '"+z+"' not supported.");}}else{a.error("simulateKeyEvent(): Event type must be a string.");}if(!g(u)){u=true;}if(!g(s)){s=true;}if(!o(B)){B=window;}if(!g(r)){r=false;}if(!g(q)){q=false;}if(!g(A)){A=false;}if(!g(x)){x=false;}if(!n(D)){D=0;}if(!n(C)){C=0;}var y=null;if(f(m.createEvent)){try{y=m.createEvent("KeyEvents");y.initKeyEvent(z,u,s,B,r,q,A,x,D,C);}catch(w){try{y=m.createEvent("Events");}catch(t){y=m.createEvent("UIEvents");}finally{y.initEvent(z,u,s);y.view=B;y.altKey=q;y.ctrlKey=r;y.shiftKey=A;y.metaKey=x;y.keyCode=D;y.charCode=C;}}v.dispatchEvent(y);}else{if(o(m.createEventObject)){y=m.createEventObject();y.bubbles=u;y.cancelable=s;y.view=B;y.ctrlKey=r;y.altKey=q;y.shiftKey=A;y.metaKey=x;y.keyCode=(C>0)?C:D;v.fireEvent("on"+z,y);}else{a.error("simulateKeyEvent(): No event simulation framework present.");}}}function b(A,F,x,u,G,z,w,v,t,r,s,q,E,C,y,B){if(!A){a.error("simulateMouseEvent(): Invalid target.");}if(d(F)){F=F.toLowerCase();if(!p[F]){a.error("simulateMouseEvent(): Event type '"+F+"' not supported.");}}else{a.error("simulateMouseEvent(): Event type must be a string.");}if(!g(x)){x=true;}if(!g(u)){u=(F!="mousemove");}if(!o(G)){G=window;}if(!n(z)){z=1;}if(!n(w)){w=0;}if(!n(v)){v=0;}if(!n(t)){t=0;}if(!n(r)){r=0;}if(!g(s)){s=false;}if(!g(q)){q=false;}if(!g(E)){E=false;}if(!g(C)){C=false;}if(!n(y)){y=0;}B=B||null;var D=null;if(f(m.createEvent)){D=m.createEvent("MouseEvents");if(D.initMouseEvent){D.initMouseEvent(F,x,u,G,z,w,v,t,r,s,q,E,C,y,B);}else{D=m.createEvent("UIEvents");D.initEvent(F,x,u);D.view=G;D.detail=z;D.screenX=w;D.screenY=v;D.clientX=t;D.clientY=r;D.ctrlKey=s;D.altKey=q;D.metaKey=C;D.shiftKey=E;D.button=y;D.relatedTarget=B;}if(B&&!D.relatedTarget){if(F=="mouseout"){D.toElement=B;}else{if(F=="mouseover"){D.fromElement=B;}}}A.dispatchEvent(D);}else{if(o(m.createEventObject)){D=m.createEventObject();D.bubbles=x;D.cancelable=u;D.view=G;D.detail=z;D.screenX=w;D.screenY=v;D.clientX=t;D.clientY=r;D.ctrlKey=s;D.altKey=q;D.metaKey=C;D.shiftKey=E;switch(y){case 0:D.button=1;break;case 1:D.button=4;break;case 2:break;default:D.button=0;}D.relatedTarget=B;A.fireEvent("on"+F,D);}else{a.error("simulateMouseEvent(): No event simulation framework present.");}}}function h(w,v,s,r,q,u){if(!w){a.error("simulateUIEvent(): Invalid target.");}if(d(v)){v=v.toLowerCase();if(!c[v]){a.error("simulateUIEvent(): Event type '"+v+"' not supported.");}}else{a.error("simulateUIEvent(): Event type must be a string.");}var t=null;if(!g(s)){s=(v in e);}if(!g(r)){r=(v=="submit");}if(!o(q)){q=window;}if(!n(u)){u=1;}if(f(m.createEvent)){t=m.createEvent("UIEvents");t.initUIEvent(v,s,r,q,u);w.dispatchEvent(t);}else{if(o(m.createEventObject)){t=m.createEventObject();t.bubbles=s;t.cancelable=r;t.view=q;t.detail=u;w.fireEvent("on"+v,t);}else{a.error("simulateUIEvent(): No event simulation framework present.");}}}a.Event.simulate=function(s,r,q){q=q||{};if(p[r]){b(s,r,q.bubbles,q.cancelable,q.view,q.detail,q.screenX,q.screenY,q.clientX,q.clientY,q.ctrlKey,q.altKey,q.shiftKey,q.metaKey,q.button,q.relatedTarget);}else{if(l[r]){i(s,r,q.bubbles,q.cancelable,q.view,q.ctrlKey,q.altKey,q.shiftKey,q.metaKey,q.keyCode,q.charCode);}else{if(c[r]){h(s,r,q.bubbles,q.cancelable,q.view,q.detail);}else{a.error("simulate(): Event '"+r+"' can't be simulated.");}}}};})();},"3.4.1",{requires:["event-base"]});
/*
YUI 3.4.1 (build 4118)
Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
YUI.add("node-event-simulate",function(a){a.Node.prototype.simulate=function(c,b){a.Event.simulate(a.Node.getDOMNode(this),c,b);};},"3.4.1",{requires:["node-base","event-simulate"]});
YUI.add("zillow-richtexteditor",function(b){var e=b.namespace("Z"),h="debug",f="warn",g="RTE",i=b.Node,j=i.create,a=i.getDOMNode,d={Advice:{collapse:false,titlebar:"Text Editing Tools",draggable:false,buttonType:"basic",buttons:[{group:"textstyle",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"},{group:"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:"insertitem",buttons:[{type:"push",label:"HTML Link CTRL + SHIFT + L",value:"createlink",disabled:true},{type:"push",label:"Insert Image",value:"insertimage"}]},{type:"separator"},{group:"undoredo",buttons:[{type:"push",label:"Undo",value:"undo",disabled:true},{type:"push",label:"Redo",value:"redo",disabled:true}]}]},Profile:{collapse:false,titlebar:"Text Editing Tools",draggable:false,buttonType:"basic",buttons:[{group:"insertitem",buttons:[{type:"push",label:"HTML Link CTRL + SHIFT + L",value:"createlink",disabled:true}]}]},Default:{collapse:false,titlebar:"Text Editing Tools",draggable:false,buttonType:"advanced",buttons:[{group:"textstyle",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",disabled:true}]},{type:"separator"},{group:"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:"undoredo",buttons:[{type:"push",label:"Undo",value:"undo",disabled:true},{type:"push",label:"Redo",value:"redo",disabled:true}]},{type:"separator"},{group:"parastyle",buttons:[{type:"select",label:"Normal",value:"heading",disabled:true,menu:[{text:"Normal",value:"none",checked:true},{text:"Header 1",value:"h1"},{text:"Header 2",value:"h2"},{text:"Header 3",value:"h3"},{text:"Header 4",value:"h4"},{text:"Header 5",value:"h5"},{text:"Header 6",value:"h6"}]}]},{type:"separator"},{group:"indentlist",buttons:[{type:"push",label:"Indent",value:"indent",disabled:true},{type:"push",label:"Outdent",value:"outdent",disabled:true},{type:"push",label:"Create an Unordered List",value:"insertunorderedlist"},{type:"push",label:"Create an Ordered List",value:"insertorderedlist"}]},{type:"separator"},{group:"insertitem",buttons:[{type:"push",label:"HTML Link CTRL + SHIFT + L",value:"createlink",disabled:true},{type:"push",label:"Insert Image",value:"insertimage"},{type:"push",label:"Insert Video",value:"insertvideo"}]}]}};
function c(l){var m=this.id=l.id;this.config=l||{};this.editorActive=false;var p=false;if(this.config.focus){p=true;
}var o=this.config.toolbar||"Default";b.log("using toolbar: "+o,h,g);var k=(o==="Default")?"Editor":"SimpleEditor";
this.editor=new b.YUI2.widget[k]("rte-"+m,{height:this.config.editorDim.height+"px",width:this.config.editorDim.width+"px",dompath:true,filterWord:true,focusAtStart:p,extracss:"img.rte-video { height: 344px; width: 425px; background: #aaa; display: block; }",toolbar:d[o]});
this.selectedLinkText=null;this.editingRawHTML=false;this.allowImages=true;var n=this;this.editor.on("toolbarLoaded",function(){if(!this.toolbar.getButtonByValue("insertimage")){this.invalidHTML.img=true;
n.allowImages=false;}this.toolbar.on("insertimageClick",function(r){this.showImagePanel();return false;
},n,true);this.toolbar.on("insertvideoClick",function(r){this.showVideoPanel();return false;},n,true);
this.toolbar.on("createlinkClick",function(s,x){try{if(x.name!=="zLink"){b.log("not our call",h,g);return false;
}if(this.isPanelVisible(this.linkPanel)){return false;}var t=this.editor.currentElement[0];var w;this.hasSelectedText=this.editor._hasSelection();
if(t&&this.hasSelectedText){var u=t.innerHTML;var r=this.editor._getSelection();if(u===r){this.hasSelectedImage=t.tagName==="IMG";
this.hasSelectedLink=t.tagName==="A";if(this.hasSelectedLink){w=t.getAttribute("href");}}}this.selectedRange=this.editor._getRange();
b.log("tag selected -> "+(t?("tagName: "+t.tagName+" Text: "+t.innerHTML):"no tag selected"),h,this);
b.log("selected text: -> "+this.hasSelectedText,h,this);b.log("this.hasSelectedImage -> "+this.hasSelectedImage,h,this);
b.log("this.hasSelectedLink  -> "+this.hasSelectedLink,h,this);b.log(this.selectedRange);this.showLinkPanel(w);
}catch(v){b.log("link click failed "+v,f,g);}return false;},{name:"zLink"},n);if(n.config.isAdmin){var q={type:"push",label:"Edit HTML Code",value:"editcode"};
this.toolbar.addButtonToGroup(q,"insertitem");this.toolbar.on("editcodeClick",function(){var r=this.get("element"),s=this.get("iframe").get("element");
if(n.editingRawHTML){n.editingRawHTML=false;b.log("hiding raw HTML editor",h,g);this.editorDirty=true;
this.setEditorHTML(r.value);if(!this.browser.ie){this._setDesignMode("on");}this.toolbar.set("disabled",false);
b.one(s).removeClass("editor-hidden");b.one(r).addClass("editor-hidden");this.show();this.focus();}else{n.editingRawHTML=true;
b.log("showing raw HTML editor",h,g);this.cleanHTML();b.one(s).addClass("editor-hidden");b.one(r).removeClass("editor-hidden");
this.toolbar.set("disabled",true);this.toolbar.getButtonByValue("editcode").set("disabled",false);this.toolbar.selectButton("editcode");
this.dompath.innerHTML="Editing HTML Code";this.hide();}return false;},this,true);this.on("cleanHTML",function(r){this.get("element").value=r.html;
},this,true);this.on("afterRender",function(){var r=this.get("editor_wrapper");r.appendChild(this.get("element"));
this.setStyle("width","100%");this.setStyle("height","100%");this.setStyle("visibility","");this.setStyle("top","");
this.setStyle("left","");this.setStyle("position","");this.addClass("editor-hidden");},this,true);}},this.editor,true);
this.editor.on("editorKeyPress",function(q){this.editorDirty=true;},this.editor,true);this.setupPasteOverride();
if(this.config.initOnLoad){b.on("domready",this.edit,this);}this.onEdit=new Subscriber("onEdit");this.onSave=new Subscriber("onSave");
this.onCloseEditor=new Subscriber("onCloseEditor");this.onEditorLoadComplete=new Subscriber("onEditorLoadComplete");
this.onAfterLinkPanelCreation=new Subscriber("onAfterLinkPanelCreation");b.fire("editor:loaded",this);
}c.separator={attr:"\01",keyVal:"\02"};c.RE={smartDouble:new RegExp("["+String.fromCharCode(8220)+String.fromCharCode(8221)+"]","g"),smartSingle:new RegExp(String.fromCharCode(8217),"g"),unknownChar:new RegExp(String.fromCharCode(65533),"g")};
c.prototype={constructor:c,toString:function(){return"RichTextEditor["+this.id+"]";},renderZillowEditor:function(){var n=this;
var m=b.one("#rte-"+this.id).ancestor("form");if(m){var l=a(m);if(l.onsubmit){b.log("deleting Tapestry onsubmit during render",h,g);
try{delete m.onsubmit;}catch(k){m.onsubmit=null;}}m.addClass("rich-text");m.on("submit",this.onParentFormSubmit,this);
b.fire("editor:hookForm",{id:this.id,form:m});}function o(t,s){try{b.log("editorContentLoaded",h,g);n.editor.removeListener("editorContentLoaded",o);
var r=n.getViewRegion().get("innerHTML");n.setHTML(b.Lang.isValue(r)?r:"");var p=!b.one("#editorViewRegion"+n.id).ancestor(function(u){return u.getStyle("display")==="none";
});b.log("#editorViewRegion"+n.id+" isVisible? "+p,h,g);if(p){n.makeVisible("editorEditRegion");n.showEditor();
}n.resetIsDirty();n.editorLoadComplete();}catch(q){b.log("Could not setup HTML: "+q,f,g);}}this.editor.on("editorContentLoaded",o,{isActive:this.editorActive},this.editor);
this.editor.render();this.hasRendered=true;},onParentFormSubmit:function(m){if(this.editorActive){b.log("onParentFormSubmit",h,this);
var k=m.target.one(".editor-source"),l=this.getHTML();if(k&&l){k.set("value",l);}}},showEditor:function(){this.displayNone("editorViewRegion");
this.display("editorEditRegion");this.editor.show();},closeUnderlyingEditor:function(){this.displayNone("editorEditRegion");
this.display("editorViewRegion");this.editor.hide();},getHTML:function(){try{var k="";try{k=this.editor.cleanHTML(k);
}catch(m){b.log("Editor hasnt loaded yet but submit pressed "+m,f,g);}k=this.filterText(k);k=this.filterImages(k);
if(k.match(/^(\s)*(<p>(&nbsp;|\s)*<\/p>|\s)+(\s)*$/)||k.length===0){k=" ";b.log("Content set to empty string");
}var n=j("<div>"+k+"</div>");k=this.decodeVideos(n);return k;}catch(l){b.log("Can't get HTML: "+l.message,f,this);
return false;}},insertZillowImage:function(o,l,n){try{var k='<img src="'+o+'" imageid="'+l+'" uploadtype="new" imagetype="'+n+'" />';
this.editor.focus();this.editor.execCommand("inserthtml",k);return true;}catch(m){b.log("Could not insert image "+m,f,g);
return false;}},insertVideo:function(k){try{b.log("insertVideo input: "+k,h,this);var n=j("<div>"+k+"</div>");
var l=this.encodeVideo(n);b.log("Embedding video:\n"+l,h,this);if(!l){return false;}this.editor.focus();
this.editor.execCommand("inserthtml",l);return true;}catch(m){b.log("Could not insert video: "+m,f,this);
return false;}},insertZillowLink:function(l,o,k){if(this.selectedRange&&this.selectedRange.select&&this.hasSelectedText){if(this.selectedRange.text.lastIndexOf(" ")===(this.selectedRange.text.length-1)){this.selectedRange.moveEnd("character",-1);
}if(this.selectedRange.text.indexOf(" ")===0){this.selectedRange.moveStart("character",1);}this.selectedRange.select();
}if(this.hasSelectedText){try{if(!this.hasSelectedLink){this.editor.execCommand("createlink");}b.Array.forEach(this.editor.currentElement,function(p){p.setAttribute("href",l);
if(!k){p.setAttribute("rel","nofollow");}});b.log("insertZillowLink had selectedText, successfully inserted "+l,h,this);
}catch(m){b.log("Can not add link "+m,f,g);}}else{var n='<a href="'+l+'"'+(k?"":' rel="nofollow"')+">"+o+"</a>";
this.editor.focus();this.editor.execCommand("inserthtml",n);b.log("insertZillowLink inserted HTML "+n,h,this);
}},resetIsDirty:function(){this.editor.editorDirty=false;return this;},setHTML:function(k){var l=j("<div>"+k+"</div>");
this.transformVideos(l.all("object"));b.log('setHTML: "'+l.get("innerHTML")+'"',h,g);this.editor.setEditorHTML(l.get("innerHTML"));
return this;},isDirty:function(){return this.editor.editorDirty===true;},hasFocus:function(){},focusEditor:function(l){var k=this;
if(l){setTimeout(function(){k.editor.focus();},100);}else{k.editor.focus();}b.fire("editor:focused",k.editor);
},setupPasteOverride:function(){var k=this;this.ctrlKey=false;this.pasted=false;this.editor.on("editorKeyUp",function(l){try{if(l&&l.ev&&l.ev.keyCode===86&&k.pasted){k.pasted=false;
b.one(this._getDoc()).all("body").each(function(n){k.cleanPastedContent(a(n));});}if(l&&l.ev&&l.ev.keyCode===17){k.ctrlKey=false;
}}catch(m){b.log("Error traversing through pasted content: "+m,f,g);}},this.editor,true);this.editor.on("editorKeyDown",function(l){if(l&&l.ev&&l.ev.keyCode===17){k.ctrlKey=true;
}},this.editor,true);this.editor.on("editorKeyPress",function(l){try{if(l&&l.ev&&l.ev.charCode===118&&k.ctrlKey){k.pasted=true;
}}catch(m){b.log("error: "+m,f,g);}},this.editor,true);},cleanPastedContent:function(l){try{if(!l){return;
}l.id="";var k=l.innerHTML;k=this.editor.cleanHTML(k);l.innerHTML=this.filterText(k);}catch(m){b.log("Could not clean pasted content: "+m,f,g);
}},getEditor:function(){return this.editor;},edit:function(){if(this.editorActive){return this;}try{if(!this.hasRendered){this.renderZillowEditor();
}else{this.showEditor();}this.editorActive=true;}catch(k){b.log("can't edit!: "+k,f,g);}this.doEdit();
return this;},saveSuccessful:function(l,k){this.updateView(l);this.resetIsDirty();if(k!==undefined){this.setHTML(k);
}return this.closeEditor();},saveFailed:function(k){if(typeof k==="undefined"){return"Sorry, we were unable to save your changes. Please try again.";
}if(k.indexOf("newVersionAlreadyCreated")>=0){this.showConflictPanel();}else{var l=this.getErrorMessage(k);
if(l){this.showErrorMessage(l);}else{this.showErrorMessage("Sorry, we were unable to save your changes. Please try again.");
}}return true;},getImageContextId:function(){return b.one("#image-context-id"+this.id).get("value");},save:function(){this.clearErrors();
this.contextId=this.getImageContextId();var k=this.getHTML();b.log("Saving HTML:\n"+k,"info",this);this.doSave(k,this.isDirty());
},cancel:function(l){if(this.editorActive){b.log("cancel, noWarning === "+l,h,g);var k=true;if(l!==true&&this.isDirty()){k=b.config.win.confirm("Really cancel? You'll lose your changes");
}if(k){this.closeEditor().resetData().resetIsDirty();}return k;}return true;},resetData:function(){this.setHTML(this.getViewRegion().get("innerHTML"));
return this;},updateView:function(k){if(!k){k=this.getHTML();}b.log("updateView HTML:\n"+k,h,this);this.getViewRegion().setContent(k);
return this;},getViewRegion:function(){return b.one("#editorViewRegion"+this.id+" .editor-view-content");
},closeEditor:function(){this.closeUnderlyingEditor();this.cancelLinkPanel();this.cancelImagePanel();
this.clearErrors();this.editorActive=false;this.doCloseEditor();return this;},clearErrors:function(){b.one("#richText-errors-"+this.id).hide();
},showVideoPanel:function(){if(this.isPanelVisible(this.videoPanel)){return;}if(!this.videoPanel){this.videoPanel=new b.YUI2.widget.Panel("editorVideoPanelDiv"+this.id,{width:"60em",fixedcenter:false,constraintoviewport:true,close:true,visible:false,draggable:true,modal:false,context:["editorEditRegion"+this.id,"bl","tl"]});
this.videoPanel.beforeHideEvent.subscribe(function(){return false;},null,this);this.display("editorVideoPanelDiv");
this.videoPanel.render();this.videoPanel.align("bl","tl");this.bindZButton(this.videoPanel,"addVideo","closeVideoPanel");
}b.one("#editor-video-embed-error-"+this.id).addClass("hide");this.videoPanel.show();},closeVideoPanel:function(){this.videoPanel.hide();
},addVideo:function(l){if(l){l.halt();}var k=b.one("#editor-video-embed-"+this.id).get("value");if(!this.insertVideo(k)){b.one("#editor-video-embed-error-"+this.id).removeClass("hide");
return;}this.closeVideoPanel();},transformVideos:function(k){var l=j("<div></div>");k.each(function(n){var m=l.set("innerHTML",this.encodeVideo(n)).one("img");
if(m){n.replace(m);}},this);},decodeVideos:function(k){b.one(k).all("img.rte-video").each(function(p){var n=a(p);
b.log(n);var q=j("<object></object>");var t=j("<embed></embed>");var m=n.getAttribute("longdesc",2);var s=c.separator;
var o=m.split(s.attr);var r=0;for(;r<o.length;r++){var u=o[r].split(s.keyVal);if(u.length===2){var l=u[0];
var v=u[1];if(u[0]!=="width"&&u[1]!=="height"){q.append('<param name="'+(l==="src"?"movie":l)+'" value="'+v+'" />');
}t.setAttribute(l,v);}}q.appendChild(t);n.replace(q);});return k.get("innerHTML");},encodeVideo:function(l){var p=l.one("embed");
if(!p){b.log("in encodeVideo, typeof embed == "+(typeof p),"error",this);return"";}p=a(p);var m=[],k,o=c.separator,n=0;
for(;n<p.attributes.length;n++){k=p.attributes[n];m.push(k.name+o.keyVal+k.value);}return'<img longdesc="'+m.join(o.attr)+'" height="344" width="425" class="rte-video" />';
},showImagePanel:function(){try{b.log("opening the image panel",h,g);if(this.isPanelVisible(this.imagePanel)){return;
}if(!this.imagePanel){this.imagePanel=new b.YUI2.widget.Panel("editorImagePanelDiv"+this.id,{close:true,constraintoviewport:true,context:["editorEditRegion"+this.id,"bl","tl"],fixedcenter:false,modal:false,visible:false,width:"45em"});
this.imagePanel.hideEvent.subscribe(this.cancelImagePanel,null,this);this.display("editorImagePanelDiv");
this.imagePanel.render();this.imagePanel.align("bl","tl");this.bindZButton(this.imagePanel,"addImage","cancelImagePanel");
var k=this.uploadManager=ZILLOW.namespace("uploadManager")[this.id];if(k){k.on("frame:ready",function(n){var m=n.target.get("fileInput");
if(m){m.focus();}if(b.UA.ie&&!this.image_input){this.image_input=m.cloneNode(true);}},this);k.render();
}}this.imagePanel.show();}catch(l){b.log(l);}},addImage:function(l){if(l){l.halt();}if(!b.one("#image-disclaimer-checkbox-"+this.id).get("checked")){this.uploadManager.error("You must first agree to terms of use before you can upload an image.");
return;}try{this.subscribeToImageLoad();this.uploadManager.upload();}catch(m){try{if(m&&m.message.length>0){this.uploadManager.error(m);
}}catch(k){}this.imageUploadError(m);}},imageUploadError:function(k){this.unsubscribeToImageLoad();},imageUploaded:function(v){b.log("imageUploaded",h,g);
var w=v.image,k=w.get("src"),m=w.get("id"),x=b.merge,n=b.QueryString,t=n.stringify;var r=k.split("?");
var p=n.parse(r[1]);delete p.hei;delete p.wid;r[1]=t(p);k=r.join("?");var o=b.one("#richtext-image-type-"+this.id).get("value");
var u=this;var l=u.config.imageDim;var s=new Image();var q=function(A){b.log("imageUploaded setSizeAndInsert ("+A.type+")",h,u);
var y=s,B=y.height,z=y.width;if(B>l.height||z>l.width){B=l.height;z=l.width;}r[1]=t(x(p,{size:z+","+B})).replace(/%2C/g,",");
u.insertImage(r.join("?"),m,o);};b.on("load",q,s);b.on("error",q,s);s.src=k;},insertImage:function(m,k,l){this.insertZillowImage(m,k,l);
this.unsubscribeToImageLoad();this.closeImagePanel();},subscribeToImageLoad:function(){var k=this.uploadManager;
if(k){this._imgComplete=k.on("upload:complete",this.imageUploaded,this);this._imgError=k.on("upload:error",this.imageUploadError,this);
}b.one("#image-upload-throbber"+this.id).show();},unsubscribeToImageLoad:function(){var k=this.uploadManager;
if(k&&this._imgComplete){this._imgComplete.detach();this._imgComplete=null;this._imgError.detach();this._imgError=null;
}b.one("#image-upload-throbber"+this.id).hide();},closeImagePanel:function(){this.imagePanel.hide();b.one("#image-disclaimer-checkbox-"+this.id).removeAttribute("checked");
this.unsubscribeToImageLoad();var k=this.uploadManager;if(k===undefined){b.log("manager undefined when closing image panel",f,g);
return;}k.clearError();if(this.image_input){var l=k.get("fileInput");l.replace(l.cloneNode(true));}else{k.get("form").reset();
}},cancelImagePanel:function(){if(!this.imagePanel){return;}this.closeImagePanel();},createLinkPanel:function(){b.log("Returning Default panel",h,g);
return this.defaultLinkPanel();},defaultLinkPanel:function(){var k=new b.YUI2.widget.Panel("editorLinkPanelDiv"+this.id,{close:true,constraintoviewport:true,context:["editorEditRegion"+this.id,"bl","tl"],fixedcenter:false,modal:false,underlay:"shadow",visible:false,width:"45em"});
return k;},showLinkPanel:function(o){if(this.isPanelVisible(this.linkPanel)){return;}var n="editorLinkPanelDiv";
this.clearLinkInput();if(!this.linkPanel){this.linkPanel=this.createLinkPanel();var k=this.linkPanel.id,l=n+this.id;
if(k!==l){if(k.indexOf("wiki")>-1){n=k.replace(/\d+/,"");}else{b.one("#"+l).remove();}}this.linkPanel.hideEvent.subscribe(this.cancelLinkPanel,null,this);
this.linkPanel.render();this.display(n);this.linkPanel.align("bl","tl");this.bindZButton(this.linkPanel,"addLink","cancelLinkPanel");
b.on("key",function(p){p.halt();this.addLink();},"#"+this.linkPanel.id+" input","down:13",this);this.afterLinkPanelCreation();
}var m;if(this.hasSelectedText||this.hasSelectedImage){this.displayNone("editorLinkText");m=b.one("#linkUrl"+this.id);
if(o){b.one("#linkUrl"+this.id).set("value",o);}}else{this.display("editorLinkText");m=b.one("#linkText"+this.id);
}this.linkPanel.show();m.focus();},addLink:function(o){if(o){o.halt();}if(!this.validateInputFields()){b.log("validateInputFields failed during addLink","error",this);
return;}var p=b.one("#linkText"+this.id).get("value");var m=this.formatURL(b.one("#linkUrl"+this.id).get("value"));
var n=this.isZillowLink(m);if(n){m=n;}var q=(n!==null);var k=q;var l=b.one("#linkFollow"+this.id);if(l){k=l.get("checked")||q;
}this.insertZillowLink(m,p,k);this.closeLinkPanel();},isZillowLink:function(k){if(!k){return null;}var m=/(^http(s)?:\/\/)?(www\.)?(zillow.com|zillow.local).*/i;
var l=k.match(m);if(l){if(k.indexOf("www")===-1){k=k.replace(/zillow/i,"www.$&");}return k;}return null;
},formatURL:function(k){return this.prefixProtocolToUrl(k);},prefixProtocolToUrl:function(k){if(k.indexOf("http:")!==0&&k.indexOf("https:")!==0){return"http://"+k;
}return k;},validateInputFields:function(){this.clearLinkInputErrors();var k=true;var m=b.one("#linkUrl"+this.id).get("value");
if(m.length===0){b.one("#linkUrlError"+this.id).show();k=false;b.log("link url is empty","error",this);
}else{var n=["<object","<embed","<param"];var o=false;var l=0;for(;l<n.length;l++){if(m.indexOf(n[l])>=0){o=true;
b.log("link url has invalid "+n[l],"error",this);}}if(o){b.one("#linkUrlFormatError"+this.id).show();
k=false;}}if(b.one("#editorLinkText"+this.id).getStyle("display")!=="none"&&b.one("#linkText"+this.id).get("value").length===0){b.one("#linkTextError"+this.id).show();
k=false;b.log("link text visible but empty","error",this);}return k;},cancelLinkPanel:function(){this.closeLinkPanel();
},closeLinkPanel:function(){if(!this.linkPanel){return;}this.linkPanel.hide();this.clearLinkInput();},clearLinkInput:function(){b.one("#linkUrl"+this.id).set("value","");
b.one("#linkText"+this.id).set("value","");this.clearLinkInputErrors();},clearLinkInputErrors:function(){b.one("#linkTextError"+this.id).hide();
b.one("#linkUrlError"+this.id).hide();b.one("#linkUrlFormatError"+this.id).hide();},doSave:function(l,k){b.log("doSave function not overridden, firing this.onSave",h,g);
this.onSave.fireEvent(l,k);},doEdit:function(){b.log("doEdit function not overridden, firing this.onEdit",h,g);
this.onEdit.fireEvent();},editorLoadComplete:function(){b.log("editorLoadComplete not implemented, firing this.onEditorLoadComplete",h,g);
this.onEditorLoadComplete.fireEvent();},afterLinkPanelCreation:function(){b.log("afterLinkPanelCreation not implemented, firing this.onAfterLinkPanelCreation",h,g);
this.onAfterLinkPanelCreation.fireEvent();},doCloseEditor:function(){b.log("doCloseEditor not implemented, firing this.onCloseEditor",h,g);
this.onCloseEditor.fireEvent();},onActionClick:function(l){l.halt();var k=l.currentTarget.get("href").split("#").pop();
if(k==="save"){this.save();}else{this.cancel();}},bindAnchorActions:function(k){var l=b.one("#"+(k?k+"-":"")+"action-buttons-"+this.id);
if(l){l.delegate("click",this.onActionClick,"a.inline-button",this);}},bindZButton:function(n,q,p,m){var o=m?n:this,k=b.Lang.isString,l=b.one("#"+n.id);
if(l){if(k(q)){q=o[q];}if(k(p)){p=o[p];}l.all(".action button").each(function(r){if(r.hasClass("primary")){r.on("click",q,o);
}else{r.on("click",p,o);}});}},getErrorMessage:function(m){var o=function(r){return m.indexOf(r)>-1;};
if(o("pottyMouthContent")){return"We're detecting inappropriate content. Please edit it.";}else{if(o("communityEditsDisabled")){return"Sorry, editing for pages is currently disabled.";
}else{if(o("invalidHtmlContent")){return"We're detecting invalid HTML content. Please edit it.";}else{if(o("noPermission")){return"You do not have permission to edit this content.";
}else{if(o("forbiddenLink")){return"It appears that your content includes links to inappropriate Web sites. Please delete the links.";
}else{if(o("uncategorizedError")){return"Sorry, we were unable to save your changes due to network problems. Please check your network settings and try again.";
}else{if(o("exceededSaveLimit")){return"You've reached the maximum number of pages you can edit today. Please try again tomorrow.";
}else{if(o("duplicatePageName")){return"The page title already exists. Please enter a different title.";
}else{if(o("invalidCharacterInPageName")){var q=m.indexOf("invalidCharacterInPageName")+"invalidCharacterInPageName".length+1;
var l=m.charAt(q);return"The character "+l+" is not allowed in page titles.";}else{if(o("invalidPageName")){var p=m.indexOf("invalidPageName")+"invalidPageName".length+1;
var n=m.indexOf(":endErrorMsg:");var k=m.substring(p,n);if(k==="nameTooShort"){return"The page title must be at least three characters long.";
}else{if(k==="nameTooLong"){return"The page title is too long. Please shorten your title to a maximum of 50 characters.";
}else{if(k==="invalidFirstCharacter"){return"The first character of a page title must be a letter.";}else{return"We could not add the page with the specified title. Please change your page title.";
}}}}else{if(o("contentTooLong")){return"The content is too long.  Please reduce the amount of text that you are submitting.";
}}}}}}}}}}}return null;},showErrorMessage:function(k){b.one("#richText-errors-"+this.id).setContent(k).show();
},isPanelVisible:function(k){return !!(k&&k.cfg.getProperty("visible"));},displayNone:function(l){var k=b.one("#"+l+this.id);
if(k){k.setStyle("display","none");}else{b.log("cannot find element "+l+this.id);}},display:function(m,l){l=l||"block";
var k=b.one("#"+m+this.id);if(k){k.setStyle("display",l);}},makeVisible:function(l){var k=b.one("#"+l+this.id);
if(k){k.setStyle("visibility","visible");}},filterText:function(k){return k.replace(c.RE.unknownChar,"").replace(c.RE.smartDouble,'"').replace(c.RE.smartSingle,"'");
},filterImages:function(k){if(this.allowImages===false){b.log("BEFORE filterImages:\n"+k,h,this);var l=/(<|&lt;)img([^>]*)(>|&gt;)/gi;
if(l.test(k)){k=k.replace(l,"");this.editor.editorDirty=true;}b.log("AFTER filterImages: \n"+k,h,this);
}return k;},cleanPasteContent:function(k){k=k.replace(/<o:p>\s*<\/o:p>/g,"");k=k.replace(/<o:p>[\s\S]*?<\/o:p>/g,"&nbsp;");
k=k.replace(/\s*mso-[^:]+:[^;"]+;?/gi,"");k=k.replace(/\s*MARGIN: 0cm 0cm 0pt\s*;/gi,"");k=k.replace(/\s*MARGIN: 0cm 0cm 0pt\s*"/gi,'"');
k=k.replace(/\s*TEXT-INDENT: 0cm\s*;/gi,"");k=k.replace(/\s*TEXT-INDENT: 0cm\s*"/gi,'"');k=k.replace(/\s*TEXT-ALIGN: [^\s;]+;?"/gi,'"');
k=k.replace(/\s*PAGE-BREAK-BEFORE: [^\s;]+;?"/gi,'"');k=k.replace(/\s*FONT-VARIANT: [^\s;]+;?"/gi,'"');
k=k.replace(/\s*tab-stops:[^;"]*;?/gi,"");k=k.replace(/\s*tab-stops:[^"]*/gi,"");k=k.replace(/\s*face="[^"]*"/gi,"");
k=k.replace(/\s*face=[^ >]*/gi,"");k=k.replace(/\s*FONT-FAMILY:[^;"]*;?/gi,"");k=k.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");
k=k.replace(/<(\w[^>]*) style="([^\"]*)"([^>]*)/gi,"<$1$3");k=k.replace(/<STYLE[^>]*>[\s\S]*?<\/STYLE[^>]*>/gi,"");
k=k.replace(/<(?:META|LINK)[^>]*>\s*/gi,"");k=k.replace(/\s*style="\s*"/gi,"");k=k.replace(/<SPAN\s*[^>]*>\s*&nbsp;\s*<\/SPAN>/gi,"&nbsp;");
k=k.replace(/<SPAN\s*[^>]*><\/SPAN>/gi,"");k=k.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");
k=k.replace(/<SPAN\s*>([\s\S]*?)<\/SPAN>/gi,"$1");k=k.replace(/<FONT\s*>([\s\S]*?)<\/FONT>/gi,"$1");k=k.replace(/<\\?\?xml[^>]*>/gi,"");
k=k.replace(/<w:[^>]*>[\s\S]*?<\/w:[^>]*>/gi,"");k=k.replace(/<\/?\w+:[^>]*>/gi,"");k=k.replace(/<\!--[\s\S]*?-->/g,"");
k=k.replace(/<(U|I|STRIKE)>&nbsp;<\/\1>/g,"&nbsp;");k=k.replace(/<H\d>\s*<\/H\d>/gi,"");k=k.replace(/<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none[\s\S]*?<\/\1>/ig,"");
k=k.replace(/<(\w[^>]*) language=([^ |>]*)([^>]*)/gi,"<$1$3");k=k.replace(/<(\w[^>]*) onmouseover="([^\"]*)"([^>]*)/gi,"<$1$3");
k=k.replace(/<(\w[^>]*) onmouseout="([^\"]*)"([^>]*)/gi,"<$1$3");k=k.replace(/<H1([^>]*)>/gi,'<div$1><b><font size="6">');
k=k.replace(/<H2([^>]*)>/gi,'<div$1><b><font size="5">');k=k.replace(/<H3([^>]*)>/gi,'<div$1><b><font size="4">');
k=k.replace(/<H4([^>]*)>/gi,'<div$1><b><font size="3">');k=k.replace(/<H5([^>]*)>/gi,'<div$1><b><font size="2">');
k=k.replace(/<H6([^>]*)>/gi,'<div$1><b><font size="1">');k=k.replace(/<\/H\d>/gi,"</font></b></div>");
var l=new RegExp("(<P)([^>]*>[\\s\\S]*?)(</P>)","gi");k=k.replace(l,"<div$2</div>");k=k.replace(/<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g,"");
k=k.replace(/<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g,"");k=k.replace(/<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g,"");var m=new RegExp("["+String.fromCharCode(8220)+String.fromCharCode(8221)+"]","g");
k=k.replace(m,'"');return k;}};e.RichTextEditor=c;e.RichTextManager=(function(){var k={};function l(m){k[m.id]=m;
return m;}return{getEditor:function(m){return k[m]||null;},addEditors:function(m){b.log("deprecated, use addEditor",f,g);
return l(m);},addEditor:function(m){var n=new e.RichTextEditor(m);return l(n);}};}());},"3.1.0",{requires:["event-key","querystring-parse-simple","querystring-stringify-simple","zillow-image-upload-manager","zillow-node-methods","legacy-subscriber","yui2-yahoo-dom-event","yui2-container","yui2-element"]});
YUI.add("email-a-friend-mgr",function(f){var g=null,j=null,d=null,c=5,h=2000,b=null,w=null,m=null,t=null,s=null,l="#email-alerts-menu",i="value",e="default-text",u=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,y=new f.Z.SessionBeacon({idKey:"hdsdt",url:"/ajax/homedetail/HomeDetailSaveSessionState.htm"});
function x(z){this.SUBMITBUTTON=z.one("button.primary").removeClass("show");this.DUMMY=z.one("a.button-disabled");
}x.prototype={enable:function(){this.DUMMY.hide();this.SUBMITBUTTON.show();},disable:function(){this.DUMMY.show();
this.SUBMITBUTTON.hide();}};function k(z){this.emailFormWrapper=z;this.submitButton=new x(z);}k.prototype={hideAllErrors:function(){this.emailFormWrapper.all(".error").hide();
}};function q(B,E,z,D,A,C){this.el=B.addClass(e)||null;this.valid=true;this.maxlength=A||null;this.defaultValue=z||"";
this.errorEl=E||null;this.required=D||false;}q.prototype={constructor:q.prototype.constructor,hasEmptyValue:function(){return f.Lang.trim(this.el.get(i)).length===0;
},hasDefaultValue:function(){return this.el.get(i)===this.defaultValue;},isRequired:function(){return this.required;
},checkMaxLength:function(){if(this.el.get(i).length>this.maxlength){this.errorEl.show();return false;
}return true;},checkRequired:function(){if(this.isRequired()){if(this.hasEmptyValue()||this.hasDefaultValue()){this.errorEl.show();
return false;}}return true;}};function p(z){y.save("eafra",z);}function a(A){var E=A.el.get(i).split(/\s*,\s*|\s*;\s*/),D=Math.min(E.length,c),B,C=0;
for(;C<D;C++){B=E[C];if(B.length!==0){if(!u.test(B)){A.errorEl.show();return false;}}}if((E.length>c)){var z=f.Lang.trim(E[c]);
if(z.length===0){return true;}if(/[\w]+/.test(z)){A.errorEl.show();return false;}}return true;}function v(B,A){var z=B.currentTarget;
if(A.hasEmptyValue()&&A.defaultValue!==""){z.set(i,A.defaultValue);z.addClass(e);}else{if(A.hasDefaultValue()){z.set(i,"");
z.removeClass(e);}}}function n(A,z){v(A,z);if(!z.valid){if(z===w){z.valid=z.checkRequired();}else{if(z===b||z===m){z.valid=z.checkRequired()&&a(z);
}else{if(z===t){z.valid=z.checkMaxLength();}}}if(z.valid){z.errorEl.hide();}}}function r(z){f.each(z,function(A){A.el.on("blur",n,this,A);
A.el.on("focus",v,this,A);},this);}var o={validateForm:function(z){j.hideAllErrors();if(s!==null){d.one("#eplink").set(i,s);
}b.valid=b.checkRequired()&&a(b);w.valid=w.checkRequired();m.valid=m.checkRequired()&&a(m);t.valid=t.checkMaxLength();
if(b.valid&&w.valid&&m.valid&&t.valid){g.config.addParams={remail:b.el.get(i),sname:w.el.get(i),semail:m.el.get(i),smsg:t.el.get(i),sts:d.one("#sts").get("checked"),eplink:d.one("#eplink").get(i)};
j.submitButton.disable();g.doChange(z);}else{z.halt();return false;}},init:function(E,B,z){s=z;if(g===null){g=new LightboxAjaxDialog("email-a-friend",null,{onSubmit:this.validateForm});
var D=g.lightbox.dialog;if(!D._node){D=f.one(D);}D.setStyle("top","50px");D.addClass("email-a-friend");
}g.confirm();if(B){f.fire("trackLink",{category:"Share",action:"Send to Friend"});}if(f.one(".emailafriend-lightbox")!==null){d=f.one(".emailafriend-lightbox form");
j=new k(d);j.submitButton.enable();var F=d.one("#remail"),C=d.one("#sname"),G=d.one("#semail"),A=d.one("#smsg");
if(!E){F.set(i,"Up to 5 recipient e-mails");}else{if(f.one(l)){F.set(i,f.one(l).one(".default-email-ids").get("text"));
}else{if(f.one(".default-email-ids")){F.set(i,f.one(".default-email-ids").get("text"));}}}b=new q(F,d.one(".remail-error"),"Up to 5 recipient e-mails",true);
w=new q(C,d.one(".sname-error"),"John Doe",true);m=new q(G,d.one(".semail-error"),"Your e-mail",true);
t=new q(A,d.one(".smsg-error"),A.get(i),false,h);r([b,w,m,t]);if(m.defaultValue!==G.get(i)){m.el.removeClass(e);
}if(E&&b.defaultValue!==G.get(i)){b.el.removeClass(e);}}},handleSuccess:function(){var z=b.el.get(i),A=f.one(l);
if(A){A.one(".default-email-ids").set("text",z);if(A.one(".default-ids")){A.one(".default-ids").show();
}}p(z);}};f.namespace("Z").EmailAFriendMgr=o;f.config.win.EmailAFriendManager=o;},"3.3.0",{requires:["zillow-session-beacon","zillow-node-methods","zillow-link-tracking","legacy-lightbox"]});
YUI.add("share-on-facebook",function(d){var a=new d.Z.ShareOn.Base({selector:".fb_share",shareURL:"http://www.facebook.com/sharer.php?",trackingEvent:"event21",trackingId:"Share on Facebook"});
function c(e,g,f){a.share({u:e,t:g,src:f});}function b(g){var f=g.node;c(f.getAttribute("href"),f.getAttribute("shareMessage")||d.config.doc.title,"sp");
}a.doShare=c;a.on("share",b);d.Z.ShareOn.Facebook=a;},"3.3.0",{requires:["share-on-base"]});
YUI.add("share-on-twitter",function(b){function a(c){c.target.share({status:c.node.getAttribute("longdesc")});
}b.Z.ShareOn.Twitter=new b.Z.ShareOn.Base({selector:".share-on-twitter",shareURL:"http://twitter.com/home?",trackingEvent:"event31",trackingId:"Share on Twitter",on:{share:a}});
},"3.3.0",{requires:["share-on-base"]});
YUI.add("share-on-base",function(b){function a(c){a.superclass.constructor.apply(this,arguments);}b.namespace("Z.ShareOn")["Base"]=b.extend(a,b.Base,{initializer:function(c){this.publish("share",{emitFacade:true,defaultFn:this._trackShare,preventable:false});
b.on("load",b.bind(this._onLoad,this));},share:function(d){var c=this.get("shareURL")+b.QueryString.stringify(d);
b.config.win.open(c,this.get("windowName"),this.get("windowConfig"));},_onLoad:function(){var c=this.get("selector");
if(c){b.all(c).on("click",this._onClick,this);}},_onClick:function(c){c.halt();this.fire("share",{node:c.target});
},_trackShare:function(g){var d=g.node,c=d.getAttribute("location"),f={events:this.get("trackingEvent")};
if(c){f.eVar4=c;}b.fire("trackLink",{category:"Share",action:this.get("trackingEvent"),label:c});}},{NAME:"shareOn",ATTRS:{selector:{validator:b.Lang.isString},shareURL:{value:""},trackingEvent:{value:""},trackingId:{value:""},windowName:{value:"sharer"},windowConfig:{value:"toolbar=0,status=0,width=626,height=436"}}});
},"3.3.0",{requires:["base-base","node-base","querystring-stringify-simple","zillow-link-tracking"]});
YUI.add("social-sharing",function(){},"3.3.0",{use:["share-on-base","share-on-facebook","share-on-twitter"]});
YUI.add("profile-aboutme-manager",function(g){var c=g.config.win;function b(l){var j=g.one("#profile-aboutme-viewRegion"),i=g.one("#profile-aboutme-editRegion");
if(l){j.hide();i.show();g.one("#throbber").hide();try{g.Z.RichTextManager.getEditor("aboutMeTextArea").edit();
}catch(k){g.log(k.message,"error");}}else{i.hide();j.show();}}c.toggleEdit=b;function e(o,i,k){var n=i.responseXML.getElementsByTagName("Response")[0],m=n.getElementsByTagName("div"),l=m[1],j=m[2];
if(!l.firstChild){l=g.one("#empty-aboutme").getContent();j="";}else{l=l.firstChild.nodeValue;j=j.firstChild.nodeValue;
}g.one("#profile-aboutme-content").setContent(l);this.saveSuccessful(l,j);}function f(m,i,j){var l=i.responseXML.getElementsByTagName("Response")[0],k=l.getElementsByTagName("div")[0].firstChild.nodeValue;
this.saveFailed(k);g.one("#throbber").hide();}function a(j,i){if(!i){this.saveSuccessful();g.log("no changes made!");
return;}g.one("#throbber").show();g.io("/user/ProfileSaveContent.htm",{method:"POST",context:this,data:{saveType:"aboutMe",saveValue:j,contextid:this.contextId},"arguments":{saved:j},on:{success:e,failure:f}});
}g.on("editor:loaded",function h(i){var j=i.id;if(j!=="aboutMeTextArea"){return;}g.log("loaded aboutMeTextArea","info","ProfileAboutMeManager");
i.onSave.subscribe(a,i);i.bindAnchorActions();i.doCloseEditor=function(){g.one("#throbber").hide();b(false);
};i.doEdit=function(){i.focusEditor(true);};});function d(i){var k="hide",j="show";g.all("#wikicontribution-expand, #collapseWikiLink")[i?k:j]();
g.one("#expandWikiLink")[i?j:k]();return false;}c.toggleWikiContributions=d;},"3.3.0",{requires:["zillow-node-methods","io-base","querystring-stringify-simple"],optional:["zillow-richtexteditor"]});
var Review=(function(){var b="review_";var d="rebuttal_";var m="rebuttalToggleArea_";var c="respondLink_";
var n="displayButton_";var g="delete_";var e="deleteReviewLink_";var l="respondForm_";var k="submitButton_";
var f="cancelButton_";var j="response_";var i="params_";var a="rebuttalText_";function h(o,p){var q=o.id;
return q.replace(p,"");}return{respond:function(p){var o=h(p,c);Element.show(d+o);Element.show(l+o);Element.hide(c+o);
$(a+o).innerHTML="";},submit:function(q){var o=h(q,k);var s=s||$(i+o).value;var p=$Y.QueryString.stringify({rebuttal:$(j+o).value,type:1});
p=p+"&"+s;var r=document.forms[l+o];$Y.io(r.action+"?"+p,{method:"GET",on:{success:function(x,t){try{var w=t.responseText.replace(/<!--.*$/,"");
var v=$Y.JSON.parse(w);if(v.error){throw new Error(v.error);}$(a+o).innerHTML=$(j+o).value;Element.hide(l+o);
Element.show(g+o);Element.show(n+o);}catch(u){alert(u.message);}},failure:function(u,t){$(a+o).innerHTML="There was a problem.";
}}});},cancel:function(o){var p=h(o,f);Element.hide(d+p);Element.show(c+p);},remove:function(q,r){var o;
if(r==3){o=h(q,e);}else{o=h(q,g);}var t=t||$(i+o).value;var p=$Y.QueryString.stringify({rebuttal:"",type:r});
p=p+"&"+t;var s=document.forms[l+o];$Y.io(s.action+"?"+p,{method:"GET",on:{success:function(v,u){$(a+o).innerHTML="Your response was deleted.";
Element.hide(g+o);Element.hide(l+o);Element.show(c+o);Element.hide(n+o);if(r==3){Element.hide(b+o);}},failure:function(v,u){$(a+o).innerHTML="There was a problem.";
Element.hide(l+o);}}});},toggleRebuttal:function(p){var o=h(p,n);Element.toggle(m+o);var q=$Y.one(p);
if(q.hasClass("contracted")){q.replaceClass("contracted","expanded");}else{q.replaceClass("expanded","contracted");
}},deleteReview:function(o){alert("here, let me get that for you");}};})();
var NextStepsContactFormManager=function(){var b;var a;return{setupMobileForm:function(){NextStepsFormFactory.create("#next-steps-inline-form",false,true);
},setupForm:function(c){NextStepsFormFactory.create(c,false,false);},setupLightboxForm:function(){var c=$Y.one("#next-steps-lightbox");
a=c.one(".background");b=NextStepsFormFactory.create(c,true,false);c.all("a.close, .cancel-button").on("click",NextStepsContactFormManager.hideLightbox);
$Y.on("key",function(f){f.halt();},c,"down:13");var d=c.one("div.phone");if(d){d.delegate("keypress",function(f){if(f.keyCode>90){f.halt();
}},"input");}},trackLenderWebsiteClick:function(c,d){b.updateActionLocation(c);if(d){b.updateReferenceData(d);
}b.trackWebsiteClick();},showLightbox:function(c,d){b.updateActionLocation(c);if(d){b.updateReferenceData(d);
}$Y.one("body").addClass("lightboxed");b.show();if($Y.UA.ie&&$Y.UA.ie==6){window.scroll(0,0);a.setStyles({width:$Y.DOM.docWidth(),height:$Y.DOM.docHeight()});
}log("show lightbox");},hideLightbox:function(c){if(c){c.halt();}$Y.one("body").removeClass("lightboxed");
b.hide();}};}();var NextStepsFormFactory=(function(){function d(p){return $Y.one(p).one("div").get("hiddenBlockJSON");
}function k(p){$Y.Object.each(p,function(q){if(q){q.hide();}});}function c(p,q){p.hide("fadeOut",{delay:(q||2)});
}function e(t,r,x,v,w,q){var u=t.target;var p=u.ancestor("li");r.removeClass("selected");p.addClass("selected");
if(x.hasClass("default")||x.get("value").length<2){var s=p.one(".hide");log("Hidden Element Content: ",s._node.innerHTML);
if(s.hasClass("custom")){w.set("innerHTML",s.get("innerHTML"));q.setStyle("visibility","hidden");x.hide();
v.hide();w.show();}else{x.set("value",s.get("innerHTML"));w.hide();x.show();v.show();q.setStyle("visibility","visible");
}x.addClass("default");}}function b(H,M,x,q,y,A,D,L,u,p,G,z,v,J,K,F,w,E,C,B){H.halt();var N=H.target;
if(N.hasClass("disabled")||N.ancestor(".disabled")!==null){return;}var r=q.one("p.message-error-container");
if((D.hasClass("default")&&!D.hasClass("mobile-default"))||D.get("value").length<5){r.set("text","Please fill in a note to the lender (5 character minimum).");
r.removeClass("hide");return;}var t=q.all("input.required").some(function(O){if(O.get("value")==""||O.hasClass("placeholder")){q.one("p.error").set("text","Please fill out all form fields.").show();
return true;}});if(t===true){return;}if(G&&G.isInProgress()){return;}k(L);var I=d(x);var s=f(M,I,y,A,D,z,v,J,K,F,w,E,C);
G=$Y.io(s,{on:{success:function(P,O){l(O,L,u,p,I,M,s,q,B);},failure:function(){o(L,u);}}});}function f(p,B,u,r,x,D,y,s,E,q,t,w,F){var v={};
v.m=x.get("value");v.ea=r.get("value");v.eli=B.requiredData.encodedProfessionalId;if(D){v.n=D.get("value");
}if(y){v.fn=y.get("value");}if(s){v.ln=s.get("value");}if(E){v.fp=E.get("value");}if(q){v.ac=q.get("value");
}if(t){v.p=t.get("value");}if(w){v.pn=w.get("value");}if(F){v.e=F.get("value");}var A=p.submitConfig,C=A.submitUrlParams;
if(C){$Y.Object.each(C,function(H,G){var I=B.additionalData[H];if(I){v[G]=I;}});}var z=A.submitUrl+"?"+$Y.QueryString.stringify(v);
log("submit url",z);return z;}function l(s,y,v,u,x,p,q,r,t){var z=$Y.JSON.parse(s.responseText);log(z,y,v,u);
if(z.success){if(u){u.show();if(v!==null){v.hide();}else{c(u,4);}}(new Image()).src="http://ad.yieldmanager.com/pixel?id=1184480&id=1184481&t=2";
if(t==false){g(q,r,x.trackingConfig,z);}else{var w=a(r);if(!w){w="unknown";}window.location.href="zillow://analytics/event/contact/email/"+w+"/1";
}}else{if(z.errors){if(z.errors.ea){y.addressError.set("text",z.errors.ea);y.addressError.show();}if(z.errors.m){y.messageError.set("text",z.errors.m);
y.messageError.show();}if(z.errors.fn){y.nameError.set("text",z.errors.fn);y.nameError.show();}if(z.errors.pn){y.phoneError.set("text",z.errors.pn);
y.phoneError.show();}}else{y.genericError.show();c(y.genericError,4);}}}function o(p,q){p.genericError.show();
c(p.genericError,4);}function j(q){var p=q.target;if(p.hasClass("default")&&!p.hasClass("mobile-default")){p.set("value","");
p.removeClass("default");}if(q.keyCode==27){q.halt();}}function n(r,p){var q={events:"event36",eVar4:a(r)};
if(p){i(q,p);}trackLink({category:"Mortgages",action:"ZMM Lender - website click",label:a(r)});(new Image()).src="http://ad.yieldmanager.com/pixel?id=1184478&id=1184479&t=2";
}function h(r,p){var q={events:"event27",eVar4:a(r)};if(p){i(q,p);}trackLink({category:"Mortgages",action:"ZMM Contact - lightbox show",label:a(r)});
}function g(p,q,w,r){var s={events:"event28",eVar4:a(q),eVar6:r.type};if(w){i(s,w);}var v=a(q);var u={category:"Mortgages",action:"ZMM Contact - form submit",label:v};
var t=$Y.one("#analytics-block");if(t){var x=t.get("hiddenBlockJSON");u.value=x.price;}trackLink(u);}function i(q,p){q.eVar21=m(p.so,p.sa);
q.eVar22=p.qp;q.eVar23=p.rs;q.eVar24=p.li;q.eVar25=p.lr;}function m(p,q){return q?p+"-asc":p+"-dsc";}function a(p){return $Y.Lang.trim(p.one(".action-location").get("innerHTML"));
}return{create:function(p,A,I){log("create form wrapper",p);p=$Y.one(p);var Q=p.one(".emailAddress");
var F=p.one("textarea");var J=p.one(".textarea-heading");var T=p.one(".custom-action-area");var S=p.one(".submit-area");
var w=p.one(".name");var W=p.one(".fname");var D=p.one(".lname");var O=p.one(".fullPhone");var r=p.one(".areaCode");
var P=p.one(".prefix");var s=p.one(".phoneNumber");var E=p.one(".extension");var H=p.one(".signature-area");
var U=p.one(".external-link-option"),G,Z;if(U){G=U.one("a.external-link");Z=U.one("input.external-link");
}var x=p.one(".default-selection");var v,t;if(A){v=p.one(".entry-area");t=p.one(".success-area");}else{v=null;
t=p.one(".next-steps-success-message");}var q={success:p.one(".next-steps-success-message"),messageError:p.one(".message-error-container"),nameError:p.one(".name-error-container"),phoneError:p.one(".phone-error-container"),addressError:p.one(".emailAddress-error-container"),genericError:p.one(".generic-error-container"),generalValidationError:p.one(".general-validation-error-container")};
var N=p.all("ul.radio-buttons li");var V=function(ab){e(ab,N,F,J,T,S);};var K=p.all(".radio-buttons li input");
K.on("click",V);K.some(function(ab){var ac=ab.ancestor("li");if(ac.hasClass("selected")){ab.set("checked",true);
return true;}});var z=null;var M=d(p.one(".submit-configuration"));var B=p.one(".reference-data");F.on("focus",j);
var X=function(ab){b(ab,M,B,p,N,Q,F,q,v,t,z,w,W,D,O,r,P,s,E,I);};p.one("button.submit-button").on("click",X);
p.on("submit",X);var y=p.one(".action-location");var Y=function(ab){y.set("innerHTML",ab);};var R=function(ab){var ac=document.createElement("div");
ac.className="hide";ac.appendChild(document.createComment($Y.one(ab).get("hiddenBlock")));B.innerHTML="";
B.appendChild(ac);log(d(B));};var aa=function(){p.hide();};var L=function(){k(q);v.show();t.hide();var ac=d(B),ag=ac.additionalData.signatureElementId;
if(ag&&$Y.one(ag)){H.set("innerHTML",$Y.one(ag).get("innerHTML"));}else{H.set("innerHTML","");}if(ac.requiredData.isExternalLinkAvailable){var af={};
for(var ad in M.externalLinkConfig.trackingUrlParams){var ae=M.externalLinkConfig.trackingUrlParams[ad];
var ab=ac.additionalData[ae];if(ab){af[ad]=ab;}else{af[ad]=ae;}}if(G){G.href=M.externalLinkConfig.trackingUrl+"?"+$Y.QueryString.stringify(af);
}if(U){U.show();}}else{if(Z&&Z.get("checked")){x.set("checked",true);}if(U){U.hide();}}if($Y.DOM.winHeight()<700){p.one(".dialog").setStyle("top","10px");
}p.show();setTimeout(function(){h(p,ac.trackingConfig);},250);};var u=function(){var ab=d(B);n(p,ab.trackingConfig);
};var C={updateActionLocation:Y,updateReferenceData:R,hide:aa,show:L,trackWebsiteClick:u};log("formCallbacks");
log(C);return C;}};}());
YUI.add("zillow-profile-review",function(c){var i=1,n=2,j=3;function e(p){if(!p){return null;}return c.one("#review-"+p);
}function o(q){if(!q){return null;}var p=e(q).one("input[name=requestUrl]"),r="";if(p){r=p.get("value");
}return r;}function f(){var q=c.config.win,p=q.location.href.split("?"),s=p[0],t,r;if(p.length>1){p[1]=p[1].replace("#","");
t=c.QueryString.parse(p[1]);r=s+"?"+c.QueryString.stringify(t);}else{r=q.location.href.replace("#","");
}c.log("currLoc :"+r);q.location=r;}function g(p,q){var s=e(p),r=null;if(!s){return;}r=s.one(".submission-error-messaging");
r.addClass("error").one(".message").setContent(q);r.show().transition({opacity:{value:0},delay:2},function(){this.hide();
this.setStyle("opacity",1);});}function m(q){var p=e(q),r=p.one(".rebuttal-form"),t=p.one(".response-container"),s=t.one(".response-text"),u=p.one(".edit-response");
r.hide();if(s.get("text")===null||c.Lang.trim(s.get("text"))===""){t.hide();p.one(".respond-review").show();
if(u){u.hide();}p.one(".delete-response").hide();}else{t.show();p.one(".respond-review").hide();if(u){u.show();
}p.one(".delete-response").show();}}function b(r){var p=e(r.getAttribute("reviewid")),s=p.one(".rebuttal-form"),q=s.one(".response-input-text"),t=p.one(".response-container");
r.hide();if(r.hasClass("edit-response")){p.one(".delete-response").hide();}t.hide();s.show();if(c.Plugin.AttrPlaceholder.SUPPORTED===false){q.focus();
q.blur();}}function a(p){p.halt();b(p.currentTarget);}function h(t){t.halt();if(!confirm("Are you sure you want to delete this response?")){return;
}var u=t.currentTarget,q=u.getAttribute("reviewid"),p=e(q),r=p.one(".rebuttal-form .response-input-text"),s={};
s={reviewId:q,updateType:n};c.io(o(q),{data:s,on:{success:function(y,v){var x;try{x=c.JSON.parse(v.responseText);
}catch(w){g(q,"Your response could not be deleted. Please try again later.");c.log("Couldn't parse json response - "+w,"error","ProfileReview.deleteResponse");
return;}if(!x){g(q,"Your response could not be deleted. Please try again later.");return;}else{if(x.error){g(q,x.error);
return;}}p.one(".response-container .response-text").setContent("");r.set("value","");m(q);},failure:function(w,v){g(q,"Your response could not be deleted. Please try again later.");
}}});}function l(s){var p=s.currentTarget.getAttribute("reviewid"),w=e(p),v=w.one(".rebuttal-form"),x=v.one(".response-input-text"),q=x.get("value"),t=w.one(".response-container"),u=t.one(".response-text"),r={};
if(q!==null&&c.Lang.trim(q)!==""&&c.Lang.trim(q)!==x.getAttribute("placeholder")&&c.Lang.trim(q).length<=1000){r={reviewId:p,updateType:i,rebuttal:c.Lang.trim(q)};
c.io(o(p),{method:"POST",data:r,on:{success:function(B,y){var z;try{z=c.JSON.parse(y.responseText);}catch(A){g(p,"Your response could not be submitted. Please try again later.");
c.log("Couldn't parse json response - "+A,"error","ProfileReview.submit");return;}if(!z){g(p,"Your response could not be submitted. Please try again later.");
return;}else{if(z.error){g(p,z.error);return;}}u.set("text",q);m(p);},failure:function(z,y){g(p,"Your response could not be submitted. Please try again later.");
}}});}else{if(c.Lang.trim(q).length>1000){g(p,"Your response can not be more then 1000 characters.");
}else{g(p,"Your response can not be blank. Please enter some text.");}}}function d(s){s.halt();if(!confirm("Are you sure you want to delete this review?")){return;
}var q=s.currentTarget.getAttribute("reviewid"),p=e(q),r={};r={reviewId:q,updateType:j};c.io(o(q),{data:r,on:{success:function(w,t){var v;
try{v=c.JSON.parse(t.responseText);if(!v){g(q,"Your review could not be deleted. Please try again later.");
return;}if(v.error){g(q,v.error);return;}p.transition("fadeOut",{delay:0.5},function(){this.remove();
});}catch(u){g(q,"Your review could not be deleted. Please try again later.");c.log("Couldn't parse json response - "+u,"error","ProfileReview.deleteReview");
return;}},failure:function(u,t){g(q,"Your review could not be deleted. Please try again later.");}}});
}function k(r){r.halt();var t=r.currentTarget,q=t.getAttribute("reviewid"),s=t.getAttribute("statusid"),p=e(q);
c.io("/ajax/profiles/UpdateReviewModerationStatus.htm",{data:{reviewId:q,statusId:s},on:{success:function(x,u){var w;
try{w=c.JSON.parse(u.responseText);if(!w){g(q,"Review could not be queued for 2nd opinion. Please try again later.");
return;}if(w.error){g(q,w.error.message);return;}p.transition("fadeOut",{delay:0.5},function(){this.remove();
});f();}catch(v){g(q,"Review could not be queued for 2nd opinion. Please try again later.");c.log("Couldn't parse json response - "+v,"error","ProfileReview.moderateReview");
return;}},failure:function(v,u){g(q,"Review could not be queued for 2nd opinion. Please try again later.");
}}});}c.namespace("Z").ProfileReview=c.Base.create("profileReview",c.Widget,[],{CONTENT_TEMPLATE:null,initializer:function(){c.on("load",c.bind(this.render,this));
},bindUI:function(){var q=this.get("boundingBox");q.all(".respond-review, .edit-response").on("click",a);
q.all(".delete-response").on("click",h);q.all(".delete-review").on("click",d);q.all(".second-opinion").on("click",k);
var p=q.one(".rebuttal-form");if(p){p.one("button.primary").on("click",l);p.one("button.cancel").on("click",function(r){m(r.currentTarget.getAttribute("reviewid"));
});}},syncUI:function(){this._respondToHash();},_respondToHash:function(){var s=this.get("boundingBox"),r=c.config.win.location.href.split("#"),p,q;
if(r.length>1){p=c.QueryString.parse(r[1]);if(p.hasOwnProperty("respond")){q=s.one(".rebuttal a.respond-review");
if(q&&!q.hasClass("hide")){b(q);return;}q=s.one(".rebuttal a.edit-response");if(q&&!q.hasClass("hide")){b(q);
}}}}},{ATTRS:{reviewId:{writeOnce:true},requestUrl:{}},HTML_PARSER:{reviewId:function(p){return p.get("id").replace("review-","");
},requestUrl:function(p){var r="",q=p.one("input[name=requestUrl]");if(q){r=q.get("value");}return r;
}}});},"3.3.0",{requires:["base-build","widget-uievents","widget-htmlparser","html5-attr-placeholder","zillow-hash-reader","node-event-simulate","querystring-parse-simple","querystring-stringify-simple","io-base","json-parse"]});
(function(){var b={defaultFilterId:1,defaultSortId:4};function a(){$Y.on("contentready",this.init,"#c-column",this);
}a.prototype={constructor:a.prototype.constructor,toString:function(){return"[ProfileTemplate]";},onSortChange:function(g){var d=this.currentURL.split("?");
var f=parseInt($Y.one("#reviews-filters").get("value"),10);var c=parseInt($Y.one("#reviews-sorts").get("value"),10);
d[1]=$Y.QueryString.stringify({s1:f,s2:c});d[0]=d[0].replace(/\/$/,"");d=d.join("?");window.location=d;
},init:function(){this.currentURL=$Y.Lang.trim($Y.one("#reviews-current-url").get("hiddenBlock"));$Y.one("#reviews-filters").on("change",this.onSortChange,this,true);
$Y.one("#reviews-sorts").on("change",this.onSortChange,this,true);}};ZILLOW.namespace("module.Review").Browse=a;
})();

