var NavBar=Class.create(Widget,{widgetIdentifier:"com-apple-iweb-widget-NavBar",initialize:function($super,g,a,c,f,e,d){if(g){$super(g,a,c,f,e,d);if(!this.preferenceForKey("useStaticFeed")&&this.preferenceForKey("dotMacAccount")){var b=this.preferenceForKey("path-to-root");if(!b||b==""){b="./"}this.xml_feed=b+"?webdav-method=truthget&depth=infinity&ns=iweb&filterby=in-navbar"}else{this.xml_feed="feed.xml";if(this.sitePath){this.xml_feed=this.sitePath+"/"+this.xml_feed}}this.changedPreferenceForKey("navbar-css");this.regenerate()}},regenerate:function(){new Ajax.Request(this.xml_feed,{method:"get",onSuccess:this.populateNavItems.bind(this)});return true},getStyleElement:function(b){if(!this.styleElement){var a=document.getElementsByTagName("head")[0];if(a){var c=document.createElement("style");c.type="text/css";a.appendChild(c);this.styleElement=c}}return this.styleElement},substWidgetPath:function(b){var a=b.replace(/\$WIDGET_PATH/gm,this.widgetPath);return a},addCSSSelectorPrefix:function(b){var a="div#"+this.instanceID+" ";b=b.replace(/\/\*[^*]*\*+([^/][^*]*\*+)*\//gm,"");b=b.replace(/(^\s*|\}\s*)([^{]+)({[^}]*})/gm,function(d,j,g,h){var c=j;var f=g.split(",");for(var e=0;e<f.length;e++){c+=a+f[e];if(e+1<f.length){c+=","}}c+=h;return c});return b},changedPreferenceForKey:function(b){if(b=="navbar-css"){var d=this.preferenceForKey(b);if(!d){d=""}d=this.substWidgetPath(d);d=this.addCSSSelectorPrefix(d);var a=this.getStyleElement();if(a){if(!windowsInternetExplorer){var c=document.createTextNode(d);if(c){while(a.hasChildNodes()){a.removeChild(a.firstChild)}a.appendChild(c)}}else{a.styleSheet.cssText=d}}}},populateNavItems:function(l){var j;var k=ajaxGetDocumentElement(l);if(k){var e=this.getAtomFeedItems(k);var j=e.resultArray;var m=null;var q="NO";var c=null;if(this.runningInApp){c=/\.#current#.$/}else{m=this.preferenceForKey("current-page-GUID");q=this.preferenceForKey("isCollectionPage")}var i=this.div("navbar-list");var g=i.parentNode;$(g).ensureHasLayoutForIE();while(i.firstChild){i.removeChild(i.firstChild)}var b=this.preferenceForKey("path-to-root");if(!b||b==""){b="./"}for(var o=0;o<j.length;o++){var d=document.createElement("li");var f=document.createElement("a");var n=j[o].title;var p=j[o].GUID;n=n.replace(/ /g,"\u00a0")+" ";var a=j[o].url;if(!this.runningInApp&&!a.match(/^http:/i)){a=b+a}var h=this.runningInApp&&c.exec(unescape(new String(a)));if(h){a=a.replace(c,"")}if(p==m||h){d.className="current-page";if(!this.runningInApp&&q!="YES"){a=""}}else{d.className="noncurrent-page"}f.setAttribute("href",a);f.appendChild(document.createTextNode(n));d.appendChild(f);i.appendChild(d)}if(this.preferences&&this.preferences.postNotification){this.preferences.postNotification("BLWidgetIsSafeToDrawNotification",1)}}},getAtomFeedItems:function(b){var d=new Array;var n=new Array;if(b){var f="";var c=getFirstElementByTagName(b,"generator");if(c&&c.firstChild){f=allData(c)}var i,k;for(var a=b.firstChild;a;a=a.nextSibling){var m=null;if(!i&&(k=findChild(a,"site-navbar","urn:iweb:"))){i=allData(k).split(",");for(var h=0;h<i.length;h++){var l=i[h];n[""+l]=h}}if(a.nodeName=="entry"&&(m=findChild(a,"in-navbar","urn:iweb:"))){if(!m){continue}var l="";if(m.firstChild){l=""+allData(m)}else{iWLog("no navBarElt child")}if(l=="navbar-sort"){continue}var g="";var e=findChild(a,"title","urn:iweb:");if(!e){iWLog("No iWeb title");e=findChild(a,"title")}if(e&&e.firstChild){g=allData(e)}var j=getFirstElementByTagName(a,"link");url=j.getAttribute("href");if(!url&&linkElement.firstChild){url=allData(linkElement)}d[d.length]={title:g,url:url,GUID:l}}}}if(i){d=$(d).reject(function(o){return(n[o.GUID]===undefined)});d.sort(function(o,p){return n[o.GUID]-n[p.GUID]})}return{resultArray:d}},onload:function(){},onunload:function(){}});function findChild(a,e,b){var d;for(d=a.firstChild;d;d=d.nextSibling){if(d.localName==e||d.baseName==e){if(!b){return d}var c=d.namespaceURI;if(c==b){return d}}}return null}function getFirstElementByTagName(a,c){var b=a.getElementsByTagName(c);if(b.length){return b[0]}else{return findChild(a,c)}}function allData(a){a=a.firstChild;var b=a.data;while((a=a.nextSibling)){b+=a.data}return b};