/**
 * Main javascript library
 */

function drukuj(url)
{
    var wydruk = 
		window.open(''+url,'Wydruk','width=820,height=600,left=20,top=20,resizable=1,scrollbars=yes,menubar=no');

	wydruk.focus(); 
}

/**
 * Register
 */

function focusBg(element, defaultClasses)
{
	try
	{
		if (defaultClasses == undefined)
		{
			element.className = "focused";
		}
		else
		{
			element.className = defaultClasses + " focused";
		}
	}
	catch (e)
	{
		throw e;
	}
}

function blurBg(element, defaultClasses)
{
	try
	{
		if (defaultClasses == undefined)
		{
			element.className = "blured";
		}
		else
		{
			element.className = defaultClasses + " blured";
		}

	}
	catch (e)
	{
		throw e;
	}

}

var previousString = null;


function countCharacters(element, counterId, countDownFrom)
{
	var counter = null;
	var result = 0;

	try
	{
		counter = document.getElementById(counterId);


		result = countDownFrom - (element.value.length);

		if (result >= 0)
		{
			counter.firstChild.data = result;
			previousString = element.value;
		}
		else
		{
				element.value = previousString;
				counter.firstChild.data = '0';
				
				alert('Za długi tekst!');
		}


	}
	catch (e)
	{
		throw e;
	}
}



var hiddenBoxElement;


function showMore(hiddenBoxId, e)
{
	if (!e)
	{
		var e = window.event;
	}	

	var x = posX(e);
	var y = posY(e);


	try
	{
		if (hiddenBoxElement != undefined || hiddenBoxElement != null)
		{
			hiddenBoxElement.style.display = 'none';
		}

		hiddenBoxElement = document.getElementById(hiddenBoxId);
		hiddenBoxElement.style.display = 'block';

		hiddenBoxElement.style.left = (x+30) + 'px';
		hiddenBoxElement.style.top = (y-5) + 'px';
		
	}
	catch (e)
	{
		throw e;
	}
}



function hideMore(hiddenBoxId)
{
	try
	{
		hiddenBoxElement = document.getElementById(hiddenBoxId);
		hiddenBoxElement.style.display = 'none';
		hiddenBoxElement = null;
	}
	catch (e)
	{
		throw e;
	}

}



function posX(e)
{
	var posx = 0;

	if (e.pageX)
 	{
		posx = e.pageX;
	}
	else if (e.clientX)
 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
	}

	return posx;
}



function posY(e)
{
	var posy = 0;

	if (e.pageY)
	{
		posy = e.pageY;
	}
	else if (e.clientY)
	{
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}

	return posy;
}



function setCheckBoxOnCondition(checkbox, condition)
{

	if (condition)
	{
		checkbox.checked = true;

		return true;
	}
	
	return false;
}



function isNotEmpty(element)
{

	if (element.value.length > 0)
	{
		return true;
	}

	return false;

}

