//Suckerfish (actually sons of suckerfish) dropdowns
//See: http://www.htmldog.com/articles/suckerfish/dropdowns/

sfHover = function()
{
	if(document.getElementById("nav") != null)
	{
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		if(sfEls != null)
		{
			for (var i=0; i<sfEls.length; i++)
			{
				sfEls[i].onmouseover=function()
				{
					this.className+=" sfhover";
				}
				
				sfEls[i].onmouseout=function()
				{
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);

$(document).ready(function () {
   var updateCharCounter = function(input, counter) {
       var maxChars = Number(input.attr("chars"));
       var text = input.val();
       if (text.length > maxChars) {
           text = text.substring(0,maxChars);
           input.val(text);
           
       }
       counter.text(maxChars - text.length)       
   }
   var checkType = function(input, event) {
       var maxChars = Number(input.attr("chars"));
       var text = input.val();
       if (text.length >= maxChars && (event.which == 32 || event.which >= 48)) {           
           event.stopPropagation();
           event.preventDefault();
           return false;
       }
   }
   $("input.charcounter, textarea.charcounter").each(function(index, el) {
       var input = $(el);
       var counter = $("<span class='char-counter'>" + input.attr("chars") + "</span>");
       input.after(counter);
       input.keydown(function(e){checkType(input,e)});
       input.keyup(function(){updateCharCounter(input,counter)});
       input.change(function(){updateCharCounter(input,counter)});
       updateCharCounter(input,counter);
   });
});
