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));

					//reset all tabs on start
					if (c) if (links[j].className.indexOf("active") != -1) c.style.display = "block";
					else c.style.display = "none";

					links[j].onclick = function ()
					{
						var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
						if (c)
						{
							//reset all tabs before change
							for (var i = 0; i < this.tabs.length; i++)
							{
								document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1)).style.display = "none";
								this.tabs[i].className = this.tabs[i].className.replace("active", "");
							}
							this.className += " active";
							c.style.display = "block";
							return false;
						}
					}
				}
			}
		}
	}
}

function initSubmit()
{
	var inputs = document.getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++)  {
		if (inputs[i].className == "button")  {
			inputs[i].onmouseover = function()
			{
				this.src = this.src.replace(".gif", "-hover.gif");
			}
			inputs[i].onmouseout = function()
			{
				this.src = this.src.replace("-hover.gif", ".gif");
			}
		}
	}
}

function initContactForm() {
	var _form = document.getElementById("contact-form");
	if(_form) {
		var _inputClass = 'validate-input';
		var _textClass = 'validate-text';
		var _errorClass = 'error';
		var _inputFields = [];
		var _textFields = [];

		// collect all inputs
		_inputs = _form.getElementsByTagName('input');
		for(var i in _inputs) {
			if(hasClass(_inputs[i],_inputClass)) _inputFields.push(_inputs[i]);
		}
		_texts = _form.getElementsByTagName('textarea');
		for(var i in _texts) {
			if(hasClass(_texts[i],_textClass)) _textFields.push(_texts[i]);
		}

		_form.onsubmit = function() {
			var _errors = false;

			// validate text fields
			for(var i in _inputFields) {
				if(!trim_str(_inputFields[i].value).length) {
					addClass(_inputFields[i].parentNode,_errorClass);
					_errors = true;
				} else {
					removeClass(_inputFields[i].parentNode,_errorClass);
				}
			}

			// validate textarea
			for(var i in _textFields) {
				if(!trim_str(_textFields[i].value).length) {
					addClass(_textFields[i].parentNode,_errorClass);
					_errors = true;
				} else {
					removeClass(_textFields[i].parentNode,_errorClass);
				}
			}

			if(_errors) {
				scroll(0,0);
				return false;
			}
		}
	}
}

function initNavTabs() {
	var _navSets = document.getElementsByTagName("div");
	for(var i=0; i<_navSets.length; i++) {
		if(hasClass(_navSets[i],"nav-tabs")) {
			(function(i){
				var _tabs = _navSets[i];
				var _currentIndex = 0;
				var _slides = [];
				var _slideCount;
				var _disabledClass = 'disabled';
				var _activeClass = 'active';
				var _btnPrev;
				var _btnNext;

				var _links = _tabs.getElementsByTagName("a");
				for(var j in _links) {
					if(hasClass(_links[j],'btn-prev')) _btnPrev = _links[j];
					if(hasClass(_links[j],'btn-next')) _btnNext = _links[j];
				}

				var _subdivs = _tabs.getElementsByTagName("div");
				for(var j in _subdivs) {
					if(hasClass(_subdivs[j],'tab')) _slides.push(_subdivs[j]);
				}
				_slideCount = _slides.length;

				_btnPrev.onclick = function() {
					if(_currentIndex > 0) {
						_currentIndex--;
						switchSlides();
					}
					return false;
				}
				_btnNext.onclick = function() {
					if(_currentIndex < _slideCount - 1) {
						_currentIndex++;
						switchSlides();
					}
					return false;
				}

				function switchSlides() {
					if(_currentIndex == 0) addClass(_btnPrev, _disabledClass);
					else removeClass(_btnPrev, _disabledClass);
					if(_currentIndex == _slideCount - 1) addClass(_btnNext, _disabledClass);
					else removeClass(_btnNext, _disabledClass);

					for(var j in _slides) {
						if(j==_currentIndex) addClass(_slides[j],_activeClass);
						else removeClass(_slides[j],_activeClass);
					}
				}

			})(i);
		}
	}
}

function initPage() {
	initTabs();
	initSubmit();
	initContactForm();
	initNavTabs();
}

function trim_str(str) {
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
function hasClass(obj,cname) {
	return (obj.className ? obj.className.match(new RegExp('(\\s|^)'+cname+'(\\s|$)')) : false);
}
function addClass(obj,cname) {
	if (!hasClass(obj,cname)) obj.className += " "+cname;
}
function removeClass(obj,cname) {
	if (hasClass(obj,cname)) obj.className=obj.className.replace(new RegExp('(\\s|^)'+cname+'(\\s|$)'),' ');
}

if (window.addEventListener) window.addEventListener("load", initPage, false);
else if (window.attachEvent) window.attachEvent("onload", initPage);
