//mezo erteket (szam) formazza harmas tagolassal
function formaz (betu, szam) {
 var spec_chars=new Array(0,9,35,36,37,39,46,27,13);
 mehet=true;
 for (i=0;i<spec_chars.length;i++) {
  if (betu.keyCode==spec_chars[i]) mehet=false;
 }
 if (mehet) {
  szam.value=formaz2(szam.value);
 }
}

//egy szamot formaz harmas tagolassal
function formaz2 (szam) {
 sz=szam.toString().replace(/ /g,'');
 szindex=sz.search(/[.,]/);
 if (szindex>-1) k=szindex;
 else k=sz.length;
 sz2='';
 j=0;
 for (i=k;i>0;i--) {
  sz2=sz.charAt(i-1)+sz2;
   if (j==2 && i>1) {
    sz2=' '+sz2;
    j=-1;
   }
  j++;
 }
 if (szindex!=-1)  sz2=sz2+'.';
 j=0;
 for (i=k+1;i<sz.length;i++) {
  if (sz.charAt(i).search(/[.,]/)==-1) sz2=sz2+sz.charAt(i);
  if (j==2 && i<sz.length-1) {
   sz2=sz2+' ';
   j=-1;
  }
  j++;
 }
 return sz2;
}

//validalas - yav

//szukseges mezo
function szukseges (mezo,nev,urlap) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 if (mezo.value=='') return mezo.name+'__'+nev+' megadása kötelező!';

 return null;
}

//szemelynev
function szemelynev (mezo,nev,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 mezo.value=mezo.value.toLowerCase();
 mezo.value=mezo.value.replace(/[ ]?-[ ]?/g,'-');
 mezo.value=mezo.value.replace(/[ ]?\.[ ]?/g,'. ');
 mezo.value=mezo.value.replace(/[ ]+/g,' ');
 mezo.value=mezo.value.replace(/./,
  function (str) {
   return str.toUpperCase();
  });
 mezo.value=mezo.value.replace(/([- ])(.)/g,
  function (str, p1, p2) {
   return p1+p2.toUpperCase();
  });

 if (mezo.value!='') {
  rules2[0]=mezo.name+'|regexp|^([A-ZÁÉÍÓÖŐÚÜŰÄ]?[a-záéíóöőúüűä]*[- .]{1,2}){1,2}([A-ZÁÉÍÓÖŐÚÜŰÄ]?[a-záéíóöőüűä]+){1,1}$';
  if (!performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' formátuma nem helyes!';
 }

 return null;
}

//cegnev
function cegnev (mezo,nev,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 if (mezo.value!='') {
  rules2[0]=mezo.name+'|regexp|^([A-ZÁÉÍÓÖŐÚÜŰÄa-záéíóöőúüűä0-9]+[- .]{1,2}){0,5}[A-ZÁÉÍÓÖŐÚÜŰÄa-záéíóöőüűä0-9]+[.]?$';
  if (!performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' formátuma nem helyes!';
 }

 return null;
}

//ha ettol erteke=ertek, akkor fugg megadasa kotelezo
function fugges_required (ettol,ertek,fugg,hiba) {
 if (ettol.value==ertek && fugg.value=='') return fugg.name+'__'+hiba;
 return null;
}

//telefonszam
function telefonszam (tel1,tel2,tel3,nev,urlap,kotelezo) {
 if (nev=='') nev=tel1.name;
 var rules2=new Array();

 tel3.value=tel3.value.toString().replace(/[ -/]/g,'');
 rules2[0]=tel1.name+'|required';
 rules2[1]=tel2.name+'|required';
 rules2[2]=tel3.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return tel1.name+'__'+nev+' megadása kötelező!';

 if (tel2.value!='' || tel3.value!='') {
  hibauzenet='';
  formatumhiba=false;
  rules2[0]=tel1.name+'|regexp|^[+]?[0-9]{2,5}$';
  rules2[1]=tel2.name+'|regexp|^[0-9]{1,4}$';
  rules2[2]=tel3.name+'|regexp|^[0-9]{6,10}$';
  if (!performCheck(urlap,rules2,'jsVar')) formatumhiba=true;
  if (tel1.value=='06') tel1.value='+36';

  if (tel1.value=='+36') {
   jokorzet=false;
   lista_korzet=lista_korzet_6.concat(lista_korzet_7);
   for (i=0;i<lista_korzet.length;i++) {
    if (lista_korzet[i]==tel2.value) jokorzet=true;
   }
   if (!jokorzet) {
    formatumhiba=true;
    hibauzenet=tel1.name+'__'+nev+' körzetszáma hibás!';
   }
//   if (tel2.value.length+tel3.value.length<8) formatumhiba=true;
   for (i=0;i<lista_korzet.length;i++) {
    if (lista_korzet[i]==tel2.value) {
     if (i<lista_korzet_6.length && tel3.value.length!=6) {
      formatumhiba=true;
      hibauzenet=tel1.name+'__'+nev+' hívószáma a megadott körzetben 6 számjegyű!';
     }
     if (i>=lista_korzet_6.length && tel3.value.length!=7) {
      formatumhiba=true;
      hibauzenet=tel1.name+'__'+nev+' hívószáma a megadott körzetben 7 számjegyű!';
     }
    }
   }
  }
  if (formatumhiba) {
   if (hibauzenet!='') return hibauzenet;
   return tel1.name+'__'+nev+' formátuma nem helyes!';
  }
 }

 return null;
}

//e-mail cim
function emailcim (mezo,nev,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 if (mezo.value!='') {
  rules2[0]=mezo.name+'|email';
  if (!performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' formátuma nem helyes!';
 }

 return null;
}

//datum
function datum (mezo,nev,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 if (mezo.value!='') {
  rules2[0]=mezo.name+'|date';
  if (!performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' formátuma nem helyes! (éééé.hh.nn)';
 }

 return null;
}

// valaszthato datum
function valid_datum (mezo,nev,urlap,kotelezo) {
 ch = datum(mezo,nev,urlap,kotelezo);
 if (ch==null) { // atment a datumon
	var d = Date.fromString(mezo.value.toString());
	if (d.getDay()==6) mezo.form.szombat.value=1;
	else mezo.form.szombat.value=0;
	if (d.isSunday())
		return mezo.name+'__Ügyfélfogadás vasárnap nincsen, kérem válasszon másik időpontot!';
	
	mezo.value=mezo.value.toString().replace(/-/g,'.');
	switch (mezo.value) {
		case '2009.12.21':
		case '2009.12.22':
		case '2009.12.23':
		case '2009.12.24':
		case '2009.12.25':
		case '2009.12.26':
		case '2009.12.27':
		case '2009.12.28':
		case '2009.12.29':
		case '2009.12.30':
		case '2009.12.31':
		case '2010.01.01':
		case '2010.01.02':
		case '2010.01.03':
		case '2010.03.15':
		case '2010.04.05':
		case '2010.05.01':
		case '2010.05.24':
		case '2010.08.20':
		case '2010.10.23':
		case '2010.11.01':
		case '2010.12.25':
		case '2010.12.26':
			return mezo.name+'__Munkaszüneti nap, kérem válasszon másik időpontot!';
		break;
	}
 	return null;
 }
 else return ch;
}

//telepules (listabol)
function telepules (mezo,nev,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 if (mezo.value!='') {
  letezohely=false;
  for (i=0;i<lista_helyseg.length;i++) {
   if (lista_helyseg[i].toLowerCase()==mezo.value.toLowerCase()) {
    letezohely=true;
    i=lista_helyseg.length;
   }
  }
  if (!letezohely) return mezo.name+'__'+nev+' magyarországi településnek kell lennie!';
 }

 return null;
}

//osszeg
function penzosszeg (mezo,nev,szorzo,minimum,maximum,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 if (mezo.value!='') {
  mezo.value=mezo.value.toString().replace(/ /g,'');

  rules2[0]=mezo.name+'|double';
  if (!performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' formátuma nem helyes!';
  if (mezo.value<minimum/szorzo.value || mezo.value>maximum/szorzo.value) {
   mezo.value=formaz2(mezo.value);
   return mezo.name+'__'+nev+' '+formaz2(minimum)+' és '+formaz2(maximum)+' Ft közötti összeg lehet!';
  }
 }

 mezo.value=formaz2(mezo.value);
 return null;
}

//honap
function honapszam (mezo,nev,szorzo,minimum,maximum,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 if (mezo.value!='') {
  mezo.value=mezo.value.toString().replace(/ /g,'');

  rules2[0]=mezo.name+'|numeric';
  if (!performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' formátuma nem helyes!';
  if (mezo.value<minimum/szorzo.value || mezo.value>maximum/szorzo.value) {
   mezo.value=formaz2(mezo.value);
   return mezo.name+'__'+nev+' '+formaz2(minimum)+' és '+formaz2(maximum)+' hónap között lehet!';
  }
 }

 mezo.value=formaz2(mezo.value);
 return null;
}

//validalas es hibauzenet kiirasa
function check (urlapnev, szabaly) {
 jQuery('#'+urlapnev+' > :submit').attr('disabled','disabled');
 jQuery('[class*=hibauzenet]').each(function() {
  jQuery(this).removeClass('hibauzenet');
 });
 jQuery('[id^=hiba]').each(function() {
  jQuery(this).hide();
 });
 jQuery('[class*=hibas]').each(function() {
  jQuery(this).removeClass('hibas');
 });
 jQuery('[class*=hibabev]').each(function() {
  jQuery(this).removeClass('hibabev');
 });
 if (performCheck(urlapnev,szabaly,'jsVar')) {
  jQuery('#'+urlapnev+' > :submit').attr('disabled','');
  return true;
 }
 else {
  for (i=0;i<jsErrors.length;i++) {
   hibauzenet=jsErrors[i];
   if (hibauzenet.search(/__/)!=-1) {
    hibamezo=hibauzenet.slice(0,hibauzenet.search(/__/));
    hibauzenet=hibauzenet.substr(hibauzenet.search(/__/)+2);
    jQuery('#hiba_'+hibamezo).each(function() {
     jQuery(this).html(hibauzenet);
     jQuery(this).addClass('hibauzenet');
     jQuery(this).show();
    });
    jQuery('#'+hibamezo).not('[tipus=valaszto]').each(function() {
     jnev=jQuery(this).attr('id');
     jQuery(this).addClass('hibabev');
     jQuery('[tartozik='+jnev+']').addClass('hibabev');
    });
    jQuery('#'+hibamezo+'_sor').each(function() {
//     jQuery(this).addClass('hibas');
//     jQuery(this).addClass('hibauzenet');
    });
//    document.getElementById('hiba_'+hibamezo).innerHTML=hibauzenet;
//    document.getElementById('hiba_'+hibamezo).className='hibauzenet';
//    document.getElementById('hiba_'+hibamezo).style.display='block';
//    document.getElementById(hibamezo).className='hibas';
   }
  }
  alert('Nem töltött ki minden szükséges mezőt helyesen.\nKérjük, hogy ellenőrizze a beírt adatokat!');
  jQuery('#'+urlapnev+' > :submit').attr('disabled','');
  return false;
 }
}

//alapertekkel rendelkezo mezo
function nemegyenlo (mezo,nev,alapertek,urlap,kotelezo) {
 if (nev=='') nev=mezo.name;
 var rules2=new Array();

 rules2[0]=mezo.name+'|required';
 if (kotelezo && !performCheck(urlap,rules2,'jsVar')) return mezo.name+'__'+nev+' megadása kötelező!';

 if (mezo.value==alapertek) return mezo.name+'__'+nev+' megadása kötelező!';

 return null;
}

//jquery
jQuery.noConflict();

jQuery(document).ready(function() {

//valaszto fugges elrejtes
 jQuery('a[tipus=valaszto]').filter('[class*=radio_selected]').each(function() {
  nev=jQuery(this).attr('name');
  jQuery('[fugg1='+nev+']').not('[fugg2='+jQuery(this).attr('id')+']').hide();
  jQuery('[fugg1='+nev+']').filter('[fugg2='+jQuery(this).attr('id')+']').show();
 });

//szovegmezo fugges elrejtes
 jQuery('[tipus=szoveg]').each(function() {
  if (jQuery(this).text()!=undefined) jQuery('[fugg='+jQuery(this).attr('name')+']').show();
  else jQuery('[fugg='+jQuery(this).attr('name')+']').hide();
 });

/*//hibauzenet elrejtese valtozaskor
 jQuery('input').change(function() {
  check(this).form
  jQuery('#hiba_'+jQuery(this).attr('id')).hide();
 });*/

// jQuery('[@class*=rejtett]').removeClass('rejtett');

//fejleszteshez
/* jQuery('legend').each(function() {
  jQuery(this).next().hide();
 });*/

 //elrejt/megjelenit
/* jQuery('legend[@tipus!=valaszto]').click(function() {
  jQuery(this).next().slideToggle();
 });*/

/* //rejtett nevu selectek elrejtese
 jQuery('select[@name$=rejtett]').hide();
/* jQuery('select[@name$=rejtett]').each(function(i) {
  jQuery(this).hide();
 });*/

/* //2. select értékeinek beállítása 1. select alapján
 jQuery('select[@class*=fugg]').change(function() {
  s_menu=jQuery(this).attr('id');
  jQuery('#'+s_menu+'_2').html('<option value=""></option>');
  s_opcio=jQuery(this).find('option:selected').attr('name');
  jQuery('#'+s_menu+'_2_rejtett > option[@name='+s_opcio+']').clone().insertAfter('#'+s_menu+'_2 > option:last');
 });*/

//valaszto class-a es a hozza tartozo hidden erteke, fugges megjelenites/elrejtes
 jQuery('a[tipus=valaszto]').click(function() {
  nev=jQuery(this).attr('name');
  jQuery('a[name='+nev+']').removeClass('radio_selected').addClass('radio_unselected');
  jQuery(this).removeClass('radio_unselected').addClass('radio_selected');
  jQuery(':input[name='+nev+']').filter('[tipus=ertek]').attr({value: jQuery(this).text()});
  jQuery('[fugg1='+nev+']').not('[fugg2='+jQuery(this).attr('id')+']').hide();
/*//   this.hide();
   nev1=jQuery(this).attr('name');
   jQuery('[@fugg1='+nev1+']').filter('[@fugg2='+jQuery(this).attr('id')+']').hide();
   alert(nev1);
  });*/
  jQuery('[fugg1='+nev+']').filter('[fugg2='+jQuery(this).attr('id')+']').show();
 });

//szovegmezo fugges megjelenites/elrejtes
 jQuery('[tipus=szoveg]').keyup(function() {
  if (jQuery(this).text()!=undefined) jQuery('[fugg='+jQuery(this).attr('name')+']').show();
  else jQuery('[fugg='+jQuery(this).attr('name')+']').hide();
 });

//szorzo legordulo valtozasnal a mezo erteket beszorozza
 jQuery('[tipus=szorzo]').change(function() {
  mezo='#'+jQuery(this).attr('szorzo');
  ertek=jQuery(mezo).val();
  if (ertek!=undefined) {
   ertek=ertek.toString().replace(/ /g,'');
   ertek=ertek*1000000/jQuery(this).val()/jQuery(this).val();
   jQuery(mezo).attr({value: formaz2(ertek)});
  }
 });

/*//valaszto class-a es a hozza tartozo hidden erteke, fugges megjelenites/elrejtes
 jQuery('legend[@tipus=valaszto]').click(function() {
  nev=jQuery(this).attr('name');
//  alert(nev);
  jQuery('legend[@name='+nev+']').removeClass('radio_selected').addClass('radio_unselected');
  jQuery(this).removeClass('radio_unselected').addClass('radio_selected');
//  jQuery(':input[@name='+nev+']').filter('[@tipus=ertek]').attr({value: jQuery(this).attr('value')});
  jQuery('[@fugg1='+nev+']').not('[@fugg2='+jQuery(this).attr('id')+']').hide();
  jQuery('[@fugg1='+nev+']').filter('[@fugg2='+jQuery(this).attr('id')+']').show();
 });*/

//hirlevel leiratkozas
 jQuery('#hirlevel_leiratkozas').click(function() {
  jQuery('#hirlevel').attr({value: 0});
  jQuery('#hirlevel_div').hide();
  alert('Sikeresen leiratkozott a hírlevélről!');
 });

//kijeloles fokuszalasnal (bevitel class)
 jQuery('[class*=bevitel]').focus(function() {
  jQuery(this).select();
 });

});
