/*
 * requires jQuery (written with jQuery 1.4.2)
 * 
 * Author: Philipp Wrann
 *
 */

var c = '.';
var libPath = "/resources/js/actions/";

var keys =
{
	up : 38,
	down : 40,
	left : 37,
	right : 39,
	esc : 27,
	back : 8,
	tab : 9,
	enter : 13,
	shift : 16,
	ctrl : 17,
	alt : 18,
	del : 46
};

$(document).ready(function(){if (typeof lib == 'object') execute(lib)});

function execute(l,e){for (_key in l)executor(_key,arguments[1])}

function executor(s,e)
{
	try
	{
		if (typeof arguments[1] == 'object')
		{
			var _query='';
			for (var i=0; i<arguments[1].length;i++)
			{
				setId(arguments[1][i]);
				_query = _query+' #'+$(arguments[1][i]).attr('id');
				if (i+1 != arguments[1].length) _query = _query+',';
			}
			eval(s+'("'+_query+'")');
		}
		else
			eval(s+'('+arguments[1]+')');
	}
	catch(error)
	{
		$.getScript(libPath+s+'.js');
	}
}

function setId(e)
{	
	if ($(e).attr('id') == '')
	{
		var _tmpDate = new Date;
		var _tmpTime = _tmpDate.getTime();
		var _tmpId = _tmpTime;
		$(e).attr('id','z'+_tmpId.toString());
	}
	return $(e).attr('id');
}

function getNodes(e,p)
{
	switch (typeof e)
	{
		case 'string': return $(e+' '+p); break;
		case 'object': return $(p,e); break;
		default: return $(p); break;
	}
}

function getScrollY()
{
	var h = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
	return h ? h : 0;
}

function getInnerHeight()
{	
	var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
	return h ? h : 0;
}

function clearSelection ()
{
	if (document.selection) document.selection.empty();
	else if (window.getSelection) window.getSelection().removeAllRanges();
}
