var st1 = false;

/******************************** ERROR HANDLER ********************************/

var errorhandler = function(e, file, line)
{
	var msg = new Array();
	if(e.name) msg['name'] = e.name;
	if(e.message) msg['message'] = e.message;
	if(e.stack) msg['stack'] = e.stack;
	if(e.prototype) msg['prototype'] = e.prototype;
	if(e.constructor) msg['constructor'] = e.constructor;
	msg['browser'] = stardust.browser();
	
	for(k in msg)
	{
		msg[k] = msg[k].toString().replace(/[\f\n\r\t\v]*/g, "");
	}
	stardust.ajax('/errorcatch/', true, msg);
}

/******************************** O N M O U S E O V E R ********************************/

function buttonroll(o, state){
	o.style.cursor = (state=="on") ? 'pointer' : ''
	o.src = (state=="on") ? o.src.split('_off.').join('_on.') : o.src.split('_on.').join('_off.')
}
function buttonhand(o, state){
	o.style.cursor = (state=="on") ? 'pointer' : ''
}

function buttonfade(o, state){
	var parent = this;
	parent.o = o;
	parent.state = state;
	parent.t = null;
	SetOpacity(o, (parent.state=='off')? 0:1); 
	
	parent.fade = function(){
		var p = GetOpacity(parent.o);
		p += (parent.state=='off')? 0.25:-0.5;
		SetOpacity(parent.o, p);
		window.clearTimeout(parent.t);
		if( p>0 & p<1 ) parent.t = window.setTimeout(parent.fade, (parent.state=='off')? 100:100);
	}
	
	parent.fade()
}

var imgs = stardust.getElementsByClassName('js_buttonroll', 'img', document);
for(i in imgs){
	stardust.addEvent(imgs[i], "mouseover", function(){ buttonroll(this, 'on'); } );
	stardust.addEvent(imgs[i], "mouseout", function(){ buttonroll(this, 'off'); } );
}

var imgs = stardust.getElementsByClassName('js_buttonhand', 'img', document);
for(i in imgs){
	stardust.addEvent(imgs[i], "mouseover", function(){ buttonhand(this, 'on'); } );
	stardust.addEvent(imgs[i], "mouseout", function(){ buttonhand(this, 'off'); } );
}

var imgs = stardust.getElementsByClassName('js_buttonfade', 'img', document);
for(i in imgs){
	//SetOpacity(imgs[i], 1);
	stardust.addEvent(imgs[i], "mouseover", function(){ new buttonfade(this, 'on'); } );
	stardust.addEvent(imgs[i], "mouseout", function(){ new buttonfade(this, 'off'); } );
}


/******************************** OPENMORE ********************************/

var openmore = function(type)
{
	var parent = this;
	parent.type = type;
	parent.d1 = null;
	parent.d2 = null;
	parent.d3 = null;
	parent.d4 = null;
	parent.o = null;
	parent.t = null;
	parent.p = 0;
	parent.rows = 0;
	parent.lineheight = 15;
	parent.linewidth = 24;
	parent.title = '';
	
	parent.open = function()
	{
		try
		{
			parent.title = this.getAttribute('title');
			/*if( parent.title=='' )
				parent.title = this.getAttribute('lang');
			else{
				this.setAttribute('lang', parent.title);
				this.setAttribute('title', null);
			}
			/*
			if( this.className.match(/js_dictionary/gi) )
			{
				var rel = this.getAttribute('lang');
				if( rel!=undefined ) parent.title = rel;
				else
				{
					var res = stardust.ajax('/oferta/dictionary/'+this.hash.substr(1)+'/');
					if( res!='' ) parent.title = res;
				}
				this.setAttribute('lang', parent.title);
			}*/
			parent.rows = parent.slicetext(parent.title, parent.linewidth).length;
			parent.d1 = stardust.createTag('div',{position:"absolute",id:'js_openmore_div',width:'200px',zIndex:200,overflow:'hidden',opacity:0.1});
			parent.d2 = stardust.createTag('div',{background:'url(\'content/images/openmore_bck.gif\') no-repeat top'});
			parent.d3 = stardust.createTag('div',{padding:'10px 10px 0px 10px',fontSize:'12px',overflow:'hidden',innerHTML:parent.slicetext(parent.title, parent.linewidth).join('<br>')});
			parent.d4 = stardust.createTag('div',{background:'url(\'content/images/openmore_down.gif\') no-repeat bottom',height:'25px',innerHTML:'&nbsp;',overflow:'hidden'});
			parent.d1.appendChild(parent.d2);
			parent.d1.appendChild(parent.d4);
			parent.d2.appendChild(parent.d3);
			document.body.appendChild(parent.d1);
			parent.o = parent.d1;
			var img1 = new Image();
			img1.src = 'content/images/openmore_bck.gif';
			img1.onload = function()
			{
				var img2 = new Image();
				img2.src = 'content/images/openmore_down.gif';
				img2.onload = function()
				{
					parent.fade();
				}
			}
		}
		catch(e){ errorhandler(e); }
		//finally{ parent.close(); }
	}
		
	parent.close = function()
	{
		//try
		//{
			window.clearTimeout(parent.t);
			document.body.removeChild(parent.o, true);
			parent.o = null;
			//this = null;
		//}
		//catch(e){ errorhandler(e); }
	}
	
	parent.move = function(e)
	{
		try
		{
			if(e) parent._x = stardust.mouseAbsolute(e)[0];
			if(e) parent._y = stardust.mouseAbsolute(e)[1];
			var left = parent._x+200>stardust.bodysize()[0]? -150:0;
			parent.d4.style.backgroundImage = 'url(\'content/images/openmore_down'+(left<0? '_left':'')+'.gif\')';
			stardust.height(parent.d3, (parent.lineheight*parent.rows*parent.p) );
			stardust.top(parent.o, parent._y-(parent.lineheight*parent.rows*parent.p)-45 );
			stardust.left(parent.o, parent._x-25+left );
		}
		catch(e){ errorhandler(e); }
		//finally{ parent.close(); }
	}
	
	parent.fade = function()
	{
		try
		{
			window.clearTimeout(parent.t);
			parent.p = stardust.opacity(parent.o) + 0.1;
			stardust.opacity(parent.o, parent.p);
			parent.move();
			if(parent.p<1) parent.t = window.setTimeout(parent.fade, 15);
		}
		catch(e){ errorhandler(e); }
		//finally{ parent.close(); }
	}
	
	parent.slicetext = function(str, length)
	{
		try
		{
			var array1 = new Array();
			var array2 = str.split(' ');
			var tmp = '';
			for(i=0;i<array2.length;i++){
				var txt = tmp + ' ' + array2[i];
				if( txt.length<length){
					tmp = txt;
				}else{
					array1.push(tmp);
					tmp = array2[i];
				}
			}
			if(tmp.length>0) array1.push(tmp);
			return array1;
		}
		catch(e){ errorhandler(e); }
		//finally{ parent.close(); }
	}

	parent.load = function()
	{
		var imgs = stardust.getElementsByClassName('js_openmore', parent.type, document);
		for(k in imgs)
		{
			stardust.addEvent(imgs[k], "mouseover", parent.open );
			stardust.addEvent(imgs[k], "mousemove", parent.move );
			stardust.addEvent(imgs[k], "mouseout", parent.close);
		}
	}
	parent.load();
}
//new openmore('img');
//new openmore('a');

/******************************** MENU ********************************/

var menu = function()
{
	var parent = this;
	parent.list;
	parent.button;
	parent.st = false;
	
	parent.load = function()
	{
		var as = stardust.getElementsByClassName('js_button', 'a', document);
		for(k in as)
		{
			//stardust.addEvent(as[k], 'click', function(){ return false; }, false);
			as[k].onclick = function(){ parent.start(this); return false; };
		}
	}
	
	parent.start = function(o)
	{
		parent.list = stardust.getElementsByClassName('sub', 'a', o.parentNode);
		parent.button = o;
		window.clearTimeout(parent.st);
		parent.st = window.setTimeout(parent.roll, 10);
		return false;
	}
	
	parent.roll = function()
	{
		try
		{
			var o = parent.list.shift();
			if(!o) return false;
			var state = o.className.indexOf('closed')==-1? 1:0;
			if( parent.button.className.indexOf('offer')>0 ) parent.button.className = state? parent.button.className.replace('offer_on', ' '):parent.button.className + ' offer_on';
			if( parent.button.className.indexOf('portfolio')>0 ) parent.button.className = state? parent.button.className.replace('portfolio_on', ' '):parent.button.className + ' portfolio_on';
			if( parent.button.className.indexOf('contact')>0 ) parent.button.className = state? parent.button.className.replace('contact_on', ' '):parent.button.className + ' contact_on';
			o.className = state? o.className + ' closed':o.className.replace(/closed/gi,' ');
			window.clearTimeout(parent.st);
			parent.st = window.setTimeout(parent.roll, 10);
			return false;
		}
		catch(e){ errorhandler(e); }
	}
	
	parent.load();
}
new menu();

/******************************** HEADER SEARCH FORM ********************************/

var header_search_form = function()
{
	var parent = this;
	parent.input = stardust.getElementsByName('query', 'input', $('header'))[0];
	
	parent.input.onclick = function()
	{
		if( this.value=='szukaj na stronie' ) this.value = '';
	}
}

stardust.addLoadEvent(function(){ new header_search_form(); });

/******************************** PAGE HEIGHT ********************************/

var check_page_height = function()
{
	//var imgs = stardust.getElementsByTagName('img', $('menu_left')).pop();
	var main_pos = stardust.elementPosition($('main'))[1];
	var menu_pos = stardust.elementPosition(stardust.getElementsByTagName('img', $('menu_left')).pop())[1];
	if(main_pos<menu_pos) stardust.height($('main'), Math.abs(main_pos-menu_pos) );
	window.setTimeout(check_page_height, 10);
}
//new check_page_height();

/******************************** JS POPUPS ********************************/

var js_popups = function()
{
	var parent = this;
	
	parent.open_window = function(url, title, width, height)
	{
		window.open(url, title, 'width=' + width + ', height=' + height + ',resizable=0,scrollbars=no,menubar=no');
	}

	var as = stardust.getElementsByClassName('js_popup', 'a', document);
	for(i=0;i<as.length;i++)
	{
		as[i].onclick = function()
		{
			var link = 'image.html?file='+this.getAttribute('href');
			parent.open_window(link, '', 640, 480);
			return false;
		}
	}
	
}
stardust.addLoadEvent(function(){ new js_popups(); });

/******************************** C O R N E R S ********************************/

var js_corners = function(o)
{
	//var parent = this;
	
	//parent.init = function(o)
	//{
	
	if( o.className.match(/js_corners_on/gi) )
	{
		var content = o.cloneNode(true);
		var div1 = stardust.getElementsByClassName('js_corners_1', 'div', document)[0];
		var div2 = stardust.getElementsByClassName('js_corners_2', 'div', document)[0];
		var div3 = stardust.getElementsByClassName('js_corners_3', 'div', document)[0];
		var div4 = stardust.getElementsByClassName('js_corners_4', 'div', document)[0];
		var div5 = stardust.getElementsByClassName('js_corners_5', 'div', document)[0];
		//var od_parent = div1.parentNode;
		//old_parent.removeChild(div1);
		//old_parent.appendChild(content);
		//o.removeChild(div1);
		//o.appendChild(content);
		
	}
	else
	{
		var div1 = stardust.createTag('div', {className:'js_corners_1',background:"url('/content/images/box_bg_1.gif') top left no-repeat",padding:'0px',margin:'0px',height:'7px',overflow:'hidden'});
		var div2 = stardust.createTag('div', {className:'js_corners_2',background:"url('/content/images/box_bg_2.gif') top right no-repeat",padding:'0px',margin:'0px'});
		var div3 = stardust.createTag('div', {className:'js_corners_5',padding:'0px 10px 0px 10px',margin:'0px 0px 0px 0px'});
		var div4 = stardust.createTag('div', {className:'js_corners_3',background:"url('/content/images/box_bg_3.gif') bottom left no-repeat",padding:'0px',margin:'0px'});
		var div5 = stardust.createTag('div', {className:'js_corners_4',background:"url('/content/images/box_bg_4.gif') bottom right no-repeat",padding:'0px',margin:'0px',height:'7px',overflow:'hidden'});
		var content = o.cloneNode(true);
		content.className = content.className.replace(/js_corners/gi, '');
		var list = o.childNodes;
		o.innerHTML = '';
		o.className = o.className + ' js_corners_on';
		
		div2.innerHTML = '&nbsp;';
		div1.appendChild(div2);
		o.appendChild(div1);
		div3.appendChild(content);
		o.appendChild(div3);
		div5.innerHTML = '&nbsp;';
		div4.appendChild(div5);
		o.appendChild(div4);
	}
}

stardust.addLoadEvent(function(){
	var divs = stardust.getElementsByClassName('js_corners', 'div', document);
	for(k in divs)
	{
		new js_corners(divs[k]);
	}
	});
/******************************** A N I M A T I O N ********************************/

var Animation = function(box)
{
	try
	{
		var parent = this;
		parent.box = box;
		parent.st = false;
		parent.tmp = false;
		parent.l = 0;
		parent.k = 0;
		parent.dir = 1;
		parent.images = new Array();
		parent.srcs = new Array();
		parent.durations = new Array();
		parent.speeds = new Array();
		parent.attributes = new Array();
		parent.links = new Array();
		parent.width = 1;
		
		parent.load = function(src, duration, speed, attribute, link)
		{
			if( !duration | duration<0 ) duration = 3000;
			if( !speed | speed===undefined ) speed = 2;
			if( src!='' )
			{
				parent.srcs.push(src);
				parent.durations.push(duration);
				parent.speeds.push(speed);
				parent.attributes.push(attribute);
				parent.links.push(link? link:false);
			}
			else{
				alert('error!');
			}
		}
		
		parent.width = function(val)
		{
			stardust.width(parent.box, val);
		}
		
		parent.height = function(val)
		{
			stardust.height(parent.box, val);
		}
		
		parent.initbuttons = function()
		{
			var parent2 = this;
			parent2.dir2 = 1;
			parent2.o2 = false;
			parent2.st2 = false;
	
			var as = stardust.getElementsByClassName('js_anim', 'a', document);
			for(k in as)
			{
				stardust.addEvent(as[k], 'mouseover', function(){
					var div = stardust.createTag('div', {position:'absolute',overflow:'hidden',left:'0px',width:'0px',top:'0px',padding:'3px',backgroundColor:'#000',color:'#FFF',fontSize:'15px',fontFamily:'Courier New',textAlign:'center',whiteSpace:'nowrap',zIndex:1100,innerHTML:this.getAttribute('title')});
					//this.insertBefore(divs, this.childNodes[0]);
					this.appendChild(div);
					parent2.dir2 = 1;
					parent2.o2 = div;
					window.clearTimeout(parent2.st2);
					this.style.backgroundPosition = '-60px -' + (stardust.childNodeIndex(this, 'a', 0)*25) + 'px';
					parent2.st2 = window.setTimeout(parent2.roll, 100);
				}, false);
				
				as[k].onmouseout = function(){
					if(this.childNodes[0]) this.removeChild(this.childNodes[0]);
					parent.setbuttons();
				}
				
				as[k].onclick = function(){
					var frame = parseInt(this.getAttribute('name'));
					if( !frame ) return false;
					for(k in parent.images){
						stardust.opacity(parent.images[k], 0);
						parent.images[k].style.display = 'none';
					}
					parent.k = frame-1;
					parent.dir = 1;
					window.clearTimeout(parent.st);
					parent.st = window.setTimeout(parent.fade, 100);
					return false;
				}
			}
			
			parent2.roll = function()
			{
				if(stardust.isObject(parent2.o2))
				{
					var max = parseInt(parent2.o2.innerHTML.length)*10;
					var w = stardust.width(parent2.o2);
					if(w==0) w = 10;
					var ratio = (w/max)*300;
					w += ((parent2.dir2>0)? ratio:-ratio);
					stardust.width(parent2.o2, w);
					if(parent.width==1 | 1) stardust.left(parent2.o2, -w);
					if(w<max & w>0) parent2.st2 = window.setTimeout(parent2.roll, 50);
					else{
						stardust.width(parent2.o2, parseInt(max+4));
						if(parent.width==1 | 1) stardust.left(parent2.o2, -(max+4));
						parent2.o2 = false;
					}
				}
			}
		}
		
		parent.setbuttons = function()
		{
			var as = stardust.getElementsByClassName('js_anim', 'a', document);
			for(k in as)
			{
				var i = parseInt(as[k].getAttribute('name'))-1;
				//var img = stardust.getElementsByTagName('img', as[k])[0];
				//img.src = img.src.split( (i<=parent.k)?'_anim_nact':'_anim_act' ).join( (i<=parent.k)?'_anim_act':'_anim_nact' );
				//if( parseInt(as[k].style.backgroundPosition.split(' ')[0])!=-60 )
				if( as[k].childNodes.length==0 )
					as[k].style.backgroundPosition = '-' + (i<=parent.k? 30:0) + 'px -' + (k*25) + 'px';
				
				/*as[k].onmouseover = function()
				{
					//alert( parseInt(this.style.backgroundPosition.split(' ')[1]) );
					//this.style.backgroundPosition = '-60px -' + (parseInt(this.style.backgroundPosition.split(' ')[1])) + 'px';
				}*/
			}
		}
		
		parent.start = function(){
			//alert(parent.srcs[0]);
			parent.srcs.push(parent.srcs[0]);
			parent.speeds.push(1);
			parent.durations.push(100);
			parent.attributes.push('');
			parent.links.push('');
							
			parent.l = parent.srcs.length;
			parent.load_image();
			parent.initbuttons();
		}
		
		parent.debug = function( val )
		{
			if( !parent.debug_field )
			{
				parent.debug_field = stardust.createTag('div', {position:'absolute',top:'0px',left:'0px',zIndex:'2000',background:'#FFF'});
				//document.insertBefore(document.childNodes[0], parent.debug_field);
				document.body.appendChild(parent.debug_field);
			}
			parent.debug_field.innerHTML += val + '<br>';
		}
		
		parent.load_image = function()
		{
			window.clearTimeout(parent.st);
			parent.loader(1-parent.srcs.length/parent.l);
			if( parent.srcs.length>0 ){
				parent.tmp = new Image();
				stardust.opacity(parent.tmp, 0);
				parent.tmp.style.zIndex = 1000 + parent.images.length;
				parent.tmp.style.position = 'absolute';
				parent.tmp.style.display = 'none';
				var w = stardust.width(parent.box);
				var h = stardust.height(parent.box);
				stardust.left(parent.tmp, 0);
				stardust.top(parent.tmp, 0);
				stardust.addEvent(parent.tmp, 'load', function(){ 
					parent.images.push(parent.tmp);
					parent.st = window.setTimeout(parent.load_image, 10);
				}, false);
				parent.tmp.src = parent.srcs.shift();
				parent.box.appendChild(parent.tmp);
			}else{
				parent.st = window.setTimeout(function(){
					parent.loader(2);
					var cookie_k = stardust.cookie('stardust_animation_k');
					if( !isNaN(parseInt(cookie_k)) )
					{
						parent.k = parseInt(cookie_k);
						stardust.cookie('stardust_animation_k', -1);
					}
					parent.fade();
				}, 10);
			}
		}
		
		parent.loader = function(state)
		{
			if(state==0){
				//parent.div = stardust.createTag('div', {textAlign:'center',fontSize:'16px',paddingTop:'80px',fontSize:'30px',left:'0px',top:'0px',overflow:'hidden'});
				parent.div = stardust.createTag('div', {textAlign:'center',color:'#FFF',position:'absolute',width:'100px',padding:'40px 0px',fontSize:'20px',left:(stardust.width(parent.box)/2 - 50)+'px',top:'60px',overflow:'hidden',backgroundImage:'url(/content/images/animation/loader.png)',backgroundRepeat:'no-repeat'});
				parent.div.innerHTML = '0%';
				parent.box.appendChild(parent.div);
			}
			if(state==2){
				parent.div.parentNode.removeChild(parent.div);
			}
			if(parent.div){
				parent.div.innerHTML = parseInt(state*100) + '%';
				//if(state==2) parent.div.parentNode.removeChild(parent.div);
				parent.div.style.backgroundPosition = '-' + (Math.round(24*state)*100) + 'px 0px';
			}
		}
		
		parent.fade = function()
		{
			var o = parent.images[parent.k];
			o.style.display = 'block';
			//var step = 0.2; var speed = 150;
			switch( parent.speeds[parent.k] ){
				case 1: var step = 0.125; var speed = 20; break
				case 2: var step = 0.0625; var speed = 35; break
				case 3: var step = 0.02; var speed = 70; break
				default: var step = 0.0625; var speed = 35;
			}
			var p = stardust.opacity(o);
			if( Math.round(p)==0 ) parent.setbuttons();
			p += (parent.dir>0)? step:-step;
			var w = stardust.width(parent.box);
			var h = stardust.height(parent.box);
	
			switch( parent.attributes[ parent.k ] )
			{
				case 'left': stardust.left(o, -((1-p)*w)); break;
				case 'right': stardust.left(o, ((1-p)*w)); break;
				case 'top': stardust.top(o, -((1-p)*h)); break;
				case 'bottom': stardust.top(o, ((1-p)*h)); break;
				case 'behind': stardust.top(o, (1-p)*h/2 );	stardust.left(o, (1-p)*w/2 ); stardust.height(o, p*h );	stardust.width(o, p*w ); break;
				case 'cutleft': stardust.crop(o, 0, (p*w), h, 0); break
				case 'cutright': stardust.crop(o, 0, w, h, ((1-p)*w)); break
				case 'cuttop': stardust.crop(o, 0, w, (p)*h, 0); break
				case 'cutbottom': stardust.crop(o, (1-p)*h, w, h, 0); break
				case 'cuthorizontal': stardust.crop(o, (h-p*h)/2, w, (h+p*h)/2, 0 ); break
				case 'cutvertical': stardust.crop(o, 0, (w+p*w)/2, h, (1-p)*w/2 ); break
				case 'cutbehind': stardust.crop(o, (h-p*h)/2, (w+p*w)/2, (h+p*h)/2, (1-p)*w/2 ); break
				//default: SetL(parent.tmp, 0); SetT(parent.tmp, 0); break;
			}
			stardust.opacity(o, p);
			if( p>=1 & parent.attributes[ parent.k ]=='clear' )
			{
				for(i=0;i<parent.k-1;i++) parent.images[i].style.display = 'none';
				stardust.cookie('stardust_animation_k', parent.k, 1);
			}
			window.clearTimeout(parent.st);
			if(p<1 & p>0){
				parent.st = window.setTimeout(parent.fade, speed);
			}else if( Math.round(p)==1 ){
				stardust.opacity(parent.images[0], 1);
				parent.images[0].style.display = 'block';
				stardust.width(o, w);
				stardust.height(o, h);
				stardust.left(o, 0);
				stardust.top(o, 0);
				parent.k += 1;
				
				//parent.debug( parent.k+'/'+parent.l+' = '+parent.durations[parent.k] );
				if( parent.k==parent.l )
				{
					for(i=1;i<parent.l-1;i++){
						stardust.opacity(parent.images[i], 0);
						parent.images[i].style.display = 'none';
					}
					parent.k = parent.l-1;
					parent.dir = -1;
				}
				parent.st = window.setTimeout(parent.fade, parent.durations[parent.k-1]);
				
			}else if( Math.round(p)==0 ){
				parent.k = 1;
				parent.dir = 1;
				parent.st = window.setTimeout(parent.fade, parent.durations[parent.k]);
			}
			o.parentNode.onmouseover = function(){ this.style.cursor = (parent.links[parent.k-1]===false)? '':'pointer'; }
			o.parentNode.onclick = function(){
				if(parent.links[parent.k-1]===false) return false; else window.location.href = parent.links[parent.k-1];
				}
			return true;
		}
	}
	catch(e){ errorhandler(e); }
}

if( $('box') )
{
	var anim = new Animation($('box'));
	anim.width(480);
	anim.height(215);
	
	anim.load('/content/images/animation/image_1.jpg', 500, 1, 'clear'); //1
	anim.load('/content/images/animation/image_1_1.gif', 1500, 1, 'behind');
	anim.load('/content/images/animation/image_1_2.gif', 1500, 1, 'behind');
	anim.load('/content/images/animation/image_1_3.gif', 1500, 1, 'behind');
	anim.load('/content/images/animation/image_1_4.gif', 4000, 2, 'cutleft', 'oferta/strony-internetowe/');
	
	anim.load('/content/images/animation/image_3.jpg', 500, 2, 'clear'); //6
	anim.load('/content/images/animation/image_3_1.gif', 100, 2, 'cuttop');
	anim.load('/content/images/animation/image_3_2.gif', 1500, 2, 'cuttop');
	anim.load('/content/images/animation/image_3_3.gif', 2000, 2, 'cutleft');
	anim.load('/content/images/animation/image_3_4.gif', 4000, 2, 'cutleft');
	
	anim.load('/content/images/animation/image_2.jpg', 1000, 1, 'clear'); //11
	anim.load('/content/images/animation/image_2_1.jpg', 500, 2, '');
	anim.load('/content/images/animation/image_2_2.gif', 500, 2, 'cutleft');
	anim.load('/content/images/animation/image_2_3.gif', 1000, 2, '');
	anim.load('/content/images/animation/image_2_4.gif', 1000, 2, 'cutleft');
	anim.load('/content/images/animation/image_2_5.gif', 100, 2, 'cutleft');
	anim.load('/content/images/animation/image_2_6.gif', 4000, 2, 'bottom', 'oferta/strony-internetowe/aplikacje-dedykowane/');
	
	anim.load('/content/images/animation/image_14.jpg', 1000, 2, 'clear'); //18
	anim.load('/content/images/animation/image_14_1.gif', 500, 2, 'cutleft');
	anim.load('/content/images/animation/image_14_2.gif', 1500, 2, '');
	anim.load('/content/images/animation/image_14_3.gif', 100, 1, 'behind');
	anim.load('/content/images/animation/image_14_4.gif', 500, 1, 'behind');
	anim.load('/content/images/animation/image_14_5.gif', 100, 1, 'behind');
	anim.load('/content/images/animation/image_14_6.gif', 100, 1, 'behind');
	anim.load('/content/images/animation/image_14_7.gif', 4000, 1, 'behind', 'oferta/strony-internetowe/aplikacje-dedykowane/');
	
	anim.load('/content/images/animation/image_7.jpg', 1000, 2, 'clear'); //26
	anim.load('/content/images/animation/image_77.jpg', 1000, 2, '');
	anim.load('/content/images/animation/image_7_1.gif', 500, 2, 'cutleft');
	anim.load('/content/images/animation/image_7_2.gif', 1500, 2, 'cutleft');
	anim.load('/content/images/animation/image_7_3.gif', 1000, 1, 'behind');
	anim.load('/content/images/animation/image_7_4.gif', 4000, 2, 'cutleft', 'oferta/strony-internetowe/rozbudowane-witryny-komercyjne/');
	
	anim.load('/content/images/animation/image_6.jpg', 1000, 2, 'clear'); //32
	anim.load('/content/images/animation/image_6_1.jpg', 1000, 2, '');
	anim.load('/content/images/animation/image_6_2.gif', 500, 2, 'cutleft');
	anim.load('/content/images/animation/image_6_3.gif', 2000, 2, 'cutleft');
	anim.load('/content/images/animation/image_6_4.gif', 200, 2, 'cutleft');
	anim.load('/content/images/animation/image_6_5.gif', 200, 2, 'cutleft');
	anim.load('/content/images/animation/image_6_6.gif', 4000, 2, 'cutleft', 'oferta/strony-internetowe/strona-malej-firmy/');
	
	anim.load('/content/images/animation/image_10.jpg', 1000, 2, 'clear'); //39
	anim.load('/content/images/animation/image_10_1.jpg', 100, 2, '');
	anim.load('/content/images/animation/image_10_2.gif', 100, 2, 'cutleft');
	anim.load('/content/images/animation/image_10_3.gif', 100, 2, 'cutleft');
	anim.load('/content/images/animation/image_10_4.gif', 1500, 2, 'cutleft');
	anim.load('/content/images/animation/image_10_5.gif', 200, 2, 'cutleft');
	anim.load('/content/images/animation/image_10_6.gif', 4000, 2, 'cutleft', 'oferta/strony-internetowe/strona-malej-firmy/');
	
	anim.load('/content/images/animation/image_5.jpg', 1000, 2, 'clear'); //46
	anim.load('/content/images/animation/image_5_1.gif', 500, 2, 'cutleft');
	anim.load('/content/images/animation/image_5_2.gif', 1500, 2, 'cutleft');
	anim.load('/content/images/animation/image_5_3.gif', 1000, 2, 'cutleft');
	anim.load('/content/images/animation/image_5_4.gif', 100, 2, 'cutleft');
	anim.load('/content/images/animation/image_5_5.gif', 4000, 2, 'cutleft');
	//*/
	stardust.addLoadEvent(function(){ anim.start(); });
}
/******************************** STARDUST LOGO ********************************/

if( $('stardust_logo') )
{
	try{
		var o = $('stardust_logo');
		o.onmouseover = function()
		{
			stardust.opacity(this, 1);
		}
		o.onmouseout = function()
		{
			stardust.opacity(this, 0.2);
		}
		stardust.opacity(o, 0.2);
	
		o.onclick = function()
		{
			var w = stardust.width($('constructor'));
			stardust.width($('constructor'), (w==770)? 960:770 );
			$('slider').style.display = (w==770)? '':'none';
		}
	}
	catch(e){ errorhandler(e); }
}

/******************************** STATS ********************************/

stardust.addLoadEvent( function(){
	try
	{
		new stardust.ajax('/stats/w/' + parseInt(screen.width) + '/h/' + parseInt(screen.height) + '/', true);
	}
	catch(e){ errorhandler(e); }
	//stardust.ajax('/stats/w/' + parseInt(screen.width) + '/h/' + parseInt(screen.height) + '/', true);
	});

/******************************** MENU LEFT PROMOTED ********************************/

var menu_left_promoted = function()
{
	var parent = this;
	parent.h = 0;
	parent.slide_step = 15;
	parent.fade_step = 0.05;
	parent.img = false;
	parent.spinner = false;
	parent.st = false;
	
	parent.slide = function()
	{
		try
		{
			window.clearTimeout(parent.st);
			var h = stardust.height(parent.img);
			if( h+parent.slide_step<parent.h )
			{
				stardust.height(parent.img, h+parent.slide_step);
				parent.st = window.setTimeout(parent.slide, 10);
			}
			else
			{
				stardust.height(parent.img, parent.h);
				parent.st = window.setTimeout(parent.fade, 10);
			}
		}
		catch(e){ errorhandler(e); }
	}
	
	parent.fade = function()
	{
		try
		{
			window.clearTimeout(parent.st);
			var op = stardust.opacity(parent.img);
			if( op+parent.fade_step<parent.h )
			{
				stardust.opacity(parent.img, op+parent.fade_step);
				parent.st = window.setTimeout(parent.fade, 10);
			}
			else
			{
				stardust.opacity(parent.img, 1);
			}
		}
		catch(e){ errorhandler(e); }
	}
	
	if( $('menu_left') )
	{
		parent.img = stardust.getElementsByClassName('miniature', 'img', stardust.getElementsByClassName('promoted', 'div', $('menu_left') )[0] )[0];
		if( stardust.isObject(parent.img) )
		{
			parent.spinner = new Image();
			parent.spinner.onload = function()
			{
				parent.img.parentNode.insertBefore(parent.spinner, parent.img);
				var i = new Image();
				i.onload = function()
				{
					try
					{
						parent.h = i.height;
						stardust.height(parent.img, 0);
						stardust.opacity(parent.img, 0);
						window.setTimeout(function(){
							parent.spinner.parentNode.removeChild(parent.spinner);
							parent.slide();
						}, 200);
					}
					catch(e){ errorhandler(e); }
				}
				i.src = parent.img.src;
			}
			parent.spinner.src = '/content/images/spinner.gif';
		}
	}
}
stardust.addLoadEvent(function(){  menu_left_promoted(); });

/******************************** CONTACT FORM ********************************/

var contact_form = function( form )
{
	try
	{
		var parent = this;
		parent.inputs = new Array();
		
		parent.focus = function(o)
		{
			for(k in parent.inputs)
			{
				parent.inputs[k].className = (parent.inputs[k]==o)? parent.inputs[k].className + ' highlight':parent.inputs[k].className.replace(/highlight/gi,'');
			}
		}
	
		parent.blur = function(o)
		{
			for(k in parent.inputs)
			{
				parent.inputs[k].className = parent.inputs[k].className.replace(/highlight/gi,'');
			}
		}
		
		if( form )
		{
			var tmp = stardust.getElementsByTagName('input', form ).concat(stardust.getElementsByTagName('textarea', form ));
			for(k in tmp)
			{
				if( tmp[k].className.match(/text/gi) )
				{
					parent.inputs.push(tmp[k]);
					tmp[k].onfocus = function(){ parent.focus(this) };
					tmp[k].onblur = function(){ parent.blur(this) };
				}
			}
		}
	}
	catch(e){ errorhandler(e); }
}

stardust.addLoadEvent(function(){
	new contact_form($('contact'));
	new contact_form($('faq_form'));
	});

/******************************** RESIZEABLE TEXTAREA ********************************/

var resize_textarea = function( object )
{
	var parent = this;
	parent.o = object;
	parent.div = false;
	parent.allow = false;
	parent.min_height = 100;
	parent.max_height = 400;
	parent.startheight = 0;
	
	parent.init = function()
	{
		parent.div = stardust.createTag('span', {height:'20px',padding:'0px',width:'460px',background:'url(/content/images/textarea_handler.gif) bottom center no-repeat'});
		parent.o.parentNode.appendChild(parent.div);
		parent.clone = parent.o;
		
		parent.clone.parentNode.onclick = function()
		{
			parent.clone.focus();
		}
		
		parent.clone.parentNode.onmousedown = function(e)
		{
			parent.clone.focus();
			parent.allow = true;
			parent.startheight = Math.abs(stardust.mouseAbsolute(e)[1]-stardust.elementPosition(parent.clone)[1]);
		}
		document.onmouseup = function()
		{
			parent.allow = false;
			parent.highlight();
		}
		
		parent.clone.parentNode.onmouseout = function()
		{
			//if(parent.allow) parent.clone.focus();
		}
		
		parent.clone.parentNode.onmousemove = function(e)
		{
			this.style.cursor = 'N-resize';
			if( parent.allow )
			{
				parent.clone.focus();
				var h1 = stardust.mouseAbsolute(e)[1]-3;
				var h2 = stardust.elementPosition(parent.clone)[1]+parent.startheight;
				var h = parent.startheight+(h1-h2);
				parent.setheight(h);
			}
			parent.highlight();
		}
	}

	parent.setheight = function( h )
	{
		if( h>=parent.max_height )
		{
			stardust.height(parent.clone, parent.max_height);
			return;
		}
		if( h<=parent.min_height )
		{
			stardust.height(parent.clone, parent.min_height);
			return;
		}
		parent.clone.focus();
		stardust.height(parent.clone.parentNode.parentNode, h+10);
		stardust.height(parent.clone, h);
	}
	
	parent.highlight = function()
	{
		parent.div.style.backgroundPosition = parent.clone.className.match(/highlight/gi)? 'top center':'bottom center';
	}
	
	parent.init();
}
stardust.addLoadEvent(function(){
	var list = stardust.getElementsByClassName('js_resizetextarea', 'textarea', document);
	for(k in list) new resize_textarea(list[k]);
	});

/******************************** INDEX BROWSERS ********************************/

var index_browsers = function()
{
	var parent = this;
	parent.o = $('index_browsers');
	parent.data;
	parent.srcs = new Array();
	parent.urls = new Array();
	parent.images = new Array();
	parent.current = 0;
	parent.st = null;
	parent.count = 0;
	parent.start = 30;
	parent.width = 130;
	parent.delay = 5000;
	
	parent.loadimages = function()
	{
		if( parent.data.length>0 )
		{
			var data = parent.data.splice(Math.floor(Math.random()*parent.data.length),1);
			var img = stardust.createTag('img', {position:'absolute',top:'15px',left:(parent.start + (parent.images.length)*parent.width),title:data[0][2]});
			img.onload = function()
			{
				parent.st = window.setTimeout(parent.loadimages, 10);
			}
			img.onclick = function()
			{
				window.location.href = 'http://' + location.host + '/' + data[0][1];
			}
			img.onmouseover = function()
			{
				this.style.cursor = 'pointer';
				stardust.top(this, 13);
			}
			img.onmouseout = function()
			{
				stardust.top(this, 15);
			}
			img.src = data[0][0];
			parent.o.appendChild(img);
			parent.images.push(img);
		}
		else
		{
			parent.count = parent.images.length;
			parent.o.removeChild(parent.spinner);
			parent.st = window.setTimeout(parent.slide, parent.delay);
		}
	}
	
	parent.slide = function()
	{
		var sleep = false;
		var d = Math.abs( stardust.left(parent.images[parent.current])-parent.start )/(parent.start+parent.width);
		for(k in parent.images)
		{
			var l = stardust.left(parent.images[k]) - 5;
			if( stardust.left(parent.images[k])<=-(parent.width-parent.start) )
			{
				parent.current = parseInt(k)+1==parent.count? 0:parseInt(k)+1;
				stardust.left(parent.images[k], parent.start+((parent.count-1)*parent.width) );
				sleep = true;
			}
			else
			{
				stardust.left(parent.images[k], l);
			}
		}
		stardust.opacity(parent.images[parent.current], sleep? 1:1-d );
		var plus1 = parent.current+1>=parent.count? parent.current+1-parent.count:parent.current+1;
		stardust.opacity(parent.images[plus1], 1);
		var plus2 = parent.current+2>=parent.count? parent.current+2-parent.count:parent.current+2;
		stardust.opacity(parent.images[plus2], d);
		
		parent.st = window.setTimeout(parent.slide, sleep? parent.delay:10);
	}
	
	parent.init = function()
	{
		parent.spinner = stardust.createTag('img', {src:'/content/images/spinner.gif',position:'absolute',left:'130px',top:'70px'});
		parent.o.appendChild(parent.spinner);
		var data = stardust.getElementsByName('data', 'input', parent.o)[0].value;
		parent.data = JSON.decode(data)==undefined? eval('' + data + ''):JSON.decode(data);
		
		parent.next = stardust.createTag('img', {src:'/content/images/common_li_arrow.gif',position:'absolute',left:'260px',top:'5px',zIndex:201});
		parent.next.onclick = function()
		{
			window.clearTimeout(parent.st);
			parent.st = window.setTimeout(parent.slide, 10);
		}
		parent.next.onmouseover = function()
		{
			this.style.cursor = 'pointer';
		}
		parent.o.appendChild(parent.next);
		parent.loadimages();
	}
	
	if(parent.o) parent.init();
}

stardust.addLoadEvent(function(){ new index_browsers(); });

/******************************** MSIE6 ********************************/

var msie6 = function()
{
	var parent = this;
	parent.o;
	parent.st;
	
	parent.fade = function()
	{
		window.clearTimeout(parent.st);
		var p = stardust.opacity(parent.div1) + 0.25;
		if( p<1 )
		{
			if(p<=0.7) stardust.opacity(parent.div0, p);
			stardust.opacity(parent.div1, p);
			parent.st = window.setTimeout(parent.fade, 10);
		}
		else
		{
			stardust.opacity(parent.div0, 0.7);
			stardust.opacity(parent.div1, 1);
			parent.st = window.setTimeout(parent.settop, 10);
		}
	}
	
	parent.close = function()
	{
		window.clearTimeout(parent.st);
		document.body.removeChild(parent.div0);
		document.body.removeChild(parent.div1);
	}
	
	parent.settop = function()
	{
		window.clearTimeout(parent.st);
		var top = stardust.padding(parent.div1)[0];
		if( top==0 ) top = stardust.elementPosition(parent.div2)[1];
		var scroll = stardust.scrollY();
		var dif = Math.abs(top-(100+scroll));
		
		if( dif>5 )
		{
			var step = 200;
			if( dif<=1000 ) step = 4 + parseInt(step*Math.sin(3.14*dif/2000));
			var dir = top-(100+scroll)>0? -step:step;
			stardust.padding(parent.div1, [top+dir, 0, 0, 0]);
		}
		parent.st = window.setTimeout(parent.settop, 0);
	}
	
	parent.init = function()
	{
		parent.o = stardust.getElementsByName('msie6', 'input', document.body)[0];
		if( parent.o )
		{
			parent.div0 = stardust.createTag('div', {position:'absolute',width:'100%',zIndex:1200,textAlign:'center',opacity:0,height:stardust.getBodyDimensions()[1]+'px',background:'#000',innerHTML:'&nbsp;'});
			parent.div1 = stardust.createTag('div', {id:'msie6alert',zIndex:1201,opacity:0});
			parent.div2 = stardust.createTag('div', {className:'content',innerHTML:parent.o.value});
			parent.div1.appendChild(parent.div2);
			document.body.insertBefore(parent.div0, document.body.childNodes[0]);
			document.body.insertBefore(parent.div1, document.body.childNodes[0]);
			stardust.getElementsByTagName('input', parent.div2)[0].onclick = parent.close;
			parent.st = window.setTimeout(parent.fade, 100);
		}
	}

	parent.init();
}

stardust.addLoadEvent(function(){ new msie6(); });

/******************************** DICTIONARY HIGHLIGHT ********************************/

var dictionary_highlight = function()
{
	var parent = this;
	parent.o = false;
	parent.hash = '';
	
	parent.highlight = function()
	{
		var new_hash = window.location.hash.substr(1);
		if( new_hash!=parent.hash && new_hash!='' )
		{
			parent.hash = new_hash;
			var list = stardust.getElementsByClassName('highlight', 'li', parent.o);
			for(k in list)
			{
				list[k].className = list[k].className.replace(/highlight/gi, '');
			}
			var element = stardust.getElementsByName(parent.hash, 'a', parent.o)[0];
			try
			{
				element.nextSibling.className = element.nextSibling.className + ' highlight';
			}catch(e){}
		}
	}
	
	parent.init = function()
	{
		try
		{
			parent.o = $('dictionary');
			parent.st = window.setInterval(parent.highlight, 500);
		}
		catch(e){}
	}
	parent.init();
}

stardust.addLoadEvent(function(){ new dictionary_highlight(); });

/******************************** FAQ HIGHLIGHT ********************************/

var faq_highlight = function()
{
	var parent = this;
	parent.o = false;
	parent.hash = '';
	
	parent.highlight = function()
	{
		var new_hash = window.location.hash.substr(1);
		if( new_hash!=parent.hash && new_hash!='' )
		{
			parent.hash = new_hash;
			var list = stardust.getElementsByClassName('highlight', 'div', parent.o);
			for(k in list)
			{
				list[k].className = list[k].className.replace(/highlight/gi, '');
			}
			var element = stardust.getElementsByName(parent.hash, 'a', parent.o)[0];
			if( element )
			{
				element.nextSibling.nextSibling.className = element.nextSibling.nextSibling.className + ' highlight';
			}	
		}
	}
	
	parent.init = function()
	{
		try
		{
			parent.o = $('faq');
			parent.st = window.setInterval(parent.highlight, 500);
		}
		catch(e){}
	}
	parent.init();
}

//stardust.addLoadEvent(function(){ new faq_highlight(); });

/******************************** FAQ SLIDER ********************************/

var faq_slider = function()
{
	var parent = this;
	parent.obj;
	parent.step = 10;
	parent.dir = 0;
	
	parent.slide = function()
	{
		parent.step =  parseInt(stardust.getElementsByClassName('last_element', 'div', parent.obj)[0].innerHTML.split(':')[1]);
		var max = parseInt(stardust.getElementsByClassName('last_element', 'div', parent.obj)[0].innerHTML.split(':')[0]);
		var h = stardust.height(parent.obj);
		h += parent.step * parent.dir * (Math.sin(Math.PI*(h/max))+0.2);
		parent.obj.previousSibling.previousSibling.style.display = parent.dir==1? 'block':'none';
		if( h<=max && h>=0 )
		{
			stardust.height(parent.obj, h);
			window.setTimeout(parent.slide, 0);
		}
		else
		{
			stardust.height(parent.obj, parent.dir==1? max:0);
			parent.dir = parent.dir*(-1);
		}
	}

	parent.question_click = function( obj )
	{
		obj.blur();
		var div = stardust.getElementsByClassName('last_element', 'div', obj.parentNode.nextSibling)[0];
		if( div==undefined )
		{
			var div = stardust.createTag('div', {display:'block',height:1,overflow:'hidden',innerHTML:'200',fontSize:1,className:'last_element'});
			obj.parentNode.nextSibling.appendChild(div);
			var height = Math.abs(stardust.elementPosition(obj.parentNode.nextSibling)[1] - stardust.elementPosition(div)[1] );
			parent.dir = 1;
			parent.step = height/6;
			div.innerHTML = height+':'+parent.step;
		}
		try
		{
			parent.obj = obj.parentNode.nextSibling;
			parent.dir = stardust.height(parent.obj)==0? 1:-1;
			window.setTimeout(parent.slide, 10);
		}
		catch(e){ errorhandler(e); }
	}
	
	parent.init = function()
	{
		try
		{
			parent.o = $('faq');
			var list = stardust.getElementsByClassName('slide', 'a', $('faq') );
			for(k in list)
			{
				list[k].onclick= function()
				{
					parent.question_click(this);
					return false;
				}
			}
			var list = stardust.getElementsByClassName('close_element', 'a', $('faq') );
			for(k in list)
			{
				list[k].onclick= function()
				{
					parent.question_click(this.nextSibling.lastChild);
					return false;
				}
			}

			var hash = window.location.hash.substr(1);
			if( hash!='' )
			{
				parent.question_click( stardust.getElementsByName(hash, 'a', parent.o)[0] );
			}
		}
		catch(e){}
	}
	parent.init();
}

stardust.addLoadEvent(function(){ new faq_slider(); });

/******************************** SLIDER ********************************/

var slider_dimm = function()
{
	var parent = this;
	parent.list = stardust.getElementsByClassName('textlink', 'a', $('slider'));
	
	for(var k in parent.list)
	{
		parent.list[k].setAttribute('title', '');
		
		parent.list[k].onmouseover = function()
		{
			for(var k in parent.list)
			{
				if( parent.list[k]!=this )
				{
					parent.list[k].className = parent.list[k].className + ' dimm';
				}
			}
		}

		parent.list[k].onmouseout = function()
		{
			for(var k in parent.list)
			{
				parent.list[k].className = parent.list[k].className.replace(/dimm/, '');
			}
		}
	}
}

stardust.addLoadEvent(function(){ new slider_dimm(); });

/******************************** HEADER SLIDER AJAX ********************************/

var header_slider_ajax = function()
{
	
	var as = stardust.getElementsByClassName('reload', 'a', $('slider') )[0];
	as.onclick = function()
	{
		var parent = this.parentNode;
		parent.className = parent.className + ' spinner';
		parent.ul = stardust.getElementsByTagName('ul', this.parentNode)[0];
		stardust.opacity(parent.ul, 0.05);
		var res = stardust.ajax( /*stardust.getElementsByTagName('base', document)[0].getAttribute('href') +*/ as.href + 'ajax/', false );
		if( res!='' )
		{
			try{
				this.parentNode.removeChild( parent.ul );
			}catch(e){}
			var ul = stardust.createTag('ul');
			ul.innerHTML = res;
			this.parentNode.appendChild( ul );
			new slider_dimm();
		}
		parent.className = parent.className.replace('spinner', '');
		//stardust.opacity(parent.ul, 1);
		return false;
	}
}

stardust.addLoadEvent(function(){ new header_slider_ajax(); });

/******************************** PRICELIST ********************************/

//$('pricelist').innerHTML = $('pricelist').innerHTML.replace(/,00/gi, ',<sup style="font-size: 10px;">00</sup>');


