﻿//test

// csv-ből bemásolt tömbértékek
var alapar = 2600;
//TODO: V: 2300, XV-: 3100, 
var keruletek = new Array(
	new Array("I-II",	2600,3400,3400,3900,4400,3600,3400,4300,3400,2800,3900,4100,4300,4600,5100,5100,4600,4600,4400,4400,4800),
	new Array("II/A",	3400,2600,4100,4400,4900,4100,4200,4800,4300,3600,4400,4600,4900,5100,5400,5600,5100,5100,5100,5100,5300),
	new Array("III",	3400,4100,2600,3400,4300,3800,3900,4600,4100,3800,3600,4100,4600,4800,5100,5300,4900,5100,5100,5100,5300),
	new Array("III/A",	3900,4400,3400,2600,4600,4100,4100,4900,4400,4100,3900,4400,4900,4900,5300,5600,5100,5200,5200,5200,5400),
	new Array("IV",		4400,4900,4300,4600,2600,4100,4300,4300,4900,4600,3800,3800,3800,4100,5100,5400,4900,5100,5600,5600,5600),
	new Array("V-VIII",	3600,4100,3800,4100,4100,2300,2900,3300,3600,3800,3600,3600,4300,4300,4600,4600,4100,4100,4300,4800,4600),
	new Array("IX",		3400,4200,3900,4100,4300,2900,2600,3400,3600,3800,3800,3600,4300,4300,4600,4600,3800,3800,4100,4400,4300),
	new Array("X",		4300,4800,4600,4900,4300,3300,3400,2600,4100,4600,4100,3400,4100,4100,4100,4100,3600,3800,4300,4600,4400),
	new Array("XI",		3400,4300,4100,4400,4900,3600,3600,4100,2600,3600,4100,4300,4600,4600,5100,4800,4100,4100,4200,4100,4400),
	new Array("XII",	2800,3600,3800,4100,4600,3800,3800,4600,3600,2600,4100,4300,4600,4800,5100,5100,4600,4600,4600,4600,5100),
	new Array("XIII",	3900,4400,3600,3900,3800,3600,3800,4100,4100,4100,2600,3400,3700,4100,4800,5100,4600,4800,4800,5100,5100),
	new Array("XIV",	4100,4600,4100,4400,3800,3600,3600,3400,4300,4300,3400,2600,3600,3800,4300,4400,4100,4200,4800,5100,5100),
	new Array("XV",		4300,4900,4600,4900,3800,4300,4300,4100,4600,4600,3700,3600,3100,4100,4800,4900,4600,4800,5100,5600,5300),
	new Array("XVI",	4600,5100,4800,4900,4100,4300,4300,4100,4600,4800,4100,3800,4100,3100,4100,4600,4600,4600,5100,5300,5100),
	new Array("XVII",	5100,5400,5100,5300,5100,4600,4600,4100,5100,5100,4800,4300,4800,4100,3100,4400,4600,4600,5100,5600,4900),
	new Array("XVIII",	5100,5600,5300,5600,5400,4600,4600,4100,4800,5100,5100,4400,4900,4600,4400,3100,3900,4100,4300,5100,4300),
	new Array("XIX",	4600,5100,4900,5100,4900,4100,3800,3600,4100,4600,4600,4100,4600,4600,4600,3900,3100,3400,3900,4400,3900),
	new Array("XX",		4600,5100,5100,5200,5100,4100,3800,3800,4100,4600,4800,4200,4800,4600,4600,4100,3400,3100,3700,4300,3900),
	new Array("XXI",	4400,5100,5100,5200,5600,4300,4100,4300,4200,4600,4800,4800,5100,5100,5100,4300,3900,3700,3100,4400,4100),
	new Array("XXII",	4400,5100,5100,5200,5600,4800,4400,4600,4100,4600,5100,5100,5600,5300,5600,5100,4400,4300,4400,3100,4600),
	new Array("XXIII",	4800,5300,5300,5400,5600,4600,4300,4400,4400,5100,5100,5100,5300,5100,4900,4300,3900,3900,4100,4600,3100)
);

var varosok = new Array(
	new Array('Agárd', 'XI', 14000),
	new Array('Albertirsa', 'XVIII', 11000),
	new Array('Alsónémedi', 'XXIII', 3800),
	new Array('Aszód', 'XV', 9000),
	new Array('Biatorbágy', 'XI', 4500),
	new Array('Bicske', 'XI', 8500),
	new Array('Budajenő', 'XI', 0),
	new Array("Agárd","XI",14000),
	new Array("Albertirsa","XVIII",11000),
	new Array("Alsónémedi","XXIII",3800),
	new Array("Aszód","XV",9000),
	new Array("Biatorbágy","XI",4500),
	new Array("Bicske","XI",8500),
	new Array("Budajenő","XI",5500),
	new Array("Budakalász","III",2000),
	new Array("Budakeszi","XII",1500),
	new Array("Budaörs","XI",1500),
	new Array("Bugyi","XXIII",6000),
	new Array("Csobánka","III",4500),
	new Array("Csomád","XV",5000),
	new Array("Csömör","XVI",1500),
	new Array("Dabas","XXIII",8500),
	new Array("Délegyháza","XXIII",6000),
	new Array("Diósd","XXII",3000),
	new Array("Dobogókő","III",6000),
	new Array("Domony","XVI",9000),
	new Array("Dorog","III",10000),
	new Array("Dömös","III",12000),
	new Array("Dunabogdány","III",8500),
	new Array("Dunaharaszti","XXIII",2000),
	new Array("Dunakeszi","IV",3000),
	new Array("Dunavarsány","XXIII",4500),
	new Array("Dunaújváros","XXII",17000),
	new Array("Ecser","XVII",2500),
	new Array("Ercsi","XXII",9000),		//dupla!
	new Array("Ercsi","XXII/XI",9000),
	new Array("Érd","XI",4000),
	new Array("Erdőkertes","XV",7000),
	new Array("Esztergom","III",13000),
	new Array("Etyek","XI",6000),
	new Array("Felcsút","XI",11000),
	new Array("Fót","XV",3000),
	new Array("Galgahévíz","XVI",10000),
	new Array("Gárdony","XI",13000),
	new Array("Göd","IV",4500),
	new Array("Gödöllő","XVI",5500),
	new Array("Gomba","XVIII",8000),
	new Array("Gyál","XVIII",1500),
	new Array("Gyömrő","XVII",4500),
	new Array("Gyúró","XI",10000),
	new Array("Halásztelek","XXI",2500),
	new Array("Herczeghalom","XI",6500),
	new Array("Iklad","XVI",9000),
	new Array("Inárcs","XXIII",6500),
	new Array("Isaszeg","XVI",4500),
	new Array("Kápolnásnyék","XI",11000),
	new Array("Káva","XVIII",10000),
	new Array("Kiskunlacháza","XXIII",7000),
	new Array("Kistarcsa","XVI",2000),
	new Array("Leányfalu","III",5000),
	new Array("Leányvár","III",7000),
	new Array("Maglód","XVII",3500),
	new Array("Mány","XI",9000),
	new Array("Martonvásár","XI",8000),
	new Array("Mende","XVIII",5500),
	new Array("Mogyoród","XV",4500),
	new Array("Monor","XVIII",5000),
	new Array("Nagykovácsi","II/A",2500),
	new Array("Nagymaros","IV",10000),
	new Array("Nagytarcsa","XVI",2000),
	new Array("Kerepes","XVI",2500),
	new Array("Kismaros","IV",10000),
	new Array("Kisoroszi","III",11000),
	new Array("Lakihegy","XXI",2000),
	new Array("Ócsa","XXIII",4500),
	new Array("Őrbottyány","XV",7000),
	new Array("Őrkény","XXIII",11000),
	new Array("Páty","XI",4500),
	new Array("Pécel","XVII",2500),
	new Array("Perbál","III",6500),
	new Array("Péteri","XVIII",6500),
	new Array("Pilis","XVIII",9000),
	new Array("Pilisborosjenő","III",2500),
	new Array("Piliscsaba","III",5000),
	new Array("Pilisjászújfalu","III",5000),
	new Array("Pilisvörösvár","III",4000),
	new Array("Pilisszántó","III",4500),
	new Array("Pilisszentiván","III",3500),
	new Array("Pilisszentkereszt","III",6000),
	new Array("Pilisszentlászló","III/A",7000),
	new Array("Pomáz","III",3000),
	new Array("Pusztazámor","XI",6500),
	new Array("Ráckeve","XXI",11000),
	new Array("Remeteszőlős","II/A",1500),
	new Array("Sári","XXIII",7000),
	new Array("Solymár","II/A",2000),
	new Array("Sóskút","XI",6500),
	new Array("Sukoró","XI",14500),
	new Array("Szada","XV",6000),
	new Array("Százhalombatta","XXII",8000),
	new Array("Szentendre","III",3500),
	new Array("Szigetcsép","XXI",7000),
	new Array("Szigethalom","XXI",4000),
	new Array("Szigetmonostor","III/A",9000),
	new Array("Szigetszentmárton","XXI",8500),
	new Array("Szigetszentmiklós","XXI",3000),
	new Array("Szilasliget","XVI",3000),
	new Array("Sződ","IV",7000),
	new Array("Sződliget","IV",6000),
	new Array("Tahi","III/A",5500),
	new Array("Tahitótfalu","III/A",5500),
	new Array("Taksony","XXIII",4000),
	new Array("Tárnok","XI",5000),
	new Array("Tatabánya","XI",14500),
	new Array("Telki","XII",3500),
	new Array("Tinnye","III",6500),
	new Array("Tök","XI",6500),
	new Array("Tököl","XXI",5500),
	new Array("Tordas","XI",9000),
	new Array("Törökbálint","XI",2500),
	new Array("Üllő","XVIII",3500),
	new Array("Üröm","III",1500),
	new Array("Vác","IV",8000),
	new Array("Vácegres","XV",9000),
	new Array("Vácrátót","XV",7500),
	new Array("Vecsés","XVIII",1500),
	new Array("Velence","XI",12000),
	new Array("Veresegyháza","XV",6000),
	new Array("Verőce","IV",10000),
	new Array("Visegrád","III",10000),
	new Array("Zsámbék","XI",6000)
);

// könnyebb hashben keresni, viszont könnyebb karban tartani a sima tömböt úgyhogy
// egy konverziós segédtömböt fogunk használni.
var romai = new Array();


// üzenetek egyes kerületekhez
var uzenetek = new Array();
uzenetek[0] = 'II/A: Hűvösvölgyi út, és Nagykovácsi út kereszteződésétől kifelé';
uzenetek[1] = uzenetek[0];
uzenetek[2] = 'III/A: aquincumi vasúti felüljárótól kifelé';
uzenetek[3] = uzenetek[2];

// a gyakran használt DOM elemek globálisak
var calc;
var indulas;
var erkezes;
var eredmeny;
var uzenet;

var tmp;

function showResult(num)
{
	eredmeny.html(num+' HUF');
}
function showMessage(str)
{
	uzenet.html(str);
}

function calcChanged()
{
	var uzenet = '';
	var ker_ind = indulas.val();
	var ker_erk = erkezes.val();
	
	//valamelyik érték nincs megadva akkor kilépünk
	if (ker_ind==null || ker_erk==null || ker_ind=='' || ker_erk=='') return;
		
	//ha valamelyik kiválasztott állomáshoz van üzenet akkor megjegyezzük
	if (uzenetek[ker_ind]!=undefined) uzenet += uzenetek[ker_ind]+"<br />";
	if (uzenetek[ker_erk]!=undefined && uzenetek[ker_ind]!=uzenetek[ker_erk]) uzenet += uzenetek[ker_erk]+"<br />";
	
	var ind_ar = 0;
	var erk_ar = 0;
	
	//vidéki indulás
	if (ker_ind>=keruletek.length)
	{
		// induló város tömbazonosítója
		var var_ind = ker_ind-keruletek.length;
		// város neve (teszt)
		var var_ind_nev = varosok[var_ind][0];
		// induló kerület neve
		var ker_ind_nev = varosok[var_ind][1];
		var ker_ind = romai[ker_ind_nev];
		// indulási város felára
		var ind_ar = varosok[var_ind][2];
	}
	
	//vidéki érkezés
	if (ker_erk>=keruletek.length)
	{
		// induló város tömbazonosítója
		var var_erk = ker_erk-keruletek.length;
		// város neve (teszt)
		var var_erk_nev = varosok[var_erk][0];
		// induló kerület neve
		var ker_erk_nev = varosok[var_erk][1];
		var ker_erk = romai[ker_erk_nev];
		// indulási város felára
		var erk_ar = varosok[var_erk][2];
	}
	
	//if (ker_ind!=ker_erk)
	var bp_ar = keruletek[parseInt(ker_ind)][parseInt(ker_erk)+1];
	
	var max_ar = ind_ar+erk_ar+bp_ar;
	var ar = '';
	
	//ha ugyanarra lépünk ki mindkét irányban, akkor pestig nem kell kétszer fizetni.
	//illetve lehet hogy pesti ár sincs.
	if ((ind_ar || erk_ar) && (ker_ind==ker_erk)) ar = Math.max(ind_ar, erk_ar) + '-' + max_ar;
	else ar = max_ar;
	
	//Teszt
    /*
	uzenet += '<br /><br />';
    if (ind_ar) unenet += 'Budapestig: '+ind_ar;
    if (bp_ar) unenet += ' Budapesten: '+bp_ar;
    if (erk_ar) unenet += ' Budapestről: '+erk_ar;
    uzenet += "<br />";
	if (ind_ar>0) uzenet += 'Út: '+var_ind_nev+' --&gt; ';
	uzenet += keruletek[parseInt(ker_ind)][0] + " --&gt; " + keruletek[parseInt(ker_erk)][0]
	if (erk_ar>0) uzenet += ' --&gt; '+var_erk_nev;*/
	
	showMessage(uzenet);
	showResult(ar);
	//uenet.html();
}


$(document).ready(function() {
	
	calc = $('#calc');
	calc.html('<form><fieldset><legend>Árkalkulátor</legend>' +
			'<p><label for="indulas">Indulás</label>' +
				'<select id="indulas" name="indulas">' +
					'<option value="">Válasszon!</option>' +
				'</select></p>' +
			'<p><label for="erkezes">Érkezés</label>' +
				'<select id="erkezes" name="erkezes">' +
					'<option value="">Válasszon!</option>' +
				'</select></p>' +
			'<p class="eredmeny">Kalkulált ár: <span>0 HUF</span></p>' +
			'<p class="uzenet"> </p>' +
			'</fieldset></form>');
	indulas = $('select#indulas', calc);
	erkezes = $('select#erkezes', calc);
	eredmeny = $('.eredmeny span', calc);
	uzenet = $('.uzenet', calc);
	
	// kerületek hozzáadása a lenyíló menükhöz
	if (keruletek.length>0)
	{
		indulas.append('<optgroup label="Budapest" class="bp"></optgroup>');
		erkezes.append('<optgroup label="Budapest" class="bp"></optgroup>');
		var bp1 = $('optgroup', indulas);
		var bp2 = $('optgroup', erkezes);
		for (i in keruletek)
		{
			var tmp = '<option value="'+i+'">'+keruletek[i][0]+". kerület</option>";
			bp1.append(tmp);
			bp2.append(tmp);
			romai[keruletek[i][0]] = i;
		}
	}
	// városok hozzáadása a lenyíló menükhöz
	if (varosok.length>0)
	{
		indulas.append('<optgroup label="Vidék" class="videk"></optgroup>');
		erkezes.append('<optgroup label="Vidék" class="videk"></optgroup>');
		var videk1 = $('optgroup.videk', indulas);
		var videk2 = $('optgroup.videk', erkezes);
		
		for (i in varosok)
		{
			var tmp = '<option value="'+(parseInt(i)+parseInt(keruletek.length))+'">'+varosok[i][0]+"</option>";
			videk1.append(tmp);
			videk2.append(tmp);
		}
	}
	
	// minden készen áll, változás érzékenységet állítsuk be:
	indulas.change(calcChanged);
	erkezes.change(calcChanged);
});