jQuery.noConflict();
jQuery(function(){
	ieHover(".search .submit, .widget-subscribe .submit", "hover");
	initClearForm();
});

jQuery(window).load(function(){
	initFixed();
});

/* ieHover */
function ieHover(h_list, h_class){
	if(jQuery.browser.msie && jQuery.browser.version < 7){
		if(!h_class) var h_class = 'hover';
		jQuery(h_list).mouseenter(function(){
			jQuery(this).addClass(h_class);
		}).mouseleave(function(){
			jQuery(this).removeClass(h_class);
		});
	};
};

/* initClearForm */
function initClearForm()
{
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: false,
		addClassFocus: "focus",
		filterClass: "default"
	});
}
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 initFixed(){
	jQuery('.sidebar_slider').fixedSlideBlock();}

/* fixedSlideBlock */
jQuery.fn.fixedSlideBlock = function(options){
	var options = jQuery.extend({
		holder:'#main'
	},options);
	
	return this.each(function(){
		var block = jQuery(this);
		var holder = jQuery(options.holder);
		if (!holder || !holder.length) {
			holder = block.parent();
		}
		var startLeftPosition = block.position().left;
		var startTopOffset = block.offset().top;
		var blockT = block.offset().top;
		var offsetDiffLeft = block.offset().left - holder.offset().left
		jQuery(window).scroll(positioning).resize(positioning)
		
		function positioning(){
			var winT = jQuery(window).scrollTop();
			var winL = jQuery(window).scrollLeft();
			var blockH = block.outerHeight();
			var holderT = holder.offset().top;
			var holderB = holderT + holder.outerHeight();
			var pos;
			if (winT >= blockT ) {
				if (winT + blockH < holderB) pos = 1;
				else pos = 2;
			} else pos = 3;
			switch (pos){
				case 1:
					if (jQuery.browser.msie && jQuery.browser.version < 7) {
						block.css({position:'absolute',bottom:'auto',right:'auto',
							top:winT-startTopOffset,
							left:startLeftPosition
						});
					} else {
						block.css({position:'fixed',bottom:'auto',right:'auto',
							top:0,
							left:holder.offset().left+offsetDiffLeft-winL
						});
					}
				break
				case 2:
					block.css({position:'absolute',right:'auto',top:'auto',
						bottom:0,
						left:startLeftPosition
					});
				break
				case 3:
					block.css({position:'absolute',right:'auto',bottom:'auto',
						top:0,
						left:startLeftPosition
					});
				break
			}
		}
		
		positioning();
	});
}
