// * ©2004 - 2008 Firepepper *

function moretext(objid){
	if (document.getElementById(objid).style.display != "none"){
		document.getElementById(objid).style.display = "none"
		document.getElementById(objid+'-more').style.display = "inline"
		document.getElementById(objid+'-less').style.display = "none"
	}else{
		document.getElementById(objid).style.display = "inline"
		document.getElementById(objid+'-more').style.display = "none"
		document.getElementById(objid+'-less').style.display = "inline"
	}
}

function addbookmark(url,title){
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
		window.external.AddFavorite(url,title);
	}else if (navigator.appName == "Netscape"){
		window.sidebar.addPanel(title,url,"");
	}else{
		alert("Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark");
	}
}

var button = {
    init : function() {
    	//############ PNG Buttons Code ############
        if (!document.getElementById || !document.createElement || !document.appendChild) return false;
        as = button.getElementsByClassName('button(.*)');
        for (i=0; i<as.length; i++) {
            if ( as[i].tagName == "INPUT" && ( as[i].type.toLowerCase() == "submit" || as[i].type.toLowerCase() == "button" ) ) {
                var a1 = document.createElement("a");
                a1.appendChild(document.createTextNode(as[i].value));
                a1.className = as[i].className;
                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 == "A") {
                var tt = as[i].childNodes;
            }
            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);
            while (as[i].firstChild) {
              s1.appendChild(as[i].firstChild);
            }
            as[i].appendChild(s1);
            as[i] = as[i].insertBefore(i2, s1);
        }
        // The following lines submits the form if the button id is "submit_button"
	if (document.getElementById('submit_button')){
        	button.addEvent(document.getElementById('submit_button'),'click',function() {
			var form = button.findForm(this);
			form.submit();
        	});
	};
	if (document.getElementById('submit_button2')){
        	button.addEvent(document.getElementById('submit_button2'),'click',function() {
			var form = button.findForm(this);
			form.submit();
        	});
	};
	if (document.getElementById('reset_button')){
		button.addEvent(document.getElementById('reset_button'),'click',function() {
			var form = button.findForm(this);
			form.reset();
        	});
       	};


       	//############ Pullquotes code ############
                // Check that the browser supports the methods used
                if (!document.getElementById || !document.createElement || !document.appendChild) return false;
                var oElement, oPullquote, oPullquoteP, oQuoteContent, i, j;
                // Find all span elements with a class name of pullquote
                var arrElements = document.getElementsByTagName('span');
                var oRegExp = new RegExp("(^|\\s)pullquote(\\s|$)");
                for (i = 0; i < arrElements.length; i++) {
                // Save the current element
                oElement = arrElements[i];
                if (oRegExp.test(oElement.className)) {
                // Create the blockquote and p elements
                oPullquote = document.createElement('blockquote');
                oPullquote.className = oElement.className;
                oPullquoteP = document.createElement('p');
                // Insert the pullquote text
                for(j = 0; j < oElement.childNodes.length; j++) {
                oPullquoteP.appendChild( oElement.childNodes[j].cloneNode(true) );
                }
                oPullquote.appendChild(oPullquoteP);
                // Insert the blockquote element before the span element's parent element
                oElement.parentNode.parentNode.insertBefore( oPullquote,oElement.parentNode );
                }
                }

    },
    findForm : function(f) {
        while(f.tagName != "FORM") {
            f = f.parentNode;
        }
        return f;
    },
    addEvent : function(obj, type, fn) {
        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]);
        }
    },
    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;
    }

}

button.addEvent(window,'load', function() { button.init();} );