//Create a 3d array to hold all destination data
function destination(destCode,destName,region,earnMileage){
	this.destCode=destCode;
	this.destName=destName;
	this.region=region;
	this.earnMileage=earnMileage;
}

var mileage=new Array();
mileage[0]=new destination('AUH','Abu Dhabi',1,300);
mileage[1]=new destination('AMD','Ahmedabad',4,1335);
mileage[2]=new destination('ALY','Alexandria',3,1382);
mileage[3]=new destination('ALG','Algeria',5,2940);
mileage[4]=new destination('AMM','Amman',2,1044);
mileage[5]=new destination('ATQ','Amritsar',2,1480);
mileage[6]=new destination('ESB','Ankara',3,1485);
mileage[7]=new destination('ATH','Athens',4,1836);
mileage[8]=new destination('BAH','Bahrain',1,300);
mileage[9]=new destination('BKK','Bangkok',6,3270);
mileage[10]=new destination('BCN','Barcelona',5,3020);
mileage[11]=new destination('PEK','Beijing',7,3833);
mileage[12]=new destination('BEY','Beirut',3,1132);
mileage[13]=new destination('BLR','Bengaluru',4,1900);
mileage[14]=new destination('TXL','Berlin',5,2730);
mileage[15]=new destination('CAI','Cairo',3,1277);
mileage[16]=new destination('CCJ','Calicut',4,1855);
mileage[17]=new destination('CPT','Cape Town',7,4644);
mileage[18]=new destination('CMN','Casablanca',5,3561);
mileage[19]=new destination('CEB','Cebu',6,4877);
mileage[20]=new destination('MAA','Chennai',4,2046);
mileage[21]=new destination('CMB','Colombo',4,2247);
mileage[22]=new destination('CPH','Copenhagen',5,2864);
mileage[23]=new destination('DAM','Damascus',2,1066);
mileage[24]=new destination('DMM','Dammam',1,300);
mileage[25]=new destination('DAR','Dar Es Salaam',6,2372);
mileage[26]=new destination('DPS','Denpasar',6,4898);
mileage[27]=new destination('DEL','Delhi',2,1588);
mileage[28]=new destination('DAC','Dhaka',2,2435);
mileage[29]=new destination('DOH','Doha','qatar',0);
mileage[30]=new destination('DXB','Dubai',1,300);
mileage[31]=new destination('FRA','Frankfurt',5,2849);
mileage[32]=new destination('GVA','Geneva',5,2880);
mileage[33]=new destination('GOI','Goa',4,1590);
mileage[34]=new destination('CAN','Guangzhou',7,3855);
mileage[35]=new destination('SGN','Ho Chi Minh',6,3728);
mileage[36]=new destination('HKG','Hong Kong',7,3912);
mileage[37]=new destination('HOU','Houston',8,8044);
mileage[38]=new destination('HYD','Hyderabad',4,1810);
mileage[39]=new destination('ISB','Islamabad',2,1415);
mileage[40]=new destination('IST','Istanbul',3,1697);
mileage[41]=new destination('JKT','Jakarta',6,4295);
mileage[42]=new destination('JED','Jeddah',2,826);
mileage[43]=new destination('JNB','Johannesburg',7,3878);
mileage[44]=new destination('KHI','Karachi',2,976);
mileage[45]=new destination('KTM','Kathmandu',2,2091);
mileage[46]=new destination('KRT','Khartoum',2,1399);
mileage[47]=new destination('COK','Kochi',4,1936);
mileage[48]=new destination('KUL','Kuala Lumpur',6,3663);
mileage[49]=new destination('KWI','Kuwait',1,352);
mileage[50]=new destination('LHE','Lahore',2,1451);
mileage[51]=new destination('LOS','Lagos',7,3432);
mileage[52]=new destination('LON','London',5,3244);
mileage[53]=new destination('LXR','Luxor',3,1177);
mileage[54]=new destination('MAD','Madrid',5,3312);
mileage[55]=new destination('MLE','Male',4,2060);
mileage[56]=new destination('MAN','Manchester',5,3363);
mileage[57]=new destination('MNL','Manila',6,4528);
mileage[58]=new destination('MHD','Mashad',2,899);
mileage[59]=new destination('MEL','Melbourne',8,7428);
mileage[60]=new destination('MXP','Milan',5,2723);
mileage[61]=new destination('DME','Moscow',5,2214);
mileage[62]=new destination('BOM','Mumbai',4,1427);
mileage[63]=new destination('MUC','Munich',5,2672);
mileage[64]=new destination('MCT','Muscat',1,453);
mileage[65]=new destination('NBO','Nairobi',6,2084);
mileage[66]=new destination('EWR','New York',8,6696);
mileage[67]=new destination('KIX','Osaka',7,4917);
mileage[68]=new destination('CDG','Paris',5,3088);
mileage[69]=new destination('PEW','Peshawar',2,1339);
mileage[70]=new destination('RUH','Riyadh',1,306);
mileage[71]=new destination('FCO','Rome',5,2499);
mileage[72]=new destination('SAH','Sanaa',2,833);
mileage[73]=new destination('ICN','Seoul',7,4392);
mileage[74]=new destination('SEZ','Seychelles',6,2082);
mileage[75]=new destination('SHA','Shanghai',7,4212);
mileage[76]=new destination('SIN','Singapore',6,3859);
mileage[77]=new destination('ARN','Stockholm',5,2871);
mileage[78]=new destination('THR','Tehran',2,720);
mileage[79]=new destination('TIP','Tripoli',4,2365);
mileage[80]=new destination('TRV','Thiruvananthapuram',4,2032);
mileage[81]=new destination('HND','Tokyo',7,5146);
mileage[82]=new destination('TUN','Tunis',5,2552);
mileage[83]=new destination('VIE','Vienna',5,2466);
mileage[84]=new destination('IAD','Washington',8,6908);
mileage[85]=new destination('ZRH','Zurich',5,2792);

/* Creating a 3d array to hold all regional mileage data */
function region(regionCode,economy,business,first,upgrade1,upgrade2,upgrade3){
	this.regionCode=regionCode;
	this.economy=economy;
	this.business=business;
	this.first=first;
	this.upgrade1=upgrade1;//Economy to Business
	this.upgrade2=upgrade2;//Business to First
	this.upgrade3=upgrade3;//Economy to First
}

var regionMileage=new Array();
regionMileage[0]=new region('qatar1',6000,12000,18000,5000,5000,7500);
regionMileage[1]=new region('11',8000,15000,20000,10000,10000,15000);
regionMileage[2]=new region('12',15000,25000,35000,15000,15000,22500);
regionMileage[3]=new region('13',20000,30000,40000,15000,15000,22500);
regionMileage[4]=new region('14',25000,30000,40000,15000,15000,22500);
regionMileage[5]=new region('15',35000,75000,110000,35000,35000,52500);
regionMileage[6]=new region('16',35000,75000,95000,30000,30000,45000);
regionMileage[7]=new region('17',45000,90000,130000,40000,40000,60000);
regionMileage[8]=new region('18',70000,140000,210000,55000,55000,82500);
regionMileage[9]=new region('qatar2',15000,25000,35000,10000,10000,15000);
regionMileage[10]=new region('22',30000,50000,70000,20000,20000,30000);
regionMileage[11]=new region('23',35000,55000,75000,20000,20000,30000);
regionMileage[12]=new region('24',40000,55000,75000,20000,20000,30000);
regionMileage[13]=new region('25',50000,100000,145000,40000,40000,60000);
regionMileage[14]=new region('26',50000,100000,130000,35000,35000,52500);
regionMileage[15]=new region('27',60000,115000,165000,45000,45000,67500);
regionMileage[16]=new region('28',85000,165000,245000,60000,60000,90000);
regionMileage[17]=new region('qatar3',20000,30000,40000,10000,10000,15000);
regionMileage[18]=new region('33',40000,60000,80000,20000,20000,30000);
regionMileage[19]=new region('34',45000,60000,80000,20000,20000,30000);
regionMileage[20]=new region('35',55000,105000,150000,40000,40000,60000);
regionMileage[21]=new region('36',55000,105000,135000,35000,35000,52500);
regionMileage[22]=new region('37',65000,120000,170000,45000,45000,67500);
regionMileage[23]=new region('38',90000,170000,250000,60000,60000,90000);
regionMileage[24]=new region('qatar4',25000,30000,40000,10000,10000,15000);
regionMileage[25]=new region('44',50000,60000,80000,20000,20000,30000);
regionMileage[26]=new region('45',60000,105000,150000,40000,40000,60000);
regionMileage[27]=new region('46',60000,105000,135000,35000,35000,52500);
regionMileage[28]=new region('47',70000,120000,170000,45000,45000,67500);
regionMileage[29]=new region('48',95000,170000,250000,60000,60000,90000);
regionMileage[30]=new region('qatar5',35000,75000,110000,30000,30000,45000);
regionMileage[31]=new region('55',70000,150000,220000,60000,60000,90000);
regionMileage[32]=new region('56',70000,150000,205000,55000,55000,82500);
regionMileage[33]=new region('57',80000,165000,240000,65000,65000,97500);
regionMileage[34]=new region('58',105000,215000,320000,80000,80000,120000);
regionMileage[35]=new region('qatar6',35000,75000,110000,25000,25000,37500);
regionMileage[36]=new region('66',70000,150000,190000,50000,50000,75000);
regionMileage[37]=new region('67',80000,165000,225000,60000,60000,90000);
regionMileage[38]=new region('68',105000,215000,305000,75000,75000,112500);
regionMileage[39]=new region('qatar7',45000,90000,130000,35000,35000,52500);
regionMileage[40]=new region('77',90000,180000,260000,70000,70000,105000);
regionMileage[41]=new region('78',115000,230000,340000,85000,85000,127500);
regionMileage[42]=new region('qatar8',70000,140000,210000,50000,50000,75000);
regionMileage[43]=new region('88',0,0,0,0,0,0);

//Populate the calculator drop downs
var departDD=document.getElementById('depart').options;
var arriveDD=document.getElementById('arrive').options;

departDD[0]=new Option("Select","select",true,true);
arriveDD[0]=new Option("Select","select",true,true);
for(i=0;i<mileage.length;i++){
	departDD[i+1]=new Option(mileage[i].destName,mileage[i].destCode,false,false);
	arriveDD[i+1]=new Option(mileage[i].destName,mileage[i].destCode,false,false);
}

//Calculators
function calculate(form){
	/* Check whether it is the Earn Calc or Redeem Calc */
	if(document.earnCalc) {
		/* Earn Calc */
		var baseMiles=0;
		var depart=document.earnCalc.depart.options[document.earnCalc.depart.selectedIndex].value;
		var arrive=document.earnCalc.arrive.options[document.earnCalc.arrive.selectedIndex].value;
		if(depart==arrive||depart=="select"||arrive=="select"){
			document.getElementById('burgundy3').innerHTML=0;
			document.getElementById('burgundy2').innerHTML=0;
			document.getElementById('burgundy1').innerHTML=0;
			document.getElementById('silver3').innerHTML=0;
			document.getElementById('silver2').innerHTML=0;
			document.getElementById('silver1').innerHTML=0;
			document.getElementById('gold3').innerHTML=0;
			document.getElementById('gold2').innerHTML=0;
			document.getElementById('gold1').innerHTML=0;
		}else{
			/* Indirect routes going via Doha */
  		for(i=0;i<mileage.length;i++){if(depart==mileage[i].destCode){baseMiles=mileage[i].earnMileage}}
  		for(i=0;i<mileage.length;i++){if(arrive==mileage[i].destCode){baseMiles=baseMiles + mileage[i].earnMileage}}
  		/* Direct routes not originating or ending in Doha */
  		if(depart=='KUL'&&arrive=='JKT'){baseMiles=724;}
  		if(depart=='JKT'&&arrive=='KUL'){baseMiles=724;}
  		if(depart=='SIN'&&arrive=='JKT'){baseMiles=557;}
  		if(depart=='JKT'&&arrive=='SIN'){baseMiles=557;}
  		if(depart=='SIN'&&arrive=='CEB'){baseMiles=1502;}
  		if(depart=='CEB'&&arrive=='SIN'){baseMiles=1502;}
  	//	if(depart=='GVA'&&arrive=='EWR'){baseMiles=3859;}
  	//	if(depart=='EWR'&&arrive=='GVA'){baseMiles=3859;}
  		if(depart=='KUL'&&arrive=='DPS'){baseMiles=1235;}
  		if(depart=='DPS'&&arrive=='KUL'){baseMiles=1235;}
			if(depart=='SIN'&&arrive=='DPS'){baseMiles=1040;}
  		if(depart=='DPS'&&arrive=='SIN'){baseMiles=1040;}
		}
  	/* Calculation code */
		document.getElementById('burgundy1').innerHTML=Math.round(baseMiles*0.5);
		document.getElementById('burgundy2').innerHTML=Math.round(baseMiles*0.75);
    document.getElementById('burgundy3').innerHTML=baseMiles;
    document.getElementById('burgundy4').innerHTML=Math.round(baseMiles*1.5);
    document.getElementById('burgundy5').innerHTML=Math.round(baseMiles*1.5);
		document.getElementById('burgundy6').innerHTML=Math.round(baseMiles*2);
		document.getElementById('burgundy7').innerHTML=Math.round(baseMiles*2);
		document.getElementById('burgundy8').innerHTML=Math.round(baseMiles*3);
		document.getElementById('silver1').innerHTML=Math.round((baseMiles*0.25)+(baseMiles*0.5))
		document.getElementById('silver2').innerHTML=Math.round((baseMiles*0.25)+(baseMiles*0.75))
		document.getElementById('silver3').innerHTML=Math.round((baseMiles*0.25)+baseMiles)
		document.getElementById('silver4').innerHTML=Math.round((baseMiles*0.25)+(baseMiles*1.5))
		document.getElementById('silver5').innerHTML=Math.round((baseMiles*0.25)+(baseMiles*1.5))
    document.getElementById('silver6').innerHTML=Math.round((baseMiles*0.25)+(baseMiles*2));
    document.getElementById('silver7').innerHTML=Math.round((baseMiles*0.25)+(baseMiles*2));
    document.getElementById('silver8').innerHTML=Math.round((baseMiles*0.25)+(baseMiles*3));
		document.getElementById('gold1').innerHTML=Math.round((baseMiles*0.50)+(baseMiles*0.5));
		document.getElementById('gold2').innerHTML=Math.round((baseMiles*0.50)+(baseMiles*0.75));
		document.getElementById('gold3').innerHTML=Math.round((baseMiles*0.50)+baseMiles);
		document.getElementById('gold4').innerHTML=Math.round((baseMiles*0.50)+(baseMiles*1.5));
		document.getElementById('gold5').innerHTML=Math.round((baseMiles*0.50)+(baseMiles*1.5));
    document.getElementById('gold6').innerHTML=Math.round((baseMiles*0.50)+(baseMiles*2));
    document.getElementById('gold7').innerHTML=Math.round((baseMiles*0.50)+(baseMiles*2));
    document.getElementById('gold8').innerHTML=Math.round((baseMiles*0.50)+(baseMiles*3));
		/*Family Calculation code*/
		document.getElementById('fBurgundy1').innerHTML=Math.round((baseMiles*0.5)*0.5);
		document.getElementById('fBurgundy2').innerHTML=Math.round((baseMiles*0.75)*0.5);
    document.getElementById('fBurgundy3').innerHTML=Math.round(baseMiles*0.5);
    document.getElementById('fBurgundy4').innerHTML=Math.round((baseMiles*1.5)*0.5);
    document.getElementById('fBurgundy5').innerHTML=Math.round((baseMiles*1.5)*0.5);
		document.getElementById('fBurgundy6').innerHTML=Math.round((baseMiles*2)*0.5);
		document.getElementById('fBurgundy7').innerHTML=Math.round((baseMiles*2)*0.5);
		document.getElementById('fBurgundy8').innerHTML=Math.round((baseMiles*3)*0.5);
		document.getElementById('fSilver1').innerHTML=Math.round((baseMiles*0.5)*0.75);
		document.getElementById('fSilver2').innerHTML=Math.round((baseMiles*0.75)*0.75);
		document.getElementById('fSilver3').innerHTML=Math.round(baseMiles*0.75);
		document.getElementById('fSilver4').innerHTML=Math.round((baseMiles*1.5)*0.75);
		document.getElementById('fSilver5').innerHTML=Math.round((baseMiles*1.5)*0.75);
    document.getElementById('fSilver6').innerHTML=Math.round((baseMiles*2)*0.75);
    document.getElementById('fSilver7').innerHTML=Math.round((baseMiles*2)*0.75);
    document.getElementById('fSilver8').innerHTML=Math.round((baseMiles*3)*0.75);
		document.getElementById('fGold1').innerHTML=Math.round(baseMiles*0.5);
		document.getElementById('fGold2').innerHTML=Math.round(baseMiles*0.75);
		document.getElementById('fGold3').innerHTML=Math.round(baseMiles);
		document.getElementById('fGold4').innerHTML=Math.round(baseMiles*1.5);
		document.getElementById('fGold5').innerHTML=Math.round(baseMiles*1.5);
    document.getElementById('fGold6').innerHTML=Math.round(baseMiles*2);
    document.getElementById('fGold7').innerHTML=Math.round(baseMiles*2);
    document.getElementById('fGold8').innerHTML=Math.round(baseMiles*3);
	}else{
		/* Redeem Calc */
		var baseMiles=0;
		var depart=document.redeemCalc.depart.options[document.redeemCalc.depart.selectedIndex].value;
		var arrive=document.redeemCalc.arrive.options[document.redeemCalc.arrive.selectedIndex].value;

		if(depart==arrive||depart=="select"||arrive=="select"){
			document.getElementById('qmiles1').innerHTML='0';
			document.getElementById('qmiles2').innerHTML='0';
			document.getElementById('qmiles3').innerHTML='0';
			document.getElementById('upgrade1').innerHTML='0';
			document.getElementById('upgrade2').innerHTML='0';
			document.getElementById('upgrade3').innerHTML='0';
		}else{
			/* Indirect routes going via Doha */
			var region1=0;
			var region2=0;
			var regionCode='0';
			for(i=0;i<mileage.length;i++){if(depart==mileage[i].destCode){region1=mileage[i].region}}
			for(i=0;i<mileage.length;i++){if(arrive==mileage[i].destCode){region2=mileage[i].region}}
			if(region1=="qatar"){regionCode=region1+region2;}
			else if(region2=="qatar"){regionCode=region2+region1;}
			else{regionCode=Math.min(region1,region2)+""+Math.max(region1,region2);}
			for(i=0;i<regionMileage.length;i++){
				if(regionCode==regionMileage[i].regionCode){
					document.getElementById('qmiles1').innerHTML=regionMileage[i].first;
					document.getElementById('qmiles2').innerHTML=regionMileage[i].business;
					document.getElementById('qmiles3').innerHTML=regionMileage[i].economy;
					document.getElementById('upgrade1').innerHTML=regionMileage[i].upgrade1*2;
					document.getElementById('upgrade2').innerHTML=regionMileage[i].upgrade2*2;
					document.getElementById('upgrade3').innerHTML=regionMileage[i].upgrade3*2;
				}
			}
			/* Direct routes not originating or ending in Doha */
			function directLow(){
				document.getElementById('qmiles3').innerHTML=15000;
				document.getElementById('qmiles2').innerHTML=25000;
				document.getElementById('qmiles1').innerHTML=35000;
				document.getElementById('upgrade2').innerHTML=20000;
				document.getElementById('upgrade1').innerHTML=20000;
				document.getElementById('upgrade3').innerHTML=30000;
			}
			function directHigh(){
				document.getElementById('qmiles3').innerHTML=45000;
				document.getElementById('qmiles2').innerHTML=90000;
				document.getElementById('qmiles1').innerHTML=130000;
				document.getElementById('upgrade2').innerHTML=70000;
			}
		//	if(depart=='KUL'&&arrive=='JKT'){directLow();}
		//	if(depart=='JKT'&&arrive=='KUL'){directLow();}
		//	if(depart=='KUL'&&arrive=='DPS'){directLow();}
		//	if(depart=='DPS'&&arrive=='KUL'){directLow();}
		//	if(depart=='SIN'&&arrive=='JKT'){directLow();}
		//	if(depart=='JKT'&&arrive=='SIN'){directLow();}
		//	if(depart=='SIN'&&arrive=='CEB'){directLow();}
		//	if(depart=='CEB'&&arrive=='SIN'){directLow();}
			if(depart=='SIN'&&arrive=='DPS'){directLow();}
			if(depart=='DPS'&&arrive=='SIN'){directLow();}
		//	if(depart=='GVA'&&arrive=='EWR'){directHigh();}
		//	if(depart=='EWR'&&arrive=='GVA'){directHigh();}
		}
	}
}