function initPage()
{
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		addClassFocus: "focus",
		filterClass: "no-clear"
	});
	initOpenClose();
}
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) == -1) {
				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.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.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) == -1) {
				textareas[i].valueHtml = textareas[i].value;
				textareas[i].onfocus = function() {
					if(this.value == this.valueHtml) this.value = "";
					if(o.addClassFocus) {
						this.parentNode.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				textareas[i].onblur = function() {
					if(this.value == "") this.value = this.valueHtml;
					if(o.addClassFocus) {
						this.parentNode.parentNode.className = this.parentNode.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
			}
		}
	}
	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}

function initOpenClose(){
	var hold_list = document.getElementsByTagName('div');
	for(var i = 0; i < hold_list.length; i++){
		if(hold_list[i].className.indexOf('select-box') != -1){
			var _btn = findEl(hold_list[i], 'a', 'selectButton');
			var _box = findEl(hold_list[i], 'div', 'select-drop');
			if(_btn && _box) btnAction(_btn, hold_list[i], _box);
		}
	}
	
	function findEl(_hold, el_type, el_class){
		var t_el = _hold.getElementsByTagName(el_type);
		for(var i = 0; i < t_el.length; i++){
			if(t_el[i].className.indexOf(el_class) != -1) return t_el[i];
		}
	}
	
	function btnAction(_btn, _boxHolder, _box){
		_btn.onclick = function(e){
			e = e || window.event;
			if(_boxHolder.className.indexOf('select-active')!=-1)
				_boxHolder.className = _boxHolder.className.replace('select-active','');
			else _boxHolder.className += ' select-active';
			stopProp(e);
			
			document.body.onclick = function(){
				if(_boxHolder.className.indexOf('select-active')!=-1)
					_boxHolder.className = _boxHolder.className.replace('select-active','');
			}
			
			_box.onclick = function(e){
				e = e || window.event;
				stopProp(e);
			}
			return false;
		}		
	}
	
	function stopProp(e){
		if(e.stopPropagation)
			e.stopPropagation();
		else
			e.cancelBubble = true;
	}
}
if (window.addEventListener)
	window.addEventListener("load", initPage, false);
else if (window.attachEvent)
	window.attachEvent("onload", initPage);
