// Típusellenőrzések

function isValisHungarianMobileNumber(s){
	if ((!IsPositiveInteger(s))||(s.length != 11)||(s.charAt(0) != '0')||(s.charAt(1) != '6')){return false;}
	else{return true;}
}

function isAdoazonositoJel(s){
	if (s.length != 10){return(false);}
	else if (!IsPositiveInteger(s)){return(false);}
	else return(true);
}

function isAdoszam(s){
	if (s.length != 13){return(false);}
	else if ((s.charAt(8) != '-')||(s.charAt(10) != '-')){return(false);}
	else if ((!IsPositiveInteger(s.substr(0,8)))||(!IsPositiveInteger(s.substr(9,1)))||(!IsPositiveInteger(s.substr(11,2)))){return(false);}
	else return(true);
}

function isBankszamlaszam(s){
	if (s.length != 26){return(false);}
	else if ((s.charAt(8) != '-')||(s.charAt(17) != '-')){return(false);}
	else if ((!IsPositiveInteger(s.substr(0,8)))||(!IsPositiveInteger(s.substr(9,8)))||(!IsPositiveInteger(s.substr(18,8)))){return(false);}
	else return(true);
}

function isIranyitoszam(s){
	if (s.length != 4){return(false);}
	else if (!IsPositiveInteger(s)){return(false);}
	else return(true);
}

function isStatisztikaiSzamjegy(s){
	if (s.length != 20){return(false);}
	else if ((s.charAt(8) != '-')||(s.charAt(13) != '-')||(s.charAt(17) != '-')){return(false);}
	else if ((!IsPositiveInteger(s.substr(0,8)))||(!IsPositiveInteger(s.substr(9,4)))||(!IsPositiveInteger(s.substr(14,3)))||(!IsPositiveInteger(s.substr(18,2)))){return(false);}
	else return(true);
}

function isTAJszam(s){
	if (s.length != 11){return(false);}
	else if ((s.charAt(3) != '-')||(s.charAt(7) != '-')){return(false);}
	else if ((!IsPositiveInteger(s.substr(0,3)))||(!IsPositiveInteger(s.substr(4,3)))||(!IsPositiveInteger(s.substr(8,3)))){return(false);}
	else return(true);
}

function isTelefonszam(s){
	if ((s.length != 11)&&(s.length != 10)){return(false);}
	else if ((s.charAt(0) != '0')||(s.charAt(1) != '6')){return(false);}
	else if (!IsPositiveInteger(s)){return(false);}
	else return(true);
}

function isDatum(ev,honap,nap){
	var d = new Date();
	if ((ev == '')&&(honap == '')&&(nap == '')){return(true);}
	else{
		if (ev.length != 4){return(false);}
		else if (!IsPositiveInteger(ev)){return(false);}
		if (honap.length != 2){return(false);}
		else if (!IsPositiveInteger(honap)){return(false);}
		if (nap.length != 2){return(false);}
		else if (!IsPositiveInteger(nap)){return(false);}
		if (ev > getCurrentYear()){return(false);}
		else if (ev == getCurrentYear()){
			if (honap > getCurrentMonth()){return(false);}
			if (honap == getCurrentMonth()){
				if (nap > d.getDate()){return(false);}
				else {return(true);}
			}
			if (honap < getCurrentMonth()){
				if (nap > 31){return(false);}
				else{return(true);}
			}
		}
		else{
			if (honap > 12){return(false);}
			else{
				if (nap > 31){return(false);}
				else{return(true);}
			}
		}
	}
}

function isSzuletesiDatum(ev,honap,nap){
	var d = new Date();
	if ((ev == '')&&(honap == '')&&(nap == '')){return(true);}
	else{
		if (ev.length != 4){return(false);}
		else if (!IsPositiveInteger(ev)){return(false);}
		if (honap.length != 2){return(false);}
		else if (!IsPositiveInteger(honap)){return(false);}
		if (nap.length != 2){return(false);}
		else if (!IsPositiveInteger(nap)){return(false);}
		if (ev > getCurrentYear()){return(false);}
		else if (ev < 1900){return(false);}
		else if (ev == getCurrentYear()){
			if (honap > getCurrentMonth()){return(false);}
			if (honap == getCurrentMonth()){
				if (nap > d.getDate()){return(false);}
				else {return(true);}
			}
			if (honap < getCurrentMonth()){
				if (nap > 31){return(false);}
				else{return(true);}
			}
		}
		else{
			if (honap > 12){return(false);}
			else{
				if (nap > 31){return(false);}
				else{return(true);}
			}
		}
	}
}




// Egérkoordináták figyelése

var mouseX, mouseY;

function getMousePos(e)
{
	if (!e)
	var e = window.event||window.Event;
	if('undefined'!=typeof e.pageX){mouseX = e.pageX;	mouseY = e.pageY;}
	else{mouseX = e.clientX + document.body.scrollLeft; mouseY = e.clientY + document.body.scrollTop;}
}

if(window.Event && document.captureEvents)
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = getMousePos;


// --------------------------


// Visszaadja a böngésző ablak szélességét
function GetBrowserWindowWidth(){
	var myWidth = 0;
  if( typeof( window.innerWidth ) == 'number' ) {	//Non-IE
  	myWidth = window.innerWidth;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode'
  	myWidth = document.documentElement.clientWidth;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {	//IE 4 compatible
   	myWidth = document.body.clientWidth;
  }
  return myWidth;
}


// Visszaadja a böngésző ablak magasságát
function GetBrowserWindowHeight(){
	var myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) { //Non-IE
  	myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode'
  	myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {	//IE 4 compatible
    myHeight = document.body.clientHeight;
  }
  return myHeight;
}


// Az első textbox-ra rakja a fókuszt
function placeFocus() {
	if (document.forms.length > 0) {
		var field = document.forms[0];
			for (i = 0; i < field.length; i++) {
				if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
					document.forms[0].elements[i].focus();
					break;
         }
      }
   }
}


// Visszaadja, hogy a megadott prefixszel kezdődő checkbox-okból mennyi van kijelölve
function kijelolt_cb_nb(prefix){
	var i=1;
	var nb=0;
	while (document.getElementById(prefix+i)){
		if (document.getElementById(prefix+i).checked){nb++;};
		i++;
	}
	return(nb);
}


// Ellenőrzi, hogy csak számokat tartalmaz-e a mező
function IsPositiveInteger(strString){

 var strValidChars = "0123456789";
 var strChar;
 var blnResult = true;

 // üres string-et 0-nak veszünk, és számolhatunk vele --> tehát true
 if (strString.length == 0) return true;

 //  test strString consists of valid characters listed above
 for (var ii = 0; ii < strString.length && blnResult == true; ii++)
    {
    strChar = strString.charAt(ii);
    if (strValidChars.indexOf(strChar) == -1)
       {
       blnResult = false;
       }
     }
 return blnResult;
}


// Ellenőrzi, hogy a dátum szintaxisa helyes-e (ÉÉÉÉ-HH-NN, és 1-12, 1-31)
function isMysqlDate(s){

	var ev = s.substr(0,4);
	var honap = s.substr(5,2);
	var nap = s.substr(8,2);
	
	if (s.length != 10){return false;}
	else if ((s.substr(4,1) != '-')||(s.substr(7,1) != '-')){return false;}
	else if ((!IsPositiveInteger(ev))||(!IsPositiveInteger(honap))||(!IsPositiveInteger(nap))){return false;}
	else if ((honap < 1)||(honap > 12)){return false;}
	else if ((nap < 1)||(nap > 31)){return false;}
	else{return true;}

}


// Számok normális kerekítése 2 tizedesjegyre
function roundNumber(num) {
	var rnum = num;
	var rlength = 2;
	if (rnum > 8191 && rnum < 10485) {
		rnum = rnum-5000;
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		newnumber = newnumber+5000;
	} else {
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
	}
	return(newnumber);
}


// Visszaadja a sztringben megadott fájlnév kiterjesztését LowerCase-ben
function GetFileExtension(filename){
	if( filename.length == 0 ) return "";
	var dot = filename.lastIndexOf(".");
	if( dot == -1 ) return "";
	var extension = filename.substr(dot,filename.length);
	return extension.toLowerCase();
}


// Get_Date_MySQL - MySQL formátumú dátumot ad vissza (ÉÉÉÉ-HH-NN)
function get_date_mysql(){
	var currentTime = new Date();
	var month = currentTime.getMonth()+1;
	var day = currentTime.getDate();
	var year = currentTime.getFullYear();
	if (day < 10){day = '0'+day;}
	if (month < 10){month = '0'+month;}
	s = year+'-'+month+'-'+day;
	return s;
}

function getCurrentYear(){
	var currentTime = new Date();
	var year = currentTime.getFullYear();
	return year;
}

function getCurrentMonth(){
	var currentTime = new Date();
	var month = currentTime.getMonth()+1;
	return month;
}

function getCurrentDay(){
	var currentTime = new Date();
	var day = currentTime.getDate();
	return day;
}


// Véletlenszerű jelszó generálása
function GenerateRandomPassword(length)
{
  chars = "bcdfghjkmnpqrstvwxyzBCDFGHJKMNPQRSTVWXYZ1234567890";
  pass = "";
  
  i=0;
  while (i<length){
    j = Math.floor(Math.random() * 50);
    if (pass.match(chars.charAt(j)) == null){
    	i++;
    	pass += chars.charAt(j);
    }
  }
  return pass;
}


// Pop-Up ablak nyitása
function popup_sizeable(URL,w,h) {
  day = new Date();
  id = day.getTime();

  if (window.screen){ 
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,Width="+w+",Height="+h+",left = 0 ,top = 0');");
    }
  }
  

// Pop-Up ablak nyitása, nem méretezhető
function popup(URL,w,h) {
  day = new Date();
  id = day.getTime();

  if (window.screen){ 
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,Width="+w+",Height="+h+",left = 0 ,top = 0');");
    }
  }


// GoTo
function goTo(url){
	window.location.href = url;
}


// SELECT műveletek

function add_option(select_id, value, text)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = text;
  elOptNew.value = value;
  var elSel = document.getElementById(select_id);
  try { elSel.add(elOptNew, null); } // standards compliant; doesn't work in IE 
  catch(ex) { elSel.add(elOptNew); } // IE only 
}

function remove_all_options(select_id){
  var elSel = document.getElementById(select_id);
  var i;
  for (i=elSel.length-1; i>=0; i--){
    elSel.remove(i);
  }
}


// --- ToolTip cuccok ---


function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}


function xstooltip_show(tooltipId, parentId, posX, posY)
{
    it = document.getElementById(tooltipId);
    
    if (it){
    	if ((it.style.top == '' || it.style.top == 0) && (it.style.left == '' || it.style.left == 0))
    	{
        // IE or not IE
				var ie=document.all;
				var ns6=document.getElementById && !document.all;
        
        // need to fixate default size (MSIE problem)
        if (ie){
        	it.style.width = it.offsetWidth + 'px';
        	it.style.height = it.offsetHeight + 'px';
        }
        
        img = document.getElementById(parentId); 
    
				// Egérkurzor alatti megjelenés
				
        x = mouseX + 10;
        y = mouseY + 22;
        
        clientWidth = GetBrowserWindowWidth();
        clientHeight = GetBrowserWindowHeight();
        
				if (ie){div_width = it.offsetWidth;	div_height = it.offsetHeight;}
				else{div_width = it.scrollWidth; div_height = it.scrollHeight;}

				// És ha kell, akkor korrigáljuk a div pozícióját, hogy ne lógjon ki a tooltip az ablakból
				
				if (x + div_width - 18 > clientWidth){x = clientWidth - div_width - 18;}				
				
        it.style.top = y + 'px';
        it.style.left = x + 'px';
    	}

    	it.style.visibility = 'visible'; 
    }
}


function xstooltip_hide(id)
{
		clearTimeout(myTimer);
    it = document.getElementById(id); 
    it.style.top = '';
    it.style.left = '';
    it.style.visibility = 'hidden'; 
}


function delayed_xstooltip_show(tooltipId, parentId, posX, posY){
	var s = 'xstooltip_show(\''+tooltipId+'\', \''+parentId+'\', '+posX+', '+posY+');';
	myTimer=setTimeout(s, 700);
}


// --- Tooltip cuccok vége ---

/*function Alakit(Maradek, Oszto, Osztonev){
	
	
}

function Azaz(Mit){
	var EgyesStr = new Array(10);
	var TizesStr = new Array(10);
	var TizenStr = new Array(10);

	EgyesStr[0] = '';
	EgyesStr[1] = 'egy';
	EgyesStr[2] = 'kettő';
	EgyesStr[3] = 'három';
	EgyesStr[4] = 'négy';
	EgyesStr[5] = 'öt';
	EgyesStr[6] = 'hat';
	EgyesStr[7] = 'hét';
	EgyesStr[8] = 'nyolc';
	EgyesStr[9] = 'kilenc';
	
	TizesStr[0] = '';
	TizesStr[1] = 'tíz';
	TizesStr[2] = 'húsz';
	TizesStr[3] = 'harminc';
	TizesStr[4] = 'negyven';
	TizesStr[5] = 'ötven';
	TizesStr[6] = 'hatvan';
	TizesStr[7] = 'hetven';
	TizesStr[8] = 'nyolcvan';
	TizesStr[9] = 'kilencven';
	
	TizenStr[0] = '';
	TizenStr[1] = 'tizen';
	TizenStr[2] = 'huszon';
	TizenStr[3] = 'harminc';
	TizenStr[4] = 'negyven';
	TizenStr[5] = 'ötven';
	TizenStr[6] = 'hatvan';
	TizenStr[7] = 'hetven';
	TizenStr[8] = 'nyolcvan';
	TizenStr[9] = 'kilencven';
	
}


function Azaz(const Mit: Int64): string;
const
EgyesStr: array[0..9] of string =
('', 'egy', 'kettő', 'három', 'négy', 'öt', 'hat', 'hét', 'nyolc', 'kilenc');
TizesStr: array[0..9] of string =
('', 'tíz', 'húsz', 'harminc', 'negyven', 'ötven', 'hatvan', 'hetven', 'nyolcvan', 'kilencven');
TizenStr: array[0..9] of string =
('', 'tizen', 'huszon', 'harminc', 'negyven', 'ötven', 'hatvan', 'hetven', 'nyolcvan', 'kilencven');

  procedure Alakit(var Maradek: Int64; Oszto: Int64; const Osztonev: string);
  var
    Mit: integer;
  begin
    if Maradek >= Oszto then
    begin
      if Length(Result) > 0 then
        Result := Result + '-';
      Mit := Maradek div Oszto;
      if Mit >= 100 then
        Result := Result + EgyesStr[Mit div 100] + 'száz';
      Mit := Mit mod 100;
      if (Mit mod 10) <> 0 then
        Result := Result + TizenStr[Mit div 10] + EgyesStr[Mit mod 10] + Osztonev
      else
        Result := Result + TizesStr[Mit div 10] + Osztonev;
    end;
    Maradek := Maradek mod Oszto;
  end;
var
  Maradek: Int64;
begin
  Result := '';
  if (Mit = 0) then
    Result := 'Nulla'
  else
  begin
    Maradek := Abs(Mit);
    Assert(Maradek <= 999999999999);
    Alakit(Maradek, 1000000000, 'milliárd');
    Alakit(Maradek, 1000000, 'millió');
    Alakit(Maradek, 1000, 'ezer');
    Alakit(Maradek, 1, '');
    Result[1] := UpCase(Result[1]);
    if Mit < 0 then
      Result := 'Mínusz ' + Result;
  end;
end;

*/

