
if(top != self) {
	top.location.replace(location.href);
}

//
var basepath = 'http://nano2.pl/s/';

// Licznik ladowania strony.
var runtime = (new Date()).getTime();

// Wykrywamy przegladarke.
var browser = {};
browser.webkit = /Apple|KDE/i.test(navigator.vendor);
browser.ie = /MSIE/.test(navigator.userAgent);
browser.ie6 = false;

if(browser.ie) {
	if(browser.ie) {
		var version = parseFloat(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent)[1]);
		if(version <= 6.0) {
			browser.ie6 = true;
		}
	}
}

if(!browser.ie6) {
	// Style zmieniajace stale czcionki.
	document.write('<link rel="stylesheet" media="all" type="text/css" href="'+basepath+'font.css" />');
	document.write('<div id=\"loader\"><strong>Wczytuję grafikę...</strong></div>');
}

/**
* /brief   Funkcja wywolujaca callback zaraz po wczytaniu DOM dokumentu przez przegladarke.
*          by: http://perfectionorvanity.com/
*/
function on_load_dom(callback) {
	// Firefox & Opera.
	if(document.addEventListener) {
		document.addEventListener("DOMContentLoaded",callback,false);
	}

	// Internet Explorer.
	if(browser.ie) {
		var defer = document.getElementById("ie-defer");
		if(defer) {
			defer.onreadystatechange = function() {
				if(this.readyState == "complete") {
					callback();
				}
			}
			defer.onreadystatechange();
			defer = null;
		}
	}

	// Safari & Konqueror.
	if(browser.webkit) {
		var timer = setInterval(function() {
			if(/loaded|complete/.test(document.readyState)) {
				clearInterval(timer);
				callback();
			}
		},15);
	}

	return;
}

//
var moveiv = null;

/**
*
*/
function move_left(element,left)
{
	if(moveiv != null) {
		window.clearInterval(moveiv);
	}

	var start = parseInt(element.style.left) ? parseInt(element.style.left) : 0;
	var plus = start < left ? true : false;
	var timing = 25;
	var step = Math.abs(start-left) / timing;
	var step0 = parseInt(step/2);

	moveiv = window.setInterval(function() {

		if(plus) {
			element.style.left = (start += step) + 'px';
			if(left-step0 < start) {
				element.style.left = left + 'px';
				window.clearInterval(moveiv);
				moveiv = null;
			}
		} else {
			element.style.left = (start -= step) + 'px';
			if(left+step0 > start) {
				element.style.left = left + 'px';
				window.clearInterval(moveiv);
				moveiv = null;
			}
		}

	},timing);
}

/**
* /brief   Konstrukcja wlasna.
*/
function fade_out(element,callback)
{
	var speed = 1000;
	var timing = 20;
	var perframe = Math.ceil(speed/timing);
	var fade = 100.0;

	var iv = window.setInterval(function() {

		var op = (fade -= perframe);
		var opi = op/100;

		element.style['opacity'] = opi;
		element.style['-moz-opacity'] = opi;
		element.style['filter'] = "alpha(opacity="+op+")";

		if(fade < perframe) {
			element.style['display'] = "none";
			window.clearInterval(iv);

			if(callback) {
				callback();
			}
			return;
		}
	},timing);
}

/**
* /brief  by: http://robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
*/
function getElementsByClassName(className,tag,elm)
{
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

//
var slide_select = 0;
var slide_iv = null;
var changetime = 4000;

/**
*
*/
function slide(id)
{
	if(slide_iv != null)
		window.clearInterval(slide_iv);

	var slider = document.getElementById("slider");
	var control = document.getElementById("slider-control").getElementsByTagName("ul")[0];
	var images = slider.getElementsByTagName("ul")[0];

	var select = getElementsByClassName("select",'*',control)[0];

	if(id == slide_select) {
		return;
	}

	slide_select = id;
	select.className = '';

	var self = document.getElementById("slidcntrl"+id);
	self.className = "select";

	move_left(images,id*(-765));
	return;
}

/**
*
*/
function slide_changetime()
{
	var slider = document.getElementById("slider");
	var images = slider.getElementsByTagName("ul")[0];
	var count = images.getElementsByTagName("li").length;

	slide_select++;
	if(slide_select >= count)
		slide_select = 0;

	var control = document.getElementById("slider-control").getElementsByTagName("ul")[0];
	var select = getElementsByClassName("select",'*',control)[0];
	var self = document.getElementById("slidcntrl"+slide_select);

	self.className = "select";
	select.className = '';

	move_left(images,slide_select*(-765));
}

/**
*
*/
function slide_init()
{
	// Budujemy slider.
	var folio = document.getElementById("folio");
	if(folio)
	{
		var slider = document.getElementById("slider");
		var ul = slider.getElementsByTagName("ul")[0];
		var count = ul.getElementsByTagName("li").length;

		var control = '<div id="slider-control"><ul>';

		for(var i = 0; i < count; i++) {
			if(i == 0) {
				control += '<li class="select" onclick="slide('+i+')" id="slidcntrl'+i+'"></li>';
			} else {
				control += '<li onclick="slide('+i+')" id="slidcntrl'+i+'"></li>';
			}
		}

		control += '</ul></div>';

		folio.innerHTML += control;

		// Auto zmieniarka.
		if(count > 1) {
			slide_iv = window.setInterval(slide_changetime,changetime);
		}
	}
}

/**
*
*/
function google_analytics()
{
	var host = ("https:" == document.location.protocol) ? "https://ssl." : "http://www.";
	var script = document.createElement("script");
	script.src = host + "google-analytics.com/ga.js";
	var head = document.getElementsByTagName("head")[0]
	head.appendChild(script);

	var iv = window.setInterval(function() {
		if(window['_gat'])
		{
			window.clearInterval(iv);
			var pageTracker = _gat._getTracker("UA-3186391-7");
			pageTracker._trackPageview();
			return;
		}
	},35);
}

/**
* /brief  DOM zaladowany.
*/
function dom_loaded()
{
	if(!arguments.callee.done) {
		arguments.callee.done = true;
	} else return;

	// IE6 won.
	if(browser.ie6) {
		return;
	}

	var color = document.body.id;

	// Podmieniamy obrazki na dole.
	var bottom = getElementsByClassName("first",'*',document.getElementById("bottom"));
	for(var i = 0; i < bottom.length; i++) {
		var element = bottom[i].getElementsByTagName("h3")[0].getElementsByTagName("a")[0];

		var text = escape(element.innerHTML);
		var src = basepath+"font.php?text="+text+"&amp;color="+color+"&amp;style=bottom";
		element.innerHTML = "<img src=\""+src+"\" height=\"14\" alt=\"\" />";
	}

	// Nazwa projektu.
	var last = document.getElementById("last-project");
	if(last) {
		var element = last.getElementsByTagName("h3")[0].getElementsByTagName("a")[0];

		var text = escape(element.innerHTML);
		var src = basepath+"font.php?text="+text+"&amp;color="+color+"&amp;style=lastproj";
		element.innerHTML = "<img src=\""+src+"\" height=\"14\" alt=\"\" />";
	}

	// Nazwa projektu.
	var desc = document.getElementById("folio-desc");
	if(desc)
	{
		var element = getElementsByClassName("left",'*',desc)[0].getElementsByTagName("h2")[0];

		var text = escape(element.innerHTML);
		var src = basepath+"font.php?text="+text+"&amp;color="+color+"&amp;style=projdesc";
		element.innerHTML = "<img src=\""+src+"\" height=\"17\" alt=\"\" />";
	}

	// Nazwa artykułu.
	var title = document.getElementById("text-title");
	if(title)
	{
		var element = title.getElementsByTagName("h2")[0];

		var text = escape(element.innerHTML);
		var src = basepath+"font.php?text="+text+"&amp;color="+color+"&amp;style=arttitle";
		element.innerHTML = "<img src=\""+src+"\" height=\"17\" alt=\"\" />";
	}

	// Formularz kontaktowy.
	var contact = document.getElementById("bottom-contact")[0];
	var email = getElementsByClassName("text",'input',contact)[0];
	var content = getElementsByClassName("textarea",'textarea',contact)[0];
	var txt = {'text': "Twój e-mail...",'textarea' : "Twoje pytanie..."};

	email.value = txt['text'];
	content.value = txt['textarea'];

	email.onfocus = content.onfocus = function() {
		if(this.value == txt[this.className]) {
			this.value = '';
		}
	}

	email.onblur = content.onblur = function() {
		if(this.value == '') {
			this.value = txt[this.className];
		}
	}

	slide_init();
	return;
}

/**
* /brief  Dokument zaladowany.
*/
window.onload = function()
{
	// Jezeli jest jakas ruska przegladarka, i nie obsluguje onLoadDom.
	dom_loaded();

	if(!browser.ie6)
	{
		var timeload = (new Date()).getTime() - runtime;
		var loader = document.getElementById("loader");

		if(timeload > 300) {
			fade_out(loader,function() {
				document.body.removeChild(loader);
			});
		} else {
			loader.style['display'] = "none";
			document.body.removeChild(loader);
		}
	}

	google_analytics();
	return;
}

// Wywola sie po zaladowaniu DOM dokumentu.
on_load_dom(dom_loaded);
