// --------------------------------
// Cross-browser window-attachment.... 
// --------------------------------
var g_aSafeOnload = new Array();
function SafeAddOnload(f)
{
  if  (window.onload)
  {
    if (window.onload != SafeOnload)
    {
      g_aSafeOnload[0] = window.onload;
      window.onload = SafeOnload;
    }    
    g_aSafeOnload[g_aSafeOnload.length] = f;
  }
  else {
    window.onload = f;
  }
}
function SafeOnload()
{
  for (var i=0;i<g_aSafeOnload.length;i++)
    g_aSafeOnload[i]();
}


// --------------------------------
//// Suckerfish.........
// --------------------------------
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	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"), "");
		}
	}
}
SafeAddOnload(sfHover);






// --------------------------------
// Fancy Scalable buttons ....
// --------------------------------
var btn = {
    init : function() {
        if (!document.getElementById || !document.createElement || !document.appendChild) return false; 
        as = btn.getElementsByClassName('btn(.*)');
        for (i=0; i<as.length; i++) {
            if ( as[i].tagName.toLowerCase() == "input" && ( as[i].type.toLowerCase() == "submit" || as[i].type.toLowerCase() == "button" ) ) {
                var tt = document.createTextNode(as[i].value);
                var a1 = document.createElement("a");
                // a1.appendChild(document.createTextNode(as[i].value));
                a1.className = as[i].className;
                a1.tabIndex = as[i].tabIndex;
                a1.id = as[i].id;
                as[i] = as[i].parentNode.replaceChild(a1, as[i]);
                as[i] = a1;
                as[i].style.cursor = "pointer";
            }
            else if (as[i].tagName.toLowerCase() == "a") {
                var tt = as[i].firstChild;
            }
            else { return false };
            var i1 = document.createElement('i');
            var i2 = document.createElement('i');
            var s1 = document.createElement('span');
            var s2 = document.createElement('span');
            s1.appendChild(i1);
            s1.appendChild(s2);
            s1.appendChild(tt);
            as[i].appendChild(s1);
            as[i] = as[i].insertBefore(i2, s1);
        }
        // The following lines submits the form if the button id is "submit_btn"
        btn.addEvent(document.getElementById('submit_btn'),'click',function() {
            var form = btn.findForm(this);
            form.submit();
        });
        // The following lines resets the form if the button id is "reset_btn"
        btn.addEvent(document.getElementById('reset_btn'),'click',function() {
            var form = btn.findForm(this);
            form.reset();
        });
    },
    findForm : function(f) {
        while(f.tagName.toLowerCase() != "form") {
            f = f.parentNode;
        }
        return f;
    },
    addEvent : function(obj, type, fn) {
    	if (obj){
	        if (obj.addEventListener) {
	            obj.addEventListener(type, fn, false);
	        }
	        else if (obj.attachEvent) {
	            obj["e"+type+fn] = fn;
	            obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
	            obj.attachEvent("on"+type, obj[type+fn]);
	        }
    	} else {
    		
    	}
    },
    getElementsByClassName : function(className, tag, elm) {
        var testClass = new RegExp("(^|\s)" + className + "(\s|$)");
        var tag = tag || "*";
        var elm = elm || document;
        var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
        var returnElements = [];
        var current;
        var length = elements.length;
        for(var i=0; i<length; i++){
            current = elements[i];
            if(testClass.test(current.className)){
                returnElements.push(current);
            }
        }
        return returnElements;
    }
}

btn.addEvent(window,'load', function() { btn.init();} );
