/**
 * constructor
 */
var Ellenorzes = function() {
	this.utasokSzama;
	this.gyermekekSzama;
	this.szulokSzama;
	this.maiEv;
	this.utaslista = new Array();
	this.eletkorCsoportok = Array('0-3','4-13','14-15','16-17','18-30','31-64','65-69','70-79','80');
	this.opciokFigyelve = Array('kiegeszitosport1','otpkartya1');
}
Ellenorzes.prototype.eletkorBekero = function(tipus) {
	switch (tipus) {
		//válasszon
		case '0':
			this.bekeroEltuntetes();
		break;
		//egyeni
		case '1':
			this.bekeroEltuntetes();
			document.getElementById('egyenBekero').style.display = 'block';
		break;
		//családi
		case '2':
			this.bekeroEltuntetes();
			document.getElementById('csaladBekero').style.display = 'block';
		break;
		//csoportos
		case '3':
			this.bekeroEltuntetes();
			document.getElementById('egyenBekero').style.display = 'block';
		break;
	}
}
Ellenorzes.prototype.bekeroEltuntetes = function() {
	document.getElementById('csaladBekero').style.display = 'none';
	document.getElementById('egyenBekero').style.display = 'none';
}

Ellenorzes.prototype.iranyitoGombFigyelo = function() {
		//opcio figyelo
		var kijelolve = 0;
		for(i=0; i<this.opciokFigyelve.length; i++) {
			obj = document.getElementById(this.opciokFigyelve[i]);
			if ( obj.checked ) {
				kijelolve++;
			}
		}
		//utasok szama figyelo
		var utasokSzama = 0;
		for(i=0; i<this.eletkorCsoportok.length; i++) {
			ob = document.getElementById('eletkor'+this.eletkorCsoportok[i]);
			if ( Number(ob.value) < 0 ) {
			 continue;
			}
			if ( isNaN(ob.value) ) {
				continue;
			}
			utasokSzama += Number(ob.value);
		}
		if ( utasokSzama > 1 && kijelolve > 0) {
			document.getElementById('dijszamitasGomb').style.display='none';
			document.getElementById('tovabbGomb').style.display='block';
		} else {
			document.getElementById('tovabbGomb').style.display='none';
			document.getElementById('dijszamitasGomb').style.display='block';
		}
}

Ellenorzes.prototype.opciotVizsgal = function(obj,parancs) {
	var adatokKitoltve = this.elsoFormEllenorzes();
	switch (parancs) {
			case 'gyermekkedvezmeny':
				
				/*if ( this.utasokSzama == 1 ) {
					Number(document.getElementById("eletkor0-3").value) > 0);

				}*/
	
			if ( !adatokKitoltve ) obj.checked=false;
			//alert('gyermekkedvezmeny');
			break;
			case 'kiegeszitosport':
			if ( !adatokKitoltve ) obj.checked=false;
			//alert('kiegeszitosport');
			break;
			case 'otpkartya':
			if ( !adatokKitoltve ) obj.checked=false;
			//alert('otpkartya');
			break;
			case 'autoextra':
			if ( !adatokKitoltve ) obj.checked=false;
			//alert('autoextra');
			break;
			case 'baleset':
			if ( !adatokKitoltve ) obj.checked=false;
			//alert('baleset');
			break;
		}
}

/**
 * leellenorzi az elso utas adatainak bekérését
 * @return bool false, ha valami hibas volt
 */
Ellenorzes.prototype.elsoUtasFormEllenorzes = function() {
	return true;
}

/**
 * leellenorzi az utas dijszamitas masodik lepeset
 * @return bool false, ha valami hibas volt
 */
Ellenorzes.prototype.masodikFormEllenorzes = function() {
	for(i=0; i<this.utaslista.length; i++) {		
		
		if (this.utaslista[i].korcsoportIntervallum == '80') korintervallum_hatarozo = 'felett';
		else korintervallum_hatarozo = 'között';
					
		kiegeszitosport = document.getElementById("kiegeszitosport" + this.utaslista[i].korcsoportIntervallum);
		if ( kiegeszitosport != null ) {
			if ( this.valosSzamEllenorzese(kiegeszitosport) ) {
				this.kiSzinez(kiegeszitosport);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' sport baleset biztosítást igénybevevők száma hibásan lett megadva ('+ kiegeszitosport.value +' fő)!');
				return false;
			}
			if ( Number(kiegeszitosport.value) > this.utaslista[i].utasokSzama ) {
				this.kiSzinez(kiegeszitosport);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' sport baleset biztosítást igénybevevők száma ('+ kiegeszitosport.value +' fő) több mint a korcsoportban az utasok száma ('+ this.utaslista[i].utasokSzama +' fő)!');
				return false;
			}
		}
		
		baleset = document.getElementById("baleset" + this.utaslista[i].korcsoportIntervallum);
		if ( baleset != null ) {
			if ( this.valosSzamEllenorzese(baleset) ) {
				this.kiSzinez(baleset);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' sport baleset biztosítást igénybevevők száma hibásan lett megadva ('+ baleset.value +' fő)!');
				return false;
			}
			if ( Number(baleset.value) > this.utaslista[i].utasokSzama ) {
				this.kiSzinez(baleset);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' kiegészítő baleset biztosítást igénybevevők száma ('+ baleset.value +' fő) több mint a korcsoportban az utasok száma ('+ this.utaslista[i].utasokSzama +' fő)!');
				return false;
			}
		}
		
		gyermekkedvezmeny = document.getElementById("gyermekkedvezmeny" + this.utaslista[i].korcsoportIntervallum);
		if ( gyermekkedvezmeny != null ) {
			if ( this.valosSzamEllenorzese(gyermekkedvezmeny) ) {
				this.kiSzinez(gyermekkedvezmeny);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' 18 év alatti gyermek hozzátartozóval utazók száma hibásan lett megadva ('+ gyermekkedvezmeny.value +' fő)!');
				return false;
			}
			if ( Number(gyermekkedvezmeny.value) > this.utaslista[i].utasokSzama ) {
				this.kiSzinez(gyermekkedvezmeny);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' 18 év alatti gyermek hozzátartozóval utazók száma ('+ gyermekkedvezmeny.value +' fő) több mint a korcsoportban az utasok száma ('+ this.utaslista[i].utasokSzama +' fő)!');
				return false;
			}
		}
		
		autoextra = document.getElementById("autoextra" + this.utaslista[i].korcsoportIntervallum);
		if ( autoextra != null ) {
			if ( this.valosSzamEllenorzese(autoextra) ) {
				this.kiSzinez(autoextra);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' kiegészítő autó biztosítást igénybevevők száma hibásan lett megadva ('+ autoextra.value +' fő)!');
				return false;
			}
			if ( Number(autoextra.value) > this.utaslista[i].utasokSzama ) {
				this.kiSzinez(autoextra);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' kiegészítő autó biztosítást igénybevevők száma ('+ autoextra.value +' fő) több mint a korcsoportban az utasok száma ('+ this.utaslista[i].utasokSzama +' fő)!');
				return false;
			}
		}
		
		otpkartya = document.getElementById("otpkartya" + this.utaslista[i].korcsoportIntervallum);
		if ( otpkartya != null ) {
			if ( this.valosSzamEllenorzese(otpkartya) ) {
				this.kiSzinez(otpkartya);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' OTP bankkártya tulajdonosok száma hibásan lett megadva ('+ otpkartya.value +' fő)!');
				return false;
			}
			if ( Number(otpkartya.value) > this.utaslista[i].utasokSzama ) {
				this.kiSzinez(otpkartya);
				alert('A ' + this.utaslista[i].korcsoportIntervallum + ' éves kor '+ korintervallum_hatarozo +' OTP bankkártya tulajdonosok száma ('+ otpkartya.value +' fő) több mint a korcsoportban az utasok száma ('+ this.utaslista[i].utasokSzama +' fő)!');
				return false;
			}
		}
	}
	
	return true;
}

Ellenorzes.prototype.utaslistaHozzaadas = function(korcsoport, fo) {
	this.utaslista.push({korcsoportIntervallum:String(korcsoport), utasokSzama:Number(fo)});
}

Ellenorzes.prototype.valosSzamEllenorzese = function(ob) {
	var hiba = false;
	if ( Number(ob.value) < 0 ) {
		hiba = true;
	}
	if ( isNaN(ob.value) ) {
		hiba = true;
	}
	return hiba;
}
/**
 * leellenorzi az utas dijszamitas elso lepesenek kotelezoen kitoltendo input elemeinek kitoltottseget
 * @return bool false, ha valami hibas volt
 */
Ellenorzes.prototype.elsoFormEllenorzes = function() {
	
	this.utasokSzama = 0;
	this.maiEv = new Date();
	
	//-------------------------------------------------- Az utazas úticélja:
	//ha nem lett kivalasztva az az utazas úticélja
	if ( document.getElementById('uticel').value == '0' ) {
		this.kiSzinez(document.getElementById('uticel'));
		alert("Kérjük adja meg az utazás úticélját!");
		return false;
	}
	//-------------------------------------------------- Utas e:
	//ha nem lett kivalasztva az az utazas úticélja
	if ( document.getElementById('utase').value == 'Nincs' ) {
		this.kiSzinez(document.getElementById('utase'));
		alert("Kérjük adja meg, hogy Ön is a biztosítandó utazók között van!");
		return false;
	}
	//-------------------------------------------------- Az indulás időpontja:
	//ha kisebb indulás év lett megadva a mai évnel
	if ( document.getElementById('indulev').value < Number(this.maiEv.getFullYear()) ) {
		this.kiSzinez(document.getElementById('indulev'));
		alert("Az indulás éve kisebb az idei évnél!");
		return false;
	}
	//ha nem csak szám az indulás éve
	if ( isNaN(document.getElementById('indulev').value) ) {
		this.kiSzinez(document.getElementById('indulev'));
		alert("Az indulás éve csak számot tartalmazhat!");
		return false;
	}
	//ha kisebb indulás nap lett megadva 0 nál
	if ( document.getElementById('indulnap').value < 0 ) {
		this.kiSzinez(document.getElementById('indulnap'));
		alert("Az indulás nap kisebb 0-nál!");
		return false;
	}
	//ha nagyobb indulás nap lett megadva 31 nél
	if ( document.getElementById('indulnap').value > 31 ) {
		this.kiSzinez(document.getElementById('indulnap'));
		alert("Az indulás nap nagyobb 31-nél!");
		return false;
	}
	//ha nem csak szám az indulás nap
	if ( isNaN(document.getElementById('indulnap').value) ) {
		this.kiSzinez(document.getElementById('indulnap'));
		alert("Az indulás nap csak számot tartalmazhat!");
		return false;
	}
	//valós dátum-e az indulási időpont
	if(this.datumEllenorzes(document.getElementById('indulev').value,document.getElementById('indulho').value ,document.getElementById('indulnap').value) == false){
		this.kiSzinez(document.getElementById('indulnap'));
		alert("Nem létező dátumot adott meg az indulás időpontjára!");
		return false;
	}
	//-------------------------------------------------- Az visszaérkezés időpontja:
	//ha kisebb visszaérkezési év lett megadva a mai évnel
	if ( document.getElementById('erkezev').value < Number(this.maiEv.getFullYear()) ) {
		this.kiSzinez(document.getElementById('erkezev'));
		alert("A visszaérkezés éve kisebb az idei évnél!");
		return false;
	}
	//ha nem csak szám az visszaérkezés éve
	if ( isNaN(document.getElementById('erkezev').value) ) {
		this.kiSzinez(document.getElementById('erkezev'));
		alert("A visszaérkezés éve csak számot tartalmazhat!");
		return false;
	}
	//ha kisebb visszaérkezési nap lett megadva 0 nál
	if ( document.getElementById('erkeznap').value < 0 ) {
		this.kiSzinez(document.getElementById('erkeznap'));
		alert("A visszaérkezési nap kisebb 0-nál!");
		return false;
	}
	//ha nagyobb visszaérkezési nap lett megadva 31 nél
	if ( document.getElementById('erkeznap').value > 31 ) {
		this.kiSzinez(document.getElementById('erkeznap'));
		alert("A visszaérkezési nap nagyobb 31-nél!");
		return false;
	}
	//ha nem csak szám az visszaérkezési nap
	if ( isNaN(document.getElementById('erkeznap').value) ) {
		this.kiSzinez(document.getElementById('erkeznap'));
		alert("A visszaérkezési nap csak számot tartalmazhat!");
		return false;
	}
	//valós dátum-e az visszaérkezési időpont
	if(this.datumEllenorzes(document.getElementById('erkezev').value,document.getElementById('erkezho').value ,document.getElementById('erkeznap').value) == false){
		this.kiSzinez(document.getElementById('erkeznap'));
		alert("Nem létező dátumot adott meg a visszaérkezés időpontjára!");
		return false;
	}
	//-------------------------------------------------- Az utazas érkezésének és indulásának összehasonlítása:
	if ( this.datumOsszehasonlito(Number(document.getElementById('indulev').value),Number(document.getElementById('indulho').value),Number(document.getElementById('indulnap').value),Number(document.getElementById('erkezev').value),Number(document.getElementById('erkezho').value),Number(document.getElementById('erkeznap').value) ) == true) {
		alert("A visszaérkezés időpontja kisebb az indulás időpontjánál!");
		return false;
	}
	//-------------------------------------------------- Az utazas típusa:
	//ha nem lett kivalasztva az utazás típusát
	if ( document.getElementById('utazastipus').value == '0' ) {
		this.kiSzinez(document.getElementById('utazastipus'));
		alert("Nem adta meg az utazás típusát!");
		return false;
	}
	
	if (document.getElementById('utazastipus') != 2 ) {
		var autoextra = document.getElementById('autoextra1');
	} else {
		var autoextra = document.getElementById('autoextra2');
	}
	if (autoextra.checked==true){
		var utazasiNapokSzama = this.getUtazasiNapokSzama(
								Number(document.getElementById('indulev').value),
								Number(document.getElementById('indulho').value),
								Number(document.getElementById('indulnap').value),
								Number(document.getElementById('erkezev').value),
								Number(document.getElementById('erkezho').value),
								Number(document.getElementById('erkeznap').value) 
								);
		if (Number(utazasiNapokSzama) > 30) {
			
			alert("Kiegészítő autóbiztosítást maximum 30 napra lehet kötni (Utazási napjainak száma "+Number(utazasiNapokSzama)+" nap)!");	
			autoextra.checked=false;
			return false;
		}
	}
	
	//-------------------------------------------------- Az utasok száma:
	if ( document.getElementById('utazastipus').value == '1' || document.getElementById('utazastipus').value == '3' ) {
		var eletkorCsoportok = Array('0-3','4-13','14-15','16-17','18-30','31-64','65-69','70-79','80');
		this.utasokSzama = 0;
		for(i=0; i<eletkorCsoportok.length; i++) {
			if ( this.resztvevoSzemelyekEllenorzese('eletkor'+eletkorCsoportok[i]) == true ) {
				this.kiSzinez(document.getElementById('eletkor'+eletkorCsoportok[i]));
				alert("Hibásan adta meg a " + eletkorCsoportok[i] +" éves kornál az utasok számát!");
				return false;
			}
		}
		if ( this.utasokSzama == 0 ) {
			alert("Nem adta meg az utazásban résztvevő személyek számát!");
			return false;
		}
		if ( this.utasokSzama > 200 ) {
			alert("Az utasok száma összesen nem haladhatja meg az 200 főt!");
			return false;
		}
	} else if ( document.getElementById('utazastipus').value == '2' ) {
		
		//szulok ellenorzese
		var szuloiCsoportok = Array('1','2');
		this.szulokSzama = 0;
		for(i=0; i<szuloiCsoportok.length; i++) {
			if ( this.resztvevoSzulokEllenorzese('szulo'+szuloiCsoportok[i]) == true ) {
				this.kiSzinez(document.getElementById('szulo'+szuloiCsoportok[i]));
				alert(szuloiCsoportok[i] +". szülő életkorának megadása hibásan lett megadva!");
				return false;
			}
			if ( document.getElementById('szulo'+szuloiCsoportok[i]).value < 18 && document.getElementById('szulo'+szuloiCsoportok[i]).value != '' ) {
				alert(szuloiCsoportok[i] +". szülő életkora a 18. évet be kell hogy töltse!");
				return false;
			}
		}
		if ( this.szulokSzama == 0 ) {
			alert("Legalább 1 szülőnek meg kell adni az életkorát!");
			return false;
		}
	
		//gyermekek ellenorzese
		var gyermekCsoportok = Array('0-3','4-13','14-15','16-17');
		this.gyermekekSzama = 0;
		for(i=0; i<gyermekCsoportok.length; i++) {
			if ( this.resztvevoGyermekekEllenorzese('gyeletkor'+gyermekCsoportok[i]) == true ) {
				this.kiSzinez(document.getElementById('gyeletkor'+gyermekCsoportok[i]));
				alert("Hibásan adta meg a " + gyermekCsoportok[i] +" éves kornál a gyermekek számát!");
				return false;
			}
		}
		if ( this.gyermekekSzama == 0 ) {
			alert("Legalább 1 gyermeknek utazni kell a szölővel!");
			return false;
		}
		if ( this.gyermekekSzama > 5 ) {
			alert("A gyermekek száma összesen nem haladhatja meg az 5 főt!");
			return false;
		}
		
	}
	return true;
}
/**
 * leellenorzi az utas dijszamitas eredmény oldalát
 * @return bool false, ha valami hibas volt
 */
Ellenorzes.prototype.djszamitasFormEllenorzes = function() {
	ob = document.getElementById('fizetes');
	if (ob.value == 'nincs') {
		this.kiSzinez(ob);
		alert("Kérjük válassza ki a fizetés módját!");
		return false;
	}
	return true;
}

Ellenorzes.prototype.osszehasonlitoCsoportAll = function(){
	var inputs = document.getElementsByTagName('input');
	var kijelol = this.osszehasonlitoVanKijelolt();
	for (var i=0; i < inputs.length; i++) {
		pattern = new RegExp("termek([0-9]+)","g");
		if ( inputs[i].name.match(pattern) ) {
			inputs[i].checked = kijelol;	
			this.osszehasonlitoCsoportKijelol(inputs[i]);
		}
	}
}

Ellenorzes.prototype.osszehasonlitoVanKijelolt = function(){
	var inputs = document.getElementsByTagName('input');
	var csoportszam=0;
	var kijelolCsoport=0;
	for (var i=0; i < inputs.length; i++) {
		pattern = new RegExp("termek([0-9]+)","g");
		if ( inputs[i].name.match(pattern) ) {
			csoportszam++
			if ( inputs[i].checked == true ) {
				kijelolCsoport++;
			}
		}
	}	
	if ( kijelolCsoport>=0 && csoportszam!=kijelolCsoport ) {
		return true;
	} else {
		return false;
	}
}

Ellenorzes.prototype.osszehasonlitoCsoportKijelol = function(obj){
	var tr = obj.parentNode.parentNode.parentNode.parentNode;
	var classN = tr.className.split('kijeloltBg').join('');
	//alert(obj.checked);
	if ( obj.checked == true ) {
		tr.className = classN + ' kijeloltBg';
	} else {
		tr.className = classN + '';
	}
	this.osszehasonlitoSzabaly();
}

Ellenorzes.prototype.osszehasonlitoSzabaly = function(){
	var see = document.getElementById('see');
	see.style.cursor='pointer';
	if ( this.osszehasonlitoVanKijelolt() ) {
		see.title='Minden utastermék bejelölése';
	} else {
		see.title='Minden utastermék visszajelölése';
	}
}
/**
 * Utazásban résztvevő személyek száma ellenurzése
 * @param {string} id
 * @return bool
 */
Ellenorzes.prototype.resztvevoSzemelyekEllenorzese = function(id) {
	var hiba = false;
	ob = document.getElementById(id);
	if ( Number(ob.value) < 0 ) {
		hiba = true;
	}
	if ( isNaN(ob.value) ) {
		hiba = true;
	}
	if ( hiba == false ) {
		this.utasokSzama += Number(ob.value);
	}
	return hiba;
}
/**
 * Utazásban résztvevő gyermekek száma ellenőrzése, ha család
 * @param {string} id
 * @return bool
 */
Ellenorzes.prototype.resztvevoGyermekekEllenorzese = function(id) {
	var hiba = false;
	ob = document.getElementById(id);
	if ( Number(ob.value) < 0 ) {
		hiba = true;
	}
	if ( isNaN(ob.value) ) {
		hiba = true;
	}
	if ( hiba == false ) {
		this.gyermekekSzama += Number(ob.value);
	}
	return hiba;
}
/**
 * Utazásban résztvevő szülők száma ellenőrzése, ha család
 * @param {string} id
 * @return bool
 */
Ellenorzes.prototype.resztvevoSzulokEllenorzese = function(id) {
	var hiba = false;
	ob = document.getElementById(id);

	if ( Number(ob.value) < 0 ) {
		hiba = true;
	}
	if ( isNaN(ob.value) ) {
		hiba = true;
	}
	if ( hiba == false ) {
		this.szulokSzama += Number(ob.value);
	}
	return hiba;
}
/**
 * Két dátum közöttt eltelt napok száma
 * @param {string} id
 * @return bool
 */
Ellenorzes.prototype.getUtazasiNapokSzama = function(elotteEv,elotteHo,elotteNap,utanaEv,utanaHo,utanaNap) {
	var Begin = new Date(elotteEv,elotteHo,elotteNap).getTime();
	var End   = new Date(utanaEv,utanaHo,utanaNap).getTime(); 
	var diff  =  Math.floor(((End - Begin) / (24*60*60) ) /1000) + 1;
	return diff;
}
/**
 * Két dátumot hasonlit össze
 * @param {string} id
 * @return bool
 */
Ellenorzes.prototype.datumOsszehasonlito = function(elotteEv,elotteHo,elotteNap,utanaEv,utanaHo,utanaNap) {
	var hiba = false;
	var elotteDate = new Date(elotteEv,elotteHo,elotteNap).getTime();
	var utanaDate = new Date(utanaEv,utanaHo,utanaNap).getTime();
	if( utanaDate-elotteDate < 0 ) hiba = true;
	return hiba;
}
/**
 * atszinezi a parameterkent atadott objektum hatterszinet, ezzel jelezve az urlap ellenorzese soran problemasan kitoltott urlapelemet
 * @param {Object} ob
 * @return void
 */
Ellenorzes.prototype.BemenetAktiv = function(ob) {
	ob.style.color = '#000000';
	ob.style.borderStyle = 'solid';
	ob.style.backgroundColor = '#FFFFFF';
}
/**
 * visszadja, hogy a parameterkent atadott datum valos datum-e
 * @param integer ev
 * @param integer ho
 * @param integer nap
 * @return 
 */
Ellenorzes.prototype.datumEllenorzes = function(y, m, d) {
  with (new Date(y, m-1, d))
    return (getMonth()==m-1 && getDate()==d); 
}
/**
 * visszadja, hogy a parametrekent atadott ertek szam-e
 * @param {Object} ob
 * @return bool true, ha nem szam, egyebkent false
 */
Ellenorzes.prototype.szamEllenorzes = function(ob) {
	if (isNaN(ob)) return true; else return false; 
}
/**
 * parameterkent atadott objektum hatterszinet visszaszinezi az eredeti szinre
 * @param {Object} ob
 * @return void
 */
Ellenorzes.prototype.visszaSzinez = function(ob) {
	var class_neve = ob.className.split('_kijelolt').join('');
	ob.className = class_neve;
}
/**
 * a parametrkent atadott objektum hatterszinet az adott domainhez tartozo figyelmezteto szinre szinezi, es atadja neki a fokuszt
 * @param {Object} ob
 * @return void
 */
Ellenorzes.prototype.kiSzinez = function(ob) {
	ob.focus();
	var class_neve = ob.className;
	if( ob.className.indexOf('_kijelolt') == -1)
	ob.className = class_neve +'_kijelolt';
}
/**
 * törlés gombra belép a target mezőbe
 * @param {obj} evt 
 * @param {obj} obj 
 * @param {string} targetId 
 * @return bool
 */
Ellenorzes.prototype.forwardInput = function(evt,obj,targetId) {
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if (this.trim(obj.value) == '' && charCode == 8) {
		document.getElementById(targetId).focus();
		document.getElementById(targetId).value = document.getElementById(targetId).value;
	}
}
/**
 * megadott hosszra belép a target mezőbe
 * @param {int} valueLength 
 * @param {obj} obj 
 * @param {string} targetId 
 * @return bool
 */
Ellenorzes.prototype.nextInput = function(valueLength,obj,targetId) {
	if (obj.value.length == valueLength) {
		document.getElementById(targetId).focus();
	}
}
/**
 * ellenorzi, hogy ket tagu e a szó
 * @param {mix} ob or string
 * @return bool
 */
Ellenorzes.prototype.ketTag = function(ob , input) {
  if (input==true) var bemeno = String(ob.value);
  else var bemeno = String(ob);
  
  var pattern = new RegExp("\\S+ +\\S+","g");
  
  if (bemeno.match(pattern)) {
	return true;
  } else {
	return false;
  }
}
/**
 * levágja jobbról és balról az egyszerű whitespace karaktereket [ \f\n\r\t\v] 
 * \  space karakter
 * \f lapemelés
 * \n soremelés
 * \r kocsi-vissza 
 * \t tabulátor
 * \v függőleges tabulátor
 * @param {mix} ob or string
 * @return str
 */
Ellenorzes.prototype.vedettKarakterek = function(ob , input) {
  if (input==true) var bemeno = String(ob.value);
  else var bemeno = String(ob);
  
  var pattern = new RegExp("\\s|'|\"|[%]|\\x5c","g");
  kimeno = bemeno.replace(pattern, "");
  
  if (input==true) {
	  if (talalat = bemeno.match(pattern)) {
	  	alert('Tiltott karakter lett megadva (' + talalat[0] + '), törlésre kerül!');
	  }
	  ob.value = kimeno;	  
  }
  else return  kimeno;
}
/**
 * levágja jobbról és balról az egyszerű whitespace karaktereket [ \f\n\r\t\v] 
 * \  space karakter
 * \f lapemelés
 * \n soremelés
 * \r kocsi-vissza 
 * \t tabulátor
 * \v függőleges tabulátor
 * @param {mix} ob or string
 * @return str
 */
Ellenorzes.prototype.trim = function(ob , input) {
  if (input==true) var bemeno = String(ob.value);
  else var bemeno = String(ob);
  
  var pattern = new RegExp("^\\s+$","g");
  bemeno = bemeno.replace(pattern, "");
  
  var pattern = new RegExp("^\\s*((\\s*\\S+)+)\\s*$","g");
  kimeno = bemeno.replace(pattern, "$1");

  if (input==true) ob.value = kimeno;
  else return  kimeno;
}
/**
 * csak számot enged, úgy hogy az első karakter(ek) nem lehet(nek) 0 értékű(ek).
 * @param {mix} ob or string
 * @return string
 */
Ellenorzes.prototype.csakSzam = function(ob , input) {
  if (input==true) var bemeno = String(ob.value);
  else var bemeno = String(ob);
 
  var pattern = new RegExp("[^0-9]","g");
  bemeno = bemeno.replace(pattern, "");

  var pattern = new RegExp("^([0]+)?([1-9][0-9]*)$","g");
  bemeno = bemeno.replace(pattern, "$2");  

  var pattern = new RegExp("^[0]+$","g");
  kimeno = bemeno.replace(pattern, "");  
  
  if (input==true) ob.value = kimeno;
  else return  kimeno;
}
/**
 * csak számot enged, úgy hogy az első karakter(ek) lehet(nek) 0 értékű(ek).
 * @param {mix} ob or string
 * @return string
 */
Ellenorzes.prototype.csakSzam0lal = function(ob , input) {
  if (input==true) var bemeno = String(ob.value);
  else var bemeno = String(ob);
 
  var pattern = new RegExp("[^0-9]","g");
  kimeno = bemeno.replace(pattern, "");  
  
  if (input==true) ob.value = kimeno;
  else return  kimeno;
}
/**
 * beformázza a paraméterezett számot ezres kötegekbe szóköz karakterrel elválasztva
 * @param {Object} ob
 * @return string
 */
Ellenorzes.prototype.ezresCsoport = function(ob , input) {
  if (input==true) var bemeno = String(ob.value);
  else var bemeno = String(ob);
 
  bemeno = this.csakSzam(bemeno);
  
  var pattern = new RegExp("([0-9])(?=([0-9]{3})+(?![0-9]))","g");
  kimeno = bemeno.replace(pattern, "$1 ");
 
  if (input==true) ob.value = kimeno;
  else return  kimeno;
}