String.prototype.trim=function() { return this.replace(/^\s+|\s+$/g,''); }

function BodyScrollTop()
{
	if (document.body.scrollTop) return document.body.scrollTop;
	else return document.documentElement.scrollTop;
}

function NullatNeki(s, mennyi)
{
	if (!mennyi) mennyi=2;
	var nulla='';
	s=s+'';
	for (var i=1; i<=mennyi-s.length; i++)
	{
		nulla+='0';
	}
	return nulla+''+s;
}

function addHttp(s)
{
	if (s.substr(0,7)!='http://') s='http://'+s;
	return s;
}

function htmlspecialchars(s)
{
	s.replace(/&/g, '&amp;');
	s.replace(/</g, '&lt;');
	s.replace(/>/g, '&gt;');
	s.replace(/"/g, '&quot;');
	s.replace(/'/g, '&#309;');
	return s;
}

function OpenInNewWindow(evt, src)
{
	window.open(src.href);
}

function DisableDefaultEvent(e)
{
	var evt=window.event || e;
	if (evt.preventDefault) evt.preventDefault();
	evt.returnValue=false;
	return false;
}

function SetOpacity(obj, op)
{
	obj.style.opacity=op;
	obj.style.filter='alpha(opacity='+(op*100)+')';
}

function HasClass(obj, c)
{
	var cucc=GetClasses(obj);
	if (!cucc || cucc.length==0) return false;
	for (var x in cucc)
	{
		if (cucc[x]==c) return true;
	}
	return false;
}

function GetClasses(obj)
{
	if (obj)
	{
		var fos=obj.className;
		if (fos) var temb=fos.split(' '); else return [];
		return temb;
	}
	else return [];
}

function AddClass(klassz, obj)
{
	if (obj)
	{
		if (obj.className=='') obj.className=klassz;
		else obj.className+=' '+klassz;
		return true;
	}
	else return false;
}

function RemoveClass(klassz, obj)
{
	if (obj)
	{
		var fos=GetClasses(obj);
		var ujklassz='';
		var found=false;
		for (var x in fos)
		{
			if (fos[x]!=klassz) ujklassz+=fos[x]+' ';
			else found=true;
		}
		obj.className=ujklassz;
		return found;
	}
	else return false;
}

function ReplaceClass(regi, uj, obj)
{
	if (obj)
	{
		var fos=GetClasses(obj);
		var ujklassz='';
		var found=false;
		for (var x in fos)
		{
			if (fos[x]!=regi) ujklassz+=fos[x]+' ';
			else
			{
				found=true;
				ujklassz+=uj+' ';
			}
		}
		if (found) obj.className=ujklassz;
		return found;
	}
	else return false;
}

var macska;
function disableSelection(element) 
{
  macska=element.onselectstart;
  element.onselectstart = function() { return false; };
  element.unselectable = "on";
  element.style.MozUserSelect = "none";
}

function enableSelection(element) 
{
  element.onselectstart = macska;
  element.unselectable = "off";
  element.style.MozUserSelect = "";
}

function findPos(obj) {
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent) {
    do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;		
		} while (obj = obj.offsetParent);			
    return [curleft,curtop];
	}
}		

function getRealStyle(element)
{
  if (element.currentStyle) return element.currentStyle;
  else return window.getComputedStyle(element,null);
}

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function CutPx(s)
{
  var pos=s.indexOf('px');
  s=s.slice(0, pos);
  return s;
}

function CutPercent(s)
{
  var pos=s.indexOf('%');
  s=s.slice(0, pos);
  return s;
}

function Refresh()
{
  location.href=location.href;
}

function ShowLoading()
{
	var loading;
	if (loading=document.getElementById('loading'))
	{
		loading.style.display='block';
		CenterDiv('loading');
	}
}

function HideLoading()
{
	var loading;
	if (loading=document.getElementById('loading'))
	{
		loading.style.display='none';
	}
}

function AjaxTest(valami)
{
  alert(valami);
}

//feldolgozo php neve, POST-ba mi menjen, visszakapott adatokat feldolgozo fgv
function ajaxFunction(php, poststring, fanksen)
{
	var ajaxRequest;
	ShowLoading();
	
	try
	{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} 
	catch (e)
	{
		// Internet Explorer Browsers
		try
		{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("No AJAX support!");
				return false;
			}
		}
	}
	
	ajaxRequest.onreadystatechange = function()
	{
		if(ajaxRequest.readyState == 4)
		{
			HideLoading();
			if (fanksen) fanksen(ajaxRequest.responseText);
		}
	}
	ajaxRequest.open("POST", php, true);
	ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajaxRequest.send(poststring);
}

//kozepre tesz egy divet
function CenterDiv(name) 
{
  if (document.getElementById) 
  {
    var windowHeight = getWindowHeight();
    var windowWidth = document.body.offsetWidth;
    if (windowHeight > 0) 
    {
      var contentElement = document.getElementById(name);
      var contentHeight = contentElement.offsetHeight;
      var contentWidth = contentElement.offsetWidth;
      if (windowHeight - contentHeight > 0) 
      {
        contentElement.style.top = ((windowHeight / 2) - (contentHeight / 2)) + 'px';
        contentElement.style.left = ((windowWidth / 2) - (contentWidth / 2)) + 'px';
      }
      else
      {
        contentElement.style.top = 0;
        contentElement.style.left = ((windowWidth / 2) - (contentWidth / 2)) + 'px';     	
      }
    }
  }
}

function getWindowHeight() {
  var windowHeight = 0;
  if (typeof(window.innerHeight) == 'number') {
    windowHeight = window.innerHeight;
  }
  else {
    if (document.documentElement && document.documentElement.clientHeight) {
      windowHeight = document.documentElement.clientHeight;
    }
    else {
      if (document.body && document.body.clientHeight) {
        windowHeight = document.body.clientHeight;
      }
    }
  }
  return windowHeight;
}

function RetekSemmi()
{
}

function addEvent(obj, evType, fn)
{ 
	var retek;
	if (obj.addEventListener)
	{
		obj.addEventListener(evType, retek=function(e) { fn(e, obj); }, false);
		return retek;
	} 
	else if (obj.attachEvent)
	{
		var r = obj.attachEvent("on"+evType, retek=function() { fn(window.event, obj); }); 
		return retek;
	} 
	else { return false; }
}

function removeEvent(obj, evType, fn)
{
	if (obj.removeEventListener)
	{
		obj.removeEventListener(evType, fn, false); 
		return true; 
	} 
	else if (obj.detachEvent)
	{
		var r = obj.detachEvent("on"+evType, fn); 
		return r; 
	} 
	else { return false; } 
}


function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(\\b)"+searchClass+"(\\b)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function IsEmail(s)
{
	var er = /^.+\@.+\..+$/;
	return er.test(s);
}

function LoseAccents(s)
{
	var ezt={
		'á' : 'a',
		'é' : 'e',
		'ó' : 'o',
		'ö' : 'o',
		'ő' : 'o',
		'ü' : 'u',
		'ű' : 'u',
		'ú' : 'u',
		'í' : 'i'
	};
	
	for (var x in ezt)
	{
		s=s.replace(x, ezt[x]);
	}
	return s;
}
