var shStep = .1;

window.addEventListener("load", function(){
	addCloseButtons();
	addScriptButtons();
	addActionsBack();
	
	//setInterval("scrollBy(0,Math.random()*20-10)", 1);
	
}, false);

function addActionsBack(){
	var el = document.getElementsByClassName("back");
	var i;
	for( i = 0; i < el.length; i++ ){
		el[i].addEventListener("click", function(e){;history.go(-1);e.preventDefault();}, false);
	}
}

function showTipBlock(el, one){
	if( el == null ){
		return false;	//	element nie istnieje
	}
	//alert(el.processing != "true");
	//return "";
	if( (el.processing == "true" && one == null) || (el.style.display == "block" && el.processing != "true") ){
		return false;	//	element jest animowany lub jest juz widoczny
	}
		
	if( one == null ){
		one = 1;
		el.style.display = "block";
		el.processing = "true";
	}else{
		one -= shStep;
		one = one <= 0  ? 0 : one;
	}
	el.style.opacity = 1 - transition(one);
	if( one > 0 ){
		setTimeout(showTipBlock, 33, el, one);
	}else{
		el.processing = "false";
	}
}

function hideTipBlock(el, one){
	if( el == null ){
		return false;	//	element nie istnieje
	}
	if( (el.processing == "true" && one == null) || (el.style.display == "none" && el.processing != "true") ){
		return false;	//	element jest animowany lub jest juz ukryty
	}
		
	if( one == null ){
		one = 1;
		el.processing = "true";
	}else{
		one -= shStep;
		one = one <= 0  ? 0 : one;
	}
	el.style.opacity = transition(one);
	if( one > 0 ){
		setTimeout(hideTipBlock, 33, el, one);
	}else{
		el.style.display = "none";
		el.processing = "false";
	}
}

function addCloseButtons(){
	var div;
	var divIn;
	var el = document.getElementsByClassName("tip");
	for( i = 0; i < el.length; i++ ){
		el[i].innerHTML = '<div class="rel"><div class="close_tip">x</div></div>' + el[i].innerHTML;
	}		
}

function addScriptButtons(){
	//	open buttons
	var el = document.getElementsByClassName("icon_button");
	var i;
	for( i = 0; i < el.length; i++ ){
		el[i].addEventListener("click", function(){
			showTipBlock(document.getElementById(this.id.replace("openB", "tip")));
		}, false);
	}
	//	close buttons
	el = document.getElementsByClassName("close_tip");
	for( i = 0; i < el.length; i++ ){
		el[i].addEventListener("click", function(){
			hideTipBlock(this.parentNode.parentNode);
		}, false);
	}
}

function trim(str){
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

function transition(x){
	var f = 2;
	return tanh(x*f*2-f)*.5+.5;
}

function tanh(x){
	var e0 = Math.exp(x);
	var e1 = Math.exp(-x);
	return (e0 - e1) / (e0 + e1);
}
