$(function(){
	clearInputs();
	//initAutoScaling();
	//initNav();
	//initFloat();
});

function initFloat(){
	$('img').each(function(){
		var image = $(this);
		var align = image.attr('align');
		if (align && align.length) {
			if (align == 'left') image.css('float','left')
			else if (align == 'right') image.css('float','right');
		}
	});
}

function initNav(){
	$('#nav >li').each(function(){
		var _this = $(this);
		var width = _this.outerWidth();
		_this.find('.drop').css({width: width - 3});
	})
	$("#nav li").each(function(){
		var _this = $(this);
		var link = $('>a',_this);
		var drop = $('>div.drop',_this);
		if (drop.length) {
			link.addClass('has-drop-down-a');
			_this.addClass('has-drop-down');
		}
		if ($.browser.msie && $.browser.version < 7) {
			_this.mouseenter(function(){
				_this.addClass('hover')
				if (drop.length) hideSelectBoxes(_this.find('ul'));
			}).mouseleave(function(){
				_this.removeClass('hover')
				if (drop.length) showSelectBoxes(_this.find('ul'));
			});
		}
	});
}

// select function
function hideSelectBoxes(object){
	var selects_list = $('select');
	object.each(function(){
		var _el = $(this);
		var t = _el.offset().top;
		var l = _el.offset().left;
		var w = _el.outerWidth();
		var h = _el.outerHeight();
		var el_selects = [];
		selects_list.filter(':visible').not(_el.find('select')).each(function(){
			var _select = $(this);
			var s_t = _select.offset().top;
			var s_l = _select.offset().left;
			var s_w = _select.outerWidth();
			var s_h = _select.outerHeight();
			var _ver = false, _hor = false;
			if((t - s_t > 0) ? (t - s_t < s_h) : (t - s_t + h > 0)) _ver = true;
			if((l - s_l > 0) ? (l - s_l < s_w) : (l - s_l + w > 0)) _hor = true;
			if(_ver && _hor) {
				_select.css('visibility', 'hidden');
				el_selects.push(this);
			}
		});
		this.sboxes = el_selects;
	});
}

function showSelectBoxes(object){
	object.each(function(){
		if (this.sboxes.length > 0) {
			$(this.sboxes).css('visibility', 'visible');
		}
	});
}

function initAutoScaling(){
	initAutoScalingNav({
		menuId: "nav",
		sideClasses: true,
		minPaddings: 10,
		spacing: 2,
		constant: -2
	});
}

function clearInputs(){
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: true,
		addClassFocus: "focus",
		filterClass: "default"
	});
}

function initAutoScalingNav(C){if(!C.menuId){C.menuId="main-nav"}if(!C.tag){C.tag="a"}if(!C.spacing){C.spacing=0}if(!C.constant){C.constant=0}if(!C.minPaddings){C.minPaddings=0}if(!C.liHovering){C.liHovering=false}if(!C.sideClasses){C.sideClasses=false}var A=document.getElementById(C.menuId);if(A){var J=A.getElementsByTagName("li");var H=[];var D=[];for(var F=0,E=0;F<J.length;F++){if(J[F].parentNode==A){var I=J[F].getElementsByTagName(C.tag).item(0);H.push(I);H[E++].width=I.offsetWidth;D.push(J[F])}if(C.liHovering){J[F].onmouseover=function(){this.className+=" hover"};J[F].onmouseout=function(){this.className=this.className.replace("hover","")}}}var G=A.clientWidth-H.length*C.spacing-C.constant;if(B(H)<G){for(var F=0;B(H)<G;F++){H[F].width++;if(F>=H.length-1){F=-1}}for(var F=0;F<H.length;F++){H[F].style.width=H[F].width+"px"}}else{if(C.minPaddings>0){for(var F=0;F<H.length;F++){H[F].style.width=H[F].width+C.minPaddings*2+"px"}}}}function B(L){var K=0;for(var M=0;M<L.length;M++){K+=L[M].width}return K}if(C.sideClasses){D[0].className+=" first-child";D[D.length-1].className+=" last-child"}};

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.filter) o.filter = "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";
	}
}
