function initPage() {
	initBrowserDetect()
	initTabs()
	clearFormFields({
		clearInputs: true,
		clearTextareas: true
	});
}
function clearFormFields(o) {
	if (o.clearInputs == null) o.clearInputs = true;
	if (o.clearTextareas == null) o.clearTextareas = true;
	if (o.passwordFieldText == null) o.passwordFieldText = false;
	if (o.addClassFocus == null) o.addClassFocus = false;
	if (!o.filterClass) o.filterClass = "default";
	if(o.clearInputs) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++ ) {
			if((inputs[i].type == "text" || inputs[i].type == "password") && inputs[i].className.indexOf(o.filterClass)) {
				inputs[i].valueHtml = inputs[i].value;
				inputs[i].onfocus = function ()	{
					if(this.valueHtml == this.value) this.value = "";
					if(this.fake) {
						inputsSwap(this, this.previousSibling);
						this.previousSibling.focus();
					}
					if(o.addClassFocus && !this.fake) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				inputs[i].onblur = function () {
					if(this.value == "") {
						this.value = this.valueHtml;
						if(o.passwordFieldText && this.type == "password") inputsSwap(this, this.nextSibling);
					}
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
				if(o.passwordFieldText && inputs[i].type == "password") {
					var fakeInput = document.createElement("input");
					fakeInput.type = "text";
					fakeInput.value = inputs[i].value;
					fakeInput.className = inputs[i].className;
					fakeInput.fake = true;
					inputs[i].parentNode.insertBefore(fakeInput, inputs[i].nextSibling);
					inputsSwap(inputs[i], null);
				}
			}
		}
	}
	if(o.clearTextareas) {
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i<textareas.length; i++) {
			if(textareas[i].className.indexOf(o.filterClass)) {
				textareas[i].valueHtml = textareas[i].value;
				textareas[i].onfocus = function() {
					if(this.value == this.valueHtml) this.value = "";
					if(o.addClassFocus) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				textareas[i].onblur = function() {
					if(this.value == "") this.value = this.valueHtml;
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
			}
		}
	}
	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}
function initBrowserDetect() {
	var u = navigator.userAgent.toLowerCase();
	var _html = document.getElementsByTagName("html")[0];
	
	if(is("win")) addClass("win");
	else if(is("mac")) addClass("mac");
	else if(is("linux") || is("x11")) addClass("linux");
	
	if(is("msie 8.0")) addClass("ie8");
	else if(is("msie 7.0")) addClass("ie7");
	else if(is("msie 6.0")) addClass("ie6");
	else if(is("firefox/2")) addClass("ff2");
	else if(is("firefox/3")) addClass("ff3");
	else if(is("opera") && is("version/10")) addClass("opera10");
	else if(is("opera/9")) addClass("opera9");
	else if(is("safari") && is("version/3")) addClass("safari3");
	else if(is("safari") && is("version/4")) addClass("safari4");
	else if(is("chrome")) addClass("chrome");
	else if(is("safari")) addClass("safari2");
	else if(is("unknown")) addClass("unknown");
	
	if(is("msie")) addClass("trident");
	else if(is("applewebkit")) addClass("webkit");
	else if(is("gecko")) addClass("gecko");
	else if(is("opera")) addClass("presto");
		
	function is(browser) {
		if(u.indexOf(browser) !=-1) return true;
	}
	function addClass(_class) {
		_html.className += (" " + _class);
	}
}
function initNav()
{
    var nav = document.getElementById("nav");
    if(nav)
    {
        var lis = nav.getElementsByTagName("li");
        for (var i=0; i<lis.length; i++)
        {
            lis[i].onmouseover = function()
            {
                this.className += " hover";
            }
            lis[i].onmouseout = function()
            {
                this.className = this.className.replace(" hover", "");
            }
        }
    }
}
function initTabs()
{
    var sets = document.getElementsByTagName("ul");
    for (var i = 0; i < sets.length; i++)
    {
        if (sets[i].className.indexOf("tabset") != -1)
        {
            var tabs = [];
            var links = sets[i].getElementsByTagName("a");
            for (var j = 0; j < links.length; j++)
            {
                if (links[j].className.indexOf("tab") != -1)
                {
                    tabs.push(links[j]);
                    links[j].tabs = tabs;
                    var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));
                    if (c)
                    {
                        if (links[j].className.indexOf("active") != -1)
                        {
                            c.style.position = "static";
                            c.style.top = "0px";
                        }
                        else
                        {
                            c.style.position = "absolute";
                            c.style.top = "-9999px";
                        }
                    }
                    links[j].onclick = function ()
                    {
                        var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
                        if (c)
                        {
                            for (var i = 0; i < this.tabs.length; i++)
                            {
                                var t = document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1));
                                t.style.position = "absolute";
                                t.style.top = "-9999px";
                                this.tabs[i].className = this.tabs[i].className.replace("active", "");
                            }
                            this.className += " active";
                            c.style.position = "static";
                            c.style.top = "0px";
                            return false;
                        }
                    }
                }
            }
        }
    }
}
if (window.addEventListener) 
	window.addEventListener("load", initPage, false);
else if (window.attachEvent) 
{
	window.attachEvent("onload", initPage);
	window.attachEvent("onload", initNav);
}
