// JavaScript Document
var napiszam;
var mod;
var szemely;

function napi(f) {
   var     fix = new Array(1000,1400,1700,2000);
   var valtozo = new Array(310,380,530,650);
   
   if ((napiszam >=1) && (napiszam <=3)) {
      return fix[mod];
   }
   else {
      if ((napiszam >= 4) && (napiszam <=365)) {
         return valtozo[mod] * napiszam;
      }
      else {
         alert('Érvénytelen a napok száma: '+napiszam);
         return '';
      }
   }
}

function csaladnapi(f) {
   var     fix = new Array(2600,3600,4400,5600);
   var valtozo = new Array(840,1000,1450,1800);
   if ((napiszam >=1) && (napiszam <=3)) {
      return fix[mod];
   }
   else {
      if ((napiszam >= 4) && (napiszam <=30)) {
         return valtozo[mod] * napiszam;
      }
      else {
         alert('Érvénytelen a napok száma: '+napiszam);
         return '';
      }
   }
}


function eletkor_potdij(f,osszeg) {
   var arany = new Array(2,2,2,2);
   var aranyo = new Array(3,3,3,3);
   var eszpeeszulev = new Date();
   eszpeeszulev.setYear(f.eszpeesz_ev.value);
   eszpeeszulev.setMonth(f.eszpeesz_ho.value-1);
   eszpeeszulev.setDate(f.eszpeesz_nap.value);
   var el = new Date();
   el.setYear(f.el_ev.value);
   el.setMonth(f.el_ho.value-1);
   el.setDate(f.el_nap.value);
   ek = Math.floor((el.getTime() - eszpeeszulev.getTime())/(365.25*24*60*60*1000));
   if (parseInt(ek) >= 0) {
    if ((65 <= ek) && (ek <= 80)) {
       if (napiszam <= 30) {
   			osszeg *= arany[mod];
       }
       else {
          alert('65-80 éves kor között maximum 30 napra köthető biztosítás!');
       }
    }
    if (ek > 80) {
		 if (szemely == 2) {
			 	if (!f.vilag.checked) {
   					osszeg *= aranyo[mod];
       			}
				else {
					  alert('80 év felett csak csoporttal és Európába köthető biztosítás!');
					  return '';
       			}
	   }
       else {
          alert('80 év felett csak csoporttal és Európába köthető biztosítás!');
		  return '';
       }
    }
   }
   else {
      alert('Hibás vagy hiányos születési idő!');
      return '';
   }
   return osszeg;
}

function vilag_potdij() {
   var arany = new Array(1.5,1.5,1.5,1.5,1.5,1.5);
   return arany[mod];
}

function extra_potdij() {
   var arany = new Array(0,1.5,1.5,1.5,1.5,1.5);
   
   return arany[mod];
}
function auto_potdij() {
   var arany = new Array(0,5100,5100,5100,5100,5100);
   
   return arany[mod];
}

function gyerek_kedv() {
   if (f.vilag.checked) {
      var valtozo = new Array(233,285,398,488);
      var     fix = new Array(750,1050,1275,1500);
   }
   else {
      var valtozo = new Array(155,190,265,325);
      var     fix = new Array(500,700,850,1000);
   }

   if ((napiszam >=1) && (napiszam <=3)) {
      return fix[mod];
   }
   else {
      if ((napiszam >= 4) && (napiszam <=365)) {
         return valtozo[mod] * napiszam;
      }
      else {
         return 0;
      }
   }
}

function eredmeny(f) {
   var el = new Date();
   el.setYear(f.el_ev.value);
   el.setMonth(f.el_ho.value-1);
   el.setDate(f.el_nap.value);
   var er = new Date();
   er.setYear(f.er_ev.value);
   er.setMonth(f.er_ho.value-1);
   er.setDate(f.er_nap.value);
   var eszpeeszulev = new Date();
   eszpeeszulev.setYear(f.eszpeesz_ev.value);
   eszpeeszulev.setMonth(f.eszpeesz_ho.value-1);
   eszpeeszulev.setDate(f.eszpeesz_nap.value);
   var ma = new Date();
   ek = Math.floor((ma.getTime() - eszpeeszulev.getTime())/(365.25*24*60*60*1000));
   napiszam = Math.floor((er.getTime() - el.getTime())/24/60/60/1000) + 1;
   szemely = 0;
   
   if (f.gyerekszam.value < 0) {
   	alert("Hiba a gyermekek számának megadásánál.");
	return false;
	}
   for(x=0; x<f.szemely.length; x++) {
	  if (f.szemely[x].checked) {
		 szemely = f.szemely[x].value;
		 break;
	  }
   }
   mod = 0;
   for(x=0; x<f.modozat.length; x++) {
      if (f.modozat[x].checked) {
         mod = f.modozat[x].value;
         break;
      }
   }
   kellplusz = false;
   kellnapiplusz = false;
/*   if (szemely != 2) {
	   if ((mod == 3) && (napiszam < 4)) {
		 mod --;
		 kellplusz = true;
	   }
	   if ((mod == 3) && (napiszam > 3)) {
		 mod --;
		 kellnapiplusz = true;
	   }
   }
*/
   
   if (mod > 3) {
      //berlet
	 if ((ek > 13) && (ek < 66) && (szemely == 0) && (f.gyerekszam.value <= 0)) {
		 if (f.vilag.checked) {
			if (mod == 4) {
				vegosszeg = 45000;
			}
			else {
				vegosszeg = 55000;
			}
		  }
		  else {
			if (mod == 4) {
				vegosszeg = 45000;
			}
			else {
				vegosszeg = 55000;
			}
		  }
	  }
	  else {
	  		alert ("Bérlet csak 14 és 65 éves kor közötti személyre köthető! Csoportra, illetve családra nem köthető bérlet!");
	  		vegosszeg ='';
	  }
   }
   else {
	//nem berlet
	
	   if ((ek < 14) && (f.gyerekszam.value > 0)){
	  		alert ("Csak 14 évnél idősebb utas esetén számolható együttutazó gyerektarifa!");
	  		vegosszeg ='';
	  		f.vegosszeg.value = vegosszeg;
	  		return;
	   }
	   if (szemely == 0) {
		  vegosszeg = napi(f);
		  oldvegosszeg = vegosszeg;
		  vegosszeg = eletkor_potdij(f,vegosszeg);
		  if (f.gyerekszam.value > 0) {
			  vegosszeg += f.gyerekszam.value * gyerek_kedv();
		  }
	   }
	   if (szemely == 1) {
		  vegosszeg = csaladnapi(f);
	   }
	   //csoport
	   if (szemely == 2) {
   		  if (ek <66) {
			  var     arak = new Array(230,290,430,550);
		  }
		  else {
			  var     arak = new Array(230,290,430,550);
		  }
		  vegosszeg = arak[mod]*napiszam;
		  vegosszeg = eletkor_potdij(f,vegosszeg);
	   }
	   if (kellplusz) {
		  if (szemely == 0) {
			vegosszeg += 120;
			oldvegosszeg += 120;
			if (f.gyerekszam.value > 0) {
				vegosszeg += f.gyerekszam.value * 120;
				oldvegosszeg += f.gyerekszam.value * 120;
			}
		  }
		  if (szemely == 1) {
			vegosszeg += 120*4;
			oldvegosszeg += 120*4;

		  }

	   }
	   if (kellnapiplusz) {
		  if (szemely == 0) {
			vegosszeg += 40*napiszam;
			oldvegosszeg += 40*napiszam;
			if (f.gyerekszam.value > 0) {
				vegosszeg += f.gyerekszam.value * 40*napiszam;
				oldvegosszeg += f.gyerekszam.value * 40*napiszam;
			}
		  }
		  if (szemely == 1) {
			vegosszeg += 40*4*napiszam;
			oldvegosszeg += 40*4*napiszam;

		  }

	   }
	   if (f.vilag.checked) {
		  if (szemely == 0) {
			vegosszeg = (oldvegosszeg * vilag_potdij()) + (vegosszeg - oldvegosszeg);
		  }
		  else {
			vegosszeg *= vilag_potdij();
		  }
	   }
	   if (f.extra.checked) {
		   if (f.modozat[x].value<1) {
			   alert('Bázisra nem kérhető Sport Extra!');
		  		vegosszeg *= extra_potdij();
		   }
		  if (szemely == 0) {
			vegosszeg = (oldvegosszeg * extra_potdij()) + (vegosszeg - oldvegosszeg);
		  }
		  else {
			vegosszeg *= extra_potdij();
		  }
		 }
	if (f.auto.checked) {
		   if (f.modozat[x].value<1) {
			   alert('Bázisra nem kérhető Autó Extra!');
		  		vegosszeg = 0;		   }
		  if (szemely == 0) {
			vegosszeg = (oldvegosszeg + auto_potdij()) + (vegosszeg - oldvegosszeg);
		  }
		  else {
			vegosszeg += auto_potdij();
		  }
		 }
		 
   }
   // if (mod = 0) {
   		//	alert ("Bázishoz nem lehet sport extrát kötni!");
	  		//vegosszeg ='';
			//return;
   			//}
   f.vegosszeg.value = vegosszeg;

}

function szokoEv(ev)
{
  result=false;
  if ((ev % 4)==0)
  {
    result=true;
    if ((ev % 100)==0)
    {
      result=false;
      if ((ev % 400)==0)
      {
        result=true;
      }
    }
  }
  return result;
}

function datumOk(f)
{
  el_napokAHonapban=[31,28,31,30,31,30,31,31,30,31,30,31];
  if (szokoEv(f.el_ev.value)) el_napokAHonapban[1]=29;
  er_napokAHonapban=[31,28,31,30,31,30,31,31,30,31,30,31];
  if (szokoEv(f.er_ev.value)) er_napokAHonapban[1]=29;
  eszpeesz_napokAHonapban=[31,28,31,30,31,30,31,31,30,31,30,31];
  if (szokoEv(f.eszpeesz_ev.value)) eszpeesz_napokAHonapban[1]=29;
  el_ho=f.el_ho.value
  el_nap=f.el_nap.value
  el_ev=f.el_ev.value
  er_ho=f.er_ho.value
  er_nap=f.er_nap.value
  er_ev=f.er_ev.value
  eszpeesz_ho=f.eszpeesz_ho.value
  eszpeesz_nap=f.eszpeesz_nap.value
  eszpeesz_ev=f.eszpeesz_ev.value
  result=true;
   var el = new Date();
   el.setYear(f.el_ev.value);
   el.setMonth(f.el_ho.value-1);
   el.setDate(f.el_nap.value);
   var er = new Date();
   er.setYear(f.er_ev.value);
   er.setMonth(f.er_ho.value-1);
   er.setDate(f.er_nap.value);
   var eszpeeszulev = new Date();
   eszpeeszulev.setYear(f.eszpeesz_ev.value);
   eszpeeszulev.setMonth(f.eszpeesz_ho.value-1);
   eszpeeszulev.setDate(f.eszpeesz_nap.value);
   var ma = new Date();
   //ek = Math.floor((ma.getTime() - el.getTime())/(365.25*24*60*60*1000));



  


  var mod = 0;
   
  for(x=0; x<f.modozat.length; x++) {
     if (f.modozat[x].checked) {
        mod = f.modozat[x].value;
        break;
     }
  }
  if (mod < 4)
  {
  
   if (eszpeeszulev.getTime()-100 > ma.getTime()) {

    alert('A születés dátuma nem lehet a jövőben!');
    result=false;
    return result;

  }

  if ((eszpeesz_ev == '') ||(eszpeesz_ho == '') ||(eszpeesz_nap == ''))
  {
    alert('Hiányos lapkitöltés, kérjük töltsön ki minden mezőt!');
    result=false;
    return result;
  }

  if (eszpeesz_nap>eszpeesz_napokAHonapban[eszpeesz_ho-1])
  {
    alert('Hibás a születés dátuma.\nA '+eszpeesz_ho+'. hónapban nincs '+eszpeesz_nap+' nap!');
    result=false;
  }
  if ((eszpeesz_ho>12) || (eszpeesz_ho<1))
  {
    alert('Hibás a születés dátuma, nincs ilyen hónap!');
    result=false;
  }
  if (eszpeesz_ev<1800)
  {
    alert('Hibás a születés éve!');
    result=false;
  }
  if (eszpeesz_nap<1)
  {
    alert('Hibás a születés napja!');
    result=false;
  }

 	  if (el.getTime()+100 < ma.getTime()) {

        alert('Múltbeli utazásra vonatkozó számítás nem megengedett!');
        result=false;
        return result;

      }  
  
  
	  if ((er_ev == '') || (er_ho == '') ||(er_nap == '') ||(el_ev == '') ||(el_ho == '') ||(el_nap == ''))
	  {
		alert('Hiányos lapkitöltés, kérjük töltsön ki minden mezőt!');
		result=false;
		return result;
	  }

	  if (el_nap>el_napokAHonapban[el_ho-1])
	  {
		alert('Hibás az indulás dátuma.\nA '+el_ho+'. hónapban nincs '+el_nap+' nap!');
		result=false;
	  }

	  if (er_nap>er_napokAHonapban[el_ho-1])
	  {
		alert('Hibás az érkezés dátuma.\nA '+er_ho+'. hónapban nincs '+er_nap+' nap!');
		result=false;
	  }

	  if ((er_ho>12) || (er_ho<1))
	  {
		alert('Hibás az érkezés dátuma, nincs ilyen hónap!');
		result=false;
	  }

	  if ((el_ho>12) || (el_ho<1))
	  {
		alert('Hibás az indulas dátuma, nincs ilyen hónap!');
		result=false;
	  }

	  if ((er_ev>2010) || (er_ev<1999))
	  {
		alert('Hibás az érkezés éve!');
		result=false;
	  }

	  if ((el_ev>2010) || (el_ev<1999))
	  {
		alert('Hibás az indulas éve!');
		result=false;
	  }


	  if (er_nap<1)
	  {
		alert('Hibás az érkezés napja!');
		result=false;
	  }

	  if (el_nap<1)
	  {
		alert('Hibás az indulas napja!');
		result=false;
	  }

  }
  
  else 
  {
  
 if ((eszpeesz_ev == '') ||(eszpeesz_ho == '') ||(eszpeesz_nap == ''))
  {
    alert('Hiányos lapkitöltés, kérjük töltsön ki minden mezőt!');
    result=false;
    return result;
  }
  
  if (eszpeesz_nap>eszpeesz_napokAHonapban[eszpeesz_ho-1])
  {
    alert('Hibás a születés dátuma.\nA '+eszpeesz_ho+'. hónapban nincs '+eszpeesz_nap+' nap!');
    result=false;
  }
  if ((eszpeesz_ho>12) || (eszpeesz_ho<1))
  {
    alert('Hibás a születés dátuma, nincs ilyen hónap!');
    result=false;
  }
  if (eszpeesz_ev<1800)
  {
    alert('Hibás a születés éve!');
    result=false;
  }
  if (eszpeesz_nap<1)
  {
    alert('Hibás a születés napja!');
    result=false;
  }
  
  if (eszpeeszulev.getTime()-100 > ma.getTime()) {

    alert('A születés dátuma nem lehet a jövőben!');
    result=false;
    return result;

  }

if ((el_ev != '') && (el_ho != '') && (el_nap != '')) {


 	  if (el.getTime()+100 < ma.getTime()) {

        alert('Múltbeli utazásra vonatkozó számítás nem megengedett!');
        result=false;
        return result;

      }  


    if ((el_ho>12) || (el_ho<1))
  {
    alert('Hibás az indulás dátuma, nincs ilyen hónap!');
    result=false;
  }

	  if ((el_ev>2010) || (el_ev<1999))
	  {
		alert('Hibás az indulas éve!');
		result=false;
	  }

	  if (el_nap<1)
	  {
		alert('Hibás az indulas napja!');
		result=false;
	  }




  if (el_nap>el_napokAHonapban[el_ho-1])
  {
    alert('Hibás az indulás dátuma.\nA '+el_ho+'. hónapban nincs '+el_nap+' nap!');
    result=false;
  }
  
} 
  
  
if ((er_ev != '') && (er_ho != '') && (er_nap != '')) {

  
  	  if (er_nap>er_napokAHonapban[el_ho-1])
	  {
		alert('Hibás az érkezés dátuma.\nA '+er_ho+'. hónapban nincs '+er_nap+' nap!');
		result=false;
	  }
	  if ((er_ho>12) || (er_ho<1))
	  {
		alert('Hibás az érkezés dátuma, nincs ilyen hónap!');
		result=false;
	  }
	  if ((er_ev>2010) || (er_ev<1999))
	  {
		alert('Hibás az érkezés éve!');
		result=false;
	  }

  if (er_nap<1)
	  {
		alert('Hibás az érkezés napja!');
		result=false;
	  }

  
 }
}
  return result;
}
