// alwaysBETA Javascript Rules

var aBrules = {
		// Create blognav sidebar box
		'div.inblognav' : function(element){
			var box = $('blognav-sidebox');
			if (!box) {
				// Create sidebar nav box if not already created
				var box  = document.createElement('div');
				box.setAttribute('id','blognav-sidebox');
				box.className = 'sidebox blognav';
				box.innerHTML = '<h3 id="blognav-header" class="top">&nbsp;Navigate Posts</h3><div class="blognavmenu"><ul id="blognav-menu"></ul></div>';
				element.parentNode.insertBefore(box, element);
				// Get icon to include if there is one
				var icon = $('blognav-icon');
				var h3 = $('blognav-header');
				if (icon && h3) { h3.insertBefore(icon, h3.firstChild); }
			}
			var menu = $('blognav-menu');
			var content = $('blognav-content');
			// Find menuDiv in this piece if possible
			var menuTypeList = new Array('Latest','Popular','Tags','Dates','Authors');
			var menuTypeIDList = new Array('blognav-latest','blognav-popular','blognav-tags','blognav-dates','blognav-authors');
			var menuDiv = null;
			for (var i=0; i<element.childNodes.length; i++) {
				cNode = element.childNodes.item(i);
				for (var j=0; j<menuTypeIDList.length; j++) {
					if (cNode.tagName == 'DIV' && cNode.id == menuTypeIDList[j]) {
						var menuTypeID = menuTypeIDList[j];
						var menuType = menuTypeList[j];
						var menuDiv = cNode;
						break;
					}
				}
				if (menuDiv) { break; }
			}
			if (!menuDiv) { return; }
			// Add found menuDiv to blognav box
			box.appendChild(menuDiv);
			menuDiv.anim = new fx.Height(menuDiv, {duration: 400});
			// Set up menu button
			var menuButton = document.createElement('li');
			menuButton.setAttribute('id',menuTypeID+'-button');
			var menuButtonLink = document.createElement('a');
			menuButtonLink.setAttribute('href','javascript:;');
			menuButtonLink.innerHTML = menuType;
			menuButtonLink.onclick = function() {
				var newmenu = this.parentNode;
				var newdiv = $('blognav-'+this.innerHTML.toLowerCase());
				var curdiv = $(newmenu.parentNode.currentDivID);
				var curmenu = $(newmenu.parentNode.currentDivID+'-button');
				if (newmenu.parentNode.currentDivID == newdiv.id) { return; } // Handle click on active link
				newmenu.parentNode.currentDivID = newdiv.id;
				curdiv.className = '';
				curmenu.className = '';
				newdiv.className = 'current';
				newmenu.className = 'current';
				newdiv.parentNode.appendChild(newdiv); // Move newdiv so it always comes up from bottom.
				curdiv.anim.toggle();
				newdiv.anim.toggle();
			}
			menuButton.appendChild(menuButtonLink);
			menu.appendChild(menuButton);
			// Set up currently open div
			var menuDivCurrent = Element.hasClassName(menuDiv, 'current');
			if (menuDivCurrent) {
				menuButton.className = 'current';
				menu.currentDivID = menuTypeID;
			} else {
				menuDiv.anim.hide();
			}
			// Remove old nav boxes from document
			Element.remove(element);
		},
		// Search box rules for replacing default value
		'input#searchbox' : function(element){
			element.onfocus = function(){ if(this.value==this.defaultValue){this.value = '';} }
			element.onblur = function(){ if(this.value==''){this.value = this.defaultValue;} }
		}
	};
	
Behaviour.register(aBrules);
