var JS = new Object();	

JS.$ = function()
{
	// if only one parameter, returns object HTMLElement or null
	if (arguments.length == 1) 
		return document.getElementById(arguments[0]);
	
	// else if more parameters
	var element;
	var elements = new Array();
	
	for (var i = 0; i < arguments.length; i++)
	{
		element = null;
		if (typeof(arguments[i]) == 'string')
			element = document.getElementById(arguments[i]);
		
		elements.push(element);
	}
	// returns Array
	return elements;
};

JS.getBodyElement = function()
{
	if (!this._documentBodyElement)
		this._documentBodyElement = document.body ? document.body : document.getElementsByTagName('body')[0];
	return this._documentBodyElement;
};

// vracia informaciu o velkosti okna (velkosti viditelnej casti dokumentu)
JS.getDocumentSize = function()
{
	if (document.body && document.body.clientWidth)
	{
		var width  = document.body.clientWidth;
		var height = document.body.clientHeight;
	}
	else
	{
		var width  = document.documentElement ? document.documentElement.clientWidth  : window.innerWidth;
		var height = document.documentElement ? document.documentElement.clientHeight : window.innerHeight;
	}
	return { width: width, height: height };
};


JS.addEventHandler = function( elementHTML, eventType, eventHandlerFn )
{
	// standard
	if (elementHTML.addEventListener)
		// odstranim "on" na zaciatku eventType
		elementHTML.addEventListener( eventType.replace(new RegExp('^on','i'), ''), eventHandlerFn, false );
	// pre IE
	else if (elementHTML.attachEvent)
		elementHTML.attachEvent( eventType, eventHandlerFn );
};

JS.setOpacity = function(element, percent)
{
	if (percent > 100) percent = 100;
	if (document.all && !window.opera)
		element.style.filter = 'Alpha(Opacity='+parseInt(percent)+')';
	//else if (!JS.Document.all && !window.opera && JS.Document.getElementById && !JS.Browser.isSafari)
		//element.style.MozOpacity = parseFloat(percent)/JS.N100;
	else
		element.style.opacity = parseFloat(percent)/100;
};



// ----------------------------------------------------------------------------

windowOnresizeHandler = function(e)
{	
	var width = JS.getDocumentSize().width;
	var availWidth = width-496;
	
	var cWidth = availWidth-90;
	if (cWidth<380) cWidth = 380;
	JS.$('content').style.width = cWidth+'px';
	
	if (availWidth<0) availWidth = 0;
	if (availWidth>454) availWidth = 454;
		
	JS.$('climber').style.width = availWidth+'px';
};

// ----------------------------------------------------------------------------

var contentPosition = 0;

contentShow = function()
{
	var content = JS.$('content');
	contentPosition = JS.getDocumentSize().height+50;
	content.style.marginTop = contentPosition+'px';
	content.style.display = 'block';
	windowOnresizeHandler();
	contentMoveIn();
	JS.addEventHandler( window, 'onresize', windowOnresizeHandler );
	//JS.getBodyElement().style.overflow = 'hidden';
};

contentMoveIn = function()
{
	var content = JS.$('content');
	contentPosition -= contentPosition/7 + 2;
	if (contentPosition<0) contentPosition = 0;
	content.style.marginTop = contentPosition+'px';
	//var opacity = 100-contentPosition;
	//if (opacity<0) opacity = 0;
	//JS.setOpacity(content, opacity);
	
	if (contentPosition>0)
		setTimeout(contentMoveIn, 30);
	else
	{
		// ----------------------------------------------------------------------------

		var pageBgImageOpacity = 0;
		var pageBgImageLoaded = false;

		pageBgImageOnloadHandler = function()
		{
					pageBgImageLoaded = true;
					pageBgImageOnload();
		};

		pageBgImageOnload = function()
		{
					var header = JS.$('header');
					pageBgImageFadeIn();
					header.style.display = 'block';
		};

		pageBgImageFadeIn = function()
		{
					var header = JS.$('header');
					JS.setOpacity(header, pageBgImageOpacity);
					pageBgImageOpacity += 20;
					if (pageBgImageOpacity<=100)
						setTimeout(pageBgImageFadeIn, 60);
					else
						menuBgImageOnload();
		};


		var pageBgImage = new Image();
					pageBgImage.onload = pageBgImageOnloadHandler;
					pageBgImage.src = 'css/bg.gif';


		// ----------------------------------------------------------------------------


		var menuBgImageOpacity = 0;
		var menuBgImageLoaded = false;

		menuBgImageOnloadHandler = function()
		{
					menuBgImageLoaded = true;
					menuBgImageOnload();
		};

		menuBgImageOnload = function()
		{
					if (menuBgImageLoaded && pageBgImageOpacity>=100)
					{
						var menu = JS.$('menu');
						menuBgImageFadeIn();
						menu.style.display = 'block';
					}
		};

		menuBgImageFadeIn = function()
		{
					var header = JS.$('menu');
					JS.setOpacity(header, menuBgImageOpacity);
					menuBgImageOpacity += 20;
					if (menuBgImageOpacity<=100)
						setTimeout(menuBgImageFadeIn, 60);
					else
						climberBgImageOnload();
		};
					
		var menuBgImage = new Image();
					menuBgImage.onload = menuBgImageOnloadHandler;
					menuBgImage.src = 'css/menu-bg.jpg';
					

		// ----------------------------------------------------------------------------

					
		var climberBgImagePosition = 0;
		var climberBgImageLoaded = false;

		climberBgImageOnloadHandler = function()
		{
					climberBgImageLoaded = true;
					climberBgImageOnload();
		};

		climberBgImageOnload = function()
		{
					if (climberBgImageLoaded && menuBgImageOpacity>=100)
					{
						var climber = JS.$('climber');
						climberBgImageMoveIn();
						climber.style.display = 'block';
					}
		};

		climberBgImageMoveIn = function()
		{
					var climber = JS.$('climber');
					if (climberBgImagePosition>454) climberBgImagePosition = 454;
					climber.style.width = climberBgImagePosition+'px';
					climberBgImagePosition += 50;
					
					var width = JS.getDocumentSize().width;
					var availWidth = width-496;
					if (availWidth<0) availWidth = 0;
					if (availWidth>454) availWidth = 454;
					
					if (climberBgImagePosition<=availWidth)
						setTimeout(climberBgImageMoveIn, 60);
					/*else
					{
						windowOnresizeHandler();
						contentShow();
					}*/
		};

					
		var climberBgImage = new Image();
					climberBgImage.onload = climberBgImageOnloadHandler;
					climberBgImage.src = 'css/climber.jpg';
					
					
		// ----------------------------------------------------------------------------
	}
		
	
};

contentShow();



	



// ----------------------------------------------------------------------------


vform = function( f )
{
	if (f.spatny_kontakt.value=='')
	{
		alert('Nezadali Ste spätný kontakt!');
		f.spatny_kontakt.focus();
		return false;
	}
	
	if (f.predmet_spravy.value=='')
	{
		alert('Nezadali Ste predmet správy!');
		f.predmet_spravy.focus();
		return false;
	}
	
	f.hash.value = 'ok';
	
	return true;
};